El comando changeModbusPort se puede utilizar para cambiar el puerto que se usa en el intercambio de datos con un Modbus TCP maestro.
El ventana de configuración de Modbus TCP.
se muestra en laEl número del puerto Modbus predeterminado es 502.
Comando |
Descripción |
---|---|
|
portnum es el nuevo número de puerto Modbus que se va a utilizar y se pasa como cadena de caracteres. Antes de ejecutar el comando, consulte Puertos utilizados para asegurarse de que portnum no esté siendo utilizado por otro protocolo TCP/UDP o proceso. Si el número de puerto especificado ya estuviera en uso, se registraría un error en el archivo /usr/Syslog/FWLog.txt. |
Si apaga y enciende el controlador lógico, se recupera el valor predeterminado (502) del número de puerto Modbus. Por tanto, debe ejecutar el comando changeModbusPort después de cada operación de apagado y encendido.
Paso |
Acción |
---|---|
1 |
Cree un archivo de script, por ejemplo:
|
2 |
Asigne el nombre Script.cmd al archivo de script. |
3 |
Copie el archivo de script en la tarjeta SD. |
4 |
Inserte la tarjeta SD en el controlador. |
El comando changeModbusPort se puede ejecutar desde una aplicación mediante el bloque de funciones ExecuteScript.
El siguiente código de ejemplo cambia el valor predeterminado (502) del puerto del Modbus TCP esclavo 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);