Bei Rundtaktmaschinen sind mir bisher 2 Typen untergekommen.
Typ 1: Es gibt einen Masterantrieb der eine Getriebe mit Freilauf treibt. D.h. im Freilauf des Getriebes steht der Drehtisch zur Bearbeitung der Stationen, während der Master weiterläuft. An dem Master befindet sich ein Geber und dessen Winkelcode hat alle Stationen gesteuert. Das war übrigens eine Ami-Maschine und Zylinderabfragen waren da überwiegend nicht dran. Bis zur Programmoptimierung sind ungezählte Zylinder gewechselt worden...
Typ 2: Der Drehtisch ist mit einem "normalen" Getriebemotor versehen und wird gezielt gestartet und gestoppt. Ich denke das ist bei Dir der Fall. Zur Herangehensweise würde ich an Deiner Stelle einfach mal alle einzelnen Abläufe in Schrittketten formulieren. Die Bearbeitungsstationen beginnen mit der Freigabe durch den Drehtisch nach dem Takt. Vielleicht hilft es, dabei erst einmal nicht so sehr an alle möglichen Fälle zu denken, sondern zunächst die "regulären" Abläufe als Grundgerüst zu haben. Wenn alle Stationen fertig bearbeitet haben, darf der Tisch takten.
Ich mache Schrittkettenübergaben immer mit einem eigenen Merker z.B. "Taktfreigabe_Station[1]". Dieser wird am Ende der Schrittkette gesetzt und von der "übernehmenden" Schrittkette zurückgesetzt. Das ist so auch üblich, man muss aber aufpassen, dass die Übergabemerker ggf. bei einem Abbruch des Ablaufs zurückgesetzt werden müssen. Was im Falle eines Abbruchs geschehen soll, kannst du dann noch in Ruhe überlegen...
Der Tisch darf dann takten, wenn alle Stationen die Freigabe gesetzt haben. Das Takten ist auch eine Schrittkette an deren Ende ein Übergabemerker für alle Stationen gesetzt werden könnte. "Freigabe_Bearbeitung[n]"
Wenn Du das Gerüst hast, machst du Dich an Deine Daten. Wieviele Daten gibt es. Willst Du mit Schieberegistern arbeiten oder ganze Datenbausteine kopieren.
Anschließend kommt die IO/NIO-Bearbeitung. Wahrscheinlich hast du zu Beginn das Einlegen eines Eimers und dessen Anwesenheitskontrolle. Ist alles gut, setzt Du Dir z.B. einen IO-Merker. Der wird dann mit dem Takt durchgereicht und bleibt so lange 1, bis die Entnahme erfolgt ist oder eine Bearbeitungsstation diesen an ihrem Platz zurücksetzt.
Das "Schlechtschreiben" kann z.B. durch eine Kontrollstation erfolgen. Oder meinetwegen auch nach einem Abbruch. Hier musst Du überlegen, ob der Vorgang noch einmal begonnen werden kann, oder ob z.B. eine Überfüllung droht oder auch Kollisionen, weil ein Deckel schief auf dem Eimer klemmt und dieser eigentlich weg muss. Dann schreibst Du die Position schlecht und nach erfolgter Grundstellungsfahrt taktet der Tisch, ohne dass diese Sation noch einmal arbeitet.
Ich denke das sind erstmal einige gute Ansätze...