Hallo Zusammen,
Gibt es eine Bibliothek für Modbus RTU in Codesys ? Wenn Ja, wo ist sie zu finden?
Gruß
Gibt es eine Bibliothek für Modbus RTU in Codesys ? Wenn Ja, wo ist sie zu finden?
Gruß
#IEC_Timer_0_Instance(IN:=TRUE,
PT:=t#5s,
Q=>#wait_for_timer,
ET=>#timer_actuall_time);
WHILE #wait_for_timer = FALSE DO
;
END_WHILE;
// Mache etwas nach 5 Sekunden
FUNCTION_BLOCK FB4
TITLE = 'SCL_BOOL_PARSER'
VERSION : '1.0'
AUTHOR : 'PS'
NAME : 'BOOL_PARS'
FAMILY : 'PARSER'
VAR_INPUT
end : INT;
END_VAR
VAR
reset BOOL;
i, cnt, zaehler INT;
DB_VAR : ARRAY[0..100] OF BOOL;
END_VAR
i:=0; cnt:=0;
IF reset THEN
FOR i:=0 TO end DO
DB_VAR[i]:= FALSE;
END_FOR;
reset:=0;
ELSE
FOR i:=0 TO end DO
IF DB_VAR[i] = TRUE THEN
cnt := cnt + 1;
END_IF;
END_FOR;
END_IF;
zaehler:=cnt;
END_FUNCTION_BLOCK
FUNCTION_BLOCK FB5
TITLE = 'SCL_BOOL_PARSER'
VERSION : '1.0'
AUTHOR : 'PS'
NAME : 'BOOL_PARS'
FAMILY : 'PARSER'
VAR_INPUT
Datenlaenge, QuellOffset : INT;
Quell_DB : WORD;
END_VAR
VAR_OUTPUT
Anzahl : INT;
END_VAR
VAR
reset : BOOL;
i, cnt : INT;
END_VAR
i := 0;
cnt := 0;
Datenlaenge := Datenlaenge + Quelloffset;
IF reset THEN
FOR i:=0 TO Datenlaenge DO
QUELL_DB.DBX[i] := FALSE;
END_FOR;
reset:=0;
ELSE
FOR i:=0 TO Datenlaenge DO
IF QUELL_DB.DBX[i] := TRUE THEN
cnt := cnt + 1;
END_IF;
END_FOR;
END_IF;
Anzahl:=cnt;
END_FUNCTION_BLOCK