Modbus Ip
Ce driver supporte la communication via Ip avec les équipements de terrain Modbus.
Dans tous les échanges, PcVue est le maître et l'équipement l'esclave.
Si vous avez besoin que l'équipement soit le maître et PcVue l'esclave, vous pouvez utiliser le driver Modbus Ip Slave.
Le driver propose également des types de trames spécifiques pour la communication avec :
-
Les contrôleurs Wago DALI
Fonctions supportées
Les codes fonctions suivants sont supportés :
Décimal |
Hexa |
Code fonction |
1 |
0x01 |
Read coil status |
2 |
0x02 |
Read input status |
3 |
0x03 |
Read holding registers |
4 |
0x04 |
Read input registers |
5 |
0x05 |
Force single coil |
6 |
0x06 |
Force single register |
15 |
0x0F |
Force multiple coils |
16 |
0x10 |
Force multiple registers |
65 |
0x41 |
Extended read coil status |
66 |
0x42 |
Extended read input status |
67 |
0x43 |
Extended read holding registers |
68 |
0x44 |
Extended read input registers |
69 |
0x45 |
Extended force single coil |
70 |
0x46 |
Extended force single register |
79 |
0x4F |
Extended force multiple coils |
80 |
0x50 |
Extended force multiple registers |
Prérequis
Modbus Ip pour Wago DALI est une implémentation spécifique de Modbus TCP/IP avec des trames spécialement formatées.
DALI (Digital Addressable Lighting Interface) est un protocole standardisé utilisé pour le contrôle des ballasts électroniques dans les applications d'éclairage.
Le module Wago DALI (750-641) peut contrôler jusqu'à 64 esclaves DALI (également appelés ballasts) connectés sur une seule ligne. Chaque esclave peut être assigné à 16 groupes individuels ou 16 scènes individuelles. Des modifications d'adressage, d'abonnement et de paramètres peuvent être envoyées aux esclaves en utilisant un programme IEC 61131-3 dédié s'exécutant sur un coupleur programmable Wago.
PcVue fournit la connectivité au module Wago DALI en utilisant un contrôleur Ethernet programmable Wago (750-851) et le protocole Modbus TCP/IP. Le contrôleur doit exécuter un programme spécifique (SVDALIDRV) disponible auprès de Wago. Un même contrôleur Ethernet peut gérer jusqu'à cinq modules DALI.
Pour configurer PcVue pour la connexion à un module DALI, vous devez sélectionner le type d'équipement WAGO_DALI (voir ci-dessous).
Propriétés d'un réseau
Cette rubrique ne contient qu'une référence des propriétés des objets.
Voir la rubrique Comment configurer les réseaux, les équipements et les trames pour plus d'informations sur la configuration des objets de communication.
Propriétés - Général | |
Nom | Le nom du réseau |
Description | La description du réseau (facultatif) |
Actif au démarrage | Si activé, le réseau démarrera au démarrage de la communication Equipement |
Propriétés avancées |
|
Time-out |
Utiliser la valeur par défaut |
Multi-postes |
|
Serveurs |
La liste des postes PcVue où le réseau sera actif |
Propriétés d'un équipement
Propriétés - Général | |
Nom | Nom de l'équipement |
Description | La description de l'équipement (facultatif) |
Type d'équipement | Sélectionnez le type d'équipement qui convient le mieux à l'équipement de terrain avec lequel vous voulez communiquer. La liste des types de trames et les plages d'adresses dépendent du type d'équipement. |
Avec le driver Modbus Ip, la propriété Type d'équipement vous permet de sélectionner entre l'adressage Modbus et Jbus, codage décimal et hexadécimal des adresses mémoire. Les adresses de trames Modbus commencent à 1. Les adresses de trames Jbus commencent à 0. |
Adresse | L'adresse IP de l'équipement de terrain. Certains drivers prennent également en charge la configuration par nom d'hôte. |
Adresse de l'esclave | Adresse de l'esclave Modbus de l'équipement. |
Actif au démarrage | Si activé, l'équipement démarrera au démarrage du réseau |
Propriétés avancées |
|
Connexion |
|
Time-out |
Temps d’attente maximum entre une requête et une réponse de l’équipement |
Numéro de port |
Le numéro de port de l'équipement de terrain |
Partage de connexion |
Le partage de connexion est utilisé lors d'une communication via une passerelle Modbus entre une connexion Modbus TCP/IP d'un côté et plusieurs équipements Modbus série de l'autre. Le partage de connexion permet l'utilisation d'une seule adresse TCP/IP et d'un seul Port pour communiquer avec plusieurs équipements Modbus. Si le partage de la connexion n'est pas activé, chaque connexion nécessite son propre port TCP. Lors de l'utilisation du partage de connexion, la communication est gérée de manière sérialisée. C'est-à-dire que la communication avec un équipement (question et réponse) doit être terminée avant que la communication avec le prochain équipement ne démarre. L'inconvénient de cette méthode est que si un équipement est en erreur, la communication est retardée pour tous les autres équipements en attendant le time-out de connexion. Une connexion du côté TCP/IP ne sera redémarrée que si toutes les connexions partagées sont en time-out. Par défaut, les connexions partagées sont allouées à un seul groupe (groupe 0), et une seule connexion à une passerelle permet généralement la communication avec un ou plusieurs équipements de terrain. Si vous avez plus d'une passerelle Modbus, vous devriez allouer tous les équipements accessibles via une passerelle Modbus donnée au même groupe en définissant la propriété numéro de groupe à la même valeur. Si vous allouez des connexions partagées à différents groupes, la connexion du côté TCP/IP est redémarrée lorsque toutes les connexions du groupe sont en time-out. Il est normal de configurer un groupe pour chaque connexion physique vers une passerelle. |
Fermer la connexion sur le serveur passif | Si activé, la connexion est fermée sur les serveurs passifs. Cette propriété ne s'applique que si le réseau auquel l'équipement est associé a une liste de serveurs définie avec une association (pour redondance) |
Time-out spécifique | Assure que la gestion du temps d'attente soit strictement suivie (comme configuré au niveau de l'équipement) lors de l'établissement de la connexion et, si besoin est, avant de déclarer l'équipement injoignable. |
Fermer le socket utilisant FIN ACK | Permet de fermer la socket de connexion en utilisant l'instruction FIN ACK. Celle utilisée par défaut est RST ACK. |
Période de reconnexion |
Période minimum d'attente entre les tentatives de reconnexion. Cette période est également utilisée comme période d'attente après un time-out. |
Horodatage |
|
Activer |
Cocher pour activer l'horodatage à la source |
Adresse d'erreur | Si l'horodatage est activé, adresse utilisée pour indiquer une pile pleine. Doit être défini par une valeur positive (supérieure à 0). |
Horodatage UTC | Spécifie si l'équipement de terrain transmet des horodates en UTC ou en heure locale |
Delta TS |
Utilisé pour configurer l'archivage direct. Si la différence entre l'horodate codée dans un bloc horodaté reçu et l'heure courante est plus grand que la valeur Delta T, les données sont envoyées directement à des fins d'archivage mais ne sont pas considérées comme suffisamment fraîches pour être utilisées comme valeurs instantanées. En conséquence, la valeur de la variable correspondante n'est pas mise à jour. |
Adressage Modbus | Si activé, les adresses trouvées dans les blocs timestamp sont interprétées comme des adresses Modbus (par opposition aux adresses Jbus) |
Groupes de redondance |
|
Revenir automatiquement à la connexion principale |
Active la sélection automatique de la connexion la plus prioritaire. Ce mécanisme a été mis en œuvre pour supporter les connexions redondantes avec des qualités et des coûts de service variables. Sans gestion prioritaire, dans le cas d'un échec de connexion, le driver sélectionne automatiquement la prochaine connexion disponible mais aucun mécanisme n'existe pour revenir à la connexion en échec après sa restauration. |
Connexion de redondance n |
Permet de configurer jusqu'à 5 équipements de terrain supplémentaires permettant un comportement redondant pour un équipement. Lorsque l'application démarre, le gestionnaire de communication communique avec l'équipement principal. Lorsqu'une erreur survient, il passe à l'équipement suivant dans la séquence. Apprenez comment contrôler le fonctionnement de l'équipement redondant en SCADA Basic. Pour chaque équipement avec une configuration redondante, vous pouvez gérer le fonctionnement à l'aide de variables mesure liées à des trames de type Command and Information (voir ci-dessous). |
Nombre de tentatives avant le basculement |
Définit le nombre de tentatives avant d'essayer de se connecter à l'équipement de terrain redondant suivant. Au démarrage, à la première connexion, ou après un défaut sur un des équipements redondants, le nombre de tentatives configuré est appliqué avant de tenter une connexion sur l'équipement suivant. Si les deux échouent, seules des tentatives uniques seront faites vers les équipements redondants suivants. |
Divers |
|
Equipement virtuel |
Réservé. Ne pas sélectionner. |
Délai du message | Réservé. Laisser la valeur par défaut 0. |
Problèmes d'interopérabilité - Désactiver l'écriture unique |
Si activé, le code fonction pour les écritures uniques ne sera pas utilisée (les codes fonction 0x15 et 0x16 seront utilisés à la place). |
Sérialisation du site - Site partagé |
Active la sérialisation par site. Cette option est utile lorsque plusieurs équipements sont accessibles par le même chemin réseau, et que celui-ci nécessite de sérialiser les requêtes.
|
Le Partage de connexion et la Sérialisation par site ont été conçus pour des buts différents et n'ont pas vocation à être utilisés ensemble.
Contrairement aux explications dans la rubrique Mécanismes d'échange de messages dans PcVue, avec le driver Modbus Ip, le fonctionnement lors du rétablissement d'une connexion à un esclave après une erreur est le suivant :
-
Sur la 1ère erreur TCP/IP – Le driver attend la Période de reconnexion avant d'essayer de nouveau. La période par défaut est de 10 secondes, et peut être configurée dans les propriétés avancées.
-
Sur la 2nde erreur TCP/IP – Le driver attend le Time-out (par défaut 1 seconde) avant d'essayer de nouveau.
-
Sur la 3e erreur TCP/IP – Le driver attend le Time-out (par défaut 1 seconde) avant d'essayer de nouveau.
Cette séquence est suivie strictement pour les équipements configurés pour assurer un time-out fixe, et est raccourcie pour les équipements configurés comme des équipements standards si les couches systèmes indiquent que la connexion ne pourra pas être ouverte (réseau déconnecté etc.).
Adressage des trames
Selon le type d'équipement que vous avez sélectionné lors de la configuration de l'équipement, vous avez accès aux types de trames suivants.
Les propriétés Adresse de début et Quantité définissent la plage d'adresses mémoire pour chaque trame, comment elle est lue et écrite, et comment elle est interprétée dans PcVue.
Type d'équipement - JBUS_DEC, MODBUS_DEC, JBUS_HEX et MODBUS_HEX - Trames pour l'adressage standard
Type de Donnée | Accès | Quantité max | Adresse de début |
Bit | |||
---|---|---|---|
Input bits |
Lecture |
2048 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Worbit Input registers MLsb |
Lecture |
2000 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Coils |
Lecture/Ecriture |
2048 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Worbit Input registers LMsb |
Lecture |
2000 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Worbit Holding registers LMsb |
Lecture/Ecriture |
2000 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Worbit Holding registers MLsb | |||
Octet | |||
Input registers LMsb |
Lecture |
250 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Input registers MLsb | |||
Holding registers LMsb |
Lecture/Ecriture |
250 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Holding registers MLsb | |||
Mot | |||
Input registers |
Lecture |
125 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Holding registers |
Lecture |
8 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Timestamped CEI |
Lecture/Ecriture |
15 | 0..65535 |
Timestamped 12b |
Lecture/Ecriture |
21 | 0..65535 |
Timestamped 24b |
Lecture/Ecriture |
18 | 0..65535 |
Information |
Lecture |
8 |
0..7 (Dec) 0x0..0x6 (Hex) |
Commands |
Lecture/Ecriture |
4 |
0..3 (Dec) 0x0..0x2 (Hex) |
Réel | |||
Input registers LMsb |
Lecture |
62 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Input registers MLsb | |||
Holding registers LMsb |
Lecture/Ecriture |
62 |
0..65535 (Dec) 0x1..0xFFFE (Hex) |
Holding registers MLsb | |||
Double Mot | |||
Input registers LMsb |
Lecture |
62 |
1..65535 (Dec) 0x1..0xFFFE (Hex) |
Input registers MLsb | |||
Holding registers LMsb |
Lecture/Ecriture |
62 |
1..65535 (Dec) 0x1..0xFFFE (Hex) |
Holding registers MLsb |
Valeurs pour la trame Commands:
La trame Commands est une trame lecture/écriture de format mot.
-
Mot 0 – Le forçage (entre 0 et 5) de la valeur d'une mesure mappée au mot 0 provoque le basculement vers le chemin redondant correspondant (1 à 6). Durant la phase d'établissement de la connexion, la valeur de cette adresse sera positionnée à la valeur décimale 10x où x est l'identifiant de la connexion (0 à 5).
-
Mot 1 – Le forçage d’une mesure liée au mot 1, sous la forme de bit de mot, peut être utilisée pour activer ou désactiver les chemins de redondance. Le bit 0 correspond au chemin 1, le bit 1 au chemin 2, etc. Le forçage d'un bit à 0 désactive un chemin, le paramétrage à 1 l'active.
Valeurs pour la trame Information :
La trame Information est une trame en lecture seule au format mot. Une variable mesure liée au mot 0 contiendra le numéro de la connexion active (0 à 5).
Type d'équipement - Reserved dec - Trames pour l'adressage étendu
Le driver prend en charge des trames en adressage étendu qui utilisent une adresse de début et un nombre d'éléments modifiés pour définir des trames plus grandes que ce qui est autorisé par le standard Modbus. Des trames plus grandes vous permettent de lire des espaces d'adressage plus grands en une seule requête et de minimiser ainsi le trafic réseau.
Les trames en adressage étendu peuvent être configurées pour des équipements avec un type d'équipement défini à Reserved dec.
Les adresses étendues ne fonctionnent qu'avec des équipements de terrain spécifiques. Pour plus d'informations, contactez le support technique.
Type de Donnée | Accès | Quantité max | Adresse de début | Description |
Réel | ||||
---|---|---|---|---|
Extd I LM |
Lecture |
16379 | 0..65535 | Lecture des registres d'entrée sous forme de réels IEEE754 (poids faible en premier) dans une trame étendue |
Extd I ML |
Lecture des registres d'entrée sous forme de réels IEEE754 (poids fort en premier) dans une trame étendue |
|||
Extd I/O LM |
Lecture/Ecriture |
16379 | 0..65535 |
Lecture/Ecriture des registres de sortie sous forme de réels IEEE754 (poids faible en premier) dans une trame étendue |
Extd I/O ML | Lecture/Ecriture des registres de sortie sous forme de réels IEEE754 (poids faible en premier) dans une trame étendue | |||
Octet | ||||
Extd I LM |
Lecture |
65518 | 0..65535 |
Lecture des registres d'entrée sous forme d'octets dans une trame étendue |
Extd I ML | Lecture des registres d'entrée (poids faible en premier) dans une trame étendue | |||
Extd I/O LM |
Lecture/Ecriture |
65518 | 0..65535 |
Lecture/Ecriture des registres de sortie sous forme d'octets dans une trame étendue |
Extd I/O ML | Lecture/Ecriture des registres de sortie (poids faible en premier) dans une trame étendue | |||
Bit | ||||
Bi Extd I |
Lecture |
1048560 | 0..65535 |
Lecture des états d'entrée dans une trame étendue |
WB Extd I/O LM |
Lecture/Ecriture |
65520 | 0..65535 |
Lecture/Ecriture des registres de sortie sous forme de bits (poids faible en premier) dans une trame étendue |
WB Extd I/O ML |
Lecture/Ecriture des registres de sortie sous forme de bits (poids fort en premier) dans une trame étendue. |
|||
Bi Extd I/O |
Lecture/Ecriture |
1048560 | 0..65535 |
Lecture/Ecriture des états de sortie dans une trame étendue |
WB Extd I LM |
Lecture |
65520 | 0..65535 |
Lecture des registres d'entrée sous forme de bits (poids faible en premier) dans une trame étendue |
WB Extd I ML |
Lecture des registres d'entrée sous forme de bits (poids fort en premier) dans une trame étendue |
|||
Mot | ||||
W Extd I |
Lecture |
65518 | 0..65535 |
Lecture des registres d'entrée dans une trame étendue |
W Extd I/O |
Lecture/Ecriture |
65518 | 0..65535 |
Lecture/Ecriture des registres de sortie dans une trame étendue |
Double mot | ||||
DW Extd I LM |
Lecture |
16379 | 0..65535 |
Lecture des registres d'entrée sous forme de double mots (poids faible en premier) dans une trame étendue |
DW Extd I ML |
Lecture des registres d'entrée sous forme de double mots (poids fort en premier) dans une trame étendue |
|||
DW Extd I/O LM |
Lecture/Ecriture |
16379 | 0..65535 |
Lecture/Ecriture des registres de sortie sous forme de double mots (poids faible en premier) dans une trame étendue |
DW Extd I/O ML |
Lecture/Ecriture des registres de sortie sous forme de double mots (poids fort en premier) dans une trame étendue |
Type d'équipement - WAGO DALI v2
Ce type d’équipement est utilisé pour communiquer avec des contrôleurs WAGO équipés de modules DALI.
Vous pouvez configurer les équipements WAGO DALI en utilisant le Smart Generator conçu pour eux.
Type de Donnée | Accès | Quantité max | Adresse de début | Description |
Bit | ||||
---|---|---|---|---|
B Group |
Lecture |
1024 | 1..65535 |
Lecture du status des groupes de ballasts. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur du bit : 0 – ne fait pas partie du groupe |
B Info |
Lecture |
448 | 1..65535 | Informations sur les Ballasts |
Mot | ||||
B type |
Lecture |
1 | 1..65535 | Type de ballast |
DALI Cfg |
Lecture |
4 | 1..65535 | Configuration DALI |
L Diag |
Lecture |
2 | 1..65535 | Diagnostic de l'éclairage |
Cmd Mx B |
Lecture |
64 | 1..65535 | Commande module ballast x |
Cmd Mx S |
Lecture |
16 | 1..65535 | Commande module scène x |
Cmd Mx G | Commande module groupe x | |||
B Value |
Lecture |
1 | 1..65535 |
Valeur en temps réel du Ballast. 1 trame pour chaque DALI module. La taille est fixée à 64 mots. L'adresse de départ correspond à l'adresse Modbus du buffer de valeurs temps réel. Se référer au fonctionnement du coupleur programmable pour obtenir l'adresse. La structure des données est la suivante (où xxxx est l'adresse de base) :
La valeur est exprimée en pourcentage dans la plage de 0 à 100. |
Type d'équipement - Wago DALI
Adresse |
Accès |
Description |
Bit |
||
B Group |
Lecture |
Lecture du status des groupes de ballasts. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur de bit : 0 – ne fait pas partie du groupe 1 - partie du groupe |
B Present |
Lecture |
Lecture du status des ballasts. 1 trame pour un maximum de 5 modules DALI.La taille de la trame est fixée à 320 octets. L'adresse de début correspond à l'adresse Modbus du buffer de présence du ballast. Référez-vous au fonctionnement du coupleur programmable pour obtenir l'adresse. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur de bit : 0 - non présent |
B Status |
Lecture |
Lecture des bits de status des ballasts. La structure des données est la suivante (où xxxx est l'adresse de base) :
Valeur de bit : 0 – Non OK |
B Fail |
Lecture |
Lecture du status défaillance lampe du ballast. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur de bit : 0 – OK |
B Power |
Lecture |
Lecture du status de l'alimentation du ballast. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur de bit : 0 – Alimentation off |
Mot |
||
Cmd Lx B |
Ecriture |
Ecriture d'une commande de ballast. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur du mot :
Pour un jeu de commandes complet, se référer au manuel du module Wago DALI. |
Cmd Lx G |
Ecriture |
Ecriture d'une commande de groupe. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur du mot :
Pour un jeu de commandes complet, se référer au manuel du module Wago DALI. |
Cmd Lx S |
Ecriture |
Ecriture d'une commande de scène. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
Valeur du mot :
Pour un jeu de commandes complet, Référez-vous au manuel du module Wago DALI. |
Réel |
||
B Value |
Lecture |
Valeur temps-réel des ballasts. La structure de la donnée est la suivante (où xxxx est l'adresse de base) :
La valeur est exprimée en pourcentage dans une plage de 0 à 100. |
Statut du driver
Le statut du driver fournit des informations spécifiques en complément du statut général de la trame. Pour plus d'informations sur les statuts en général, voir la rubrique Statuts généraux de communication.
Status du driver |
Description |
0001 |
Illegal function |
0002 |
Illegal data address in equipment |
0003 |
Illegal data value, wrong size |
0004 |
Slave device failure: the slave cannot reply |
0005 |
Acknowledged: the slave has accepted the request and processing it, but will take a long time |
0006 |
Slave device is busy: the slave is engaged in long processing of a program command |
0007 |
Negative Acknowledge |
0008 |
Memory parity error |
0102 |
Connection closed because of :
|
0000 |
Request time-out |
000A | Gateway path unavailable |
000B | Gateway target device failed to respond (time-out) |
0108 | The response ID does not match the request |
0113 | The device slave address is 0 (Broadcast). It can only accepts write requests. If not intended, set the address to a value different to 0. |
Scripting SCADA Basic
Vous pouvez contrôler la communication avec ce driver dans les scripts SCADA Basic avec l'instruction CIMWAY.
Le driver supporte également les fonctionnalités suivantes en SCADA Basic.
Modification de l'adresse d'un équipement
IntVal = CIMWAY(Mode, ComObj, Modif, Param, [, ResultVar]);
Argument |
Description |
ComObj |
Élément de configuration à modifier : Un équipement. |
Modif |
La propriété que vous souhaitez modifier : |
|
EQT_ADDRESS : Modification de l'adresse de l'équipement. ComObj est le nom d'un équipement connecté à un réseau. Par exemple, Net1.Dev1. |
Param |
Param est une chaîne avec la syntaxe générale Param1#Param2#Param3...#ParamN. Type STR. Vous trouverez ci-dessous la syntaxe spécifique à ce driver. |
ResultVar |
Nom d'une variable mesure. Type STR. |
Syntaxe pour Modbus Ip :
slave_address#ip1#ip2#ip3#ip4#tcp_port#ts_erroraddress#flag#reconnection_period#sharing_group_id
Où :
-
adresse_esclave : L'adresse d'esclave
-
ip1 à ip4 : Les 4 segments de l'adresse IP
Si ip1 est une chaîne, il s'agit du nom d'hôte et ip2 à ip4 sont ignorés. -
tcp_port : Le numéro de port Tcp
-
ts_error_address : L'adresse d'erreur pour l'horodatage à la source
-
flag: Propriétés supplémentaires sous la forme d'un masque de bits (0 ou 1)
-
bit 1 Réservé (0)
-
bit 2 Problèmes d'interopérabilité - Désactivation (1) ou activation (0) des écritures unitaires
-
bit 3 Réservé (0)
-
bit 4 Horodatage UTC (1) ou local (0)
-
bit 5 Blocs d'horodatage basés sur l'adressage Modbus
-
bit 6 Fermer la connexion sur le serveur passif
-
bit 7 Activer la sérialisation par site
-
bit 8 Appliquer un Time-out spécifique
-
bit 9 Fermer la socket en utilisant FIN ACK
-
-
reconnection_period : La période de reconnexion
-
sharing_group_id : Le numéro du groupe de partage
Si des connexions redondantes sont en place, la syntaxe est la suivante :
slave_address#ip1#ip2#ip3#ip4#tcp_port#ts_erroraddress#flag#reconnection_period#redundant_connection_nb#[redundant_connection_id_redn#ip1_redn#ip2_redn#ip3_redn#ip4_redn#tcp_port_redn#slave_address_redn#reserved(set 0)#]sharing_group_id#nb_retry_before_switch#site_serialization_min_connection_id#site_serialization_site_number
Où :
-
Flag - En plus des bits décrits ci-dessus :
-
bit 1 Partage de connexion activé (1) ou désactivé (0)
-
bit 3 Revenir automatiquement à la connexion principale
-
-
redundant_connection_number : Le numéro de connexion redondante (1..5)
-
La partie entre crochets [] est répétée pour chaque connexion redondante.
-
redundant_connection_number_redn : Le numéro de connexion redondante (1..5)
-
-
nb_retry_before_switch : Nombre de tentatives avant le basculement
-
site_serialization_min_connection_id : Un numéro de connexion correspondant à un identifiant d'équipement redondant tel que défini dans la configuration de l'équipement redondant (1 à 5).
-
site_serialization_site_number : Le numéro du site auquel l'équipement appartient
Envoi d'un message de contrôle au driver
IntVal = CIMWAY (Mode, ComObj, CommandString);
Type de retour : INTEGER.
Argument |
Description |
ComObj |
Identifiant de l'objet cible, pour accéder à : Tous les réseaux : Chaîne vide. Un réseau : NetworkId. Un Equipement : NetworkId.DeviceId. Une trame : NetworkId.DeviceId.FrameId. Type STR. |
CommandString |
La commande à envoyer au driver. Type STR. Vous trouverez ci-dessous la liste des messages supportés par ce driver. |
Messages de contrôle pour Modbus Ip :
Message de contrôle | Description |
Basculement de la connexion pour une configuration d'équipement redondant |
La syntaxe de la chaîne de commande est "ConnectTo;num" Le basculement SCADA Basic est plus lent qu'un basculement variable, car la commande n'est pas envoyée immédiatement au driver (file d'attente avec d'autres requêtes), mais est plus flexible et ne nécessite pas la configuration de trames et de variables supplémentaires. |
Activation/désactivation d'une connexion pour une configuration d'équipements redondants |
La syntaxe de la chaîne de commande est "ConnectionDisable;num" pour activer le numéro de connexion num . Cette connexion est alors indisponible pour une connexion à l'équipement. La syntaxe de la chaîne de commande est "ConnectionEnable;num" pour désactiver le numéro de connexion num. Cette connexion est alors disponible pour une connexion à l'équipement. ComObj doit être le nom d'un équipement, par exemple NET.DEV1. Si des serveurs d'acquisition de données redondants sont en place, la modification n'est appliquée que sur le serveur d'acquisition de données où la commande est exécutée. |
Activation/Désactivation de l'horodatage |
La syntaxe de la commande est "DisableTS;num" pour désactiver l'horodatage à la source pour le numéro de connexion num. La syntaxe de la chaîne de commande est "EnableTS;num" pour activer l'horodatage à la source pour le numéro de connexion num. |
Basculement de toutes les trames en mode scrutation |
La syntaxe de la chaîne de commande est "SwitchAllToPollingMode;num" pour passer toutes les trames en mode scrutation pour le numéro de connexion num. |
ComObj doit être le nom d'un équipement, par exemple NET.DEV1. Par exemple, la commande suivante force une connexion à la connexion redondante 3 pour l'équipement NET1.EQT1 : Copier
|
Données horodatées - Structures des tables et des blocs de données
La pile d'échanges horodatés doit être placée dans la table des mesures (sortie). La table est lue en utilisant le code fonction 3 et le mot de réponse est écrit en utilisant le code fonction 6.
Structure de la table de données horodatées
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Mot W |
Numéro d'échange |
Fbit | Cbit |
Nombre de blocs (N) |
||||||||||||
Mot W+1 |
Début du premier bloc |
|||||||||||||||
Mot W+1 |
Début du dernier bloc |
-
T = Taille du bloc horodaté
-
N = Nombre de blocs tel que spécifié par la propriété Quantité d'informations désirée de la trame horodatée.
-
W = Adresse de départ telle que spécifiée par la propriété Adresse de début de la trame horodatée.
Changement de comportement provoqué par le Cbit (Bit 6 du premier mot) : Si ce paramètre est à 1, le driver transfère le bloc horodaté directement vers les données archivées du logiciel PcVue. Lorsque ce paramètre est activé, le driver rafraîchit en parallèle la valeur temps réel par scrutation de la trame horodatée, conservant ainsi à jour la variable temps réel.
Changement de comportement provoqué par le Fbit (Bit 7 du premier mot) : Si ce paramètre est à 1, le driver s'attend à ce que le numéro d'échange soit incrémenté par l'équipement. Dans ce cas, le driver ne traite le bloc que si le numéro d'échange change d'une scrutation à l'autre. Sinon, les données reçues sont ignorées.
Bloc horodaté avec adresse courte (12 bit) (T = 6)
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Mot W+1 |
Type |
Adresse |
||||||||||||||
Mot W+2 |
Valeur1 |
|||||||||||||||
Mot W+3 |
Valeur0 |
|||||||||||||||
Mot W+4 |
Année |
Mois |
Jour |
|||||||||||||
Mot W+5 |
Heure |
Minute |
||||||||||||||
Mot W+6 |
Millisecondes |
Bloc horodaté avec adresse longue (24 bit) (T = 7)
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Mot W+1 |
Réservé |
Type |
Adresse (bits 23 - 16) |
|||||||||||||
Mot W+2 |
Adresse (bits 15 - 0) |
|||||||||||||||
Mot W+3 |
Valeur1 |
|||||||||||||||
Mot W+4 |
Valeur0 |
|||||||||||||||
Mot W+5 |
Année |
Mois |
Jour |
|||||||||||||
Mot W+6 |
Heure |
Minute |
||||||||||||||
Mot W+7 |
Millisecondes |
Bloc horodaté au format IEC (T = 8)
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Mot W+1 |
Réservé |
Type |
Réservé |
|||||||||||||
Mot W+2 |
Adresse (bits 15 - 0) |
|||||||||||||||
Mot W+3 |
Valeur1 |
|||||||||||||||
Mot W+4 |
Valeur0 |
|||||||||||||||
Mot W+5 |
Réservé |
0 |
Année |
|||||||||||||
Mot W+6 |
0 |
0 |
0 |
0 |
Mois |
0 |
0 |
0 |
Jour |
|||||||
Mot W+7 |
Heure |
Minute |
||||||||||||||
Mot W+8 |
Millisecondes |
Valeur0 correspond au poids faible d’une valeur 32 bits (réels et double mots) et au seul mot significatif lors de la lecture de trames de données sur 16 bits (mot, octet et bit).
Valeur1 correspond au poids fort d’une valeur 32 bits (réels et double mots) et à l'offset lors de la lecture de bits.
Codage du champ Type
Type | Type de Donnée |
0 | Bits d'entrée |
1 | Non utilisé |
2 | Registres d'entrée |
3 | Non utilisé |
4 | Non utilisé |
5 | Bits dans Mots d'entrée (obsolète) |
6 | Bits dans Mots d'entrée (voir règle de calcul des adresses ci-dessous) |
7 | Réels ou mots double d'entrée |
8 | Bits d'entrée/sortie |
9 | Non utilisé |
10 | Mots d'entrée/sortie |
11 | Non utilisé |
12 | Non utilisé. |
13 | Bits dans Mots d'entrée/sortie (obsolète) |
14 | Bits dans Mots d'entrée/sortie (voir règle de calcul des adresses ci-dessous) |
15 | Réels ou Mots doubles d'entrée/sortie |
Règle de calcul du champ adresse lors de l'accès d'un bit dans un mot :
-
L'adresse du mot est codée dans le champ Adresse.
-
L'offset du bit est codé dans le champ Valeur1.
-
Exemple : Wordbit 5 de Word 7720 sera codé comme : Adresse = 7220 et Valeur1 = 5.
Codage des champs date et heure
Champ | Codage |
Année | 0 à 99 (Nombre d’années depuis 1980) |
Mois | 1-12 |
Jour | 1-31 |
Heure | 0-23 |
Minute | 0-59 |
Millisecondes | 0-59999 |
Il n'y a pas de champ secondes. Les secondes sont incluses dans les millisecondes.