La commande changeModbusPort permet de modifier le port utilisé pour les échanges de données avec un maître Modbus TCP.
Le fenêtre de configuration Modbus TCP.
Modbus s'affiche dans laLe port Modbus par défaut est 502.
Commande |
Description |
---|---|
|
portnum est le nouveau numéro de port Modbus à utiliser, transmis sous la forme d'une chaîne de caractères. Avant d'exécuter la commande, consultez la section Ports utilisés pour vérifier que portnum n'est pas utilisé par un autre protocole ou processus TCP/UDP. Une erreur est consignée dans le fichier /usr/Syslog/FWLog.txt si le port spécifié est déjà utilisé. |
Le redémarrage du contrôleur logique ramène le port Modbus à la valeur par défaut (502). La commande changeModbusPort doit donc être exécutée après chaque redémarrage.
Étape |
Action |
---|---|
1 |
Créez un fichier de script, par exemple :
|
2 |
Nommez le fichier Script.cmd. |
3 |
Copiez le fichier de script sur la carte SD. |
4 |
Insérez la carte SD dans le contrôleur. |
La commande changeModbusPort peut être exécutée à partir d'une application à l'aide du bloc fonction ExecuteScript .
L'exemple de code suivant remplace le port esclave Modbus TCP par défaut (502) par 1502.
IF (myBExe = FALSE AND (PortNum <> 502)) THEN
myExecSc( // falling edge for a second change
xExecute:=FALSE ,
sCmd:=myCmd ,
xDone=>myBDone ,
xBusy=> myBBusy,
xError=> myBErr,
eError=> myIerr);
string1 := 'changeModbusPort "';
string2 := WORD_TO_STRING(PortNum);
myCmd := concat(string1,string2);
myCmd := concat(myCmd,'"');
myBExe := TRUE;
END_IF
myExecSc(
xExecute:=myBExe ,
sCmd:=myCmd ,
xDone=>myBDone ,
xBusy=> myBBusy,
xError=> myBErr,
eError=> myIerr);