2 Instruction Descriptions
IF ( (ModbusCmdRequestTrigger=TRUE)
AND (ModbusStage=INT#0) ) THEN
WriteCmd.FUN:=WRITE_SINGLE_COIL;
WriteCmd.WriteAdr:=149;
WriteCmd.WriteSize:=1;
ModbusCmdRequestTrigger:= FALSE;
ModbusStage:=1;
DevicePort.DeviceType:=_eDEVICE_TYPE#_DeviceNXUnit;
DevicePort.NxUnit:=N1_Node_location_information;
DevicePort.PortNo:=2;
END_IF;
// Command sending/receiving
NX_ModbusRtuWrite_instance (Execute:=ModbusCmdRequestTrigger,
IF (ModbusStage=1) THEN
// Sending/receiving finished successfully.
IF (Error=FALSE) THEN
ModbusStage:=2;
// Error occurred.
ELSE
ModbusStage:=0;
END_IF;
ELSIF (ModbusStage=2) THEN
// Reception completed.
IF (Error=FALSE) AND (Done=TRUE) THEN
ModbusStage:=0;
// Reception processing in progress
ELSIF (Busy=TRUE) THEN
// Reception failed.
ELSE
ModbusStage:=0;
END_IF;
END_IF;
2-1214
DevicePort:=DevicePort,
SlaveAdr:=SlaveAdr,
WriteCmd:=WriteCmd,
WriteDat:=WriteDat,
Error=>Error,
ErrorID=>ErrorID);
NY-series Instructions Reference Manual (W560)