Sequence CMZ

Eine „Constantly Monitored Zone” CMZ bei Maschinen ist ein Bereich oder eine Zone in einer Maschine, der bzw. die ständig von Sensoren oder anderen Überwachungsmechanismen überwacht wird. In diesen Zonen befinden sich beispielsweise kritische Komponenten oder Prozesse einer Maschine, bei denen das Auftreten eines Fehlers oder einer Störung schwerwiegende Konsequenzen haben kann. Die Überwachung dieser Zonen erfolgt durch verschiedene Arten von Sensoren, beispielsweise Temperatur- oder Drucksensoren. Diese messen kontinuierlich die Werte in der Zone und übermitteln sie an das Steuerungssystem der Maschine. Das Steuerungssystem leitet bei Abweichungen von den normalen Werten entsprechende Maßnahmen ein, um potenzielle Probleme zu vermeiden oder zu minimieren.

fbErrorSetCtr* Der Baustein ermöglich das Setzen und Rücksetzen von CMZ's fbErrorSetCtrl*.P_timErrorDelay ermöglicht es einen Fehler zu verzögern, d.h. er muss min. für diese Zeit aktiv sein bevor der Fehler gesetzt wird fbErrorSetCtrl*.P_xAutoReset ermöglicht es einen Fehler sobald er behoben wurde automatisch zu quittieren fbErrorSetCtrl*.M_ErrorSet(xError)hier wird die Variable, der zuvor im Studio definierte CMZ, zugewiesen "NOT GVL_<Sequence_name>_CMZ.xCMZ_1arrow-up-right" fbErrorSetCtrl*.M_ErrorSet(xReset)Globale oder Sequence bezogener Reset des CMZ "GVL_Global.stGlobalIf.xFaultResetarrow-up-right ; GVL_<Sequence_name>_HMI.stHmiIf.xHmiPbFaultResetarrow-up-right" (stHmiSequence)

fbCmzFault Der Baustein überprüft die entsprechenden Arrays ob ein Fehler aufgetreten ist. fbCmzFault(aFaultMatrix) Array der gesamten CMZarrow-up-right (Variablen Deklaration) zusammengefasst fbCmzFault(xFaultActive)Variable für Sammelfehler des CMZ "GVL_<Sequence_name>.stSeqIf.xSeqCmzFaultarrow-up-right" (stSequenceInterface)

Copy

// ########################### SEQUENCE CMZ ###########################
   {region "Description Sequence CMZ"}
   (*
   The Sequence Constantly Monitored Zone (or ‘CMZ’) is similar to the TCMZ but
   will contain only machine unsafe /fatal faults related to the individual step sequence.
   *)
   {endregion}

   // Hardware Zone Fatal Fault (TCMZ)
   fbErrorSetCtrl0.P_xAutoReset := TRUE;
   aCmz[0] := fbErrorSetCtrl0.M_ErrorSet(xError := GVL_HwZone1.stHwzIf.xFatalFault, xReset:= GVL_Global.stGlobalIf.xFaultReset OR GVL_Sequence1_HMI.stHmiIf.xHmiPbFaultReset);

   // Hardware Zone Gate Fortress Fault (TCMZ)
   fbErrorSetCtrl1.P_xAutoReset := TRUE;
   aCmz[1] := fbErrorSetCtrl1.M_ErrorSet(xError := GVL_HwZone1.stHwzIf.xGateFortressFaultTcmz, xReset:= GVL_Global.stGlobalIf.xFaultReset OR GVL_Sequence1_HMI.stHmiIf.xHmiPbFaultReset);

   // CMZ: xCMZ_1 | CMZ 1
   fbErrorSetCtrl2.P_xAutoReset := TRUE;
   fbErrorSetCtrl2.P_timErrorDelay := T#1500MS;
   aCmz[2] := fbErrorSetCtrl2.M_ErrorSet(xError := NOT GVL_Sequence1_CMZ.xCMZ_1, xReset:= GVL_Global.stGlobalIf.xFaultReset OR GVL_Sequence1_HMI.stHmiIf.xHmiPbFaultReset);


   fbCmzFault(aFaultMatrix:= aCmz, xFaultActive => GVL_Sequence1.stSeqIf.xSeqCmzFault);
   GVL_Sequence1.stSeqIf.xNoCMZFault := NOT GVL_Sequence1.stSeqIf.xSeqCmzFault;

Zuletzt aktualisiert

War das hilfreich?