Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
11.10.2020
Размер:
3.68 Mб
Скачать

346 Die Elemente der Standardbibliothek

Zähler

Beispiel in ST:

FTRIGInst(CLK:= VarBOOL1);

VarBOOL2 := FTRIGInst.Q;

13.4 Zähler

13.4.1CTU

Der Funktionsblock Aufwärtszähler:

Die Eingänge CU und RESET und der Ausgang Q sind vom Typ BOOL, der Eingang PV und der Ausgang CV sind vom Typ INT.

Wenn RESET TRUE ist, wird die Zählvariable CV mit 0 initialisiert. Wenn CU eine steigende Flanke von FALSE auf TRUE hat, dann wird CV um 1 erhöht.

Q liefert TRUE, wenn CV größer oder gleich der Obergrenze PV ist.

Deklarationsbeispiel:

CTUInst : CTU ;

Beispiel in AWL:

CAL CTUInst(CU := VarBOOL1, RESET := VarBOOL2, PV :=

VarINT1)

LD CTUInst.Q

ST VarBOOL3

LD CTUInst.CV

ST VarINT2

Beispiel in FUP:

Beispiel in ST:

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

Die Elemente der Standardbibliothek

347

Zähler

 

 

 

CTUInst(CU:= VarBOOL1, RESET:=VarBOOL2 , PV:= VarINT1);

VarBOOL3 := CTUInst.Q ;

VarINT2 := CTUInst.CV;

13.4.2CTD

Der Funktionsblock Abwärtszähler:

Die Eingänge CD und LOAD und der Ausgang Q sind vom Typ BOOL, der Eingang PV und der Ausgang CV vom Typ INT.

Wenn LOAD TRUE ist, wird die Zählvariable CV mit der Obergrenze PV initialisiert. Wenn CD eine steigende Flanke von FALSE auf TRUE hat, wird CV um 1 erniedrigt, solange CV größer als 0 ist (Wenn also kein Unterlauf verursacht wird).

Q liefert TRUE, wenn CV gleich 0 ist.

Deklarationsbeispiel:

CTDInst : CTD ;

Beispiel in AWL:

CAL

CTDInst(CD := VarBOOL1, LOAD := VarBOOL2, PV :=

 

VarINT1)

LD

CTDInst.Q

ST

VarBOOL3

LD

CTDInst.CV

ST

VarINT2

Beispiel in FUP:

Beispiel in ST:

CTDInst(CD:= VarBOOL1, LOAD:=VarBOOL2 , PV:= VarINT1);

VarBOOL3 := CTDInst.Q ;

VarINT2 := CTDInst.CV;

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

348 Die Elemente der Standardbibliothek

Zähler

13.4.3CTUD

Der Funktionsblock Aufund Abwärtszähler:

Die Eingänge CU, CD, RESET, LOAD und die Ausgänge QU und QD sind vom Typ BOOL, PV und CV sind vom Typ INT.

Wenn RESET gilt, dann wird die Zählvariable CV mit 0 initialisiert. Wenn LOAD gilt, dann wird CV mit PV initialisiert.

Wenn CU eine steigende Flanke von FALSE auf TRUE hat, dann wird CV um 1 erhöht. Wenn CD eine steigende Flanke von FALSE auf TRUE hat, dann wird CV jeweils um 1 erniedrigt, solange CV keinen Unterlauf verursacht.

QU liefert TRUE, wenn CV größer oder gleich PV geworden ist.

QD liefert TRUE, wenn CV gleich 0 geworden ist

Deklarationsbeispiel:

CTUDInst : CUTD ;

Beispiel in AWL:

CAL CTUDInst(CU := VarBOOL2, RESET := VarBOOL3, LOAD := VarBOOL4, PV := VarINT1)

LD CTUDInst.QU

ST VarBOOL5

LD CTUDInst.QD

ST VarBOOL6

LD CTUDInst.CV

ST VarINT2

Beispiel in FUP:

Beispiel in ST:

CTUDInst(CU := VarBOOL1, CU:= VarBOOL2, RESET :=

VarBOOL3, LOAD:=VarBOOL4 , PV:= VarINT1);

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

Соседние файлы в папке 759-332