2 Ventile zeitversetzt ansteuern

bernd67

Level-2
Beiträge
138
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe eine CPU 313C und muss folgende Sache realisieren.

Ist Zustand :beide Ventile werden gleichzeitig angesteuert (mit Taster)

Soll Zustand: Ventil 1 wird angesteuert (mit Taster);
Ventil 2 soll verzögert (5ms) angesteuert werden;
Taster aus;
Ventil 2 fällt sofort ab;
Ventil 1 fällt zeitverzögert (5ms) ab;

Vielen Dank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
weiss ich nicht


vielleicht eine einschaltverzögerung für ventil 2
und ausschaltverzögerung für ventil 1 ?
Wir kommen der Sache schon näher. Wie gross sind deine Programmierkenntnisse?

P.S.
Wir wollen dich nicht ärgern, aber du sollst ja auch was dabei lernen und
nicht einfach eine fertige Lösung übernehmen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe eine CPU 313C und muss folgende Sache realisieren.

Ist Zustand :beide Ventile werden gleichzeitig angesteuert (mit Taster)

Soll Zustand: Ventil 1 wird angesteuert (mit Taster);
Ventil 2 soll verzögert (5ms) angesteuert werden;
Taster aus;
Ventil 2 fällt sofort ab;
Ventil 1 fällt zeitverzögert (5ms) ab;

Vielen Dank

mal eine frage hat sich jemand durchgelesen was er eigentlich will
ok bin schon wieder frech:rolleyes: :rolleyes:

aber er will eine zeitliche verzögerung von 5 ms haben ein normaler timer kann minimal 10 ms also kann das schon mal nicht gehen

ok mit denn sfb kannst du es glaub ich einstellen
aber hat deine steuerung überhaupt eine so kleine zykluszeit

bei 5 ms würd ich bei einen ventil mal sagen es reicht wenn es gleichzeitig ist bzw

bzw machs so
u a4.0
S a4.1

u e0.0
s a4.0

un e0.0
un a4.1
r a4.0

u e0.0
r a4.1

wenn man davon ausgeht das du eine zykluszeit von ca 5 ms hast
 
@bernd67
wenn man bei solchen Problemen nicht weiterkommt,
dann kann eine Wertetabelle weiterhelfen
Siehe mal im Anhang. Die richtigen 0en und 1en
musst du noch selber einfügen. Dann ergibt sich die Logik
von alleine.:rolleyes:
 

Anhänge

  • Tabelle.JPG
    Tabelle.JPG
    29,4 KB · Aufrufe: 46
mal eine frage hat sich jemand durchgelesen was er eigentlich will
ok bin schon wieder frech:rolleyes: :rolleyes:

aber er will eine zeitliche verzögerung von 5 ms haben ein normaler timer kann minimal 10 ms also kann das schon mal nicht gehen

ok mit denn sfb kannst du es glaub ich einstellen
aber hat deine steuerung überhaupt eine so kleine zykluszeit

bei 5 ms würd ich bei einen ventil mal sagen es reicht wenn es gleichzeitig ist
du hast recht, auf die 5ms hatte ich nicht geachtet, aber ich dachte es geht ihm ums Prinzip wie man es programmiert
und dann will ich ihm nicht eine fertige Lösung präsentieren. Man soll ja was dabei lernen ;-)
 
Zuletzt bearbeitet:
Wie soll das funktionieren:confused:

er verzögert um die zykluszeit

Code:
U  A4.0  //im ersten zyklus noch nicht da
S  A4.1  //deswegen um zykluszeit verzögert
 
U  E0.0  //taster
S  A4.0  //schaltet erstes ventil sofort
 
UN E0.0  //taster aus
UN A4.1  //aber der ist ja noch nicht aus
R  A4.0  //deswegen wird das erste ventil um die zykluszeit verzögert ausgeschaltet
 
UN E0.0 //taster aus
R  A4.1 //macht direkt aus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
er verzögert um die zykluszeit

Code:
U  A4.0  //im ersten zyklus noch nicht da
S  A4.1  //deswegen um zykluszeit verzögert
 
U  E0.0  //taster
S  A4.0  //schaltet erstes ventil sofort
 
UN E0.0  //taster aus
UN A4.1  //aber der ist ja noch nicht aus
R  A4.0  //deswegen wird das erste ventil um die zykluszeit verzögert ausgeschaltet
 
UN E0.0 //taster aus
R  A4.1 //macht direkt aus
Das war mir klar, das er um die Zykluszeit verzögert, aber sein Code sieht anders aus als deiner. Vorletzte Zeile:rolleyes:
Probiere seinen Code mal aus, das funktioniert nicht.
 
Zuletzt bearbeitet:
In deiner Version.
Ausgangspunkt
A4.0 ist 1
A4.1 ist 1
E 0.0 ist 1
E 0.0 wird losgelassen und wird 0

Code:
               n. Zyklus                           n+1. Zyklus
U  A4.0  // ist 1                                  ist 1    
S  A4.1  // wird gesetzt                           wird gesetzt
 
U  E0.0  // ist 0                                  usw.
S  A4.0  // hier passiert nichts
 
UN E0.0  // ist 0 darum Status = 1
UN A4.1  // ist 1 darum Status = 0
R  A4.0  // hier passiert nichts
 
UN E0.0  // ist 0 darum status 1
R  A4.1  //  wird rückgesetzt
 
Zurück
Oben