*
ORGANIZATION_BLOCK "CYCL_EXC"
TITLE = "Main Program Sweep (Cycle)"
VERSION : 0.1
VAR_TEMP
OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
OB1_PRIORITY : BYTE ; //Priority of OB Execution
OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
OB1_RESERVED_1 : BYTE ; //Reserved for system
OB1_RESERVED_2 : BYTE ; //Reserved for system
OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
END_VAR
BEGIN
NETWORK
TITLE =
U "xLogFalse";
UN "xLogFalse";
= "xLogFalse";
NETWORK
TITLE =
CALL "DT_TOD" (
IN := #OB1_DATE_TIME,
RET_VAL := "tod_NOW");
NOP 0;
NETWORK
TITLE =
//timerange
CALL "SIMPLE_CLOCK" (
todNOW := "tod_NOW",
todON := TOD#18:0:0.0,
todOFF := TOD#22:0:0.0,
xOut := "xDimEnable",
dRange := "dDimTimeRange");
NOP 0;
NETWORK
TITLE =
//control range
//START
//
L 7.000000e+001;
T "rDimStart";
NOP 0;
NETWORK
TITLE =
//control range
//END
L 3.000000e+001;
T "rDimEnd";
NOP 0;
NETWORK
TITLE =
U "xPLCPulse_1Hz";
= L 20.0;
BLD 103;
U "xDimEnable";
FP "xHelpFlag01";
= L 20.1;
BLD 103;
U "xDimEnable";
SPBNB _001;
CALL "SIMPLE_DELTATICK" (
xPlcPulse := L 20.0,
xReset := L 20.1,
dTimeLength := "dDimTimeRange",
rPercentage := "rTimeState",
dTimeTemp := "dDimPeriod",
xHelpFlag := "xHelpFlag02");
_001: NOP 0;
NETWORK
TITLE =
CALL "SIMPLE_LINEAR" (
rY1 := "rDimStart",
rY2 := "rDimEnd",
rX1 := 0.000000e+000,
rX2 := 1.000000e+002,
rAbscissa := "rTimeState",
rOrdinate := "rDimState");
NOP 0;
NETWORK
TITLE =
U "xLogFalse";
= L 20.0;
BLD 103;
CALL "UNSCALE" (
IN := "rDimState",
HI_LIM := 1.000000e+002,
LO_LIM := 0.000000e+000,
BIPOLAR := L 20.0,
RET_VAL := "wTempRetVal",
OUT := AW 0);
NOP 0;
END_ORGANIZATION_BLOCK