Comment importer une configuration Beckhoff TwinCAT

Le Smart Generator pour TwinCAT vous permet d'importer un fichier de configuration TwinCAT pour générer les éléments de configuration PcVue suivants :

  • Réseau d'acquisition de données, équipements et trames pour le driver Beckhoff TwinCAT.
  • Variables d'E/S incluant le mapping sur les trames.
  • Fichiers de définition des variables TwinCAT. L'adressage dans les trames TwinCAT étant basé sur l'alias (nom) et celui du logiciel PcVue basé sur l'adresse, un fichier supplémentaire est généré pour chaque trame fournissant un lien entre les alias TwinCAT et les adresses du logiciel PcVue;

Les fichiers de projet TwinCAT *.tpy générés par les environnements de programmation TwinCAT versions 2.11, 3.0 et 3.1 sont supportés.

Pour les versions 3.x de TwinCAT, seul le standard IEC 61131 obsolète est supporté. Les derniers ajouts au standard TwinCAT 3.x ainsi que les types de données avancés tels que OOP, C++ et Simulink ne sont pas supportés. TwinCAT 3.x propose un format de fichier symboles différent dont l’extension est *.tmc.

Types de données supportés

Les types de données LINT, ULINT et ARRAY multidimensionnels ne sont pas supportés.

Types de données scalaires

Type TwinCAT Type de variable PcVue Plage Type de données trame
BIT Etat 0..1 Booléen
BOOL Etat 0..1 Booléen
BYTE Mesure 0..255 Entier non signé sur 8 bits
WORD Mesure 0..65535 Entier non signé sur 16 bits
DWORD Mesure 0..4294967295 Entier non signé sur 32 bits
SINT Mesure -128..127 Entier signé sur 8 bits
USINT Mesure 0..255 Entier non signé sur 8 bits
INT Mesure -32768..32767 Entier signé sur 16 bits
UINT Mesure 0..65535 Entier non signé sur 16 bits
DINT Mesure -2147483648..2147483648 Entier signé sur 32 bits
UDINT Mesure 0..4294967295 Entier non signé sur 32 bits
REAL Mesure Float.Min..Float.Max Flottant 32 bits
LREAL Mesure Double.Min..Double.Max Flottant 64 bits
STRING Texte - Chaîne de caractères.   Chaîne de caractères terminée par \0
TIME Mesure 0..Float.Max Flottant 32 bits
TIME_OF_DAY Mesure 0..Float.Max Flottant 32 bits
DATE Mesure 0..Float.Max Flottant 32 bits
DATE_AND_TIME Mesure 0..Float.Max Flottant 32 bits

Types de données structurés

Supportés Non supportés
  • STRUCT
  • ARRAY (single dimension)
  • LINT
  • ULINT
  • ARRAY (multi dimension)

Consultez la rubrique Généralités sur les Smart Generators pour en savoir plus.

Sélectionner les données source

Avant de commencer le processus d'import, nous vous recommandons de sauvegarder la configuration des variables PcVue en cas de problème survenant pendant le processus d'import. La configuration des variables est stockée dans le fichier VAREXP.DAT dans le répertoire C du projet.

Assurez-vous que le logiciel PcVue est arrêté avant de copier le fichier.

  1. Allez sur Configuration puis sur Smart Generators et cliquez sur Nouvel import TwinCAT. La boîte de dialogue du Smart Generator TwinCAT s'ouvre.

  2. Cliquez sur le bouton dans le champ Nom de fichier , puis sélectionnez le fichier .tpy qui contient le fichier projet TwinCAT à importer. FerméVoir l'image

  3. Saisissez un nom pour l'équipement dans le champ Alias. C'est le nom par lequel l'équipement sera connu dans PcVue.

  4. Cliquez sur le bouton Avancé/Options, puis sélectionnez une liste de serveurs et une liste de clients dans l'onglet Liste multi-postes pour définir le comportement des variables PcVue pour un projet multi-postes.

    Les listes de serveurs et de clients doivent avoir été créées préalablement dans PcVue et le poste à partir duquel vous exécutez le smart generator doit être dans la liste des serveurs.

  5. Sélectionnez l'onglet Options Avancées et définissez le port de l'équipement et l'ID réseau AMS si vous voulez remplacer les valeurs qui seront importées à partir du fichier Symbole TwinCAT. Cochez Utiliser les attributs personnalisés si vous voulez filtrer les éléments importés en fonction de l'attribut personnalisé, et cliquez sur OK pour valider.

    Si vous sélectionnez Utiliser les attributs personnalisés, seuls les symboles qui ont le mot clé SV_Import positionné à True dans le fichier .tpy seront importés. Les autres seront ignorés. Reportez-vous à la section Attributs personnalisés du Smart Generator TwinCAT ci-dessous pour plus d'informations.

