INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Ausführen zu bestimmer Zeit



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

23.11.2020, 11:43 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2020 11:46 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Ausführen zu bestimmer Zeit
(18.11.2020 13:17 )LV-New schrieb:  Okay, noch ein paar Hintergründe....

Die besagte Unterscheife soll an einem bestimmten Winkel eine Aktion ausführen. (Leider geht es nicht Hardware getriggert :-().
Die Drehmaschine läuft mit ca. 150 Umdrehungen pro Minute. D.h. ca. 1ms dauert es bis 1° Winkel gedreht hat.
Die Hauptschleife bekommt alle 200ms die Daten wann welcher Winkel zu welchem Zeitpunkt erreicht wurde.
Damit kann man vorausrechen wenn der neue Sollwinkel kommt, bei dem die Aktion ausgeführt werden soll.
Zu der berechneten Zeit/Zeitpunkt soll dann also in der Unterschleife die Aktion ausgeführt werden.

Daraus ergeben sich folgende Ansprüche:
1. Die Aktion soll mit einer Toleranz von 2° (2ms) meistens ausgeführt werden
(Wenn Windows hier hin und wieder mal dazwischen funkt ist dies okay, wird dokumentiert!)
2. Der Sollwinkel kann vorausberechnet werden d.h: es ist okay, wenn er mal 3 Umdrehungen braucht bevor er dann die Aktion ausführt, nur der Winkel muss stimmen
3. Die Unterschleife sollte Resourcenschonend laufen, damit die anderen Unterschleifen Ihre Arbeit verrichten können :-)

Hat jemand Ideen

1) Das ist unter Windows ganz sicher nicht und auch unter einem Linux Desktop System kaum machbar. Windows nimmt sich das Recht heraus um einen Prozess jederzeit für eine beliebig lange Zeit aufs Eis zu setzen. Solche Zeitvorgaben sind allenfalls in Kerneltreibern zu realisieren wo man sehr nah an der Hardware programmieren kann aber selbst da gibt es keine 100% Garantie. Programmierung von Kerneltreibern is aber eine sehr aufwendige und peinliche Angelegenheit die nur mit C(++) (und allenfalls Assembly)-Programmierung machbar ist.

Fazit ist, dass solche Spezifikationen eigentlich nur mit einem Echtzeitbetreibsystem einigermassen sinnvoll zu realisieren sind! Selber würde ich sogar noch weiter gehen und das Ganze gleich in FPGA implementieren.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Ausführen zu bestimmer Zeit - LV-New - 17.11.2020, 11:25
RE: Ausführen zu bestimmer Zeit - th13 - 17.11.2020, 16:51
RE: Ausführen zu bestimmer Zeit - rolfk - 23.11.2020 11:43
RE: Ausführen zu bestimmer Zeit - THL - 30.11.2020, 11:01

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  event structure -> bei Zeit x Case ausführen GT123 5 5.762 23.11.2009 13:50
Letzter Beitrag: Lucki
  Aktion nach Zeit ausführen olmethn 4 5.262 28.06.2008 21:10
Letzter Beitrag: olmethn

Gehe zu: