-> Hier kostenlos registrieren
Guten Tag liebes SPS Forum,
So nun muss ich mich auch mal melden und zwar stehe ich vor folgendem Problem:
Programm: Step 7
Sprache: AWL
Steuerung: S7-300
WinCC: TIA14
Auf einer Maschine wurde ein Energiezähler Programmiert welcher den Luftdruck via analogen eingang misst und verarbeitet (was auch wunderbar funktioniert)
Auf der anzeige gibt es einen:
Aktueller Wert
Maximaler Wert
Der Aktuelle Wert wird alle Sekunde gemessen und angezeigt
Der Maximale Wert wird nur dan Aktuallisiert wenn der Aktuelle Wert über dem Maximalen ist.
Nun ist jedoch das Problem das beim umschalten des Modus der Luftdruck kurzzeitig <1sek auf einen ziemlich hohen wert steigt, welcher natürlich in folge der Max.Wert übernimmt und dort dan auch bleibt bis dieser geresetet wird.
Zu meiner Theoretischen Lösung:
1.) vergleich aktueller Wert mit max.Wert
2.) wenn min.Wert grösser
3.) warte 1sekunde
4.) Wenn min immer noch grösser schreibe den Wert in Max.Wert hinein
Momentan sieht dies so aus
// max flow processing
L #ActualFlowRate
L #MaxFlowRate
>I
SPBN ne11
//Warte 1 Sekunde
SET
L S5T#10S
SA "T99"
U "T99"
= M 3333.0
CLR
//Nochmals vergleichen
L #ActFlowRate
L #MaxFlowRate
>I
SPBN ne04
TAK
T #MaxFlowRate
ne11: NOP 0
ne04: NOP 0
Leider ist mein wissen über AWL ziemlich begrenzt sagen wir eine Woche alt
Leider habe ich das verständniss nicht um einen Timer zu programmieren welcher mir den Wert nach 1 Sekunde nochmals überprüft
So nun muss ich mich auch mal melden und zwar stehe ich vor folgendem Problem:
Programm: Step 7
Sprache: AWL
Steuerung: S7-300
WinCC: TIA14
Auf einer Maschine wurde ein Energiezähler Programmiert welcher den Luftdruck via analogen eingang misst und verarbeitet (was auch wunderbar funktioniert)
Auf der anzeige gibt es einen:
Aktueller Wert
Maximaler Wert
Der Aktuelle Wert wird alle Sekunde gemessen und angezeigt
Der Maximale Wert wird nur dan Aktuallisiert wenn der Aktuelle Wert über dem Maximalen ist.
Nun ist jedoch das Problem das beim umschalten des Modus der Luftdruck kurzzeitig <1sek auf einen ziemlich hohen wert steigt, welcher natürlich in folge der Max.Wert übernimmt und dort dan auch bleibt bis dieser geresetet wird.
Zu meiner Theoretischen Lösung:
1.) vergleich aktueller Wert mit max.Wert
2.) wenn min.Wert grösser
3.) warte 1sekunde
4.) Wenn min immer noch grösser schreibe den Wert in Max.Wert hinein
Momentan sieht dies so aus
// max flow processing
L #ActualFlowRate
L #MaxFlowRate
>I
SPBN ne11
//Warte 1 Sekunde
SET
L S5T#10S
SA "T99"
U "T99"
= M 3333.0
CLR
//Nochmals vergleichen
L #ActFlowRate
L #MaxFlowRate
>I
SPBN ne04
TAK
T #MaxFlowRate
ne11: NOP 0
ne04: NOP 0
Leider ist mein wissen über AWL ziemlich begrenzt sagen wir eine Woche alt
Leider habe ich das verständniss nicht um einen Timer zu programmieren welcher mir den Wert nach 1 Sekunde nochmals überprüft