Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 47324

TIA Retro Fehlerausgabe über Blinkimpulse

$
0
0
Hallo zusammen,

ich möchte ein "Eco" Maschine machen billig billig muss es sein, aber ich möchte dennoch nicht einfach nur eine Fehlerleuchte anschmeißen sondern so wie früher ne Lampe ganz schnell blinken lassen für ca. 2 Sekunden und dann im 1 Sekunden Takt die Fehlernummer ausgeben z.B.

Schnell blinken dann blink Pause blink Pause blink Pause für Fehlercode 3.

Die Fehler habe ich in einem Wort (16-Bit) gespeichert. DB100.DBX0.0 = Fehler 0 DB100.DBX0.1 = Fehler 1 ==> DB100.DBX1.7 = Fehler 16
Das Programm möchte ich in einer S71200 realisieren am liebsten in SCL oder wenn es sein muss auch in FUB. AWL geht ja leider nicht. Aber egal in welcher Sprache so ne richtig schöne Lösung bekomm ich nicht zusammen.

Wenn mehrere Fehler anstehen dann soll einfach der niederwertigste Prio. haben.
So im Ansatz würde ich eine Forschleife machen wollen.

So und jetzt bitte nicht hauen, ich hab mal was vor Jahren in der Schule mit SCL gemacht gefühlt ist es 100 Jahre her, und an folgendes kann ich mich noch erinnern.

Könnte das so funktionieren? Wie sieht es mit der Syntax aus?

i=0;
iFehlerNr:=0;
BlinkBlinkLangsam:=0;
BlinkBlinkSchnell := 0;

For i=0 to 16 Do by1
IF DB100.dbx[i] THEN
BlinkBblink := TRUE;
iFehlerNr := i;
ELSIF
BlinkBlink:= FALSE
ENDIF

IF FehlerNr >=0 AND NOT TimerBlinkBlinkSchnell.Q THEN
BlinkBlinkSchnell := TRUE;
TimerBlinkBlinkSchnell.IN := TRUE;
ELSIF
BlinkBlinkSchnell :=FALSE;

IF TimerBlinkBlinkSchnell.Q AND Blinktakt_1Hz THEN
FOR j=1 to iFehlerNr DO BY 1
BlinkBlinkLangsam :=TRUE;
END FOR

END_IF


Ich danke euch schon mal recht recht herzlich.....
Gruß Flattpro

Viewing all articles
Browse latest Browse all 47324


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>