Tags

La définition des tables de tags se fais via Builder.

      

const TagTables = MyBuilder.TagTables
const TagTables: Table
 

Table

      

import {TagTable} from "@adclz/unifiedbuilder/tags"
(alias) type TagTable = { x: string: Partial<Tag>; } import TagTable
 

TagTable est un Record dont l'index représente le nom de la table que vous souhaitez créer.
La valeur contient un Array de type Tag contenant les tags de cette table.

Tag

interface Tag {
    AccessMode: HmiAccessMode;
    AcquisitionCycle: string;
    AcquisitionMode: HmiAcquisitionMode;
    Adress: string;
    Connection: string;
    Datatype: string;
    HmiDatatype: string;
    Name: string;
    Persistent: boolean;
    PlcName: string;
    PlcTag: string;
    UpdateId: number;
}

Tag représente une variable HMI.

Interface

WinCC peut déduire les valeurs de plusieurs champs de l'interface.
Certains champs sont obligatoires, d'autres le devienent ou non en fonction des propriétés du tag que vous souhaitez créer.

  • Les champs obligatoires sont marqués avec 🔴.
  • Les champs non-obligatoires sont marqués avec 🟢.
  • Les champs dont l'obligation peut varier avec 🔵.

🟢 AccessMode

Tag.AccessMode = HmiAccessMode
enum HmiAccessMode {
    None = 0,
    AbsoluteAccess = 1,
    SymbolicAccess = 2
}

Définit le mode d'accès à la variable dans l'automate.

🔵 AcquisitionCycle

Tag.AcquisitionCycle = string

Cycle de mise à jour de la variable depuis l'automate cible.
La valeur doit s'exprimer avec T suivi du temps en s ou ms.
Ex: T1s, T100ms.

Ce champ ne peut être renseigné que si AcquisitionMode est mis à CyclicOnUse ou CyclicContinuous.

🟢 AcquisitionMode

Tag.AcquisitionMode = HmiAcquisitionMode
enum HmiAcquisitionMode {
    None = 0,
    OnDemand = 12,
    CyclicOnUse = 13,
    CyclicContinuous = 16
}

Mode d'acquisition de la variable.

🔵 Adress

Tag.Adress = string

Adresse absolue de la variable vers l'automate cible.

Ce champ ne peut être renseigné que si AccessMode est mis à SymbolicAccess.

🔵 Connection

Tag.Connection = string

Indique le nom de la liaison entre l'Hmi et l'automate cible.

Ce champ doit être renseigné si vous ne déclarez pas la variable en interne.

🔵 DataType

Tag.DataType = string

Type de données du tag. Seul un type conforme aux standards IEC et Siemens ou aux UDT déclarés dans le projet.

Ce champ peut être ignoré si vous déclarez la variable en interne.

🔵 HmiDataType

Tag.HmiDataType = string

Type de données du tag dans l'hmi.

Ce champ doit être renseigné si vous déclarez la variable en interne.

🔴 Name

Tag.Name = string

Nom du tag.

🔵 PlcName

Tag.PlcName = string

Indique le nom de l'automate cible dans lequel cette variable est contenue.

Ce champ doit être renseigné si vous ne déclarez pas la variable en interne.

🔵 PlcTag

Tag.PlcTag = string

Indique le nom de la variable dans l'automate cible ous la fome symbolique.

Ce champ doit être renseigné si vous ne déclarez pas la variable en interne.

🟢 Persistent

Tag.Persistent = boolean

Permet d'indiquer si la variable doit garder sa valeur après une mise hors tension de l'hmi.

Type de données du tag dans l'hmi.

Ce champ ne peut être renseigné que si vous déclarez la variable en interne.

🟢 UpdateId

Tag.Updateid = string

Identifiant d'actualisation de la variable.

Ce champ ne peut être fonctionner si la variable est type UDT.

Exemples

Variables Externes

Exemple avec une liste de variables externes de type Bool, lié à l'automate MyPlcName via la liaison PlcToHmiConnection dans le bloc PlcDataBlock.

      

import {Tag, TagTable} from "@adclz/unifiedbuilder/tags"
 
const Tags = Array.from({length: 2}, (x, i) => {
return {
Name: "MyTag_" + i,
Datatype: "Bool",
PlcTag: "PlcDataBlock.MyVariable_" + i,
PlcName: "MyPlcName",
Connection: "PlcToHmiConnection"
}
})
 
const MyTables = {"MyTable1": Tags}
const MyTables: { MyTable1: { Name: string; Datatype: string; PlcTag: string; PlcName: string; Connection: string; }; }
 

Variables Internes

Déclaration d'une liste de booléens enregistrés en tant que variables internes.

      

import {Tag, TagTable} from "@adclz/unifiedbuilder/tags"
 
const Tags = Array.from({length: 2}, (x, i) => {
return {
Name: "MyTag_" + i,
HmiDataType: 'Bool'
}
})
 
const MyTables = {"MyTable1": Tags}
const MyTables: { MyTable1: { Name: string; HmiDataType: string; }; }