Définir les branches et sélectionner les variables

Une fois que vous avez sélectionné les données sources, configuré les listes multi-postes et les options d'import via la boîte de dialogue Sélectionner le projet, l'étape suivante est de définir les branches et de sélectionner les variables que vous souhaitez générer.

  1. Cliquez sur Suivant, la boîte de dialogue Gestion des branches s'ouvre. Cette étape vous permet de contrôler comment les branches et les noms de variables sont dérivés des noms des données source afin que les variables générées correspondent à la logique de branche et de nommage de votre projet. D'abord, vous pouvez renseigner une branche globale si vous voulez préfixer le nom de toutes les variables générées avec un segment de branche particulier. Vous pouvez également sélectionner les options de séparateur de branche pour contrôler comment les noms des données source seront découpés en segments de branche :

    • Utiliser les caractères numériques comme séparateur de branche - Si sélectionné, un séparateur de branche sera ajouté après chaque caractère numérique. Par exemple, une donnée source nommée MOT1DEFAULT1 générera une variable nommée MOT1.DEFAULT1.

    • Utilisez une séquence de caractères spécifiques comme séparateur de branche - Si sélectionné, la séquence de caractères que vous sélectionnez sera remplacée par un séparateur de branche. Par exemple, si vous sélectionnez le trait de soulignement ('_') comme caractère de séquence, une donnée source nommée CONTROLROOM_COMMAND générera une variable nommée CONTROLROOM.COMMAND.

    Un séparateur de branche n'est pas ajouté lorsqu'un caractère numérique est à la fin du nom.

  2. Cliquez sur Suivant, le processus d'import de variables est initialisé et la boîte de dialogue Sélectionner le type d'import s'ouvre. Sélectionnez le type d'import dont vous avez besoin :

    • Import personnalisé si vous voulez accéder à la boîte de dialogue Sélectionner les variables dans laquelle vous pouvez filtrer et sélectionner manuellement la liste des variables à importer.
    • Import complet si vous voulez générer des variables pour toutes les données source.
  3. (Option Import personnalisé) Ajustez les filtres pour trouver les variables à importer. Le champ Nom permet de filtrer la liste des variables en fonction du nom dans les données source. Vous pouvez utiliser des caractères joker, l'astérisque (correspond à n'importe quel nombre de caractères) et le point d'interrogation (correspond à un seul caractère).

    Par exemple :
    'Pump1' ne correspondrait qu'à une donnée source nommée 'Pump1'.
    'Pump?' correspondrait à 'Pump1' ou 'Pump2' etc mais pas à 'Pump10'.
    'Pump*' correspondrait à 'Pump1', 'Pump2' et 'Pump10' mais également à 'Pumpkin'.

    Les variables qui correspondent au filtre apparaissent dans le volet Éléments sélectionnés.

  4. (Option Import personnalisé) Sélectionnez les variables filtrées dans le volet Eléments disponibles à importer et cliquez sur le bouton avec la flèche droite ->. Les variables du volet Eléments sélectionnés vont être importées et générées.

    FerméVoir l'image

Renommer et générer les variables

Une fois que vous avez défini la branche et sélectionné les variables à générer via la boîte de dialogue Sélectionner les variables, l'étape suivante offre la possibilité d'éditer les variables que vous avez sélectionnées et de les préparer pour la génération.

