Il comando changeModbusPort consente di cambiare la porta utilizzata per gli scambi dei dati con un master Modbus TCP.
La finestra di configurazione Modbus TCP.
Modbus corrente viene visualizzata nellaIl numero di porta Modbus predefinito è 502.
Comando |
Descrizione |
---|---|
|
portnum è il nuovo numero di porta Modbus da utilizzare ed è passato come stringa di caratteri. Prima di eseguire il comando, consultare Porte utilizzate per verificare che portnum non sia in uso da altri processi o protocolli TCP/UDP. Se il numero di porta specificato è già in uso, viene registrato un errore nel file /usr/Syslog/FWLog.txt. |
Per limitare il numero di socket aperti, il comando changeModbusPort può essere eseguito solo due volte.
Spegnendo e riaccendendo il logic controller, si riporta il numero di porta Modbus al valore predefinito (502). Il comando changeModbusPort deve quindi essere eseguito dopo ogni spegnimento/riaccensione.
Passo |
Azione |
---|---|
1 |
Creare un file di script, ad esempio:
|
2 |
Assegnare al file di script il nome Script.cmd. |
3 |
Copiare il file di script sulla scheda SD. |
4 |
Inserire la scheda SD nel controller. |
Il comando changeModbusPort può essere eseguito da un'applicazione con il blocco funzione ExecuteScript.
L'esempio seguente di codice cambia la porta slave Modbus TCP dal valore predefinito (502) a 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);