Ich habe folgendes Problem : Ich möchte einen zähler mit der zeit steueren in ST , das heisst der zähler soll bei bestimmte zeiten starten und bei anderen wieder anhalten ...
ich habe mir gedacht ein RS_FF zu benutzen und die zeiten in der eingänge einzustellen ..das problem besteht darin das die Zeiten in DINT format sind ?? wie werden die überhaupt eingelesen ?? ist ein Datentypkonvertierung hier notwendig ??? Von DINT_TO_BOOL ??aber dann werdenalle TRUE ..ich komme irgendwie nicht weiter ...
Bitte euch um Hilfe !
Danke im Vorraus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Richie,
ich verstehe Dein Problem zwar nicht ganz, aber die Frage zur Zeit kann ich vielleicht beantworten.
Zeiten werden normalerweise als Datentyp TIME deklariert. Es gibt eine Typkonvertierung DINT_TO_TIME, die Millisekunden nach TIME umwandelt, und TIME_TO_DINT macht das Umgekehrte.
TIME-Variable lassen sich miteinander vergleichen. Sollte es mit TIME nicht funktionieren, kann man nach DINT wandeln und den Vergleich dort ausführen.
Die Funktion TIME() (leere Klammern notwendig!) holt die aktuelle Zeit von der CPU der SPS ab, da sollte eigentlich auch das Datum drinstecken. Du kannst Dir also z.B. einen Baustein schreiben, der die aktuelle CPU-Zeit mit der Einschalt- und der Ausschaltzeit für den Zähler vergleicht und damit das Zählsignal weiterleitet:
VARÂ ZaehlerEin : TIME;Â ZaehlerAus : TIME;Â Jetzt : TIME;Â Frgzaehler : BOOL;END_VARJetzt := TIME();FrgZaehler :=Â Â Â (Jetzt >= ZaehlerEin)Â Â Â Â Â Â Â AND (Jetzt <= ZaehlerAus);
Vielleicht hilft Dir das weiter. Viel Erfolg
Rolf
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen ,
Ich habe folgendes Problem : Ich möchte einen zähler mit der zeit steueren in ST , das heisst der zähler soll bei bestimmte zeiten starten und bei anderen wieder anhalten ...
ich habe mir gedacht ein RS_FF zu benutzen und die zeiten in der eingänge einzustellen ..das problem besteht darin das die Zeiten in DINT format sind ?? wie werden die überhaupt eingelesen ?? ist ein Datentypkonvertierung hier notwendig ??? Von DINT_TO_BOOL ??aber dann werdenalle TRUE ..ich komme irgendwie nicht weiter ...
Bitte euch um Hilfe !
Danke im Vorraus
Hi Richie,
ich verstehe Dein Problem zwar nicht ganz, aber die Frage zur Zeit kann ich vielleicht beantworten.
Zeiten werden normalerweise als Datentyp TIME deklariert. Es gibt eine Typkonvertierung DINT_TO_TIME, die Millisekunden nach TIME umwandelt, und TIME_TO_DINT macht das Umgekehrte.
TIME-Variable lassen sich miteinander vergleichen. Sollte es mit TIME nicht funktionieren, kann man nach DINT wandeln und den Vergleich dort ausführen.
Die Funktion TIME() (leere Klammern notwendig!) holt die aktuelle Zeit von der CPU der SPS ab, da sollte eigentlich auch das Datum drinstecken. Du kannst Dir also z.B. einen Baustein schreiben, der die aktuelle CPU-Zeit mit der Einschalt- und der Ausschaltzeit für den Zähler vergleicht und damit das Zählsignal weiterleitet:
Vielleicht hilft Dir das weiter. Viel Erfolg
Rolf
Alles klar ,, ich werde es ausprobieren , es scheint schon mal in die richtige richtung zu sein ,
Vielen dank !