DE102018209023A1 - Verfahren zur konfiguration von alarmen von steuerungssystemen durch verbindung von alarmen mit tags - Google Patents

Verfahren zur konfiguration von alarmen von steuerungssystemen durch verbindung von alarmen mit tags Download PDF

Info

Publication number
DE102018209023A1
DE102018209023A1 DE102018209023.8A DE102018209023A DE102018209023A1 DE 102018209023 A1 DE102018209023 A1 DE 102018209023A1 DE 102018209023 A DE102018209023 A DE 102018209023A DE 102018209023 A1 DE102018209023 A1 DE 102018209023A1
Authority
DE
Germany
Prior art keywords
alarm
control
tag
condition
industrial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018209023.8A
Other languages
English (en)
Inventor
Charles Martin Rischar
Daniel Cernohorsky
Petr Pitrinec
Stephen C. Briant
Douglas Brian Sumerauer
Ho Lan Sabrina Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/983,995 external-priority patent/US10410493B2/en
Application filed by Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of DE102018209023A1 publication Critical patent/DE102018209023A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

Ein Alarmkonfigurationssystem vereinfacht das Alarmmanagement in industriellen Steuerungssystemen, indem es die Skalierbarkeit und die Kapazität von Alarmen verbessert. Ein Steuersystemgerät ermöglicht das Konfigurieren von Alarmen durch Verbindung der Alarmbedingungen mit Steuerungs-Tags oder anderen Komponenten eines Steuersystems. Eigenschaften dieser Alarmbedingungen können sowohl von externen Systemen als auch programmatisch als Erweiterungen des zugehörigen Steuerungs-Tags oder der zugehörigen Komponente referenziert werden. Die Alarmbedingungen werden unabhängig von dem von der Steuerungsvorrichtung ausgeführten Steuerprogramm ausgewertet. Ein Entwicklungssystem ermöglicht die Zuordnung wiederverwendbarer benutzerdefinierter Alarmbedingungen zu ausgewählten Datentypen, sodass die Alarmbedingungen automatisch auf Steuerungs-Tags des ausgewählten Datentyps angewendet werden. Ausgewählte Alarmbedingungen können auch zu Alarmsätzen gruppiert werden, so dass Vorgänge gemeinsam für den Alarmsatz ausgeführt werden können. Das System kann auch Sammelalarmstatistiken für die Alarmbedingungen erstellen, die in einem Alarmsatz enthalten sind.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität von U.S.-Provisional-Anmeldung mit der Nummer 62/516,872 , eingereicht am 8. Juni 2017, mit dem Titel „WERFAHREN ZUR KONFIGURATION VON ALARMEN VON STEUERUNGSSYSTEMEN DURCH VERBINDUNG VON ALARMEN MIT TAGS“, auf deren Inhalt hier Bezug genommen wird.
  • HINTERGRUND
  • Der hierin offenbarte Gegenstand bezieht sich allgemein auf industrielle Steuersysteme und insbesondere auf die Konfiguration von Alarmen in industriellen Steuersystemen
  • KURZE BESCHREIBUNG
  • Das Folgende stellt eine vereinfachte Zusammenfassung dar, um ein grundlegendes Verständnis einiger hierin beschriebener Aspekte bereitzustellen. Diese Zusammenfassung ist kein umfassender Überblick und dient auch nicht dazu, Schlüssel-/kritische Elemente zu identifizieren oder den Umfang der verschiedenen hier beschriebenen Aspekte abzugrenzen. Ihr einziger Zweck besteht darin, einige Konzepte in einer vereinfachten Form als Einleitung zu der detaillierteren Beschreibung, die später präsentiert wird, zu präsentieren.
  • In einer oder mehreren Ausführungsformen wird eine industrielle Steuerungsvorrichtung bereitgestellt, umfassend eine Programmausführungskomponente, die konfiguriert ist, um ein industrielles Steuerprogramm auszuführen; eine Tag-Datenbankkomponente, die konfiguriert ist, Steuerungs-Tags zu halten, die dem industriellen Steuerprogramm zugeordnet sind; und eine Alarmverarbeitungskomponente, die so konfiguriert ist, dass sie als Reaktion auf den Empfang von Alarmkonfigurationsdaten, die eine Alarmbedingung definieren und einen Steuerungs-Tag der Steuerungs-Tags identifizieren, eine Verbindung zwischen der Alarmbedingung und dem Steuerungs-Tag herstellt, wobei die Zuordnung bewirkt, dass die Alarmbedingung eine Funktion eines Werts des Steuerungs-Tags ist,
    die Alarmverarbeitungskomponente ferner dazu konfiguriert ist, in Reaktion auf eine Bestimmung, dass der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, basierend auf der Zuordnung eine Alarmbenachrichtigung zu erzeugen, und auf die Alarmbenachrichtigung durch eine externe Anwendung zugegriffen werden kann.
  • Außerdem stellen eine oder mehrere Ausführungsformen ein Verfahren zum Konfigurieren und Auswerten von industriellen Alarmen bereit, umfassend Empfangen, durch eine industrielle Steuerungsvorrichtung mit einem Prozessor, von Alarmkonfigurationsdaten, die einen Alarmzustand definieren, und Identifizieren eines Steuerungs-Tags eines Satzes von Steuerungs-Tags, die auf der industriellen Steuerungsvorrichtung definiert sind, um mit dem Alarmzustand verbunden zu sein; in Reaktion auf das Empfangen, Erzeugen, durch die industrielle Steuerungsvorrichtung, einer Verbindung zwischen der Alarmbedingung und des Steuerungs-Tags, wobei das Erzeugen der Verbindung bewirkt, dass die Alarmbedingung eine Funktion eines Werts des Steuerungs-Tags ist; und in Reaktion auf Bestimmen, dass der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, Erzeugen, durch die industrielle Steuerungsvorrichtung, einer Alarmbenachrichtigung gemäß der Verbindung, wobei die Alarmbenachrichtigung für eine externe Anwendung zugänglich ist.
  • Gemäß einer oder mehreren Ausführungsformen wird ferner ein nichtflüchtiges computerlesbares Medium bereitgestellt, auf dem Anweisungen gespeichert sind, die als Reaktion auf die Ausführung bewirken, dass ein System Operationen ausführt, wobei die Operationen das Empfangen von Alarmkonfigurationsdaten umfassen, die ein Alarmzustand und Identifizieren eines Steuerungs-Tags eines Satzes von Steuerungs-Tags, die auf der industriellen Steuerungsvorrichtung definiert sind, um mit dem Alarmzustand verbunden zu sein; in Reaktion auf das Empfangen, Erzeugen einer Verbindung zwischen der Alarmbedingung und des Steuerungs-Tags, wobei das Erzeugen der Verbindung bewirkt, dass die Alarmbedingung eine Funktion eines Werts des Steuerungs-Tags ist; und in Reaktion auf Bestimmen, dass der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, Erzeugen einer Alarmbenachrichtigung gemäß der Verbindung, wobei die Alarmbenachrichtigung für eine externe Anwendung zugänglich ist.
  • Um die vorstehenden und damit verbundenen Ziele zu erreichen, werden hierin bestimmte veranschaulichende Aspekte in Verbindung mit der folgenden Beschreibung und den beigefügten Zeichnungen beschrieben. Diese Aspekte weisen auf verschiedene Wege hin, die praktiziert werden können und die alle hierin behandelt werden sollen. Andere Vorteile und neuartige Merkmale können aus der folgenden detaillierten Beschreibung in Verbindung mit den Zeichnungen ersichtlich werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer beispielhaften industriellen Steuerumgebung.
    • 2 ist ein Diagramm, das eine allgemeine Beziehung zwischen einer industriellen Steuerung und einer HMI darstellt.
    • 3 ist ein verallgemeinertes Diagramm, das Komponenten eines beispielhaften HMI-Projekts darstellt, das auf einem HMI-Endgerät ausgeführt wird und mit einer industriellen Steuerung verbunden ist.
    • 4 ist ein Blockdiagramm einer beispielhaften industriellen Steuerungsvorrichtung.
    • 5 ist ein Blockdiagramm eines beispielhaften Steuerprogrammentwicklungssystems, das verwendet werden kann, um Alarmzustände und Alarmsätze mit Steuerungs-Tags zu verknüpfen.
    • 6 ist ein Diagramm, das den Aufbau einer industriellen Steuerungsvorrichtung unter Verwendung eines Steuerprogrammentwicklungssystems einschließlich der Konfiguration von Alarmbedingungen und Alarmsätzen darstellt.
    • 7 ist ein Diagramm, das die Beziehung zwischen Steuerungs-Tags, die in einer Tag-Datenbank definiert sind, und Alarmbedingungen, die für eine Steuervorrichtung definiert sind, darstellt.
    • 8 ist ein Diagramm, das eine Beziehung zwischen Alarmzuständen und Alarmsätzen darstellt.
    • 9 ist ein Diagramm, das den Betrieb einer industriellen Steuerungsvorrichtung während der Laufzeit zeigt, nachdem die Vorrichtung konfiguriert wurde, um Alarmzustände mit Steuerungs-Tags zu verknüpfen.
    • 10 ist ein beispielhafter Leiterlogik-Anweisung, die verwendet werden kann, um eine obere Grenze für Steuervorrichtungen zu modifizieren, die unter Verwendung der Kontaktplanlogik programmiert sind.
    • 11 ist ein Diagramm, das die Anwendung einer Gruppenalarmoperation auf einen beispielhaften Alarmsatz darstellt.
    • 12 ein Diagramm, das die Erzeugung von Rollup-Informationen für einen Alarmsatz darstellt.
    • 13A ist eine beispielhafte Alarmkonfigurationsanzeige, die von einer Programmentwicklungskomponente erzeugt und zum Definieren einer Alarmkonfiguration verwendet werden kann.
    • 13B ist ein Screenshot eines Teils einer beispielhaften Tag-Definitionsanzeige, die von einer Programmentwicklungskomponente erzeugt und zum Erzeugen von Tags in Verbindung mit der Entwicklung eines Steuerprogramms verwendet werden kann.
    • 13C ist ein Screenshot eines Teils einer beispielhaften Alarmverbindungsanzeige, die von einer Programmentwicklungskomponente erzeugt werden kann.
    • 14 ist ein Flussdiagramm einer beispielhaften Methodik zum Konfigurieren und Verarbeiten von Alarmbedingungen innerhalb eines industriellen Steuerungsprojekts.
    • 15 ist ein Flussdiagramm einer beispielhaften Methodik zum Konfigurieren und Verarbeiten von Alarmsätzen in einem industriellen Steuerungsprojekt.
    • 16 ist ein Flussdiagramm einer beispielhaften Methodologie zum Konfigurieren und Verarbeiten von Alarmsätzen, um Alarmrollup-Informationen für eine ausgewählte Gruppe von Alarmbedingungen zu erzeugen.
    • 17 ist ein Flussdiagramm einer beispielhaften Methodologie zum Konfigurieren von Alarmzustandseigenschaften als Erweiterungen von Steuerungs-Tags, auf die durch Steuerprogrammanweisungen programmgesteuert zugegriffen werden kann.
    • 18 ist eine beispielhafte Computerumgebung.
    • 19 ist eine beispielhafte Netzwerkumgebung.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Offenbarung wird nun unter Bezugnahme auf die Zeichnungen beschrieben, in denen gleiche Bezugszeichen verwendet werden, um sich durchgehend auf gleiche Elemente zu beziehen. In der folgenden Beschreibung werden zum Zwecke der Erläuterung zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis davon zu liefern. Es kann jedoch offensichtlich sein, dass die vorliegende Offenbarung ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen sind gut bekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine Beschreibung davon zu erleichtern.
  • Wie in dieser Anmeldung verwendet, sollen die Begriffe „Komponente“, „System“, „Plattform“, „Ebene“, „Steuerung“, „Endgerät“, „Station“, „Knoten“, „Schnittstelle“ sich auf eine computerbezogene Entität oder eine damit zusammenhängende Entität zu einer Betriebsvorrichtung mit einer oder mehreren spezifischen Funktionalitäten beziehen, oder die ein Teil davon ist, wobei solche Einheiten entweder Hardware, eine Kombination aus Hardware und Software, Software oder Software in Ausführung sein können. Zum Beispiel kann eine Komponente ein Prozess sein, ist jedoch nicht darauf beschränkt, der auf einem Prozessor, einem Prozessor, einem Festplattenlaufwerk, mehreren Speicherlaufwerken (eines optischen oder magnetischen Speichermediums) einschließlich befestigter (z.B. verschraubter oder geschraubter) Laufwerke läuft, oder entfernbar befestigte Halbleiterspeicherlaufwerke; ein Objekt; eine ausführbare Datei; ein Thread der Ausführung; ein computerausführbares Programm und/oder ein Computer. Zur Veranschaulichung können sowohl eine Anwendung, die auf einem Server läuft, als auch der Server eine Komponente sein. Eine oder mehrere Komponenten können sich innerhalb eines Prozesses und/oder Ausführungs-Threads befinden, und eine Komponente kann auf einem Computer lokalisiert und/oder zwischen zwei oder mehr Computern verteilt sein. Komponenten, wie sie hier beschrieben sind, können auch von verschiedenen computerlesbaren Speichermedien mit verschiedenen darauf gespeicherten Datenstrukturen ausgeführt werden. Die Komponenten können über lokale und/oder entfernte Prozesse kommunizieren, wie beispielsweise in Übereinstimmung mit einem Signal mit einem oder mehreren Datenpaketen (z.B. Daten) von einer Komponente, die mit einer anderen Komponente in einem lokalen System, einem verteilten System und/oder über ein Netzwerk wie das Internet mit anderen Systemen über das Signal interagiert. Als ein weiteres Beispiel kann eine Komponente eine Vorrichtung mit spezifischer Funktionalität sein, die durch mechanische Teile bereitgestellt wird, die durch elektrische oder elektronische Schaltungen betrieben werden, die durch eine Software oder eine Firmware-Anwendung eines Prozessors betrieben werden, wobei der Prozessor innerhalb oder außerhalb der Vorrichtung angeordnet sein kann führt mindestens einen Teil der Software- oder Firmware-Anwendung aus. Als ein weiteres Beispiel kann eine Komponente eine Vorrichtung sein, die spezifische Funktionalität durch elektronische Komponenten ohne mechanische Teile bereitstellt, wobei die elektronischen Komponenten einen Prozessor enthalten können, um Software oder Firmware auszuführen, die zumindest teilweise die Funktionalität der elektronischen Komponenten bereitstellt. Als noch ein weiteres Beispiel können die Schnittstelle(n) Eingabe-/Ausgabe- (E/A) -Komponenten sowie zugehörige Prozessor-, Anwendungs- oder Anwendungsprogrammierschnittstellenkomponenten (API-Komponenten) umfassen. Während die vorhergehenden Beispiele auf Aspekte einer Komponente gerichtet sind, gelten die beispielhaften Aspekte oder Merkmale auch für ein System, eine Plattform, eine Schnittstelle, eine Schicht, eine Steuerung, ein Endgerät und dergleichen.
  • Wie hier verwendet, beziehen sich die Begriffe „ableiten“ und „schlussfolgern“ allgemein auf den Prozess des Schließens oder Ableitens von Zuständen des Systems, der Umgebung und/oder des Benutzers aus einer Reihe von Beobachtungen, die über Ereignisse und/oder Daten erfasst werden. Inferenz kann verwendet werden, um einen spezifischen Kontext oder eine Aktion zu identifizieren, oder kann zum Beispiel eine Wahrscheinlichkeitsverteilung über Zustände erzeugen. Die Inferenz kann probabilistisch sein, d.h. die Berechnung einer Wahrscheinlichkeitsverteilung über interessierende Zustände basierend auf einer Betrachtung von Daten und Ereignissen. Inferenz kann sich auch auf Techniken beziehen, die zum Erstellen von Ereignissen höherer Ebene aus einem Satz von Ereignissen und/oder Daten verwendet werden. Eine solche Folgerung führt zur Konstruktion neuer Ereignisse oder Aktionen aus einer Menge von beobachteten Ereignissen und/oder gespeicherten Ereignisdaten, unabhängig davon, ob die Ereignisse in enger zeitlicher Nähe korrelieren oder nicht, und ob die Ereignisse und Daten aus einer oder mehreren Ereignis- und Datenquellen stammen.
  • Außerdem soll der Ausdruck „oder“ ein integrierendes „oder“ anstatt eines exklusiven „oder“ Bedeuten. Das heißt, wenn nicht anders angegeben oder aus dem Kontext klar ist, soll die Phrase „X verwendet A oder B“ bedeutend, dass irgendeine inklusive Permutationen benutzt wird. Das heißt, die Phrase „X verwendet A oder B“ wird von einer der folgenden Instanzen erfüllt: X verwendet A; X verwendet B; oder X verwendet sowohl A als auch B. Außerdem sollten die in dieser Anmeldung und den anhängenden Ansprüchen verwendeten Artikel „ein oder mehrere“ allgemein so aufgefasst werden, dass sie, sofern nicht anders angegeben oder aus dem Zusammenhang heraus klar, dass sie auf eine singuläre Form gerichtet sind, „eins oder mehr“ bedeuten.
  • Darüber hinaus schließt der Begriff „Satz“, wie er hier verwendet wird, den leeren Satz aus; z.B. die Menge ohne Elemente darin. Somit umfasst ein „Satz“ in der vorliegenden Offenbarung ein oder mehrere Elemente oder Entitäten. Zur Veranschaulichung enthält ein Satz von Controllern eine oder mehrere Steuerungen; ein Satz von Datenressourcen umfasst eine oder mehrere Datenressourcen; etc. In ähnlicher Weise bezieht sich der Ausdruck „Gruppe“, wie er hier verwendet wird, auf eine Sammlung von einer oder mehreren Einheiten; z.B. bezieht sich eine Gruppe von Knoten auf einen oder mehrere Knoten.
  • Verschiedene Aspekte oder Merkmale werden in Bezug auf Systeme präsentiert, die eine Anzahl von Vorrichtungen, Komponenten, Modulen und dergleichen umfassen können. Es ist zu verstehen und zu würdigen, dass die verschiedenen Systeme zusätzliche Vorrichtungen, Komponenten, Module usw. enthalten können und/oder nicht alle der in Verbindung mit den Figuren diskutierten Vorrichtungen, Komponenten, Module usw. umfassen müssen. Eine Kombination dieser Ansätze kann ebenfalls verwendet werden.
  • Industrielle Steuerungen und ihre zugehörigen E/A-Vorrichtungen sind für den Betrieb moderner Automatisierungssysteme von zentraler Bedeutung. Diese Steuerungen interagieren mit Feldgeräten in der Fertigungshalle, um automatisierte Prozesse in Bezug auf solche Ziele wie Produktherstellung, Materialhandhabung, Stapelverarbeitung, Überwachungssteuerung und andere derartige Anwendungen zu steuern. Industrielle Steuerungen speichern und führen benutzerdefinierte Steuerprogramme aus, um eine Entscheidung in Verbindung mit dem gesteuerten Prozess zu treffen. Solche Programme können Leiterlogik, sequentielle Funktionsdiagramme, Funktionsblockdiagramme, strukturierten Text oder andere derartige Plattformen umfassen, sind aber nicht darauf beschränkt.
  • 1 ist ein Blockdiagramm einer beispielhaften industriellen Steuerumgebung 100. In diesem Beispiel wird eine Anzahl industrieller Steuerungen 118 in einer industriellen Anlagenumgebung eingesetzt, um jeweilige industrielle Systeme oder Prozesse zu überwachen und zu steuern, die sich auf Produktherstellung, Bearbeitung, Bewegungssteuerung, Stapelverarbeitung, Materialhandhabung oder andere derartige industrielle Funktionen beziehen. Industrielle Steuerungen 118 führen typischerweise entsprechende Steuerprogramme aus, um die Überwachung und Steuerung von industriellen Vorrichtungen 120 zu erleichtern, die die gesteuerten industriellen Systeme bilden. Ein oder mehrere industrielle Steuerungen 118 können auch einen Soft-Controller umfassen, der auf einem Personal Computer oder einer anderen Hardware-Plattform oder auf einer Cloud-Plattform ausgeführt wird. Einige Hybridgeräte können auch Controller-Funktionalität mit anderen Funktionen (z.B. Visualisierung) kombinieren. Die durch industrielle Steuerungen 118 ausgeführten Steuerprogramme können jede denkbare Art von Code umfassen, der zum Verarbeiten von den industriellen Vorrichtungen 120 gelesenen Eingangssignalen und zum Steuern der von den industriellen Steuerungen erzeugten Ausgangssignale verwendet wird, einschließlich Leiterlogik, Ablaufdiagramme, Funktions-Blockdiagramme oder strukturierter Text. Diese Steuerprogramme werden typischerweise von einem Designer unter Verwendung einer geeigneten Controller-Konfigurationsanwendung entwickelt und unter Verwendung einer Client-Vorrichtung 124 auf die Steuerung heruntergeladen.
  • Industrielle Vorrichtungen 120 können sowohl Eingangsvorrichtungen, die den industriellen Steuerungen 118 Daten in Bezug auf die gesteuerten industriellen Systeme bereitstellen, als auch Ausgangsvorrichtungen umfassen, die auf Steuersignale reagieren, die von den industriellen Steuerungen 118 erzeugt werden, um Aspekte der industriellen Systeme zu steuern. Beispielhafte Eingabevorrichtungen können Telemetrievorrichtungen (z.B. Temperatursensoren, Durchflussmesser, Pegelsensoren, Drucksensoren usw.), manuelle Bedienvorrichtungen (z.B. Drucktasten, Wahlschalter usw.), Sicherheitsüberwachungsvorrichtungen (z.B. Matten, Sicherheitszugschnüre, Lichtvorhänge usw.) und andere derartige Vorrichtungen umfassen. Ausgabevorrichtungen können Motorantriebe, pneumatische Aktuatoren, Signalvorrichtungen, Robotersteuereingänge, Ventile und dergleichen umfassen.
  • Industrielle Steuerungen 118 können kommunikativ mit industriellen Vorrichtungen 120 über festverdrahtete oder vernetzte Verbindungen kommunizieren. Zum Beispiel können industrielle Steuerungen 118 mit nativen fest verdrahteten Eingängen und Ausgängen ausgestattet sein, die mit den industriellen Vorrichtungen 120 kommunizieren, um die Steuerung der Vorrichtungen zu bewirken. Die native Steuerungs-E/A kann digitale E/A umfassen, die diskrete Spannungssignale zu und von den Feldgeräten senden oder empfangen, oder analoge E/A, die analoge Spannungs- oder Stromsignale zu und von den Geräten senden und empfangen. Die Steuerungs-E/A kann über eine Rückwandplatine mit einem Controller-Prozessor kommunizieren, so dass die digitalen und analogen Signale in die Steuerungsprogramme eingelesen und von diesen gesteuert werden können. Industrielle Steuerungen 118 können auch mit industriellen Geräten 120 über ein Netzwerk kommunizieren, beispielsweise unter Verwendung eines Kommunikationsmoduls oder eines integrierten Netzwerkanschlusses. Beispielhafte Netzwerke können das Internet, Intranets, Ethernet, DeviceNet, ControlNet, Data Highway und Data Highway Plus (DH/DH +), Remote I/O, Fieldbus, Modbus, Profibus, drahtlose Netzwerke, serielle Protokolle und dergleichen umfassen. Die industriellen Steuerungen 118 können auch dauerhafte Datenwerte speichern, auf die das Steuerprogramm Bezug nehmen und die für Steuerentscheidungen verwendet werden können, einschließlich, aber nicht beschränkt auf gemessene oder berechnete Werte, die Betriebszustände einer gesteuerten Maschine oder eines gesteuerten Prozesses darstellen (z.B. Alarme usw.) oder erfasste Zeitreihendaten, die während des Betriebs des Automatisierungssystems gesammelt werden (z.B. Statusinformationen für mehrere Zeitpunkte, Diagnosevorkommnisse usw.). Ebenso können einige intelligente Vorrichtungen - einschließlich, aber nicht beschränkt auf Motorantriebe, Instrumente oder Zustandsüberwachungsmodule - Datenwerte speichern, die zur Steuerung und/oder zur Visualisierung von Betriebszuständen verwendet werden. Solche Vorrichtungen können auch Zeitreihendaten oder Ereignisse in einem Protokoll erfassen, um sie später wieder abzurufen und anzuzeigen.
  • Industrielle Automatisierungssysteme enthalten häufig eine oder mehrere Mensch-Maschine-Schnittstellen (HMIs) 114, die es dem Personal ermöglichen, Telemetrie- und Statusdaten, die mit den Automatisierungssystemen verbunden sind, zu betrachten und einige Aspekte des Systembetriebs zu steuern. 2 ist ein Diagramm, das eine allgemeine Beziehung zwischen einer industriellen Steuerung 118 und einer HMI 114 zeigt. In einer beispielhaften Architektur kann ein HMI 114 mit einer oder mehreren industriellen Steuerungen 118 über ein Fabriknetzwerk 116 (oder über eine direkte Verbindung) kommunizieren und Daten mit den industriellen Steuerungen austauschen, um die Visualisierung von Informationen in Bezug auf die gesteuerten industriellen Prozesse auf einem oder mehreren vorentwickelten Benutzeroberflächenbildschirmen zu erleichtern. Zu diesem Zweck kann die HMI 114 konfiguriert sein, um Steuerungs-Tag-Daten 206 aus der Tag-Datenbank der industriellen Steuerung zu lesen, wobei die Steuerungs-Tag-Daten 206 analoge und digitale Werte darstellen, die mit Daten-Tags assoziiert sind, die als Teil der Konfiguration der Steuerung definiert sind. Steuerungs-Tag-Daten 206 können Daten enthalten, die E/A-Tags zugeordnet sind, die aktuelle Werte der digitalen und analogen Ein- und Ausgänge der Steuerung sowie Daten repräsentieren, die benutzerdefinierten Tags zugeordnet sind, die gemäß dem Steuerprogramm 204 aktualisiert werden. Steuerungs-Tag-Daten 206 können auch Diagnosedaten enthalten, die von systemdefinierten Diagnose-Tags gelesen werden, die durch die eigenen Diagnose-Routinen der Steuerung aktualisiert werden. Die HMIs 114 können auch konfiguriert sein, um Betreibern zu erlauben, Daten 208 an spezifizierte Datenmarkierungen oder Speicheradressen der industriellen Steuerungen 118 zu senden, wodurch eine Einrichtung für Bediener bereitgestellt wird, um Befehle an die gesteuerten Systeme auszugeben (z.B. Zyklusstartbefehle, Gerätebetätigungsbefehle usw.), um Sollwerte usw. zu ändern.
  • HMIs114 können einen oder mehrere Anzeigebildschirme erzeugen, über die der Bediener mit den industriellen Steuerungen 118 und damit mit den gesteuerten Prozessen und/oder Systemen interagiert. Die Anzeigebildschirme können gegenwärtige Zustände von industriellen Systemen oder ihren zugeordneten Vorrichtungen unter Verwendung von graphischen Objekten visualisieren, die gemessene oder berechnete Werte anzeigen, Farb- oder Positionsanimationen basierend auf dem Zustand verwenden, Alarmbenachrichtigungen ausgeben oder andere Techniken zum Präsentieren relevanter Daten für den Bediener verwenden. Auf diese Weise dargestellte Daten werden von den HMIs 114 von den HMIs 114 als Steuerungs-Tag-Daten 206 gelesen und auf einem oder mehreren der Anzeigebildschirme gemäß von dem HMI-Entwickler ausgewählten Anzeigeformaten präsentiert. HMIs 114 können feste oder mobile Vorrichtungen umfassen, die entweder vom Benutzer installierte oder vorinstallierte Betriebssysteme und entweder vom Benutzer installierte oder vorinstallierte grafische Anwendungssoftware ausführen.
  • Zusätzlich zum Bereitstellen von Betriebs- und Statusinformationen sind HMIs typischerweise konfiguriert zum Erzeugen und Anzeigen von Alarmbenachrichtigungen 210 als Reaktion auf eine erkannte Störung oder Störung innerhalb des gesteuerten Systems, der Maschine oder des Prozesses. Diese Alarme werden normalerweise in der Projektdatei des HMI oder auf einem externen Server konfiguriert. 3 ist ein verallgemeinertes Diagramm, das Komponenten eines beispielhaften HMI-Projekts darstellt, das auf einem HMI-Endgerät 302 ausgeführt wird und mit einer industriellen Steuerung 118 verbunden ist. Der gesteuerte industrielle Prozess 320 kann jeden industriellen Prozess, jede Maschine oder jedes System darstellen, das von der industriellen Steuerung 118 überwacht und gesteuert wird (über industrielle Vorrichtungen 120). Die industrielle Steuerung 118 umfasst ein oder mehrere E/A-Module 318, die die festverdrahtete oder vernetzte Konnektivität zu der gesteuerten Ausrüstung und den Telemetrievorrichtungen bereitstellen, die den gesteuerten industriellen Prozess 320 bilden. Diese E/A-Module 318 können beispielsweise digitale und/oder analoge Eingabemodule, digitale und / oder analoge Ausgabemodule, Netzwerkmodule oder dergleichen umfassen. Steuerungs-Tag-Datenbank 316, die auf dem Speicher der Steuerung konfiguriert ist, kann aktuelle analoge und digitale Werte der verschiedenen Eingaben und Ausgaben speichern, die von den E/A-Modulen 318 gelesen oder geschrieben werden. Das heißt, Datenwerte, die von Feldgeräten durch E/A-Module 318 (z.B. analoge oder digitale Eingabemodule) gelesen werden, werden in die Steuerungs-Tag-Datenbank 316 geschrieben. Diese Eingabewerte können dann von dem Steuerprogramm 204 gelesen werden, das seine Steuervariablen entsprechend aktualisiert. In ähnlicher Weise werden durch das Steuerprogramm 204 erzeugte Ausgabewerte in die Steuerungs-Tag-Datenbank 316 geschrieben, wodurch bewirkt wird, dass entsprechende Ausgabedatensignale durch analoge oder digitale Ausgabemodule der E/A-Module 318 erzeugt werden.
  • Das Steuerprogramm 204 kann auch Werte von benutzerdefinierten Steuerungs-Tags aktualisieren, die in der Steuerungs-Tag-Datenbank 316 definiert sind, einschließlich, aber nicht beschränkt auf interne Programmvariablen oder Bits, Sollwerte, berechnete Werte oder berechnete Statusbits oder andere derartige Daten.
  • Im Allgemeinen sind Steuerungs-Tags Datenstrukturen, die auf ein Datenelement oder einen Speicherort innerhalb der Steuerung 118 verweisen (z.B. einen Eingabewert, einen Ausgabewert oder ein internes Datenregister). Ein Steuerungs-Tags kann so konfiguriert sein, dass es eine Instanz eines spezifizierten Datentyps ist, wie z.B. binär, Gleitkomma, Integer, doppelte ganze Zahl, String usw. Diese Steuerungs-Tags werden typischerweise während der Konfiguration und Programmierung der Steuerung 118 definiert.
  • Die HMI 114 umfasst eine HMI-Terminalvorrichtung 302, die eine HMI-Projektdatei 304 ausführt. Die HMI-Projektdatei 304 definiert die Anzeigebildschirme 306 und Konfigurationseinstellungen für die HMI (z.B. Kommunikationsparameter für die Kommunikation mit der Steuerung 118, Anzeigepräferenzen usw.). Jeder der Anzeigebildschirme 306 hostet statische und/oder dynamische Inhalte, die Werte von ausgewählten Steuerungs-Tags, die Zustände des gesteuerten Prozesses 320 darstellen, in Text- oder graphischem Format rendern. Einer oder mehrere der definierten Anzeigebildschirme 306 können auch interaktive Objekte enthalten, die es einem Bediener erlauben, einen Wert einzugeben, der in einen ausgewählten der Steuerungs-Tags geschrieben werden soll, oder ein Bit innerhalb der Steuerung 118 zu setzen/zurückzusetzen (z.B. einen Start auszulösen) oder den Befehl an eine Vorrichtung über das Steuerprogramm stoppen).
  • Die HMI-Projektdatei 304 enthält auch eine Alarmdatenbank 308, die eine oder mehrere Bedingungen definiert, die eine Alarmanzeige auf der HMI 114 auslösen. Die Alarmdatenbank 308 definiert jede abnormale Bedingung, für die eine Alarmmeldung erzeugt werden soll, sowie die industrielle Steuerungsmarkierung (oder die Kombination von Markierungen), die die EIN- und AUS-Zustände jedes Alarms steuert. Gemäß dieser Konfiguration wird die Bewertung jedes Alarmzustands durch die HMI 114 oder einen externen Server auf der Grundlage von Statusinformationen durchgeführt, die aus der Steuerungs-Tag-Datenbank 316 (z.B. über das Netzwerk 116) gelesen werden. Da Alarme über die HMI 114 oder einen externen Server angezeigt und verwaltet werden, ist es schwierig, Alarme von der Steuerungsanwendung selbst zu unterdrücken.
  • In anderen beispielhaften Alarmkonfigurationen können Alarmbefehle als Teil des Steuerprogramms 204 programmiert werden, das auf der industriellen Steuerung 118 ausgeführt wird, und die Alarmerfassungsverarbeitung kann an der industriellen Steuerung 118 anstatt an der HMI 114 durchgeführt werden. Diese Technik beseitigt die Notwendigkeit, dass die HMI 114 Steuerungs-Tag-Daten von der industriellen Steuerung 118 liest, und kann zuverlässiger sein als die Auswertung von Alarmbedingungen in der HMI 114. Das Konfigurieren von Alarmen innerhalb der Steueranwendung, die auf der industriellen Steuerung 118 ausgeführt wird, kann jedoch die Ausführung des Steuerprogramms 204 als Folge der zusätzlichen Verarbeitungsressourcen, die zum Verarbeiten der Alarme benötigt werden, nachteilig beeinflussen, wodurch die Echtzeitsteuerungslatenz nachteilig beeinflusst wird. Um Alarmbedingungen unter Verwendung dieses Ansatzes hinzuzufügen oder zu entfernen, muss der Benutzer das Steuerprogramm 204 editieren, entweder durch Modifizieren des Steuerprogramms offline und Herunterladen des modifizierten Programms zu der industriellen Steuerung 118 oder durch Verbinden mit der industriellen Steuerung 118 unter Verwendung von einer Konfigurationsanwendung und Modifizieren des Steuerprogramms 204 online.
  • Um diese und andere Probleme anzugehen, stellen verschiedene hierin beschriebene Ausführungsformen Systeme und Verfahren bereit, die das Alarmmanagement in industriellen Steuersystemen vereinfachen. Diese Systeme und Verfahren können auch die Skalierbarkeit und die Kapazität von Alarmen in Steuersystemen verbessern. In einer oder mehreren Ausführungsformen ermöglicht eine Steuersystemvorrichtung (z.B. eine industrielle Steuerung 118 oder eine andere Steuervorrichtung), dass Steuersystemalarmzustände definiert und Steuerungs-Tags oder anderen Komponenten des überwachten Steuersystems zugeordnet werden. Alarmbedingungen, die mit Steuerungs-Tags oder Komponenten assoziiert sind, können von externen Systemen (z.B. HMIs, Programmentwicklungsanwendungen oder anderen externen Systemen) als Erweiterungen ihres zugehörigen Steuerungs-Tags oder der zugehörigen Komponente referenziert werden. Diese Technik kann die Verwaltung von Alarmen während der Inbetriebnahme und des Betriebs der Steuerausrüstung vereinfachen. Zum Beispiel ermöglicht diese Technik, dass zusätzliche Alarme hinzugefügt und konfiguriert werden oder dass Alarme nicht mehr gelöscht werden müssen, ohne dass das industrielle Steuerprogramm 204 oder eine andere Steueranwendung bearbeitet werden muss. Da die Alarmbedingungen nicht als direkter Teil des Steuerprogramms 204 programmiert sind, das von der industriellen Steuerung 118 ausgeführt wird, werden Alarmbedingungen unabhängig von der Steuerungsanwendung ausgewertet (z.B. in einem separaten Ausführungsstrang relativ zu der Steueranwendung) und beeinträchtigen daher nicht die Leistung der Echtzeitsteuerung.
  • 4 ist ein Blockdiagramm einer beispielhaften industriellen Steuerungsvorrichtung 402 gemäß einer oder mehreren Ausführungsformen dieser Offenbarung. Aspekte der Systeme, Vorrichtungen oder Prozesse, die in dieser Offenbarung erläutert werden, können maschinenausführbare Komponenten darstellen, die in einer oder mehreren Maschinen verkörpert sind, z.B. in einem oder mehreren computerlesbaren Medien (oder Medien), die einer oder mehreren Maschinen zugeordnet sind. Solche Komponenten können, wenn sie von einer oder mehreren Maschinen ausgeführt werden, z.B. Computer, Computervorrichtung(en), Automatisierungsvorrichtung(en), virtuelle Maschine(n) usw., die Maschine(n) veranlassen, die beschriebenen Operationen durchzuführen. Die industrielle Steuervorrichtung 402 kann zum Beispiel eine industrielle Steuerung wie etwa eine PLC, ein Motorantrieb oder eine andere Art von Steuersystemvorrichtung sein.
  • Die industrielle Steuerungsvorrichtung 402 kann eine Tag-Datenbankkomponente 404, eine Programmausführungskomponente 406, eine Alarmverarbeitungskomponente 408, einen oder mehrere Prozessoren 416 und einen Speicher 418 enthalten. In verschiedenen Ausführungsformen können eine oder mehrere der Tag-Datenbankkomponenten 404, Programmausführungskomponenten 406, Alarmverarbeitungskomponenten 408, der eine oder die mehreren Prozessoren 416 und der Speicher 418 elektrisch und/oder kommunikativ miteinander gekoppelt sein, um eines oder mehrere der Funktionen der Steuervorrichtung 402 auszuführen. In einigen Ausführungsformen können die Komponenten 404, 406 und 408 Softwareanweisungen umfassen, die in dem Speicher 418 gespeichert sind und von dem/den Prozessor(en) 416 ausgeführt werden. Steuerungsvorrichtung 402 kann auch mit anderen Hardware- und/oder Softwarekomponenten interagieren, die in 4 nicht dargestellt sind. Zum Beispiel können der/die Prozessor(en) 416 mit einer oder mehreren externen Benutzerschnittstellenvorrichtungen wie etwa einer Tastatur, einer Maus, einem Anzeigemonitor, einem Touchscreen oder anderen derartigen Schnittstellenvorrichtungen interagieren.
  • Die Tag-Datenbankkomponente 404 kann konfiguriert sein, um eine Datenbank von Steuerungs-Tags zu halten, die mit der Steuerungsvorrichtung 402 assoziiert sind und zum Speichern oder Adressieren von Datenelementen in Verbindung mit der Überwachung und Steuerung einer industriellen Maschine, eines Systems oder Prozesses verwendet werden. Die Steuerungs-Tags können Tags umfassen, die verschiedenen Datentypen entsprechen, einschließlich, aber nicht beschränkt auf, analoge Daten-Tags (z.B. ganzzahlige, reale oder doppelte Daten-Tags), digitale Daten-Tags, String-Daten-Tags oder andere solche Tags. Einige Steuerungs-Tags sind konfiguriert, um Datenwerte zu speichern, die entsprechenden analogen oder digitalen Eingängen oder Ausgängen der Steuerungsvorrichtung 402 entsprechen. Andere Steuerungs-Tags können konfiguriert sein, um Datenwerte zu speichern, die intern erzeugt und von dem Steuerprogramm verwendet werden, das von der Steuerungsvorrichtung 402 ausgeführt wird. Steuerungs-Tags können der Tag-Datenbank hinzugefügt werden und von einem Benutzer unter Verwendung einer geeigneten Konfigurationsanwendung konfiguriert werden, die eine Schnittstelle mit der Steuervorrichtung 402 bildet.
  • Die Programmausführungskomponente 406 kann konfiguriert sein, um ein benutzerdefiniertes Steuerprogramm (z.B. das Steuerprogramm 204) auszuführen, das zum Überwachen und Steuern eines industriellen Systems, einer Maschine oder eines Prozesses über die E/A der Steuervorrichtung (z.B. E/A-Module oder native fest verdrahtete Ein- und Ausgänge) ausgelegt ist. Alarmverarbeitungskomponente 408 kann konfiguriert sein, um Alarmbenachrichtigungen für Alarmzustände zu erzeugen, die ausgewählten Steuerungs-Tags, Datentypen oder anderen Steuerobjekten zugeordnet sind. Der eine oder die mehreren Prozessoren 416 können eine oder mehrere der hierin beschriebenen Funktionen mit Bezug auf die offenbarten Systeme und/oder Verfahren ausführen. Der Speicher 418 kann ein computerlesbares Speichermedium sein, das computerausführbare Anweisungen und/oder Informationen zum Ausführen der hierin beschriebenen Funktionen unter Bezugnahme auf die offenbarten Systeme und/oder Verfahren speichert.
  • 5 ist ein Blockdiagramm eines beispielhaften Steuerprogrammentwicklungssystems 502, das verwendet werden kann, um Alarmbedingungen und Alarmsätze mit Steuerungs-Tags gemäß einer oder mehreren Ausführungsformen dieser Offenbarung zu verknüpfen. Steuerprogrammentwicklungssystem 502 kann eine Programmentwicklungskomponente 504, eine Alarmausführungskomponente 506, eine Steuerungsvorrichtungschnittstellenkomponente 508, einen oder mehrere Prozessoren 516 und einen Speicher 518 enthalten. In verschiedenen Ausführungsformen können eine oder mehrere der Programmentwicklungskomponenten 504, Alarmausführungskomponente 506, Steuerungsvorrichtungschnittstellenkomponenten 508, der eine oder die mehreren Prozessoren 516 und der Speicher 518 elektrisch und/oder kommunikativ miteinander gekoppelt sein, um eine oder mehrere der Funktionen des Steuerprogrammentwicklungssystems 502 auszuführen. In einigen Ausführungsformen können die Komponenten 504, 506 und 508 Softwareanweisungen umfassen, die im Speicher 518 gespeichert sind und von einem oder mehreren Prozessoren 516 ausgeführt werden. Steuerprogrammentwicklungssystem 502 kann auch mit anderen Hardware- und/oder Softwarekomponenten interagieren, die in 5 nicht dargestellt sind. Zum Beispiel können der/die Prozessor(en) 516 mit einer oder mehreren externen Benutzerschnittstellenvorrichtungen wie etwa einer Tastatur, einer Maus, einem Anzeigemonitor, einem Touchscreen oder anderen derartigen Schnittstellenvorrichtungen interagieren.
  • Die Programmentwicklungskomponente 504 kann so konfiguriert sein, dass sie ein Steuerungsprogramm zur Ausführung in einer industriellen Steuerungsvorrichtung (z.B. die industrielle Steuerungsvorrichtung 402, die eine industrielle Steuerung wie eine PLC oder eine andere Art von industrieller Steuerungsvorrichtung sein kann) basierend auf einer von einem Benutzer bereitgestellten Programmierungseingabe (z.B. ein Kontaktplanlogikprogramm, eine sequenzielle Funktionsdiagrammeingabe usw.) erzeugt. Alarmkonfigurationskomponente 506 kann konfiguriert sein, um Alarmkonfigurationsdaten zu erzeugen, die während der Entwicklung des Steuerprogramms dem Steuerprogramm zuzuordnen sind. Die Alarmkonfigurationskomponente 506 kann diese Alarmkonfigurationsdaten gemäß einer Benutzereingabe erzeugen, die benutzerdefinierte Alarmbedingungen spezifiziert, oder kann einige oder alle dieser Alarmkonfigurationsdaten basierend auf dem Inhalt des Steuerprogramms, den für die Steuervorrichtung 402 definierten Steuerungs-Tags oder einer Organisationshierarchie des Steuerprogramms automatisch erzeugen. Die Steuerungsvorrichtungschnittstellenkomponente 508 kann konfiguriert sein, um eine Kommunikation mit der Steuerungsvorrichtung 402 herzustellen, so dass Steuerkonfigurationsdaten, einschließlich des Steuerprogramms und zugehöriger Tag- und Alarmbedingungen, zu der Steuerungsvorrichtung 402 heruntergeladen werden können. Die von der Steuerungsvorrichtungschnittstellenkomponente 508 eingerichtete Kommunikation kann es dem Benutzer auch ermöglichen, von der Steuervorrichtung innerhalb der Programmentwicklungsumgebung erzeugte Laufzeitdaten zu überwachen.
  • Der eine oder die mehreren Prozessoren 516 können eine oder mehrere der hierin beschriebenen Funktionen mit Bezug auf die offenbarten Systeme und/oder Verfahren ausführen. Der Speicher 518 kann ein computerlesbares Speichermedium sein, das computerausführbare Anweisungen und/oder Informationen zum Ausführen der hierin beschriebenen Funktionen unter Bezugnahme auf die offenbarten Systeme und/oder Verfahren speichert.
  • 6 ist ein Diagramm, das eine Konfiguration einer industriellen Steuerungsvorrichtung 402 unter Verwendung des Steuerprogrammentwicklungssystems 502 einschließlich einer Konfiguration von Alarmbedingungen und Alarmsätzen gemäß einer oder mehreren Ausführungsformen darstellt. In diesem Beispielszenario umfasst das Steuerprogrammentwicklungssystem 502 eine Client-Vorrichtung 602 (z.B. einen Laptop-Computer, einen Desktop-Computer, einen Tablet-Computer, eine persönliche mobile Vorrichtung usw.), die eine Gerätekonfigurationsanwendung 604 ausführt, die das Programmieren und Konfigurieren der industriellen Steuervorrichtung 402 erleichtert. In den hierin beschriebenen Beispielen ist die Steuerungsvorrichtung 402 eine industrielle Steuerung wie etwa eine SPS oder eine andere Art von programmierbarer Automatisierungssteuerung. Die Alarmzustandskonfigurations- und -Verarbeitungsfunktionen, die hierin beschrieben sind, sind jedoch nicht auf die Implementierung in industriellen Steuerungen beschränkt und können auch bei anderen Arten von industriellen Vorrichtungen implementiert werden, ohne vom Umfang einer oder mehrerer Ausführungsformen dieser Offenbarung abzuweichen.
  • Im Allgemeinen erzeugt und lädt die Gerätekonfigurationsanwendung 604 SteuerungsKonfigurationsdaten 606 in Übereinstimmung mit benutzerdefinierten Programmier- und Konfigurationseinstellungen zu der industriellen Steuervorrichtung 402. Diese SteuerungsKonfigurationsdaten 606 können mindestens ein Steuerprogramm 608, Tag-Definitionen 610 und Alarmkonfigurationsdaten 612 enthalten. Gerätekonfigurationsanwendung 604 führt eine Programmierumgebung aus, die es einem Entwickler ermöglicht, ein Steuerprogramm 608 zu erzeugen, das auf der industriellen Steuerungsvorrichtung 402 ausgeführt wird. Wie oben beschrieben, kann das Steuerprogramm 608 als ein Leiterlogikprogramm, ein oder mehrere sequentielle Funktionsdiagramme, ein oder mehrere Funktionsblockdiagramme, strukturierter Text oder eine andere Art von Steuerprogramm geschrieben werden.
  • Gerätekonfigurationsanwendung 604 umfasst auch Konfigurationswerkzeuge, die es dem Entwickler ermöglichen, Tag-Definitionen 610 zu erzeugen, die die Steuerungs-Tags definieren, die von dem Steuerprogramm 608 verwendet werden. Diese Tags können digitale und analoge E/A-Tags sowie Tags enthalten, die digitalen, numerischen oder String-Werten entsprechen, die durch das Steuerprogramm 608 oder durch die interne Diagnoseverarbeitung des Steuergeräts berechnet oder eingestellt werden. Jeder Steuerungs-Tag ist eine Instanz eines designierten Datentyps (z.B. binär, Gleitkommazahl, Ganzzahl, doppelte Ganzzahl, Zeichenkette usw.). Wenn sie als Teil der Steuerungskonfigurationsdaten 606 in die Steuerungsvorrichtung 402 heruntergeladen wird, konfiguriert die Tag-Datenbankkomponente 404 der Steuerungsvorrichtung die Tag-Datenbank der Vorrichtung in Übereinstimmung mit den Tag-Definitionen 610.
  • Alarmkonfigurationsdaten 612 definieren Alarmbedingungen, die ausgewählten Steuerungs-Tags (d.h. ausgewählten Tags, die durch die Tag-Definitionen 610 definiert sind), Datentypen oder anderen Steuerobjekten zugeordnet sind. Alarmkonfigurationsdaten 612 können auch Sätze von Alarmbedingungen definieren, die zusammen gruppiert und kollektiv als Alarmsätze verarbeitet werden sollen, wie hierin ausführlicher beschrieben wird. Zumindest einige der Alarmkonfigurationsdaten 612 können basierend auf benutzerdefinierten Alarmkonfigurationen und Tag-Assoziationen erzeugt werden. In einigen Ausführungsformen können einige oder alle Alarmkonfigurationsdaten auch automatisch während der Programmentwicklung erzeugt werden.
  • 7 ist ein Diagramm, das die Beziehung zwischen in der Tag-Datenbank 316 definierten Steuerungs-Tags und Alarmbedingungen, die für die Steuerungsvorrichtung 402 durch Alarmkonfigurationsdaten 612 definiert sind, darstellt. In diesem Beispiel definiert die Tag-Datenbank 316 Steuerungs-Tags, die Datenwerte in Verbindung mit der Ausführung des Steuerprogramms 608 speichern, sowie interne Daten-Tags, deren Werte durch die interne Diagnose der Steuerungsvorrichtung aktualisiert werden. Jeder Eintrag der Tag-Datenbank 316 entspricht einem Steuerungs-Tags. Für jeden Steuerungs-Tag definiert die Tag-Datenbank 316 Metadaten über den Tag, beispielsweise den Datentyp des Tags (z.B. binär, echt, ganze Zahl, Kette, ein benutzerdefinierter Datentyp usw.) sowie den aktuellen Wert des Tags. Die Werte einiger Steuerungs-Tags werden basierend auf Programmaktualisierungen 706 aktualisiert, die von dem Steuerprogramm 608 erzeugt werden (z.B. wenn ein Bit durch das Programm 608 gesetzt oder zurückgesetzt wird oder wenn ein Analog- oder String-Wert durch das Programm 608 modifiziert wird). Steuerungs-Tags, die digitalen oder analogen Eingängen entsprechen, werden basierend auf E/A-Aktualisierungen 704 von den E/A-Modulen 318 der Steuerungsvorrichtung (oder einem anderen Typ von E/A, die mit der Steuerungsvorrichtung assoziiert sind, wie Remote- oder Netzwerk-E/A) aktualisiert. Steuerprogramm 608 liest auch Steuerungs-Tag-Werte aus der Tag-Datenbank 316, so dass Tags, die als Steuerprogrammvariablen dienen, während der Programmausführung aktuell gehalten werden. Werte von Steuerungs-Tags, die digitalen oder analogen Ausgängen entsprechen, werden verwendet, um Ausgangssignale von entsprechenden Ausgängen von E/A-Modulen 318 zu steuern. Im Allgemeinen werden Aktualisierungen der Steuerungs-Tag-Werte durch die Tag-Datenbankkomponente 404 basierend auf der Ausführung des Steuerprogramms 608 und der E/A der Steuerungsvorrichtung verwaltet.
  • Zusätzlich zu der Tag-Datenbank 316 hält die Steuerungsvorrichtung 402 Alarmkonfigurationsdaten 612 aufrecht, die Alarmzustände und ihre Zuordnungen zu einem oder mehreren der in der Tag-Datenbank 316 definierten Steuerungs-Tags definieren. Diese Assoziationen zwischen Alarmbedingungen und ausgewählten Controller-Tags können vom Entwickler unter Verwendung der Gerätekonfigurationsanwendung 604 eingestellt werden, und kann entweder von einem Benutzer definiert oder basierend auf dem Steuerprogramm automatisch generiert werden (z.B. basierend auf der Projektstruktur des Steuerprogramms, so dass die Alarmsätze die Organisationshierarchie des Steuerprogramms widerspiegeln). Die Alarmkonfigurationskomponente 506 der Gerätekonfigurationsanwendung 604 kann ermöglichen, dass Alarmbedingungen indirekt mit Steuerungs-Tags assoziiert sind, die in der Tag-Datenbank definiert sind. Eine Alarmbedingung definiert die Bedingungen, unter denen ein Alarm als eine Funktion des zugehörigen Steuerungs-Tags erzeugt wird. Zum Beispiel kann die Alarmbedingung, die mit einem gegebenen Steuerungs-Tag assoziiert ist, definieren, dass eine Alarmbenachrichtigung erzeugt werden soll, wenn ein Wert des Steuerungs-Tags einen definierten, durch die Alarmbedingung spezifizierten Sollwert überschreitet, oder wenn ein anderer Zustand des Steuerungs-Tags einem durch den Alarmzustand spezifizierten Alarmzustand entspricht.
  • In dem in 7 gezeigten Beispiel wurde eine erste Alarmbedingung (Alarmbedingung 1) dem Tag 1 in der Tag-Datenbank 316 zugeordnet. Tags 4, 5 und 12 wurden ebenfalls den jeweiligen Alarmbedingungen zugeordnet. Diese Alarmbedingungen definieren die Bedingungen, unter denen eine Alarmbenachrichtigung erzeugt wird, wobei die Alarmbedingung als eine Funktion des Zustands oder Werts des Steuerungs-Tags definiert ist, mit dem die Alarmbedingung verknüpft ist. Wie nachstehend ausführlicher beschrieben wird, ermöglicht die Zuordnung eines Alarmzustands zu einem Steuerungs-Tag, dass Eigenschaften des Alarmzustands als ein erweitertes Element seines zugeordneten Steuerungs-Tags zugänglich sind.
  • Steuerprogrammentwicklungssystem 502 kann auch die Definition von Alarmsätzen unterstützen, die mehrere Alarmbedingungen umfassen, auf die als Gruppe eingewirkt werden kann. 8 ist ein Diagramm, das die Beziehung zwischen Alarmbedingungen und Alarmsätzen darstellt. In diesem Beispiel wurde eine Anzahl von Steuerungs-Tags, die in der Tag-Datenbank 316 definiert sind, jeweiligen Alarmbedingungen zugeordnet, wie sie durch die Alarmkonfigurationsdaten 612 definiert sind. Zum Beispiel wurden die Steuerungs-Tags 1, 4 und 5 den Alarmbedingungen 1, 2 bzw. 3 zugeordnet. Einige Steuerungs-Tags, wie beispielsweise die Tags 12 und 20, wurden jeweils mehr als einer Alarmbedingung zugeordnet, während andere Steuerungs-Tags (z.B. die Tags 2 und 3) keinen Alarmbedingungen zugeordnet wurden. Man beachte, dass einige Alarmbedingungen mehreren Steuerungs-Tags zugewiesen wurden. Zum Beispiel wurde die Alarmbedingung 3 sowohl dem Steuerungs-Tag 5 als auch dem Steuerungs-Tag 12 zugewiesen.
  • Zusätzlich wurde eine Anzahl von Alarmsätzen 802 definiert, wobei jeder Alarmsatz 802 mehrere Alarmzustände umfasst, die für die Zwecke von Sammelalarmoperationen und Rollup-Informationen (die unten detaillierter beschrieben werden) gruppiert wurden. Zur Verdeutlichung sind in 8 nur zwei beispielhafte Alarmsätze 802a und 802b gezeigt. Das System erlaubt jedoch die Definition einer beliebigen Anzahl von Alarmsätzen 802. Alarmsätze 802 ermöglichen es, zusammengehörige Alarmzustände zu gruppieren und als eine kollektive Einheit zu behandeln. In dem dargestellten Beispiel umfasst der Alarmsatz 1 (802a) drei Alarmzustände (Alarmzustände 1, 3 und 6), während der Alarmsatz 2 (802b) fünf Alarmzustände (Alarmzustände 3, 6, 7, 13 und 14) umfasst.
  • Wie nachstehend ausführlicher beschrieben wird, kann die Alarmverarbeitungskomponente 408 Rollup-Informationen für jeden definierten Alarmsatz 802 erzeugen. Diese Rollup-Informationen umfassen aggregierte Statistiken über die Zustände der Alarmbedingungen, aus denen der Alarmsatz besteht. Alarmsätze 802 ermöglichen auch, dass Operationen - wie Alarmbestätigungsoperationen - auf alle Alarme in dem Alarmsatz 802 in Reaktion auf einen einzelnen Bediener oder eine programmatische Aktion angewendet werden.
  • Entwickler von Steuersystemen wünschen oft, die gleichen Alarmbedingungen bei mehreren Alarmen zu verwenden, wie in Szenarien, in denen der gleiche Alarmtyp auf verschiedene Steuerobjekte (z.B. unterschiedliche Pumpen, verschiedene Brühwannen usw.) angewendet wird. Zum Beispiel können einige Alarmbedingungen so konfiguriert werden, dass sie einen Hochtemperaturalarm auslösen, wenn die Temperatur einen ersten Sollwert überschreitet, einen Hochtemperaturalarm, wenn die Temperatur einen zweiten (höheren) Sollwert überschreitet, einen Tieftemperaturalarm, wenn die Temperatur unter einen dritten Grenzwert sinkt, der niedriger als die Hoch- und Hoch-Hoch-Sollwerte ist, und ein Tief-TiefTemperaturalarm, wenn die Temperatur unter einen vierten Sollwert fällt, der niedriger als der erste, zweite und dritte Sollwert ist. Dieselbe Alarmbedingung kann für mehrere verschiedene Steuerobjekte erforderlich sein, aus denen ein Steuerungsprojekt besteht. In solchen Szenarien müssen die Entwickler von Steuerungssystemen typischerweise die gleichen Konfigurationen und Alarme für verschiedene Objekte (z.B. Tags, Zusatzinstruktionen, Funktionsblöcke usw.) in das Entwicklungssystem erneut eingeben.
  • Um dieses Problem zu lösen, kann die Alarmkonfigurationskomponente 506 ermöglichen, dass ein Alarmzustand wiederverwendet und erneut an mehrere Objekte angelegt wird, wodurch die Notwendigkeit verringert wird, die gleiche Alarmkonfiguration für verschiedene zu überwachende Objekte mehrfach einzugeben. Diese wiederverwendbaren Alarmbedingungen können offline erstellt und als Teil der Steuerungskonfigurationsdaten 606 auf die Steuerungsvorrichtung 402 heruntergeladen werden, oder sie können während der Laufzeit der Steuerungsvorrichtung 402 online erstellt werden. Einmal definiert, kann eine Alarmbedingung für einzelne Tags oder für einen Alarmsatz 802 zugewiesen werden. In dem in 8 ist der Alarmzustand 3 als die Alarmbedingung zugeordnet, die sowohl dem Steuerungs-Tag 5 als auch dem Steuerungs-Tag 12 zugeordnet ist, und ist auch ein Mitglied sowohl des Alarmsatzes 1 als auch des Alarmsatzes 2. Mit einem gegebenen Tag kann eine beliebige Anzahl von Alarmbedingungen verknüpft sein, wobei sich jede Alarmbedingung auf eine andere Besorgnis bezieht, die einem Bediener über eine Alarmbenachrichtigungsanzeige mitgeteilt werden sollte. Darüber hinaus kann jede Alarmbedingung einer beliebigen Anzahl von Alarmsätzen 802 zugewiesen werden.
  • In einigen Ausführungsformen kann die Alarmkonfigurationskomponente 506 zulassen, dass wiederverwendbare Alarmbedingungen jedem Datentyp innerhalb des Steuerprogrammprojekts zugeordnet werden, einschließlich systemdefinierter Datentypen, benutzerdefinierter Datentypen und moduldefinierter Datentypen, ohne darauf beschränkt zu sein. Wiederverwendbare Alarmbedingungen können auch mit Definitionen von Zusatzinstruktionen verknüpft werden. Wenn eine Alarmbedingung erzeugt und einem ausgewählten Datentyp zugeordnet wird, kann die Alarmkonfigurationskomponente 506 die Alarmbedingung auf alle Steuerungs-Tags innerhalb des Projekts anwenden, die Instanzen des ausgewählten Datentyps sind. Dies kann die Zuordnung der Alarmbedingung zu bereits vorhandenen Steuerungs-Tags des ausgewählten Datentyps sowie die automatische Zuweisung der Alarmbedingung zu Steuerungs-Tags, die dem ausgewählten Datentyp entsprechen, die nach der Erstellung der Alarmbedingung erstellt werden, umfassen. Auf diese Weise kann ein Entwickler eine Alarmbedingung definieren, die während eines Steuerprojekts auf mehrere Steuerobjekte eines ausgewählten Datentyps angewendet wird, und das Entwicklungssystem 502 wendet diese vordefinierte Alarmbedingung entsprechend dem Datentyp auf Steuerungs-Tags an. Die Möglichkeit, definierte Alarmbedingungen über mehrere Steuerungs-Tags hinweg wiederzuverwenden, erübrigt die Notwendigkeit, einen gemeinsamen Alarmzustand für viele Steuerungs-Tags mehrfach zu definieren.
  • In einigen Ausführungsformen kann die Alarmkonfigurationskomponente 506 automatisch einen Alarmsatz 802 während der Programmentwicklung auf der Grundlage des Datentyps des Steuerungs-Tags (z.B. eines benutzerdefinierten Datentyps oder eines systemdefinierten Datentyps) zu einem Steuerungs-Tag erstellen und zuweisen). In dieser Hinsicht kann jeder Steuerungs-Tag eines gegebenen Datentyps als eine Instanz dieses Datentyps betrachtet werden. Ein Alarmsatz 802 kann definiert und einem ausgewählten Datentyp zugeordnet werden, so dass die Alarmkonfigurationskomponente 506 diesen Alarmsatz 802 automatisch jedem dem Datentyp entsprechenden Steuerungs-Tag zuweist. Wenn ein Alarmsatz 802 einer Datenmarkierung zugeordnet ist, werden alle Alarmzustände, die der Markierung zugeordnet sind, dem Alarmsatz 802 zugeordnet. In einigen Ausführungsformen können Alarmbedingungen oder Alarmsätze auch anderen Komponenten eines Steuersystems zugeordnet sein, einschließlich, aber nicht beschränkt auf E/A-Module, Programme, Bewegungssteuerungsachsen, Zusatzinstruktionen (AOIs) oder eine eingebaute Anweisung.
  • Nachdem die Entwicklung des Steuerprogramms 608 abgeschlossen ist und die Tag-Definitionen 610 und Alarmkonfigurationen 612 definiert sind, werden die SteuerungsKonfigurationsdaten 606 - einschließlich des kompilierten Programms 608 und der zugehörigen Alarmzustands- und Alarmsatzdefinitionen - in die Steuervorrichtung 402 heruntergeladen (siehe 6). 9 ist ein Diagramm, das den Betrieb der industriellen Steuervorrichtung 402 zur Laufzeit zeigt, nachdem die Vorrichtung 402 wie oben beschrieben konfiguriert wurde. Während der Laufzeit führt die Programmausführungskomponente 406 das Steuerprogramm 608 in Verbindung mit Steuern eines industriellen Systems, einer Maschine oder eines Prozesses 914 aus. Wie oben beschrieben, werden Steuerungsausgangssignale 908, die von den digitalen und analogen Ausgängen der Steuerungsvorrichtung erzeugt und an entsprechende Ausgangsvorrichtungen (z.B. Aktuatoren, Ventile, Motorantriebe, Schütze, Stapellichter usw.) geleitet werden, teilweise basierend auf Eingangssignalen 906, die von industriellen Eingabevorrichtungen 910 empfangen werden (z.B. Drucktasten, Teileanwesenheitssensoren, Näherungsschalter, Temperaturmessungen, Druckmessungen usw.).
  • Während der Echtzeitsteuerung wertet die Alarmverarbeitungskomponente 408 die durch die Alarmkonfigurationsdaten 612 definierten Alarmzustände und Alarmsätze aus und erzeugt Alarmbenachrichtigungsdaten 902 als Reaktion auf das Ermitteln, dass eine oder mehrere der definierten Alarmbedingungen erfüllt sind. Die Alarmverarbeitungskomponente 408 macht diese Alarmbenachrichtigungsdaten 902 - ebenso wie die Alarmzustands- und Alarmeinstellungsinformation - für externe Anwendungen ähnlich zu anderen Steuersysteminformationen zugänglich. Somit können die Alarmbenachrichtigungsdaten 902 durch einen HMI 114 gelesen werden, der kommunikativ mit der Steuervorrichtung 402 verbunden ist (z.B. über ein Anlagennetzwerk 116 oder über eine direkte fest verdrahtete oder drahtlose Verbindung) und auf einem geeigneten Alarmanzeigebildschirm wiedergegeben werden, der von dem HMI 114 erzeugt wird. Obwohl die Alarmkonfigurationsdaten 612 in der industriellen Steuervorrichtung 402 gespeichert sind, können einige Ausführungsformen der Alarmverarbeitungskomponente 408 Alarmbedingungen unter Verwendung separater Verarbeitungsressourcen von denen, die zum Ausführen des Steuerprogramms 608 verwendet werden, auswerten und verarbeiten oder einen separaten Ausführungsstrang relativ zu dem verwenden Steuerprogramm. Auf diese Weise werden Alarmbedingungen verarbeitet, ohne die Ausführung des Steuerprogramms 608 zu beeinträchtigen oder Latenz in den Steuerprozess einzubringen.
  • Falls Alarmsätze 802 als Teil der Alarmkonfigurationsdaten 612 konfiguriert wurden, erzeugt die Alarmverarbeitungskomponente 408 auch Rollup-Informationen für jeden definierten Alarmsatz. Diese Rollup-Informationen 904 können auch von der HMI 114 gelesen und auf ihr gerendert werden. Rollup-Informationen 904 und andere Alarmsatzverhalten werden im Folgenden ausführlicher erörtert.
  • Unter Verwendung dieses Alarmkonfigurationssystems sind Alarmbedingungen und Alarmsätze unabhängig voneinander erzeugbare und konfigurierbare Komponenten, die sich in der industriellen Steuervorrichtung 402 befinden, aber getrennt von dem Steuerprogramm 608 und anderen konfigurierbaren Parametern der Steuervorrichtung 402 konfiguriert sein können. Wenn zum Beispiel ein Benutzer neue Alarmbedingungen hinzufügen, einen Alarmsatz bearbeiten möchte, um Alarmbedingungen hinzuzufügen oder zu entfernen, oder Alarmbedingungen oder Alarmsätzen anderen Steuerungs-Tags neu zuweisen möchte, können solche Änderungen implementiert werden, indem Alarmkonfigurationsdaten 612 modifiziert werden (z.B. Verwenden der Gerätekonfigurationsanwendung 604), ohne dass das Steuerprogramm 608 editiert, unterbrochen oder erneut heruntergeladen werden muss. Auf diese Weise können Alarmbedingungen in der Steuerungsvorrichtung 402 (z.B. Industrieregler, Motorantrieb usw.) ungeachtet des aktuellen Steuersystemzustands erzeugt, konfiguriert oder gelöscht werden und sind nicht direkt mit dem Steuerprogramm oder Anwendungscode verbunden.
  • Wenn eine Alarmbedingung oder ein Alarmsatz einem Steuerungs-Tag zugeordnet ist, wird der Alarmzustand oder Alarmsatz als erweitertes Element oder Eigenschaft des zugehörigen Steuerungs-Tags verfügbar (oder eine andere Art von Komponente, der die Alarmbedingungen oder Alarmsätze zugeordnet sind, z.B. eine Steueranweisung, ein Datentyp, ein E/A-Modul, eine Bewegungssteuerungsachse usw.). Mitglieder der Alarmbedingungen und Alarmsätze sind programmatisch als Steuerungs-Tag-Erweiterungen zugänglich und sind auch extern von einer HMI 114 oder anderen clientseitigen Anwendungen zugänglich. Der programmatische und externe Zugriff auf Alarmzustandsdatenelemente und Alarmeinstellungsdatenelemente ist ähnlich dem Zugriff auf andere Tags, die in der Steuerungsvorrichtung 402 definiert sind.
  • Da die Alarmzustands- und Alarmsatzeigenschaften als erweiterte Elemente von Steuerungs-Tags verfügbar gemacht werden, kann auf diese Eigenschaften programmgesteuert zugegriffen werden, wodurch Änderungen an den Alarmbedingungen durch das Steuerprogramm 608 selbst ermöglicht werden. In einem Beispielszenario kann der Betrieb eines industriellen Prozesses erfordern, dass Änderungen an der Konfiguration von einer oder mehreren Alarmbedingungen basierend auf dem Zustand des Prozesses vorgenommen werden. Dies kann z.B. das Deaktivieren oder Aktivieren der Auswertung der Alarmbedingungen, das Ändern des Werts eines durch die Alarmbedingung definierten Alarms für hohe Grenzwerte oder andere derartige Änderungen umfassen. Während diese Änderungen von einem Bediener vorgenommen werden können, können einige Ausführungsformen des hier beschriebenen Alarmverarbeitungssystems dem Steuerungsanwendungs- oder Steuerprogramm 608 ermöglichen, diese Änderungen durch Zugreifen auf die Alarmerweiterungen oder Alarmeigenschaften des entsprechenden Steuergeräts zu implementieren.
  • Beispielsweise kann das Steuerprogramm 608 einen Code enthalten, der bei Ausführung durch die Programmausführungskomponente 406 ausgewählte Alarmbedingungen unterdrückt, um zu verhindern, dass diese Alarmzustände unnötige oder störende Alarmmeldungen erzeugen, während ein Prozess oder eine Maschine gerade initialisiert wird. Unterdrücken oder Deaktivieren eines Alarmzustands auf diese Weise verhindert die Auswertung des Alarmzustands durch die Alarmverarbeitungskomponente 408. Nachdem der Prozess oder die Maschine den stationären Betrieb erreicht hat, kann der Programmcode die Alarmbedingungen wieder aktivieren, um eine normale Auswertung der Alarmbedingungen zu ermöglichen. In einem anderen Beispiel kann das Steuerprogramm 608 die Grenzbedingungen einstellen, die einen gegebenen Alarm basierend auf dem bestimmten Prozesssteuerungsrezept auslösen, das gerade von der Steuervorrichtung 402 ausgeführt wird. Im Allgemeinen kann die hier beschriebene Alarmkonfigurationsarchitektur dem Programmierer ermöglichen, Bedingungen des gesteuerten Prozesses oder der Maschine zu definieren, unter denen Eigenschaften ausgewählter Alarmbedingungen modifiziert werden (z.B. ob der Alarm aktiviert oder deaktiviert ist, hohe oder niedrige Grenzwerte, die den Alarm auslösen etc.).
  • Programmatische Alarmkonfigurationsänderungen wie die oben beschriebenen können unter Verwendung mehrerer Techniken unterstützt werden. In den folgenden Beispielen ist Tank101 eine Instanz eines Add-On-Befehls, der den Zu- und Abfluss für einen Materialtank verwaltet. In einer ersten Technik zum programmgesteuerten Ändern einer Alarmkonfiguration kann auf ein Mitglied eines Alarmzustands oder eines Alarmsatzes direkt von einem Code außerhalb des Zusatzbefehls programmgesteuert zugegriffen werden. Zum Beispiel kann ein solcher Außencode programmgesteuert auf die Tag-Erweiterung Tank101.Level@Alarms.HiLevel.Limit (oder eine andere geeignete Nomenklatur) zugreifen oder auf diese Bezug nehmen und die obere Grenze für den Alarm für Tank101 modifizieren, indem er einen dieser Erweiterung zugeordneten Wert ändert. Die Alarmkonfigurationsarchitektur kann Zuordnungsinformationen zur Kompilierzeit nutzen, um den Bezug auf die Alarmbedingung für den Hochpegelalarm für Tank101 aufzulösen. Gemäß dieser Beispielnomenklatur ist die Erweiterung @alarms.HiLevel.Limit ein erweitertes Mitglied des Steuerungs-Tags, das eine Eigenschaft der Alarmbedingung darstellt, die dem Tank101 (der Instanz des Add-On-Befehls) zugeordnet ist. Durch Ändern des Wertes, der dieser Erweiterung zugeordnet ist, wird der Alarmzustand so geändert, dass der neue Wert als oberer Grenzwert verwendet wird, der den Alarm auslöst.
  • 10 ist ein beispielhafter Leiterlogik-Anweisung 1002, die verwendet werden kann, um diesen oberen Grenzwert für Steuervorrichtungen 402, die Kontaktplanlogikprogrammierung unterstützen, zu modifizieren. In diesem Beispiel ist eine Move-Anweisung (MOV) so konfiguriert, dass ein ganzzahliger Wert, der in einem Tag namens Tank101HiLevel gespeichert ist, in die Alarmreferenz Tank101.Level@alarms.HiLevel.Limit verschoben wird. Es kann ein zusätzlicher Code geschrieben werden, der den im Tag Tank101 HiLevel gespeicherten Wert abhängig vom Zustand des gesteuerten Prozesses je nach Bedarf ändert, wodurch der Alarmgrenzwert für den oberen Grenzwert für Tank101 geändert wird.
  • Auf andere Eigenschaften der Alarmbedingung, die dem Tank 101 zugeordnet sind, kann auch auf programmatische Weise auf diese Weise zugegriffen werden, einschließlich sowohl der Nur-Lese-Eigenschaften als auch der Lese-Schreib-Eigenschaften. Andere Eigenschaften der Alarmbedingung, auf die zugegriffen werden kann, die angezeigt und/oder als Erweiterungen des zugeordneten Steuerungs-Tags modifiziert werden können, können einen Zustand des Alarmzustands umfassen (aber nicht darauf beschränkt) (z.B. aktiv, inaktiv, bestätigt, nicht bestätigt). etc.), ein der Alarmbedingung zuzuordnender Schweregrad, ein der Alarmbedingung zugeordneter Einschaltverzögerungswert (der eine Zeitspanne zwischen der Erfüllung der Alarmbedingung und der Erzeugung der entsprechenden Alarmbenachrichtigung definiert), einen Ausschaltverzögerungswert, der den Alarmbedingungen zugeordnet ist (Definieren einer Zeitspanne zwischen dem Entfernen der den Alarm verursachenden Bedingung und dem Entfernen der Alarmbenachrichtigung), einer Bestätigungsbefehlseigenschaft, einer Deaktivierungs- oder Aktivierungseigenschaft, einer Unterdrückungs- oder Nichtunterdrückungseigenschaft oder anderem solche Alarmzustandseigenschaften.
  • In einer zweiten Technik zum programmgesteuerten Ändern einer Alarmkonfiguration kann auf ein Mitglied des Alarmzustands oder des Alarmsatzes für eine Instanz des Tank101-Zusatzbefehls von innerhalb der Zusatzanweisungsanwendung zugegriffen werden. Zum Beispiel kann auf eine Alarmbedingung auf hoher Ebene, die für eine aktuelle Instanz des Tanks erstellt wurde, zugegriffen werden, indem auf This.Level@alarms.HiLevel.Limit verwiesen wird. Das System kann die korrekte Alarmbedingung für die Instanz der Add-On-Anweisung ermitteln, die zur Laufzeit ausgeführt wird. Das Alarmsystem kann Informationen innerhalb des Alarmsatzobjekts verwenden, um den Verweis auf den Grenzwertalarmzustandsgrenzwert aufzulösen. Zusätzliche Alarme können der Definition hinzugefügt werden, ohne den Zugriff auf die Alarmbedingungen, auf die zuvor verwiesen wurde, zu beeinträchtigen.
  • Auf diese alarmspezifischen Etikettenerweiterungen kann auch durch externe Anwendungen zugegriffen werden, wie zum Beispiel HMIs 114, um Eigenschaften von ausgewählten Alarmbedingungen oder Alarmsätzen anzuzeigen und/oder zu modifizieren. Zum Beispiel kann das HMI so konfiguriert werden, dass interaktive grafische Objekte - wie Textfelder, grafische Drucktasten oder Ähnliches - gerendert werden, die mit den Alarmerweiterungen des Steuerungs-Tags verbunden sind. Somit kann ein Bediener eine Alarmzustandseigenschaft über diese interaktiven graphischen Objekte modifizieren oder anzeigen.
  • Die konfigurierbaren Eigenschaften einer Alarmbedingung oder eines Alarmsatzes können eine Eigenschaft enthalten, die definiert, ob die Alarmbedingung aktiviert oder deaktiviert werden soll. Diese Eigenschaft kann während der anfänglichen Konfiguration der Alarmbedingung eingestellt werden (z.B. unter Verwendung der Gerätekonfigurationsanwendung 604), kann aber auch während der Laufzeit entweder programmgesteuert oder als Reaktion auf einen von einer externen Anwendung (z.B. einer HMI 114) empfangenen Befehl geändert werden. Aktivieren einer Alarmbedingung weist die Alarmverarbeitungskomponente 408 an, den Alarmzustand in der normalen Weise zu bewerten und eine Alarmbenachrichtigung als Reaktion auf das Ermitteln, dass der Alarmzustand erfüllt wurde, zu erzeugen. Deaktivierung der Alarmbedingung verhindert die Auswertung der Alarmbedingung durch die Alarmverarbeitungskomponente 408, so dass keine Alarmbenachrichtigungen 902 für die Alarmbedingung erzeugt werden, selbst wenn die Bedingung erfüllt ist. Die Aktiviert/Deaktiviert-Eigenschaft einer Alarmbedingung kann programmgesteuert unter Verwendung einer geeigneten Steueranweisung innerhalb des Steuerprogramms 608 eingestellt werden, die auf die geeignete Alarmbedingungseinstellung zugreift (z.B. durch Schreiben in die Tag-Eigenschaft Tank101.Level@alarms.HiLevel.enable). In einem Beispielszenario kann das Steuerprogramm 608 geschrieben werden, um den Alarmzustand während einer vorübergehenden Startperiode einer durch die Steuerungsvorrichtung 402 gesteuerten Maschine (um Fehlalarmbenachrichtigungen zu verhindern) deaktiviert zu sein und aktiviert, nachdem die Maschine den stationären Betrieb erreicht hat.
  • Ähnliche Techniken zum programmatischen Ändern einer Alarmkonfiguration können auch auf Alarmsätze angewendet werden. Darüber hinaus können diese programmatischen Operationen auf mehrere Ebenen von verschachtelten Add-On-Anweisungen angewendet werden und können auch verallgemeinert werden, um einen ähnlichen Zugriff von Programmen zu unterstützen.
  • Wie oben erwähnt, ermöglichen Ausführungsformen des industriellen Alarmsystems, die hierin beschrieben sind, dass Sätze von zugehörigen Alarmbedingungen als Alarmsätze 802 gruppiert werden. Sobald diese Alarmsätze 802 definiert sind, ermöglicht die Alarmverarbeitungskomponente 408, dass interaktive Vorgänge kollektiv auf die zugehörigen Alarmbedingungen angewendet werden, die in dem Alarmsatz 802 definiert sind. 11 ist ein Diagramm, das die Anwendung einer Gruppenalarmoperation 1102 auf einen beispielhaften Alarmsatz 802 veranschaulicht. Durch Gruppieren eines Satzes von Alarmbedingungen in einen Alarmsatz 802 können Alarmoperationen 1102 an dem Alarmsatz 802 durch einen Bediener (z.B. über HMI 114) oder programmgesteuert unter Verwendung eines Alarmsatzoperationsbefehls 1104 ausgeführt werden, der innerhalb des Steuerprogramms 608 ausgeführt wird. Beispielhafte Gruppenalarmoperationen 1102, die auf den Alarmsatz 802 angewendet werden können, können Alarmbestätigungsbefehle, Befehle zum Unterdrücken oder Nichtunterdrücken der Alarmbedingungen in dem Alarmsatz 802, Befehle zum Zurückstellen oder Nicht-Unterstützen der Alarmzustände, Befehle zum Deaktivieren oder Aktivieren der Alarmbedingungen, Zurücksetzen von Befehlen, die auf die Alarmbedingungen angewendet werden, oder andere derartige Alarmoperationen umfassen.
  • In einem Beispielszenario kann ein HMI 114 eine interaktive Steuergrafik (z.B. eine grafische Drucktaste oder eine andere Art von Steuerung) enthalten, die eine Nachricht an die Steuervorrichtung 402 sendet, um die ausgewählte Gruppenalarmoperation 1102 bei einem ausgewählten Alarmsatz 802 einzuleiten. Die Nachricht kann beispielsweise eine Anforderung zum Bestätigen der aktiven Alarmbedingungen in dem Alarmsatz 802 sein. Da die Gruppenalarmoperation 1102 eher auf die Alarmgruppe 802 als auf eine einzelne Alarmbedingung gerichtet ist, wendet die Alarmverarbeitungskomponente 408 die Operation 1102 auf alle Alarmbedingungen innerhalb der Alarmgruppe 802 an.
  • Gruppenalarmoperation 1102, die auf ausgewählte Alarmsätze 802 gerichtet ist, kann auch von dem Steuerprogramm 608 selbst stammen. In einer beispielhaften Ausführungsform kann ein Alarmsatzoperationsbefehl 1104 in dem Steuerprogramm 608 enthalten sein. Parameter der Alarmsatzoperationsanweisung 1104 können eine Identität des Alarmsatzes 802, auf den die Operation gerichtet werden soll, sowie die Art der Gruppenalarmoperation, die auf den ausgewählten Alarmsatz 802 anzuwenden ist, umfassen (z.B. bestätigen, unterdrücken, deaktivieren, usw.). Wenn der Befehl 1104 durch das Steuerprogramm 608 als Reaktion auf vom Programmierer definierte Bedingungen ausgeführt wird, wird die Alarmoperation 1102 der angezeigten Gruppe über alle im Alarmsatz 802 definierten Alarmbedingungen iteriert. Das Alarmsystem ermöglicht das Hinzufügen oder Entfernen von Alarmbedingungen zu dem Alarmsatz 802 (z.B. unter Verwendung der Gerätekonfigurationsanwendung 604, wie oben beschrieben), ohne die Fähigkeit zu beeinträchtigen, Gruppenoperationen an den Alarmzuständen durchzuführen, die dem Alarmsatz 802 zugeordnet sind. Das heißt, wenn eine neue Alarmbedingung zu dem Alarmsatz 802 hinzugefügt wird, werden nachfolgende Gruppenalarmvorgänge 1102, die auf den Alarmsatz 802 angewendet werden, auf die neu hinzugefügte Alarmbedingung sowie die zuvor eingeschlossenen Alarmbedingungen angewendet.
  • Indem zugelassen wird, dass gruppierte Alarmbedingungen kollektiv als ein Alarmsatz 802 behandelt werden, können Alarmoperationen 1102 - wie etwa Bestätigungen, Alarmunterdrückungsoperationen, Alarmdeaktivierung usw. - an allen Alarmzuständen innerhalb des Alarmsatzes 802 als Reaktion auf eine einzelne Eingabeoperation (z.B. eine einzelne HMI-Drucktasteninteraktion oder eine einzelne Ausführung einer Alarmsatzoperationsanweisung 608) durchgeführt werden. Diese einzelne Eingabeoperation kann unter Verwendung einer einzelnen programmatischen Referenz, die auf den Alarmsatz 802 gerichtet ist, auf den Alarmsatz 802 zugreifen, so dass die programmatische Referenz bewirkt, dass die Gruppenalarmoperation 1102 auf alle Alarmbedingungen angewendet wird, die dem referenzierten Alarmsatz 802 zugeordnet sind.
  • Alarmverarbeitungskomponente 408 kann auch Rollup-Informationen 904 für jeden definierten Alarmsatz 802 erzeugen. 12 ist ein Diagramm, das die Erzeugung von Rollup-Informationen 904 für einen Alarmsatz (Alarmsatz 1) darstellt. Rollup-Informationen 904 übermitteln einen kollektiven oder aggregierten Alarmzustand oder statistische Information für die Alarmzustände, die dem Alarmsatz 802 zugeordnet sind. Beispielhafte Rollup-Informationen 904 für einen Alarmsatz 802 können eine Gesamtzahl aktiver Alarmbedingungen innerhalb des Alarmsatzes 802, eine Gesamtzahl unquittierter Alarmbedingungen innerhalb des Alarmsatzes 802, eine Angabe der aktuell stärksten oder dringlichsten Alarmbedingung, aktive Alarmbedingungen innerhalb des Alarmsatzes 802, Gesamtzählungen anderer Zustände der aktuellen Alarmbedingung oder andere derartige Informationen umfassen, ist jedoch nicht darauf beschränkt. Während der Laufzeit kann die Alarmverarbeitungskomponente 408 diese Rollup-Informationen 904 für jeden definierten Alarmsatz 802 erzeugen. Im Allgemeinen berechnet die Alarmverarbeitungskomponente 408 die Alarmstatistiken, die in den Rollup-Informationen 904 enthalten sein sollen, basierend auf den Identitäten der Alarmbedingungen innerhalb des Alarmsatzes 802, den aktuellen Zustände der Steuerungs-Tags, die jeder Alarmbedingung innerhalb des Alarmsatzes 802 zugeordnet sind (wie aus der Tag-Datenbank 316 gelesen), und Werten der Eigenschaften jedes Alarmzustands (z.B. bestätigt oder nicht quittiert, aktiviert oder deaktiviert usw.). Alarmverarbeitungskomponente 408 verwendet diese Informationen zum Bestimmen der Zustände jeder Alarmbedingung und aggregiert diese Zustandsinformationen für alle Alarmbedingungen innerhalb des Alarmsatzes 802, um Rollup-Informationen 904 zu erhalten.
  • Auf die Rollup-Informationen 904 kann von externen Anwendungen wie den HMIs 114 zugegriffen werden. Dies ermöglicht, dass die Rollup-Informationen 904 von einem HMI 114 gelesen und auf einem geeigneten Bildschirm wiedergegeben werden. Da ein Alarmsatz 802 typischerweise Alarmbedingungen umfasst, die sich auf einen gemeinsamen Bereich beziehen (z.B. einen gemeinsamen Produktionsbereich oder eine gemeinsame Maschine, einen üblichen industriellen Prozess usw.), können diese Rollup-Informationen 904 nützliche Zusammenfassungsinformationen für einen gegebenen Aspekt einer kontrollierten industriellen Maschine oder eines Prozesses übermitteln.
  • Auf Rollup-Informationen 904 kann auch programmgesteuert durch Benutzeranwendungscode zugegriffen werden, einschließlich des Steuerprogramms 608 sowie des Anwendungscodes, der außerhalb der Steuervorrichtung 402 liegt. Während der Laufzeit können die Rollup-Informationen 904 durch Anwendungen überwacht werden, die auf dem HMI 114 oder anderen Client-Vorrichtungen, die kommunikativ mit der Steuerungsvorrichtung 402 verbunden sind, ausgeführt werden.
  • In verschiedenen Ausführungsformen kann die Alarmkonfigurationskomponente 506 des Steuerprogrammentwicklungssystems mindestens zwei Arbeitsabläufe zum Anwenden eines Alarmzustands auf ein Steuerungs-Tag unterstützen, die von der Reihenfolge abhängen, in der ein Tag und ein Alarmzustand während der Entwicklung des Steuerprogrammprojekts erzeugt werden (dargestellt durch Steuerungskonfigurationsdaten 606). 13A - 13C sind Bildschirmfotos von beispielhaften Konfigurationsanzeigen (z.B. Anzeigen der Gerätekonfigurationsanwendung 604), die von der Alarmkonfigurationskomponente 506 erzeugt werden können und zum Zuordnen von Alarmbedingungen zu einem oder mehreren Steuerungs-Tags verwendet werden können. Auf diese Weise definierte Alarmbedingungen können nach Bedarf wiederverwendet werden, um die definierten Alarmbedingungen mehreren Steuerungs-Tags zuzuordnen. In dem in 13A - 13C gezeigten Beispiel, wird der Alarmzustand zuerst erzeugt und dann auf ein Steuerungs-Tag angewendet. Alarmkonfigurationsanzeige 1302, die in 13A gezeigt ist (oder eine ähnliche Anzeige), kann von einem Benutzer innerhalb der Entwicklungsumgebung aufgerufen werden, die von dem Steuerprogrammentwicklungssystem 502 gerendert wird. Konfigurationsanzeige 1302 kann ein Namensfeld 1304 zum Definieren eines Namens der wiederverwendbaren Alarmbedingung, die definiert ist (TM_ACC_1 in dem veranschaulichten Beispiel), und ein Eingabefeld 1306 zum Definieren eines Datentyp-Mitglieds (TIMER.ACC in dem dargestellten Beispiel), mit dem der Alarmzustand verknüpft wird. Der Datentyp Member ist eine Eigenschaft eines bestimmten Tag-Datentyps. Beispielsweise ist TIMER.ACC eine Timer-Akkumulatoreigenschaft, die in allen Instanzen eines TIMER-Datentyps enthalten ist (d.h. eine Eigenschaft, die einem Daten-Tag mit dem TIMER-Datentyp zugeordnet ist). Dementsprechend werden in dem vorliegenden Beispiel, wenn eine Steuerungsmarkierung anschließend mit dem TIMER-Datentyp erzeugt wird, die Alarmkonfigurationen, die in der Alarmkonfigurationsanzeige 1302 definiert und dem TIMER.ACC-Datentyp zugeordnet sind, auf die neue TIMER-Datenmarkierung angewendet.
  • Ein Konfigurationsbereich 1308 enthält andere Felder zum Eingeben zusätzlicher Konfigurationsinformationen für den Alarmzustand. Zum Beispiel kann der Konfigurationsbereich 1308 einen Satz von Bedingungsfeldern enthalten, die es einem Benutzer ermöglichen, eine Bedingung zu definieren, die den Alarm in Form eines Alarmtyps (z.B. hoher Alarm, niedriger Alarm usw.) auslöst, ein Steuerungs-Tag enthalten, gegen das der Alarm ausgewertet wird, und einen Ausdruck enthalten, der die Triggerbedingung für den Alarm relativ zum Ziel-Tag definiert. In dem dargestellten Beispiel wird die Tag-Eigenschaft TIMER.PRE (Timer-Preset) als Target-Tag gesetzt, so dass der Alarm ausgelöst wird, wenn der Timer-Akkumulatorwert (TIMER_ACC) größer oder gleich dem Datentag ist, dem der Timer-Preset-Wert zugeordneten ist. Diese Bedingung soll nur beispielhaft sein, und es ist zu beachten, dass andere Bedingungen zum Auslösen des Alarms unter Verwendung der Alarmkonfigurationsanzeige 1302 definiert werden können.
  • Der zugeordnete Tags-Bereich 1312 listet einen Satz anderer Tags auf, die synchron erfasst werden, wenn der Alarm aktiviert wird. Die Werte dieser zugeordneten Tags werden als Teil der Alarmbenachrichtigungsdaten 902 für die Alarmbedingungen gesendet, wenn der Alarmzustand ausgelöst wird. In dem dargestellten Beispiel enthalten diese zugeordneten Tags einen Timer-Preset-Wert (TIMER.PRE) und eine Timer-Done-Eigenschaft (TIMER.DN).
  • Der Konfigurationsbereich 1308 kann auch Felder zum Eingeben von Verzögerungseinstellungen (z.B. eine Einschaltverzögerung und eine Ausschaltverzögerung) enthalten, die eine Zeitdauer definieren, die die Alarmbedingung erfüllt sein muss, bevor die Alarmbenachrichtigung ausgelöst wird (die Einschaltverzögerung) und eine Zeitdauer, in der die Alarmbedingung falsch sein muss, bevor eine aktive Alarmbenachrichtigung gelöscht wird (die Ausschaltverzögerung). In einigen Ausführungsformen kann der Konfigurationsbereich 1308 auch Felder enthalten, die es dem Benutzer ermöglichen, eine Totzone für den Alarmzustand und einen Schweregrad zu definieren, wobei der Schweregrad eine Art und Weise bestimmen kann, in der der Alarmzustand einem Benutzer über das HMI 114 präsentiert wird (z.B. eine Häufigkeit von Erinnerungen, ein Farbcode für die Alarmnachricht usw.). Ein Nachrichtenfeld 1314 kann dem Benutzer erlauben, eine Alarmmeldung einzugeben, die als Teil der Alarmbenachrichtigungsdaten 902 gerendert wird, wenn der Alarm aktiv ist. Die Alarmkonfigurationsinformationen können als wiederverwendbare Alarmkonfiguration gespeichert werden, indem der OK-Knopf 1316 ausgewählt wird.
  • Nachdem der Alarmzustand definiert worden ist (in dem vorliegenden Beispiel TM_ACC_1 genannt), wendet die Alarmkonfigurationskomponente 506 den definierten Alarmzustand automatisch auf nachfolgend erzeugte Datenmarkierungen mit dem TIMER-Datentyp an. 13B ist ein Screenshot eines Teils einer beispielhaften Tag-Definitionsanzeige 1322, die von der Programmentwicklungskomponente 504 erzeugt werden kann und zum Erzeugen von Tags in Verbindung mit der Entwicklung eines Steuerprogramms verwendet wird. Ein Namensfeld 1318 ermöglicht es dem Benutzer, einen Namen für die neue Markierung (MyTimer in dem dargestellten Beispiel) einzugeben, und ein Datentypfeld 1320 ermöglicht dem Benutzer, den Datentyp für die neue Markierung auszuwählen. Da der Benutzer den TIMER-Datentyp für den neuen Tag ausgewählt hat, wird der neue Tag eine TIMER.ACC-Eigenschaft haben, und folglich wendet die Alarmkonfigurationskomponente 506 die zuvor definierte Alarmbedingung, die dem TIMER.ACC-Mitglied zugeordnet ist, auf die neue Markierung an. 13C ist ein Screenshot eines Teils einer beispielhaften Alarmverbindungsanzeige 1324, die zeigt, dass die neue Markierung (MainProgram.MyTimer) der Alarmdefinition TM_ACC_1 zugeordnet ist.
  • Das vorherige Beispiel beschrieb einen Arbeitsablauf zum Zuordnen einer Alarmbedingung zu einer Steuerungskennung, in der die Alarmbedingung zuerst definiert wurde, und wurde dann automatisch auf eine neue Steuerungskennung angewendet, die nachfolgend erzeugt wurde. Es können jedoch auch Alarmbedingungen definiert und auf Steuerungs-Tags angewendet werden, die vor der Definition des Alarmzustands erstellt wurden. Zum Beispiel kann eine neue Markierung „MyTimer“ zuerst unter Verwendung der Markierungsdefinitionsanzeige 1322 erzeugt werden, wie in 13B gezeigt. Wie im vorherigen Beispiel ist der neue Tag so definiert, dass er einen TIMER-Datentyp aufweist. Nach Erzeugen dieses Tags wird ein Alarmzustand unter Verwendung der Alarmkonfigurationsanzeige 1302 definiert, wie in 13A gezeigt. Sobald die Alarmbedingung gespeichert ist, wendet die Alarmkonfigurationskomponente 506 die neue Alarmbedingung automatisch auf alle relevanten, zuvor erzeugten Steuerungs-Tags an (d.h. zuvor erzeugte Tags mit dem TIMER-Datentyp), einschließlich MyTimer, wie in 13C gezeigt.
  • Obwohl die vorherigen Beispiele wiederverwendbare Alarmbedingungen auf Tags mit dem TIMER-Datentyp angewendet haben, ist zu beachten, dass ähnliche Techniken verwendet werden können, um automatisch benutzerdefinierte Alarmbedingungen auf jeden anderen Tag-Typ (z.B. COUNTER, benutzerdefinierte Daten) anzuwenden (z.B. COUNTER, benutzerdefinierte Datentypen, verschachtelte benutzerdefinierte Datentypen usw.), sowie zur Steuerung von Programm-Funktionsblocktypen (z.B. PID-Funktionsblöcke), Add-On-Befehlstypen, verschachtelte Add-On-Befehle Typen usw.
  • Alarmkonfigurationskomponente 506 ermöglicht es dem Benutzer auch, eine Alarmbedingung zu modifizieren, nachdem die Alarmbedingung einer oder mehreren Steuerungs-Tags zugeordnet wurde. Wenn Änderungen an einer bestehenden Alarmbedingung vorgenommen werden, werden die Alarmmodifikationen automatisch auf die Steuerungs-Tags angewendet, mit denen die Alarmbedingung zuvor verknüpft war.
  • Das hierin beschriebene industrielle Alarmkonfigurationssystem ermöglicht, dass Alarmzustände und Alarmsätze innerhalb einer industriellen Steuerungsvorrichtung unabhängig von dem Steuerprogramm, das auf der Steuerungsvorrichtung ausgeführt wird, definiert und ausgewertet werden. Diese Alarmbedingungen können erstellt, ausgewählten Steuervariablen zugewiesen und bei Bedarf geändert werden, ohne dass das Steuerprogramm bearbeitet werden muss. Nach der Erstellung können die Alarmbedingungen und Alarmsätze bestimmten Steuerungsvariablen, AOIs, E/A-Modulen oder anderen Steuerungsobjekten nach Bedarf zugewiesen werden, sodass die gleichen Alarmkonfigurationsinformationen für mehrere Steuerungsobjekte nicht mehrmals einzeln erneut eingegeben werden müssen. Indem diese Alarmbedingungen zu Alarmsätzen gruppiert werden, können Operationen oder Befehle auf mehrere zugehörige Alarmbedingungen angewendet werden, indem eine einzelne vom Benutzer initiierte oder vom Programm initiierte Aktion verwendet wird. Diese Alarmsätze enthalten auch zusammengefasste Alarmzusammenfassungsinformationen für die Alarmbedingungen, die in jedem Alarmsatz definiert sind.
  • 14 bis 17 veranschaulichen verschiedene Methodiken in Übereinstimmung mit einer oder mehreren Ausführungsformen der vorliegenden Anmeldung. Während zum Zweck der Einfachheit der Erläuterung die hierin gezeigten Methodologien als eine Reihe von Handlungen gezeigt und beschrieben werden, ist es zu verstehen und zu würdigen, dass die vorliegende Erfindung nicht durch die Reihenfolge der Handlungen eingeschränkt ist, wie dies einige Taten tun können damit treten sie in einer anderen Reihenfolge und/oder gleichzeitig mit anderen Handlungen von dem hier gezeigten und beschriebenen auf. Zum Beispiel werden Fachleute auf dem Gebiet verstehen und würdigen, dass eine Methodologie alternativ als eine Reihe von miteinander in Beziehung stehenden Zuständen oder Ereignissen dargestellt werden könnte, wie beispielsweise in einem Zustandsdiagramm. Darüber hinaus müssen nicht alle dargestellten Handlungen erforderlich sein, um eine der Innovation entsprechende Methodik zu implementieren. Ferner können Interaktionsdiagramme Methodologien oder Verfahren gemäß der vorliegenden Offenbarung darstellen, wenn disparate Entitäten unterschiedliche Teile der Methodologien ausführen. Des Weiteren können zwei oder mehr der offenbarten beispielhaften Verfahren in Kombination miteinander implementiert werden, um ein oder mehrere hierin beschriebene Merkmale oder Vorteile zu erreichen.
  • 14 ist eine Beispielmethodik 1400 zum Konfigurieren und Verarbeiten von Alarmbedingungen innerhalb eines industriellen Steuerungsprojekts. Anfänglich ist bei 1402 ein Alarmzustand als Teil eines industriellen Steuerungskonfigurationsprojekts definiert, das an einer industriellen Steuerungsvorrichtung installiert werden soll, beispielsweise einer industriellen Steuerung (z.B. einer SPS) oder einer anderen Art von industrieller Steuerungsvorrichtung. Die Alarmbedingung kann Bedingungen angeben, unter denen eine Alarmbenachrichtigung erzeugt wird (z.B. eine Metrik, die von einer oberen oder unteren Grenze abweicht, ein Maschinen- oder Prozesszustand usw.). Die Alarmbedingung kann in einer Entwicklungsumgebung einer Gerätekonfigurationsanwendung definiert werden, die auf einer Client-Vorrichtung ausgeführt wird.
  • Bei 1404 wird der in Schritt 1402 definierte Alarmzustand einem oder mehreren Steuerungs-Tags zugewiesen, die für das industrielle Steuerkonfigurationsprojekt definiert sind. Dies kann erreicht werden, indem die Alarmbedingung einem explizit ausgewählten Steuerungs-Tag zugewiesen wird, der für das Steuerungsprojekt definiert ist. Alternativ kann die Alarmbedingung einem systemdefinierten oder benutzerdefinierten Datentyp zugewiesen werden, wodurch die Alarmbedingung auf alle definierten Steuerungs-Tags angewendet wird, die Instanzen des Datentyps sind. Zuweisen der Alarmbedingung zu einem Steuerungs-Tag bewirkt, dass die Alarmbedingung eine Funktion des Zustands oder Werts dieses Steuerungs-Tags ist. Wenn zum Beispiel die Alarmbedingung angibt, dass eine Alarmbenachrichtigung in Reaktion darauf erzeugt werden soll, dass ein gemessener Wert einen definierten oberen Grenzwert überschreitet, bewirkt das Zuweisen des Alarmzustands zu einem spezifizierten Steuerungs-Tag, dass der Wert des Steuerungs-Tags als der Messwert verwendet wird, der bestimmt, ob die Alarmbedingung erfüllt ist, so dass die Alarmbenachrichtigung generiert wird, wenn der Wert des zugewiesenen Steuerungs-Tags den durch die Alarmbedingung definierten oberen Grenzwert überschreitet.
  • Bei 1406 wird das industrielle Steuerungskonfigurationsprojekt, einschließlich der Alarmkonfigurations- und -zuweisungsinformationen, die bei Schritt 1402 und 1404 eingegeben wurden, bei der industriellen Steuerungsvorrichtung ausgeführt. Während der Ausführung wird die Alarmbedingung relativ zu dem Wert oder Zustand ihrer zugewiesenen Controller-Markierung ausgewertet, um zu bestimmen, ob die definierte Alarmbedingung erfüllt ist. Bei 1408 wird festgestellt, ob die Alarmbedingung erfüllt ist. Wenn die Alarmbedingung erfüllt ist (JA in Schritt 1408), schreitet die Methodik zu Schritt 1410 fort, wo Alarmbenachrichtigungsdaten erzeugt werden, die den Alarmzustand anzeigen. Diese Alarmbenachrichtigungsdaten sind für Anwendungen zugänglich, die sich außerhalb der industriellen Steuerungsvorrichtung befinden (z.B. HMI-Steuerungen oder andere Arten von Client-Vorrichtungen).
  • 15 ist eine beispielhafte Methodologie 1500 zum Konfigurieren und Verarbeiten von Alarmsätzen in einem industriellen Steuerungsprojekt. Zu Beginn, bei 1502, werden die Alarmbedingungen als Teil eines industriellen Steuerungskonfigurationsprojekts definiert, das auf einer industriellen Steuerungsvorrichtung installiert werden soll (ähnlich dem Schritt 1402 der Methodik 1400). Bei 1504 werden die Alarmbedingungen jeweils einem oder mehreren Steuerungs-Tags zugewiesen, die für das industrielle Steuerungskonfigurationsprojekt definiert sind (ähnlich dem Schritt 1404 der Methodologie 1400). Jede Alarmbedingung kann mehreren Steuerungs-Tags zugewiesen werden.
  • Bei 1506 wird eine Teilmenge der in Schritt 1502 definierten Alarmbedingungen in einen Alarmsatz gruppiert. Der Alarmsatz kann mehrere Alarmbedingungen enthalten, die vom Projektentwickler für die Zwecke kollektiver Gruppenalarmoperationen oder -befehle als relevant erachtet werden.
  • Bei 1508 wird das industrielle Steuerungskonfigurationsprojekt - einschließlich der Alarmzustands- und Alarmsatzdefinitionen - an der industriellen Steuerungsvorrichtung ausgeführt. Bei 1510 wird eine Entscheidung getroffen, ob eine Gruppenalarmoperation, die auf den Alarmsatz gerichtet ist, empfangen worden ist. Die Gruppenalarmoperation kann von einem Steuerprogramm stammen, das an der industriellen Steuervorrichtung oder von einer Anwendung ausgeführt wird, die sich außerhalb der Steuervorrichtung befindet, wie etwa einem HMI-Endgerät. Die Gruppenalarmoperation kann zum Beispiel ein Alarmbestätigungsbefehl, ein Befehl zum Unterdrücken oder Nichtunterdrücken der Alarmbedingungen innerhalb des Alarmsatzes, ein Befehl zum Freigeben oder Nicht-Ausrichten der Alarmbedingungen, ein Befehl zum Deaktivieren oder Aktivieren der Alarmbedingungen, ein Reset-Befehl, der auf die Alarmbedingungen angewendet werden soll oder andere derartige Alarmoperationen sein.
  • Wenn die Gruppenalarmoperation empfangen wird (JA in Schritt 1510), schreitet die Methodik zu Schritt 1512 fort, wo die in Schritt 1510 empfangene Gruppenalarmoperation auf alle Alarmbedingungen der Teilmenge von Alarmbedingungen angewandt wird, die in der Alarmgruppe enthalten sind.
  • 16 ist eine Beispielmethodologie 1500 zum Konfigurieren und Verarbeiten von Alarmsätzen zum Generieren von Alarmrollup-Informationen für eine ausgewählte Gruppe von Alarmbedingungen. Zu Beginn, bei 1602, werden die Alarmbedingungen als Teil eines industriellen Steuerungskonfigurationsprojekts definiert, das auf einer industriellen Steuerungsvorrichtung installiert wird (ähnlich dem Schritt 1502 der Methodologie 1500). Bei 1604 werden die Alarmbedingungen jeweils einem oder mehreren Steuerungs-Tags zugewiesen, die für das industrielle Steuerungskonfigurationsprojekt definiert sind (ähnlich dem Schritt 1504 der Methodologie 1500). Bei 1606 wird eine Teilmenge der in Schritt 1602 definierten Alarmbedingungen in einen Alarmsatz gruppiert (ähnlich zu Schritt 1506 der Methodologie 1500). Bei 1608 wird das industrielle Steuerungskonfigurationsprojekt auf der industriellen Steuerungsvorrichtung ausgeführt (ähnlich zu Schritt 1508 der Methodologie 1500).
  • Bei 1610 wird eine Rollup-Information für die Teilmenge der Alarmbedingungen berechnet, die in dem in Schritt 1606 definierten Alarmsatz enthalten sind. Diese Rollup-Information kann umfassen, ist jedoch nicht beschränkt auf eine Gesamtanzahl der aktiven Alarmbedingungen im Alarmsatz, eine Gesamtzahl von aktiven Alarmbedingungen des Alarmsatzes, die von einem Bediener nicht bestätigt werden, eine Anzeige der schwersten oder dringlichsten Alarmbedingung aller derzeit aktiven Alarmbedingungen innerhalb des Alarmsatzes, Gesamtzählungen anderer aktueller Zustände der Alarmbedingungen, die in dem Alarmsatz enthalten sind, oder andere derartige Informationen. Diese Rollup-Information kann durch die industrielle Steuerungsvorrichtung basierend auf der in Schritt 1606 spezifizierten Alarmsatzdefinition bestimmt werden. Bei 1612 wird die in Schritt 1610 erzeugte Rollup-Information zu einer Client-Vorrichtung gesendet, die kommunikativ mit der industriellen Steuerungsvorrichtung verbunden ist.
  • 17 ist eine beispielhafte Methodik 1700 zum Konfigurieren von Alarmbedingungseigenschaften als Erweiterungen von Steuerungs-Tags, auf die durch Steuerprogrammanweisungen programmgesteuert zugegriffen werden kann. Zu Beginn, bei 1702, ist ein industrielles Steuerungsprogramm als Teil eines industriellen Steuerkonfigurationsprojekts definiert, das auf einer industriellen Steuerungsvorrichtung (z.B. einer PLC oder einer anderen Art von industrieller Steuerung) installiert werden soll. Das Steuerprogramm kann beispielsweise ein Leiterlogikprogramm, ein oder mehrere sequentielle Funktionsdiagramme, ein oder mehrere Funktionsblockdiagramme, strukturierter Text oder andere derartige Programmtypen sein.
  • Bei 1704 wird ein Steuerungs-Tag als Teil des industriellen Steuerkonfigurationsprojekts definiert. Der Steuerungs-Tag kann einer von mehreren Steuerungs-Tags sein, die in einer Steuerungs-Tag-Datenbank enthalten sein sollen und digitale oder analoge Werte speichern, die vom Steuerprogramm oder von der E/A der Steuervorrichtung während der Laufzeit generiert und referenziert werden.
  • Bei 1706 wird eine Bestimmung vorgenommen, ob dem in Schritt 1704 definierten Steuerungs-Tag eine Alarmbedingung zugewiesen wurde. Die Alarmbedingung ist als Teil des Steuerungskonfigurationsprojekts definiert und definiert eine Bedingung, die die Generierung einer Alarmbenachrichtigung auslösen soll. Zuordnen der Alarmbedingung zu dem Steuerungs-Tag macht die Alarmbedingung abhängig vom Wert des Steuerungs-Tags.
  • Wenn die Alarmbedingung dem Steuerungs-Tag zugewiesen wurde (JA in Schritt 1706), geht das Verfahren zu Schritt 1708 über, in dem Eigenschaften der Alarmbedingung als Erweiterungen des Steuerungs-Tags programmgesteuert zugänglich gemacht werden. Die Eigenschaften der Alarmbedingung, auf die programmatisch zugegriffen werden kann, als Folge des Zuweisens der Alarmbedingung zu der Steuerungsmarkierung, können beispielsweise ein oberer oder unterer Grenzwert sein, der die Alarmbenachrichtigung auslöst, ein Zustand des Steuerungs-Tags, der die Alarmbenachrichtigung auslöst, ein Schweregrad, der dem Alarmzustand zuzuordnen ist, eine Einschaltverzögerung oder AUS Verzögerungswert, der mit dem Alarmzustand, einer Alarmaktivierungseinstellung, einer Alarmaktivierungseinstellung, einer Alarmbestätigung oder anderen derartigen Eigenschaften assoziiert ist.
  • Bei 1710 wird das industrielle Steuerungskonfigurationsprojekt auf der industriellen Steuerungsvorrichtung ausgeführt. Bei 1712 wird eine Entscheidung getroffen, ob ein Steuerprogrammbefehl, der in dem Steuerprogramm enthalten ist, ausgeführt wird, der auf eine Alarmverlängerung des Steuerungs-Tags Bezug nimmt. Wenn ein Steuerprogrammbefehl ausgeführt wird, der auf die Alarmverlängerung des Steuerungs-Tags Bezug nimmt (JA in Schritt 1712), geht das Verfahren zu Schritt 1714 weiter, wo eine Operation bezüglich der Alarmeigenschaft entsprechend der Alarmverlängerung in Übereinstimmung mit dem Steuerprogrammbefehl ausgeführt wird. Zum Beispiel kann der Steuerprogrammbefehl eine Eigenschaft eines hohen Alarmgrenzwerts des Alarmbefehls ändern, indem der gewünschte obere Grenzwert in eine Eigenschaftsverlängerung des Steuerkennzeichens mit hoher Grenze geschrieben wird. Andere Eigenschaften der Alarmbedingung können auf diese Weise ebenfalls modifiziert werden.
  • Ausführungsformen, Systeme und Komponenten, die hierin beschrieben sind, sowie industrielle Steuersysteme und industrielle Automatisierungsumgebungen, in denen verschiedene in der vorliegenden Beschreibung dargelegte Aspekte ausgeführt werden können, können Computer- oder Netzwerkkomponenten, wie zum Beispiel Server, Clients, programmierbare Logiksteuerungen (PLCs), Automatisierungssteuerungen, Kommunikationsmodule, mobile Computer, drahtlose Komponenten, Steuerungskomponenten und so weiter umfassen, die in der Lage sind, über ein Netzwerk zu interagieren. Computer und Server umfassen einen oder mehrere Prozessoren, elektronische integrierte Schaltungen, die Logikoperationen ausführen, die elektrische Signale verwenden, die so konfiguriert sind, dass sie in Medien wie einem Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM) gespeicherte Befehle ausführen, Festplatten, sowie Wechselspeichermedien, die Memory Sticks, Speicherkarten, Flash-Laufwerke, externe Festplatten und so weiter enthalten können.
  • In ähnlicher Weise kann der Begriff PLC oder Automatisierungscontroller, wie er hier verwendet wird, Funktionalität umfassen, die über mehrere Komponenten, Systeme und/oder Netzwerke hinweg geteilt werden kann. Zum Beispiel können eine oder mehrere PLCs oder Automatisierungssteuerungen mit verschiedenen Netzwerkgeräten über das Netzwerk kommunizieren und zusammenarbeiten. Dies kann im Wesentlichen jede Art von Steuerung, Kommunikationsmodul, Computer, Eingabe / Ausgabe- (E/A) -Gerät, Sensor, Aktuator, Instrumentierung und Mensch-Maschine-Schnittstelle (HMI) umfassen, die über das Netzwerk kommunizieren, einschließlich Steuerung, Automatisierung und / oder öffentliche Netzwerke. Die SPS oder die Automatisierungssteuerung kann auch mit verschiedenen anderen Vorrichtungen wie standardmäßigen oder sicherheitsgerichteten E/A-Modulen kommunizieren und diese steuern, einschließlich analoger, digitaler, programmierter / intelligenter Module, anderer programmierbarer Steuerungen, Kommunikationsmodule, Sensoren, Aktoren, Ausgangs-Geräte und dergleichen.
  • Das Netzwerk kann öffentliche Netzwerke wie das Internet, Intranets und Automatisierungsnetzwerke wie Kontroll- und Informationsprotokoll (CIP) -Netzwerke einschließlich DeviceNet, ControlNet und Ethernet/IP umfassen. Andere Netzwerke umfassen Ethernet, DH/DH+, Remote I/O, Feldbus, Modbus, Profibus, CAN, drahtlose Netzwerke, serielle Protokolle, Nahfeldkommunikation (NFC), Bluetooth und so weiter. Darüber hinaus können die Netzwerkgeräte verschiedene Möglichkeiten (Hardware- und/oder Softwarekomponenten) umfassen. Dazu gehören Komponenten wie Switches mit Virtual Local Area Network (VLAN) -Fähigkeit, LANs, WANs, Proxies, Gateways, Router, Firewalls, virtuelle private Netzwerke (VPN) -Geräte, Server, Clients, Computer, Konfigurationstools, Überwachungstools und/oder andere Vorrichtungen.
  • Um einen Kontext für die verschiedenen Aspekte des offenbarten Gegenstands zu schaffen, sollen 18 und 19 sowie die folgende Diskussion eine kurze, allgemeine Beschreibung einer geeigneten Umgebung liefern, in der die verschiedenen Aspekte des offenbarten Gegenstandes implementiert werden können.
  • Mit Bezug auf 18 umfasst eine beispielhafte Umgebung 1810 zum Implementieren verschiedener Aspekte des oben genannten Gegenstands einen Computer 1812. Der Computer 1812 enthält eine Verarbeitungseinheit 1814, einen Systemspeicher 1816 und einen Systembus 1818. Der Systembus 1818 koppelt Systemkomponenten einschließlich, jedoch nicht darauf beschränkt, des Systemspeichers 1816 an die Verarbeitungseinheit 1814. Die Verarbeitungseinheit 1814 kann irgendeiner von verschiedenen verfügbaren Prozessoren sein. Mehrkern-Mikroprozessoren und andere Multiprozessorarchitekturen können ebenfalls als Verarbeitungseinheit 1814 verwendet werden.
  • Der Systembus 1818 kann irgendeiner von mehreren Arten von Busstrukturen sein, einschließlich des Speicherbusses oder Speichercontrollers, eines peripheren Busses oder externen Busses und/oder eines lokalen Busses unter Verwendung einer beliebigen Vielfalt von verfügbaren Busarchitekturen, einschließlich, aber nicht beschränkt auf, 8-Bit-Bus, industrielle Standardarchitektur (ISA), Mikrokanalarchitektur (MSA), erweiterte ISA (EISA), intelligente Antriebselektronik (IDE), VESA-Lokalbus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer-Speicherkarten International Association Bus (PCMCIA) und Small Computer Systems Interface (SCSI).
  • Der Systemspeicher 1816 enthält einen flüchtigen Speicher 1820 und einen nichtflüchtigen Speicher 1822. Das Basis-Eingabe/Ausgabe-System (BIOS), das die Grundroutinen zum Übertragen von Informationen zwischen Elementen innerhalb des Computers 1812 enthält, beispielsweise während des Hochfahrens, ist in dem nichtflüchtigen Speicher 1822 gespeichert. Zur Veranschaulichung und nicht zur Einschränkung kann der nichtflüchtige Speicher 1822 einen Nur-Lese-Speicher (ROM), einen programmierbaren ROM (PROM), einen elektrisch programmierbaren ROM (EPROM), einen elektrisch löschbaren PROM (EEPROM) oder einen Flash-Speicher umfassen. Der flüchtige Speicher 1820 enthält einen Direktzugriffsspeicher (RAM), der als externer Cache-Speicher wirkt. Zur Veranschaulichung und nicht zur Beschränkung ist RAM in vielen Formen verfügbar, wie etwa synchrones RAM (SRAM), dynamisches RAM (DRAM), synchrones DRAM (SDRAM), SDRAM mit doppelter Datenrate (DDR SDRAM), erweitertes SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) und direkter Rambus RAM (DRRAM).
  • Der Computer 1812 umfasst auch entfernbare/nicht-entfernbare, flüchtige/nichtflüchtige Computerspeichermedien. 18 veranschaulicht beispielsweise einen Plattenspeicher 1824. Der Plattenspeicher 1824 beinhaltet, ist jedoch nicht beschränkt auf Geräte wie ein Magnetplattenlaufwerk, Diskettenlaufwerk, Bandlaufwerk, Jaz-Laufwerk, Zip-Laufwerk, LS-100-Laufwerk, Flash-Speicherkarte oder Speicherstick. Außerdem kann der Plattenspeicher 1824 Speichermedien separat oder in Kombination mit anderen Speichermedien einschließlich, aber nicht darauf beschränkt, eines optischen Plattenlaufwerks wie einer CD-ROM-Vorrichtung (CD-ROM), CD-bespielbaren Laufwerks (CD-R-Laufwerk), Wiederbeschreibbares CD-Laufwerk (CD-RW-Laufwerk) oder ein DVD-ROM-Laufwerk (DVD-ROM) umfassen. Um die Verbindung des Plattenspeichers 1824 mit dem Systembus 1818 zu erleichtern, wird typischerweise eine entfernbare oder nicht entfernbare Schnittstelle wie die Schnittstelle 1826 verwendet.
  • Es versteht sich, dass 18 eine Software beschreibt, die als Vermittler zwischen Benutzern und den grundlegenden Computerressourcen fungiert, die in einer geeigneten Betriebsumgebung 1810 beschrieben sind. Eine solche Software umfasst ein Betriebssystem 1828. Das Betriebssystem 1828, das auf dem Plattenspeicher 1824 gespeichert werden kann, dient dazu, Ressourcen des Computers 1812 zu steuern und zuzuteilen. Die Systemanwendungen 1830 nutzen die Verwaltung von Ressourcen durch das Betriebssystem 1828 durch Programmmodule 1832 und Programmdaten 1834, die entweder im Systemspeicher 1816 oder im Plattenspeicher 1824 gespeichert sind. Es versteht sich, dass eine oder mehrere Ausführungsformen der vorliegenden Offenbarung mit verschiedenen Betriebssystemen oder Kombinationen von Betriebssystemen implementiert werden können.
  • Ein Benutzer gibt Befehle oder Informationen über die Eingabevorrichtung(en) 1836 in den Computer 1812 ein. Eingabevorrichtungen 1836 umfassen, sind aber nicht beschränkt auf, eine Zeigevorrichtung, wie eine Maus, Trackball, Stift, Touchpad, Tastatur, Mikrofon, Joystick, Spielkonsole, Satellitenschüssel, Scanner, TV-Tunerkarte, Digitalkamera, digitale Videokamera, Webkamera und dergleichen. Diese und andere Eingabevorrichtungen sind mit der Verarbeitungseinheit 1814 über den Systembus 1818 über Schnittstellenanschlüsse 1838 verbunden. Der Schnittstellenanschluss 1838 umfasst zum Beispiel einen seriellen Anschluss, einen parallelen Anschluss, einen Spielanschluss und einen universellen seriellen Bus (USB). Die Ausgabevorrichtung(en) 1840 verwenden etwas von dem gleichen Typ von Anschlüssen wie die Eingabevorrichtung(en) 1836. So kann beispielsweise ein USB-Anschluss verwendet werden, um dem Computer 1812 eine Eingabe zu geben und Informationen von dem Computer 1812 an ein Ausgabegerät 1840 auszugeben. Die Ausgabeadapter 1842 sind vorgesehen, um zu veranschaulichen, dass es einige Ausgabevorrichtungen 1840 wie Monitore, Lautsprecher und Drucker neben anderen Ausgabevorrichtungen 1840 gibt, die spezielle Adapter benötigen. Die Ausgabeadapter 1842 umfassen, zur Veranschaulichung und nicht zur Einschränkung, Video- und Soundkarten, die ein Verbindungsmittel zwischen der Ausgabevorrichtung 1840 und dem Systembus 1818 bereitstellen. Es sollte angemerkt werden, dass andere Vorrichtungen und/oder Systeme von Vorrichtungen sowohl Eingabe- als auch Ausgabefähigkeiten bereitstellen, wie z.B. entfernte Computer 1844.
  • Der Computer 1812 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen zu einem oder mehreren entfernten Computern arbeiten, wie z.B. einem oder mehreren entfernten Computern 1844. Der (die) entfernte(n) Computer 1844 können ein Personalcomputer, ein Server, ein Router, ein Netzwerk-PC, eine Workstation, eine mikroprozessorbasierte Anwendung, eine Peer-Vorrichtung oder ein anderer gemeinsamer Netzwerkknoten und dergleichen sein und umfasst typischerweise viele oder alle Elemente, die bezüglich des Computers 1812 beschrieben sind. Aus Gründen der Kürze ist nur eine Speichervorrichtung 1846 mit einem oder mehreren entfernten Computern 1844 dargestellt. Ein oder mehrere entfernte Computer 1844 sind über eine Netzwerkschnittstelle 1848 logisch mit dem Computer 1812 verbunden und dann über die Kommunikationsverbindung 1850 physikalisch verbunden. Die Netzwerkschnittstelle 1848 umfasst Kommunikationsnetzwerke wie lokale Netzwerke (LAN) und Weitverkehrsnetzwerke (WAN). LAN-Technologien umfassen eine faserverteilte Datenschnittstelle (FDDI), eine kupferverteilte Datenschnittstelle (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 und dergleichen. WAN-Technologien umfassen, sind aber nicht beschränkt auf, Punkt-zu-Punkt-Verbindungen, leitungsvermittelnde Netze wie ISDN (Integrated Services Digital Networks) und Variationen davon, Paketvermittlungsnetzwerke und DSL (Digital Subscriber Lines). Netzwerkschnittstelle 1848 kann auch Nahfeldkommunikation (NFC) oder Bluetooth-Kommunikation umfassen.
  • Kommunikationsverbindung(en) 1850 bezieht sich auf die Hardware/Software, die verwendet wird, um die Netzwerkschnittstelle 1848 mit dem Systembus 1818 zu verbinden. Während die Kommunikationsverbindung 1850 zur Veranschaulichung im Computer 1812 gezeigt ist, kann sie auch extern zum Computer 1812 sein. Die Hardware/Software, die für die Verbindung mit der Netzwerkschnittstelle 1848 erforderlich ist, enthält nur zu Beispielszwecken interne und externe Technologien wie Modems einschließlich normaler Modems, Kabelmodems und DSL-Modems, ISDN-Adapter und Ethernet-Karten.
  • 19 ist ein schematisches Blockdiagramm einer beispielhaften Computerumgebung 1900, mit der der offenbarte Gegenstand interagieren kann. Die beispielhafte Computerumgebung 1900 enthält einen oder mehrere Client(s) 1902. Der Client (die Clients) 1902 kann Hardware und/oder Software (z.B. Threads, Prozesse, Computergeräte) sein. Die beispielhafte Computerumgebung 1900 umfasst auch einen oder mehrere Server 804. Der/die Server 1904 können auch Hardware und/oder Software (z.B. Threads, Prozesse, Computergeräte) sein. Die Server 1904 können Threads beherbergen, um Transformationen durchzuführen, indem beispielsweise eine oder mehrere Ausführungsformen, wie hierin beschrieben, verwendet werden. Eine mögliche Kommunikation zwischen einem Client 1902 und Servern 1904 kann in Form eines Datenpakets vorliegen, das angepasst ist, um zwischen zwei oder mehr Computerprozessen übertragen zu werden. Die Beispielcomputerumgebung 1900 enthält ein Kommunikationsframework 1906, das verwendet werden kann, um Kommunikationen zwischen dem (den) Client(s) 1902 und dem/den Server(n) 1904 zu ermöglichen. Der (die) Client(s) 1902 sind operativ mit einem oder mehreren Client-Datenspeicher(n) 1908 verbunden, die verwendet werden können, um lokale Informationen zu dem/den Client(s) 1902 zu speichern. In ähnlicher Weise sind der/die Server 1904 operativ mit einem oder mehreren Serverdatenspeichern 1910 verbunden, die verwendet werden können, um Informationen lokal zu den Servern 1904 zu speichern.
  • Was oben beschrieben wurde, umfasst Beispiele für die vorliegende Erfindung. Es ist natürlich nicht möglich, jede denkbare Kombination von Komponenten oder Methodologien zum Zwecke der Beschreibung des offenbarten Gegenstands zu beschreiben, aber ein Durchschnittsfachmann wird erkennen, dass viele weitere Kombinationen und Permutationen der vorliegenden Erfindung möglich sind. Dementsprechend soll der offenbarte Gegenstand alle derartigen Änderungen, Modifikationen und Variationen umfassen, die in den Geist und Umfang der beigefügten Ansprüche fallen.
  • Insbesondere und in Bezug auf die verschiedenen Funktionen, die von den oben beschriebenen Komponenten, Vorrichtungen, Schaltungen, Systemen und dergleichen ausgeführt werden, sollen die Begriffe (einschließlich eines Verweises auf eine „Bedeutung“), die zur Beschreibung solcher Komponenten verwendet werden, übereinstimmen, wenn nicht anders angegeben, für jede Komponente, die die spezifizierte Funktion der beschriebenen Komponente ausführt (z.B. ein funktionelles Äquivalent), obwohl sie nicht strukturell äquivalent zu der offenbarten Struktur ist, die die Funktion in den hierin veranschaulichten beispielhaften Aspekten des offenbarten Gegenstands ausführt. In dieser Hinsicht wird auch erkannt werden, dass der offenbarte Gegenstand ein System sowie ein computerlesbares Medium mit computerausführbaren Anweisungen zum Ausführen der Handlungen und / oder Ereignisse der verschiedenen Verfahren des offenbarten Gegenstands umfasst.
  • Während ein bestimmtes Merkmal des offenbarten Gegenstands in Bezug auf nur eine von mehreren Implementierungen offenbart worden ist, kann ein solches Merkmal zusätzlich mit einem oder mehreren anderen Merkmalen der anderen Implementierungen kombiniert werden, wie dies gewünscht und vorteilhaft sein kann jede gegebene oder bestimmte Anwendung. In dem Umfang, in dem die Begriffe „enthalten“, „enthalten“ und „Varianten davon“ in der detaillierten Beschreibung oder den Ansprüchen verwendet werden, sollen diese Ausdrücke in ähnlicher Weise wie der Begriff „umfassend“ eingeschlossen sein.
  • In dieser Anwendung wird das Wort „vorbildlich“ dazu verwendet, als Beispiel, Instanz oder Illustration zu dienen. Jeder hier als „beispielhaft“ beschriebene Aspekt oder Entwurf muss nicht notwendigerweise als bevorzugt oder gegenüber anderen Aspekten oder Entwürfen vorteilhaft ausgelegt werden. Vielmehr soll die Verwendung des Wortes Beispiel Konzepte konkret darstellen.
  • Verschiedene Aspekte oder Merkmale, die hierin beschrieben sind, können als ein Verfahren, eine Vorrichtung oder ein Herstellungsartikel unter Verwendung von Standardprogrammierungs- und/oder Ingenieurtechniken implementiert werden. Der Ausdruck „Herstellungsartikel“, wie er hier verwendet wird, soll ein Computerprogramm umfassen, auf das von jedem computerlesbaren Gerät, Träger oder Medium zugegriffen werden kann. Zum Beispiel können computerlesbare Medien Magnetspeichervorrichtungen (z.B. Festplatte, Diskette, Magnetstreifen), optische Platten (z.B. Compact Disk (CD), Digital Versatile Disk (DVD), Smartcards und Flash-Speichergeräte (z.B. Karte, Stick, Key-Laufwerk) umfassen, sind aber nicht darauf beschränkt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/516872 [0001]

Claims (20)

  1. Industrielle Steuerungsvorrichtung, umfassend: ein Speicher, der ausführbare Komponenten speichert; einen Prozessor, der operativ mit dem Speicher verbunden ist, der die ausführbaren Komponenten ausführt, wobei die ausführbaren Komponenten umfassen: eine Programmausführungskomponente, die konfiguriert ist, um ein industrielles Steuerprogramm auszuführen; eine Tag-Datenbankkomponente, die konfiguriert ist, Steuerungs-Tags zu halten, die dem industriellen Steuerprogramm zugeordnet sind; und eine Alarmverarbeitungskomponente, die so konfiguriert ist, dass sie als Reaktion auf den Empfang von Alarmkonfigurationsdaten, die eine Alarmbedingung definieren und einen Steuerungs-Tag der Steuerungs-Tags identifizieren, eine Verbindung zwischen der Alarmbedingung und dem Steuerungs-Tag herstellt, wobei die Zuordnung bewirkt, dass die Alarmbedingung eine Funktion eines Werts des Steuerungs-Tags ist, die Alarmverarbeitungskomponente ferner dazu konfiguriert ist, in Reaktion auf eine Bestimmung, dass der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, basierend auf der Zuordnung eine Alarmbenachrichtigung zu erzeugen, und auf die Alarmbenachrichtigung durch eine externe Anwendung zugegriffen werden kann.
  2. Industrielle Steuerungsvorrichtung nach Anspruch 1, wobei die industrielle Steuerungsvorrichtung eine industrielle Steuerung oder ein Motorantrieb ist.
  3. Industrielle Steuervorrichtung nach Anspruch 1 oder 2, wobei die Alarmkonfigurationsdaten den Alarmzustand definieren und einen Datentyp identifizieren, der dem Alarmzustand zugeordnet werden soll, und die Alarmverarbeitungskomponente weiterhin konfiguriert ist zum, basierend auf den Alarmkonfigurationsdaten, Erstellen einer Verbindung zwischen der Alarmbedingung und einer Teilmenge der Steuerungs-Tags, die dem Datentyp entsprechen, als Reaktion auf das Empfangen einer Änderung des Alarmzustands nach dem Erstellen der Zuordnung, Anwenden der Änderung auf Instanzen der Alarmbedingung, die der jeweiligen Teilmenge der Steuerungs-Tags zugeordnet sind, und als Reaktion auf die Erstellung eines neuen Steuerungs-Tags, der eine Instanz des Datentyps darstellt, Zuordnen der Alarmbedingung zu dem neuen Daten-Tag nach dem Erstellen der Verbindung.
  4. Industrielle Steuervorrichtung nach einem der Ansprüche 1 bis 3, wobei der Alarmzustand ein erster Alarmzustand ist, und die Alarmkonfigurationsdaten eine zweite Alarmbedingung und eine Verbindung zwischen der zweiten Alarmbedingung und mindestens einem von einer Zusatzanweisung, einem E/A-Modul, einer Steuersystemkomponente, einer Bewegungssteuerungsachse oder einer eingebauten Anweisung definieren.
  5. Industrielle Steuervorrichtung nach einem der Ansprüche 1 bis 4, wobei die Alarmverarbeitungskomponente konfiguriert ist, um den Alarmzustand und den Steuerungs-Tag zu auszuwerten, um zu bestimmen, ob der Wert des Steuerungs-Tags den Alarmzustand unter Verwendung eines ersten Ausführungs-Threads erfüllt, der sich von einem zweiten Ausführungs-Thread unterscheidet, der das industrielle Steuerprogramm ausführt.
  6. Industrielle Steuervorrichtung nach einem der Ansprüche 1 bis 5, wobei die Zuordnung zwischen der Alarmbedingung und dem Steuerungs-Tag bewirkt, dass eine oder mehrere Eigenschaften des Alarmzustands programmatisch als Erweiterungen des Steuerungs-Tags zugänglich sind.
  7. Industriesteuervorrichtung nach Anspruch 6, wobei die eine oder mehreren Eigenschaften mindestens einen von einem Alarmzustand, einem oberen Grenzsollwert, einem unteren Grenzsollwert, einer EIN-Verzögerungseigenschaft, einer AUS-Verzögerungseigenschaft, einer Aktivierungseigenschaft, einer Sperreigenschaft, einer Bestätigungseigenschaft oder einem Schweregrad der Alarmbedingung aufweisen.
  8. Industrielle Steuerungsvorrichtung nach Anspruch 6 oder 7, wobei mindestens eine der einen oder mehreren Eigenschaften eine Deaktivierungseigenschaft ist, die, während sie gesetzt ist, eine Auswertung der Alarmbedingung verhindert, und die Alarmverarbeitungskomponente konfiguriert ist, um einen Zustand der Sperreigenschaft in Übereinstimmung mit einem Befehl, der durch das industrielle Steuerprogramm erzeugt wird, oder einem Befehl, der über eine Mensch-Maschine-Schnittstellenvorrichtung empfangen wird, zu ändern.
  9. Industrielle Steuervorrichtung nach Anspruch 1 bis 8, wobei die Alarmkonfigurationsdaten mehrere Alarmbedingungen definieren, die in einem Alarmsatz enthalten sein sollen, und die Alarmverarbeitungskomponente ferner konfiguriert ist, um als Reaktion auf den Empfang einer Gruppenalarmoperation, die auf die Alarmgruppe gerichtet ist, die Gruppenalarmoperation auf die mehreren Alarmbedingungen anzuwenden, die in der Alarmgruppe enthalten sind.
  10. Industrielle Steuerungsvorrichtung nach Anspruch 9, wobei die Gruppenalarmoperation mindestens eine von einer Bestätigungsoperation, einem Unterdrückungsbefehl, einem Nichtunterdrückungsbefehl, einem Zurücksetzen-Befehl, einem Nicht-Unterstützen-Befehl, einem Deaktivierungsbefehl, einem Freigabebefehl oder einem Rücksetzbefehl ist.
  11. Industrielle Steuerungsvorrichtung nach Anspruch 9 oder 10, wobei die Alarmverarbeitungskomponente ferner konfiguriert ist, um Rollup-Informationen für die mehreren Alarmbedingung, die in dem Alarmsatz enthalten sind, zu erzeugen und um die Rollup-Informationen für die externe Anwendung und das industrielle Steuerprogramm zugänglich zu machen, und wobei die Rollup-Informationen wenigstens eines von einer Angabe einer Anzahl der derzeit aktiven Mehrfachalarmbedingungen, einer Anzahl der derzeit nicht bestätigten Mehrfachalarmbedingungen, einer Identität einer schwerwiegendsten aktiven Alarmbedingung der mehreren Alarmbedingungen oder eine Anzahl der mehreren Alarmbedingungen umfasst, die sich in einem definierten Zustand befinden.
  12. Verfahren zum Konfigurieren und Auswerten von industriellen Alarmen, umfassend: Empfangen, durch eine industrielle Steuerungsvorrichtung mit einem Prozessor, von Alarmkonfigurationsdaten, die einen Alarmzustand definieren, und Identifizieren eines Steuerungs-Tags eines Satzes von Steuerungs-Tags, die auf der industriellen Steuerungsvorrichtung definiert sind, um mit dem Alarmzustand verbunden zu sein; in Reaktion auf das Empfangen, Erzeugen, durch die industrielle Steuerungsvorrichtung, einer Verbindung zwischen der Alarmbedingung und des Steuerungs-Tags, wobei das Erzeugen der Verbindung bewirkt, dass die Alarmbedingung eine Funktion eines Werts des Steuerungs-Tags ist; und in Reaktion auf Bestimmen, dass der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, Erzeugen, durch die industrielle Steuerungsvorrichtung, einer Alarmbenachrichtigung gemäß der Verbindung, wobei die Alarmbenachrichtigung für eine externe Anwendung zugänglich ist.
  13. Verfahren nach Anspruch 12, wobei das Empfangen ein Empfangen einer Identität eines Datentyps, der mit dem Alarmzustand verbunden ist, als Teil der Alarmkonfigurationsdaten umfasst, und das Verfahren ferner ein Erzeugen, durch die industrielle Steuerungsvorrichtung basierend auf den Alarmkonfigurationsdaten, einer Zuordnung zwischen der Alarmbedingung und einer Teilmenge der Steuerungs-Tags, die Instanzen des Datentyps sind, umfasst.
  14. Verfahren nach Anspruch 12 oder 13, ferner umfassend ein Auswerten, durch eine industrielle Steuerungsvorrichtung, ob der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, unter Verwendung eines ersten Ausführungs-Threads, der von einem zweiten Ausführungs-Thread getrennt ist, der ein industrielles Steuerprogramm der industriellen Steuervorrichtung ausführt.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei das Erzeugen der Verbindung ein Rendern einer oder mehrerer Eigenschaften des Alarmzustands als erweiterte Mitglieder des Steuerungs-Tags umfasst.
  16. Verfahren nach einem der Ansprüche 12 bis 15, wobei das Empfangen ein Empfangen von Alarmkonfigurationsdaten als Teil der Alarmkonfigurationsdaten umfasst, die mehrere Alarmzustände identifizieren, die zu einem Alarmsatz zu gruppieren sind, und das Verfahren ferner umfasst, in Reaktion auf das Empfangen einer Gruppenalarmoperation, die auf den Alarmsatz gerichtet ist, Ausführen durch die industrielle Steuervorrichtung basierend auf den Alarmsatzdefinitionsdaten der Gruppenalarmoperation auf die mehreren Alarmbedingungen, die in dem Alarmsatz enthalten sind.
  17. Verfahren nach Anspruch 16, ferner umfassend: Erzeugen, durch die industrielle Steuerungsvorrichtung basierend auf den AlarmsatzDefinitionsdaten, von Alarm-Rollup-Informationen für die mehreren Alarmzustände, die in dem Alarmsatz enthalten sind; und Bereitstellen, durch die industrielle Steuerungsvorrichtung, der Alarm-Rollup-Information für die externe Anwendung und für ein industrielles Steuerprogramm, das von der industriellen Steuervorrichtung ausgeführt wird.
  18. Nichtflüchtiges computerlesbares Medium, auf dem Anweisungen gespeichert sind, die als Reaktion auf die Ausführung eine industrielle Steuervorrichtung mit einem Prozessor zum Ausführen von Operationen veranlassen, wobei die Operationen umfassen: Empfangen von Alarmkonfigurationsdaten, die einen Alarmzustand definieren, und Identifizieren eines Steuerungs-Tags eines Satzes von Steuerungs-Tags, die auf der industriellen Steuerungsvorrichtung definiert sind, um mit dem Alarmzustand verbunden zu sein; in Reaktion auf das Empfangen, Erzeugen einer Verbindung zwischen der Alarmbedingung und des Steuerungs-Tags, wobei das Erzeugen der Verbindung bewirkt, dass die Alarmbedingung eine Funktion eines Werts des Steuerungs-Tags ist; und in Reaktion auf Bestimmen, dass der Wert des Steuerungs-Tags die Alarmbedingung erfüllt, Erzeugen einer Alarmbenachrichtigung gemäß der Verbindung, wobei die Alarmbenachrichtigung für eine externe Anwendung zugänglich ist.
  19. Nichtflüchtiges computerlesbares Medium nach Anspruch 18, wobei das Empfangen ein Empfangen als Teil der Alarmkonfigurationsdaten einer Identität eines Datentyps umfasst, der dem Alarmzustand zugeordnet werden soll, und die Operationen ferner ein Erstellen einer Verbindung zwischen der Alarmbedingung und einer Teilmenge der Steuerungs-Tags, die dem Datentyp entsprechen, basierend auf den Alarmkonfigurationsdaten umfassen.
  20. Nichtflüchtiges computerlesbares Medium nach Anspruch 18 oder 19, wobei die Operationen ferner umfassen: Empfangen von Definitionsdaten eines Alarmsatzes, die mehrere Alarmbedingungen identifizieren, die zu einem Alarmsatz gruppiert werden sollen, und als Reaktion auf das Empfangen einer Gruppenalarmoperation, die auf den Alarmsatz gerichtet ist, Ausführen, basierend auf den Alarmsatzdefinitionsdaten, der Gruppenalarmoperation bezüglich der mehreren Alarmbedingungen, die in dem Alarmsatz enthalten sind.
DE102018209023.8A 2017-06-08 2018-06-07 Verfahren zur konfiguration von alarmen von steuerungssystemen durch verbindung von alarmen mit tags Pending DE102018209023A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762516872P 2017-06-08 2017-06-08
US62/516,872 2017-06-08
US15/983,995 2018-05-18
US15/983,995 US10410493B2 (en) 2017-06-08 2018-05-18 Method to configure control system alarms by associating alarms to tags

Publications (1)

Publication Number Publication Date
DE102018209023A1 true DE102018209023A1 (de) 2018-12-13

Family

ID=64332731

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018209023.8A Pending DE102018209023A1 (de) 2017-06-08 2018-06-07 Verfahren zur konfiguration von alarmen von steuerungssystemen durch verbindung von alarmen mit tags

Country Status (1)

Country Link
DE (1) DE102018209023A1 (de)

Similar Documents

Publication Publication Date Title
DE112012006925B4 (de) Systemkonstruktions-Unterstützungswerkzeug und System
US10607466B2 (en) Method to configure control system alarms by associating alarms to tags
DE102008017843A1 (de) Verfahren und Vorrichtungen zur Verwaltung von Prozessanlagenalarmen
DE102018124268A1 (de) Projekte innerhalb eines prozesssteuerungs-betriebsmittelverwaltungssystems
DE102015122002A1 (de) Verfahren und Apparatur zur Bereitstellung einer rollenbasierten Benutzerschnittstelle
DE102008010864A1 (de) Verfahren zum Betreiben eines Feldgerätes
DE102016124348A1 (de) System und Mikroservice zum Überwachen einer Anlage der Prozessautomatisierung
DE112017005957B4 (de) Informationsverarbeitungssystem und Informationsverarbeitungsverfahren
DE102010037702A1 (de) Dynamisch verknüpfte grafische Nachrichten für Prozesssteuerungssysteme
DE102017124802A1 (de) Alarmhandhabungs- und -beobachtungsunterstützung in einer prozessanlage
DE102018124358A1 (de) Systeme und verfahren zur grafischen konfigurationsdesignprüfung in einer prozessanlage
DE102011008941A1 (de) System zur Visualisierung von Statusinformationen von Feldgeräten
DE102019123645A1 (de) Systeme und verfahren zum einbetten eines web-frames in prozessgrafik
EP3384352B1 (de) Verfahren und system zur optimierung der inbetriebnahme von zumindest einem einer vielzahl von feldgeräten der automatisierungstechnik
DE102015111875A1 (de) Prozesssteuerungssystem unter Verwendung typischer bzw. Adapterkomponenten
DE102021127384A1 (de) Industrielles prozesssteuerungssystem als rechenzentrum einer industriellen prozessanlage
EP2808749B1 (de) Verfahren zum Austausch von Steuerungsinformationen zwischen Bedien- und Beobachtungsgeräten eines industriellen Automatisierungssystems und industrielles Automatisierungssystem
DE102010038457A1 (de) Verfahren zur Integration eines Ersatz-Feldgerätes anstelle eines Feldgeräts in ein Feldbussystem
DE102019107401A1 (de) Systeme und verfahren zur verwaltung von warnungen im zusammenhang mit geräten eines prozesssteuerungssystems
DE102016124285A1 (de) Zustandsänderungsverwaltungssystem für eine fertigungszelle in einem zellensteuerungssystem
DE102018209023A1 (de) Verfahren zur konfiguration von alarmen von steuerungssystemen durch verbindung von alarmen mit tags
DE102011077787A1 (de) System zum Zugriff von zumindest einem Client auf zumindest ein Feldgerät
EP3699704B1 (de) System und verfahren zum überprüfen von systemanforderungen von cyber-physikalischen systemen
DE10354938B4 (de) Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems
DE102016119744A1 (de) Verfahren und System zum Verhindern eines unerwünschten Zugriffs auf ein Feldgerät