Si une variable est affichée en rouge, cela signifie qu'elle n'est pas utilisable dans PcVue et ne sera pas générée. Utilisez la boîte de dialogue Renommer les variables pour vous assurer que les noms de variables sont conformes :

  • La longueur maximale d'un nom de variable est de 255 caractères.
  • Le nombre maximum de segments de branche dans un nom de variable est de 12.
  • Le nom d'un segment de branche ou le nom de l'élément feuille ne peut pas être vide (longueur =0) ou dépasser 255 caractères.
  • Le nom d'une variable ne peut inclure que des lettres, des chiffres, ou le trait de soulignement.
  • Les noms de variables doivent être uniques. Deux variables ne peuvent pas avoir le même nom.
  1. Cliquez sur Suivant. La boîte de dialogue Générer les variables s'ouvre, listant toutes les variables sélectionnées pour la génération. Pour renommer les variables, soit sélectionnez les variables et cliquez sur Renommer les sélectionnés, soit utiliser le bouton Renommer les invalides La boîte de dialogue Renommer les variables affiche les variables dans une grille et propose plusieurs actions.

    FerméVoir l'image

  2. La boîte de dialogue Renommer les variables est conçue pour faciliter la mise à jour finale des noms de variables et corriger les noms de variables invalides, et aussi pour modifier en masse les propriétés de variables, pour définir par exemple le Niveau de commande ou la propriété Alarme.

    Les opérations suivantes sont possibles :

    • Pour modifier une variable unique, double-cliquez dessus ou sélectionnez-la et cliquez sur Propriétés. Vous pouvez modifier son nom dans l'onglet Général. Cliquez sur OK pour valider.
    • Vous pouvez modifier les propriétés de la variable dans l'onglet Détails. Ces propriétés peuvent être son type, son domaine, sa nature, etc.

    • Ajouter une feuille à une ou plusieurs variables (pour ajouter un .Cmd ou .AlarmTmpHigh par exemple), sélectionnez-les, puis cliquez sur Suffixe et renseignez le suffixe à ajouter. Cliquez sur OK pour valider.
    • Pour remplacer des caractères dans le nom d'une ou de plusieurs variables, sélectionnez-les, puis cliquez sur Remplacer pour ouvrir la boîte de dialogue Remplacer. Renseignez les chaînes à rechercher et à remplacer, puis cliquez sur OK.
    • Pour remplacer des segments de branche, sélectionnez les variables, puis sélectionnez les segments de branche à remplacer en cliquant sur l'en-tête de la colonne et cliquez sur Remplacer pour ouvrir la boîte de dialogue Remplacer. Renseignez les chaînes à rechercher et à remplacer, puis cliquez sur OK.
    • Pour supprimer un segment de branche, sélectionnez les variables, puis les segments de branche à supprimer en cliquant sur l'en-tête de la colonne et cliquez sur Supprimer. Les segments de branche sélectionnés sont alors retirés des variables sélectionnées.
    • Pour fusionner des branches, sélectionnez les variables, puis les segments de branche à fusionner en cliquant sur l'en-tête de la colonne et cliquez sur Fusionner. Les segments de branche sélectionnés sont ensuite supprimés pour les variables sélectionnées. Vous ne pouvez fusionner que des segments de branche consécutifs.

    Vous pouvez utiliser Maj+Clic pour sélectionner un groupe adjacent de variables et de branches ou Ctrl+Clic pour sélectionner plusieurs variables individuelles.

    Une fois que vous avez fini de modifier les variables, cliquez sur OK pour fermer la boîte de dialogue.

  3. Cliquez sur Terminer et Oui dans la boîte de dialogue de génération pour démarrer la génération des variables dans PcVue. Une boîte de dialogue est affichée indiquant la progression. Toutes les variables issues du smart generator et déjà existantes dans PcVue ne sont pas traitées. Les variables correspondantes dans PcVue ne sont ni écrasées, ni mises-à-jour.

    Toutes les variables apparaissant en rouge sont invalides et ne seront pas générées en cliquant sur Terminer.

Synchroniser un import existant

Lorsque vous synchronisez un import, le smart generator compare les éléments de configuration disponibles dans le fichier d'import avec ceux qui ont été importées précédemment dans PcVue.

La synchronisation tient compte des filtres que vous avez utilisés lors de l'import précédent. Par exemple, s'il y a 400 variables dans le fichier d'import et que l'import précédent était avec un filtre et avait créé 100 variables dans PcVue, la synchronisation vous informera qu'il y a 300 nouvelles variables à importer.

  1. Sélectionnez l'import à synchroniser dans le panneau de droite de la boîte de dialogue des Smart Generators. Une liste avec des actions apparaît dans le volet Références d'import. FerméVoir l'image

  2. Cliquez sur Synchroniser. Cela ouvrira la boîte de dialogue du smart generator dans lequel vous pourrez reconfigurer l'import. Si des données ont été ajoutées dans le fichier d'import depuis le dernier import, le smart generator affichera la boîte de dialogue Import de nouvelles données vous invitant à effectuer soit un import complet, soit un import personnalisé des variables restantes.

    • Si vous sélectionnez Import complet, toutes les variables qui ne sont pas déjà dans PcVue sont importées.

    • Si vous sélectionnez Import personnalisé, vous serez en mesure de filtrer les variables en utilisant la boîte de dialogue Sélectionner les variables.

