FUNCTION_BLOCK FB 1
TITLE =
VERSION : 0.1
VAR_INPUT
IN_Sensor : BOOL ; //Input Triger
END_VAR
VAR_OUTPUT
FILL_RET_VAL : INT ;
END_VAR
VAR
Triger_Edge : BOOL ;
RESET : BOOL ;
RESET_EDGE : BOOL ;
Hour_Counter_00 : DINT ;
Hour_Counter_01 : DINT ;
Hour_Counter_02 : DINT ;
Hour_Counter_03 : DINT ;
Hour_Counter_04 : DINT ;
Hour_Counter_05 : DINT ;
Hour_Counter_06 : DINT ;
Hour_Counter_07 : DINT ;
Hour_Counter_08 : DINT ;
Hour_Counter_09 : DINT ;
Hour_Counter_10 : DINT ;
Hour_Counter_11 : DINT ;
Hour_Counter_12 : DINT ;
Hour_Counter_13 : DINT ;
Hour_Counter_14 : DINT ;
Hour_Counter_15 : DINT ;
Hour_Counter_16 : DINT ;
Hour_Counter_17 : DINT ;
Hour_Counter_18 : DINT ;
Hour_Counter_19 : DINT ;
Hour_Counter_20 : DINT ;
Hour_Counter_21 : DINT ;
Hour_Counter_22 : DINT ;
Hour_Counter_23 : DINT ;
Offset : INT ;
END_VAR
VAR_TEMP
AR2_DW : DWORD ;
BVAL : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
TAR2 #AR2_DW;
L DW#16#87000000;
LAR1 ;
L B [AR1,P#15.0];
BTI ;
ITD ;
T #Offset;
L B [AR1,P#15.0];
L B#16#0;
==I ;
= #RESET;
NETWORK
TITLE =
A #RESET;
FP #RESET_EDGE;
JCN YYY;
L B#16#0;
T #BVAL;
CALL SFC 21 (
BVAL := #BVAL,
RET_VAL := #FILL_RET_VAL,
BLK := P#DIX 6.0 BYTE 92);
YYY: NOP 0;
NETWORK
TITLE =
L #Offset;
JL YNOP;
JU YB00;
JU YB01;
JU YB02;
JU YB03;
JU YB04;
JU YB05;
JU YB06;
JU YB07;
JU YB08;
JU YB09;
JU YB10;
JU YB11;
JU YB12;
JU YB13;
JU YB14;
JU YB15;
JU YB16;
JU YB17;
JU YB18;
JU YB19;
JU YB20;
JU YB21;
JU YB22;
JU YB23;
YNOP: JU END;
YB00: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_00;
L L#1;
+D ;
T #Hour_Counter_00;
JU END;
YB01: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_01;
L L#1;
+D ;
T #Hour_Counter_01;
JU END;
YB02: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_02;
L L#1;
+D ;
T #Hour_Counter_02;
JU END;
YB03: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_03;
L L#1;
+D ;
T #Hour_Counter_03;
JU END;
YB04: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_04;
L L#1;
+D ;
T #Hour_Counter_04;
JU END;
YB05: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_05;
L L#1;
+D ;
T #Hour_Counter_05;
JU END;
YB06: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_06;
L L#1;
+D ;
T #Hour_Counter_06;
JU END;
YB07: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_07;
L L#1;
+D ;
T #Hour_Counter_07;
JU END;
YB08: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_08;
L L#1;
+D ;
T #Hour_Counter_08;
JU END;
YB09: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_09;
L L#1;
+D ;
T #Hour_Counter_09;
JU END;
YB10: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_10;
L L#1;
+D ;
T #Hour_Counter_10;
JU END;
YB11: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_11;
L L#1;
+D ;
T #Hour_Counter_11;
JU END;
YB12: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_12;
L L#1;
+D ;
T #Hour_Counter_12;
JU END;
YB13: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_13;
L L#1;
+D ;
T #Hour_Counter_13;
JU END;
YB14: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_14;
L L#1;
+D ;
T #Hour_Counter_14;
JU END;
YB15: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_15;
L L#1;
+D ;
T #Hour_Counter_15;
JU END;
YB16: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_16;
L L#1;
+D ;
T #Hour_Counter_16;
JU END;
YB17: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_17;
L L#1;
+D ;
T #Hour_Counter_17;
JU END;
YB18: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_18;
L L#1;
+D ;
T #Hour_Counter_18;
JU END;
YB19: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_19;
L L#1;
+D ;
T #Hour_Counter_19;
JU END;
YB20: A #IN_Sensor;
FP #Triger_Edge;
L #Hour_Counter_20;
L L#1;
+D ;
T #Hour_Counter_20;
JU END;
YB21: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_21;
L L#1;
+D ;
T #Hour_Counter_21;
JU END;
YB22: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_22;
L L#1;
+D ;
T #Hour_Counter_22;
JU END;
YB23: A #IN_Sensor;
FP #Triger_Edge;
JNB END;
L #Hour_Counter_23;
L L#1;
+D ;
T #Hour_Counter_23;
END: LAR2 #AR2_DW;
SAVE ;
BE ;
END_FUNCTION_BLOCK