Einschränkungen bei mehrkanaligem Steuerungsaufbau

Beim Hochlauf der CNC werden für jeden NC-Kanal die “GLOBAL“ deklarierten Variablen zu bereits evtl. vorhandenen Variablen inkrementell hinzugefügt. Erst nach Abschluss des Hochlaufs steht das Layout des Speichers in der Gesamtheit fest. Die Anfangsadresse auf den gemeinsamen Speicher wird dann der SPS zur Verfügung gestellt.

Die #EXPORT-Funktion kann nur jeweils in einem Kanal gestartet werden.

Eine Lösung der Problemstellungen kann nur durch den SPS-Programmierer erfolgen oder muss in enger Zusammenarbeit mit demjenigen erarbeitet werden, der die V.E-Listen erstellt. Eine "typische" Vorgehensweise gibt es jedoch nicht.

Im Folgenden werden einige Vorschläge gezeigt, die helfen sollen, eine Entscheidung über das angewendete Vorgehen zu fällen:

Szenario (A)

Alle “GLOBAL“-Variablen werden in jedem Kanal (als Kopie) deklariert und (evtl.) nur durch Zugriffsmethoden (var[?].access_rights) unterschieden. In der Folge sind alle kanalweise erzeugten VE_GLOBAL_DATA_-FROM_CH_? -Strukturen identisch. Für den Zugriff von Seiten der SPS reicht es aus, eine der Strukturen als Basis für den Zugriff auf den “GLOBAL“ Speicher zu nutzen.

Einschränkungen bei mehrkanaligem Steuerungsaufbau 1:

Szenario (B)

Die “GLOBAL“ Variablen der verschiedenen Kanäle unterscheiden sich teilweise oder komplett. Somit sind die erzeugten SPS-Strukturen unterschiedlich.

Ein erster Ansatz ist, die exportierten Strukturen manuell zu mischen und mit einer neuen selbstdefinierten Struktur auf den Speicher zuzugreifen. Nachteilig ist hier, dass die Verantwortung für den richtigen Zugriff wieder beim SPS-Programmierer liegt. Zudem muss der Vorgang wiederholt werden, wenn sich nur eine der V.E-Listen ändert und ein neues #EXPORT ausgelöst wird.

Einschränkungen bei mehrkanaligem Steuerungsaufbau 2:

Ein zweiter möglicher Ansatz belässt die Unterscheidung nach Kanälen und definiert in der SPS mehrere eigenständige kanalspezifische Zeiger (auf den identischen GLOBAL Speicher). Hier muss der SPS-Programmierer Sorge tragen, dass mit der ‚richtigen’ SPS-Variable auf die gewünschte Variable zugegriffen wird.

Einschränkungen bei mehrkanaligem Steuerungsaufbau 3: