Suche dringend Beispiele zur Programmieresprache ST...z.B. wie man einen Timer-interrupt programmiert der alle 30 ms einen Task aufruft und diesen ausfürt. ich verwende ein EC4P-221-MTXD1.
Mit freundlichen Grüssen
Di
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
bei der Wago 750-841 würde man im Taskmanager eine eigenständige Task einrichten, die (zeitgesteuert) alle 30ms aktiviert wird. Das passiert ohne jegliches Zutun irgendwelcher selbst programmierter Timer.
Sollte deine Steuerung so etwas nicht können, würde ich dir die Programmierung eines Taktgebers empfehlen mit 15ms Ein- und 15ms Auszeit. Davon könnte man nun die steigende Flanke zur Interrupt-Auslösung nutzen (das wäre dann eine ereignisgesteuerte Task).
Allerdings würde ich bei Variante 2 keine allzu große Genauigkeit hinsichtlich der Zeiteinhaltung erwarten.
Gruß Norbert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Denkes: bei diesem EC4P kann man keine Task konfigurieren, dieser hat einfach seine 12 Tasks vorgegeben, die man auswählen und dann eben irgenwie noch konfigurieren muss. doch ich habs doch noch herausgefunden, und zwar hats in einer Lib (EC_Util.lib) ein fertiges Modul für einen Timer. der läuft jetzt und kann max. all 500us aufgerufen werden.
hugo: Die oscat lib ist sehr umfangreich, doch jedesmal beim Übersetzten der Projektes hat das CoDeSys ein Problem und muss Beendet werden. weiss noch nicht was die Ursache dafür ist.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Suche dringend Beispiele zur Programmieresprache ST...z.B. wie man einen Timer-interrupt programmiert der alle 30 ms einen Task aufruft und diesen ausfürt. ich verwende ein EC4P-221-MTXD1.
Mit freundlichen Grüssen
Di
lade dir mal die lib von oscat w www.oscat.de w dort sind 150 funktionen und funktionsblöcke realisiert und alles in source und doku
Hallo Jordi,
bei der Wago 750-841 würde man im Taskmanager eine eigenständige Task einrichten, die (zeitgesteuert) alle 30ms aktiviert wird. Das passiert ohne jegliches Zutun irgendwelcher selbst programmierter Timer.
Sollte deine Steuerung so etwas nicht können, würde ich dir die Programmierung eines Taktgebers empfehlen mit 15ms Ein- und 15ms Auszeit. Davon könnte man nun die steigende Flanke zur Interrupt-Auslösung nutzen (das wäre dann eine ereignisgesteuerte Task).
Allerdings würde ich bei Variante 2 keine allzu große Genauigkeit hinsichtlich der Zeiteinhaltung erwarten.
Gruß Norbert
Danke für eure Tipps
Denkes: bei diesem EC4P kann man keine Task konfigurieren, dieser hat einfach seine 12 Tasks vorgegeben, die man auswählen und dann eben irgenwie noch konfigurieren muss. doch ich habs doch noch herausgefunden, und zwar hats in einer Lib (EC_Util.lib) ein fertiges Modul für einen Timer. der läuft jetzt und kann max. all 500us aufgerufen werden.
hugo: Die oscat lib ist sehr umfangreich, doch jedesmal beim Übersetzten der Projektes hat das CoDeSys ein Problem und muss Beendet werden. weiss noch nicht was die Ursache dafür ist.
jordi,
die version 1.4 der oscat.lib seit heute online unter w www.oscat.de w sollte deine übersetzungsprobleme beseitigen.
wenn noch immer nicht geht bitte melde dich e info@oscat.de e
salutti hugo
hab die neue Lib heruntergeladen.....funzt leider immer noch nicht....
der Compiler bleibt beim Baustein DCF77 hängen und muss sich schliessen.....schade schade