ModbusTCP
Un module ModbusTcp gère la communication en temps réel avec un équipement serveur Modbus TCP.
Téléchargement de la librairie : modbustcplib_0.5.0.30045.zip
Exemple de paramètrage : modbus_parameters.zip
Classe : Linaware.Flybox.Modbus.ModbusTcpModule
Paramètrage du module¶
Le paramétrage du module se situe dans le fichier module.xml du dossier du module :
<?xml version="1.0" encoding="utf-8" ?> <configuration verion="00:05:00" debug="false"> <connexion ip="192.128.128.124" simul="True" simulIp="10.10.10.200" slaveNumber="1" port="502" timeout="2000" maxBlockSize="120" /> <connexionTag suffix="_COMMERROR" stateModel="NORMAL_DEFAUT" description="Defaut communication automate" group="\GENERAL" /> </configuration>
Définitions des blocs d'échanges¶
Les blocs d'échanges sont définis dans le fichier BlockModbusTcp.csv :
name: nom du blocdescription: description du blocequipment: (non utilisé)type: type de données correspondant au code requête modbus :ReadCoilsReadDiscreteInputsReadHoldingRegistersReadInputRegisters
address: adresse de départ du blocsize: taille du blocperiod: période de lecture en millisecondes
Définitions des variables (Tags)¶
Les variables sont associées à ds partie d'un bloc, elle sont définies dans le fichier TagsModbusTcp.csv :
name: nom (mnémonique de la variable)description: description de la variable et message d'alarme si elle est assocéie à un niveau d'étatunit: unité physiquereference: référence (champ libre)group: groupe auquel appartient la variablestateModel: nom du modèle d'état eventueltype: (non utilisé)address: adresse modbusformat: format de la valeur dans le bloc :S16: entier 16 bits signéU16: entier 16 bits non signéS32: entier 32 bits signéU32: entier 32 bits non signéF32: réel flottant IEEE488BIT-xx: bit de mot ouxxreprésente le numéro de bit de 0 (poids faible) à 15 (poids fort)TEXT-xx: chaîne de caratèrexxreprésente le nombre de mots de (16 bits) format la chaine. La longure de la chaîne est des 2 * xx caractères. Attention à ne pas dépasser la taille du bloc de lecture
block: nom du bloc associécorrection: type de correction éventuelle. Le seul type autorisé estlinear(y = ax + b)coeffA: coefficient a de l'équation y = ax + b si la correction est àlinearcoeffB: coefficient b de l'équation y = ax + b si la correction est àlineardigits: nombre de chiffre après la virgue à prendre en comptedeadBand: bande morte de lecturereadOnly: lecture seule (False ou True)log: (non utilisé)ressource1: champ libre qui peut être utilisé dans la supervisionressource2: champ libre qui peut être utilisé dans la supervisionressource3: champ libre qui peut être utilisé dans la supervisionressource4: champ libre qui peut être utilisé dans la supervisionhistoric: (non utilisé)equipment: (non utilisé)