Schalterabfrage in SCL

spirit

Level-1
Beiträge
961
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ihr,

brauche bitte mal wieder etwas Beistand... ;)

Sehe ich das richtig, dass zwischen den beiden Programmteilen für eine Schalterabfrage im Grunde kein Unterschied besteht?


Abfrage.jpg

Lieben Dank!
 
Das siehst du falsch.

Im ersten Programm wird der Ausgang erst wieder zurückgesetzt wenn der Eingang FALSE ist. Im zweiten Programm hast du am Ausgang eine positive Flanke des Eingangs
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Willst du A0.0 als ein Impuls von steigender oder fallender Flanke von E1.0 bilden ?

A0.0 := E1.0 AND NOT mem_E1_0 ; // impuls wenn steigender Flanke
A0.1 := NOT E1.0 AND mem_E1_0 ; // impuls wenn fallender Flanke
mem_E1_0 := E1.0 ; // mem_E1_0 ist ein STAT
 
Das siehst du falsch.

Im ersten Programm wird der Ausgang erst wieder zurückgesetzt wenn der Eingang FALSE ist. Im zweiten Programm hast du am Ausgang eine positive Flanke des Eingangs

Danke für deine Antwort Aventinus,

aber für mich ergibt sich in der Praxis dennoch kein sichtlicher Unterschied. :confused:

In beiden Programmteilen wird doch der Ausgang erst dann wieder 0, wenn der Schalter (Eingang) auf 0 zurückgeschaltet wird. Solange der Eingang den Status 1 besitzt, hat auch der Ausgang den Status 1.
 
In beiden Programmteilen wird doch der Ausgang erst dann wieder 0, wenn der Schalter (Eingang) auf 0 zurückgeschaltet wird. Solange der Eingang den Status 1 besitzt, hat auch der Ausgang den Status 1.

Nö im ersten Programm wird der Ausgang zurückgenommen wenn der E0.1 auch False ist. Ansonsten bleibt der Ausgang gesetzt, solange der Elsif Zweig nicht erfüllt ist.

im zweiten Programm kommt die Flanke des ersten IF Zweiges zum tragen um den Ausgang zu setzen. Dann wird aber sofort (im nächsten Zyklus) der Else Zweig erfüllt obwohl der Eingang noch ansteht (Weil halt Flanke = True). Und der Else Zweig setzt ja den Ausgang zurück.

mfG René
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
In beiden Programmteilen wird doch der Ausgang erst dann wieder 0, wenn der Schalter (Eingang) auf 0 zurückgeschaltet wird. Solange der Eingang den Status 1 besitzt, hat auch der Ausgang den Status 1.

Darf eigentlich nicht so sein.
Wie von Aventinus geschrieben sollte im 2. Beispiel der Ausgang nur für einen Zyklus gesetzt sein (quasi als Impuls). Setzen erfolgt wenn Eingang und nicht Flanke. Im nächsten Zyklus ist zwar Eingang noch = 1, Flanke aber auch - also greift ELSE ...

Gruß
Larry
 
Lieben Dank euch!

Ja, jetzt funktioniert es so, wie von euch vorhergesagt... :p


War ein Programmierfehler (trotz der wenigen Zeilen) von mir - offensichtlich ein Problem beim Übertragen in die SPS!
 
Zurück
Oben