Herunterladen Diese Seite drucken

Beckhoff TS6100 Handbuch Seite 78

Werbung

Technische Einführung
Allgemeine Informationen
Führen Sie die folgenden Schritte einmalig aus, um ein Symbol für Alarms and Conditions freizugeben:
• Schritt 1: Laufzeitsymbol für Datenzugriff aktivieren [} 78] (damit das Symbol generell via OPC UA
zugänglich wird.)
• Schritt 2: A&C für ein Symbol aktivieren [} 78]
• Schritt 3: Eigene Benutzerdaten mit einem Ereignis übermitteln [} 79]
• Schritt 4: Ereignis über die FireEvent-Methode auslösen [} 80]
• Schritt 5: Mehrsprachige Alarmtexte konfigurieren [} 82]
• Schritt 6: A&C bei einem Referenz-OPC-UA-Client anmelden [} 82]
Diese Schritte werden nachfolgend ausführlicher erläutert. Am Ende des Abschnitts finden Sie Informationen
zum Empfang von konfigurierten Alarmen über A&C mit dem UA‑Expert‑Referenz‑Client.
Unterstützte Alarmtypen
Die Implementierung von OPC UA Alarms and Conditions unterstützt derzeit die folgenden Alarmtypen:
• LimitAlarmType: Verschiedene Grenzen für ein Symbol definieren. Wird eine Grenze erreicht, gibt der
UA Server einen Alarm aus.
• OffNormalAlarmType: Einen Wert definieren, der „normal" ist. Wenn der aktuelle Wert vom „normalen"
Wert abweicht, gibt der UA Server einen Alarm aus.
Schritt 1: Laufzeitsymbol für Datenzugriff aktivieren
Damit eine Variable für A&C konfiguriert werden kann, muss diese im OPC UA Server zur Verfügung stehen.
Im Falle einer SPS‑Variablen versehen Sie diese dazu mit einem Attribut (siehe SPS [} 47]).
Schritt 2: A&C für ein Symbol aktivieren
Mit dem OPC-UA-Server-Konfigurator können Sie ein Laufzeitsymbol für A&C konfigurieren. Der
Konfigurator hat eine einfache grafische Bedienoberfläche, um die dahinter stehende XML-Datei zu
bearbeiten. Der Konfigurator steht, je nach Setup-Version, in zwei Varianten zur Verfügung: Standalone und
integriert in das Visual Studio [} 122].
Der folgende Programmausschnitt zeigt ein Beispiel dieser XML-Datei, um das allgemeine Verhalten und
den Aufbau der A&C-Implementierung besser zu verstehen.
<TcUaAcConfig>
  <ConditionController Name="ConditionController1" >
    <Condition Name="Counter" Severity="200">
    <LimitAlarmType LowLowLimit="-10" LowLimit="0" HighLimit="10" HighHighLimit="20"
MessageNormal="100" MessageLowLow="10" MessageLow="11" MessageHigh="12" MessageHighHigh="13"/>
      <ItemToMonitor SamplingRate="100" NS="urn:[NodeName]:BeckhoffAutomation:Ua:PLC1"
NodeId="s=MAIN.nCounter1" />
    </Condition>
    <Condition Name="Switch" Severity="500">
      <OffNormalAlarmType Normal="0" MessageNormal="100" MessageOffNormal="20" />
      <ItemToMonitor SamplingRate="100" NS="urn:[NodeName]:BeckhoffAutomation:Ua:PLC1"
NodeId="s=MAIN.bSwitch" />
    </Condition>
    <Condition Name="Struct" Severity="300">
      <LimitAlarmType LowLowLimit="-10" LowLimit="0" HighLimit="10" HighHighLimit="20"
MessageNormal="100" MessageLowLow="10" MessageLow="11" MessageHigh="12" MessageHighHigh="13"/>
      <ItemToMonitor SamplingRate="100" NS="urn:[NodeName]:BeckhoffAutomation:Ua:PLC1"
NodeId="s=MAIN.stStruct" />
    </Condition>
  </ConditionController>
  <ConditionController Name="ConditionController2" >
    <Condition Name="Counter2" Severity="200">
      <LimitAlarmType LowLowLimit="-10" LowLimit="0" HighLimit="10" HighHighLimit="20"
MessageNormal="100" MessageLowLow="10" MessageLow="11" MessageHigh="12" MessageHighHigh="13"/>
      <ItemToMonitor SamplingRate="100" NS="urn:[NodeName]:BeckhoffAutomation:Ua:PLC1"
NodeId="s=MAIN.nCounter2" />
78
Version: 1.8
TS6100

Werbung

loading