IF ( (ModbusCmdRequestTrigger=TRUE)
AND (ModbusStage=INT#0) ) THEN
SlaveAdr:=1;
ReadCmd.FUN:=_MDB_READ_COILS;
ReadCmd.ReadAdr:=19;
ReadCmd.ReadSize:=1;
ModbusStage=1;
DevicePort.DeviceType:=_eDEVICE_TYPE#_DeviceNXUnit;
DevicePort.NxUnit:=N1_Node_location_information;
DevicePort.PortNo:=2;
END_IF;
// Command sending/receiving
NX_ModbusRtuRead_instance (Execute:=ModbusCmdRequestTrigger,
IF (ModbusStage=1) THEN
// Sending/receiving finished successfully.
IF (Error=FALSE) THEN
ModbusStage:=2;
// Error occurred.
ELSE
ModbusStage:=0;
ModbusCmdRequestTrigger:=FALSE;
END_IF;
ELSIF (ModbusStage=2) THEN
// Reception completed.
IF (Error=FALSE) AND (Done=TRUE) THEN
ModbusStage:=0;
ModbusCmdRequestTrigger:=FALSE;
// Reception processing in progress
ELSIF (Busy=TRUE) THEN
// Reception failed.
ELSE
ModbusStage:=0;
ModbusCmdRequestTrigger:=FALSE;
END_IF;
END_IF;
NY-series Instructions Reference Manual (W560)
DevicePort:=DevicePort,
SlaveAdr:=SlaveAdr,
ReadCmd:=ReadCmd,
ReadDat:=ReadDat,
Done=>Done,
Busy=>Busy,
Error=>Error,
ReadSize=>ReadSize);
2 Instruction Descriptions
2-1203
2