FUNCTION_BLOCK "Beispiel_FB"
TITLE =
VERSION : 0.1
VAR_INPUT
Befehl_setze : BOOL ;
Befehl_ruecksetze : BOOL ;
END_VAR
VAR_OUTPUT
Signalzustand : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =
U #Befehl_setze;
S #Signalzustand;
U #Befehl_ruecksetze;
R #Signalzustand;
END_FUNCTION_BLOCK
FUNCTION_BLOCK "Aufruf-FB"
TITLE =
VERSION : 0.1
VAR
Instanz1 : "Beispiel_FB";
Instanz2 : "Beispiel_FB";
END_VAR
BEGIN
NETWORK
TITLE =
CALL #Instanz1 ;
CALL #Instanz2 ;
END_FUNCTION_BLOCK
DATA_BLOCK "Aufruf_Instanz"
TITLE =
VERSION : 0.0
"Aufruf-FB"
BEGIN
Instanz1.Befehl_setze := FALSE;
Instanz1.Befehl_ruecksetze := FALSE;
Instanz1.Signalzustand := FALSE;
Instanz2.Befehl_setze := FALSE;
Instanz2.Befehl_ruecksetze := FALSE;
Instanz2.Signalzustand := FALSE;
END_DATA_BLOCK
ORGANIZATION_BLOCK OB 1
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 =
CALL "Aufruf-FB" , "Aufruf_Instanz" ;
END_ORGANIZATION_BLOCK