-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft im Allgemeinen eine Prozesssteuerungsumgebung und insbesondere ein Konfigurationssystem, das es einem Benutzer ermöglicht, eine Steuerlogik zum Steuern eines Prozesses zu konzipieren, zu testen und eine Vorschau anzuzeigen, bevor die Steuerlogik in eine Konfigurationsdatenbank oder eine Prozesssteuerung in der Anlage heruntergeladen wird.
-
HINTERGRUND
-
Dezentrale Prozesssteuerungssysteme, z. B. dezentrale oder skalierbare Prozesssteuerungssysteme wie jene, die bei Energieerzeugungs-, Chemie-, Erdöl- oder anderen Prozessen verwendet werden, beinhalten typischerweise eine oder mehrere Prozesssteuerungen, die miteinander, über ein Prozesssteuerungsnetzwerk mit mindestens einer Host- oder Bedienerarbeitsstation, und über analoge, digitale oder kombinierte analoge/digitale Busse mit einem oder mehreren Instrumentierungs- oder Feldgeräten kommunikativ gekoppelt sind.
-
Die Feldgeräte führen Funktionen innerhalb des Prozesses oder der Anlage aus,
z. B. Öffnen oder Schließen von Ventilen, Ein- und Ausschalten von Geräten und Messen von Prozessparametern. Beispielhafte Feldgeräte schließen Ventile, Ventilstellungsregler, Schalter und Messwertgeber (z. B. Geräte, die Sensoren zum Messen von Temperatur, Druck oder Durchflussrate enthalten; und Messwertgeber zum Übertragen der erfassten Temperaturen, Drücke und Durchflussraten) ein.
-
Die Prozesssteuerungen, die sich typischerweise in der Anlagenumgebung befinden, empfangen Signale, die für die von den Feldgeräten durchgeführten Prozessmessungen (oder andere die Feldgeräte betreffenden Informationen) kennzeichnend sind, und führen eine Steuerungsanwendung aus, in der z. B. verschiedene Steuermodule laufen, die Entscheidungen zur Prozesssteuerung treffen, auf der Grundlage der empfangenen Informationen Steuersignale erzeugen und sich mit den Steuermodulen oder Blöcken koordinieren, die in den Feldgeräten ausgeführt werden (wie z. B. HART®-, WirelessHART®- und FOUNDATION®-Fieldbus-Feldgeräte).
-
Die Ausführung der Steuermodule bewirkt, dass die Prozesssteuerungen die Steuersignale über die Kommunikationsverknüpfungen oder Signalwege zu den Feldgeräten senden, um dadurch den Betrieb mindestens eines Abschnitts der Prozessanlage oder des Systems zu steuern (z. B. um mindestens einen Abschnitt eines oder mehrerer industrieller Prozesse zu steuern, die innerhalb der Anlage oder des Systems laufen oder ausgeführt werden). Beispielsweise kann ein erster Satz von Steuerung(en) und Feldgeräten einen ersten Abschnitt eines Prozesses steuern, der von der Prozessanlage oder dem System gesteuert wird, und ein zweiter Satz von Steuerung(en) und Feldgeräten kann einen zweiten Abschnitt des Prozesses steuern.
-
Eingangs-/Ausgangs- (I/O)-Karten (manchmal als „I/O-Geräte“ oder „I/O-Module“ bezeichnet), die sich typischerweise ebenfalls innerhalb der Anlagenumgebung befinden, sind typischerweise kommunikativ zwischen einer Steuerung und einem oder mehreren Feldgeräten angeordnet, wodurch sie die Kommunikation untereinander ermöglichen (z. B. durch Umwandlung elektrischer Signale in digitale Werte und umgekehrt). In der Regel fungiert eine I/O-Karte als Zwischenknoten zwischen einer Prozesssteuerung und einem oder mehreren Ein- oder Ausgängen von Feldgeräten, die für dasselbe Kommunikationsprotokoll oder dieselben -Protokolle konfiguriert sind wie die von der I/O-Karte verwendeten. Insbesondere sind Ein- und Ausgänge von Feldgeräten typischerweise entweder für analoge oder diskrete Kommunikation konfiguriert. Um mit einem Feldgerät zu kommunizieren, benötigt eine Steuerung im Allgemeinen eine I/O-Karte, die für denselben Typ von Ein- oder Ausgang konfiguriert ist, der vom Feldgerät verwendet wird. Das heißt, für ein Feldgerät, das zum Empfangen von analogen Steuerausgangssignalen (z. B. einem 4-20 mA-Signal) konfiguriert ist, benötigt die Steuerung eine I/O-Karte mit analogem Ausgang (AO), um das entsprechende analoge Steuerausgangssignal zu übertragen; und für ein Feldgerät, das dazu konfiguriert ist, Messungen oder andere Informationen über ein analoges Signal zu übertragen, benötigt die Steuerung typischerweise eine analoge Eingangs-(AI)-Karte, um die übertragenen Informationen zu empfangen. In ähnlicher Weise benötigt die Steuerung für ein Feldgerät, das zum Empfangen von diskreten Steuerausgangssignalen konfiguriert ist, eine I/O-Karte mit diskretem Ausgang (DO), um das geeignete diskrete Steuerausgangssignal zu übertragen; und für ein Feldgerät, das konfiguriert ist, um Informationen über ein diskretes Steuereingangssignal zu übertragen, benötigt die Steuerung eine diskrete Eingangs-(DI)-I/O-Karte. Im Allgemeinen kann jede I/O-Karte mit mehreren Ein- oder Ausgängen von Feldgeräten verbunden werden, wobei jede Kommunikationsverknüpfung zu einem bestimmten Eingang oder Ausgang als „Kanal“ bezeichnet wird. Beispielsweise kann eine 120-Kanal-DO-I/O-Karte kommunikativ mit 120 verschiedenen diskreten Feldgeräteeingängen verbunden sein, wodurch die Steuerung (über die DO-I/O-Karte) diskrete Steuerausgangssignale an die 120 verschiedenen diskreten Feldgeräteeingänge senden kann.
-
Wie hierin verwendet, werden Feldgeräte, Steuerungen und I/O-Geräte im Allgemeinen als „Prozesssteuerungsgeräte“ bezeichnet und sind im Allgemeinen in einer Feldumgebung eines Prozesssteuerungssystems oder einer Anlage platziert, angeordnet oder installiert. Das Netzwerk, das von einer oder mehreren Steuerungen gebildet wird, die Feldgeräte, die kommunikativ mit der einen oder den mehreren Steuerungen verbunden sind, und die Zwischenknoten, die die Kommunikation zwischen den Steuerungen und Feldgeräten erleichtern, können als „I/O-Netzwerk“ oder „I/O-Subsystem“ bezeichnet werden.
-
Informationen von dem oder den I/O-Netzwerken können über eine Datenautobahn oder ein Kommunikationsnetzwerk (das „Prozesssteuerungsnetzwerk“) einem oder mehreren anderen Hardware-Geräten, wie z. B. Bedienerarbeitsstationen, Personalcomputern oder Rechengeräten, Datenhistoriker-Geräten, Berichtsgeneratoren, zentralisierten Datenbanken oder anderen zentralisierten administrativen Rechengeräten, die typischerweise in Leitstellen oder an anderen Standorten außerhalb der raueren Feldumgebung der Anlage, z. B. in einer Back-End-Umgebung der Prozessanlage, aufgestellt sind, zur Verfügung gestellt werden.
-
Die über das Prozesssteuerungsnetzwerk kommunizierten Informationen ermöglichen es einer Bedienungs- oder Wartungsperson, die gewünschten Funktionen in Bezug auf den Prozess über ein oder mehrere an das Netzwerk angeschlossene Hardwaregeräte auszuführen. Auf diesen Hardware-Geräten können Anwendungen laufen, die es einem Bediener ermöglichen, beispielsweise Einstellungen der Prozesssteuerroutine(n) zu ändern, den Betrieb der Steuermodule innerhalb der Prozesssteuerungen oder der Smart-Field-Geräte zu modifizieren, den aktuellen Status des Prozesses oder den Status bestimmter Geräte innerhalb der Prozessanlage anzuzeigen, Alarme anzuzeigen, die von Feldgeräten und Prozesssteuerungen erzeugt wurden, den Betrieb des Prozesses zu simulieren, um Personal zu schulen oder die Prozesssteuerungssoftware zu testen, Probleme oder Hardwarefehler innerhalb der Prozessanlage zu diagnostizieren usw. Das von den Hardwaregeräten, Steuerungen und Feldgeräten verwendete Prozesssteuerungsnetzwerk oder die Datenautobahn kann einen drahtgebundenen Kommunikationsweg, einen drahtlosen Kommunikationsweg oder eine Kombination aus drahtgebundenen und drahtlosen Kommunikationswegen beinhalten.
-
Das von Emerson Process Management verkaufte DeltaVTM-Steuerungssystem beispielsweise beinhaltet mehrere Anwendungen, die in verschiedenen Geräten gespeichert sind und von verschiedenen Geräten an verschiedenen Stellen innerhalb einer Prozessanlage ausgeführt werden. Eine Konfigurationsanwendung, die in einem oder mehreren Arbeitsstationen oder Rechengeräten in einer Back-End-Umgebung eines Prozesssteuerungssystems oder einer Anlage untergebracht ist, ermöglicht Benutzern das Erstellen oder Ändern von Prozesssteuermodulen und das Herunterladen dieser Prozesssteuermodule über eine Datenautobahn auf dedizierte, dezentrale Steuerungen. Typischerweise bestehen diese Steuermodule aus kommunikativ miteinander verbundenen Funktionsblöcken, die Objekte in einem objektorientierten Programmierprotokoll sind, die (i) Funktionen innerhalb des Steuerschemas auf der Basis von dort erfolgten Eingängen ausführen und die (ii) Ausgänge zu anderen Funktionsblöcken innerhalb des Steuerungsschemas bereitstellen. Mit der Konfigurationsanwendung kann ein Konfigurationsdesigner auch Bedienerschnittstellen erstellen oder ändern, die von einer Anzeigeanwendung verwendet werden, um einem Bediener Daten anzuzeigen und es dem Bediener zu ermöglichen, Einstellungen, wie z. B. Sollwerte, innerhalb der Prozesssteuerroutinen zu ändern.
-
Jede spezielle Steuerung (und in einigen Fällen ein oder mehrere Feldgeräte) speichert und führt eine entsprechende Steuerungsanwendung aus, welche die diesem zugewiesenen und darauf heruntergeladenen Steuermodule zur Implementierung der eigentlichen Prozesssteuerungsfunktionalität ausführt. Die Anzeigeanwendungen, die auf einer oder mehreren Bedienerarbeitsstationen (oder auf einem oder mehreren Remote-Rechengeräten in kommunikativer Verbindung mit den Bedienerarbeitsstationen und der Datenautobahn) ausgeführt werden können, empfangen Daten von der Steuerungsanwendung über die Datenautobahn und zeigen diese Daten den Prozesssteuerungssystementwicklern, den Bedienern oder den Benutzern, die die Benutzerschnittstellen verwenden, und können eine Reihe von verschiedenen Ansichten wie etwa eine Bedieneransicht, eine Ingenieursansicht, eine Technikeransicht usw. bereitstellen. Eine Datenhistoriker-Anwendung wird normalerweise in einem Datenhistoriker-Gerät gespeichert und ausgeführt, das einige oder alle über die Datenautobahn bereitgestellten Daten sammelt und speichert, während eine Konfigurationsdatenbank-Anwendung in noch einem weiteren, an die Datenautobahn angeschlossenen Computer laufen kann, um die aktuelle Konfiguration der Prozesssteuerroutine und die ihr zugeordneten Daten zu speichern. Alternativ kann sich die Konfigurationsdatenbank auf der gleichen Arbeitsstation wie die Konfigurationsanwendung befinden.
-
Neben Prozesssteuerungen, I/O-Karten und Feldgeräten beinhaltet ein typisches Prozesssteuerungssystem viele andere unterstützende Geräte, die ebenfalls für den Prozessbetrieb erforderlich sind oder damit zusammenhängen. Zu diesen zusätzlichen Geräten gehören beispielsweise Stromversorgungsausrüstungen, Stromerzeugungs- und -Verteilungsausrüstungen, rotierende Ausrüstungen wie Turbinen usw., die sich an zahlreichen Stellen in einer typischen Anlage befinden.
-
Darüber hinaus sind vielen Prozessanlagen andere Computer zugeordnet, die Anwendungen ausführen, die sich auf Geschäftsfunktionen oder Wartungsfunktionen beziehen. Einige Anlagen schließen beispielsweise Computer ein, die Anwendungen ausführen, die dem Bestellen von Rohstoffen, Ersatzteilen oder Geräten für die Anlage zugeordnet sind, Anwendungen, die sich auf die Prognose des Verkaufs- und Produktionsbedarfs beziehen usw. Ebenso schließen viele Prozessanlagen und insbesondere solche, die Smart-Field-Geräte verwenden, Anwendungen zum Überwachen und Warten der Geräte in der Anlage ein, unabhängig davon, ob es sich bei diesen Geräten um Prozesssteuerungs- und Instrumentierungsgeräte oder andere Gerätetypen handelt. Beispielsweise ermöglicht der Intelligent Device Manager der Asset Management Solutions(AMS™)-Suite oder allgemeiner die von Emerson Process Management erhältliche AMS™-Suite von Anwendungen die Kommunikation mit und das Speichern von zu Feldgeräten gehörenden Daten, um den Betriebszustand der Feldgeräte zu ermitteln und zu verfolgen. Ein Beispiel für ein solches System ist im
US-Patent Nr. 5,960,214 mit dem Titel „Integrated Communication Network for use in a Field Device Management System“ (Integriertes Kommunikationsnetz zur Verwendung in einem Feldgeräte-Managementsystem) offenbart. In einigen Fällen kann die AMS™-Suite von Anwendungen dazu verwendet werden, mit Geräten zu kommunizieren, um Parameter innerhalb des Geräts zu ändern, das Gerät zum selbstständigen Ausführen von Anwendungen, z. B. Selbstkalibrierroutinen oder Selbstdiagnoseroutinen zu veranlassen, um Informationen über Status oder Integrität des Geräts zu erhalten, usw. Diese Informationen können von einer Wartungsperson zum Überwachen und Warten dieser Geräte gespeichert und verwendet werden. Ebenso gibt es andere Typen von Anwendungen, die zum Überwachen anderer Typen von Geräten verwendet werden, wie z. B. rotierende Ausrüstungen sowie Geräte zur Stromerzeugung und -Versorgung. Diese anderen Anwendungen stehen typischerweise dem Wartungspersonal zur Verfügung und werden zum Überwachen und Warten der Geräte innerhalb einer Prozessanlage verwendet.
-
In der typischen Anlage oder dem typischen Prozess sind jedoch die Funktionen, die den Prozesssteuerungsaktivitäten, den Wartungs- und Überwachungsaktivitäten für Geräte und Ausrüstungen, und den Geschäftsaktivitäten zugeordnet sind, sowohl (i) an dem Standort, an dem diese Aktivitäten stattfinden, als auch (ii) bei dem Personal, das diese Aktivitäten typischerweise ausführt, getrennt. Darüber hinaus verwenden die unterschiedlichen Personen, die an diesen unterschiedlichen Funktionen beteiligt sind, im Allgemeinen unterschiedliche Tools, z. B. unterschiedliche Anwendungen, die auf unterschiedlichen Computern laufen, um die unterschiedlichen Funktionen auszuführen. In vielen Fällen sammeln oder verwenden diese unterschiedlichen Tools unterschiedliche Typen von Daten, die den unterschiedlichen Geräten innerhalb des Prozesses zugeordnet sind oder von diesen gesammelt werden, und sind unterschiedlich eingerichtet, um die benötigten Daten zu sammeln. Rollen in der Prozesssteuerungsumgebung schließen beispielsweise (i) Prozesssteuerungsbediener, (ii) Wartungspersonal und (iii) Konfigurations- oder Steuerungsingenieure ein.
-
In Bezug auf Prozesssteuerungsbediener überwachen diese Mitarbeiter im Allgemeinen den laufenden Betrieb des Prozesses und sind in erster Linie dafür verantwortlich, die Qualität und Kontinuität des Prozessbetriebs sicherzustellen. Ein Steuerungsbediener beeinflusst typischerweise den Prozess, indem er Sollwerte innerhalb des Prozesses setzt und verändert, Prozessschleifen abstimmt, Prozessvorgänge wie Batch-Vorgänge usw. plant. Diese Prozesssteuerungsbediener können verfügbare Tools zum Diagnostizieren und Korrigieren von Prozesssteuerungsproblemen innerhalb eines Prozesssteuerungssystems verwenden, einschließlich beispielsweise Autotuner, Schleifenanalysatoren, neuronale Netzwerksysteme usw. Prozesssteuerungsbediener empfangen auch Prozessvariableninformationen vom Prozess über eine oder mehrere Prozesssteuerungen, die den Bedienern Informationen über den Prozessbetrieb bereitstellen, einschließlich der im Prozess erzeugten Warnungen. Diese Informationen können dem Prozesssteuerungsbediener über eine Standardbenutzerschnittstelle bereitgestellt werden.
-
In Bezug auf das Wartungspersonal sind diese in erster Linie dafür verantwortlich, sicherzustellen, dass die eigentlichen Ausrüstungen innerhalb des Prozesses effizient arbeiten, und fehlerhafte Ausrüstungen zu reparieren und auszutauschen. Das Wartungspersonal verwendet Tools wie Wartungsschnittstellen, die vorstehend beschriebene AMS™-Suite von Anwendungen sowie viele andere Diagnosetools, die Informationen über die Betriebszustände der Geräte innerhalb des Prozesses bereitstellen. Das Wartungspersonal plant auch Wartungsaktivitäten, bei denen möglicherweise Abschnitte der Anlage heruntergefahren werden müssen. Bei vielen neueren Typen von Prozessgeräten und -Ausrüstungen, die allgemein als Smart-Field-Geräte bezeichnet werden, können die Geräte selbst Erkennungs- und Diagnosetools enthalten, die automatisch Probleme mit dem Betrieb des Geräts erfassen und diese Probleme automatisch über eine Standardwartungsschnittstelle an eine Wartungsperson melden. Beispielsweise melden Anwendungen in der AMS™-Suite von Anwendungen Gerätestatus- und Diagnoseinformationen an die Wartungsperson und stellen Kommunikations- und andere Tools bereit, mit denen die Wartungsperson bestimmen kann, was in Geräten geschieht, und auf Geräteinformationen zugreifen kann, die von Geräten bereitgestellt werden. Typischerweise befinden sich Wartungsschnittstellen und Wartungspersonal getrennt von den Prozesssteuerungsbedienern, obwohl dies nicht immer der Fall ist. Beispielsweise können in einigen Prozessanlagen Prozesssteuerungsbediener die Aufgaben von Wartungspersonen ausführen oder umgekehrt, oder die verschiedenen für diese Funktionen verantwortlichen Personen können dieselbe Schnittstelle verwenden.
-
In Bezug auf Konfigurationsingenieure definieren diese Mitarbeiter im Allgemeinen die Steuerungsstrategien und Steuerroutinen, die von den Steuerungen in der Anlagenumgebung implementiert werden. Während des normalen Betriebs der Anlage implementieren eine oder mehrere Steuerungen die konzipierten Steuerroutinen automatisiert oder halbautomatisiert. Während des normalen Betriebs überwachen die Prozesssteuerungsbediener die Leistung verschiedener Aspekte der Anlage, während die von den Konfigurationsingenieuren definierten Steuerungsstrategien implementiert werden. Bei Bedarf können die Bediener eine Steuerungskorrektur (oder bei Bedarf einen vollständigen Abschaltvorgang) durchführen, wenn sich die Leistung zu verschlechtern beginnt. In jedem Fall schließen beispielhafte Verantwortlichkeiten für Konfigurationsingenieure ein: (i) Verwenden eines Engineering-Tools oder einer Konfigurationsanwendung zum Konzipieren von Steuerungskonfigurationen einschließlich Steuerroutinen, (ii) Zuweisen der Steuerungskonfigurationen zu Steuerungen und (iii) Hochladen der Steuerungskonfigurationen in eine Konfigurationsdatenbank, in der die Steuerungskonfigurationen schließlich an die entsprechenden Steuerung weitergegeben werden.
-
Um Entwurfssteuerungskonfigurationen zu testen oder zu überprüfen, muss die Entwurfskonfiguration im Allgemeinen in der Konfigurationsdatenbank des Steuerungssystems gespeichert und in andere Systeme heruntergeladen werden. Im Allgemeinen ist das Testen oder Überprüfen eines Aspekts der in der Steuerungskonfiguration enthaltenen Steuerlogik nicht möglich, ohne einen Konfigurationsentwurf zu speichern und
z. B. die Steuerungskonfiguration in die Konfigurationsdatenbank hochzuladen und die Steuerungskonfiguration an die entsprechende Steuerung weiterzugeben. Darüber hinaus kann das Testen und Überprüfen der Steuerlogik im Allgemeinen nicht innerhalb der Konfigurationsanwendung oder der Engineering-Tool-Umgebung selbst durchgeführt werden (insbesondere nicht, wenn die tatsächlichen Prozessdaten, die von Feldgeräten gesammelt wurden, die der konzipierten Steuerroutine zugeordnet sind, ganz oder teilweise verwendet werden). Daher ist das Überprüfen der Steuerlogik (sowohl an Kosten- als auch Zeitaufwand) teuer, da für jede inkrementelle Modifizierung einer Entwurfssteuerungskonfiguration ein weiterer vollständiger Zyklus des Speicherns, Herunterladens, Instanziierens und Testens durchgeführt werden muss. Zum Testen und Überprüfen der Steuerlogik müssen das Engineering-Tool und die Konfigurationsdatenbank mit einem anderen System verbunden sein.
-
KURZDARSTELLUNG
-
Mit den beschriebenen Techniken kann das Anlagenpersonal den herkömmlichen Design-Systemen zugeordneten zeit- und arbeitsintensiven Prozess vermeiden, indem Benutzer die Steuerlogik zum Steuern eines Prozesses konzipieren, testen und in der Vorschau anzeigen können, bevor sie die Steuerlogik in eine Konfigurationsdatenbank oder Prozesssteuerung in der Anlage herunterladen. Dies ermöglicht das schnelle Testen und Verbessern der Steuerlogik während der Design-Phase, wodurch der zeitaufwändige iterative Prozess des Konzipierens, des Herunterladens in eine Datenbank, der Weitergabe an eine Live-Steuerung und des Testens auf der physischen Steuerung vermieden wird. Außerdem wird das Testen von logischen und nichtlogischen Aspekten einer Steuerungskonfiguration getrennt, sodass ein Benutzer das Konzipieren der Steuerlogik abschließen kann, bevor er die Konfiguration auf die Steuerung herunterlädt, wo nur nichtlogische Aspekte der Konfiguration getestet werden müssen.
-
Man beachte, dass diese Kurzdarstellung bereitgestellt wurde, um eine Auswahl von Konzepten vorzustellen, die weiter unten in der ausführlichen Beschreibung beschrieben werden. Wie in der ausführlichen Beschreibung erläutert, können bestimmte Ausführungsformen Merkmale und Vorteile beinhalten, die in dieser Kurzdarstellung nicht beschrieben sind, und (bei bestimmten Ausführungsformen) können ein oder mehrere Merkmale oder Vorteile weglassen werden, die in dieser Kurzdarstellung beschrieben sind.
-
Figurenliste
-
Jede der nachstehend beschriebenen Figuren zeigt einen oder mehrere Aspekte des einen oder der mehreren offenbarten Systeme oder Verfahren gemäß einer Ausführungsform. Die ausführliche Beschreibung bezieht sich auf die in den folgenden Figuren beinhalteten Bezugszeichen.
- 1 zeigt eine beispielhafte Prozessanlage, ein Prozesssteuerungssystem oder eine Prozesssteuerungsumgebung, einschließlich eines Konfigurationstools, das es einem Benutzer ermöglicht, eine Steuerlogik zum Steuern eines Prozesses zu konzipieren, zu testen und eine Vorschau anzuzeigen, bevor die Steuerlogik (z. B. in Ausführungsformen von einer oder mehr Steuerroutinen, Modulen oder Programmen) in eine Konfigurationsdatenbank oder Prozesssteuerung in der Anlage heruntergeladen wird.
- 2A zeigt ein Blockdiagramm des in 1 gezeigten Konfigurationstools, einschließlich einer Entwurf-Steuerungskonfiguration, die mit dem Konfigurationstool konzipiert und getestet werden kann.
- 2B veranschaulicht ein beispielhaftes Verfahren zum Implementieren eines Vorschaumodus zum Testen der Logik der in 2A gezeigten Entwurfssteuerungskonfiguration.
- 3 zeigt Beispiele des in 2A gezeigten Prozessmoduls und des Steuermoduls.
- 4 zeigt ein Beispiel der Grafikkonfiguration, die zum Konzipieren des in 2A gezeigten Prozessmoduls verwendet werden kann.
- 5 zeigt eine beispielhafte Steuerroutine, die unter Verwendung des in 1 gezeigten Konfigurationstools konzipiert und in der Vorschau angezeigt werden kann.
- 6 ist ein beispielhaftes Drahtmodell der in 2A gezeigten Logikkonfigurations-GUl, die vom Konfigurationstool präsentiert werden kann, um das Konzipieren von Steuerungskonfigurationen und Logik für die Steuerungskonfigurationen zu erleichtern.
- 7 ist ein Beispiel-Screenshot einer Logikkonfigurations-GUI, in der ein Benutzer mit einer Registerkarte interagiert, um eine Palette von Grafikvorlagen zu öffnen, die verwendet werden können, um die Konfiguration der Gebäudesteuerung zu erleichtern.
- 8 ist ein Beispiel-Screenshot einer Logikkonfigurations-GUl, einschließlich einer Palette, die als Reaktion auf eine Interaktion mit der in 7 gezeigten Registerkarte aktiviert wird.
- 9 ist ein Beispiel-Screenshot einer Logikkonfigurations-GUI, in der ein Benutzer mit einem Element interagiert, um ein Vorschaufenster (nicht abgebildet) zu aktivieren.
- 10 ist ein Beispiel-Screenshot der Logikkonfigurations-GUl, in der: (i) ein Vorschaufenster als Reaktion auf die Benutzerinteraktion mit dem in 9 gezeigten Element angezeigt wird, und (ii) ein Benutzer mit einem grafischen Element interagiert, um einen Testwert einzufügen, der an einen Funktionsblock übergeben werden soll.
- 11 ist ein Beispiel-Screenshot der Logikkonfigurations-GUI, in der ein Benutzer mit einem Grafikelement über einen Cursor interagiert, um ein Vorschaufenster für ein Objekt zu aktivieren, das dem Grafikelement entspricht.
- 12 ist ein Beispiel-Screenshot der Logikkonfigurations-GUI, der einen Benutzer zeigt, der mit einem Feld über einen Cursor interagiert, um einen Testwert einzufügen.
- 13 ist ein Beispiel-Screenshot der Logikkonfigurations-GUI, in der ein Benutzer mit einer Registerkarte interagiert, um ein Fenster zum Anzeigen von Testwerten zu aktivieren, die beim Testen einer Steuerroutine verwendet werden.
- 14 ist ein Beispiel-Screenshot der Logikkonfigurations-GUI, der ein Fenster einschließt, das aktiviert wird, nachdem ein Benutzer mit einer in 13 gezeigten Registerkarte interagiert.
- 15 ist ein Beispiel-Screenshot der in 2A gezeigten Grafikkonfigurations-GUl, die vom Konfigurationstool präsentiert werden kann, um das Konzipieren von Prozessmodulen und Prozessmodul-GUIs zu erleichtern, das einen Benutzer zeigt, der mit einem Element interagiert, um ein Vorschaufenster zu aktivieren.
- 16 ist ein Beispiel-Screenshot der Grafikkonfigurations-GUI, der ein Vorschaufenster einschließt, das als Reaktion auf eine Benutzerinteraktion mit dem in 15 gezeigten Element aktiviert wird.
- 17 ist ein Beispiel-Screenshot der Grafikkonfigurations-GUI, der einen Benutzer zeigt, der einen Testwert für einen Betriebsparameter durch Interagieren mit einer Grafik im Ansichtsbereich der GUI einfügt.
- 18 ist ein Beispiel-Screenshot der Grafikkonfigurations-GUI, in die ein Benutzer einen Testwert für einen Betriebsparameter einfügt, indem er mit einem Feld interagiert, das in einem Vorschaufenster 1601 enthalten ist.
- 19 ist ein Beispiel-Screenshot der Grafikkonfigurations-GUl, in der ein Benutzer mit einem Feld für ein gebundenes Tag interagiert, was dazu führt, dass die GUI (i) eine Grafik hervorhebt, die das Gerät darstellt, an das das Tag gebunden ist, und (ii) ein Vorschaufenster mit Informationen zu dem Objekt anzeigt, an das das Tag gebunden ist (z. B. die Pumpe mit dem Tag „P-137A“).
- 20 ist ein Beispiel-Screenshot einer Grafikkonfigurations-GUI, in der ein Benutzer mit einem Feld für ein ungebundenes Tag interagiert, was dazu führt, dass die GUI ein Vorschaufenster anzeigt, das Informationen zu der ungebundenen Grafik zeigt.
-
Detaillierte Beschreibung
-
In der Vergangenheit verwendete ein Konfigurationsingenieur eine von Emerson Process Management vertriebene Anwendung wie Control Studio™, um eine Steuerungskonfiguration einschließlich einer Steuerlogik zum Steuern eines Prozesses zu konzipieren. Um die konzipierte Steuerlogik zu testen, lud der Benutzer die Steuerungskonfiguration in die Konfigurationsdatenbank eines Steuerungssystems herunter. Die Steuerungskonfiguration wurde dann von der Datenbank an die entsprechende Live-Prozess-Steuerung weitergegeben. Der Ingenieur versetzte dann die Steuerung in einen sicheren Zustand (z. B. Eingänge simuliert, Ausgänge blockiert oder in den manuellen Modus versetzt; Debug-Modus usw.), und der Steuerung wurden verschiedene Eingänge bereitgestellt und es wurden entsprechende Steuerungsausgänge ausgewertet, wodurch der Ingenieur die Leistung der Entwurfssteuerlogik überwachen konnte. Wenn die Steuerlogik eine suboptimale Leistung aufwies, kehrte der Ingenieur zum Design-Tool zurück, modifizierte die Steuerungskonfiguration, lud die Konfiguration in die Datenbank herunter, veranlasste die Datenbank, die Konfiguration an die Steuerung weiterzugeben, konfigurierte die Steuerung zum Testen und bewertete erneut die Leistung der Steuerlogik. In Verbindung mit dem Testen der Logik der Steuerungskonfiguration während dieses inkrementellen Prozesses konnte der Ingenieur auch nichtlogische Aspekte der Konfiguration testen und bewerten. Beispielsweise konnte der Ingenieur das Echtzeitverhalten testen, z. B.: als Ressourcennutzung (z. B. wie viel CPU und Speicher die Logik verbraucht); die Zeitspanne, die Blöcke oder Module der Steuerungskonfiguration zum Ausführen benötigen; ob die Blöcke oder Module pünktlich ausgeführt werden oder nicht; Kommunikationsverzögerungen (oder deren Fehlen) für die Kommunikation zwischen den Blöcken oder Modulen (z. B. insbesondere zwischen Blöcken oder Modulen an verschiedenen Steuerungen); die Zeitsteuerung des vollständigen Signalzyklus einschließlich einer Zeitdauer für das Übertragen eines ersten Signals von einem Eingabegerät (z. B. Führen eines Messwerts) und das Erreichen einer Steuerroutine an der Steuerung (z. B. Ausführen der Logik der Steuerungskonfiguration); eine Zeitdauer zum Ausführen der Logik- oder Steuerroutine nach dem Empfangen des ersten Signals und zum Erzeugen eines zweiten Signals (z. B. Führen eines Steuerbefehls); und eine Zeitdauer zwischen dem Senden des zweiten Signals von der Steuerroutine und dem Empfangen des zweiten Signals an einem Ausgabegerät; usw. Der Ingenieur wiederholte diesen Zyklus, da inkrementelle Änderungen erforderlich waren, um die Steuerlogik zu perfektionieren.
-
Hier kann das Anlagenpersonal den herkömmlichen Design-Systemen zugeordneten zeit- und arbeitsintensiven Prozess vermeiden, indem das hier beschriebene Konfigurationssystem zum Konzipieren, Testen und Anzeigen der Vorschau der Steuerlogik zum Steuern eines Prozesses verwendet wird, bevor die Steuerlogik in eine Konfigurationsdatenbank oder Prozesssteuerung in der Anlage heruntergeladen wird. Dies ermöglicht das schnelle Testen und Verbessern der Steuerlogik während der Design-Phase, wodurch der zeitaufwändige iterative Prozess des Konzipierens, des Herunterladens in eine Datenbank, der Weitergabe an eine Live-Steuerung und des Testens auf der physischen Steuerung umgangen wird. Außerdem wird das Testen von logischen und nichtlogischen Aspekten einer Steuerungskonfiguration getrennt, sodass ein Benutzer das Konzipieren der Steuerlogik abschließen kann, bevor er die Konfiguration in die Steuerung herunterlädt, wo nur nichtlogische Aspekte der Konfiguration getestet werden müssen.
-
BEISPIELHAFTE PROZESSSTEUERUNGSUMGEBUNG
-
1 zeigt eine beispielhafte Prozessanlage, ein Prozesssteuerungssystem oder eine Prozesssteuerungsumgebung 5, einschließlich eines Konfigurationstools 101, das es einem Benutzer ermöglicht, eine Steuerlogik zum Steuern eines Prozesses zu konzipieren, zu testen und eine Vorschau anzuzeigen, bevor die Steuerlogik (z. B. in Ausführungsformen von einer oder mehr Steuerroutinen, Modulen oder Programmen) in eine Konfigurationsdatenbank oder Prozesssteuerung in der Anlage heruntergeladen wird.
-
Die Prozessanlage 5 steuert einen Prozess, von dem gesagt werden kann, dass er einen oder mehrere „Prozessausgänge“, die den Zustand des Prozesses charakterisieren (z. B. Tankfüllstände, Durchflussraten, Materialtemperaturen usw.), und einen oder mehrere „Prozesseingänge“ (z. B. den Zustand verschiedener Umgebungsbedingungen und Aktuatoren, deren Manipulation dazu führen kann, dass sich die Prozessausgänge ändern), aufweist. Die Prozessanlage oder das -Steuerungssystem 5 von 1 enthält eine Feldumgebung 122 (z. B. „den Prozessanlagenbereich 122“) und eine Back-End-Umgebung 125, die jeweils über ein Prozesssteuerungs-Backbone oder eine Datenautobahn 10 kommunikativ verbunden sind. Das Backbone 10 (manchmal als „Verknüpfung 10“ oder „Netzwerk 10“ bezeichnet) kann eine oder mehrere drahtgebundene oder drahtlose Kommunikationsverknüpfungen enthalten und kann unter Verwendung eines beliebigen gewünschten oder geeigneten Kommunikationsprotokolls, wie beispielsweise eines Ethernet-Protokolls, implementiert werden.
-
Auf einer hohen Ebene (und wie in 1 dargestellt) beinhaltet die Feldumgebung 122 physische Komponenten (z. B. Prozesssteuerungsgeräte, Netzwerke, Netzwerkelemente usw.), die zur Steuerung des Prozesses während der Laufzeit angeordnet, installiert und zusammengeschaltet sind. Beispielsweise beinhaltet die Feldumgebung 122 ein I/O-Netzwerk 6. Im Großen und Ganzen befinden sich die Komponenten des I/O-Netzwerks 6 in der Feldumgebung 122 der Prozessanlage 5, sind dort angeordnet oder anderweitig eingeschlossen. Allgemein gesprochen, werden in der Feldumgebung 122 der Prozessanlage 5 Rohmaterialien empfangen und mit den darin angeordneten physischen Komponenten verarbeitet, um ein oder mehrere Produkte zu erzeugen.
-
Die Back-End-Umgebung 125 der Prozessanlage 5 beinhaltet hingegen verschiedene Komponenten, wie z. B. Rechengeräte, Bedienerarbeitsstationen, Datenbanken oder Datensammlungen usw., die von den rauen Bedingungen und Materialien der Feldumgebung 122 abgeschirmt oder vor diesen geschützt werden. In einigen Konfigurationen können sich verschiedene in der Back-End-Umgebung 125 der Prozessanlage 5 beinhaltete Rechengeräte, Datenbanken und andere Komponenten und Ausrüstungen physisch an verschiedenen physischen Standorten befinden, von denen einige lokal an der Prozessanlage 5 und andere entfernt davon angeordnet sein können.
-
Die Feldumgebung 122 der Anlage 5
-
Wie erwähnt, beinhaltet die Feldumgebung 122 ein oder mehrere 1/0-Netzwerke, wie z. B. das I/O-Netzwerk 6, von denen jedes beinhaltet: (i) eine oder mehrere Steuerungen, (ii) ein oder mehrere Feldgeräte, die kommunikativ mit der einen oder den mehreren Steuerungen verbunden sind, und (iii) einen oder mehrere Zwischenknoten (z. B. I/O-Karten oder -Module), die die Kommunikation zwischen den Steuerungen und den Feldgeräten erleichtern.
-
Im Allgemeinen führt mindestens ein Feldgerät eine physische Funktion aus (z. B. Öffnen oder Schließen eines Ventils, Erhöhen oder Verringern einer Temperatur, Durchführung einer Messung, Erfassen einer Bedingung usw.), um den Betrieb eines in der Prozessanlage 5 implementierten Prozesses zu steuern. Die Feldgeräte können als Mittel zum Manipulieren eines Prozesseingangs (z. B. einer Ventilposition oder eines Pumpenstatus) oder zum Messen eines Prozessausgangs (z. B. eines Tankfüllstands, einer Strömungsgeschwindigkeit, eines Drucks, einer Temperatur, usw.) betrachtet werden. Einige Typen von Feldgeräten kommunizieren mit Steuerungen über l/O-Geräte (manchmal als „I/O-Karten“ bezeichnet). Prozesssteuerungen, Feldgeräte und I/O-Karten können für die drahtgebundene oder drahtlose Kommunikation konfiguriert werden. Jede beliebige Anzahl und Kombination von drahtgebundenen und drahtlosen Prozesssteuerungen, Feldgeräten und I/O-Geräten kann in der Prozessanlagenumgebung oder dem Prozessanlagensystem 5 beinhaltet sein.
-
Beispielsweise beinhaltet die Feldumgebung 122 das I/O-Netzwerk 6, das eine Prozesssteuerung 11 beinhaltet, die über eine I/O-Karte 26 und eine I/O-Karte 28 kommunikativ mit einem Satz von drahtgebundenen Feldgeräten 15-22 verbunden ist. Die Feldumgebung 122 beinhaltet auch ein drahtloses Netzwerk 70 mit einem Satz von drahtlosen Feldgeräten 40-46, die mit der Steuerung 11 gekoppelt sind (z. B. über ein drahtloses Gateway 35 und das Netzwerk 10). Das drahtlose Netzwerk 70 kann ein Teil des I/O-Netzwerks 6 sein oder kann ein Teil eines I/O-Netzwerks sein, das in 1 nicht dargestellt ist (und kann Steuerungen oder I/O-Karten beinhalten, die in 1 nicht dargestellt sind).
-
In einigen Konfigurationen kann die Steuerung 11 kommunikativ mit dem drahtlosen Gateway 35 unter Verwendung von einem oder mehreren Kommunikationsnetzwerken außer dem Backbone 10 verbunden sein, wie z. B. durch Verwenden einer beliebigen Anzahl anderer drahtgebundener oder drahtloser Kommunikationsverknüpfungen, die ein oder mehrere Kommunikationsprotokolle unterstützen, z. B. Wi-Fi oder ein anderes IEEE 802.11-konformes WLAN-Protokoll, Mobilkommunikationsprotokoll (z. B. WiMAX, LTE oder ein anderes ITU-R-kompatibles Protokoll), Bluetooth®, HART®, WirelessHART®, Profibus, FOUNDATION® Fieldbus usw.
-
Die Prozesssteuerung 11
-
Die Steuerung 11, die die von Emerson Process Management vertriebene DeltaV™-Steuerung sein kann, kann dazu betrieben werden, einen Batch-Prozess oder einen kontinuierlichen Prozess unter Verwendung von mindestens einigen der Feldgeräte 15-22 und 40-46 zu implementieren. Die Steuerung 11 ist zusätzlich zur kommunikativen Verbindung mit der Prozesssteuerungsdatenautobahn 10 auch kommunikativ mit mindestens einigen der Feldgeräte 15-22 und 40-46 kommunikativ verbunden, und zwar unter Verwendung einer beliebigen gewünschten Hard- und Software, die zum Beispiel den standardmäßigen 4-20 mA-Geräten, I/O-Karten 26, 28 oder einem beliebigen intelligenten Kommunikationsprotokoll, wie z. B. dem FOUNDATION®-Fieldbus-Protokoll, dem HART®-Protokoll, dem WirelessHART®-Protokoll usw. zugeordnet ist. In 1 sind die Steuerung 11, die Feldgeräte 15-22 und die I/O-Karten 26, 28 drahtgebundene Geräte und sind die Feldgeräte 40-46 drahtlose Feldgeräte. Natürlich könnten die drahtgebundenen Feldgeräte 15-22 und die drahtlosen Feldgeräte 40-46 allen anderen gewünschten Standards oder Protokollen, wie
z. B. allen drahtgebundenen oder drahtlosen Protokollen, einschließlich allen künftig entwickelten Standards oder Protokollen, entsprechen.
-
Die Prozesssteuerung 11 beinhaltet einen Prozessor 30, der eine oder mehrere Prozesssteuerroutinen 38 implementiert oder überwacht (z. B. die in einem Speicher 32 gespeichert sind). Eine „Steuerroutine“ (manchmal als „Steuermodul“ bezeichnet) ist ein Satz von Anweisungen, die von einem Prozessor (z. B. der Steuerung 11) ausgeführt werden können, um eine oder mehrere Vorgänge durchzuführen, um eine Online-Steuerung mindestens eines Teils eines Prozesses bereitzustellen oder durchzuführen. Im Allgemeinen kann eine Steuerroutine als Software verstanden werden, die zum Implementieren einer bestimmten Steuerstrategie konfiguriert ist. Steuerroutinen können im Speicher gespeichert werden, z. B. als eine oder mehrere Routinen, Anwendungen, Softwaremodule oder Programme. Steuerroutinen können auf Ausrüstungsobjekte verweisen, um mit Feldgeräten zu kommunizieren, die den Ausrüstungsobjekten entsprechen. Eine Steuerroutine kann aus Funktionsblöcken bestehen, wobei jeder Funktionsblock ein Teil oder eine Unterroutine einer Gesamtsteuerroutine ist. Jede Steuerroutine kann in Verbindung mit anderen Steuerroutinen und Funktionsblöcken arbeiten, um Steuerroutinen oder Prozessregelkreise innerhalb der Prozessanlage zu implementieren. Während das Fieldbus-Protokoll und das DeltaV-Systemprotokoll Steuermodule und Funktionsblöcke verwenden, die in einem objektorientierten Programmierprotokoll konzipiert und implementiert sind, könnten die Steuermodule unter Verwendung von jedem gewünschten Steuerprogrammierungsschema konzipiert werden, einschließlich z. B. sequentiellem Funktionsblock, Kontaktplan, usw., und sind nicht darauf beschränkt, unter Verwendung des Funktionsblocks oder einer anderen bestimmten Programmiertechnik konzipiert und implementiert zu werden (sofern nichts anderes angegeben ist).
-
Zurück zur Steuerung 11, ist der Prozessor 30 dazu konfiguriert, mit den Feldgeräten 15-22 und 40-46 und mit anderen mit der Steuerung 11 kommunikativ verbundenen Knoten zu kommunizieren. Man beachte, dass Teile von beliebigen der hierin beschriebenen Steuerroutinen oder -Module von verschiedenen Steuerungen oder anderen Geräten implementiert oder ausgeführt werden können, falls gewünscht. Ebenso können die hierin beschriebenen Steuerroutinen oder -Module 38, die innerhalb des Prozesssteuerungssystems 5 zu implementieren sind, jede Form annehmen, einschließlich Software, Firmware, Hardware usw. Steuerroutinen können in jedem beliebigen Softwareformat implementiert werden, wie z. B. durch Verwendung von objektorientierter Programmierung, Kontaktplänen, sequenziellen Funktionsplänen, Funktionsblockschaltbildern oder durch Verwendung irgendeiner anderen Softwareprogrammiersprache oder eines Design-Paradigmas. Die Steuerroutinen 38 können in jedem beliebigen Speichertyp 32, wie z. B. RAM (Random Access Memory) oder ROM (Read Only Memory), gespeichert werden. Ebenso können die Steuerroutinen 38 z. B. in ein oder mehrere EPROMs, EEPROMs, anwendungsspezifische integrierte Schaltkreise (ASICs) oder andere Hardware- oder Firmware-Elemente fest einprogrammiert werden. Einfach ausgedrückt, kann die Steuerung 11 so konfiguriert werden, dass sie eine Steuerungsstrategie oder Steuerroutine in jeder gewünschten Weise implementiert.
-
Es ist zu beachten, dass der von der Steuerung 11 (und allen anderen Steuerungen) gesteuerte Prozess durch „Prozessvariablen“ gekennzeichnet sein kann. Prozesseingänge, Prozessausgänge, Regelgrößen, Stellgrößen, Störgrößen und Sollwerte sind beispielhafte Prozessvariablen. Die „Prozessausgänge“ können als Prozessvariablen betrachtet werden, die den vorhandenen Status des Prozesses darstellen, und die „Prozesseingänge“ können als Prozessvariablen betrachtet werden, die verschiedene Bedingungen, Einstellungen, Ausrüstungen, Signale und andere Informationen darstellen, die die Ausführung des Prozesses beeinflussen können. Die Steuerung 11 kann als „Steuereingänge“ Messungen von einem oder mehreren der Prozessausgänge empfangen und kann einen oder mehrere „Steuereingänge“ als Steuersignale (die als Prozesseingänge betrachtet werden können) übertragen, die dazu konfiguriert sind, den Zustand eines Geräts zu manipulieren, um einen Prozessausgang in einen gewünschten Zustand zu bringen.
-
Beispielhafte „Prozessausgänge“ können u. a. Tankfüllstände, Durchflussraten, Materialtemperaturen, Rohrleitungs- und Tankdrücke, den aktuellen Zustand verschiedener Ventile, Pumpen und anderer Ausrüstungen usw. beinhalten. Prozessausgänge werden häufig gemessen und überwacht, um die Prozessleistung zu bewerten und um Informationen zu liefern, wie Prozesseingänge manipuliert werden sollten, um die Prozessausgänge in wünschenswerte Zustände zu manipulieren.
-
Beispielhafte „Prozesseingänge“ könnten den Zustand des zu verarbeitenden Rohmaterials, die Umgebungsbedingungen, den Zustand der Ausrüstung in der Anlage wie
z. B. Aktuatoren (deren Manipulation dazu führen kann, dass sich die Prozessausgänge ändern), die Einstellungen für die Ausrüstung (wie z. B. Betriebseinstellungen von Ventilen) usw. einschließen. Der Status einer oder mehrerer Prozesseingänge kann sich auf die Ausführung des Prozesses auswirken. Beachten Sie, dass sich Prozessausgänge und Prozesseingänge nicht unbedingt gegenseitig ausschließen. Beispielsweise kann ein Ventil CV001 eine Position von 50 % geöffnet aufweisen, was als aktuelle Bedingung des Prozesses und somit als Prozessausgang verstanden werden kann. Die Ventilposition kann jedoch andere Prozessausgänge (wie z. B. die Durchflussrate) beeinflussen und gemessen werden (z. B. um zu überprüfen, ob sie nach dem Befehl, sich in die gewünschte Position zu bewegen, eine gewünschte Position erreicht). Somit kann die Ventilposition auch als Prozesseingang verstanden werden.
-
Wie bereits erwähnt, beinhalten beispielhafte Prozessvariablen Regelgrößen, Stellgrößen, Störgrößen und Sollwerte. Eine „Regelgröße“ ist eine Prozessvariable (z. B. ein Tankfüllstand), die eine Steuerung oder Steuerroutine indirekt durch Anpassen einer „Stellgröße“ (z. B. eines Wassereinlassventils für den Tank) zu steuern versucht. Eine Steuerroutine kann die Stellgröße anpassen, um die Regelgröße auf einen gewünschten Sollwert zu bringen. Ein „Sollwert“ stellt einen gewünschten Wert für eine Regelgröße dar. Der Sollwert kann von einer Steuerung basierend auf einer Steuerroutine automatisch eingestellt werden oder kann von einem Bediener manuell eingestellt werden.
-
Zurück zur Steuerung 11, wenn der Prozessor 30 der Steuerung eine oder mehrere der Steuerroutinen ausführt, überträgt die Steuerung an ein Feldgerät ein Steuersignal (d. h. einen Steuerausgang), das einen Befehl oder Wert führt, der erzeugt wird basierend auf: (i) einem oder mehreren empfangenen Steuereingängen (z. B. einem oder mehreren empfangenen Signalen, die Messungen von Prozessausgängen darstellen, die von Feldgeräten erhalten werden), und (ii) der Logik der einen oder mehreren Steuerroutinen, die unter Verwendung von Werten der Steuereingänge als Eingänge implementiert werden. Die Steuerroutinen können durch ein oder mehrere Softwareelemente (z. B. Funktionsblöcke) definiert werden. Die Steuerung 11 kann insbesondere eine Steuerungsstrategie mit Hilfe von so genannten Funktionsblöcken implementieren, wobei jeder Funktionsblock ein Objekt oder ein anderer Teil (z. B. eine Unterroutine) einer übergreifenden Steuerroutine ist. Die Steuerung 11 kann in Verbindung mit Funktionsblöcken arbeiten, die von anderen Geräten
(z. B. anderen Steuerungen oder Feldgeräten) implementiert werden, um Prozessregelkreise innerhalb des Prozesssteuerungssystems 5 zu implementieren.
-
Es ist zu beachten, dass sich der Begriff „Regelkreis“ im Allgemeinen auf ein Subsystem des Prozesssteuerungssystems bezieht, das zum Implementieren der Steuerung eines bestimmten Aspekts des Prozesses verwendet wird. Ein Regelkreis enthält die physischen und logischen Komponenten, die zur Steuerung einer Regelgröße erforderlich sind (häufig einfach als Prozessvariable oder PV bezeichnet). Zum Beispiel können die physischen Komponenten (i) einen Sensor zum Messen der PV (z. B. in einem ersten Feldgerät, das einen Tankfüllstand misst), (ii) ein Stellelement (oder FCE), das angepasst werden kann, um die Prozessvariable (z. B. ein zweites Feldgerät, das ein Ventil ist) zu manipulieren, und (iii) eine Steuerung, die zum Anpassen des FCE konfiguriert ist (z. B. die Steuerung 11), einschließen. Die logischen Komponenten können die Steuerroutine(n) an der Steuerung enthalten, die ein Steuersignal ansteuern, um zu bewirken, dass ein Aktuator (z. B. ein Ventilsteller) den FCE (z. B. ein Ventil) basierend auf den an der Steuerung empfangenen Messungen anpasst. In dem gegebenen Beispiel kann die Ventilposition als Stellgröße (MV) betrachtet werden, die angepasst werden kann, um die PV auf einen Sollwert zu bringen. Regelkreise können in einer Vielzahl von Szenarien verwendet werden. Beispielsweise kann ein Prozesssteuerungssystem einen Regelkreis zum Steuern eines Wasserstandes in einem Tank enthalten. Ein Prozesssteuerungssystem kann Hunderte oder Tausende von Regelkreisen zum Steuern einer Vielzahl von Prozessvariablen enthalten.
-
Zurück zu Funktionsblöcken, die an der Steuerung 11 implementiert werden können, führen steuerungsbasierte Funktionsblöcke typischerweise eines der Folgenden aus: (i) eine Eingangsfunktion, wie z. B. diejenige, die einem Messwertgeber, einem Sensor oder einem anderen Prozessparametermessgerät zugeordnet ist (manchmal als „Eingangsblöcke“ bezeichnet); (ii) eine Steuerungsfunktion, wie z. B. diejenige, die einer Steuerroutine zugeordnet ist, die eine PID-, Fuzzy-Logik usw. durchführt (manchmal als „Steuerblöcke“ bezeichnet); oder (iii) eine Ausgangsfunktion, die den Betrieb eines Geräts, wie z. B. eines Ventils, steuert, um eine physische Funktion innerhalb des Prozesssteuerungssystems 5 auszuführen (manchmal als „Ausgangsblöcke“ bezeichnet). Natürlich gibt es auch hybride und andere Typen von Funktionsblöcken.
-
Funktionsblöcke können in der Steuerung 11 gespeichert und von dieser ausgeführt werden, was typischerweise der Fall ist, wenn diese Funktionsblöcke für standardmäßige 4-20 mA-Geräte und einige Typen von Smart-Feldgeräten, wie z. B. HART®-Geräten, verwendet werden oder damit zugeordnet sind, oder sie können in den Feldgeräten selbst gespeichert und implementiert sein, was bei FOUNDATION®-Fieldbus-Geräten der Fall sein kann. Eine oder mehrere der Steuerroutinen 38 können einen oder mehrere Regelkreise implementieren, die durch Ausführen eines oder mehrerer der Funktionsblöcke durchgeführt werden.
-
Das drahtgebundene Feldgerät 15-22 und die I/O-Karten 26 und 28
-
Die drahtgebundenen Feldgeräte 15-22 können beliebige Typen von Geräten sein, wie z. B. Sensoren, Ventile, Messwertgeber, Stellungsregler usw., während die I/O-Karten 26 und 28 beliebige Typen von I/O-Prozesssteuerungsgeräten sein können, die einem beliebigen gewünschten Kommunikations- oder Steuerungsprotokoll entsprechen. In 1 sind Feldgeräte 15-18 Standard 4-20 mA-Geräte oder HART®-Geräte, die über analoge Leitungen oder kombinierte analoge und digitale Leitungen mit der I/O-Karte 26 kommunizieren, während die Feldgeräte 19-22 intelligente Geräte wie FOUNDATION®-Fieldbus-Feldgeräte sind, die über einen digitalen Bus mit der I/O-Karte 28 mittels eines FOUNDATION®-Fieldbus-Kommunikationsprotokolls kommunizieren. In einigen Ausführungsformen können jedoch zusätzlich oder alternativ mindestens einige der drahtgebundenen Feldgeräte 15-22 und/oder mindestens einige der I/O-Karten 26, 28 mit der Steuerung 11 über die Prozesssteuerungs-Datenautobahn 10 und/oder unter Verwendung anderer geeigneter Steuerungssystemprotokolle (z. B. Profibus, DeviceNet, Foundation Fieldbus, ControlNet, Modbus, HART usw.) kommunizieren.
-
Die drahtlosen Feldgeräte 40-46
-
In 1 kommunizieren die drahtlosen Feldgeräte 40-46 über ein drahtloses Prozesssteuerungskommunikationsnetz 70 mit einem drahtlosen Protokoll, wie dem WirelessHART®-Protokoll. Solche drahtlosen Feldgeräte 40-46 können direkt mit einem oder mehreren anderen Geräten oder Knoten des drahtlosen Netzwerks 70 kommunizieren, die ebenfalls für die drahtlose Kommunikation (z. B. über das drahtlose Protokoll oder ein anderes drahtloses Protokoll) konfiguriert sind. Zur Kommunikation mit einem oder mehreren anderen Knoten, die nicht für die drahtlose Kommunikation konfiguriert sind, können sich die drahtlosen Feldgeräte 40-46 eines drahtlosen Gateways 35 bedienen, das mit der Prozesssteuerungsdatenautobahn 10 oder einem anderen Prozesssteuerungs-kommunikationsnetzwerk verbunden ist. Das drahtlose Gateway 35 ermöglicht den Zugriff auf verschiedene drahtlose Geräte 40-58 des drahtlosen Kommunikationsnetzwerks 70. Insbesondere stellt das drahtlose Gateway 35 eine kommunikative Kopplung zwischen den drahtlosen Geräten 40-58, den drahtgebundenen Geräten 11-28 oder anderen Knoten oder Geräten der Prozesssteuerungsanlage 5 bereit. Zum Beispiel kann das drahtlose Gateway 35 eine kommunikative Kopplung unter Verwendung der Prozesssteuerungsdatenautobahn 10 oder unter Verwendung eines oder mehrerer anderer Kommunikationsnetzwerke der Prozessanlage 5 bereitstellen.
-
Ähnlich den drahtgebundenen Feldgeräten 15-22 übernehmen die drahtlosen Feldgeräte 40-46 des drahtlosen Netzwerks 70 physische Steuerungsfunktionen innerhalb der Prozessanlage 5, z. B. Öffnen oder Schließen von Ventilen oder Vornahme von Messungen von Prozessparametern. Die drahtlosen Feldgeräte 40-46 sind jedoch für die Kommunikation unter Verwendung des drahtlosen Protokolls des Netzwerks 70 konfiguriert. Daher sind die drahtlosen Feldgeräte 40-46, das drahtlose Gateway 35 und andere drahtlose Knoten 52-58 des drahtlosen Netzwerks 70 Erzeuger und Verbraucher drahtloser Kommunikationspakete.
-
In einigen Konfigurationen der Prozessanlage 5 beinhaltet das drahtlose Netzwerk 70 auch nichtdrahtlose Geräte. Zum Beispiel ist in 1 ein Feldgerät 48 von 1 ein 4-20 mA-Altgerät und ein Feldgerät 50 ist ein drahtgebundenes HART®-Gerät. Zur Kommunikation innerhalb des Netzwerks 70 sind die Feldgeräte 48 und 50 über einen drahtlosen Adapter 52a, 52b mit dem drahtlosen Kommunikationsnetzwerk 70 verbunden. Die drahtlosen Adapter 52a, 52b unterstützen ein drahtloses Protokoll, wie z. B. WirelessHART, und können auch ein oder mehrere andere Kommunikationsprotokolle wie Foundation®-Fieldbus, PROFIBUS, DeviceNet, usw. unterstützen. Darüber hinaus enthält das drahtlose Netzwerk 70 in einigen Konfigurationen einen oder mehrere Netzwerkzugangspunkte 55a, 55b, die separate physische Geräte in drahtgebundener Kommunikation mit dem drahtlosen Gateway 35 sein können oder die in das drahtlose Gateway 35 integriert sein können. Das drahtlose Netzwerk 70 kann auch einen oder mehrere Router 58 beinhalten, um Pakete von einem drahtlosen Gerät zu einem anderen drahtlosen Gerät innerhalb des drahtlosen Kommunikationsnetzwerks 70 weiterzuleiten. In 1 kommunizieren die drahtlosen Geräte 40-46 und 52-58 miteinander und mit dem drahtlosen Gateway 35 über drahtlose Verknüpfungen 60 des drahtlosen Kommunikationsnetzwerks 70 und/oder über die Prozesssteuerungsdatenautobahn 10.
-
Die Back-End-Umgebung 125 der Anlage 5
-
Wie angemerkt, beinhaltet die Back-End-Umgebung 125 verschiedene Komponenten, wie z. B. Rechengeräte, Bedienerarbeitsstationen, Datenbanken oder Datensammlungen usw., die typischerweise von den rauen Bedingungen und Materialien der Feldumgebung 122 abgeschirmt und/oder vor diesen geschützt werden. Die Back-End-Umgebung 125 kann eines oder mehrere des Folgenden beinhalten, von denen jedes kommunikativ mit der Datenautobahn 10 verbunden sein kann: (i) eine oder mehrere Bedienerarbeitsstationen 71; (ii) eine Konfigurationsanwendung 72a und eine Konfigurationsdatenbank 72b; (iii) eine Datenhistoriker-Anwendung 73a und eine Datenhistoriker-Datenbank 73b; (iv) einen oder mehrere andere drahtlose Zugangspunkte 74, die mit anderen Geräten unter Verwendung anderer drahtloser Protokolle kommunizieren; und (v) ein oder mehrere Gateways 76, 78 zu Systemen außerhalb des unmittelbaren Prozesssteuerungssystems 5.
-
Die Bedienerarbeitsstation 71
-
Benutzer (z. B. Bediener) können die Bedienerarbeitsplätze 71 dazu nutzen, über GUIs Laufzeitvorgänge der Prozessanlage 5 zu überwachen, sowie Diagnose-, Korrektur-, Wartungs- und/oder sonstige Maßnahmen zu ergreifen, die erforderlich sein können. Das Tool 101 kann verwendet werden, um die von der Arbeitsstation 71 bereitgestellten GUIs zu konzipieren.
-
Zumindest einige der Bedienstationen 71 können sich in verschiedenen, geschützten Bereichen in oder nahe der Anlage 5 befinden; und in manchen Situationen können zumindest einige der Bedienstationen 71 entfernt angeordnet sein, jedoch dennoch in kommunikativer Verbindung mit der Anlage 5 stehen.
-
Die Bedienerarbeitsstationen 71 können drahtgebundene oder drahtlose Rechengeräte sein und können dedizierte oder Mehrzweckgeräte sein. Beispielsweise kann in einigen Ausführungsformen ein Satz von Anwendungen, Routinen oder speziell konfigurierten Schaltkreisen (z. B. ASICs), die die von den Arbeitsstationen 71 bereitgestellte Funktionalität ermöglichen, durch jedes (jeden) geeignet konfigurierte(n) Rechengerät oder Satz von Rechengeräten implementiert werden, die auf das Netzwerk 10 zugreifen können (z. B. ein Desktop-Computer, ein Laptop, ein mobiles Gerät wie ein Telefon oder Tablet, ein Client/Server-System usw.), und kann eine Benutzerschnittstelle mit Eingangskomponenten (z. B. eine Maus, eine Tastatur, Berührungssensoren, Hardware-Schaltflächen, Audio-Sensoren für Spracheingabe, Kameras oder Bewegungssensoren für die Eingabe von Gesten usw.) oder Ausgangskomponenten (z. B. ein Display, Lautsprecher usw.) beinhalten, die es dem Benutzer der Arbeitsstation 71 ermöglichen, Laufzeitparameter zu überwachen, Laufzeitparameter zu ändern oder Diagnose-, Korrektur- oder Wartungsvorgänge durchzuführen oder zu überwachen.
-
Der Datenhistoriker 73a und die Datenbank 73b
-
Die Datenhistoriker-Anwendung 73a sammelt einige oder alle der über die Datenautobahn 10 bereitgestellten Daten und historisiert oder speichert die gesammelten Daten in der Historiker-Datenbank 73b zur Langzeitspeicherung. Die Datenhistoriker-Anwendung 73a und die Historiker-Datenbank 73b können zentralisiert sein und ein einheitliches logisches Erscheinungsbild für das Prozesssteuerungssystem 5 aufweisen (z. B. können sie als einzelne Anwendung oder Anwendungssuite erscheinen), obwohl mehrere Instanzen einer Datenhistoriker-Anwendung 73a gleichzeitig innerhalb des Prozesssteuerungssystems 5 ausgeführt werden können, und die Historiker-Datenbank 73b kann über mehrere physische Datenspeichergeräte implementiert sein. Jede Instanz der Datenhistoriker-Anwendung 73a kann auf einem geeigneten Rechengerät oder Satz von Rechengeräten implementiert sein (z. B. einem Desktop-Computer oder einer Arbeitsstation, einem Laptop, einem mobilen Gerät wie einem Telefon oder Tablet, einem Client/Server-System usw.), das bzw. die eine Benutzerschnittstelle mit Eingangskomponenten (z. B. eine Maus, eine Tastatur, Berührungssensoren, Hardware-Schaltflächen, Audio-Sensoren für Spracheingabe, Kameras oder Bewegungssensoren für die Eingabe von Gesten usw.) und Ausgangskomponenten (z. B. ein Display, Lautsprecher usw.) beinhalten können.
-
Die drahtlosen Zugangspunkte 74
-
Die ein oder mehreren drahtlosen Zugangspunkte 74 ermöglichen es Geräten in der Back-End-Umgebung 125 (und manchmal in der Feldumgebung 122), mit anderen Geräten unter Verwendung von anderen drahtlosen Protokollen zu kommunizieren, wie z. B. WLAN oder anderen IEEE 802.11-konformen drahtlosen lokalen Netzwerkprotokollen, mobilen Kommunikationsprotokollen, wie z. B. WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) oder anderen ITU-R (International Telecommunication Union Radio Communication Sector)-kompatiblen Protokollen, kurzwelligen Funkkommunikationen, wie z. B. NFC und Bluetooth, oder anderen drahtlosen Kommunikationsprotokollen.
-
Typischerweise ermöglichen solche drahtlosen Zugangspunkte 74 die Kommunikation von handgeführten oder anderen tragbaren Rechengeräten (z. B. Benutzerschnittstellengeräte 75) über ein entsprechendes drahtloses Prozesssteuerungs-Kommunikationsnetzwerk, das sich vom drahtlosen Netzwerk 70 unterscheidet und das ein anderes drahtloses Protokoll als das drahtlose Netzwerk 70 unterstützt. Zum Beispiel kann ein drahtloses oder tragbares Benutzerschnittstellengerät 75 ein mobiler Arbeitsplatz oder ein Diagnosetestgerät sein, das von einem Bediener innerhalb der Prozessanlage 5 verwendet wird (z. B. eine Instanz einer der Bedienerarbeitsplätze 71). In einigen Szenarien kommunizieren neben tragbaren Rechengeräten auch ein oder mehrere Prozesssteuerungsgeräte (z. B. Steuerung 11, Feldgeräte 15-22, oder drahtlose Geräte 35, 40-58) unter Verwendung des von den Zugangspunkten 74 unterstützten drahtlosen Protokolls.
-
Die Gateways 76 und 78
-
Die Gateways 76 und 78 können mit Systemen verbunden sein, die außerhalb des unmittelbaren Prozesssteuerungssystems 5 liegen. Typischerweise sind solche Systeme Kunden oder Lieferanten von Informationen, die von dem Prozesssteuerungssystem 5 erzeugt oder damit betrieben werden. Zum Beispiel kann die Prozesssteuerungsanlage 5 einen Gateway-Knoten 76 beinhalten, um die unmittelbare Prozessanlage 5 kommunikativ mit einer anderen Prozessanlage zu verbinden. Zusätzlich oder alternativ kann die Prozesssteuerungsanlage 5 einen Gateway-Knoten 78 beinhalten, um die unmittelbare Prozessanlage 5 mit einem externen öffentlichen oder privaten System zu verbinden, wie z. B. einem Laborsystem (z. B. Laborinformationsmanagementsystem bzw. LIMS), einer Operator-Rounds-Datenbank, einem Materialflusssystem, einem Wartungsmanagementsystem, einem Produktbestandssteuerungssystem, einem Produktionsplanungssystem, einem Witterungsdatensystem, einem Versand- und Handhabungssystem, einem Verpackungssystem, dem Internet, einem Prozesssteuerungssystem eines anderen Lieferanten oder anderen externen Systemen.
-
Die Konfigurationsanwendungen 72a und die Datenbank 72b
-
Wiederum in Bezug auf 1 kann die Konfigurationsanwendung 72a und die Konfigurationsdatenbank 72b (zusammen das „Konfigurationssystem 72“) dazu verwendet werden, bestimmte Aspekte der Anlage 5 zu konfigurieren. Verschiedene Instanzen der Konfigurationsanwendung 72a können auf einem oder mehreren Rechengeräten (nicht dargestellt) ausgeführt werden, um dem Benutzer das Erstellen oder Ändern von Prozesssteuermodulen und das Herunterladen dieser Module über die Datenautobahn 10 auf die Steuerungen 11 zu ermöglichen, und um dem Benutzer das Erstellen oder Ändern von Bedienerschnittstellen zu ermöglichen, über die ein Bediener Daten einsehen und Dateneinstellungen innerhalb von Prozesssteuerroutinen ändern kann (z. B. die von der (den) Arbeitsstation(en) 71 bereitgestellten Schnittstellen).
-
Typischer-, aber nicht notwendigerweise sind die Benutzerschnittstellen für das Konfigurationssystem 72 andere als die für die Bedienerarbeitsstationen 71, da die Benutzerschnittstellen für das Konfigurationssystem 72 von Konfigurations- und Entwicklungsingenieuren davon verwendet werden, und zwar unabhängig davon, ob die Anlage 5 in Echtzeit arbeitet oder nicht, wohingegen die Bedienerarbeitsstationen 71 von Bedienern während Echtzeitbetriebsvorgängen der Prozessanlage 5 (hierin auch austauschbar als „Laufzeitbetriebsvorgänge“ der Prozessanlage 5 bezeichnet) verwendet werden.
-
Jede Instanz der Konfigurationsanwendung 72a kann auf einem geeigneten Rechengerät oder Satz von Rechengeräten implementiert sein (z. B. einem Desktop-Computer oder einer Arbeitsstation, einem Laptop, einem mobilen Gerät wie einem Telefon oder Tablet, einem Client/Server-System usw.), das bzw. die eine Benutzerschnittstelle mit Eingangskomponenten (z. B. eine Maus, eine Tastatur, Berührungssensoren, Hardware-Schaltflächen, Audio-Sensoren für Spracheingabe, Kameras oder Bewegungssensoren für die Eingabe von Gesten usw.) und Ausgangskomponenten (z. B. ein Display, Lautsprecher usw.) beinhalten können.
-
Im Betrieb speichert die Konfigurationsdatenbank 72b die Steuerungskonfigurationen, die von Steuerungen in der Anlage 5 verwendet werden, Prozessmodule, die verschiedene Bereiche oder Einheiten der Anlage 5 darstellen, oder Benutzerschnittstellen, die von den Benutzern erstellt (z. B. konfiguriert) wurden.
-
Im Allgemeinen bezieht sich der Ausdruck „Prozessmodul“ auf einen Satz von Daten, Anweisungen oder eine Kombination davon, die einen Satz von Prozesssteuerungselementen oder -Komponenten (z. B. Ausrüstungen wie Feldgeräte, Tanks, Rohre usw.) darstellen, die in einem bestimmten Bereich oder einer bestimmten Einheit der Anlage enthalten sind. Beispielsweise kann eine Anlage eine „Stadtwasser“-Einheit enthalten, die Wasser von der kommunalen Versorgung aufnimmt, es in einem Tank speichert und nach Bedarf an andere Bereiche der Anlage verteilt, während ein gewünschter Tankfüllstand aufrecht erhalten wird. Das Prozessmodul für die Einheit „Stadtwasser“ kann Daten enthalten, die Ausrüstungen in der Einheit identifizieren (z. B. einen Tank, Einlass- und Auslasspumpen und -Ventile, eine Füllstandsanzeige für den Tank usw.). Daten, die angeben, wie jede der Komponenten angeschlossen ist (die z. B. angeben, dass ein Ventil „CV013“ ein Einlassventil stromaufwärts des Tanks zwischen Tank und Wasserversorgung ist, die anzeigen, dass es geöffnet oder geschlossen werden kann, um den Wasserfluss in den Tank zu manipulieren); Steuerroutinen zum Steuern verschiedener Aspekte der Einheit (z. B. zum Öffnen der Wasserversorgung, um den Tank zu füllen, wenn der Füllstand einen bestimmten Mindestfüllstand erreicht); usw. In einigen Fällen enthält oder referenziert das Prozessmodul Ausrüstungsobjekte, wobei jedes Ausrüstungsobjekt eine tatsächliche Ausrüstungskomponente in der Anlage darstellt. Manchmal wird es als hilfreich empfunden, sich ein Prozessmodul als Blaupause für eine Einheit der Anlage vorzustellen. Die beschriebenen Systeme können eine Prozessmodul-GUI enthalten, die das Konzipieren dieser Blaupausen (d. h. der Prozessmodule) und die Konfiguration der entsprechenden physischen Ausrüstung in der durch die Blaupausen dargestellten Einheit (d. h. Prozessmodule) erleichtert.
-
Wiederum in Bezug auf das Konfigurationssystem 72 können, wie bei der(den) Datenhistoriker-Anwendung(en) 73a und der(den) Datenbank(en) 73b, die Konfigurationsanwendung 72a und die Konfigurationsdatenbank 72b zentralisiert sein und können ein einheitliches logisches Erscheinungsbild für das Prozesssteuerungssystem 5 aufweisen, obwohl mehrere Instanzen der Konfigurationsanwendung 72a gleichzeitig innerhalb des Prozesssteuerungssystems 5 ausgeführt werden können. Ferner kann die Konfigurationsdatenbank 72b über mehrere physische Datenspeichergeräte implementiert werden. Dementsprechend umfassen die Konfigurationsanwendung 72a, die Konfigurationsdatenbank 72b und die Benutzerschnittstellen dazu (nicht dargestellt) ein Konfigurations- oder Entwicklungssystem 72 für Steuer- oder Anzeigemodule.
-
Im weiteren Betrieb ermöglicht das Konfigurationssystem 72 das Erstellen, Zuweisen und Speichern von logischen Kennungen von Komponenten in der Feldumgebung 122. Die logischen Kennungen können von den in der Anlage 5 implementierten Steuermodulen und Geräten referenziert werden, um mit den Komponenten (und zugeordneten Signalen) zu interagieren, die den logischen Kennungen zugewiesen sind.
-
Beispielsweise können einem oder mehreren Geräten in der Anlage jeweils ein „Geräte-Tag“ oder „DT“ zugewiesen werden. Ein Geräte-Tag (manchmal auch als „Feldgeräte-Tag“ bezeichnet) ist eine logische Einheit, die ein bestimmtes Feldgerät identifiziert. Im Allgemeinen werden Geräte-Tags verwendet, um einem bestimmten Feldgerät einen Eingangs- oder Ausgangsblock eines Steuermoduls logisch zuzuordnen oder zuzuweisen. Sobald ein Geräte-Tag einem bestimmten I/O-Anschluss oder I/O-Kanal zugeordnet ist, wird das Feldgerät an den Block gebunden. Eine solche I/O-Bindung des Prozesssteuerungssystems kann automatisch basierend auf der Erfassung von I/O- oder Feldgeräten erfolgen. Zusätzlich oder alternativ kann eine solche Bindung während der Konfiguration (z. B. durch einen Benutzer) des Prozesssteuermoduls auftreten.
-
Ferner können einem oder mehreren Signalen, die von Geräten in der Anlage übertragen oder empfangen werden, jeweils ein „Signal-Tag“ zugewiesen werden, das manchmal als „Geräte-Signal-Tag“ oder „DST“ bezeichnet wird. In einigen Fällen müssen DSTs nur für Geräte implementiert werden, die mehr als ein einzelnes Signal übertragen oder empfangen. Zusammen können die DTs und DSTs einfach als „Tags“, „System-Tags“ oder „Systemkennungen“ bezeichnet werden. In vielen Fällen haben die logischen Kennungen einen zugeordneten Wert oder Satz von Werten, die jeweils einen bestimmten variablen Wert (z. B. Messung) oder Befehl darstellen. Im Allgemeinen können die Tags von der Prozessanlage 5 sowohl in der Feldumgebung 122 als auch in der Back-End-Umgebung 125 verwendet werden, um ein zugeordnetes Gerät oder Signal eindeutig zu identifizieren. Beispielsweise können Steuerroutinen die Tags und zugeordneten Werte referenzieren, um die Steuerung der Anlage zu implementieren.
-
Zur Veranschaulichung kann die Konfigurationsdatenbank 72b für ein gegebenes Feldgerät eine Informationszuordnung speichern oder eine logische Kennung oder ein Tag an eine bestimmte Hardwareadresse oder einen bestimmten I/O-Kanal binden. Die Hardwareadresse kann eine bestimmte Steuerung, eine bestimmte I/O-Karte, die mit der bestimmten Steuerung verbunden ist, oder eine bestimmte Adresse für den I/O-Kanal identifizieren, der die bestimmte I/O-Karte mit dem Feldgerät verbindet. In einigen Fällen kann diese Zuordnung oder Bindung in der Steuerung 11, dem Benutzerschnittstellengerät 75, der Bedienerarbeitsstation 71 oder einem anderen gewünschten Gerät (z. B. einem Gerät, das die logische Kennung auflösen muss) gespeichert werden. Nachdem ein Tag an eine Hardwareadresse oder einen I/O-Kanal gebunden wurde, wird das Tag als „zugewiesen“ betrachtet.
-
Zusätzliche Beispiele der Anlage 5
-
Obwohl 1 nur eine einzelne Steuerung 11 mit einer endlichen Anzahl von (i) Feldgeräten 15-22 und 40-46, (ii) drahtlosen Gateways 35, (iii) drahtlosen Adaptern 52, (iv) Zugangspunkten 55, (v) Routern 58 und (vi) drahtlosen Prozesssteuerungskommunikationsnetzwerken 70 zeigt, ist 1 nur eine veranschaulichende und nicht einschränkende Ausführungsform. Jede beliebige Anzahl von Steuerungen 11 kann in der Prozesssteuerungsanlage oder dem Prozesssteuerungssystem 5 beinhaltet sein, und jede der Steuerungen 11 kann mit einer beliebigen Anzahl von drahtgebundenen oder drahtlosen Geräten und Netzwerken 15-22, 40-46, 35, 52, 55, 58, und 70 kommunizieren, um einen Prozess in der Anlage 5 zu steuern.
-
DAS KONFIGURATIONSTOOL 101
-
2A zeigt ein Blockschaltbild des in 1 gezeigten Konfigurationstools 101, einschließlich einer Entwurfssteuerungskonfiguration 222, die unter Verwendung des Konfigurationstools 101 konzipiert und getestet werden kann. Vorteilhafterweise kann ein Satz von Logik 223 der Entwurfssteuerungskonfiguration 222 innerhalb des Tools 101 getestet und iterativ verbessert werden, bevor er finalisiert und in die Konfigurationsdatenbank 72b und die Live-Ausrüstung 202 (z. B. die Steuerung 11 oder ein anderes geeignetes Betriebsgerät in der Anlage 5) heruntergeladen wird.
-
Komponenten des Konfigurationstools 101
-
Das Konfigurationstool 101 beinhaltet ein elektronisches Gerät 205 und eine oder mehrere Datenbanken, in denen Folgendes gespeichert ist: (i) Vorlagen 213 für Ausrüstungsobjekte, die verschiedene Typen von Geräten in einer Anlage darstellen (z. B. Pumpen, Ventile, Tanks, Durchfluss-/Füllstands-/Druck-/Temperaturanzeigeelementen, usw.), von denen jede eine Grafik aufweist, die auf einen Ansichtsbereich einer Grafikkonfigurations-GUI 212 gezogen und dort abgelegt und so konfiguriert werden kann, dass sie ein bestimmtes Ausrüstungsteil (z. B. virtuell oder physisch) darstellt und mit anderen Grafiken 213 verknüpft ist, um Folgendes zu erstellen: (a) ein Prozessmodul 224, das einen Bereich in der Anlage darstellt, oder (b) eine Prozessmodul-GUI 226 (die das Prozessmodul 224 darstellt), die von einem Bediener während der Laufzeit verwendet werden kann, um den Betrieb des Bereichs einer Anlage zu überwachen; (ii) Vorlagen 215 für Funktionsblöcke, die in einen Ansichtsbereich einer Logikkonfigurations-GUI 210 gezogen und dort abgelegt werden können, um eine Logik 223 einer Steuerungskonfiguration 222 zu erstellen, die von einer oder mehreren Steuerungen implementiert werden soll; und (iii) ein oder mehrere Vorschauparameter 217 zum Konfigurieren der Art und Weise, in der die Konfiguration 222 getestet wird. Das Konfigurationstool 101 kann kommunikativ mit der Konfigurationsdatenbank 72b gekoppelt sein, in der Folgendes gespeichert sein kann: eine oder mehrere Steuerungskonfigurationen 242; ein oder mehrere Prozessmodule 244; eine oder mehrere Prozessmodul-GUIs 246; und eine oder mehrere Tag-Bindungen 248.
-
Das elektronische Gerät 205 ist ein elektronisches Rechengerät mit einem Speicher 205a, einem Prozessor 205b und einer Kommunikationsschnittstelle 205c, von denen jedes kommunikativ mit einem Systembus (nicht dargestellt) des Geräts 205 verbunden sein kann. Die Kommunikationsschnittstelle 205c kann mehrere Schnittstellen enthalten, wie (i) eine oder mehrere Netzwerkschnittstellenkarten oder „NICs“ (z. B. eine drahtlose Karte oder eine drahtgebundene Karte) zum Koppeln des Geräts 205 mit externen Knoten oder Geräten, und (ii) eine oder mehrere Ein-/Ausgangs-(„I/O“)-Schnittstellen zum Koppeln des Geräts 205 mit einem oder mehreren Geräten oder Modulen, die dazu konfiguriert sind, Benutzereingänge an das Gerät 205 weiterzuleiten oder einen Ausgang für das Gerät 205 in einer von einem oder mehreren Benutzern verwendbaren Form bereitzustellen. Beispielsweise kann die I/O-Schnittstelle 205c des Geräts 205 kommunikativ mit einer oder mehreren UI-Komponenten 205d gekoppelt sein, einschließlich einer oder mehrerer Eingangskomponenten 205e und einer oder mehrerer Ausgangskomponenten 205f. Eine beispielhafte Ausgangskomponente 205f ist eine Anzeige, die ein(e) beliebige(s) geeignete(s) Komponente oder Gerät sein kann, das(die) dazu konfiguriert ist, Informationen in bildlicher oder visueller Form anzuzeigen (z. B. unter Verwendung von LED-, LCD- oder CRT-Technologie), und einen Bildschirm (der in einigen Fällen berührungsempfindlich sein kann), Projektor oder ein anderes Ausgabegerät, das einen visuellen Ausgang liefern kann, enthalten kann. Die Eingangskomponente 205e kann eine beliebige geeignete Komponente oder ein geeigneter Sensor sein, die bzw. der betätigt oder mit der bzw. dem interagiert werden kann, um einen Eingang für das Gerät 205 bereitzustellen, und kann einen Hardware-Aktuator enthalten, der mechanisch betätigt wird, um einen Eingang bereitzustellen (z. B. einen Schlüssel, eine Taste usw.), oder einen Sensor, der durch Erkennen von Änderungen in einem elektromagnetischen Feld betätigt wird (z. B. ein kapazitiver oder ein Widerstandsberührungssensor, der in die Anzeige 205f integriert sein kann, um einen Touchscreen zu bilden).
-
Der Speicher 205a des Geräts 205 enthält (i) eine Konfigurationsroutine 206 zum Konzipieren und Testen von Steuerungskonfigurationen, (ii) eine Entwurfssteuerungskonfiguration 222, die einer Steuerung zugewiesen und schließlich zur Steuerung hochgeladen werden kann, (iii) ein Entwurfsprozessmodul 224, das einen Bereich der Anlage 5 darstellt, und (iv) eine Entwurfsprozessmodul-GUI 226, die dazu konfiguriert ist, es einem Bediener zu ermöglichen, das durch die GUI 226 dargestellte Prozessmodul 224 zu überwachen und zu steuern. Erstens ist die Konfigurationsroutine 206 (manchmal als „Tool 206“ oder „Modul 206“ bezeichnet) ein Satz von Anweisungen, die bei Ausführung bewirken, dass das Gerät 205 (i) die LogikKonfigurations-GUI 210 oder die Grafik-Konfigurations-GUI 212 anzeigt, und (ii) eine Sandbox 208 zum Testen der Logik, die über eine der GUIs 210/212 entwickelt wurde, verwendet. Zweitens ist die Entwurfssteuerungskonfiguration 222 eine Steuerungskonfiguration, die unter Verwendung der Routine 206 konzipiert, getestet und bearbeitet werden kann und (i) das Logikmodul 223 (das ein beliebiger geeigneter Satz von Anweisungen, Steuerroutinen, Anwendungen usw. sein kann), und (ii) ein nichtlogisches Modul 225 enthält. Drittens ist das Entwurfsprozessmodul 224 ein Prozessmodul, das unter Verwendung der Routine 206 konzipiert werden kann. Viertens ist die Entwurfsprozessmodul-GUI 226 eine Prozessmodul-GUl, die unter Verwendung der Routine 206 konzipiert werden kann. Jedes oder mehrere der Module 208-212 können Module oder Komponenten der Routine 206 sein oder können relativ unabhängige Module oder Komponenten sein, die von der Routine 206 aufgerufen oder initiiert werden können.
-
Im Allgemeinen ist das Entwurfsprozessmodul 224 ein Satz von Daten, Anweisungen oder einer Kombination davon, die einen bestimmten Bereich oder eine bestimmte Einheit der Anlage 5 darstellen, einschließlich der Ausrüstung (z. B. Feldgeräte, Tanks, Rohre usw.) in diesem bestimmten Bereich oder in dieser bestimmten Einheit. Typischerweise ist die Prozessmodul-GUI 226 eine grafische Bedienerschnittstelle, die Ausrüstungen darstellt, die in dem Bereich oder der Einheit enthalten sind, die durch das Prozessmodul 224 dargestellt werden. Manchmal wird es als hilfreich empfunden, sich das Prozessmodul 224 als Blaupause für einen Bereich der Anlage und die Prozessmodul-GUI 226 als Schnittstelle zum Konzipieren der Blaupause (d. h. des Moduls 224) und der entsprechenden physischen Einheit vorzustellen.
-
Die Routine 206 ist ein Satz von maschinenlesbaren Anweisungen (z. B. ein Softwaremodul, eine Anwendung oder eine Routine), die, wenn sie vom Prozessor 205b ausgeführt werden, bewirken, dass das Gerät 205 eine grafische Benutzerschnittstelle (GUI) zum Interagieren mit dem Tool bereitstellt 101. In einigen Fällen kann das Gerät 205 mit einem Server (nicht dargestellt) interagieren, um Daten oder Anweisungen zu empfangen, die zum Bereitstellen der GUI verwendet werden. Die Routine 206 kann eine dedizierte Anwendung für das Konfigurationstool 101 sein oder kann eine Anwendung sein, die nicht spezifisch für das Konfigurationstool 101 dediziert ist (z. B. ein Webbrowser).
-
Die Sandbox 208 ist ein Satz von maschinenlesbaren Anweisungen (z. B. ein Softwaremodul, eine Anwendung oder eine Routine), die, wenn sie vom Prozessor 205b ausgeführt werden, bewirken, dass das Gerät 205 eine Testumgebung für die Logik 223 der Konfiguration 222 implementiert. Die Sandbox 208 kann eine Softwareemulation der Steuerung enthalten, für die die Konfiguration 222 konzipiert wird (z. B. die Steuerung 11), sowie Softwareemulationen eines oder mehrerer Feldgeräte, die mit der beabsichtigten Steuerung gekoppelt sein können. Es ist zu beachten, dass in einer Ausführungsform alles, was innerhalb der Sandbox 208 ausgeführt wird, keine Auswirkung außerhalb der Sandbox 208 hat (das heißt, die Ausführung hat keine Auswirkung auf den Betrieb der Anlage 5).
-
Beispielbetrieb des Tools 101
-
Im Betrieb kann das Tool 101: (i) die Logikkonfigurations-GUI 210 bereitstellen, wodurch ein Benutzer die Konfiguration 222 einschließlich der Logik 223 konzipieren und modifizieren kann; (ii) die Logik 223 in der Sandbox 208 testen, die Konfiguration 222 in die Datenbank 72 hochladen (wo sie als endgültige Konfiguration 242 gespeichert und schließlich an die Live-Ausrüstung 202 weitergegeben wird); und (iii) die GUI 212 anzeigen, wodurch ein Benutzer das Prozessmodul 224 und die entsprechende GUI 226 für das Prozessmodul 224 konzipieren kann. Es ist zu beachten, dass das Tool 101 einen der GUI 210 oder der GUI 222 zugeordneten „Vorschaumodus“ implementieren kann, der es einem Benutzer ermöglicht, (i) einen oder mehrere der Vorschauparameter 217 zum Testen der Logik 223 der Konfiguration 222 anzuzeigen und zu modifizieren; und (ii) die Logik 223 unter Verwendung der Sandbox 208 zu testen.
-
Die Vorschauparameter 217 können Prozessvariablen, die von der Entwurfssteuerungskonfiguration 22 empfangen oder gesendet werden, Logikparameter, die die Implementierung der Logik 223 beeinflussen (z. B. Proportionalterme, Integralterme oder abgeleitete Terme), oder jeden anderen geeigneten Parameter enthalten.
-
Beispiel-Vorschauparameter 217 können einen Einfügestatusparameter für eine oder mehrere Variablen für einen Block enthalten. Der Einfügestatus gibt an, ob die zugeordnete Variable einen Wert verwenden sollte, der ihr von einer Live-Ausrüstung oder einem vorgeschalteten Block zugeführt wird, oder einen Wert, der von einem Benutzer manuell eingestellt wird (z. B. um die Reaktion des Blocks und der Logik 223 zu testen). Beispielsweise kann ein Analogeingangs-(AI)-Block für ein Temperaturanzeigeelement ein Einfügestatusanzeigeelement aufweisen, das angibt, ob der Block eine im Feld gemessene Live-Temperatur oder einen Testwert für die vom Benutzer manuell bereitgestellte Temperatur verwenden soll oder nicht. In ähnlicher Weise können verschiedene Status- oder Alarmparameter für den Block auch mit manuellen Werten übersteuert werden (z. B. Abstimmparameter wie Verstärkung, Zurücksetzen, Rate usw.).
-
2B zeigt ein beispielhaftes Verfahren 280 zum Implementieren eines Vorschaumodus zum Testen der Logik 223 der in 2A gezeigten Konfiguration 222. Das Verfahren 280 kann ganz oder teilweise durch das Systemkonfigurationstool 101 (z. B. durch das Gerät 205) implementiert werden. Das Verfahren 280 kann in einem Speicher als eine oder mehrere Anweisungen oder Routinen gespeichert werden.
-
Das Verfahren 280 beginnt an einem Block 282, wenn das Tool 101 eine GUI (z. B. die GUI 210) zum Konzipieren einer Entwurfssteuerungskonfiguration bereitstellt. Die GUI kann einen oder mehrere Bereiche enthalten, einschließlich (i) Eingangsblockvorlagen (z. B. AI- oder Dl-Blöcke, die dazu konfiguriert sind, einen Wert von einem mit dem Block verknüpften Feldgerät zu empfangen und den Wert an andere verknüpfte Blöcke weiterzuleiten); (ii) Funktionsblockvorlagen (z. B. PID-Blöcke, die verschiedene Funktionen implementieren), und (iii) Ausgangsblockvorlagen (z. B. AO- oder DO-Blöcke, die so konfiguriert sind, dass sie einen Wert oder Befehl von einem Block empfangen und die Steuerung veranlassen, ein Signal zu übertragen, das den Wert oder Befehl zu einem mit dem Block verknüpften Feldgerät führt). Diese Vorlagenblöcke können in einen Ansichtsbereich der GUI gezogen und dort abgelegt werden, wo sie verknüpft und konfiguriert werden können, um die Logik 223 der Steuerungskonfiguration 222 zu definieren.
-
In einem Block 284 erkennt das Tool 101 eine Benutzerinteraktion (z. B. über die Ul-Komponenten 205d), die die Logik 223 definiert. Wie erwähnt, kann diese Benutzerinteraktion das Ziehen und Ablegen von Blockvorlagen 215 durch den Benutzer in einen Ansichtsbereich sein, wo sie verknüpft und konfiguriert werden, um die Logik 223 zu definieren.
-
In einem Block 286 speichert das Tool 101 die Entwurfssteuerungskonfiguration 222 mit der Logik 223 in einem Speicher.
-
In einem Block 288 implementiert das Tool 101 die Logik 223 in der Sandbox 208. Der Block 288 kann als Reaktion darauf eintreten, dass der Benutzer mit einem grafischen Element der GUI 210 interagiert (z. B. einer Schaltfläche zum Starten des Testens). Während des Testens kann der Benutzer einen Wert übersteuern, der einem bestimmten Block (z. B. von einem anderen Block oder von Live-Ausrüstungen) der Logik 223 durch „Einfügen“ von einem durch einen Benutzer manuell eingestellten Wert zugeführt wird. Der Benutzer kann den Wert einfügen, um die Reaktion des Blocks und der Logik 223 zu analysieren (z. B. durch Einfügen eines Ausreißerwerts, durch Auslösen eines Alarms, durch Einstellen eines Fehlergerätestatus usw.).
-
In einem Block 290 bestimmt das Tool 101, ob der Benutzer die Logik 223 weiter modifizieren oder die Logik 223 als endgültigen Entwurf speichern möchte oder nicht. Im Allgemeinen, wenn ein Benutzer die Logik 223 während des Testens modifizieren möchte, kann das Verfahren zu Schritt 286 zurückkehren. Das heißt, der Benutzer kann zum Ansichtsbereich der GUI 210 zurückkehren, um die Logik 223 zu modifizieren (z. B. durch Hinzufügen oder Entfernen von Blöcken oder durch Anpassen eines oder mehrerer Parameter, die das Verhalten der Blöcke definieren, wie z. B. ein Proportional-, Integral- oder Ableitungswert für einen PID-Block). Nach dem Testen der Logik 223 kann der Benutzer mit einer Schaltfläche oder einem anderen GUI-Element interagieren, um den Test zu stoppen und zur Bearbeitung zurückzukehren. Falls gewünscht, kann der Benutzer gleichzeitig die Logik 223 bearbeiten, während er die Logik 223 in der Sandbox 208 ausführt.
-
Wenn der Benutzer das Konzipieren und Testen der Logik 223 beendet hat, kann das Tool 101 Benutzereingänge erkennen, die einen Befehl darstellen, um die Entwurfssteuerungskonfiguration 222 zu finalisieren. Beispielsweise kann das Gerät 205 erkennen, dass der Benutzer mit einem geeigneten GUI-Element interagiert, das dazu konfiguriert ist, einen solchen Befehl zu empfangen. Das GUI-Element kann eine Schaltfläche mit den Bezeichnungen „Konfiguration finalisieren“, „Konfiguration speichern“, „Konfiguration in Konfigurationsdatenbank hochladen“, „Konfiguration in zugewiesene Steuerung hochladen“ usw. sein.
-
In einem Block 292 kann das Tool 101 die Entwurfskonfiguration 222 an die Datenbank 72b übertragen, wo sie als endgültige Steuerungskonfiguration 252 gespeichert wird. Die Datenbank 72b kann dann die Konfiguration 242 an die geeignete Live-Ausrüstung (z. B. an die Steuerung 11) weitergeben.
-
BEISPIELHAFTE STEUERMODULE, PROZESSMODULE UND PROZESSMODUL-GUIS
-
3 zeigt Beispiele 300 des in 2A gezeigten Prozessmoduls 244 und des Steuermoduls 243. Das Steuermodul 243 kann über die GUI 210 konzipiert und im „Vorschaumodus“ unter Verwendung der in 2A gezeigten Sandbox 208 getestet werden. In ähnlicher Weise kann das Prozessmodul 244 über die GUI 212 konzipiert werden.
-
Das Prozessmodul 244 enthält ein Ventilobjekt 301, das ein Steuerventil CV1 darstellt; ein Tankobjekt 303, das einen Tank T1 darstellt; ein Ventilobjekt 305, das ein Ventil CV2 darstellt; und ein Füllstandsgeberobjekt 307, das einen Füllstandsgeber LT1 darstellt. Jedes der Objekte 301-307 kann Parameter enthalten, die die Ausrüstung beschreiben oder dieser entsprechen, die jedes von ihnen darstellt (z. B. ein eindeutiges Tag, das die entsprechende Ausrüstung identifiziert, wie beispielsweise „CV1“; Status oder Diagnoseparameter für die dargestellte Ausrüstung; Beschreibung der Ausrüstung (z. B., Tankeinlassventil), physischer Standort (z. B. GPS-Koordinaten), medienberührte Teile des Ventils (d. h. das mit dem Prozess in Kontakt stehende Teil), Materialien (z. B. Stahl) usw.).
-
Das Steuermodul/die Routine/die Logik 243 stellt eine Logik zum Steuern eines Tankfüllvorgangs dar und kann als Steuerroutine oder -Anwendung bezeichnet werden. Das Modul 243 enthält einen AI-Block 321, der an einen Füllstandsgeber LT1 gebunden ist; einen PID-Block 323 mit einer Logik, die mit einem Wert arbeitet (der einen Tankfüllstand darstellt), der an den PID-Block 323 übergeben wird (z. B. einem Wert von 0 %-100 %); und einen AO-Block 323, der an ein Steuerventil CV1 gebunden ist.
-
Im Betrieb misst der LT1 einen Füllstand (z. B. in einem Tank) und überträgt ein Signal an eine Steuerung, die das Modul 243 (z. B. die Steuerung 11) implementiert, oder an eine mit der Steuerung gekoppelte I/O-Karte. Der AI-Block 321 erzeugt einen Wert, der einen Füllstand basierend auf dem Signal darstellt. Beispielsweise kann die Steuerung ein 4-20 mA-Signal empfangen, das einen Bereich von 0 % voll bis 100 % voll darstellt. Basierend auf dem Signal (z. B. 12 mA) erzeugt der AI-Block 321 einen entsprechenden Wert (z. B. 50 %), der an den PID-Block 323 übergeben wird. Basierend auf der durch den PID-Block 323 implementierten Logik kann der PID-Block 323 einen Befehl an den AO-Block 235 übergeben, um die Position des Ventils CV1 anzupassen, um einen gewünschten Sollfüllstand zu erreichen (z. B. wenn der Tankfüllstand 65 % betragen sollte, muss das Ventil möglicherweise weiter geöffnet werden). Der AO-Block 325 empfängt diesen Befehl und veranlasst die Steuerung, die den AO-Block 325 implementiert, ein Signal (z. B. 4-20 mA) an einen Aktuator für das Ventil CV1 zu senden, um zu bewirken, dass sich das Ventil auf eine Weise anpasst, die mit dem Befehl übereinstimmt (z. B. um das Ventil weiter zu öffnen).
-
Vorteilhafterweise kann ein Benutzer das Steuermodul 243 unter Verwendung des Systems 101 konzipieren und die Logik des Steuermoduls 243 iterativ testen, bis das Steuermodul 243 die gewünschten Ergebnisse als Reaktion auf verschiedene Bedingungen erzielt. Der Benutzer kann dies tun, ohne das Steuermodul 243 in die Konfigurationsdatenbank 72b hochzuladen, ohne das Modul 243 an eine Live-Steuerung weiterzugeben und ohne die Logik auf einer Live-Steuerung zu testen.
-
4 zeigt ein Beispiel der Grafikkonfigurations-GUI 212, die zum Konzipieren der in 2A gezeigten Prozessmodul-GUI 246 verwendet werden kann (die als Bedienerschnittstelle fungieren kann). Es ist zu beachten, dass die in 4 gezeigte GUI 246 nur ein Beispiel ist - die GUI 246 kann je nach Implementierung und Prozesssteuerungseinheit, die sie darstellt, eine andere Form annehmen.
-
Die Grafikkonfigurations-GUI 212 beinhaltet: (i) einen Bibliotheksbereich 405 mit einer oder mehreren Grafiken, die die Vorlagenausrüstungsobjekte 213 darstellen (z. B. Ventilvorlagen, Pumpenvorlagen, Tankvorlagen, Durchflussanzeigevorlagen, Rohrvorlagen usw.) und (ii) einen Ansichtsbereich 401, in dem ein Benutzer ein Prozessmodul oder eine Prozessmodul-GUI wie die GUI 246 erstellen kann. Die GUI 246 enthält mehrere Grafiken 421-427, die Ausrüstungen in der durch die GUI 246 dargestellten Einheit darstellen.
-
Während des Betriebs kann ein Benutzer eine oder mehrere der Grafiken 213 in den Ansichtsbereich 401 ziehen, wo er das Objekt an ein bestimmtes Tag binden kann (wodurch das Objekt an die dem Tag entsprechende Ausrüstung gebunden wird). Der Benutzer kann auch die Objekte im Ansichtsbereich verknüpfen, um ein Prozessmodul (z. B. das Modul 244) und die GUI 246 zu definieren, die das Prozessmodul darstellen. Wie erwähnt, enthält die GUI 246 die Grafiken 421-427, die den Objekten 301-307 entsprechen (und somit der Ausrüstung entsprechen, die durch die Objekte 301-307 dargestellt wird).
-
5 zeigt eine beispielhafte Steuerroutine 500, die unter Verwendung des Konfigurationstools 101 konzipiert und in der Vorschau angezeigt werden kann. Die Steuerroutine 500 beinhaltet vier Blöcke: einen Analogeingangs-(AI)-Block 502, einen AI-Block 504, einen Steuerblock 506 und einen AO-Block 508. In Abhängigkeit von der Implementierung können die AI-Blöcke 502 und 504 analoge Signale darstellen, die (z. B. von einem Feldgerät) über einen I/O-Kanal von einer Steuerung empfangen werden, die die Routine 500 implementiert, oder einer mit der Steuerung gekoppelten I/O-Karte. Beispielsweise kann der AI-Block 504 an ein erstes Gerätesignal-Tag (DST) gebunden sein, das einen bestimmten AI-I/O-Kanal an einer ersten I/O-Karte identifiziert, und der vom AI-Block 504 bereitgestellte Wert kann folglich von dem Wert des Signals auf dem bestimmten Al-I/O-Kanal (z. B. einem 4-20 mA-Signal, das von einem Durchflussgeber-Feldgerät bereitgestellt wird, das einen gemessenen Durchfluss darstellt) angesteuert werden. In ähnlicher Weise kann der AO-Block 508 ein analoges Signal darstellen, das über einen I/O-Kanal von einer Steuerung, die die Routine 500 implementiert, oder an eine mit der Steuerung gekoppelte I/O-Karte (z. B. an ein Feldgerät) übertragen werden soll. Zur Veranschaulichung kann der AO-Block 508 an eine zweite DST gebunden sein, die einen bestimmten AO-I/O-Kanal an einer zweiten I/O-Karte identifiziert. Somit kann der dem AO-Block 508 zugeführte Wert dazu führen, dass die zweite I/O-Karte ein Signal auf dem bestimmten AO-I/O-Kanal basierend auf dem am AO-Block 508 empfangenen Wert ansteuert (z. B. kann der Wert bewirken, dass die zweite I/O-Karte ein 4-20 mA-Signal über den AO-I/O-Kanal zu einem Ventilfeldgerät zum Steuern der Ventilposition ansteuert).
-
Im Allgemeinen erstellt ein Designer die Routine 500 durch Ziehen und Ablegen von Grafiken, die die Vorlagensteuerblöcke 215 darstellen, aus einem Bibliotheksbereich der GUI 210 auf einen Ansichtsbereich der GUI 210, um die Blöcke 502-508 zu erstellen und die Blöcke 502-508 wie gewünscht zu verbinden, und Parameter zum Konfigurieren der Blöcke 508 einzustellen, sodass Tags oder Signale, falls gewünscht, mit einem oder mehreren der Blöcke 502-508 verknüpft oder an diese gebunden werden können und sodass eine gewünschte Funktion für einen oder mehrere der Blöcke 502-508, falls gewünscht, konfiguriert werden kann.
-
Während die Steuerroutine 500 einen analogen Ausgang basierend auf einem Satz von analogen Eingängen bereitstellt, versteht es sich, dass Steuerroutinen, die von der Steuerung 11 oder anderen Steuerungen in der Anlage 5 implementiert werden, eine geeignete Anzahl von analogen oder digitalen Ausgängen basierend auf einer geeigneten Anzahl von analogen oder digitalen Eingängen bereitstellen können. Eingänge für Steuerfunktionsblöcke und Steuerroutinen, die in der Anlage 5 verwendet werden, können Parameterwerte sein, die von Feldgeräten empfangen werden (z. B. über analoge Eingangsblöcke oder diskrete Eingangsblöcke), oder Parameterwerte, die von anderen Steuerfunktionsblöcken oder anderen Steuerroutinen empfangen werden. Ebenso können Ausgänge, die von Steuerfunktionsblöcken und Steuerroutinen bereitgestellt werden, die von Steuerungen in der Anlage 5 implementiert werden, Parameterwerte oder Befehle sein, die als Eingänge für andere Steuerroutinen oder - Blöcke bereitgestellt werden (z. B. diskrete oder analoge Ausgangsblöcke, die die Parameter oder Befehle für Feldgeräte bereitstellen, Steuerfunktionsblöcke wie PID-Blöcke oder diskrete Steuerblöcke usw.). Während die Steuerroutine 500 den PID-Funktionsblock 506 enthält, versteht es sich, dass Steuerroutinen, die unter Verwendung des Systems 101 erstellt und in der Anlage 5 implementiert sind, andere Typen von Steuerfunktionsblöcken verwenden können.
-
In jedem Fall kann ein Designer die Routine 500 und andere Steuerroutinen konzipieren, die von den hier beschriebenen Steuerungen unter Verwendung des Systems 101 implementiert werden. Insbesondere kann ein Designer eine Routine konzipieren, indem er visuelle Darstellungen von Blöcken, die er oder sie in die Routine aufnehmen möchte, zu einem „Ansichtsbereich“ hinzufügt und mit den visuellen Darstellungen interagiert, um Parameter und Logik zu konfigurieren, die den Blöcken zugeordnet sind (z. B. durch Klicken auf eine visuelle Darstellung zum Aktivieren eines Dropdown-Menüs, das eine solche Konfiguration ermöglicht) und Herstellen von Verbindungen zwischen Ein- und Ausgängen von Blöcken, um dadurch den Informationsfluss zwischen den Blöcken zu definieren und folglich das Design der Logik der breiteren Steuerroutine zu erleichtern.
-
Beispielsweise kann der Designer unter Bezugnahme auf die Steuerroutine 500 spezifisch eine generische PID-Blockvorlage (nicht dargestellt) auf den Ansichtsbereich ziehen, um den in 5 gezeigten PID-Funktionsblock 506 zu instanziieren. Auf einem hohen Niveau enthält ein PID-Block eine Logik zum Ansteuern einer Prozessvariablen (PV) oder einer Regelgröße (CV), wie beispielsweise eines Temperaturniveaus für Fluid in einem Tank, auf einen gewünschten Füllstand oder Ventilposition für ein Steuerventil an einer Einlass-Warmwasserleitung. Die generische PID-Blockvorlage ist konfiguriert zum: Berechnen (i) eines Fehlers 514 zwischen einem Sollwert 512 und einer gemessenen Prozessvariablen 514; und Anwenden (ii) eines Proportionalterms 518, eines Integralterms 520 und/oder eines abgeleiteten Terms 522 auf den Fehler 516, um einen Ausgangswert 526 zu erzeugen. Im Allgemeinen stellt der Ausgangswert 526 eine zusätzliche Änderung des MV dar, die erforderlich ist, um den PV 514 näher an den Sollwert zu bringen. Beispielsweise kann ein PID-Block ein Ventil im Laufe der Zeit allmählich öffnen, um ein Überschießen des SP 512 zu vermeiden, und kann sich folglich auf die Rückmeldung des gemessenen PV 514 stützen, um den Befehl zu geben, dass sich ein Ventil schrittweise zunehmend (oder abnehmend, während sich der das PV 514 an den SP 512 annähert) öffnet. Wenn der Fehler 514 Null ist, ist der Ausgang 526 Null, was angibt, dass keine weitere Änderung erforderlich ist, um den gewünschten SP 512 zu erreichen.
-
Wenn die Designerin den Funktionsblock 506 instanziiert, kann sie die Parameter 518-522 so konfigurieren, dass sie das Verhalten des Funktionsblocks 506 beeinflussen. Beispielsweise kann der Designer einen oder mehrere der Begriffe 518-522 ändern, um zu bewirken, dass der Block 506 den SP 512 aggressiver erreicht, wobei ein höheres Risiko besteht, dass sowohl der SP 512 überschießt als auch Schwingung entsteht, oder kann einen oder mehrere der Terme ändern, die bewirken, dass die Regelgröße den SP 512 mit einer langsameren und konservativeren Rate erreicht, die weniger wahrscheinlich zu Überschießen und/oder Schwingung führt.
-
Die Eingangsblöcke 502 und 504 können instanziiert werden, indem Vorlagen-Al-Blöcke auf den Ansichtsbereich gezogen und dort abgelegt und jeweils an ein Tag gebunden werden. Beispielsweise kann ein Designer den AI-Block 504 an ein System-Tag (z. B. TI-093) binden, das für ein Feldgerät eindeutig ist, das die PV (z. B. eine Temperatur) misst, die der Designer als gemessene PV 514 für den PID-Block 506 verwenden möchte. Der Benutzer kann dann eine Verknüpfung zwischen dem AI-Block 504 und dem PV 514 des Funktionsblocks 506 herstellen, um zu bewirken, dass der AI-Block 504 den PV 514 speist. Ein System-Tag kann in ähnlicher Weise an den AI-Block 502 gebunden sein. In einigen Fällen kann ein Designer ein Tag verwenden, das eine Variable darstellt, die vom Benutzer geändert werden kann (z. B. um den Sollwert anzupassen). In einigen Fällen kann der Designer anstelle der Verwendung des AI-Blocks 502 als Eingang für den SP 112 den Ausgang eines zweiten Funktionsblocks verwenden, wodurch eine Kaskadensteuerung implementiert wird.
-
Schließlich kann der Ausgangsblock 508 instanziiert werden, indem ein Vorlagen-AO-Block auf den Ansichtsbereich gezogen und dort abgelegt und an ein Tag gebunden wird (z. B. ein Tag, das für das zuvor beschriebene Steuerventil eindeutig ist). Der Designer kann dann den Ausgang 526 mit dem Block 508 verknüpfen, sodass der PID-Block 506 den AO-Block 508 speist.
-
Das Steuersystem 5 kann eine Anzahl anderer Blockvorlagen enthalten, die dazu konfiguriert sind, eine bestimmte Routine oder Logik zu verwenden, die zum Ableiten eines Ausgangs konfiguriert ist, sowie andere Steuerroutinen, die durch Verknüpfen eines oder mehrerer aus Vorlagen erstellter Eingangsblöcke, Steuerblöcke oder Ausgangsblöcke entwickelt werden.
-
BEISPIELHAFTE LOGIKKONFIGURATIONS-GUIS
-
6-14 zeigen beispielhafte Drahtmodelle oder Screenshots von Logikkonfigurations-GUls, die vom Konfigurationstool 101 präsentiert werden können, um das Konzipieren von Steuerungskonfigurationen (wie z. B. der Konfiguration 242) und Logik für die Steuerungskonfigurationen (z. B. die Logik 223, die Logik 243) und der Steuerroutine 500 zu erleichtern, die in den 2, 3 und 5) dargestellt ist.
-
6 zeigt ein beispielhaftes Drahtmodell 600 der Logikkonfigurations-GUI 210, die vom Konfigurationstool 101 präsentiert werden kann, um das Konzipieren von Steuerungskonfigurationen (wie z. B. der Konfiguration 242) und Logik für die Steuerungskonfigurationen (z. B. die Logik 223, die Logik 243) und der Steuerroutine 500 zu erleichtern, die in den 2, 3 und 5) dargestellt ist.
-
Die in 6 dargestellte GUI 210 beinhaltet: einen Navigationsbereich 601, einen Ansichtsbereich 603, einen Vorschaubereich 605, eine Symbolleiste 607, eine Registerkartenleiste 609 und eine Titelleiste 611. Der Ansichtsbereich 603 schließt einen Eingangsblockbereich 621, einen Steuerblockbereich 623 und einen Ausgangsblockbereich 625 ein.
-
Der Navigationsbereich 601 zeigt im Allgemeinen eine Dateihierarchie an, mit der ein Benutzer interagieren kann, um eine Steuerroutine zum Konzipieren oder Konfigurieren auszuwählen. Die Hierarchie kann die jeweilige Steuerung, Einheit, den jeweiligen Bereich oder die jeweilige Anlage angeben, innerhalb von der eine bestimmte Steuerroutine zugewiesen ist. In einigen Fällen wird der Navigationsbereich 601 stattdessen zu einem Bibliotheksbereich oder zeigt diesen an, der durch Interaktion mit einem Element in der GUI 210 (z. B. einem Element in der Symbolleiste 607 oder dem Ansichtsbereich 601) aktiviert werden kann. In anderen Fällen kann sich der Bibliotheksbereich an einer anderen Stelle innerhalb der GUI 210 befinden. Zum Beispiel zeigt 8 ein Beispiel 800 mit einem Bibliotheksbereich 801 zwischen dem Navigationsbereich 601 und dem Ansichtsbereich 603.
-
Der von der GUI 210 angezeigte Bibliotheksbereich (z. B. der Bibliotheksbereich 601) enthält im Allgemeinen einen Satz von Symbolen oder Grafiken, die die Vorlagenfunktionsblöcke darstellen (z. B. die in 2A gezeigten Vorlagen 215). Die Vorlagenfunktionsblöcke 215 können Vorlageneingangsblöcke (z. B. Vorlagen-AI- und Dl-Blöcke), Vorlagensteuerblöcke oder Vorlagenausgangsblöcke (z. B. Vorlagen-AO- und DO-Blöcke) enthalten. Beispiele für Vorlagensteuerblöcke beinhalten Vorlagen-PID-Blöcke, arithmetische Blöcke, Integratorblöcke (INT), Eingangsauswahl-(ISEL)-Blöcke, Signalcharakterisierungs-(SGCR)-Blöcke, interne Modellsteuer-(IMC)-Blöcke oder jeden anderen Block, der ein bestimmtes Modell darstellt (z. B. adaptive Steuermodelle, neuronale Netzwerkmodelle usw.), einen bestimmten Algorithmus, einen bestimmten Satz von Logik oder eine bestimmte Funktion.
-
Zurück zu 6 stellt der Ansichtsbereich 603 im Allgemeinen einen Design-Bereich dar, in dem ein Benutzer eine oder mehrere der Grafiken platzieren kann, die Vorlagen 215 darstellen, in denen der Benutzer (i) mit den platzierten Grafiken interagieren kann, um die Grafiken zu instanziieren oder auf andere Weise das Darstellen eines bestimmten Funktionsblocks zu veranlassen (z. B. durch Binden von Eingangs- oder Ausgangsblöcken an Signal-Tags) und (ii) Verknüpfen der platzierten Grafiken, um eine Steuerroutine zu definieren (z. B. eine der Steuerroutinen 223 oder 243, die in den 2A und 3) dargestellt sind. Beispielsweise kann ein Benutzer die Steuerroutine 243 konzipieren, indem er (i) eine AI-Blockvorlage und eine AO-Blockvorlage aus dem Bibliotheksbereich in den Ansichtsbereich 603 zieht, um den AI-Block 321 und den AO-Block 325 zu erstellen und mit den Blöcken 321 und 325 interagiert, um sie an eindeutige Tags zu binden, die ein vom LT1-Geber gesendetes Signal bzw. ein vom CV1-Ventil empfangenes Signal darstellen; (ii) eine PID-Blockvorlage aus dem Bereich 601 in den Ansichtsbereich 603 zieht, um den PID-Block 323 zu erstellen (z. B., und mit der Grafik interagiert, um verschiedene Parameter für den Block 323 einzustellen oder zu modifizieren, wie z. B. den Proportional- oder Integralterm); und (iii) den Ausgang des AI-Blocks 321 mit dem Eingang des PID-Blocks 323 verknüpft und den Ausgang des PID-Blocks 323 mit dem Eingang des AO-Blocks 325 verknüpft.
-
Während des Vorschaumodus kann der Ansichtsbereich 603 Werte in der Nähe von Linien anzeigen, die die Blöcke verbinden, um einen Wert anzugeben, den ein erster Block an einen zweiten Block übergibt. Beispielsweise kann das System 101 einen Vorschaumodus initiieren, während das Steuermodul 243 in dem Ansichtsbereich 603 gezeigt wird. Dementsprechend kann der Ansichtsbereich 603 einen ersten Wert anzeigen, der vom AI-Block 321 an den PID-Block 323 übergeben wird, der einen durch den LT1-Indikator gemessenen Tankfüllstand darstellt (z. B. 55 % voll), und einen zweiten Wert, der vom PID-Block 323 an den AO-Block 325 übergeben wird, der einen Befehl an das CV1-Ventil darstellt (z. B. einen Befehl zum Anpassen von CV1 an 65 % offen). Falls gewünscht, kann ein Benutzer mit einem dieser angezeigten Werte interagieren, um einen neuen manuellen Wert „einzufügen“. Beispielsweise kann ein Benutzer mit dem ersten Wert, der 55 % anzeigt, interagieren, um den ersten Wert auf 45 % zu ändern. Dies bewirkt, dass der PID-Block 323 den manuell eingefügten Wert anstelle des tatsächlichen Messwerts empfängt. Ein ähnlicher Prozess kann in Bezug auf den zweiten Wert stattfinden, der an den AO-Block 325 übergeben wird. Diese Einfügung von manuellen Werten ermöglicht es einer Benutzerin, die Logik der Steuerroutine 243 zu testen, während sie sie konzipiert. Wenn beispielsweise das Ändern eines der eingefügten Werte dazu führt, dass sich das Ventil CV1 an eine Position anpasst, die zum Überfüllen des Tanks führt oder bei der der Tankfüllstand einen Mindestfüllstand unterschreiten kann, kann der Benutzer die Routine 243 neu konzipieren, um das unerwünschte Verhalten zu vermeiden (z. B. durch Hinzufügen oder Entfernen von Blöcken, durch Ändern von Einstellungen an Steuerblöcken wie z. B. dem PID-Block 323 usw.).
-
Um eine einfachere Identifizierung von Blocktypen in einer konzipierten Steuerroutine zu erleichtern, kann das System 101, wenn ein Benutzer eine Vorlage aus dem Bibliotheksbereich in den Ansichtsbereich 603 zieht, automatisch Eingangsblöcke im Eingangsbereich 621, Steuerblöcke im Steuerbereich 623 und Ausgangsblöcke im Bereich 625 platzieren. In einigen Fällen sind die Bereiche 621-625 nicht explizit durch sichtbare Linien gekennzeichnet. In anderen sind Linien sichtbar, die die Bereiche 621-625 unterscheiden.
-
Weiter mit 6 kann der Vorschaubereich 605 Informationen anzeigen, die sich auf einen oder mehrere Blöcke beziehen, die in dem Ansichtsbereich 603 gezeigt sind
(z. B. als Reaktion darauf, dass ein Benutzer mit einem Block in dem Ansichtsbereich 603 interagiert). Die angezeigten Informationen können einen oder mehrere Prozesswerte, die vom Block übergeben oder empfangen werden, ein an den Block gebundenes Tag, einen Skalierungsparameter, einen Linearisierungsparameter, verschiedene Betriebs- oder Diagnoseparameter usw. enthalten. Ein Benutzer kann mit den angezeigten Informationen interagieren, um einen manuellen Wert anstelle des aktuell angezeigten Werts einzufügen (z. B. einen Wert, der über ein Signal von einem Feldgerät empfangen wird).
-
Die Symbolleiste 607 kann verschiedene interaktive Elemente anzeigen, die das System 101 veranlassen, eine Aktion auszuführen. Beispielsweise kann die Symbolleiste 607 eine Schaltfläche „Vorschau“ enthalten, die den Vorschaubereich 605 aktiviert. Die Symbolleiste 607 kann eine Schaltfläche „Online“ enthalten, die alle manuellen Werte deaktiviert, die in die angezeigte Steuerroutine eingefügt wurden, und die bewirkt, dass der Ansichtsbereich 603 Online-Werte anzeigt, die zwischen Blöcken übergeben werden.
-
Die Registerkartenleiste 609 zeigt Registerkarten für ein oder mehrere Fenster an, die einen Ansichtsbereich 603 anzeigen, die jeweils eine andere Steuerroutine darstellen.
-
Die Titelleiste 611 kann Elemente enthalten, die bewirken, dass das System 101 eine vorherige Aktivität rückgängig macht oder wiederholt, oder auf verschiedene Optionen zugreift, die dem System 101 und der GUI 210 zugeordnet sind.
-
In einigen Fällen können eines oder mehrere der Elemente 601-625 zu einem bestimmten Zeitpunkt einklappbar oder verborgen sein. Beispielsweise kann in einigen Fällen der Vorschaubereich 605 zu bestimmten Zeiten oder basierend auf bestimmten Auslösern manuell oder automatisch deaktiviert werden. Beispielsweise kann ein Benutzer mit einem „Exit“-Element (z. B. oben rechts im Bereich 605 positioniert) interagieren, um den Bereich 605 auszublenden oder zu deaktivieren. Dies kann dazu führen, dass sich der Ansichtsbereich 603 ausdehnt, um den Bereich zu belegen, der zuvor von dem Bereich 605 belegt war. In ähnlicher Weise kann ein Benutzer einen oder mehrere Bereiche 601-623 aktivieren, wenn sie ausgeblendet oder deaktiviert sind. Beispielsweise kann die Symbolleiste 607 eine Schaltfläche oder ein Element „Vorschaumodus“ enthalten, die bzw. das bewirkt, dass der Bereich 605 aktiviert wird.
-
Es ist zu beachten, dass die GUI 210 in Abhängigkeit von der Implementierung auf unterschiedliche Weise konfiguriert werden kann und eines oder mehrere der Elemente 601-623 unter Umständen nicht enthält, falls gewünscht. Ferner kann die GUI 210 in Abhängigkeit von der Implementierung Elemente oder Bereiche enthalten, die nicht dargestellt sind. Jede der 7-14 zeigt Screenshots der GUI 210, die dieselben oder ähnliche Komponenten/Bereiche wie die in 6 gezeigten enthalten. Dieselben Komponenten/Bereiche sind unter Umständen nicht mit einem Bezugszeichen gekennzeichnet, sofern dies für die nachstehende Erörterung nicht direkt relevant ist.
-
7 zeigt einen Beispiel-Screenshot 700 der GUI 210, in dem ein Benutzer mit einer Registerkarte 701 interagiert, um eine Palette von Grafikvorlagen zu öffnen, die verwendet werden, um die Konfiguration der Gebäudesteuerung zu erleichtern. Es ist zu beachten, dass der Screenshot 700 die gleichen Bereiche und Elemente 601-625 enthält, wie sie in 6 gezeigt sind.
-
Der Screenshot 700 zeigt auch eine Beispielroutine 710 in dem Ansichtsbereich 603, die ein Benutzer bearbeiten kann. Die Routine 710 enthält einen Eingangsblock 711, Steuerblöcke 713 und 715 und Ausgangsblöcke 717 und 719. Eine Reihe von Feldern 721-727 zeigt Werte von Parametern an, die zwischen Blöcken übergeben werden. Beispielsweise zeigt das Feld 721 einen Wert eines Parameters an, der vom Eingangsblock 711 an den Steuerblock 713 übergeben wurde. Falls gewünscht, kann ein Benutzer mit dem Feld 721 interagieren (z. B. durch Klicken oder Doppelklicken), um einen manuellen Modus zu aktivieren, in dem ein Benutzer veranlassen kann, dass ein benutzerdefinierter Wert an den Block 713 übergeben wird, anstatt dass der Wert vom Block 711 ausgegeben wird (der z. B. einer tatsächlichen Messung entsprechen kann, die von einem Feldgerät erhalten wird, das dem Block 711 entspricht). Dies kann hilfreich sein, wenn der Benutzer daran interessiert ist zu testen, wie die Routine 710 auf das Empfangen eines Bereichs unterschiedlicher Eingangswerte von Block 711 reagiert.
-
Im Betrieb kann ein Benutzer mit einem Element 701 (z. B. einer Registerkarte) interagieren, um einen Bibliotheksbereich oder eine Palette zu aktivieren, der bzw. die verschiedene Vorlagenfunktionsblöcke anzeigt, die der Benutzer in den Ansichtsbereich 603 ziehen und dort konfigurieren kann. Eine Beispielpalette, die als Reaktion auf die Interaktion mit dem Element 701 angezeigt werden kann, ist in 8 dargestellt.
-
8 zeigt einen Beispiel-Screenshot 800 der GUI 210, einschließlich einer Palette 801, die als Reaktion auf eine Interaktion mit der in 7 gezeigten Registerkarte 701 aktiviert wird. Die Palette 801 enthält mehrere Funktionsblockvorlagen 803, einschließlich einer PID-Vorlage (einschließlich Vorlagenlogik zum Implementieren der PID-Steuerung), einer „Splitter“-Vorlage (diese wird für „gesplittete Bereichssteuerung“ verwendet; ein Splitter-Funktionsblock nimmt einen einzelnen Eingang und berechnet zwei Ausgänge; dies ermöglicht es einem Integral-(z. B. PID)-Regler, zwei Ausgänge ohne Erreichen von Stillstand (Sättigung) anzusteuern, wenn einer oder beide Ausgänge begrenzt sind), und eine Signalgeneratorvorlage.
-
Falls gewünscht, kann die Palette 801 auch Eingangsfunktionsblöcke (z. B. AI- und DI-Blöcke), Ausgangsfunktionsblöcke (z. B. AO- und DO-Blöcke) und Steuerfunktionsblöcke enthalten, die in 8 nicht dargestellt sind (z. B. arithmetische Blöcke, Integratorblöcke usw.). Möglicherweise möchte ein Benutzer irgendwann einen „Vorschaumodus“ aktivieren, in dem ein Vorschaufenster dargestellt wird, um Test- oder Vorschaudaten anzuzeigen, die für die Konfiguration der Routine 701 relevant sind. Eine beispielhafte Technik zum Aktivieren eines Vorschaufensters ist in 9 dargestellt.
-
9 zeigt einen Beispiel-Screenshot 900 der GUI 210, in dem ein Benutzer mit einem Element 901 interagiert, um ein Vorschaufenster (nicht dargestellt) zu aktivieren. Wie in 9 dargestellt, kann die GUI 210 vor der Interaktion des Benutzers einen Informationsbereich 903 zeigen, der sich auf ein Objekt im Ansichtsfeld bezieht (z. B. ein Objekt, mit dem ein Benutzer interagiert hat). In diesem Fall enthält der Informationsbereich 903 beispielsweise Informationen bezüglich des PID-Blocks 713, der auch in 7 dargestellt ist (in diesem Fall der TIC-13807). Es ist zu beachten, dass TIC für „Temperaturanzeigeregler“ steht. In jedem Fall kann die Interaktion mit dem Element 901 dazu führen, dass das System 101 ein Vorschaufenster anzeigt, das dem in 10 gezeigten ähnlich ist.
-
10 zeigt einen Beispiel-Screenshot 1000 der GUI 210, in dem: (i) ein Vorschaufenster 1001 als Reaktion auf die Benutzerinteraktion mit dem in 9 gezeigten Element 901 angezeigt wird, und (ii) ein Benutzer mit dem grafischen Element 723 interagiert, um einen Testwert einzufügen, der an den Block 715 übergeben werden soll.
-
Das Vorschaufenster 1001 kann zusätzlich zu oder anstelle von Informationen zu einem oder mehreren der Blöcke, aus denen die Routine 701 besteht, Informationen darstellen, die sich auf die Routine 701 beziehen. Beispielsweise weist die Routine oder das Modul 701 in diesem Fall eine eindeutige Kennung oder ein eindeutiges Tag „TIC-13807“ auf. 10 zeigt dieses Tag im Feld 1010 an. Das Vorschaufenster 1001 kann Felder enthalten, die weitere Informationen über die Routine 710 anzeigen, einschließlich eines Titelfelds 1011 (hier noch nicht konfiguriert; dies kann der benutzerfreundliche Text sein, den der Anlagenbediener in seiner Laufzeit-GUI sehen möchte (z. B. Blende), anstelle von oder zusätzlich zu dem Tag (z. B. TIC-13807); ein Beispieltitel lautet „Temperatur am Boden der Säule“); ein Beschreibungsfeld 1013 (noch nicht konfiguriert); ein Prozesstypfeld 1015 (noch nicht konfiguriert; z. B. „Temperaturregelung“); ein Betriebsfrequenzfeld 1015 (in diesem Fall auf 1 Sekunde eingestellt); und ein Steuerungszuweisungsfeld 1019 (die Routine 701 wurde in diesem Beispiel noch keiner Steuerung zugewiesen, daher ist das Feld 1019 leer).
-
11 zeigt einen Beispiel-Screenshot 1100 der GUI 210, in dem ein Benutzer mit dem Grafikelement 711 über einen Cursor 1101 interagiert, um ein Vorschaufenster für ein Objekt zu aktivieren, das dem Grafikelement 711 entspricht. Ein beispielhaftes Vorschaufenster 1201 ist in 12 dargestellt.
-
12 zeigt einen Beispiel-Screenshot 1200 der GUI 210, der das Vorschaufenster 1201 zeigt, das als Reaktion darauf bereitgestellt wird, dass ein Benutzer mit dem Element 711 interagiert, wie in 11 dargestellt. Ferner zeigt 12, dass ein Benutzer mit einem Feld 1203 über einen Cursor 1205 interagiert, um einen Testwert in den durch das Feld 1203 dargestellten Eingang einzufügen.
-
13 zeigt einen Beispiel-Screenshot 1300 der GUI 210, in dem ein Benutzer mit einer Registerkarte 1301 interagiert, um ein Fenster zum Anzeigen von Testwerten (nicht dargestellt) zu aktivieren, die zum Testen der in der GUI 210 dargestellten Steuerroutine verwendet werden. Ein beispielhaftes Testwertfenster 1401 ist in 14 dargestellt.
-
14 zeigt einen Beispiel-Screenshot 1400 der GUI 210, einschließlich eines Fensters 1401, das aktiviert wird, nachdem ein Benutzer mit der in 13 gezeigten Registerkarte 1301 interagiert.
-
BEISPIELHAFTE GRAFIKKONFIGURATIONS-GUIS
-
15-20 zeigen Beispiel-Screenshots von Grafikkonfigurations-GUls, die von dem Konfigurationstool 101 präsentiert werden können, um das Konzipieren von Prozessmodulen zu erleichtern (z. B. die in 2A gezeigten Prozessmodule 224 und 244), und Bediener-GUIs, die Prozessmodule darstellen (z. B. die GUIs 212 und 246, die in den 2A und 4 dargestellt sind.
-
15 zeigt einen Beispiel-Screenshot 1500 der Grafikkonfigurations-GUI 212 (ebenfalls in 2A dargestellt), die vom Konfigurationstool 101 präsentiert werden kann, um das Konzipieren von Prozessmodulen und Prozessmodul-GUIs zu erleichtern. Wie angemerkt, können die Prozessmodul-GUIs (z. B. die in 2A gezeigte GUI 244), die unter Verwendung der GUI 212 erstellt wurden, während des Betriebs als Bedieneranzeige dargestellt werden, um das Überwachen und Steuern des durch die Prozessmodul-GUI dargestellten Prozessmoduls durch einen Bediener zu erleichtern.
-
Der erste Bereich 1501 kann ein Ansichtsbereich sein, in dem ein Benutzer verschiedene Elemente oder Grafiken 1531-1537 platziert und verbindet, um eine Prozessmodul-GUI 1530 zu definieren (und möglicherweise ein entsprechendes Prozessmodul zu definieren). Hier beinhaltet die GUI 1530: (i) eine Füllstandsanzeigegrafik 1531, die dazu konfiguriert ist, einen Füllstand anzuzeigen, der durch eine entsprechende Füllstandsanzeige und einen Sollwert für den Füllstand gemessen wird; (ii) eine Ventilgrafik 1533, die einen Status eines entsprechenden Ventils anzeigen kann (z. B. über Farbe); (iii) eine Pumpengrafik 1535, die einen Status einer entsprechenden Pumpe anzeigen kann (z. B. über eine Farbe); und (iv) eine Tankgrafik 1537, die einen Status eines entsprechenden Tanks anzeigen kann (z. B. den durch die Füllstandsanzeige gemessenen Füllstand).
-
Der zweite Bereich 1511 kann ein „Tag-Informationsbereich“ sein, der dazu konfiguriert ist, Informationen über Tags (z. B. eindeutige Kennungen) anzuzeigen, die an Komponenten gebunden sind, die durch die in dem Ansichtsbereich 1501 gezeigten Grafiken dargestellt werden. Für Grafiken, die noch nicht an eine bestimmte Ausrüstung gebunden sind, können die Felder im Bereich 1511 zeigen, dass diese Grafiken „ungebundene Elemente“ sind.
-
Der dritte Bereich 1513 kann ein „Konfigurationsbereich“ sein, in dem ein Benutzer Informationen konfigurieren kann, die für eine der im Ansichtsbereich 1501 platzierten Grafiken 1531-1537 bestimmt sind. Beispielsweise kann ein Benutzer auf die Grafik 1535 klicken, um das Tool 101 zu veranlassen, im Konfigurationsbereich 1513 interaktive Felder zum Bearbeiten von Informationen über die Grafik 1535 oder die durch die Grafik 1535 dargestellte Ausrüstung anzuzeigen (z. B. in diesem Fall die Pumpe „P-137A“). Beispielsweise kann ein Benutzer mit Feldern interagieren, die in dem Bereich 1513 gezeigt sind, um die Farben verschiedener Unterelemente in der Grafik 1535 (z. B. die Körperfarbe und die Farbe in der Mitte) zu bearbeiten. Falls gewünscht, können Farben kontextspezifisch sein. Das heißt, ein Benutzer kann die Eigenschaften der Grafik 1535 so bearbeiten, dass bei Anzeige der GUI 1530 die Farben der Unterelemente der Grafik 1535 von den Werten eines oder mehrerer Parameter abhängen (die z. B. den Status der Pumpe P-137A darstellen, beispielsweise ob die Pumpe aktiv ist, aktiv wird, nicht aktiv ist, defekt ist usw.).
-
Weiter mit 15 ist ein Cursor 1551 gezeigt, der mit einer „Vorschau“-Schaltfläche 1550 interagiert, die in der Symbolleiste 1517 enthalten ist. Die Interaktion mit der Schaltfläche 1550 kann dazu führen, dass das Tool 101 ein Vorschaufenster 1601 anzeigt, von dem ein Beispiel in 16 gezeigt ist.
-
Wenn wir uns nun 16 zuwenden, ist ein Beispiel-Screenshot 1600 der GUI 212 gezeigt, einschließlich eines Vorschaufensters 1601, das als Reaktion auf eine Benutzerinteraktion mit dem in 15 gezeigten Element 1550 aktiviert wird. Das Vorschaufenster 1601 kann ein oder mehrere Felder enthalten, in denen Werte für Betriebsparameter angezeigt werden. Beispielhafte Betriebsparameter beinhalten Alarmparameter, Verriegelungsparameter, Integritätsparameter (z. B. einen Integritätsindex) und Bedienerparameter. Die Bedienerparameter können Parameter beinhalten, die zu dem dargestellten Gerät gehören und für einen Bediener oder die Hauptaufgaben eines Bedieners relevant sind. Beispielhafte Bedienerparameter beinhalten einen aktuellen Status; einen Fehlerstatus; einen First-Out-Parameter (dieser gibt an, welche Verriegelungsauslösebedingung zuerst aktiviert wurde); einen Verriegelungsstatus (der z. B. angibt, ob die Verriegelung aktiv oder inaktiv ist); einen Modusparameter, der angibt, ob sich das Gerät im automatischen Modus (d. h. von der entsprechenden Logik oder Steuerroutine gesteuert) oder im manuellen Modus (d. h. von einem Bediener gesteuert) befindet; einen „zulässigen aktiven“ Parameter (der z. B. eine zulässige Bedingung angibt, die den Übergang vom passiven zum aktiven Zustand hemmt - eine Verriegelung kann einen Übergang von aktiv nach passiv erzwingen); einen Sollwertparameter (z. B. passiv gegenüber aktiv für eine Pumpe); und einen Abschaltstatus.
-
Ein Benutzer kann einen Testwert für jeden der Betriebsparameter einfügen, wodurch von Feldgeräten gemessene Werte (z. B. gemessene Temperaturen, Drücke, Durchflüsse usw.) oder von einer Steuerroutine eingestellte Werte übersteuert werden. Beispielwerte, die von einer Steuerroutine eingestellt werden, beinhalten Ausgangswerte, die von einem ersten Block an einen zweiten Block (z. B. einen Sollwert, einen Proportionalterm, einen Integralterm oder einen anderen geeigneten Wert) oder an ein Feldgerät (z. B. einen Ausgangswert von einem AO- oder DO-Block) übergeben werden. Ein Benutzer kann einen Testwert auf verschiedene Weisen einfügen. Zum Beispiel kann, wie nachstehend erläutert, ein Testwert eingefügt werden, indem direkt mit Grafiken interagiert wird, die in dem Ansichtsbereich gezeigt sind (wie in 17 dargestellt), oder indem mit einem Vorschaufenster interagiert wird, das neben dem Ansichtsbereich gezeigt wird (wie in 18 dargestellt).
-
17 zeigt einen Beispiel-Screenshot 1700 der GUI 212, in dem ein Benutzer einen Testwert für einen Betriebsparameter einfügt, indem er mit der Grafik 1531 über einen Cursor 1701 interagiert. Die Grafik 1531 kann ein oder mehrere interaktive Felder enthalten, mit denen ein Benutzer interagieren kann, um einen Testwert einzufügen. Zum Beispiel enthält die Grafik 1531 (i) ein „PV“-Feld, das eine gemessene Prozessvariable anzeigt (in diesem Fall einen gemessenes Füllstand von 24 Zoll); (ii) ein „SP“-Feld, das einen Wert für einen Sollwert für den gemessenen Füllstand anzeigt (hier 24 Zoll, was angibt, dass der Prozess einen stationären Zustand erreicht hat); und (iii) ein „OUT“-Feld, das eine Farbe anzeigt (die einen Status für die durch die Grafik 1531 dargestellte Füllstandsanzeige darstellen kann; in einigen Ausführungsformen ist die Farbe nicht an den Status gebunden. Es ist zu beachten, dass der Sollwert in dem Feld „SP“ durch eine Steuerroutine oder -Logik eingestellt werden kann, die ausgeführt wird, um das Prozessmodul zu steuern (z. B. die in 2A gezeigte Logik 223 oder 243, die in 5 gezeigte Routine 500, die in 7 gezeigte Routine 710, usw.). In Abhängigkeit von der Implementierung kann die logische Einstellung des Sollwerts von einer Steuerung in der Anlage 5 während des normalen Betriebs oder während eines Testbetriebs oder von einer virtuellen Steuerung in einer Testumgebung implementiert werden. In einigen Fällen wird der Sollwert von einem Bediener anstatt von einer Steuerroutine eingestellt. In jedem Fall kann ein Benutzer einen Testwert einfügen, um einen oder mehrere dieser Werte zu übersteuern.
-
18 zeigt einen Beispiel-Screenshot 1800 der GUI 212, in dem ein Benutzer einen Testwert für einen Betriebsparameter einfügt, indem er mit einem Feld 1801 interagiert, das in dem Vorschaufenster 1601 enthalten ist. Nach dem Klicken auf das Feld 1801 kann unter Umständen ein Dropdown-Menü erscheinen, das ein Element mit der Bezeichnung „Testwert einfügen“ oder etwas Ähnliches enthält. Der Benutzer kann auf dieses Element klicken, und das Tool 101 kann reagieren, indem es dem Benutzer ermöglicht, den Wert in dem Feld 1801 zu ändern. Falls gewünscht, erscheint unter Umständen ein Dropdown-Menü, das Werte enthält, die ein Benutzer einfügen kann. Diese Aktion kann insbesondere dann wünschenswert sein, wenn das Feld 1801 einen Status mit einer voreingestellten Anzahl verschiedener potentieller Status darstellt. In einigen Fällen kann der Benutzer einfach den gewünschten Wert bereitstellen (z. B. durch Eingabe über die Tastatur, Interagieren mit auf dem Bildschirm angezeigten Ziffern, durch Sprechen des gewünschten Werts, durch Manipulieren eines Balkens oder Bildlaufs, der den Wert anpasst usw.).
-
19 zeigt einen Beispiel-Screenshot 1900 der GUI 212, in dem ein Benutzer mit einem Feld 1901 für ein gebundenes Tag interagiert, was dazu führt, dass die GUI 212 (i) die Grafik 1535 hervorhebt, die das Gerät darstellt, an das das Tag gebunden ist, und (ii) im Bereich 1513 ein Vorschaufenster 1905 angezeigt wird, das Informationen zu dem Objekt zeigt, an das das Tag gebunden ist (z. B. die Pumpe mit dem Tag „P-137A“).
-
20 zeigt einen Beispiel-Screenshot 2000 der GUI 212, in dem ein Benutzer mit einem Feld 2001 für ein ungebundenes Tag interagiert, was dazu führt, dass die GUI 212 in dem Bereich 1513 ein Vorschaufenster 2003 anzeigt, das Informationen zeigt, die zu der ungebundenen Grafik gehören. In diesem Fall zeigt die GUI 212 beispielsweise, dass die Füllstandsgrafik 1537 nicht an ein Tag gebunden ist. In diesem Fall ist die Füllstandsgrafik 1537 so konfiguriert, dass sie an einen analogen Steuerfunktionsblock (z. B. einen PID-Block) gebunden ist. Da die Grafik 1537 nicht an ein Tag gebunden ist, erzeugt das Tool 101 einen Standardsteuerblock mit vorab eingefügten Werten. Der Benutzer kann mit jedem im Vorschaufenster 2003 angezeigten Feld interagieren, um die eingefügten Werte zu bearbeiten, die der Grafik 1537 und dem erzeugten Standardsteuerblock zugeordnet sind. Falls gewünscht, kann der Benutzer die Grafik 1537 auch an einen vorhandenen Steuerblock binden, was dazu führen kann, dass die Felder im Vorschaufenster 2003 mit Parameterwerten gefüllt werden, die vom gebundenen Steuerblock verwendet werden.
-
WEITERE ÜBERLEGUNGEN
-
Es folgen Beschreibungen verschiedener Aspekte, Vorrichtungen, Systeme, Komponenten, Geräte, Verfahren und Techniken zum Verwalten diskreter Prozesssteuerungselemente (z. B. diskreter Geräte, diskreter Kommunikationskanäle, diskreter Signale usw.) und zur intelligenten Inbetriebnahme diskreter Elemente im Steuerungssystem 5.
-
Wie vorstehend erläutert, helfen die hier beschriebenen Techniken dem Anlagenpersonal, den herkömmlichen Designsystemen für Prozesssteuerungssysteme zugeordneten zeit- und arbeitsintensiven Prozess zu vermeiden. Unter Verwendung des Konfigurationstools 101 kann ein Benutzer eine Steuerlogik zum Steuern eines Prozesses konzipieren, testen und in der „Vorschau“ anzeigen, bevor er die Steuerlogik in eine Konfigurationsdatenbank oder eine Prozesssteuerung in der Anlage herunterlädt. Dies ermöglicht ein schnelles Testen und Verbessern der Steuerlogik während der Design-Phase, wodurch der zeitaufwändige iterative Prozess des Konzipierens, des Herunterladens in eine Datenbank, der Weitergabe an eine Live-Steuerung und des Testens auf der physischen Steuerung vermieden wird. Das Konfigurationstool 101 trennt auch das Testen der Steuerlogik für eine Steuerungskonfiguration vom Testen nichtlogischer Aspekte der Steuerungskonfiguration, wodurch ein Benutzer das Konzipieren der Steuerlogik abschließen kann, bevor die Konfiguration in die Steuerung heruntergeladen wird. Vorteilhafterweise muss ein Benutzer nach dem Herunterladen einer konzipierten und getesteten Steuerungskonfiguration in eine Steuerung nur nichtlogische Aspekte der Konfiguration testen, bevor er die Steuerungskonfiguration in einem Live-Prozess im normalen Betrieb implementiert.
-
Wenn sie in Software implementiert sind, können alle der hierin beschriebenen Anwendungen, Dienste und Maschinen in jedem materiellen, nichtflüchtigen computerlesbaren Speicher, wie z. B. auf einer Magnetplatte, einer Laserplatte, einem Festkörper-Speichergerät, einem molekularen Speichergerät oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. gespeichert werden. Obwohl die hierin offenbarten Beispiel-Systeme so offenbart werden, dass sie neben anderen Komponenten auf Hardware ausgeführte Software oder Firmware enthalten, sei darauf hingewiesen, dass solche Systeme rein beispielhaft sind und nicht als einschränkend angesehen werden sollten. Zum Beispiel wird in Betracht gezogen, dass beliebige oder alle dieser Hardware-, Software- und Firmware-Komponenten ausschließlich in Hardware, ausschließlich in Software oder in beliebiger Kombination von Hardware und Software ausgeführt sein können. Dementsprechend werden die hier beschriebenen Systembeispiele zwar als in Software implementiert beschrieben, die auf einem Prozessor eines oder mehrerer Rechengeräte ausgeführt wird, aber Personen mit gewöhnlichen Fachkenntnissen werden leicht verstehen, dass die angegebenen Beispiele nicht die einzige Möglichkeit sind, solche Systeme zu implementieren.
-
Unter besonderer Bezugnahme auf das Verfahren 200 können die beschriebenen Funktionen ganz oder teilweise durch die Geräte, Schaltungen oder Routinen des in 1 dargestellten Systems 5 implementiert werden. Jedes der beschriebenen Verfahren kann durch einen Satz von Schaltungen ausgeführt sein, die permanent oder semipermanent konfiguriert sind (z. B. ein ASIC oder FPGA), um logische Funktionen des jeweiligen Verfahrens auszuführen, oder die mindestens temporär konfiguriert sind (z. B. ein oder mehrere Prozessoren und ein Satz von Anweisungen oder Routinen, die die logischen Funktionen darstellen und in einem Speicher gespeichert sind), um die logischen Funktionen des jeweiligen Verfahrens auszuführen.
-
Während die vorliegende Erfindung anhand konkreter Beispiele beschrieben wurde, die nur zur Veranschaulichung und nicht zur Einschränkung der Erfindung gedacht sind, wird es für Personen mit gewöhnlichen Fachkenntnissen offensichtlich sein, dass Änderungen, bestimmte Ergänzungen oder Löschungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne vom Geist und Umfang der Erfindung abzuweichen. Obwohl der vorstehende Text eine detaillierte Beschreibung zahlreicher unterschiedlicher Ausführungsformen darstellt, sollte es sich darüber hinaus verstehen, dass der Umfang des Patents durch den Wortlaut der am Ende dieses Patents dargelegten Ansprüche und deren Entsprechungen definiert ist. Die detaillierte Beschreibung ist nur als Beispiel zu verstehen und beschreibt nicht jede mögliche Ausführungsform, da das Beschreiben jeder möglichen Ausführungsform unpraktisch, wenn nicht unmöglich wäre.
-
In dieser gesamten Schrift können mehrere Instanzen Komponenten, Vorgänge oder Strukturen implementieren, die als einzelne Instanz beschrieben sind. Obwohl einzelne Vorgänge von einem oder mehreren Verfahren als separate Vorgänge dargestellt und beschrieben sind, können einer oder mehrere der einzelnen Vorgänge bei gewissen Ausführungsformen gleichzeitig ausgeführt werden.
-
Wie hierin verwendet, bedeutet jede Bezugnahme auf „eine Ausführungsform“, dass ein bestimmtes Element, ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, wie in Verbindung mit der Ausführungsform beschrieben, in mindestens einer Ausführungsform beinhaltet ist. Die Verwendungen des Ausdrucks „in einer Ausführungsform“ an verschiedenen Stellen in der Schrift beziehen sich nicht notwendigerweise alle auf dieselbe Ausführungsform.
-
Wie hierin verwendet, sollen die Begriffe „umfasst“, „umfassend“, „beinhaltet“, „beinhaltend“, „aufweist“, „aufweisend“ oder eine andere Variation davon eine nicht ausschließliche Einbeziehung abdecken. Beispielsweise ist ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, die eine Liste von Elementen umfasst, nicht notwendigerweise nur auf diese Elemente beschränkt, sondern kann auch andere Elemente beinhalten, die nicht ausdrücklich aufgeführt sind oder einem solchen Prozess, Verfahren, Artikel oder einer solchen Vorrichtung nicht ausdrücklich inhärent sind. Sofern nicht ausdrücklich anders angegeben, bezieht sich „oder“ auf ein inklusives Oder und nicht auf ein exklusives Oder. Zum Beispiel wird eine Bedingung A oder B durch eine beliebige der folgenden Bedingungen erfüllt: A ist wahr (oder vorhanden) und B ist falsch (oder nicht vorhanden), A ist falsch (oder nicht vorhanden) und B ist wahr (oder vorhanden) und sowohl A als auch B sind wahr (oder vorhanden).
-
Zusätzlich wird die Verwendung von „ein“, „eine“, „einer“, „eines“, „einen“ oder „einem“ verwendet, um Elemente und Komponenten der Ausführungsformen hierin zu beschreiben. Diese Beschreibung und die folgenden Ansprüche sollten so gelesen werden, dass sie eines oder mindestens eines davon beinhalten. Der Singular beinhaltet auch den Plural, sofern nicht offensichtlich ist, dass dies anders gemeint ist.
-
In verschiedenen Ausführungsformen können hier beschriebene Hardwaresysteme mechanisch oder elektronisch implementiert werden. Beispielsweise kann ein Hardwaresystem eine dedizierte Schaltung oder Logik umfassen, die permanent konfiguriert ist (z. B. als Spezialprozessor, wie beispielsweise ein feldprogrammierbares Gate-Array (FPGA) oder ein anwendungsspezifischer integrierter Schaltkreis (ASIC), um bestimmte Vorgänge auszuführen). Ein Hardwaresystem kann auch eine programmierbare Logik oder Schaltung (z. B. wie sie in einem Universalprozessor oder einem anderen programmierbaren Prozessor beinhaltet ist) umfassen, die temporär durch die Software konfiguriert wird, um bestimmte Vorgänge auszuführen. Es versteht sich, dass die Entscheidung, ein Hardwaresystem mechanisch, in dedizierten und permanent konfigurierten Schaltungen oder in vorübergehend konfigurierten Schaltungen (z. B. durch Software konfiguriert) zu implementieren, aus Kosten- und Zeitgründen erfolgen kann.
-
Ferner sollen die Patentansprüche am Ende dieses Dokuments nicht gemäß 35 USC § 112 (f) ausgelegt werden, es sei denn, die traditionelle „Mittel-plus-Funktion“-Sprache wird ausdrücklich rezitiert, wie z. B. die „Mittel für“- oder „Schritt für“-Sprache, die ausdrücklich in dem Anspruch (den Ansprüchen) rezitiert wird. Mindestens einige Aspekte der hier beschriebenen Systeme und Verfahren zielen auf eine Verbesserung der Computerfunktionalität und eine Verbesserung der Funktionsweise herkömmlicher Computer ab.
-
ALLGEMEINE BEGRIFFE UND FORMULIERUNGEN
-
In dieser gesamten Spezifikation werden einige der folgenden Begriffe und Formulierungen verwendet.
-
Anwendung. Siehe „Routine“.
-
Kommunikationsschnittstelle. Einige der beschriebenen Geräte oder Systeme beinhalten eine „Kommunikationsschnittstelle“ (manchmal als „Netzwerkschnittstelle“ bezeichnet). Zum Beispiel enthält das in 2 gezeigte Gerät 205 eine Kommunikationsschnittstelle 205c. Jede der beschriebenen Kommunikationsschnittstellen ermöglicht es dem System, zu dem sie gehört, (i) Informationen oder Daten an andere Systeme oder Komponenten zu senden oder (ii) Informationen oder Daten von anderen Systemen oder Komponenten zu empfangen. Wenn eine Kommunikationsschnittstelle eine Schnittstelle ist oder enthält, die so konfiguriert ist, dass ein System mit einem Peripheriegerät oder einer Peripheriekomponente wie einer der in 2 gezeigten Ul-Komponenten 205d (z. B. einer Tastatur, einem Monitor, einer externen Festplatte usw.) gekoppelt werden kann, kann die Schnittstelle als „Peripherieschnittstelle“ oder „I/O-Schnittstelle“ bezeichnet werden (siehe „I/O-Schnittstelle“). In einigen Fällen können eine oder mehrere der beschriebenen Kommunikationsschnittstellen verwendet werden, um eine direkte Verbindung zu einem anderen System herzustellen (z. B. über HF wie Bluetooth oder über Kabel wie USB- oder CAT-/Ethernet-Kabel). Falls gewünscht, ermöglicht es jede beschriebene Kommunikationsschnittstelle dem(den) System(en), zu dem(denen) sie gehören, eine Verbindung über eine Verknüpfung mit dem in 1 gezeigten Netzwerk 10 oder einem anderen geeigneten Netzwerk (z. B. einem Personal Area Network (PAN), einem Local Area Network (LAN) oder einem Wide Area Network (WAN)) herzustellen.
-
Falls gewünscht, kann jede beschriebene Kommunikationsschnittstelle (i) Schaltungen, die die Verbindung über eine drahtgebundene Verknüpfung ermöglichen, die elektrische oder optische Signale zu einem anderen Gerät führt (z. B. über ein Koaxialkabel oder ein Glasfaserkabel), und die eine Kommunikation mit diesem anderen Gerät ermöglichen, oder (ii) Schaltungen, die eine drahtlose Kommunikation (z. B. Nah- oder Fernkommunikation) über elektromagnetische Signale wie Hochfrequenzsignale (HF-Signale) ermöglichen, beinhalten. Ferner kann sich in einigen Fällen ein Verweis auf eine „Kommunikationsschnittstelle“ auf mehrere Schnittstellen zum Kommunizieren mit Komponenten oder Systemen außerhalb eines Systems beziehen. In einigen Fällen kann sich beispielsweise eine beschriebene Kommunikationsschnittstelle auf einen Satz von Kommunikationsschnittstellen beziehen, einschließlich: einer oder mehrerer drahtgebundener Kommunikationsschnittstellen, einer oder mehrerer drahtloser Kommunikationsschnittstellen, einer oder mehrerer I/O- oder Peripherieschnittstellen oder einer Kombination davon. Die beschriebenen Kommunikationsschnittstellen und - Systeme können einem oder mehreren geeigneten Kommunikationsprotokollen, - Standards oder -Technologien entsprechen, wie den hier beschriebenen.
-
Kommunikationsprotokolle. In dieser Beschreibung können Kommunikationsprotokolle, -Standards und -Technologien allgemein als „Kommunikationsprotokolle“ bezeichnet werden. Beispielhafte Kommunikationsprotokolle,
-Standards oder -Technologien, die von den beschriebenen Systemen verwendet werden können, beinhalten solche, die die Kommunikation über nanoskalige Netzwerke, Nahfeldnetzwerke, Personal Area Networks („PANs“), Local Area Networks („LANs“), Backbone-Netzwerke, Metropolitan Area Networks („MANs“), Wide Area Networks („WANs“), Internet Area Networks („IANs“) oder das Internet erleichtern.
-
Beispielhafte Protokolle und Standards für Nahfeldnetzwerke beinhalten typische Standards oder Protokolle zur Identifizierung von Funkfrequenzen („RFID“) und Protokolle oder Standards für die Nahfeldkommunikation („NFC“). Beispielhafte PAN-Protokolle und -Standards schließen 6LoWPAN, Bluetooth (d. h. einen drahtlosen Standard für den Datenaustausch zwischen zwei Geräten unter Verwendung von Funkwellen im Bereich von ungefähr 2,4 bis 2,485 GHz), IEEE 802.15.4-2006, ZigBee, das Thread-Protokoll, Ultrabreitband („UWB“), Universal Serial Bus („USB“) und drahtloses USB, ZigBee und ANT+ ein. Beispielhafte LAN-Protokolle und -Standards beinhalten das 802.11-Protokoll und andere Hochfrequenzprotokolle/-Systeme für die drahtlose Kommunikation in Bändern, die in einem Bereich von ungefähr 1 GHz bis 60 GHz liegen (z. B. einschließlich der Bänder von 900 MHz, 2,4 GHz, 3,6 GHz, 5 GHz oder 60 GHz) sowie Standards für geeignete Verkabelungen wie Koaxial- und Glasfaserverkabelung. Beispielhafte Technologien zum Erleichtern von drahtlosen WANs schließen diejenigen ein, die für LANs verwendet werden, sowie die Technologien 2G (z. B. GPRS und EDGE), 3G (z. B. UMTS und CDMA2000), 4G (z. B. LTE und WiMax) und 5G (z. B. IMT-2020). Man beachte, dass das Internet als WAN betrachtet werden kann.
-
Andere Kommunikationsprotokolle und -Standards, die vom System 5 verwendet werden können, beinhalten BitTorrent, Bluetooth Bootstrap Protocol („BOOTP“), Domain Name System („DNS“), Dynamic Host Configuration Protocol („DHCP“), Ethernet, File Transfer Protocol („FTP“), Hypertext Transfer Protocol („HTTP“), Infrarot-Kommunikationsstandards (z. B. IrDA oder IrSimple), Transmission Control Protocol/Internet Protocol („TCP/IP“) (z. B. eines der in jeder der TCP/IP-Schichten verwendeten Protokolle, Real-time Transport Protocol („RTP“), Real-time Streaming Protocol („RTSP“), Simple Mail Transfer Protocol („SMTP“), Simple Network Management Protocol („SNMP“), Simple Network Time Protocol („SNTP“), Secure Shell Protocol („SSH“) und jedes andere Kommunikationsprotokoll oder jeden anderen Kommunikationsstandard oder eine beliebige Kombination davon.
-
Kommunikationsverknüpfung. Eine „Kommunikationsverknüpfung“ oder „Verknüpfung“ ist ein Weg oder ein Medium, um zwei oder mehr Knoten zu verbinden. Eine Verknüpfung kann eine physische Verknüpfung oder eine logische Verknüpfung sein. Eine physische Verknüpfung ist die Schnittstelle oder das(die) Medium(Medien), über die Informationen übertragen werden, und kann drahtgebunden oder drahtlos sein. Beispielhafte physische Verknüpfungen beinhalten (i) drahtgebundene Verknüpfungen wie Kabel mit einem Leiter zur Übertragung elektrischer Energie oder eine Glasfaserverbindung zur Übertragung von Licht und (ii) drahtlose Verknüpfungen wie drahtlose elektromagnetische Signale, die Informationen über Änderungen an einer oder mehreren Eigenschaften elektromagnetischer Wellen führen.
-
Wie bereits angemerkt, kann eine drahtlose Verknüpfung ein drahtloses elektromagnetisches Signal sein, das Informationen über Änderungen an einer oder mehreren Eigenschaften von (einer) elektromagnetischen Welle(n) führt. Ein drahtloses elektromagnetisches Signal kann eine Mikrowelle oder eine Funkwelle sein und kann als Hochfrequenz- bzw. „HF“-Signal bezeichnet werden.
-
Eine logische Verknüpfung zwischen zwei oder mehr Knoten stellt eine Abstraktion der zugrunde liegenden physischen Verknüpfungen oder Zwischenknoten dar, die die zwei oder mehr Knoten verbinden. Beispielsweise können zwei oder mehr Knoten über eine logische Verknüpfung logisch gekoppelt sein. Die logische Verknüpfung kann über eine beliebige Kombination von physischen Verknüpfungen und Zwischenknoten (z. B. Router, Switches oder andere Vernetzungsausrüstungen) hergestellt werden.
-
Eine Verknüpfung wird manchmal als „Kommunikationskanal“ bezeichnet. In einem drahtlosen Kommunikationssystem bezieht sich der Begriff „Kommunikationskanal“ (oder nur „Kanal“) im Allgemeinen auf eine bestimmte Frequenz oder ein bestimmtes Frequenzband. Ein Trägersignal (oder eine Trägerwelle) kann mit der bestimmten Frequenz oder innerhalb des bestimmten Frequenzbandes des Kanals übertragen werden. In einigen Fällen können mehrere Signale über ein einzelnes Band/einen einzelnen Kanal übertragen werden. Beispielsweise können Signale manchmal gleichzeitig über ein einzelnes Band/einen einzelnen Kanal über verschiedene Unterbänder oder Unterkanäle übertragen werden. Als ein anderes Beispiel können Signale manchmal über dasselbe Band übertragen werden, indem Zeitschlitze zugewiesen werden, über die jeweilige Sender und Empfänger das betreffende Band verwenden.
-
Computer. Im Allgemeinen ist ein Computer oder ein Rechengerät eine programmierbare Maschine mit zwei Hauptmerkmalen. Sie reagiert nämlich auf einen Satz von Anweisungen auf eine genau definierte Weise und kann eine zuvor aufgezeichnete Liste von Anweisungen (z. B. ein Programm oder eine Routine) ausführen. Ein Computer gemäß der vorliegenden Offenbarung ist ein Gerät mit einem Prozessor und einem Speicher. Für die Zwecke dieser Offenbarung schließen Beispiele eines Computers einen Server-Host, einen Personalcomputer (z. B. einen Desktop-Computer, einen Laptop, ein Netbook), ein mobiles Kommunikationsgerät (wie ein mobiles „Smartphone“) und Geräte ein, die Funktionen über interne Komponenten oder die Verbindung zu einem externen Computer, Server oder einem globalen Kommunikationsnetzwerk (z. B. dem Internet) bereitstellen, um Weisungen von Prozessen zu erhalten oder sich an diesen zu beteiligen, die dann an andere Systemkomponenten geliefert werden. In einigen Ausführungsformen kann das Gerät 205 als Computer bezeichnet werden.
-
Datenbank. Im Allgemeinen ist eine „Datenbank“ eine organisierte Sammlung von Daten, die im Allgemeinen von einem Computersystem gespeichert und elektronisch abgerufen werden. Im Allgemeinen kann jeder geeignete Datenspeicher als „Datenbank“ bezeichnet werden. Diese Offenbarung kann eine oder mehrere Datenbanken zum Speichern von Informationen beschreiben, die sich auf Aspekte der Offenbarung beziehen. Die in einer Datenbank gespeicherten Informationen können sich beispielsweise auf einen privaten Abonnenten, einen Inhaltsanbieter, einen Host, einen Sicherheitsanbieter usw. beziehen. Ein Server (der auf demselben Computer wie die Datenbank gehostet werden kann oder nicht) kann als Vermittler zwischen der Datenbank und einem Client handeln, indem er dem Client Daten aus der Datenbank bereitstellt oder es dem Client ermöglicht, Daten in die Datenbank zu schreiben. Einem Durchschnittsfachmann ist bekannt, dass sich jede Bezugnahme auf „eine Datenbank“ auf mehrere Datenbanken beziehen kann, die alle miteinander verknüpft sein können.
-
Anzeigegerät. Im Allgemeinen beziehen sich die Begriffe „Anzeigegerät“ oder „Anzeige“ auf ein elektronisches visuelles Anzeigegerät, das einen visuellen Ausgang in Form von Bildern, Text oder Video liefert. Typischerweise kann ein Anzeigegerät eine beliebige Anzeige, ein Bildschirm, ein Monitor oder ein Projektor sein, die bzw. der zur Anzeige eines visuellen Ausgangs (z. B. Bilder oder Videoausgang) geeignet ist. Beispielanzeigen beinhalten LED-Bildschirme, LCD-Bildschirme, CRT-Bildschirme, Projektoren, Heads-up-Anzeigen, Smartwatch-Anzeigen, Headset-Anzeigen (z. B. VR-Brillen) usw.
-
Grafische Benutzerschnittstelle (GUI). Siehe „Benutzerschnittstelle“.
-
Eingangs-/Ausgangs-(I/O)-Schnittstelle. Im Allgemeinen ist eine I/O-Schnittstelle eines Computersystems eine Hardwarekomponente (z. B. eine auf einem Motherboard installierte I/O-Steuerung), die einen oder mehrere Prozessoren des Computersystems kommunikativ mit einem oder mehreren Eingangs- oder Ausgangsgeräten wie beispielsweise UI-Gerät oder Peripheriegeräten verbindet. Zum Beispiel kann eine I/O-Schnittstelle die Ul-Komponenten 205d mit den anderen Komponenten des Geräts 205 koppeln. Eine I/O-Schnittstelle kann Eingangs- und Ausgangsanforderungen von einem Systemprozessor empfangen und dann basierend auf den Anforderungen gerätespezifische Steuersignale an gesteuerte Geräte senden. Eine I/O-Schnittstelle kann auch Daten, Anforderungen oder Befehle von verbundenen Geräten empfangen, die dann an Systemprozessoren übertragen werden. I/O-Schnittstellen werden manchmal als Gerätesteuerungen bezeichnet. Die Software auf einem System, das mit einer Gerätesteuerung interagiert und es der Gerätesteuerung ermöglicht, ein bestimmtes Gerät zu steuern oder auf andere Weise mit ihm zu kommunizieren, wird im Allgemeinen als „Gerätetreiber“ bezeichnet.
-
Speicher und computerlesbare Medien. Im Allgemeinen bezieht sich der Ausdruck „Speicher“ oder „Speichergerät“, wie hier verwendet, auf ein System oder Gerät, das computerlesbare Medien oder ein Medium („CRM“) beinhaltet. „CRM“ bezieht sich auf ein Medium oder Medien, auf die das betreffende Computersystem zugreifen kann, um Informationen zu platzieren, zu speichern oder abzurufen (z. B. Daten, computerlesbare Anweisungen, Programmmodule, Anwendungen, Routinen usw.). Man beachte, dass sich „CRM“ auf Medien bezieht, die nichttransitorischer Art sind, und sich nicht auf körperlose transitorische Signale wie Funkwellen bezieht.
-
Das CRM kann in jeder Technologie, jedem Gerät oder jeder Gruppe von Geräten implementiert werden, die in dem relevanten Computersystem beinhaltet sind oder mit dem relevanten Computersystem in Kommunikation stehen. Das CRM kann flüchtige oder nichtflüchtige Medien sowie Wechselmedien oder nichtentfernbare Medien beinhalten. Das CRM kann RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Festplattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichergeräte oder irgendein anderes Medium beinhalten, das zum Speichern von Informationen verwendet werden kann und auf das das Rechensystem zugreifen kann, ohne jedoch darauf beschränkt zu sein. Das CRM kann kommunikativ mit einem Systembus gekoppelt sein, wodurch die Kommunikation zwischen dem CRM und anderen mit dem Systembus verbundenen Systemen oder Komponenten ermöglicht wird. In einigen Implementierungen kann das CRM über eine Speicherschnittstelle (z. B. eine Speichersteuerung) mit dem Systembus gekoppelt sein. Eine Speicherschnittstelle ist eine Schaltung, die den Datenfluss zwischen dem CRM und dem Systembus verwaltet.
-
Modul. Bei Verwendung im Kontext eines Softwaresystems bezieht sich der Begriff „Modul“ im Allgemeinen auf eine Reihe von Anwendungen, Routinen oder ausführbaren Anweisungen. Siehe auch „Routine“. In einigen Fällen bezieht sich der Begriff „Modul“ auf eine Komponente eines physischen Systems (z. B. enthält ein Auto eine Reihe von Modulen, wie z. B. einen Motor, ein Getriebe, Bremsen usw.). Der Kontext der Verwendung des Begriffs macht deutlich, ob sich das „Modul“ auf eine Softwarekomponente oder eine Nichtsoftwarekomponente bezieht.
-
Netzwerk. Wie hierin verwendet und sofern nicht anders angegeben, bezieht sich der Begriff „Netzwerk“ bei Verwendung im Zusammenhang mit einem oder mehreren Systemen oder Geräten, die Informationen oder Daten kommunizieren, auf eine Sammlung von Knoten (z. B. Geräte oder Systeme, die Informationen senden, empfangen oder weiterleiten können) und Verknüpfungen, die dazu verbunden sind, die Telekommunikation zwischen den Knoten zu ermöglichen.
-
Ein Netzwerk kann dedizierte Router, Switches oder Hubs, die für die Weiterleitung oder Leitung des Datenverkehrs zwischen Knoten verantwortlich sind, und optional dedizierte Geräte, die für das Konfigurieren und Verwalten des Netzwerks verantwortlich sind, beinhalten. Einige oder alle Knoten können auch so ausgelegt sein, dass sie als Router fungieren, um den zwischen anderen Netzwerkgeräten gesendeten Datenverkehr zu leiten. Netzwerkgeräte können drahtgebunden oder drahtlos miteinander verbunden sein, und Netzwerkgeräte können unterschiedliche Routing- und Übertragungsfunktionen aufweisen. Beispielsweise können dedizierte Router Übertragungen mit hohem Volumen durchführen, während einige Knoten im gleichen Zeitraum relativ wenig Datenverkehr senden und empfangen können. Darüber hinaus können die Verbindungen zwischen Knoten in einem Netzwerk unterschiedliche Durchsatzfähigkeiten und unterschiedliche Dämpfungseigenschaften aufweisen. Ein Glasfaserkabel kann beispielsweise aufgrund des Unterschieds in den inhärenten physischen Einschränkungen des Mediums eine Bandbreite bereitstellen, die um mehrere Größenordnungen höher als eine drahtlose Verknüpfung ist. Ein Netzwerk kann Netzwerke oder Teilnetzwerke beinhalten, beispielsweise ein Local Area Network (LAN) oder ein Wide Area Network (WAN).
-
Knoten. Im Allgemeinen bezieht sich der Begriff „Knoten“ auf einen Verbindungspunkt, einen Umverteilungspunkt oder einen Kommunikationsendpunkt. Ein Knoten kann ein beliebiges Gerät oder System (z. B. ein Computersystem) sein, das Informationen senden, empfangen oder weiterleiten kann. Beispielsweise sind Endgeräte oder Endsysteme, die eine Nachricht erstellen oder letztendlich empfangen, Knoten. Zwischengeräte, die die Nachricht empfangen und weiterleiten (z. B. zwischen zwei Endgeräten), werden im Allgemeinen auch als „Knoten“ betrachtet.
-
Objekt. Im Allgemeinen bezieht sich der Begriff „Objekt“, wenn er im Kontext eines Softwaresystems verwendet wird, auf eine Variable, eine Datenstruktur, eine Funktion, ein Verfahren, eine Instanz einer Klasse oder Vorlage oder eine Kombination davon. Ein Objekt kann normalerweise durch eine eindeutige oder relativ eindeutige Kennung referenziert werden.
-
Prozessor. Die verschiedenen Vorgänge der hier beschriebenen beispielhaften Verfahren können mindestens teilweise von einem oder mehreren Prozessoren ausgeführt werden. Im Allgemeinen werden die Begriffe „Prozessor“ und „Mikroprozessor“ synonym verwendet und beziehen sich jeweils auf einen Computerprozessor, der zum Abrufen und Ausführen von im Speicher gespeicherten Anweisungen konfiguriert ist. Durch Ausführen dieser Anweisungen kann der bzw. können die Prozessor(en) verschiedene Vorgänge oder Funktionen ausführen, die durch die Anweisungen definiert sind. Der oder die Prozessor(en) können je nach der bestimmten Ausführungsform temporär konfiguriert sein (z. B. durch Anweisungen oder Software), oder permanent konfiguriert sein, um die relevanten Vorgänge oder Funktionen auszuführen (z. B. ein Prozessor für einen anwendungsspezifischen integrierten Schaltkreis bzw. ASIC). Ein Prozessor kann Teil eines Chipsatzes sein, der beispielsweise auch eine Speichersteuerung oder eine I/O-Steuerung beinhalten kann. Ein Chipsatz ist eine Sammlung elektronischer Komponenten in einem integrierten Schaltkreis, der typischerweise dazu konfiguriert ist, I/O- und Speicherverwaltungsfunktionen sowie mehrere Universal- oder Spezialregister, Zeitgeber usw. bereitzustellen. Im Allgemeinen können ein oder mehrere der beschriebenen Prozessoren über einen Systembus kommunikativ mit anderen Komponenten (wie Speichergeräten und I/O-Geräten) gekoppelt sein.
-
Die Leistung bestimmter der Vorgänge kann auf den einen oder die mehreren Prozessoren verteilt werden, die sich nicht nur auf einer einzelnen Maschine befinden, sondern auf mehreren Maschinen bereitgestellt werden. In einigen beispielhaften Ausführungsformen können sich der eine oder die mehreren Prozessoren an einem einzelnen Standort befinden (z. B. in einer Heimumgebung, einer Büroumgebung oder als Serverfarm), während in anderen Ausführungsformen die Prozessoren auf eine Reihe von Standorten verteilt sein können.
-
Wörter wie „Verarbeiten“, „Rechnen“, „Berechnen“ „Bestimmen“, „Darbieten“, „Anzeigen“ oder dergleichen können sich auf Aktionen oder Prozesse einer Maschine (z. B. eines Computers) beziehen, die als physische (z. B. elektronische, magnetische oder optische) Größen dargestellte Daten manipuliert oder umwandelt innerhalb eines oder mehrerer Speicher (z. B. flüchtiger Speicher, nichtflüchtiger Speicher oder eine Kombination davon), Register oder anderer Maschinenkomponenten, die Informationen empfangen, speichern, übertragen oder anzeigen.
-
Routine. Sofern nicht anders angegeben, bezieht sich eine in dieser Offenbarung beschriebene „Routine“ oder „Anwendung“ auf einen Satz computerlesbarer Anweisungen, die auf einem CRM gespeichert werden können. Zum Beispiel kann die in 2 gezeigte Routine 206 ein Satz von Anweisungen sein, die sich auf einem CRM des Speichers 205a befinden. Im Allgemeinen speichert das CRM computerlesbaren Code („Code“), der die Anweisungen darstellt oder diesen entspricht, und der Code ist dazu ausgelegt, von einem Prozessor ausgeführt zu werden, um die Funktionen zu erleichtern, die als durch die Routine oder Anwendung dargestellt oder ihr zugeordnet beschrieben werden. Jede Routine oder Anwendung kann über eine eigenständige ausführbare Datei, eine Suite oder ein Bündel ausführbarer Dateien, eine oder mehrere nichtausführbare Dateien, die von einer ausführbaren Datei oder einem ausführbaren Programm verwendet werden, oder eine Kombination davon implementiert werden. In einigen Fällen können, sofern nicht anders angegeben, eine oder mehrere der beschriebenen Routinen in einen oder mehreren EPROMs, EEPROMs, anwendungsspezifischen integrierten Schaltkreisen (ASICs), feldprogrammierbaren Gate-Arrays (FPGAs) oder anderen Hardware- oder Firmwareelementen fest einprogrammiert sein.
-
Jede Routine kann durch Code dargestellt werden, der in einer beliebigen gewünschten Sprache implementiert ist, wie beispielsweise Quellcode (z. B. zur Ausführung interpretierbar oder in einen Code niedrigerer Ebene kompilierbar), Objektcode, Bytecode, Maschinencode, Mikrocode oder dergleichen. Der Code kann in einer geeigneten Programmier- oder Skriptsprache geschrieben sein (z. B. C, C++, Java, Actionscript, Objective-C, Javascript, CSS, Python, XML, Swift, Ruby, Elixir, Rust, Scala oder andere).
-
Server. Im Allgemeinen ist ein Server ein Programm oder ein Satz von Routinen, der Netzwerkressourcen oder -Dienste verwaltet, um Funktionalität für andere Programme oder Geräte bereitzustellen, die als „Clients“ bezeichnet werden. Server werden normalerweise von einem Host-Computer gehostet, und dieser Host-Computer kann selbst als „Server“ bezeichnet werden. Beispielserver beinhalten Datenbankserver, Dateiserver, Mailserver, Druckserver, Webserver, Spieleserver und Anwendungsserver. Server können dediziert (z. B. wenn die Software und Hardware ausschließlich oder fast ausschließlich für Serverfunktionen verwendet werden) oder virtuell sein (z. B. wenn der Server von einer virtuellen Maschine auf einer physischen Maschine gehostet wird und/oder wenn der Server Hardware oder Softwareressourcen einer einzelnen Maschine mit einem anderen Betriebssystem gemeinsam nutzt).
-
Benutzerschnittstelle (UI). Im Allgemeinen bezieht sich eine Benutzerschnittstelle auf die Komponenten eines Computersystems, über die ein Benutzer und das Computersystem interagieren. Die Ul-Komponenten können Hardware, Software oder eine Kombination davon sein und können Ul-Eingangskomponenten, Ul-Ausgangskomponenten oder eine Kombination davon beinhalten. Ul-Komponenten können über eine I/O-Schnittstelle mit einem System gekoppelt werden.
-
Beispielhafte Ul-Ausgangskomponenten beinhalten: (i) visuelle Ausgangskomponenten wie Leuchten (z. B. LEDs) und elektronische Anzeigen (z. B. LCD, LED, CRT, Plasma, Projektionsanzeigen, Head-up-Displays usw.), (ii) Audioausgangskomponenten wie Lautsprecher und (iii) bewegungserzeugende Komponenten wie Motoren, die eine haptische Rückmeldung liefern.
-
Beispiele der beschriebenen Ul-Eingangskomponenten beinhalten: (i) mechanische oder elektrische Komponenten zum Erkennen von physischer Eingabe oder Berührungseingabe, wie z. B. Hardware-Aktuatoren (z. B. solche, die für eine Tastatur, eine Maus verwendet werden, „Hardware“-Tasten auf einem Tablet oder Telefon usw.), oder elektrische Sensoren (z. B. Widerstands- oder kapazitive Berührungssensoren); (ii) Audiosensoren (z. B. Mikrofone) zum Erkennen von Audioeingängen, wie beispielsweise Sprachbefehlen; (iii) Bildsensoren zum Erkennen von Bild- oder Videoeingängen, wie sie beispielsweise in einer Kamera zu finden sind (die z. B. Gesichtserkennungseingänge oder die Eingabe von Gesten ermöglichen, ohne dass der Benutzer das Gerät berühren muss); und (iv) Bewegungssensoren (z. B. Beschleunigungsmesser, Gyroskope usw.) zum Erkennen der Bewegung des Computersystems selbst (die z. B. ermöglichen, dass ein Benutzer einen Eingang durch Drehen oder anderweitiges Bewegen des Computersystems bereitstellt).
-
Einige Systeme bieten eine grafische Benutzerschnittstelle (GUI) über eine Ul-Ausgangskomponente wie eine elektronische Anzeige. Im Allgemeinen wird eine GUI über eine Routine erzeugt und ermöglicht es einem Benutzer, mit Anzeigeelementen und anderen grafischen Elementen zu interagieren, die auf der elektronischen Anzeige angezeigt werden. Im Allgemeinen können die grafischen Elemente einer GUI Ausgangselemente (d. h., die dem Benutzer irgendeine Art von Information übermitteln), Steuerelemente (d. h., mit denen der Benutzer „interagieren“ kann, um die Ausführung einer Aktion durch das System zu bewirken); oder beides sein (z. B. kann ein Symbol ein Bild beinhalten, das einen Browser darstellt, und mit dem interagiert werden kann, um den Browser zu starten).
-
Beispielhafte GUI-Steuerelemente beinhalten Schaltflächen (z. B. Optionsfelder, Kontrollkästchen usw.), Schieberegler, Listenfelder, Drehfeldelemente, Dropdown-Listen, Menüs, Menüleisten, Symbolleisten, interaktive Symbole, Textfelder, Fenster, die verschoben oder minimiert und maximiert werden können, usw.
-
Im Allgemeinen ist ein Fenster ein Bereich auf dem Bildschirm, in dem Informationen angezeigt werden, deren Inhalt unabhängig vom Rest des Bildschirms angezeigt wird. Im Allgemeinen ist ein Menü eine Liste von Auswahlmöglichkeiten, die ein Benutzer auswählen kann, um einen entsprechenden Befehl auszuführen (z. B. um das Menü zu expandieren und zusätzliche Auswahlmöglichkeiten anzuzeigen, um ein neues Fenster zu erzeugen usw.). Im Allgemeinen ist ein Symbol ein kleines Bild, das ein Objekt wie eine Datei, eine Anwendung, eine Webseite oder einen Befehl darstellt. Ein Benutzer kann normalerweise mit einem Symbol interagieren (z. B. durch einfaches oder doppeltes Drücken oder Klicken), um einen Befehl auszuführen, ein Dokument zu öffnen oder eine Anwendung auszuführen.
-
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
-