Hallo zusammen,
in einem MultiMove/MultiTasking System kann man ja persistent deklarierte Variablen über Tasks hinweg lesen/schreiben.
Kann mir jemand sagen wie hier das timing bei "gleichzeitigem" Zugriff funktioniert?
Konkretes Beispiel: mehrere Motion Tasks warten vor einer Station auf Einfahrfreigabe, zB:
WaitUntil nStation=0
nStation:=nRoboterNr;
mache Dinge, verlasse die Station
nStation:=0;
Falls das bei beiden Tasks in der exakt gleichen Stelle im Vorlauf stehen würde (sagen wir hypothetisch direkt main Zeile 1), wäre es dann möglich dass beide Tasks gleichzeitig über Zeile 1 laufen?
Sprich muss ich mich darum kümmern dass gleichzeitige Zugriffe nicht möglich sind oder werden die Tasks in der CPU sequentiell abgearbeitet sodass immer ein Zugriff "zuerst" erfolgt?
Nachdem ich es spaßeshalber wirklich mal mit main Zeile 1 ausprobiert habe "gewinnt" immer Task 1.
Edit: Das Ganze ist eher ein Duschgedanke, mich interessiert hauptsächlich wie die unterschiedlichen Tasks von der CPU abgearbeitet werden. Bei den meisten PLC's und Motion Controllern hat man darauf ja Einfluss oder zumindest Informationen und die zyklische Abarbeitung ist für mich auch nachvollziehbarer als Satzabarbeitung mit undefiniertem Vorlauf.
Danke und Grüße
Karsten