Si le smart generator détecte des variables dans PcVue qui ne sont plus dans le fichier d'import, la liste de ces variables s'affiche. En utilisant cette liste, vous pouvez choisir de supprimer de la configuration PcVue toutes les variables ou juste quelques-unes.

Vous pouvez choisir de ne supprimer que les éléments de configuration importés d'un smart generator sans supprimer l'import du smart generator lui-même. Cela peut être fait en faisant un clic droit sur l'import généré et en sélectionnant Supprimer tous les objets importés.

Attributs personnalisés pour le Smart Generator TwinCAT

Le Smart Generator TwinCAT permet la définition d'attributs personnalisés pour chaque symbole de donnée du fichier *.tpy. L'information est enregistrée dans le champ commentaire du symbole TwinCAT et est utilisée pour le passage de méta données de TwinCAT vers une application tierce.

La syntaxe des attributs personnalisés est constituée d'un ensemble de paires clé/valeur suivant un format spécifique à TwinCAT. La syntaxe est conçue afin qu'il n'y ait pas d'interférence avec d'autres éléments utilisant le champ commentaire.

Mots clés supportés

Nom Valeurs Types Description
SV_Import true | false Standard et complexe

Indique s'il est utilisé dans l'import. Si la propriété Utilisez les attributs personnalisés est définie, la logique suivante est utilisée pour inclure ou exclure des symboles. Si utilisé dans un type complexe, toutes les variables sont affectées.

  • Si une ou plusieurs variables sont indiquées (SV_Import: true) – Seules les variables indiquées (SV_Import: true) sont importées. Celles indiquées (SV_Import: false), s’il y en a, ne sont pas importées.

  • Si aucune variable n’est indiquée (SV_Import: true) – Toutes les variables qui ne sont pas indiquées (SV_Import: false) sont importées.

SV_VariableName string Standard Remplace le nom de la variable.
SV_Branch string Complexe Passe un nom de branche à un type structuré dans lequel il est concaténé au nom des variables de type standard imbriquées.
SV_BranchDescription string Complexe Passe la description de la branche à un type structuré dans lequel elle est utilisée comme préfixe pour toutes les descriptions des variables de cette branche.
SV_VariableDescription string Standard Texte à utiliser comme description de la variable.
SV_Alarm true | false Standard (booléen uniquement) Positionne la propriété Alarme de la variable.
SV_Log true | false Standard (booléen uniquement) Positionne la propriété Consignation 0>1 et 1>0 de la variable.
SV_Command true | false Standard (booléen uniquement) Positionne la propriété Commande de la variable.
SV_Domain string Standard et complexe Positionne la propriété Domaine de la variable. Si utilisé dans un type complexe, toutes les variables sont affectées.
SV_Nature string Standard et complexe Positionne la propriété Nature de la variable. Si utilisé dans un type complexe, toutes les variables sont affectées.

Il n'est pas nécessaire de mettre les chaînes de caractères entre guillemets.

Exemple de fichier TwinCAT avec des attributs personnalisés

Vous pouvez définir des attributs personnalisés pour chaque symbole de point de données où vous le souhaitez dans TwinCAT.

Copier
VAR_GLOBAL

Heating_circuit_01_VAL AT%MB0:REAL;(*~(SV_Import:true) (SV_Variable:UV018Heating_circuit_01_temperatureflow) (SV_Description:
Heating_circuit 01 temperatureflow) (SV_Alarm:False) (SV_Log:True) (SV_Command:False)*)

Heating_circuit_02_VAL AT%MB0:REAL;(*~(SV_Import:true) (SV_Variable:UV018Heating_circuit_02_temperatureflow) (SV_Description:
Heating_circuit 02 temperatureflow) (SV_Alarm:False) (SV_Log:True) (SV_Command:False)*)

END_VAR