Files
Codesys-Library-Atom-Modbus/codesys/PLC_PRG_declaration.st
T
2026-09-30 21:17:41 -06:00

31 lines
1.0 KiB
Smalltalk

(* Bench test: create PROGRAM PLC_PRG, ST language. Add the SysTime library.
Add CmpAtomModbus as a library; qualify atMbCall_cext with its namespace if
the Library Manager requires it. Paste this in the DECLARATION pane. *)
PROGRAM PLC_PRG
VAR
run : BOOL := FALSE; (* Set TRUE in watch window to start. FALSE closes. *)
ipAddress : DWORD := 16#C0A80132; (* EDIT: 192.168.1.50 *)
tcpPort : UINT := 502;
unitId : BYTE := 1;
startAddress : UINT := 0; (* Zero-based wire address, not 40001. *)
registers : ARRAY[0..9] OF WORD;
status : ARRAY[0..23] OF UDINT;
handle : UDINT := 0; (* Do NOT retain/persist this. *)
command : UDINT := 0;
callResult : UDINT;
timeResult : UDINT;
nowUs : SYSTIME;
nowMs : ULINT;
lastReadMs : ULINT;
readDone : BOOL;
requestError : BOOL;
hasValidData : BOOL;
dataStale : BOOL := TRUE;
lastRequestResult : UDINT;
lastException : UDINT;
lastSocketError : UDINT;
requestErrorCount : UDINT;
successfulReadCount : UDINT;
pollDelay : TON;
END_VAR