Files
HundM_awl/=A01+UH06-KF00/Programmbausteine/Module/MBlinken.awl
T

164 lines
2.4 KiB
Plaintext

FUNCTION_BLOCK "MBlinken"
TITLE = Anzeige blinken lassen
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
VAR_INPUT
Impulsdauer : Bool; // Impulsdauer
Error_1 : Bool;
Error_2 : Bool;
Error_3 : Bool;
Error_4 : Bool;
Error_5 : Bool;
Error_6 : Bool;
Error_7 : Bool;
Error_8 : Bool;
Error_9 : Bool;
Error_10 : Bool;
END_VAR
VAR_OUTPUT
hAnzeige : Bool; // Anzeige
END_VAR
VAR
Flanke_Ausschalttakt : Bool;
Kein_Blinken : Bool;
Ausschalttakte : Int; // Betriebsbereit ist ausgeschaltet
END_VAR
BEGIN
NETWORK
TITLE = Anzeige bei Error 1-10 1-10 mal blinken lassen
//Anzeige ausschalten:
UN #Error_1;
UN #Error_2;
UN #Error_3;
UN #Error_4;
UN #Error_5;
UN #Error_6;
UN #Error_7;
UN #Error_8;
UN #Error_9;
UN #Error_10;
R #hAnzeige;
R #Flanke_Ausschalttakt;
R #Kein_Blinken;
SPB NoAn;
//Anzeige aktivieren
U #Impulsdauer;
UN #Kein_Blinken;
= #hAnzeige;
U #Impulsdauer;
FN #Flanke_Ausschalttakt;
SPBN mHu;
L #Ausschalttakte;
+ 1;
T #Ausschalttakte;
mHu: L #Ausschalttakte;
L 2;
>=I;
U #Kein_Blinken;
R #Kein_Blinken;
SPB NoAn;
U #Kein_Blinken;
SPB En01;
TAK;
L 1;
>=I;
U #Error_1;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 2;
>=I;
U #Error_2;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 3;
>=I;
U #Error_3;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 4;
>=I;
U #Error_4;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 5;
>=I;
U #Error_5;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 6;
>=I;
U #Error_6;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 7;
>=I;
U #Error_7;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 8;
>=I;
U #Error_8;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 9;
>=I;
U #Error_9;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 10;
>=I;
U #Error_10;
S #Kein_Blinken;
SPB NoAn;
TAK;
L 10;
>I;
S #Kein_Blinken;
SPB NoAn;
SPA En01;
NoAn: L 0;
T #Ausschalttakte;
En01: NOP 0;
NETWORK
TITLE = Ende
BE;
END_FUNCTION_BLOCK