Control Unit mit Verbrauchskontrolle
Liegen die angeforderten bzw. kommandierten Daten nicht statisch an, sondern soll hier eine einzelne Änderung übertragen werden, so sind die Daten der entsprechenden Control-Unit mit einer zusätzlichen Verbrauchskontrolle versehen.
TYPE MC_CONTROL_UNIT:
STRUCT
request_r : < DATENTYP A >; (* von GUI kommandierte Daten *)
enable_w : BOOL; (* PLC bedient dieses Kommando *)
command_w : < DATENTYP A >; (* von PLC kommandierte Daten *)
request_semaphor_rw : BOOL; (* Request gültig *)
command_semaphor_rw : BOOL; (* Command gültig *)
state_r : < DATENTYP B >; (* Rückmeldung der CNC *))
END_STRUCT
END_TYPE
Beispiel:
CNC übernimmt die kommandierten Daten, wenn der Kommandosemaphore der Wert TRUE zugewiesen wird und setzt nach vollständiger Übernahme der Daten die Kommandosemaphore auf den Wert FALSE.
PLC kann Daten zur Kommandierung schreiben, wenn die Kommandosemaphore den Wert FALSE anzeigt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC die Kommandosemaphore auf den Wert TRUE.
CNC schreibt die von der GUI angeforderten Daten, wenn die Requestsemaphore FALSE ist und setzt anschließend dieses Element auf TRUE.
PLC liest die vom GUI angeforderten Daten, wenn die Requestsemaphore TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.