//İLERİ-GERİ DEVRESİ
//İLERİ YADA GERİ ÇALIŞTIKTAN 10 SN SONRA DURAN DEVRE
//I0.0 STOP BUTONU (NORMALDE LOJİK BİR VE LOJİK SIFIR YAPILINCA SİSTEM DURACAKTIR)
//I0.1 İLERİ YÖN START BUTONU (0=PASİF 1=AKTİF)
//I0. GERİ YÖN START BUTONU (0=PASİF 1=AKTİF)
FUNCTION FC1:VOID
VAR_INPUT
START1:BOOL;
STOP:BOOL;
START2: BOOL;
END_VAR
VAR_OUTPUT
ILERI:BOOL;
GERI: BOOL;
ZAMAN:BOOL;
END_VAR
BEGIN
IF START1=1 & GERI=0 & STOP=1 THEN
ILERI:=1;
ZAMAN:=1;
END_IF;
IF START2=1 & ILERI=0 & STOP=1 THEN
GERI:=1;
ZAMAN:=1;
END_IF;
IF STOP=0 THEN
GERI:=0;
ILERI:=0;
ZAMAN:=0;
END_IF;
END_FUNCTION
FUNCTION_BLOCK FB1
VAR
ON:TON;
SURE:TIME:= T#10s;
CIKIS:BOOL;
KAL_ZAMAN:TIME;
END_VAR
VAR_INPUT
ZAMAN1:BOOL;
END_VAR
BEGIN
ON(IN :=ZAMAN1 // IN: BOOL
,PT :=SURE // IN: TIME
);
CIKIS:= ON.Q; // OUT: BOOL
KAL_ZAMAN:= ON.ET; // OUT: TIME
IF CIKIS=1 THEN
Q0.0:=0;
Q0.1:=0;
Q0.2:=0;
M1.0:=0;
END_IF;
END_FUNCTION_BLOCK
ORGANIZATION_BLOCK OB1
VAR_TEMP
info:ARRAY[0..19]OF BYTE;
END_VAR
BEGIN
FC1(START1:=I0.1, START2:= I0.2 , STOP:=I0.0,ILERI:=Q0.0,GERI:=Q0.1,ZAMAN:=M1.0);
FB1.DB1(ZAMAN1:=M1.0);
MD10:=DB1.DBD30; //TON ZAMANI md10 ADRESİNDEN İZLENECEKTİR
END_ORGANIZATION_BLOCK