Type de contribution : FAQ, ID de la contribution : 57132240, Date de la contribution : 22/01/2015
(4)
Évaluer

Comment programme-t-on avec STEP 7 (TIA Portal) une superposition de variable avec le mot clef "AT" ?

  • Contribution
  • Concerne le/les produits(s)

Description
A l'aide du mot clef "AT", vous pouvez réaliser la superposition d'une variable déjà déclarée avec un autre type de donnée dans le but par exemple d'accéder aux bits individuels d'une variable du type de données WORD avec un ARRAY of BOOL. Le temps de traitement de ce type d'adressage est sensiblement plus court que si vous réalisez des conversions de type de données possibles avec les précédentes versions de STEP 7.

Pour réaliser cette superposition de variables, vous avez besoin d'utiliser le mot clef "AT" et de disposer de

  • S7-1200 avec minimum STEP 7 (TIA Portal) V11.0+SP1+Update 2 (ou supérieur) et le firmware version 2.0 (ou supérieur),
  • S7-1500 avec minimum STEP 7 (TIA Portal) V12 (ou supérieur).

Note

  • Dans LIST, CONT, LOG et GRAPH, la superposition est possible dans S7-1200 et S7-1500.
  • Dans SCL, la superposition d'un type est possible dans toutes les familles de CPU.
  • La superposition de variables est possible dans les blocs suivants :
    • Dans les blocs de code avec accès standard

    • Dans les blocs de code avec accès optimisé pour variables configurées comme rémanentes avec le paramètre "Activer dans l'IDB"

  • La largeur de données de la variable définissant un nouveau type de données doit être égale ou inférieure à la variable à laquelle un type de données est superposé.
  • Il n'est pas possible de superposer de type de données aux types de données VARIANT et INSTANCE.
  • Il n'est pas possible de superposer de type de données aux blocs de bibliothèques déclarés comme paramètres dans l'interface.
  • Il n'est pas possible de superposer de type de données aux variables API structurées déclarées comme paramètres dans l'interface.

La superposition des variables se programme dans la partie interface de la fonction ou du bloc fonctionnel. Le tableau ci-dessous contient la procédure pour déclarer les variables:
  

Procédure
1 Créez une fonction ou un bloc fonctionnel. Vous avez deux possibilités pour superposer les variables dans l'interface du bloc avec le mot-clef "AT" :
  • 1ère possibilité
    Dans l'interface du bloc fonctionnel, vous devez sélectionner l'option "Activer dans le bloc de données d'instance" dans la colonne "Rémanence" pour les variables à superposer. Cela n'est cependant pas possible pour les fonctions et pour les variables temporaires.
  • 2ème possibilité
    Avant la déclaration des variables, modifiez l'accès au bloc de "Accès au bloc optimisé" à "compatible standard".
  1. Pour cela, dans le navigateur du projet, avec le bouton droit de la souris, cliquez sur le bloc et choisissez "Propriétés..." dans le menu contextuel.
  2. Passez dans l'onglet "Attributs" et décochez l'attribut "Accès au bloc optimisé".
  3. Enregistrez le paramétrage avec OK.


Figure 01

2 Ouvrez le bloc et son interface.

Note
La description suivante se rapporte à la première possibilité pour un bloc fonctionnel.

3 Dans le tableau de déclarations, indiquez d'abord la variable dont vous souhaitez superposer un nouveau type.
  • Par exemple : Nom: "t_word", Type de données: "Word".
4 Dans la liste déroulante de la colonne "Rémanence", choisissez l'option "Activer dans le bloc de données d'instance".

Note
Comme indiqué au point 1, cette option n'est pas disponible pour les fonctions ni pour les variables temporaires. Pour cela, vous devez auparavant modifier le type d'accès au bloc selon la 2ème possibilité.

5 Sélectionnez la ligne avec la variable dont le type doit être superposé et cliquez avec le bouton droit de la souris.
6 Dans le menu contextuel, choisissez "Ajouter une ligne". La variable superposée doit se trouver immédiatement sous la ligne de déclaration de la variable à superposer.
7 Dans la ligne ajoutée, indiquez un nom pour la variable.
  • Par exemple: "t_bool".
8 Dans la colonne "Type de données", indiquez tout d'abord uniquement la lettre "A" et attendez que la fenêtre des types de données possibles apparaisse.
9 Dans la liste déroulante, choisissez le mot-clef "AT" et cliquez ensuite dans la colonne "Nom". A côté du nom de la variable (par exemple "t_bool"), dans le même champ, le mot-clef apparaît avec la variable à superposer.
  • Dans cet exemple: AT "t_word".
10 Cliquez à nouveau dans le champ "Type de données" et indiquez la déclaration pour le tableau.
  • Par exemple: "Array[0..15] of Bool".

La superposition de la variable est ainsi entièrement déclarée et vous pouvez l'utiliser dans votre programme.


Figure 02

Dans certaines applications, il peut être nécessaire dans le STEP 7 de grouper plusieurs signaux dans un mot de commande ou de répartir un mot de commande en plusieurs signaux indépendants. Le téléchargement joint "STEP7_(TIA_Portal)_AT_KeyWord.zip" contient un projet STEP 7 (TIA Portal) V12, avec lequel des signaux (variables du type "Bool") sont groupées dans une variable de type "Word" et à nouveau éclatées. Les blocs suivants sont contenus dans le programme STEP 7:

Description de la fonction "FC_Bool_to_Word_AT"
Vous pouvez utiliser la fonction "FC_Bool_to_Word_AT" pour grouper dans un mot jusqu'à 16 variables binaires. Les différents paramètres d'entrée de type Bool sont affectés à une variable Array temporaire "t_bool" et superposés avec le mot-clef "AT" à la variable "t_word". Le contenu de la variable "t_word" est transféré ensuite vers la variable du paramètre de sortie "SaveWord".


Figure 03

Description de la fonction "FC_Word_to_Bool_AT"
Vous pouvez utiliser la fonction "FC_Word_to_Bool_AT" pour extraire à partir d'une variable de type "Word" jusqu'à 16 signaux (variables de type "Bool"). Le contenu du paramètre d'entrée "I_Word" est transféré dans la variable temporaire "t_word" et superposé avec la variable "t_bool" via le mot clef "AT". Les différents bits du tableau de variables "t_bool" sont ensuite affectés aux différents paramètres de sortie de type binaire.


Figure 04

Ces deux fonctions sont appelées et paramétrées dans l'OB1 "Main".

Téléchargement
Copiez le fichier "STEP7_(TIA_Portal)_AT_KeyWord.zip" dans un répertoire distinct et ouvrez ensuite le fichier par double-clic de souris. Le projet STEP 7 (TIA Portal) V12 sera désarchivé automatiquement avec tous ses sous-répertoires. Vous pourrez ensuite l'ouvrir et le modifier avec STEP 7 (TIA Portal).

STEP7_TIA_Portal_AT_KeyWord.zip ( 1440 KB )  

Environnement de développement
Le téléchargement et les figures de ce FAQ ont été créés avec STEP 7 (TIA Portal) V12 + SP1.

Mots-clés complémentaires
41512046