wonderfulworld
Level-1
- Beiträge
- 114
- Reaktionspunkte
- 10
-> Hier kostenlos registrieren
Hallo,
ich überleg gerade mit meinen Kollegen folgenden Fall, wo ich auch keine Antwort habe. Könnt ihr mir vielleicht helfen?
Und zwar haben wir eine Elau-Steuerung mit direkten Eingängen, die über den Sercos-Bus alle 2ms eingelesen werden. Zusätzlich haben wir in unserem Programm mehrere Tasks, die in unterschiedlichen Zyklen aufgerufen werden. Jetzt ist unsere Frage, wie synchronisieren sich die Eingänge während der Programmabarbeitung? Zwei Szenarien haben wir uns überlegt.
1. Die Eingänge werde alle 2ms eingelesen und den Programmen zur Verfügung gestellt. Das würde aber heißen, dass ich am Anfang meines Programm eventuell andere Daten habe, wie am Ende. Was zu nicht vorhersehbaren Verhalten führen würde. Das Problem ist ja, dass nicht vorhergesehen werden kann, wann der Scheduler mein Programm unterbricht.
2. In der Schule haben wir mal was vom Prozessabbild der Eingänge (PAE) gelernt. Da wurde uns beigebracht das alle Eingänge am Beginn des Abarbeitungzykluses eingelesen werden. Trifft das hier auch zu? Das würde ja dann heißen, dass ich in einem Task den Eingang X schon auf TRUE sehe, obwohl er im anderen Task noch auf FALSE steht? Und wie verhält sich dass dann mit den Ausgängen? Der kann ja nicht in einem Task TRUE und in anderen FALSE zur gleichen Zeit sein?
Gruß
wonderfulworld
ich überleg gerade mit meinen Kollegen folgenden Fall, wo ich auch keine Antwort habe. Könnt ihr mir vielleicht helfen?
Und zwar haben wir eine Elau-Steuerung mit direkten Eingängen, die über den Sercos-Bus alle 2ms eingelesen werden. Zusätzlich haben wir in unserem Programm mehrere Tasks, die in unterschiedlichen Zyklen aufgerufen werden. Jetzt ist unsere Frage, wie synchronisieren sich die Eingänge während der Programmabarbeitung? Zwei Szenarien haben wir uns überlegt.
1. Die Eingänge werde alle 2ms eingelesen und den Programmen zur Verfügung gestellt. Das würde aber heißen, dass ich am Anfang meines Programm eventuell andere Daten habe, wie am Ende. Was zu nicht vorhersehbaren Verhalten führen würde. Das Problem ist ja, dass nicht vorhergesehen werden kann, wann der Scheduler mein Programm unterbricht.
2. In der Schule haben wir mal was vom Prozessabbild der Eingänge (PAE) gelernt. Da wurde uns beigebracht das alle Eingänge am Beginn des Abarbeitungzykluses eingelesen werden. Trifft das hier auch zu? Das würde ja dann heißen, dass ich in einem Task den Eingang X schon auf TRUE sehe, obwohl er im anderen Task noch auf FALSE steht? Und wie verhält sich dass dann mit den Ausgängen? Der kann ja nicht in einem Task TRUE und in anderen FALSE zur gleichen Zeit sein?
Gruß
wonderfulworld