FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
Takt : BOOL ;
Start : BOOL ;
Zeitwert : INT ;
Reset : BOOL ;
END_VAR
VAR_OUTPUT
Out : BOOL ;
END_VAR
VAR_IN_OUT
Restzeit : INT ;
END_VAR
BEGIN
NETWORK
TITLE =
UN #Takt;
ON #Start;
O #Out;
SPB no;
L #Restzeit;
L 1;
-I ;
T #Restzeit;
no: L #Restzeit;
L 0;
<=I ;
= #Out;
U( ;
L #Restzeit;
L 0;
<=I ;
) ;
UN #Start;
O #Reset;
SPBN nore;
L #Zeitwert;
T #Restzeit;
nore: NOP 0;
END_FUNCTION
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 =Taktgeber Funktionsbaustein
//
//
UN M 2.0;
L S5T#1S;
SE T 2;
NOP 0;
NOP 0;
NOP 0;
U T 2;
= M 2.0;
NETWORK
TITLE =Zeit 1 Funktionsbaustein
U( ;
U M 2.0;
= L 20.0;
BLD 103;
U M 3.1;
= L 20.1;
BLD 103;
U M 2.3;
= L 20.2;
BLD 103;
U M 4.0;
SPBNB _001;
CALL FC 1 (
Takt := L 20.0,
Start := L 20.1,
Zeitwert := DB20.DBW 0,
Reset := L 20.2,
Out := M 2.6,
Restzeit := MW 10);
_001: U BIE;
) ;
U M 3.2;
= A 4.0;
NETWORK
TITLE =Zeit 2 Funktionsbaustein
U( ;
U M 2.0;
= L 20.0;
BLD 103;
U M 3.1;
= L 20.1;
BLD 103;
U M 2.3;
= L 20.2;
BLD 103;
U M 4.0;
SPBNB _002;
CALL FC 1 (
Takt := L 20.0,
Start := L 20.1,
Zeitwert := DB20.DBW 2,
Reset := L 20.2,
Out := M 2.7,
Restzeit := MW 20);
_002: U BIE;
) ;
U M 3.5;
= A 4.1;
NETWORK
TITLE =Start Befehl im Hand Bild
U DB11.DBX 1.1;
U DB12.DBX 3.1;
= M 2.1;
NETWORK
TITLE =Stop Befehl im Hand Bild
//
//
U DB11.DBX 1.1;
U DB12.DBX 3.3;
= M 2.2;
NETWORK
TITLE =Reset Befehl im Hand Bild
U DB11.DBX 1.1;
U DB12.DBX 3.4;
= M 2.3;
NETWORK
TITLE =Kopf heben Befehl im Hand Bild
U DB11.DBX 1.1;
U DB12.DBX 3.5;
= M 2.4;
NETWORK
TITLE =Start/Stop Zeit-Funktion
U M 2.1;
S M 3.1;
U M 2.2;
R M 3.1;
NOP 0;
NETWORK
TITLE =Vergleicher, ob Zeit 1 beendet ist
L 0;
L MW 10;
==I ;
= M 3.3;
NETWORK
TITLE =Drehzahl 1. Stufe
UN M 3.3;
U( ;
L DB20.DBW 0;
L MW 10;
<>I ;
) ;
U M 3.1;
= M 3.2;
NETWORK
TITLE =Vergleicher, ob Zeit 2 beendet ist
L 0;
L MW 20;
==I ;
= M 3.4;
NETWORK
TITLE =Drehzahl 2. Stufe
UN M 3.4;
U( ;
L DB20.DBW 2;
L MW 20;
<>I ;
) ;
U M 3.1;
= M 3.5;
NETWORK
TITLE =Sicherheitskette Rührwerk
//
//
UN E 0.0;
UN E 0.1;
UN E 0.2;
UN E 0.3;
UN E 0.4;
= M 4.0;
NETWORK
TITLE =
CALL FB 1 , DB 1 (
Taster := M 2.4,
Hilfsmerker := M 2.5,
Ausgang := M 2.6);
END_ORGANIZATION_BLOCK