DE102019134312A1 - Systeme, verfahren und vorrichtungen zur verbesserung einer prozesssteuerung mit einem virtuellen assistenten - Google Patents

Systeme, verfahren und vorrichtungen zur verbesserung einer prozesssteuerung mit einem virtuellen assistenten Download PDF

Info

Publication number
DE102019134312A1
DE102019134312A1 DE102019134312.7A DE102019134312A DE102019134312A1 DE 102019134312 A1 DE102019134312 A1 DE 102019134312A1 DE 102019134312 A DE102019134312 A DE 102019134312A DE 102019134312 A1 DE102019134312 A1 DE 102019134312A1
Authority
DE
Germany
Prior art keywords
request
field device
process control
response
topic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019134312.7A
Other languages
English (en)
Inventor
Tiong P. Ong
Mark J. Nixon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102019134312A1 publication Critical patent/DE102019134312A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31121Fielddevice, field controller, interface connected to fieldbus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32014Augmented reality assists operator in maintenance, repair, programming, assembly, use of head mounted display with 2-D 3-D display and voice feedback, voice and gesture command
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33273DCS distributed, decentralised controlsystem, multiprocessor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Verfahren, Vorrichtungen, Systeme und Herstellungsgegenstände werden offenbart, um die Prozesssteuerung mit einem virtuellen Assistenten zu ergänzen. Eine beispielhafte Vorrichtung umfasst mindestens einen Prozessor und einen Speicher zum Speichern der Anweisungen, die, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen, einen Prozesssteuerungskontext basierend auf einer Informationsanforderung zu bestimmen, die einem Feldgerät eines Prozesssteuerungssystems zugeordnet ist, wobei der Prozesssteuerungkontext auf einer Konfiguration des Prozesssteuerungssystems basiert, die ein Thema identifizieren, das in der Anforderung enthalten ist, wobei das Thema dem Feldgerät basierend auf dem Prozesssteuerungskontext entspricht, die das Thema in einer Aktion abbilden, die von dem Feldgerät ausgeführt werden soll, und die einen Befehl erzeugen, um das Feldgerät anzuweisen, die Aktion basierend auf dem Abbilden auszuführen, und den Befehl an das Feldgerät zu übertragen, um die Aktion auszuführen.

Description

  • GEBIET DER OFFENBARUNG
  • Diese Offenbarung betrifft allgemein Prozessleitsysteme bzw. Prozesssteuerungssysteme, und genauer Systeme, Verfahren und Vorrichtungen zur Verbesserung einer Prozessleitung bzw. Prozesssteuerung mit einem virtuellen Assistenten.
  • STAND DER TECHNIK
  • In den letzten Jahren sind Prozesssteuerungssysteme, wie sie etwa in chemischen, Erdöl- und/oder anderen Prozessen verwendet werden, einhergehend mit der Verbreitung von Feldgeräten, die mehr Verarbeitungsleistung aufweisen, um neue und/oder verbesserte Prozesssteuerungsfunktionen zu erfüllen, immer komplexer geworden. Prozesssteuerungssysteme der jüngsten Generation schließen eine größere Anzahl und Vielfalt von Feldgeräten oder Feldinstrumenten zum Messen und/oder Steuern unterschiedlicher Aspekte einer Prozesssteuerungsumgebung ein. Eine verstärkte Automatisierung in der Prozesssteuerungsumgebung bietet Technikern zusätzliche Interaktionsmöglichkeiten mittels unterschiedlicher Medien, mit denen eine Bedienung der Prozesssteuerungssysteme ermöglicht wird.
  • KURZFASSUNG
  • Ein hierin offenbartes Beispiel für eine Vorrichtung zur Verbesserung einer Prozesssteuerung mittels eines virtuellen Assistenten beinhaltet einen Speicher, in dem Anweisungen gespeichert werden, und mindestens einen Prozessor zum Ausführen der Anweisungen, um den mindestens einen Prozessor zu veranlassen, einen Prozesssteuerungskontext auf Basis einer Anforderung von Informationen in Verbindung mit einem Feldgerät eines Prozesssteuerungssystems zu bestimmen, wobei der Prozesssteuerungskontext auf einer Konfiguration des Prozesssteuerungssystems basiert, auf Basis des Prozesssteuerungskontextes ein Thema zu erkennen, das in der Anforderung enthalten ist, wobei das Thema dem Feldgerät entspricht, das Thema als Aktion, die von dem Feldgerät ausgeführt werden soll, abzubilden, einen Befehl zu erzeugen, um das Feldgerät anzuweisen, die Aktion auf Basis der Abbildung auszuführen, und den Befehl an das Feldgerät zu senden, um die Aktion auszuführen.
  • Ein hierin offenbartes Beispiel für ein Verfahren zur Verbesserung einer Prozesssteuerung mittels eines virtuellen Assistenten beinhaltet das Bestimmen eines Prozesssteuerungskontextes auf Basis einer Anforderung von Informationen, die einem Feldgerät eines Prozesssteuerungssystems zugeordnet sind, wobei der Prozesssteuerungskontext auf einer Konfiguration des Prozesssteuerungssystems basiert, das Erkennen eines in der Anforderung enthaltenen Themas auf Basis des Prozesssteuerungskontextes, wobei das Thema dem Feldgerät entspricht, das Abbilden des Themas auf eine Aktion, die von dem Feldgerät ausgeführt werden soll, das Erzeugen eines Befehls auf Basis der Abbildung, um das Feldgerät anzuweisen, die Aktion auszuführen, und das Senden des Befehls an das Feldgerät, um die Aktion auszuführen.
  • Ein hierin offenbartes Beispiel für ein nicht-flüchtiges Speichermedium beinhaltet Anweisungen, die bei ihrer Ausführung eine Maschine veranlassen, zumindest einen Prozesssteuerungskontext auf Basis einer Anforderung von Informationen, die einem Feldgerät eines Prozesssteuerungssystems zugeordnet sind, zu bestimmen, wobei der Prozesssteuerungskontext auf einer Konfiguration des Prozesssteuerungssystems basiert, auf Basis des Prozesssteuerungskontextes ein Thema zu erkennen, das in der Anforderung enthalten ist, wobei das Thema dem Feldgerät entspricht, das Thema als Aktion, die von dem Feldgerät ausgeführt werden soll, abzubilden, auf Basis der Abbildung einen Befehl zu erzeugen, um das Feldgerät anzuweisen, die Aktion auszuführen, und den Befehl an das Feldgerät zu senden, um die Aktion auszuführen.
  • Figurenliste
    • 1A ist eine schematische Darstellung eines beispielhaften virtuellen Assistenten, der eine Operation eines beispielhaften Prozesssteuerungssystems ermöglicht.
    • 1B ist eine schematische Darstellung des beispielhaften virtuellen Assistenten von 1A, der in beispielhaften, am Körper tragbaren bzw. tragbaren Geräten enthalten ist, welche die Operation des beispielhaften Prozesssteuerungssystems von 1A ermöglichen.
    • 2 ist eine schematische Darstellung des beispielhaften virtuellen Assistenten von 1A.
    • 3 ist eine Abbildung einer beispielhaften Tabelle eines beispielhaften Profils, das einem beispielhaften Prozesstank des beispielhaften Prozesssteuerungssystems von 1A entspricht.
    • 4 ist eine schematische Darstellung eines ersten Beispiels für eine Visualisierung, die dem beispielhaften Profil von 3 entspricht.
    • 5 ist eine schematische Darstellung eines zweiten Beispiels für eine Visualisierung, die dem beispielhaften Profil von 3 entspricht.
    • 6 ist ein Flussdiagramm, das für maschinenlesbare Anweisungen steht, die ausgeführt werden können, um den beispielhaften virtuellen Assistenten von 1A-2 zu implementieren, um ein Skript auf Basis einer Anforderung zu generieren und auszuführen.
    • 7 ist ein Flussdiagramm, das für maschinenlesbare Anweisungen steht, die ausgeführt werden können, um den beispielhaften virtuellen Assistenten von 1A-2 zu implementieren, um eine Visualisierung auf Basis einer Anforderung zu erzeugen und auszuführen.
    • 8 ist ein Blockschema einer beispielhaften Verarbeitungsplattflorm, die so aufgebaut ist, dass sie die Anweisungen von 6-7 ausführt, um den beispielhaften virtuellen Assistenten von 1A-2 zu implementieren.
  • Die Figuren sind nicht maßstabsgetreu. Vielmehr kann die Dicke der Schichten oder Regionen in den Zeichnungen vergrößert sein. Im Allgemeinen werden in allen Zeichnungen gleiche Bezugszahlen verwendet, und die begleitende Beschreibung bezieht sich auf gleiche oder ähnliche Teile.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Prozesssteuerungssysteme, wie etwa verteilte Leitsysteme, werden zunehmend komplexer, während einzelne Komponenten mit erhöhter Datenerfassungsgenauigkeit, Verarbeitungsleistung und Signalkonditionierung entwickelt werden. Ein verteiltes Leitsystem (DCS) bzw. Prozesssteuerungssystem wird verwendet, um verschiedene Aspekte einer Operation, die in einer Prozesssteuerungsumgebung durchgeführt werden soll, wie etwa die Herstellung von Komponenten, die Verarbeitung chemischer Rohmaterialien, usw., zu überwachen und/oder zu steuern. Ein DCS schließt typischerweise mehrere Steuerungen (z.B. elektronische Steuerungen, programmierbare Steuerungen usw.) mit zugehörigen Eingabe/Ausgabe(I/O)-Modulen ein, die den Steuerungen ermöglichen, Signale von verschiedenen Eingabefeldgeräten und/oder -instrumenten zu erfassen und verschiedene Ausgabefeldgeräte und/oder -instrumente zu steuern. Ein I/O-Modul kann Eingänge, Ausgänge und/oder eine Kombination davon einschließen.
  • Wie hierin verwendet, bezeichnen die Begriffe „Feldgerät“, „Feldinstrument“ oder „Instrument“ Steuergeräte wie beispielsweise Aktoren, Aktorbaugruppen, Aktor-Steuerungen, Aktorstellungsregler, Sensoren, Sender, Ventilbaugruppen usw., die im gesamten Prozesssteuerungssystem verwendet werden können, um unterschiedliche Aspekte (z.B. andere Prozesssteuergeräte usw.) des Prozesssteuerungssystems zu messen und/oder zu steuern.
  • Ein typisches DCS schließt Steuerungen, programmierbare Prozessoren und/oder Logikschaltungen ein, die über einer Prozesssteuerungsumgebung verteilt sind, um die Zuverlässigkeit zu erhöhen und Installationskosten zu verringern durch Anordnen von Steuerfunktionen in der Nähe der Prozesssteuerungsumgebung, aber eine Fernüberwachung und eine übergeordnete Fernsteuerung der Prozesssteuerungsumgebung zu ermöglichen. In manchen Fällen überwachen Techniker wie etwa Ingenieure, Wartungstechniker oder anderes Feldpersonal das DCS entweder aus der Ferne über ein Prozesssteuerungsnetzwerk oder lokal durch physische Interaktion mit Steuerungen, Feldgeräten usw. Zum Beispiel kann sich ein Techniker entweder über eine drahtgebundene Verbindung oder eine drahtlose Verbindung mit einem Feldgerät verbinden, um Prozesssteuerungsdaten zu betrachten, die dem Feldgerät und/oder Komponenten oder Geräten, die kommunikativ mit dem Feldgerät gekoppelt sind, zugeordnet sind.
  • In manchen bekannten DCS-Implementierungen sind Feldgeräte und/oder Komponenten oder Geräte, die kommunikativ mit den Feldgeräten gekoppelt sind, für Techniker nur begrenzt sichtbar, wenn sie lokal mit den Feldgeräten interagieren. Zum Beispiel könnte ein Techniker, wenn er über eine computerbasierte Software-Anwendung mit einer Ventilsteuerung verbunden ist, die einem Ventil zugeordnet ist, Zugriff nur auf begrenzte Daten haben, die dem Ventil zugeordnet sind. In solchen Beispielen könnte der Techniker nur begrenzte Daten sehen, wie etwa einen Aktordruck oder eine Ventilstellung. Zum Beispiel könnte der Techniker, wenn er sich in einem Prozessleitstand befindet, über eine Mensch-Maschine-Schnittstelle, welche die begrenzten Daten anzeigt, nur in der Lage sein, die begrenzten Daten zu sehen. In anderen Beispielen könnte der Techniker über ein Gerät (z.B. einen Laptop-Computer, ein Smartphone, ein Tablet usw.), das kommunikativ mit dem Ventil verbunden ist, nur in der Lage sein, die begrenzten Daten zu sehen, was zusätzliches technisches Können (z.B. Einrichten einer Kommunikationsverbindung, Behebung von Problemen mit einer nicht ansprechenden Kommunikationsverbindung usw.) erfordern kann, um über das Gerät mit dem Ventil zu kommunizieren. In solchen Beispielen kann der erste Techniker die Unterstützung eines zweiten Technikers benötigen, um die begrenzten Daten zu sehen, während der erste Techniker eine Wartungs- oder eine Problembehebungsaufgabe an dem Ventil durchführt. Zum Beispiel könnte der erste Techniker keine Hand frei haben, um das Gerät zu bedienen, während er versucht, eine oder mehrere Aufgaben in Verbindung mit dem Ventil durchzuführen.
  • In manchen bekannten DCS-Implementierungen ist der Techniker nicht in der Lage, zugeordnete Daten und/oder ergänzende Daten, die dem Ventil zugeordnet sind, Komponenten oder Geräte, die mit dem Ventil gekoppelt sind, und/oder Komponenten, die einer Steuerschleife zugeordnet sind, die das Ventil beinhaltet, zu sehen. Ergänzende Daten können Warnungsdaten, Aktions- oder Aufgabendaten (z.B. eine oder mehrere Aktionen oder Routinen, die von dem Feldgerät durchgeführt werden oder durchgeführt werden können), historische Daten usw. einschließen. Ferner ist der Techniker nicht in der Lage, ergänzende Informationen einschließlich von Prozesssteuerungsdiagrammen, Wartungsanweisungen, Verdrahtungsplänen usw., von dem Feldgerät abzurufen, wenn eine Wartung an dem Feldgerät durchgeführt wird und/oder auf andere Weise damit interagiert wird. In solchen Beispielen kann der Techniker den Prozesssteuerungsbereich verlassen müssen, um die ergänzenden Informationen zu ermitteln, bevor er in den Prozesssteuerungsbereich zurückkehrt, um eine Aufgabe auf Basis der ergänzenden Informationen abzuschließen, was wiederum die Operation ineffizient macht.
  • Hierin beschriebene Beispiele schließen Systeme, Verfahren und Vorrichtungen ein, die einen Benutzer und/oder eine computerbasierte Software-Anwendung (z.B. einen Benutzer, der sich mit der computerbasierten Software-Anwendung verbindet) in die Lage versetzen, Konversationen mit virtuellen Assistenten oder Bots (z.B. einem Prozessteuerungs-Bot) zu initiieren, um Techniker oder Benutzer bei Aufgaben zu unterstützen, die der Prozesssteuerung zugeordnet sind. Hierin offenbarte Beispiele ermöglichen eine Anforderung von Informationen, die einem Feldgerät oder einer Prozesseinheit zugeordnet sind, durch den Benutzer durch Rückmelden von entsprechenden Prozesssteuerungswerten und Zusammenarbeiten mit dem Benutzer in einer unterstützenden oder ergänzenden Rolle.
  • In manchen offenbarten Beispielen interagiert ein Benutzer mit dem virtuellen Assistenten, wenn dieser an beispielhaften Rechenvorrichtungen installiert ist, wie etwa an einem Laptop-Computer, einem Smartphone, einem Tablet usw. In manchen offenbarten Beispielen interagiert ein Benutzer mit dem virtuellen Assistenten, wenn dieser an anderen Beispielen für Rechenvorrichtungen installiert ist, einschließlich von am Körper tragbaren Geräten, wie etwa einem Headset, einem Armband oder einer Brille, in denen ein oder mehrere Prozessoren, eine oder mehrere Logikschaltungen usw. enthalten sind, um den virtuellen Assistenten zu implementieren. In solchen offenbarten Beispielen kann der virtuelle Assistent mit Feldgeräten interagieren, die innerhalb einer Reichweite einer Funkbake liegen, wie etwa einer Bluetooth-Bake, einer Wi-Fi-Bake usw. Zum Beispiel kann eine Wi-Fi-Bake kommunikativ mit einem oder mehreren Servern gekoppelt sein, die Anforderungen vom virtuellen Assistenten ermöglichen. In solchen Beispielen kann der virtuelle Assistent, wenn er innerhalb einer Reichweite der Wi-Fi-Bake liegt, durch Befragen des einen oder der mehreren Server über die WiFi-Bake Informationen anfordern, die Feldgeräten zugeordnet sind, die sich innerhalb der Reichweite der WiFi-Bake befinden. In manchen Beispielen lädt der virtuelle Assistent als Reaktion auf das Eindringen in einen Abdeckungsbereich der WiFi-Bake Informationen herunter, die den Feldgeräten zugeordnet sind, um eine Geschwindigkeit zu verbessern, mit der Benutzeranforderungen, die den Feldgeräten zugeordnet sind, verarbeitet und an den Benutzer weitergegeben werden.
  • In manchen offenbarten Beispielen erhält der virtuelle Assistent eine Anforderung von einem Benutzer, analysiert die Anforderung im Hinblick auf brauchbare Informationen und unterstützt einen Satz von Aktionen oder Informationsebenen auf Basis der brauchbaren Informationen. In manchen offenbarten Beispielen schließen die Aktionen das Bereitstellen von Parameterwerten ein, die dem Feldgerät oder Komponenten oder Geräten, die kommunikativ mit dem Feldgerät gekoppelt sind, zugeordnet sind. In anderen offenbarten Beispielen schließen die Aktionen ein: Bereitstellen von ergänzenden Information, wie etwa einen aktuellen Prozess oder eine aktuelle Aufgabe, der bzw. die gerade implementiert und/oder anderweitig von dem Feldgerät ausgeführt wird, Schritt-für-Schritt-Anweisungen in Bezug auf die Durchführung einer Aufgabe (z.B. einer Wartungsaufgabe, einer Aufgabe, die einem Testplan zugeordnet ist, usw.) an oder mit dem Feldgerät, einen Status einer Prozesssteuerungsaufgabe, die dem Feldgerät zugeordnet ist, usw. In manchen Beispielen schließen die Aktionen einen Prozesssteuerungs-Workflow ein, der eine oder mehrere Prozesssteuerungsoperationen beinhaltet, die der Benutzer mit dem entsprechenden Befehl (z.B. einem Befehl über eine computerbasierte Anwendung, einen sprachbasierten Befehl usw.) starten, stoppen oder pausieren kann.
  • 1A ist eine schematische Darstellung eines beispielhaften virtuellen Assistenten (VA) 100, der eine Operation eines beispielhaften Prozesssteuerungssystems 102 ermöglicht. In 1A ist der VA 100 ein virtueller Prozesssteuerungsassistent Zum Beispiel kann der VA 100 ein computerbasierter oder Software-Agent sein, der Aufgaben oder Dienstleistungen für einen beispielhaften Benutzer 104 (z.B. einen Techniker, einen Wartungstechniker, einen Prozesssteuerungsexperten usw.)durchführt. In manchen Beispielen interagiert der VA 100 mit mehreren Benutzern 104. In manchen Beispielen ist der VA 100 ein Bot, ein Chatbot usw., auf den zugegriffen werden kann, der initialisiert werden kann und/oder mit dem auf andere Weise über eine computerbasierte oder Software-Anwendung, einen Sprachbefehl, einen textbasierten Befehl usw. interagiert werden kann.
  • In dem dargestellten Beispiel von 1A führt der VA 100 einen Abruf und/oder eine anderweitige Ermittlung von Anforderungen von einer beispielhaften Host-Anwendung 106 durch, die auf Geräten (z.B. prozessorbasierten Geräten), einschließlich eines beispielhaften ersten Geräts 108, eines beispielhaften zweiten Geräts 110, eines beispielhaften dritten Geräts 112 und eines beispielhaften vierten Geräts 114, läuft und/oder anderweitig ausgeführt wird. In 1A schließt die Host-Anwendung 106 eine oder mehrere Routinen (z.B. Software-Routinen) oder Programme (z.B. Software-Programme) ein, die von maschinenlesbaren Anweisungen ausgeführt werden. Zum Beispiel kann die Host-Anwendung 106 eine mit einer Prozesssteuerung in Verbindung stehende Software-Anwendung sein, die auf einem Standard-Betriebssystem (z.B. einem auf Windows™ basierenden Betriebssystem, einem Apple macOS®-Betriebssystem, einem Apple iOS®-Betriebssystem, einem Android™-Betriebssystem, einem Linux®-Betriebssystem usw. läuft. Die Host-Anwendung 106 wird von den Geräten 108, 110, 112, 114 ausgeführt, um den Benutzer 104 in die Lage zu versetzen, über den VA 100 Daten oder Informationen zu ermitteln, die einem oder mehreren Feldgeräten oder entsprechenden Operationen, die im Prozesssteuerungssystem 102 enthalten sind, zugeordnet sind.
  • In manchen Beispielen ermöglicht die Host-Anwendung 106 dem Benutzer 104 über den VA 100, eine gewünschte Funktion oder Aufgabe in Bezug auf den vom Prozesssteuerungssystem 102 gesteuerten und/oder anderweitig überwachten Prozess durchzuführen, wie etwa das Betrachten des aktuellen Zustands des Prozesses (z.B. über eine grafische Benutzerschnittstelle), das Evaluieren des Prozesses, das Modifizieren einer Operation des Prozesses (z.B. über ein visuelles Objektdiagramm) usw. In manchen Beispielen führt die Host-Anwendung 106 die gewünschte Funktion über den VA 100 durch Interagieren mit im Prozesssteuerungssystem 102 enthaltenen Feldgeräten durch auf Basis des Abrufens eines oder mehrerer verfügbarer Befehle vom VA 100, des Auswählens eines der abgerufenen Befehle und des Sendens des Befehls an das Feldgerät über den VA 100. Zum Beispiel kann der Benutzer 104 den VA 100 bitten, eine Aufgabe durchzuführen, der VA 100 kann die Anforderung verarbeiten, der VA 100 kann auf Basis der verarbeiteten Anforderung eine akustische Mitteilung erzeugen, die den einen oder die mehreren verfügbaren Befehle beschreibt und/oder anderweitig enthält, der Benutzer 104 kann einen der Befehle über eine verbale Bestätigung oder einen verbalen Befehl auswählen, und der VA 100 kann den Befehl an ein oder mehrere entsprechende Feldgeräte senden.
  • In dem dargestellten Beispiel von 1A ist das erste Gerät 108 ein Handheld-Prozesssteuergerät, wie etwa ein Emerson™ AMS TREX™, das in der Lage ist, eine Interaktion mit dem Prozesssteuerungssystem 102 über die Host-Anwendung 106 (z.B. über eine integrierte Anzeige, ein integriertes Mikrofon und/oder integrierte Lautsprecher) zu ermöglichen. Alternativ dazu kann das erste Gerät 108 irgendeine andere Art von Handheld- oder mobilem Prozesssteuergerät sein. In 1A ist das zweite Gerät 110 ein internetfähiges Tablet (z.B. ein iPad™, ein Surface usw.), das in der Lage ist, eine Interaktion mit dem Prozesssteuerungssystem 102 über die Host-Anwendung 106 (z.B. über eine integrierte Anzeige, ein integriertes Mikrofon und/oder integrierte Lautsprecher) zu ermöglichen. In 1A ist das dritte Gerät 112 ein internetfähiges mobiles Handgerät (z.B. ein Smartphone) und kann somit eine Interaktion mit dem Prozesssteuerungssystem 102 über die Host-Anwendung 106 (z.B. über eine integrierte Anzeige, ein integriertes Mikrofon und/oder integrierte Lautsprecher) ermöglichen. In 1A ist das vierte Gerät 114 ein internetfähiger Laptop-Computer, der in der Lage ist, eine Interaktion mit dem Prozesssteuerungssystem 102 über die Host-Anwendung 106 (z.B. eine integrierte Anzeige, ein integriertes Mikrofon und/oder integrierte Lautsprecher) zu ermöglichen. Alternativ dazu kann der VA 100 eine Interaktion mit weniger oder mehr als der Menge und/oder der Art von Geräten, die in 1A abgebildet sind, ermöglichen. Auch wenn die abgebildete Host-Anwendung 106 an jedem der Geräte 108, 110, 112, 114 gleich ist, kann die Host-Anwendung 106 als Alternative maßgeschneidert und/oder anderweitig auf Basis der Plattform angepasst sein. Zum Beispiel kann die Host-Anwendung 106, die auf dem ersten Gerät 108 ausgeführt wird, von der Host-Anwendung 106, die auf dem zweiten Gerät 110 ausgeführt wird, verschieden sein. In solchen Beispielen kann die Host-Anwendung 106 eine andere Benutzerschnittstelle, andere Kommunikationstreiber haben (z.B. kann das erste Gerät 108 Bluetooth 5.0 haben, während das zweite Gerät 110 Bluetooth 4.0 hat, usw.), um zu der entsprechenden Plattform zu passen. In manchen Beispielen weist die Host-Anwendung 106 keine andere Schnittstelle auf als eine stimmliche Benutzerschnittstelle (voice user interface, VUI). Zum Beispiel kann die VUI der Host-Anwendung 106 verwendet werden, um eine Tastatur, eine Geste des Benutzers 104 usw. vollständig zu ersetzen.
  • In dem dargestellten Beispiel von 1A können der Benutzer 104 und/oder die Host-Anwendung 106 mit dem VA 100 über Befehle interagieren, die auditive, hörbare, computerbasierte, gestische oder verbale Befehle einschließen. Alternativ dazu kann jede andere Art von Befehl verwendet werden. In manchen Beispielen kann der Benutzer 104 eine verbale Anforderung stellen und/oder auf andere Weise den VA 100 nach Daten fragen, die Feldgeräten zugeordnet sind, die im Prozesssteuerungssystem 102 enthalten sind, einschließlich eines Beispiels für ein erstes Feldgerät (Feldventil (FV) FV-105) 116 und eines Beispiels für ein zweites Feldgerät (Feldinstrument (FI) FI-205) 118. Das erste Feldgerät 116 von 1A ist eine Fluidstromregelungsbaugruppe. Zum Beispiel kann das erste Feldgerät 116 eine elektrisch, hydraulisch und/oder pneumatisch betätigte Ventilbaugruppe sein. Zum Beispiel kann das erste Feldgerät 116 zumindest einen Aktor, ein Ventil (z.B. ein Schmetterlingsventil, ein Hubventil usw.), eine Ventilsteuerung (z.B. eine lokale Einzelschleifenprozesssteuerung) usw. einschließen. Zum Beispiel kann der Benutzer 104 einen verbalen Befehl an den VA 100 erteilen, um Daten, die dem ersten Feldgerät 116 zugeordnet sind, einschließlich eines Aktordrucks, einer Ventilstellung usw. anzufordern und/oder auf andere Weise abzurufen. Außerdem oder alternativ dazu kann der VA 100 eine Konversation auslösen, die einer Interaktion mit irgendeiner anderen Art von Feldgerät als denen, die in Verbindung mit 1A abgebildet und/oder beschrieben sind, entspricht und/oder diese auf andere Weise ermöglichen. Außerdem oder alternativ dazu kann der VA 100 irgendwelche anderen Daten, die dem ersten Feldgerät 116 zugeordnet sind, anfordern und/oder auf andere Weise abrufen (z.B. einen Verdrahtungsplan, der das erste Feldgerät 116 beinhaltet, eine Software- oder Kommunikationsprotokollkennung des ersten Feldgeräts 116, eine Firmware-Version, die einer Steuerung zugeordnet ist, die im ersten Feldgerät 116 enthalten ist, usw.).
  • Das zweite Feldgerät 118 des dargestellten Beispiels von 1A ist ein Sensor. Zum Beispiel kann das zweite Feldgerät 118 ein Drucktransmitter, ein Temperaturtransmitter usw. sein. In anderen Beispielen kann das zweite Feldgerät 118 ein Füllstandtransmitter, ein pH-Transmitter, ein Ventilstellungsregler usw. sein. Zum Beispiel kann der Benutzer 104 einen verbalen Befehl (z.B. „Virtueller Assistent, ich brauche Infos zu FI-205.“) an den VA 100 ausgeben, um Daten anzufragen, die dem zweiten Feldgerät 118 zugeordnet sind, einschließlich einer Sensormessung (z.B. einer Druckmessung, einer Durchflussmessung, einer Temperaturmessung usw.) in Engineering Units (z.B. Pounds per Square Inch (PSI), Grad Celsius usw.), in anderen als Engineering Units (z.B. eine Spannungsmessung, eine Strommessung usw.), in Rohöleinheiten, in Fluid-Catalytic-Cracking(FCC)-Einheiten usw., und/oder einer Kombination davon. In anderen Beispielen kann der verbale Befehl eine Anforderung von Kalibrierungsinformationen (z.B. einem Datum einer letzten Kalibrierung, einem Datum einer nächsten Kalibrierung, einem Benutzer, der den Sensor kalibriert hat, usw.), einer Konfiguration (z.B. einer Ausgabeadresse eines Kommunikationsprotokolls, einem elektrischen Ausgabebereich usw.), Versionsinformationen (z.B. einer Firmware-Version, die dem zweiten Feldgerät 118) zugeordnet ist) usw. sein.
  • In manchen Beispielen frägt der Benutzer 104 und/oder die Host-Anwendung 106 den VA 100 nach Informationen, die einer beispielhaften Steuerschleife 120 zugeordnet sind. In 1A ist die Steuerschleife 120 eine Feldgerätesteuerungs(FIC)-Schleife, die von der FIC-205 benannt wird. Die Steuerschleife 120 von 1A schließt das erste Feldgerät 116 und das zweite Feldgerät 118 ein. Die Steuerschleife 120 von 1A entspricht einer Steuerung (z.B. einer PLC, einer prozessorbasierten Steuerung usw.), die eine Eingabe vom zweiten Feldgerät 118 erhält und/oder ein Ausgangssignal an das erste Feldgerät 116 erzeugt. Alternativ dazu kann die Steuerschleife 120 weniger oder mehr Feldgeräte einschließen. In 1A kann die Steuerschleife 120 das erste Feldgerät 116 betätigen (z.B. das Ventil öffnen, das Ventil schließen, das Ventil in eine bestimmte Stellung bewegen usw.). In 1A kann die Steuerschleife 120 Sensordaten vom zweiten Feldgerät 118, das dem ersten Feldgerät 116 zugeordnet ist, abrufen oder auf andere Weise ermitteln. Zum Beispiel kann die Steuerschleife 120 ein Öffnen des ersten Feldgeräts 116 befehlen, um zu bewirken, dass ein Fluid durch das erste Feldgerät 116 hindurchströmt, und kann einen Parameter des Stroms (z.B. eine Temperatur, eine Strömungsrate, einen Druck usw.) auf Basis von Daten messen, die vom zweiten Feldgerät 118 erhalten werden.
  • In manchen Beispielen meldet das VA 100 Informationen zurück, die der Steuerschleife 120 zugeordnet sind, einschließlich eines MODE-Parameters (z.B. eines automatischen Modus, eines manuellen Modus, eines Kaskadenmodus usw.), eines Sollwert(set point, SP)-Parameters, eines Prozessvariablen(PV)-Parameters oder eines Messwert(MV)-Parameters, eines Ausgabe(OUT)-Parameters, eines Statusparameters und/oder einer oder mehrerer Alarme, die Komponenten oder Feldgeräten zugeordnet sind, die in der Steuerschleife 120 enthalten sind. Zum Beispiel kann der SP-Parameter einem erwarteten Wert, einem gewünschten Wert usw. für MV oder PV entsprechen. In solchen Beispielen kann SP vom Benutzer 104 über den VA 100 eingegeben und/oder auf andere Weise übermittelt werden. Zum Beispiel kann der Benutzer 104 den VA 100 anweisen, einem SP-Parameter einen Wert von 100 % offen für einen Ventilstellungsparameter des ersten Feldgeräts 116 zuzuweisen. Der MV- oder der PV-Parameter kann einem Messwert des Prozessausgangs (z.B. einer Strömungsrate, einem Druck, einer Temperatur usw. des Fluids, das durch das erste Feldgerät 116 strömt) entsprechen. Der OUT-Parameter kann einem Ausgang der Steuerschleife 120) z.B. einer Ausgabe aus einer Steuerung) entsprechen. Der OUT-Parameter kann einem Ausgangssignal entsprechen, das von der Steuerschleife 120 erzeugt und an einen Aktor gesendet wird (z.B. einen Aktor, der im ersten Feldgerät 116 enthalten ist), um eine Anpassung an dem Aktor vorzunehmen.
  • In manchen Beispielen empfängt die Steuerschleife 120 als Antwort darauf, dass der MODE-Parameter einem automatischen Modus entspricht, SV und PV, berechnet den OUT-Parameter und sendet ein Ausgangssignal, das dem OUT-Parameter entspricht, an das erste Feldgerät 116. In manchen Beispielen wird als Antwort darauf, dass der MODE-Parameter dem manuellen Modus entspricht, die Steuerschleife 120 außer Kraft gesetzt, wodurch der Benutzer 104 in die Lage versetzt wird, das Ausgangssignal, das dem OUT-Parameter entspricht, direkt an den Aktor zu senden. Zum Beispiel kann der Benutzer 104 den VA 100 anweisen, die Ventilstellung des ersten Feldgeräts 116 durch Außerkraftsetzen des in der Steuerschleife 120 gespeicherten SP anzupassen.
  • In manchen Beispielen empfängt eine Steuerschleife als Antwort darauf, dass der MODE-Parameter einem Kaskadenmodus entspricht, einen SP von einer externen Quelle, wie unter anderem einer anderen Steuerung, die einer anderen Steuerschleife zugeordnet ist (z.B. FIC-201, FIC-204 usw.). Zum Beispiel kann die Steuerschleife FIC-201 einen ersten SP, der dem Feldgerät FV-101 zugeordnet ist, von der Steuerschleife FIC-204 empfangen. In solchen Beispielen kann der Benutzer 104 den VA 100 anweisen, eine Strömungsrate von 2 Barrels/Minute (bpm) für ein Fluid, das durch das FV-101 strömt, zu erzeugen. Der VA 100 kann die Anforderung vom Benutzer 104 verarbeiten, einen Befehl erzeugen und den Befehl an die FIC-204 senden, um einem Strömungsraten-SP eine Strömungsrate von 2 bpm zuzuweisen. FIC-204 kann eine Füllstandsmessung eines beispielhaften Prozesstanks 122 vom FI-204 erhalten und die Änderung des Füllstands in eine Strömungsrate (z.B. eine Strömungsrate auf Basis einer Befüllungsrate des Prozesstanks 122) umwandeln. Daraufhin kann die FIC-204 auf Basis des Strömungsraten-SP einen Befehl, der einer Ventilstellung SP des FV-101 entspricht, erzeugen und an die FIC-201 senden. Als Antwort darauf, dass FIC-201 den Befehl empfängt, öffnet FIC-201 FV-101, um den Ventilstellungs-SP, der dem Strömungsraten-SP von 2 bpm durch FV-101 genügt, zu erreichen und/oder ihm auf andere Weise gerecht zu werden. Als Antwort darauf, dass dem Ventilstellungs-SP genügt wird, kann FIC-204 bestimmen, ob dem Strömungsraten-SP von 2 bpm durch FV-101 genügt worden ist. In manchen Beispielen erzeugt der VA 100 eine akustische Mitteilung an den Benutzer 104, die angibt, dass der Strömungsrate durch den FV-101, die der Anforderung vom Benutzer zugeordnet ist, genügt worden ist. Außerdem oder alternativ dazu kann der VA 100 Informationen wie eine Befüllungsrate des Prozesstanks 122, einen Wert des Ventilstellungs-SP, eine Ventilstellung, die dem FV-101 zugeordnet ist, usw. und/oder eine Kombination davon in die akustische Mitteilung aufnehmen.
  • In manchen Beispielen geben der Benutzer 104 und/oder die Host-Anwendung 106 einen Befehl an den VA 100 aus, der von einer oder mehreren Komponenten des Prozesssteuerungssystems 102 ausgeführt werden soll. Zum Beispiel kann der Benutzer 104 einen verbalen Befehl an den VA 100 zum Öffnen oder Schließen des ersten Feldgeräts 116, zum Anweisen des ersten Feldgeräts 118, eine andere Maßeinheit zu verwenden oder Ausgangsdaten unter Verwendung eines anderen Kommunikationsprotokolls auszugeben, usw. ausgeben. In anderen Beispielen kann die Host-Anwendung 106 einen Befehl erzeugen und den Befehl an das VA 100 senden, um einen Workflow auszuführen, der eine oder mehrere Operationen einer oder mehrerer Komponenten des Prozesssteuerungssystems 102 beinhaltet. Zum Beispiel kann die Host-Anwendung 106 einen Befehl zum Befüllen des Prozesstanks 122 erzeugen und an den VA 100 ausgeben. In solchen Beispielen kann der VA 100 ein oder mehrere Feldgeräte wie etwa FV-101, FV-102 usw., betätigen, um den Prozesstank 122 zu füllen, einen Gasauslass durch Öffnen des ersten Feldgeräts 116 zu entlüften, eine Rückmeldung an den Benutzer 104 und/oder die Host-Anwendung 106 einschließlich eines Status der Operationen usw. bereitzustellen, usw. Zum Beispiel kann der Status eine akustische und/oder visuelle Mitteilung sein, die angibt, dass der Prozesstank 122 zu 40 % voll ist. In anderen Beispielen kann die Mitteilung eine geschätzte verbleibende Zeitdauer der Operation, eine Zeit, die seit Beginn der Operation vergangen ist, usw. einschließen. In manchen Beispielen erzeugt der VA 100 eine Mitteilung an den Benutzer 104, die Host-Anwendung 106 usw. die Sicherheitsinformationen beinhaltet. Zum Beispiel kann die Mitteilung einem Gasleck im FCC, einem Flüssigkeitsleck im Prozesstank 122 usw. entsprechen. Auch wenn in 1A der Prozesstank 122 abgebildet ist, kann der VA 100 außerdem oder alternativ dazu Konversationen mit dem Benutzer 104 und/oder der Host-Anwendung 106 auslösen, die dem Ermöglichen einer Funktion und/oder einer Operation mit einem oder mehreren Wärmetauschern, einer oder mehreren Destillationssäulen, einem oder mehreren befeuerten Heizern usw. und/oder einer Kombination davon entsprechen.
  • In dem dargestellten Beispiel von 1A frägt und/oder ruft der VA 100 Informationen von einer beispielhaften Datenbank 124 über ein beispielhaftes Netzwerk 126 ab. In manchen Beispielen schließt die Datenbank 124 eine Konfiguration des Prozesssteuerungssystems 102 ein, die ein oder mehrere Profile einschließen kann, wobei jedes der Profile einer Komponente entspricht, die im Prozesssteuerungssystem 102 enthalten ist (z.B. einem ersten Profil, das dem ersten Feldgerät 116 entspricht, einem zweiten Profil, das dem Prozesstank 122 entspricht, usw.). In manchen Beispielen können die Profile zwei oder mehr Komponenten entsprechen. Zum Beispiel kann ein Profil Informationen einschließen, die der Steuerschleife 120 zugeordnet sind, die Informationen einschließen kann, die dem ersten Feldgerät 116, dem zweiten Feldgerät 118, einer Steuerung, die in der Steuerschleife 120 enthalten ist, usw. entsprechen. In manchen Beispielen enthält die Datenbank 124 Aktionen (z.B. Basisaktionen, komplexe Aktionen usw.), die von den Komponenten des Prozesssteuerungssystems 102 ausgeführt werden können. In manchen Beispielen schließt die Datenbank 124 Skripte ein, die vom VA 100 ausgeführt werden können, um eine oder mehrere von den Komponenten des Prozesssteuerungssystems 102 anzuweisen, eine oder mehrere Aktionen auszuführen.
  • Die Datenbank 124 von 1A kann durch einen flüchtigen Memory-Speicher (z.B. einen Synchronous Dynamic Random Access Memory (SDRAM), einen Dynamic Random Access Memory (DRAM), einen RAMBUS Dynamic Random Access Memory (RDRAM) usw.) und/oder einen nichtflüchtigen Memory-Speicher (z.B. einen Flash-Memory) implementiert werden. Die Datenbank 124 kann außerdem oder alternativ dazu durch einen oder mehrere Double-Data-Rate(DDR)-Memory-Speicher, wie etwa DDR, DDR2, DDR3, DDR4, mobile DDR (mDDR) usw. implementiert werden. Die Datenbank 124 kann außerdem oder alternativ dazu durch eine oder mehrere Massenspeichervorrichtungen wie (mindestens) ein Festplattenlaufwerk, Compact-Disk-Laufwerk, Digital-Versatile-Disk-Laufwerk, Solid-State-Disk-Laufwerk usw. implementiert werden. Auch wenn die Datenbank 124 im dargestellten Beispiel als einzelne Datenbank dargestellt ist, kann die Datenbank 124 durch eine beliebige Anzahl und/oder beliebige Arten von Datenbanken implementiert werden. Ferner können die Daten, die in der Datenbank 124 gespeichert sind, in jedem Datenformat vorliegen, wie beispielsweise als binäre Daten, Commadelimited Data, Tab-delimited Data, Structured-Query-Language(SQL)-Strukturen usw.
  • Die Datenbank 126 von 1A ist ein Bus und/oder ein Computernetzwerk. Zum Beispiel kann das Netzwerk 126 ein Prozesssteuerungsnetzwerk sein. In manchen Beispielen ist das Netzwerk 126 ein Netzwerk mit der Fähigkeit zur kommunikativen Kopplung mit dem Internet. Jedoch kann das Netzwerk 126 unter Verwendung mindestens eines beliebigen geeigneten drahtgebundenen und/oder drahtlosen Netzwerkes implementiert werden, unter anderem durch einen oder mehrere Datenbusse, ein oder mehrere lokale Netzwerke (LANs), ein oder mehrere drahtlose LANs, ein oder mehrere Mobilfunknetze, ein oder mehrere faseroptische Netzwerke, ein oder mehrere Satellitennetze, ein oder mehrere private Netzwerke, ein oder mehrere öffentliche Netzwerke usw. Das Netzwerk 126 kann dem beispielhaften VA 100 ermöglichen, mit der Datenbank 124 in Kommunikation zu treten.
  • 1B ist eine schematische Darstellung des beispielhaften VA 100 von 1A, der in beispielhaften, am Körper tragbaren Geräten 128, 130, 132 enthalten sein kann oder auf andere Weise an diesen ausgeführt werden kann, um die Operation des beispielhaften Prozesssteuerungssystems 102 von 1A zu ermöglichen. In 1B schließen die am Körper tragbaren Geräte 128, 130, 132 ein erstes Beispiel für ein am Körper tragbares Gerät 128, ein zweites Beispiel für ein am Körper tragbares Gerät 130 und ein drittes Beispiel für ein am Körper tragbares Gerät 132 ein. Das erste Feldgerät 128 von 1B ist ein Headset. Außerdem oder alternativ dazu kann der VA 100 an jedem anderen Rechengerät oder am Körper tragbaren Gerät, wie etwa einer Smartwatch, Smart-Goggles usw. installiert und/oder auf andere Weise konfiguriert werden.
  • Das erste am Körper tragbare Gerät 128 des dargestellten Beispiels von 1B kann ein Headset sein, das eine prozessorbasierte Computer-Plattform beinhaltet, die einen oder mehrere Prozessoren, eine oder mehrere Memory- bzw. Arbeitsspeichervorrichtungen und/oder eine oder mehrere Speichervorrichtungen, um maschinenlesbare Befehle zu speichern, eine oder mehrere Schnittstellenschaltkreise. um Bluetooth- und/oder Wi-Fi-Kommunikation zu ermöglichen, eine oder mehrere Eingabevorrichtungen, wie etwa eine Taste und/oder ein Mikrofon, ein oder mehrere Ausgabegeräte, wie etwa einen Lautsprecher usw., und/oder irgendwelche anderen Hardware-Komponenten, die den VA 100 implementieren können, beinhaltet. In solchen Beispielen kann der Benutzer 104 den VA 100 am ersten am Körper tragbaren Gerät 128 durch Drücken einer Taste oder durch Aussprechen einer bestimmten Phrase, wie etwa „Hallo, virtueller Assistent“ aufrufen.
  • Das zweite am Körper tragbare Gerät 130 des dargestellten Beispiels von 1B ist ein Armband. Zum Beispiel kann das zweite am Körper tragbare Gerät 130 ein Armband sein, das eine prozessorbasierte Computer-Plattform beinhaltet, die einen oder mehrere Prozessoren, eine oder mehrere Memory- bzw. Arbeitsspeichervorrichtungen und/oder eine oder mehrere Speichervorrichtungen, um maschinenlesbare Befehle zu speichern, eine oder mehrere Schnittstellenschaltkreise. um Bluetooth- und/oder Wi-Fi-Kommunikation zu ermöglichen, eine oder mehrere Eingabevorrichtungen, wie etwa eine Taste und/oder ein Mikrofon, ein oder mehrere Ausgabegeräte, wie etwa einen Lautsprecher usw., und/oder irgendwelche anderen Hardware-Komponenten, die den VA 100 implementieren können, beinhaltet. In solchen Beispielen kann der Benutzer 104 den VA 100 am zweiten am Körper tragbaren Gerät 130 durch Drücken einer Taste oder durch Aussprechen einer bestimmten Phrase, wie etwa „Hallo, virtueller Assistent“ aufrufen.
  • Das dritte am Körper tragbare Gerät 132 des dargestellten Beispiels von 1 B entspricht einer Brille, die zwei Linsen aufweist. Zum Beispiel kann das dritte am Körper tragbare Gerät 132 eine Brille sein, die eine prozessorbasierte Computer-Plattform beinhaltet, die einen oder mehrere Prozessoren, eine oder mehrere Memory- bzw. Arbeitsspeichervorrichtungen und/oder eine oder mehrere Speichervorrichtungen, um maschinenlesbare Befehle zu speichern, eine oder mehrere Schnittstellenschaltkreise, um Bluetooth- und/oder Wi-Fi-Kommunikation zu ermöglichen, eine oder mehrere Eingabevorrichtungen, wie etwa eine Taste und/oder ein Mikrofon, ein oder mehrere Ausgabegeräte, wie etwa einen Lautsprecher usw., und/oder irgendwelche anderen Hardware-Komponenten, die den VA 100 implementieren können, beinhaltet. In solchen Beispielen kann der Benutzer 104 den VA 100 am dritten am Körper tragbaren Gerät 132 durch Drücken einer Taste, Aussprechen einer bestimmten Phrase, wie etwa „Hallo, virtueller Assistent“, Ausführen einer Geste, wie etwa Blinzeln oder Wedeln mit einer Hand vor der Brille usw. aufrufen. In manchen Beispielen schließt das dritte am Körper tragbare Gerät 132 zwei Anzeigen ein, die eine erste Anzeige, die in eine erste von den Linsen integriert ist, und eine zweite Anzeige, die in eine zweite von den Linsen integriert ist, einschließen. In anderen Beispielen schließt das dritte am Körper tragbare Gerät 132 nur eine Anzeige, entweder in der ersten oder in der zweiten der Brille ein.
  • In dem dargestellten Beispiel von 1B sind die am Körper tragbaren Geräte 128, 130, 132 über eine drahtlose Verbindung, wie etwa Bluetooth oder Wi-Fi kommunikativ mit dem Netzwerk 126 gekoppelt. In manchen Beispielen kann eines oder mehrere von den am Körper tragbaren Geräten 128, 130, 132 über eine direkte drahtlose Verbindung ohne ein dazwischen angeordnetes Gerät, wie etwa einen Zugangspunkt, eine Bake, ein Gateway usw. kommunikativ mit dem Netzwerk 126 gekoppelt sein. In anderen Beispielen kann eines oder mehrere von den am Körper tragbaren Geräten 128, 130, 132 über ein dazwischen angeordnetes Gerät, wie etwa einen Zugangspunkt, eine Bake, ein Gateway usw. kommunikativ mit dem Netzwerk 126 gekoppelt sein.
  • In dem dargestellten Beispiel von 1B, kann eines oder mehrere von den am Körper tragbaren Geräten 128, 130, 132 über eine oder mehrere von beispielhaften Baken 134a-g kommunikativ mit dem Netzwerk 126 gekoppelt sein. In 1B sind die Baken 134a-g WiFi-Baken (z.B. Wi-Fi Direct®-Baken). Zum Beispiel sind die Baken 134a-g Geräte, die einen oder mehrere Prozessoren einschließen, die eine drahtlose Kommunikation zwischen Rechenvorrichtungen (z.B. zwischen einem Server und einem Client-Gerät, zwischen einem Zugangspunkt und einem Client-Gerät usw.) ermöglichen. Alternativ dazu kann eine oder können mehrere von den Baken 134a-g Bluetooth-Baken oder duale Bluetooth/WiFi-Baken sein. Außerdem oder alternativ dazu kann eine oder können mehrere von den Baken 134a-g unterschiedliche Drahtloskommunikationsprotokolle unterstützen. Auch wenn in 1B sieben von den Baken 134a-g abgebildet sind, können weniger oder mehr als die abgebildeten Baken 134a-g verwendet werden.
  • In dem dargestellten Beispiel von 1B sind die Baken 134a-g an mehreren Stellen im ganzen Prozesssteuerungssystem 102 angeordnet. In 1B ist jede von den Baken 134a-g an einer Stelle angeordnet, wo sie einen Abdeckungsbereich erzeugt, der ein oder mehrere Feldgeräte beinhaltet. Ein Abdeckungsbereich kann einem geografischen Bereich entsprechen, in dem ein Gerät kommunikativ mit einer Bake gekoppelt ist, die dem Abdeckungsbereich zugeordnet ist. Zum Beispiel kann eine erste von den Baken 134a-g einen ersten Abdeckungsbereich aufweisen, der FI-205 118 und FIC-207 beinhaltet. In manchen Beispielen kann einer oder können mehrere Abdeckungsbereiche der Baken 134a-g einander überlagern. In anderen Beispielen könnten Abdeckungsbereiche der Baken 134a-g einander nicht überlagern.
  • In manchen Beispielen verbinden die am Körper tragbaren Geräte 128, 130, 132 die Baken 134a-g dynamisch, wenn sie sich in einem Abdeckungsbereich befinden, der mit den Baken 134a-g erzeugt wird und/oder diesen auf andere Weise zugeordnet ist. Zum Beispiel können die am Körper tragbaren Geräte 128, 130, 132 über eine erste von den Baken 134a-g kommunikativ mit dem Netzwerk 126 gekoppelt werden, wenn sie in einen Bereich des Abdeckungsbereichs gelangen, welcher der ersten Bake 134a zugeordnet ist. Wenn die am Körper tragbaren Geräte 128, 130, 132 kommunikativ mit der ersten Bake 134a gekoppelt sind, kann der Benutzer 104 eine Konversation mit dem VA 100 auslösen, die einem Feldgerät innerhalb der Reichweite der ersten Bake 134a entspricht. Zum Beispiel kann der Benutzer 104 eine Konversation mit dem VA 100 am ersten am Körper tragbaren Gerät 128, initiieren, das Fl-205 118 entspricht. In solchen Beispielen kann der Benutzer 104 den VA 100 durch Aussprechen von „Hallo, virtueller Assistent, gib mir Informationen zu FI-205.“ aufrufen. Als Antwort auf den Aufruf kann der VA 100 eine Anforderung an die Datenbank 124 erzeugen, die über die erste Bake 134a kommunikativ mit dem Netzwerk 126 verbunden ist. Der VA 100 kann eine akustische Antwort an den Benutzer 104 erzeugen, die Informationen enthält, die FI-205 118 entsprechen.
  • In manchen Beispielen kann der VA 100 Informationen in die am Körper tragbaren Geräte 128, 130, 132 herunterladen, die Feldgeräten innerhalb eines Abdeckungsbereichs der Baken 134a-g zugeordnet sind, sobald er in den Abdeckungsbereich gelangt. Wenn der Benutzer 104, der das dritte am Körper tragbare Gerät 132 trägt, beispielsweise in einen ersten Abdeckungsbereich der ersten Bake 134a gelangt, kann der VA 100 die erste Bake 134a nach Feldgeräten im ersten Abdeckungsbereich befragen. Die erste Bake 134a kann eine Liste von Feldgeräten einschließlich FI-205 118 und FIC-207 zurückmelden. Der VA 100 kann die zurückgemeldete Liste von Feldgeräten mit Informationen vergleichen, die im dritten am Körper tragbaren Gerät 132 gespeichert sind. Der VA 100 kann Informationen, die noch nicht im dritten am Körper tragbaren Gerät 132 gespeichert sind, herunterladen. Zum Beispiel kann das dritte am Körper tragbare Gerät 132 bereits erste Informationen speichern, die FI-205 118 zugeordnet sind, aber noch keine zweiten, FIC-207 zugeordneten Informationen speichern. In solchen Beispielen kann der VA 100 die erste Bake 134a nach den zweiten Informationen fragen. In manchen Beispielen frägt der VA 100 die erste Bake 134a nach dritten Informationen, die FI-205 118 zugeordnet sind, wenn die dritten Informationen von den ersten Informationen verschieden sind. In anderen Beispielen kann der VA 100 die ersten Informationen gegen die dritten Informationen austauschen.
  • In manchen Beispielen entfernt der VA 100 Informationen, die den Feldgeräten innerhalb des Abdeckungsbereichs der Baken 134a-g zugeordnet sind, sobald er den Abdeckungsbereich verlässt. Wenn der Benutzer 104, der das zweite am Körper tragbare Gerät 130 trägt, den ersten Abdeckungsbereich verlässt, welcher der ersten Bake 134a zugeordnet ist, kann der VA 100 beispielsweise das zweite am Körper tragbare Gerät 130 anweisen, Informationen, die FI-205 118, FIC-207 usw. zugeordnet sind, zu löschen. In anderen Beispielen kann der VA 100 das zweite am Körper tragbare Gerät 130 anweisen, die Informationen zu löschen, wenn er in einen zweiten Abdeckungsbereich gelangt, der vom ersten Abdeckungsbereich verschieden ist. Zum Beispiel kann der VA 100 das zweite am Körper tragbare Gerät 130 anweisen, die zuvor gespeicherten Informationen, die dem ersten Abdeckungsbereich zugeordnet sind, durch zweite Informationen zu ersetzen, die zweiten Feldgeräten im zweiten Abdeckungsbereich zugeordnet sind.
  • Vorteilhafterweise kann der VA 100 eine Geschwindigkeit, mit der eine Anforderung vom Benutzer 104 verarbeitet wird, durch lokales Speichern von Informationen, die Feldgeräten in einem Baken-Abdeckungsbereich zugeordnet sind, an den am Körper tragbaren Geräten 128, 130, 132, statt Informationen aus der Datenbank 124 über das Netzwerk 126 abzurufen, verringern. Wenn der Benutzer 104, der das dritte am Körper tragbare Gerät 132 trägt, in den ersten Abdeckungsbereich gelangt, welcher der ersten Bake 134a zugeordnet ist, kann der VA 100 beispielsweise ein Verdrahtungsschema, das FIC-205 120 zugeordnet sind, herunterladen. Wenn der Benutzer 104 den VA 100 auffordert, das Verdrahtungsschema anzuzeigen, kann der VA 100 in solchen Beispielen das dritte am Körper tragbare Gerät 132 anweisen, das Verdrahtungsschema auf einem oder auf beiden Brillengläsern (z.B. auf einer oder auf beiden Anzeigen, die in die Brillengläser integriert sind) anzuzeigen Durch lokales Speichern des Verdrahtungsschemas, sobald er in den ersten Abdeckungsbereich gelangt, kann der VA 100 die Geschwindigkeit erhöhen, mit der die Anforderung des Benutzers 104 verarbeitet wird.
  • Ebenso kann der VA 100 eine Menge an Rechenressourcen, die der Aufrechterhaltung des Netzwerks 126 zugeordnet sind, durch Abrufen von Daten aus Informationen, die an den Baken 134a-g gespeichert sind, statt die Datenbank 124 abzufragen, verringern. In manchen Beispielen können die Baken 134a-g Netzwerkressourcen, die dem Netzwerk 126 zugeordnet sind, durch Bilden eines vermaschten Netzwerks verringern. Zum Beispiel können die Baken 134a-g im Prozesssteuerungssystem 102 so angeordnet werden, dass jede von den Baken 134a-g kommunikativ mit mindestens einer von den anderen Baken 134a-g gekoppelt ist. In solchen Beispielen kann die erste Bake 134a Anforderungen von der zweiten bis der siebten Bake 134b-g verarbeiten und die Anforderungen an das Netzwerk 126 senden, statt dass das Netzwerk 126 Anforderungen von jeder der Baken 134a-g verarbeitet.
  • 2 ist eine schematische Darstellung des VA 100 von 1A-1B. In 2 betreibt der VA 100 und/oder verbessert anderweitig eine Prozesssteuerung (z.B. Prozesssteueroperationen) in einer beispielhaften Prozesssteuerungsumgebung 200. Zum Beispiel kann die Prozesssteuerungsumgebung 200 einer Prozessindustrieumgebung oder einem System entsprechen, das ein Chemiewerk, eine Fertigungsanlage, eine Ölfeldumgebung, eine Fabrik usw. beinhaltet. Zum Beispiel kann die Prozesssteuerungsumgebung 200 dem Prozesssteuerungssystem 102 von 1A-1B entsprechen. In dem dargestellten Beispiel von 2 ermöglicht der VA 100 eine Kommunikation mit dem Benutzer 104, der Host-Anwendung 106 usw. von 1A-1B (empfängt z.B. Befehle, sendet Antworten usw.). In manchen Beispielen fragen der Benutzer 104 und/oder die Host-Anwendung 106 den VA 100 nach ersten Daten oder Informationen von Interesse über beispielhafte Anforderungen 201a-b, die eine erste beispielhafte Anforderung 201a und eine zweite beispielhafte Anforderung 201b einschließen. Eine oder beide Anforderungen 201a-b können einer verbalen Anforderung, einem Befehl (z.B. einem verbalen Befehl), einer Auswahl in der und/oder Eingabe in die Host-Anwendung 106 usw. entsprechen. Zum Beispiel kann der Benutzer 104 mit der ersten Anforderung 201a fragen: „Wie ist der Zustand von FIC-205?“. In solchen Beispielen kann der VA 100 einen oder mehrere Parameter einschließlich MODE, SP, PV, OUT, Zustand, Warnungen usw. und/oder eine Kombination davon, die der Steuerschleife 120 von 1A-1B zugeordnet sind, zurückmelden. In anderen Beispielen kann der Benutzer 104 mit der Host-Anwendung 106 durch Auswählen der zweiten Anforderung 201b aus einer zuvor bestückten Liste, die auf einer Benutzerschnittstelle angezeigt wird, oder durch Erzeugen einer Eingabe interagieren, durch Eintippen eines textbasierten Befehls oder einer textbasierten Anforderung, die nicht in zuvor bestückten Listen enthalten sind, wie etwa „Finde FI* für mich“, wobei das Platzhalterzeichen, das als Sternchen (*) dargestellt wird, den VA 100 anweisen kann, eine Liste von Komponenten oder Feldgeräten, die FI zugeordnet sind, zurückzumelden oder FI in eine Beschreibung der Komponenten oder Feldgeräte aufzunehmen. Zum Beispiel kann der VA 100 die Liste so erzeugen, dass sie einen Namen, eine Beschreibung und/oder entsprechende Pfadinformationen für ein oder mehrere Feldgeräte, Steuerschleifen usw. enthält, die einer Bezeichnung zugeordnet sind, die Fl enthält (z.B. FI-201, FIC-201, FI-202, FIC-202 usw.).
  • In 2 kann die Host-Anwendung 106 eine beispielhafte mobile Anwendung 202 sein. Zum Beispiel kann die mobile Anwendung 202 unter Verwendung des ersten Geräts 108, des zweiten Geräts 110 und/oder des dritten Geräts 112 von 1A-1B ausgeführt und/oder auf andere Weise laufen gelassen werden. Zum Beispiel kann die mobile Anwendung 202 eine mobile Apple® iOS-Anwendung, eine mobile Android™-Anwendung usw. sein. Zum Beispiel kann die mobile Anwendung 202 eine auf einer Prozesssteuerung basierende mobile Anwendung sein, wie etwa Emerson™ DeltaV™ Mobile.
  • In dem dargestellten Beispiel von 2 kann die Host-Anwendung 106 eine beispielhafte Browser-Anwendung 204 sein. Zum Beispiel kann die Browser-Anwendung 204 einen Web-Browser und/oder eine Web-Server implementieren, wobei Informationen, die an den VA 100 gesendet werden, vom VA 100 empfangen werden und/oder die auf andere Weise mit dem VA 100 ausgetauscht werden, als HTT-P-Nachricht formatiert werden. Jedoch kann außerdem oder alternativ dazu jedes andere Nachrichtenformat und/oder (Kommunikations-)Protokoll verwendet werden, wie beispielsweise ein File Transfer Protocol (FT-P), ein Real-Time Transfer Protocol (RTP), ein Simple Message Transfer Protocol (SMTP), ein HTTP Secure (HTTPS) Protocol usw. Zum Beispiel kann die Browser-Anwendung 204 eine auf einer Prozesssteuerung basierende Browser-Anwendung sein, die unter Verwendung von Emerson™ DeltaV™ Live erstellt und/oder auf andere Weise erzeugt worden ist.
  • Die Host-Anwendung 106 von 2 kann eine beispielhafte Desktop-Anwendung 206 sein. Zum Beispiel kann die Desktop-Anwendung 206 auf einem Apple® Mac®-Computer (z.B. einem MacBook®-Computer, einem Mac Pro®-Computer usw.), einem auf Windows basierenden Desktop- und/oder Laptop--Computer, einem auf Linux basierenden Desktop- und/oder Laptop-Computer usw. arbeiten und/oder auf andere Weise ausgeführt werden. Zum Beispiel kann die Desktop-Anwendung 206 als eigenständige Anwendung operieren und/oder auf andere Weise ausgeführt werden, die keinen Web-Browser und/oder keine Internetverbindung benötigt, um zu funktionieren oder um ausgeführt werden zu können, In anderen Beispielen kann die Desktop-Anwendung 206 als Computer-Anwendung operieren und/oder auf andere Weise ausgeführt werden, die einen Web-Browser und/oder eine Internetverbindung nutzt, um zu funktionieren oder um ausgeführt werden zu können,
  • In dem dargestellten Beispiel von 2 schließen die Host-Anwendung 106, die an der mobilen Anwendung 202 operiert und/oder auf andere Weise ausgeführt wird, die Browser-Anwendung 204 und die Desktop-Anwendung 206 eine Benutzerschnittstelle ein, um die Anforderungen 201a-b vom Benutzer 104 entgegennehmen und/oder auf andere Weise erhalten zu können. Zum Beispiel kann der VA 100 eine Antwort auf die Anforderung 201a-b an die Host-Anwendung 106 senden. In solchen Beispielen kann die Host-Anwendung 106 die Antwort über die Benutzerschnittstelle anzeigen (z.B. eine Grafik anzeigen, die Parameterwerte beinhaltet, eine Visualisierung anzeigt, eine textbasierte Nachricht, welche die Antwort enthält, anzeigt, usw.). In manchen Beispielen kann die Host-Anwendung 106 die Antwort vom VA 100 durch einen oder mehrere Lautsprecher übermitteln, die kommunikativ mit der Host-Anwendung 106 gekoppelt sind. Zum Beispiel kann die Host-Anwendung 106 eine verbale Nachricht erzeugen, die für die Antwort vom VA 100 repräsentativ ist, und die verbale Nachricht über einen oder mehrere Lautsprecher übermitteln, die mit einer Rechenvorrichtung gekoppelt sind, welche die Host-Anwendung 106 ausführt.
  • In dem dargestellten Beispiel von 2 schließt die Host-Anwendung 106 eine oder mehrere Schnittstellen zur Programmierung von Anwendungen (application programming interfaces, APIs), Erweiterungen, Plug-ins usw. und/oder eine Kombination davon ein, die verwendet werden können, um eine Kommunikation mit dem VA 100 über ein beispielhaftes Host-Anwendungs-Bot-Framework 208 zu ermöglichen. Alternativ dazu kann die Host-Anwendung 106 ohne das Host-Anwendungs-Bot-Framework 208 mit dem VA 100 kommunizieren und/oder auf andere Weise Daten austauschen. In 2 ist das Host-Anwendungs-Bot-Framework 208 in der Host-Anwendung 106 enthalten, um Anforderungen in eine Warteschlange zu stellen und Anforderungen und Antworten zu ordnen. Zum Beispiel kann das Host-Anwendungs-Bot-Framework 208 Anforderungen an den VA 100 (z.B. Pufferanforderungen, Priorisierungsanforderungen, Sortierungsanforderungen, Anforderungen nach Vergleichen mit Antworten, die im Cache gespeichert sind, usw.) und Antworten vom VA 100 verarbeiten oder auf andere Weise Anforderung verwalten.
  • In dem dargestellten Beispiel von 2 kommunizieren und/oder interagieren der Benutzer 104 und die Host-Anwendung 106 auf andere Weise mit dem VA 100 über ein beispielhaftes Server-Bot-Framework 210. Der VA 100 weist das Server-Bot-Framework 210 auf, um eine Kommunikation durch Empfangen und Verarbeiten von Befehlen und/oder Anforderungen zu ermöglichen. Zum Beispiel kann das Server-Bot-Framework 210 Anforderungen von der Host-Anwendung 106 auf Basis einer Anforderung/Antwort, einer Veröffentlichung/Subskription oder einer Ereignisregistrierung mit einer Callback-Architektur oder einem Callback-Schema handhaben oder verwalten. In manchen Beispielen wird das Server-Bot-Framework 210 von einem oder mehreren prozessorbasierten Servern implementiert.
  • In manchen Beispielen meldet das Server-Bot-Framework 210 Antworten an den Benutzer 104, die Host-Anwendung 106 usw. synchron zurück, während das Server-Bot-Framework 210 in anderen Beispielen Antworten asynchron zurückmeldet. Zum Beispiel können asynchrone Antworten als Alert, als Hinweis usw. zurückgemeldet werden. In solchen Beispielen kann der Benutzer 104 einen lange laufenden Workflow, wie etwa das Befüllen des Prozesstanks 122 on 1A-1B, anfordern. Das Server-Bot-Framework 210 kann Antworten asynchron erzeugen und an den Benutzer 104 (z.B. über einen hörbaren Alert oder einen hörbaren Hinweis), die Host-Anwendung 106 (z.B. über einen hörbaren Alert und/oder einen visuellen Hinweis auf einer Benutzerschnittstelle der Host-Anwendung 106) und/oder eines von den am Körper tragbaren Geräten 128, 130, 132 entweder nach Abschluss der Befüllung des Prozesstanks 122 und/oder an verschiedenen Meilensteinen der Befüllung des Prozesstanks 122 senden, beispielsweise wenn der Prozesstank 122 zu 25 % gefüllt ist, zu 50 % gefüllt ist, zu 75 % gefüllt ist, usw. In manchen Beispielen kann das Server-Bot-Framework 210 eine Antwort, die Informationen enthält, die dem lang laufenden Workflow zugeordnet sind, wie etwa eine Befüllungsrate des Prozesstanks 122, eine Strömungsrate durch das erste Feldgerät 116 von 1A-1B, eine Sensormessung des zweiten Feldgeräts 118 von 1A-1B usw., erzeugen und zusammen mit und/oder enthalten in der Warnung oder Mitteilung senden.
  • In dem dargestellten Beispiel von 2 schließt das Server-Bot-Framework 210 eine beispielhafte Framework-Steuerung 212, einen beispielhaften Parser 214, einen beispielhaften Analysator 216, einen beispielhaften Generator 218 und einen beispielhaften Ausführer 220 ein, um Interaktionen mit der Host-Anwendung 106 zu handhaben und/oder auf andere Weise zu managen. Alternativ dazu kann das Server-Bot-Framework 210 weniger oder mehr Komponenten aufweisen als in 2 dargestellt. Alternativ dazu können die Komponenten, die im Server-Bot-Framework 210 enthalten sind, das in 2 abgebildet ist, kombiniert, geteilt, umgeordnet, weggelassen, eliminiert und/oder auf irgendeine andere Weise implementiert werden.
  • In dem dargestellten Beispiel von 2 schließt das Server-Bot-Framework 210 die Framework-Steuerung 212 ein, um Interaktionen zwischen (1) dem Benutzer 104, der Host-Anwendung 106, einem der am Körper tragbaren Geräte 128, 130, 132 usw. und (2) dem Server-Bot-Framework 210 zu ermöglichen. In manchen Beispielen bestimmt die Framework-Steuerung 212 eine Konfiguration und/oder einen Typ von Anforderungsverwaltungssystem, das für die Verwaltung von Anforderungen verwendet werden soll. Zum Beispiel kann die Framework-Steuerung 212 bestimmen, dass die Kommunikation oder die Datenübertragungen mit dem Benutzer 104, der Host-Anwendung 106, den am Körper tragbaren Geräten 128, 130, 132 usw. auf Basis einer Anforderung/Antwort, Veröffentlichung/Subskription, einer Ereignisregistrierung mit Callbacks und/oder irgendeinem anderen Nachrichtenhandhabungsschema ermöglicht werden soll.
  • In manchen Beispielen bestimmt die Framework-Steuerung 212 ein Antwortverwaltungssystem, um Antworten auf die vom Benutzer 104, der Host-Anwendung 106 und/oder den am Körper tragbaren Geräten 128, 130, 132 empfangenen oder auf andere Weise erhaltenen Anforderungen 201a-b zu verwalten. Zum Beispiel kann die Framework-Steuerung 212 bestimmen, Antworten an den Benutzer 104, die Host-Anwendung 106 und/oder am Körper tragbaren Geräte 128, 130, 132 entweder asynchron oder synchron zu senden und/oder auf andere Weise zurückzumelden. Zum Beispiel kann die Framework-Steuerung 212 auf Basis der Bestimmung, dass die ursprüngliche Anforderung 201a-b vom Benutzer 104 ein relativ lange laufender Workflow (z.B. ein Befehl, eine Befüllung des Prozesstanks 122 von 1A-1B zu initiieren) ist, bestimmen, eine Antwort an den Benutzer 104 asynchron als Meldung zurückzusenden. In anderen Beispielen kann die Framework-Steuerung 212 auf Basis einer Bestimmung, dass die ursprüngliche Anforderung von der Host-Anwendung 106 eine Anforderung von Informationen (z.B. eine Anforderung von einer Version von Firmware, die dem ersten Feldgerät 116 von 1A-1B zugeordnet ist), bestimmen, eine Antwort an die Host-Anwendung 106 synchron zurückzumelden.
  • In dem dargestellten Beispiel von 2 schließt das Server-Bot-Framework 210 den Parser 214 ein zur Bestimmung und/oder anderweitigen Identifizierung von Elementen (z.B. unterschiedlichen Elementen, abgegrenzten Komponenten usw.), die in der Anforderung 201ab vom Benutzer 104, der Host-Anwendung 106 und/oder den am Körper tragbaren Geräten 128, 130, 132 enthalten sind. In manchen Beispielen schließt der Parser 214 einen Tokenizer ein, um eine Tokenisierung oder einen Prozess oder ein Verfahren zum Abgrenzen und/oder Klassifizieren von Abschnitte eine Folge von eingegebenen Symbolen durchzuführen. Zum Beispiel kann der Parser 214 eine Abfolge von Wörtern, die in der ersten Anforderung 201a vom Benutzer 104 enthalten sind, in Tokens zerbrechen oder aufteilen, die vom Analysator 216 zur Weiterverarbeitung empfangen werden. Außerdem oder alternativ dazu kann der Parser 214 Elemente der ersten Anforderung 201a auf irgendeine andere Weise bestimmen.
  • In manchen Beispielen führt der Parser 214 eine Dimensionsverkleinerung durch, um Elemente in der ersten Anforderung 201a, die keinen nennenswerten Erkennungswert durch das Server-Bot-Framework 210 hinzufügen, zu reduzieren und/oder auf andere Weise zu eliminieren. Zum Beispiel kann der Parser 214 belanglose oder nicht identifizierbare hörbare Geräusche aus der ersten Anforderung 201a vom Benutzer 104 filtern und/oder auf andere Weise eliminieren, um eine Menge oder Dauer von Verarbeitungsleistung, die erforderlich ist, um die erste Anforderung 201a durch das Server-Bot-Framework 210 zu verarbeiten, zu verringern. In anderen Beispielen kann der Parser 214 die Menge an Tokens, die zur Verarbeitung an den Analysator 216 übertragen werden, verringern. Zum Beispiel kann der Parser 214 Tokens, die nicht-brauchbaren, Füll- oder belanglosen Wörtern zugeordnet sind wie etwa „äh“, „der, die, das“, usw., aus der ersten Anforderung 201a vom Benutzer 104 eliminieren, bevor die bestimmten Tokens auf den Analysator 216 übertragen werden.
  • In manchen Beispielen identifiziert und/oder bestimmt der Parser 214 auf andere Weise Ausdrücke (z.B. reguläre Ausdrücke, typische Ausdrücke usw.) auf Basis der Anforderung vom Benutzer 104, von der Host-Anwendung 106 und/oder den am Körper tragbaren Geräten 128, 130, 132. Zum Beispiel kann der Parser 214 bestimmen, dass die Anforderung 201a-b auf einer generischen Frage basiert, wie etwa „Wie ist der Zustand von FIC-201?“, „Wo befindet sich FV-106?“ usw. In solchen Beispielen kann der Parser 214 typische Phrasen wie etwa „Wie ist der Zustand von“, „Wo befindet sich“ usw. bestimmen und eine Antwort auf Basis der angeforderten Komponente (z.B. FIC-201, FV-106 usw.), die der typischen Frage folgt, bestimmen. In manchen Beispielen schließt der Parser 214 Bilderkennungs-Hardware (z.B. einen oder mehrere Hardware-Beschleuniger) und/oder Software ein, um Elemente einer auf Gesten (z.B. einem Winken mit der Hand, einer Daumen-hoch-Geste, um eine Antwort vom VA 100 zu bestätigen, usw.) basierenden Anforderung zu identifizieren.
  • In manchen Beispielen führt der Parser 214 eine Informationsextraktion auf Basis der Anforderung 201a-b durch. Zum Beispiel kann der Parser 214 ein Feldgerät, eine Steuerschleife usw. das bzw. die der Anforderung 201a-b zugeordnet ist, auf Basis der Extraktion des Namens und/oder des Typs des angeforderten Feldgeräts identifizieren. In anderen Beispielen kann der Parser 214 einen Typ der Anforderung 201a-b (z.B. einen Befehl, eine Ortsbestimmungsanfrage, eine Wartungsschrittanfrage usw.) auf Basis der Extraktion von Informationen aus der Anforderung 201a-b identifizieren.
  • In dem dargestellten Beispiel von 2 schließt das Server-Bot-Framework 210 den Analysator 216 ein, um die Anforderung 201a-b vom Benutzer 104 von der Host-Anwendung 106, von den am Körper tragbaren Geräten 128, 130, 132 usw. zu validieren. In manchen Beispielen führt der Analysator 216 eine oder mehrere Validierungs- oder Verifizierungsprüfungen, einschließlich von Grammatikprüfungen, Rechtschreibprüfungen, semantischen Prüfungen usw. durch, um zu bestimmen, ob ein vom Parser 214 tokenisierter Ausdruck ein valider Ausdruck ist. Zum Beispiel kann der Analysator 216 bestimmen, ob der Parser 214 einen oder mehrere Tokens erzeugt hat, die, wenn sie zusammengesetzt werden, um einen Ausdruck zu bilden, eine valide Antwort durch den VA 100 zurückmelden können.
  • In dem dargestellten Beispiel von 2 schließt das Server-Bot-Framework 210 den Generator 218 ein, um einen Satz von Aktionen einschließlich einer oder mehrerer Suchen, Antworten, Skripte und/oder Templates zu kompilieren, zu erzeugen und/oder auf andere Weise zu produzieren. In manchen Beispielen führt der Generator 218 eine Suche auf Basis der Anforderung 201a-b durch. Zum Beispiel kann der Generator 218 eine Suche auf Basis einer Frage „Wie ist der Status von FIC-201?“ durchführen, auf die hin der Generator 218 eines der beispielhaften Systeme 222 von 2 nach dem Status durchsuchen, eine Beispielsantwort „Der Status von FIC-201 ist Schließen von FV-101“ auf Basis der Suche formulieren und die Beispielsantwort an den Benutzer 104, die Host-Anwendung 106, die am Körper tragbaren Geräten 128, 130, 132 usw. senden kann.
  • In manchen Beispielen kann der Generator 218 ein Skript und/oder ein Template auf Basis der Anforderung 201a-b erzeugen. In solchen Beispielen kann der Generator 218 das Skript oder das Template an den Ausführer 220 senden. Zum Beispiel kann die Anforderung 201a-b vom Benutzer 104 einem lang laufenden Workflow oder einem Workflow, der mehrere Schritte oder Abschlusspunkte aufweist, entsprechen. Zum Beispiel kann der vom Benutzer 104 angeforderte lang laufende Workflow sein „Was sind die Schritte zum Austauschen einer Dichtung am FV-105?“. In solchen Beispielen kann der Generator 218 ein Template auf Basis eines Feldgerätetyps, der FV-105 entspricht, einer Komponente des Feldgerätetyps, nach dem gefragt wird, und/oder einer Identifikation des Benutzers 104 erzeugen. Zum Beispiel kann das Template einen Satz von Schritten einschließen, die als einzelne Schritte organisiert worden sind, wobei jeder von den Schritten des Satzes eine oder mehrere Anweisungen, um den Schritt durchzuführen, ein oder mehrere Werkzeuge zur Durchführung des Schrittes und/oder einen oder mehrere Validierungsschritte, die gewährleisten, dass die eine oder die mehreren Anweisungen korrekt durchgeführt werden, beinhaltet. In solchen Beispielen kann das Template eine Antwort für jeden der Schritte enthalten, die an den Benutzer 104 übermittelt werden kann, wenn der Benutzer 104 bestätigt, dass der Schritt abgeschlossen wurde oder falls der Benutzer 104 zusätzliche Informationen anfordert. Zum Beispiel kann die Antwort aus Informationen bestehen, die dem nächsten Schritt zugeordnet sind, oder kann eine Antwort auf eine Frage (z.B. die Anforderung 201a-b) vom Benutzer 104 sein, die dem gerade durchgeführten aktuellen Schritt, einem Werkzeug, das dem aktuellen Schritt entspricht, usw. zugeordnet ist.
  • In manchen Beispielen formuliert der Generator 218 eine Antwort, um zusätzliche Informationen von einer Quelle der Anforderung anzufordern. Zum Beispiel kann der Generator 218 eine Antwort an den Benutzer 104, der nach einer Klärung oder nach zusätzlichen Informationen fragt, erzeugen, wenn der Benutzer 104 Informationen in Bezug auf ein Feldgerät anfordert, das nicht im Prozesssteuerungssystem 102 enthalten ist, verlangt, eine Aktion an einem Feldgerät durchzuführen, das nicht von dem Feldgerät unterstützt wird, usw. In solchen Beispielen kann der Generator 218 zusätzliche Informationen vom Benutzer 104 verlangen, um eine Richtigkeit der vom Server-Bot-Framework 210 verarbeiteten Anforderung zu verifizieren. In manchen Beispielen bestimmt der Generator 218, dass die Anforderung eine falsche Anforderung ist (z.B. eine häufig empfangene falsche Anforderung), und erzeugt eine Antwort, die eine vorgeschlagene Alternative zu der Anforderung 201a-b und/oder entsprechende Informationen beinhaltet, die beschreiben, warum die ursprüngliche Anforderung 201a-b falsch ist, und/oder warum die vorgeschlagene Alternative anstelle der ursprünglichen Anforderung 201a-b ausgeführt werden kann.
  • In dem dargestellten Beispiel von 2 schließt das Server-Bot-Framework 210 den Ausführer 220 ein, um eine Aktion oder einen Befehl auf Basis einer Anforderung vom Benutzer 104 von der Host-Anwendung 106, von den am Körper tragbaren Geräten 128, 130, 132 usw. zu ermöglichen. Zum Beispiel kann der Ausführer 220 ein Skript, ein Template usw. vom Generator 218 empfangen. In manchen Beispielen löst der Ausführer 220 ein Skript, ein Template und/oder eine Aktion auf Basis der Anforderung 201a-b aus und/oder initiiert ein solches bzw. eine solche auf andere Weise. Zum Beispiel kann der Ausführer 220 einen Befehl auf Basis einer als JavaScript Object Notation (JSON) formatierten Befehlsstruktur an eine beispielhafte Konversationskontextmaschine 224 senden. Als Antwort auf das Senden kann die Konversationskontextmaschine 224 einen Befehl zum Öffnen des ersten Feldgeräts 116 von 1A als Antwort darauf, dass der Benutzer 104 verlangt, das erste Feldgerät 116 zu öffnen, erzeugen. In anderen Beispielen kann der Ausführer 220 ein Template auslösen, um den Prozesstank 122 von 1A-1B zu füllen, und Hinweise an einem oder mehreren Schritten oder Abschlusspunkten des Template erzeugen. Zum Beispiel kann der Ausführer 220 ein Skript, ein Template usw. an die Konversationskontextmaschine 224 senden, um eine Befüllung des Prozesstanks 122 auszulösen. In anderen Beispielen kann der Ausführer 220 ein Skript als Antwort darauf auslösen, dass der Benutzer 104 Informationen verlangt, die dem ersten Feldgerät 116, dem zweiten Feldgerät 118 usw. zugeordnet sind.
  • In manchen Beispielen aktualisiert der Ausführer 220 ein beispielhaftes Modell 243, das in einer beispielhaften Konversationskontext-Datenbank 244 enthalten und/oder auf andere Weise gespeichert ist. In manchen Beispielen schließt die Konversationskontext-Datenbank 244 mehr als ein Modell 243 ein. Zum Beispiel können die Modelle 243 einem oder mehreren Maschinenlernmodellen, einem oder mehreren Netzwerken (z.B. künstlichen neuronalen Netzen) usw. entsprechen. Zum Beispiel kann der Ausführer 220 das Modell 243 aktualisieren, das verwendet wird, um Anforderungen vom Benutzer 104, von der Host-Anwendung 106, von einem oder mehreren von den am Körper tragbaren Geräten 128, 130, 132 usw. zu verarbeiten In solchen Beispielen kann der Ausführer 220 eine beispielhafte Konversationskontextmaschine 224 auslösen, um das Modell 243 zu aktualisieren, das in der Konversationskontext-Datenbank 244 enthalten ist, die dem VA 100 zugeordnet ist. In manchen Beispielen wird das Modell 243 auf Basis einer neuen Konfiguration des Prozesssteuerungssystems 102 von 1A-1B umkonfiguriert, aktualisiert usw. Zum Beispiel kann das Prozesssteuerungssystem 102 durch Entfernen und/oder Hinzufügen eines oder mehrerer Feldgeräte, durch Modifizieren einer oder mehrerer Steuerschleifen usw., die Antworten beeinflussen können, die vom Server-Bot-Framework 210 und/oder allgemeiner vom VA 100 erzeugt werden, modifiziert werden.
  • Das (mindestens eine) Modell 243, das in der Konversationskontext-Datenbank 244 gespeichert ist, kann einem künstlichen neuronalen Netzwerk entsprechen. Ein künstliches neuronales Netzwerk ist ein Computersystemarchitekturmodell, das auf Basis einer Evaluierung oder einem „Lernen“ von Beispielen, die bekannte Inputs und bekannte Outputs haben, lernt, Aufgaben zu erfüllen und/oder Antworten zu liefern. Ein neuronales Netzwerk wie etwa das (mindestens eine) Modell 243, das in der Konversationskontext-Datenbank 244 gespeichert ist, kann eine Reihe von untereinander verbundenen Knoten, die als „Neuronen“ oder Knoten bezeichnet werden, aufweisen. Eingabeknoten werden von einer Quelle/einem Stimulus von außen aktiviert, wie etwa von Eingaben vom Ausführer 220 (z.B. der Anforderung 201a-b vom Benutzer 104, einer Antwort, die vom Generator 218 erzeugt wird, usw.). Die Eingabeknoten aktivieren andere interne Netzknoten gemäß Verbindungen zwischen Knoten (z.B. gelenkt durch Maschinenparameter, früheren Beziehungen usw.). Die Verbindungen sind dynamisch und können sich auf Basis von Feedback, Training usw. ändern. Durch Ändern der Verbindungen kann eine Ausgabe des künstlichen neuronalen Netzwerks verbessert oder optimiert werden, um exaktere/maximal exakte Ergebnisse zu produzieren. Zum Beispiel kann das (mindestens eine) Modell 243, das in der Konversationskontext-Datenbank 244 gespeichert ist, anhand von Informationen von einer oder mehreren Quellen trainiert werden, um Eingaben auf eine Antwort abzubilden, usw., um eine Genauigkeit einer Antwort zu verbessern, eine Zeit zu verkürzen, die es dauert, um die Antwort zu erzeugen, usw. oder eine Kombination davon.
  • Maschinenlerntechniken, seien es neuronale Netze, Deep-Learning-Netze, Support Vector Machines und/oder (mindestens ein) anderes auf Versuchen/Beobachtungen basierendes Lernsystem, können beispielsweise verwendet werden, um optimale Ergebnisse zu erzeugen, ein Objekt in einem Bild zu lokalisieren, Sprache zu verstehen und Sprache in Text umzuwandeln und die Relevanz von Suchmaschinenergebnissen zu verbessern. Deep Learning ist eine Untergruppe des Maschinenlernens, die einen Satz von Algorithmen verwendet, um Abstraktionen an Daten auf hoher Ebene unter Verwendung eines Deep Graph mit mehreren Verarbeitungsschichten, die lineare und nicht-lineare Informationen enthalten, zu modellieren. Auch wenn viele Maschinenlernsysteme mit anfänglichen Merkmalen und/oder Netzgewichten versehen werden, um durch Lernen und Aktualisieren des Maschinenlernnetzes modifiziert zu werden, trainiert ein Deep Learning Netzwerk sich selbst, um „gute“ Merkmale für die Analyse zu identifizieren. Anhand einer Mehrschichtenarchitektur können Maschinen, die Deep-Learning-Techniken nutzen, Rohdaten besser verarbeiten als Maschinen, die herkömmliche Maschinenlerntechniken nutzen. Die Überprüfung von Daten auf Gruppen von hoch korrelierten Werten oder abgegrenzten Themen wird unter Verwendung unterschiedlicher Evaluierungs- oder Abstraktionsebenen ermöglicht.
  • Zum Beispiel segmentiert Deep Learning, das ein gefaltetes neuronales Netzwerk (CNN) nutzt, Daten unter Verwendung gefalteter Filter, um erlernte, beobachtbare Merkmale in den Daten zu lokalisieren und zu identifizieren. Jedes Filter oder jede Schicht der CNN-Architektur transformiert die Eingangsdaten, um die Selektivität und die Invarianz der Daten zu erhöhen. Diese Abstraktion der Daten ermöglicht der Maschine die Fokussierung auf die Merkmale in den Daten, die sie zu klassifizieren versucht, und das Ignorieren irrelevanter Hintergrundinformationen.
  • Deep Learning operiert auf Basis der Erkenntnis, dass viele Datensätze Merkmale hoher Ebenen einschließen, die Ebenen niedriger Ebenen einschließen. Während ein Bild (z.B. ein Bild einer auf einer Geste basierenden Anforderung) untersucht wird, ist es beispielsweise effizienter, statt nach einem Objekt zu suchen, nach Rändern zu suchen, die Motive bilden, die Teile bilden, die das gesuchte Objekt bilden. Diese Hierarchien von Merkmalen finden sich in vielen verschiedenen Formen von Daten.
  • Erlernte beobachtbare Merkmale schließen Objekte und quantifizierbare Regelmäßigkeiten ein, die von der Maschine während eines überwachten Lernens erlernt werden. Eine Maschine, die mit einem großen Satz gut klassifizierter Daten versehen ist, ist besser gerüstet, die Merkmale zu unterscheiden und zu extrahieren, die für eine erfolgreiche Klassifizierung neuer Daten wichtig sind. Eine Deep-Learning-Maschine, die Transferlernern anwendet, kann Datenmerkmale korrekt mit bestimmten Klassifikationen verbinden, die von einem menschlichen Experten bestätigt werden. Umgekehrt kann die gleiche Maschine, wenn sie von einem menschlichen Experten über eine nicht korrekte Klassifikation informiert wird, die Parameter für die Klassifikation aktualisieren. Einstellungen und/oder andere Konfigurationsinformationen können beispielsweise durch eine erlernte Nutzung von Einstellungen und/oder anderen Konfigurationsinformationen gelenkt werden, und je öfter ein System verwendet wird (z.B. wiederholt und/oder von mehreren Benutzern), kann eine Anzahl von Variationen und/oder anderen Möglichkeiten für Einstellungen und/oder andere Konfigurationsinformationen für eine bestimmte Situation verringert werden.
  • Ein beispielhaftes neuronales Netzwerk für Deep Learning kann beispielsweise an einem Satz von durch Experten klassifizierten Daten trainiert werden. Dieser Satz von Daten errichtet den ersten Parameter für das neuronale Netz, und dies wäre das Stadium des überwachten Lernens. Während der Stadiums des überwachten Lernens kann das neuronale Netzwerk darauf geprüft werden, ob ein gewünschtes Verhalten übernommen wurde. Sobald das gewünschte Verhalten des neuronalen Netzwerks erreicht wurde (z.B. wurde eine Maschine trainiert, gemäß einem vorgegebenen Schwellenwert zu operieren, usw.) kann die Maschine für den Einsatz freigegeben werden (z.B. zum Testen der Maschine mit „echten“ Daten usw.). Während des Betriebs können Klassifikationen neuronaler Netze bestätigt oder abgewiesen werden (z.B. durch einen erfahrenen Benutzer, ein Expertensystem, eine Bezugsdatenbank usw.), um damit fortzufahren, das Verhalten des neuronalen Netzwerks zu verbessern. Das (mindestens eine) Modell 243, das in der Konversationskontext-Datenbank 244 enthalten ist, ist dann in einem Zustand des Transfer-Lernens, da Parameter für die Klassifizierung, die ein Verhalten des neuronalen Netzwerks bestimmen, auf Basis laufender Interaktionen aktualisiert werden. In bestimmten Beispielen kann das künstliche neuronale Netz, wie etwa das (mindestens eine) Modell 243, das in der Konversationskontext-Datenbank 244 gespeichert ist, ein direktes Feedback für einen anderen Prozess, wie etwa die Elemente, die vom Parser 214 geparst werden, die Antworten, die vom Generator 218 erzeugt werden, usw. bereitstellen. In bestimmten Beispielen gibt das (mindestens eine) Modell 243 Daten aus, die zwischengespeichert (z.B. über die Cloud usw.) und validiert werden, bevor sie einem anderen Prozess bereitgestellt werden.
  • In manchen Beispielen aktualisiert der Ausführer 220 ein Ziel auf Basis der Anforderung 201a-b vom Benutzer 104 von der Host-Anwendung 106, von den am Körper tragbaren Geräten 128, 130, 132 usw. Zum Beispiel kann der Ausführer 220 ein Ziel eines Template, eines Skripts usw. auf Basis einer Anforderung vom Benutzer 104 aktualisieren, um eine Aktion, einen Prozess, eine Operation usw., die bzw. der einer vorherigen Anforderung zugeordnet ist, zu streichen. Zum Beispiel kann der Benutzer 104 den VA 100 in einer ersten Anforderung auffordern, den Prozesstank 122 von 1A-1B zu füllen, und den VA 100 in einer zweiten Anforderung auffordern, das Befüllen des Prozesstanks 122 zu streichen, wobei die erste Anforderung vor der zweiten Anforderung gestellt wird. In solchen Beispielen kann der Ausführer 220 einen Befehl erzeugen, um die Befüllung des Prozesstanks 122 durch Streichen und/oder anderweitiges Stoppen eines Skripts, eines Templates usw., das als Antwort auf die erste Anforderung erzeugt wurde, zu stoppen. In manchen Beispielen erzeugt der Ausführer 220 Aktionen als Antwort auf die Aktualisierung des Ziels. Zum Beispiel kann der Ausführer 220 einen Befehl zum Spülen des Prozesstanks 122 als Antwort darauf erzeugen, dass der Benutzer 104 verlangt, die Befüllung des Prozesstanks 122 zu stoppen. In solchen Beispielen kann der Ausführer 220 Informationen, die dem Befehl zugeordnet sind, an den Benutzer 104 übermitteln, um sicherzustellen, dass der Benutzer 104 den Befehl gut heißt, bevor der Ausführer 220 eine Ausführung des Befehls ermöglicht
  • In manchen Beispielen aktualisiert der Ausführer 220 einen Dialog oder einen Antwortplan. Zum Beispiel kann der Ausführer 220 ein Skript oder ein Template auf Basis der Anforderung 201a-b vom Benutzer 104, von der Host-Anwendung 106, von den am Körper tragbaren Geräten 128, 130, 132 usw. erzeugen. Zum Beispiel kann der Ausführer 220 ein Skript auf Basis dessen erzeugen, dass der Benutzer 104 fragt: „Wie ist der Status von FV-105?“. Der Ausführer 220 kann das Skript erzeugen, so dass dieses Antworten oder Ebenen von Antworten auf mögliche Fragen, die der Benutzer 104 in Verbindung mit FV-105, einem Gerät, das mit FV-105 gekoppelt ist, oder einer Steuerschleife, die FV-105 enthält, stellen kann. In solchen Beispielen kann der Ausführer 220 einen Dialog, der dem Skript zugeordnet ist, aktualisieren, wenn der Benutzer 104 eine Folgefrage auf eine vom Generator 218, vom Ausführer 220 usw. erzeugte und übermittelte Antwort stellt. Zum Beispiel kann der Ausführer 220 auf Basis dessen, dass der Benutzer 104 in einer Folgeanfrage nach spezifischeren Informationen fragt, bestimmen, dass der Benutzer 104 von einer ersten Ebene von Fragen und entsprechenden Antworten zu einer zweiten Ebene von Fragen und entsprechenden Antworten übergegangen ist,
  • In dem dargestellten Beispiel von 2 kann der Benutzer 104 mit dem VA 100 über eine beispielhafte DCS-Steuerungsbaugruppe 226 interagieren. Zum Beispiel kann die DCS-Steuerungsbaugruppe 226 ein Emerson™ DeltaV™ S-Series DCS-System sein. Zum Beispiel kann es sich bei der DCS-Steuerungsbaugruppe 226 um eine oder mehrere programmierbare Logiksteuerungen (PLC) oder irgendeine andere Prozesssteuerung handeln, die für eine Industrie- oder Prozessautomation verwendet wird. Alternativ dazu kann die DCS-Steuerungsbaugruppe 226 irgendeine andere Art von DCS-System sein. Die DCS-Steuerungsbaugruppe 226 von 2 schließt eine erste Steuerung 228 und eine zweite Steuerung 230 ein. In 2 sind die erste und die zweite Steuerung 228, 230 Characterization Module(CHARM)-I/O-Karten (CIOC). Alternativ dazu kann jede andere Anzahl oder Art von elektronischen Steuerungen verwendet werden. Die erste und die zweite Steuerung 228, 230 führen Datenerfassungs- und Kontrolloperationen durch, wie etwa eine Anforderung und Verarbeitung von Sensormesswerten, ein Senden der Sensormesswerte an eine externe Steuerung und/oder ein externes DCS usw. Zum Beispiel können die erste und die zweite Steuerung 228, 230 im Prozesssteuerungssystem 102 von 1A enthalten sein, um das erste Feldgerät 116, das zweite Feldgerät 118 usw. zu steuern und zu überwachen.
  • Die erste und die zweite Steuerung 228, 230 von 2 sind über Klemmleisten 234 elektrisch mit I/O-Modulen 232 gekoppelt. Die I/O-Module 232 sind lösbar mit den Klemmenleisten 234 gekoppelt. Die I/O-Module 232 von 2 sind CHARMs. Alternativ dazu kann jede andere Art von Eingabe- und/oder Ausgabemodul, das für eine Datenerfassung und eine Kontrolle verwendet wird, verwendet werden. Jedes CHARM ist ein individueller Eingabe- und/oder Ausgabekanal für die erste und die zweite Steuerung 228, 230. Zum Beispiel kann jedes von den I/O-Modulen 232 ein analoger Eingabe- oder Ausgabekanal, ein digitaler Eingabe- oder Ausgabekanal, ein Relaiskanal usw. sein. Jedes von den I/O-Modulen 232 kann eine Analog-zu-Digital(A/D)-Umwandlungsschaltung, eine Signalisolierungsschaltung usw. einschließen.
  • In dem dargestellten Beispiel von 2 ist ein erstes von den I/O-Modulen 236 ein VA-Modul. In manchen Beispielen kann das VA-Modul 236 eine Interaktion der DCS-Steuerungsbaugruppe 226 mit (1) dem VA 100 über das Netzwerk 126, (2) einer oder mehreren von den Baken 134a-g und/oder (3) einem oder mehreren von den am Körper tragbaren Geräten 128, 130, 132 von 1B ermöglichen. Zum Beispiel kann das erste am Körper tragbare Gerät 128 die erste Anforderung 201a an die erste Bake 134a senden, die ihrerseits die Frage an das VA-Modul 236 senden kann, das seinerseits den VA 100 über das Netzwerk 126 nach Informationen fragen kann, die dem Feldgerät 118 von 1A-1B zugeordnet sind. In solchen Beispielen kann das VA-Modul 236 die Informationen in einer Massenspeicherplatte oder einer Speichervorrichtung, die in der DCS-Steuerbaugruppe 226 enthalten ist, speichern und/oder die Informationen an den Benutzer 104 übermitteln. Zum Beispiel kann das VA-Modul 236 eine Interaktion des Benutzers 104 mit dem VA 100 ermöglichen (z.B. Informationen zum Benutzer 104 übermitteln und/oder die erste Anforderung 201a von diesem erhalten). zum Beispiel kann das VA-Modul 236 einen oder mehrere Lautsprecher und/oder ein oder mehrere Mikrofone aufweisen. In solchen Beispielen kann das VA-Modul 236 das eine oder die mehreren Mikrofone verwenden, um die erste Anforderung 201a vom Benutzer 104 zu hören und/oder auf andere Weise zu erhalten. Das VA-Modul 236 kann den einen oder die mehreren Lautsprecher verwenden, um eine Antwort auf die erste Anforderung 201a an den Benutzer 104 zu übermitteln oder auf andere Weise zu senden.
  • In manchen Beispielen übersetzt das VA-Modul 236 die erste Anforderung 201a in ein oder mehrere digitale Signale, die über das Netzwerk 126 von 1A-1 B an das Server-Bot-Framework 210 gesendet werden können. Als Antwort darauf, dass das Server-Bot-Framework 210 das eine oder die mehreren digitalen Signale empfängt, kann das Server-Bot-Framework 210 das eine oder die mehreren digitalen Signale über den Parser 214 in Tokens umwandeln. Das Server-Bot-Framework 210 kann die Tokens analysieren, eine Antwort auf Basis der Tokens bestimmen und die Antwort in ein oder mehrere digitale Signale umwandeln, die über das Netzwerk 126, die DCS-Steuerungsbaugruppe 226 usw. an das VA-Modul 236 gesendet werden sollen. Als Antwort darauf, dass das VA-Modul 236 das eine oder die mehreren digitalen Signale empfängt, wandelt das VA-Modul 236 das eine oder die mehreren digitalen Signale über den einen oder die mehreren Lautsprecher, die im VA-Modul 236 enthalten sind, in Töne um, um die Antwort an den Benutzer 104 zu übermitteln.
  • Alternativ dazu können die Funktionen des VA-Moduls 236 in die erste Steuerung 228 und/oder die zweite Steuerung 230 aufgenommen und/oder anderweitig integriert werden. Zum Beispiel kann bzw. können das eine oder die mehreren Mikrofone und/oder der eine oder die mehreren Lautsprecher in die DCS-Steuerungsbaugruppe 226, die erste Steuerung 228 und/oder die zweite Steuerung 230 integriert werden, in manchen Beispielen ist das VA-Modul 236 ein eigenständiges Gerät, das kommunikativ mit mindestens einem von der DCS-Steuerungsbaugruppe 226 (z.B. über eine drahtgebundene Verbindung, eine drahtlose Verbindung usw.), einer oder mehreren von den Baken 134a-g und/oder dem VA 100 gekoppelt sein kann.
  • In dem dargestellten Beispiel von 2 schließt der VA 100 die Konversationskontextmaschine 224 ein, um Anforderungen vom Benutzer 104, von der Host-Anwendung 106, den am Körper tragbaren Geräten 128, 130, 132, der DCS-Steuerungsbaugruppe 226 usw. auf Basis von Konversationskontext zu verwalten und/oder anderweitig zu verarbeiten. Zum Beispiel kann der Benutzer 104 den VA 100 nach Informationen und/oder einem Status fragen, die der ersten Steuerung 228, der zweiten Steuerung 230 usw. der DCS-Steuerungsbaugruppe 226 zugeordneten sind. In solchen Beispielen kann der Status einer Funktionsfähigkeit der ersten Steuerung 228, einer Firmware-Version der zweiten Steuerung 230, einer Funktionsfähigkeit von einem oder mehreren der I/O-Module 236 usw. entsprechen. In manchen Beispielen entspricht eine Konversation einer Interaktion mit dem VA 100. Zum Beispiel kann eine Konversation dem entsprechen, dass der Benutzer 104 über die Baken 134a-g, die am Körper tragbaren Geräte 128, 130, 132, das VA-Modul 236 usw. Informationen verbal übermittelt und/oder vom VA 100 empfängt, in anderen Beispielen kann die Konversation dem entsprechen, dass die Host-Anwendung 106 Anforderungen an den VA 100 sendet und/oder Antworten von diesem empfängt. In manchen Beispielen wird die Konversationskontextmaschine 224 durch einen oder mehrere prozessorbasierte Server implementiert. In manchen Beispielen werden das Server-Bot-Framework 210 und die Konversationskontextmaschine 224 durch denselben einen oder dieselben mehreren prozessorbasierten Server implementiert. In anderen Beispielen wird das Server-Bot-Framework 210 von einem oder mehreren prozessorbasierten Servern implementiert, die von dem einen oder den mehreren prozessorbasierten Servern, welche die Konversationskontextmaschine 224 implementieren, getrennt sind.
  • In manchen Beispielen entspricht der Konversationskontext Anforderungen, Antworten usw., die Prozessindustrien zugeordnet sind, einschließlich Chemiewerken, Fertigungsanlagen, Ölfeldumgebungen usw. In manchen Beispielen kann die Konversationskontextmaschine 224 und/oder allgemeiner der VA 100 Antworten unter Verwendung von Konversationskontext auf Basis einer Systemkonfiguration erzeugen, die dem Prozesssteuerungssystem 102 von 1A-1B zugeordnet ist. Zum Beispiel kann die Konversationskontextmaschine 224 Antworten auf Anforderungen vom Benutzer 104, von der Host-Anwendung 106, von den am Körper tragbaren Geräten 128, 130, 132 usw. auf Basis einer Prozesssteuergerätkonfiguration (z.B. einer DeltaV-Datenbankkonfiguration), einer Anlagenverwaltungssoftware(AMS)-Datenbank, eines Rezepts und/oder anderer prozessrelevanter Informationen erzeugen.
  • Die Konversationskontextmaschine 224 von 2 schließt einen beispielhaften Konversationsprozessor 238, einen beispielhaften Aktionsprozessor 240 und einen beispielhaften Konversationsszustands-Handler 242 ein, um Anforderungen, die vom Server-Bot-Framework 210 verarbeitet werden, zu verarbeiten und/oder anderweitig zu verwalten. Zum Beispiel kann die Konversationskontextmaschine 224 einen Kontext auf Basis einer Konfiguration des Prozesssteuerungssystems 102 erstellen, ein Thema identifizieren, das dem Kontext zugeordnet ist (z.B. eine Anforderung, die dem ersten Feldgerät 116, dem zweiten Feldgerät 118 usw. zugeordnet ist), und eine oder mehrere Aktionen bestimmen, die dem Thema zugeordnet sind. Zum Beispiel kann die Konversationskontextmaschine 224 bestimmen, dass der Kontext der Anforderung 201a-b vom Benutzer 104, von der Host-Anwendung 106, von den am Körper tragbaren Geräten 128, 130, 132 usw. das Prozesssteuerungssystem 102 von 1A-1B ist. Die Konversationskontextmaschine 224 kann prozesszentrische Antworten auf Basis der Bestimmung, dass der Kontext der Anforderung das Prozesssteuerungssystem 102 ist, maßschneidern und/oder auf andere Weise erzeugen. Die Konversationskontextmaschine 224 kann durch Abbilden eines identifizierten Themas, das in der Anforderung enthalten ist, auf die Konfiguration, die in die Datenbank 124 von 1A-1B, die Konversationskontext-Datenbank 244 von 2 usw. geladen ist, bestimmen, dass der Kontext der Anforderung das Prozesssteuerungssystem 102 ist. In solchen Beispielen kann die Konversationskontextmaschine 224 ein oder mehrere Skripte ausführen, um die eine oder die mehreren Aktionen durchzuführen, Informationen, die dem Thema zugeordnet sind, zurückzumelden, usw. oder eine Kombination davon.
  • In dem dargestellten Beispiel von 2 schließt die Konversationskontextmaschine 224 den Konversationsprozessor 238 ein, um Skripte oder andere Listen automatisierter Aufgaben zu assemblieren, zu kompilieren und/oder andere Weise zusammenzustellen, wobei jede Aufgabe eine oder mehrere Aktionen beinhaltet. Zum Beispiel kann der Konversationsprozessor 238 die Anforderung 201a-b vom Benutzer 104 über das Server-Bot-Framework 210 erhalten. Der Konversationsprozessor 238 kann eine oder mehrere Aktionen, einen oder mehrere Parameter zum Rückmelden (z.B. einen oder mehrere Werte von Parametern zum Rückmelden) usw. und/oder eine Kombination davon auf Basis der Anforderung identifizieren. Zum Beispiel kann der Benutzer 104 eine Anforderung stellen wie „Zeige mit FV-105“. Das Server-Bot-Framework 210 kann die Anforderung verarbeiten und die verarbeitete Anforderung an den Konversationsprozessor 238 senden. Der Konversationsprozessor 238 kann die Anforderung als Anforderung von Informationen identifizieren, die einem Feldgerät zugeordnet sind, das die Bezeichnung FV-105 erhalten hat. In solchen Beispielen ruft der Konversationsprozessor 238 Parameter, die dem Feldgerät zugeordnet sind, einschließlich von MODE, OUT, STATUS usw. ab, stellt die abgerufenen Parameter in einer Antwort zusammen und sendet die Antwort an den Benutzer 104 über das Server-Bot-Framework 210. In manchen Beispielen wird die Antwort dem Benutzer 104 über eine verbale Kommunikation übermittelt. In manchen Beispielen wird die Antwort dem Benutzer 104 über die Host-Anwendung 106 übermittelt (z.B. durch Anzeigen der Antwort auf einem Display, Übermitteln der Antwort mit einer Lautsprecher, der mit einer Rechenvorrichtung gekoppelt ist, usw.).
  • Der Konversationsprozessor 238 von 2 stellt Skripte auf Basis von Informationen zusammen, die aus der beispielhaften Konversationskontext-Datenbank 244 abgerufen und/oder auf andere Weise erhalten wurden. In manchen Beispielen frägt der Konversationsprozessor 238 die Konversationskontext-Datenbank 244 auf Basis eines Beispielsthemas 246 nach Informationen ab. Zum Beispiel kann der Konversationsprozessor 238 das Thema 246 auf Basis eines Namens oder einer Beschreibung eines Feldgeräts, eines Feldgerätetyps usw., auf Informationen abbilden, die in der Konversationskontext-Datenbank 244 enthalten sind. In solchen Beispielen kann der Konversationsprozessor 238 das Thema 246 einschließlich eines Namens oder einer Beschreibung eines Feldgeräts (z.B. FV-105, FIC-205 usw.) auf eine beispielhafte Konfiguration 248a, ein beispielhaftes Skript 248b usw., die dem Thema 246 zugeordnet sind, abbilden. Zum Beispiel kann der Konversationsprozessor 238 einen MODE-, OUT- und STATUS-Parameter für das erste Feldgerät 116 von 1A-1B als Antwort auf das Abbilden des Themas 246 von FV-105, das dem ersten Feldgerät 116 zugeordnet ist, auf die Konversationskontext-Datenbank 244 für FV-105 erhalten.
  • In einigen Beispielen bildet der Konversationsprozessor 238 das Thema 246, das einen Typ eines Feldgeräts (z. B. ein Ventil, einen Drucktransmitter, einen Prozesstank usw.) enthält, in einer Konfiguration, einem Skript usw. ab, die dem Thema 246 zugeordnet sind. Beispielsweise kann der Konversationsprozessor 238 eine Liste von Feldgeräten erhalten, die mit dem Thema 246 übereinstimmen und/oder diesem anderweitig zugeordnet sind. In solchen Beispielen kann der Konversationsprozessor 238 eine Liste von Ventilen einschließlich FV-101, FV-102, FV-103 usw. von 1A erhalten, indem das Thema 246 „Ventil“ (z. B. eine Anforderung des Benutzers 104, wie z. B. „Welche Ventile arbeiten?“) basierend im identifizierten Kontext des Prozesssteuerungssystems 102 in der Konversationskontext-Datenbank 244 abgebildet wird.
  • In einigen Beispielen aggregiert und/oder erzeugt der Konversationsprozessor 238 auf andere Weise ein Skript, ein Template usw., indem er eine oder mehrere beispielhafte Aktionen 250 aus der Konversationskontext-Datenbank 244 basierend auf dem Thema 246 abruft. Beispielsweise kann der Konversationsprozessor 238 das Thema 246 (z. B. einen Namen, einen Vorrichtungstyp usw.) in der Konversationskontext-Datenbank 244 abbilden. Basierend auf der Abbildung kann der Konversationsprozessor 238 eine oder mehrere Aktionen 250 aus der Konversationskontext-Datenbank 244 abrufen und das Skript, das Template usw. basierend auf den abgerufenen Aktionen 250 erzeugen. In einigen Beispielen sind die Aktionen 250 Basisaktionen. Beispielsweise kann eine Basisaktion einer Aktion des Typs Eins-zu-Eins-Befehlsanforderung entsprechen. wie beispielsweise einer Anforderung zum Öffnen eines Ventils und einem entsprechenden Befehl zum Öffnen des Ventils. In anderen Beispielen kann die Basisaktion einer Informationsanforderung (z. B. einem Parameterwert, Sicherheitsinformationen usw.) entsprechen. Beispielsweise kann eine Basisaktion einer Einszu-Eins-Informationsanforderung entsprechen, wie beispielsweise einer Anforderung aktueller Sicherheitswarnungen und einer entsprechenden Anforderung, die eine oder mehrere Sicherheitswarnungen oder eine Bestätigung enthält, dass keine Sicherheitswarnungen zu melden sind.
  • In einigen Beispielen sind die Aktionen 250 komplexe Aktionen. Beispielsweise kann eine komplexe Aktion einem Workflow entsprechen, der zwei oder mehr Aktionen enthält, wie beispielsweise eine Anforderung, den Prozesstank 122 von 1A-1B zu füllen. In solchen Beispielen umfasst die komplexe Aktion eine Aktion zum Öffnen von FV-101 und/oder FV-102 von 1A-1B, wobei eine Durchflussratenmessung über FI-201 und/oder FI-202 erhalten und ein Füllstand des Prozesstanks 122 über FI-206, FI-207 und/oder FI-208 gemessen wird. Beispielsweise kann der Konversationsprozessor 238 die komplexe Aktion erhalten, die der Anforderung zum Füllen des Prozesstanks 122 zugeordnet ist, und ein Skript zum Ausführen der komplexen Aktion basierend auf der abgerufenen komplexen Aktion, welche die zugeordneten Aktionen 250 enthält, erzeugen. In einigen Beispielen enthalten die Aktionen 250 ein Skript zum Ausführen der Basisaktion, der komplexen Aktion usw.
  • In dem dargestellten Beispiel von 2 umfasst die Konversationskontextmaschine 224 den Aktionsprozessor 240, um ein vom Konversationsprozessor 238 erzeugtes Skript auszuführen und/oder auf andere Weise zu erleichtern. In einigen Beispielen führt der Aktionsprozessor 240 ein Skript oder einen Satz von Befehlen, Anweisungen usw. aus, indem er mit einem oder mehreren der Systeme 222 von 2 interagiert. Die Systeme 222 von 2 enthalten ein beispielhaftes Prozesssteuerungssystem 252 und ein beispielhaftes Prozesssteuerungs-Netzwerksystem 254. Alternativ können die Systeme 222 weniger oder mehr Systeme als in 2 gezeigt enthalten.
  • Das Prozesssteuersystem 252 von 2 ist ein System, das Aspekte einer Operation überwacht und/oder steuert, die in einer Prozessumgebung ausgeführt werden soll, wie beispielsweise die Herstellung von Komponenten, die Verarbeitung von chemischen Rohmaterialien usw. Beispielsweise kann das Prozesssteuerungssystem 252 von 2 dem Prozesssteuerungssystem 102 von 1A-1B entsprechen. Das Prozesssteuersystem 252 von 2 kann mindestens eine Steuerung (z. B. die erste Steuerung 228, die zweite Steuerung 230 usw.) mit zugehörigen Eingaben und Ausgaben enthalten, wodurch die Steuerung(en) Signale von verschiedenen Eingabefeldgeräten und/oder Instrumenten erfassen und verschiedene Ausgangsfeldgeräte und/oder -instrumente steuern können. Beispielsweise kann das Prozesssteuersystem 252 von 2 einem Emerson™ DeltaV™ Verteiltem Steuerungssystem (DCS) mit mindestens einer Emerson™ DeltaV™ Steuerung entsprechen.
  • In einigen Beispielen erleichtert der Aktionsprozessor 240 die Ausführung eines Skripts durch Erzeugen und/oder Übertragen von Befehlen an das Prozesssteuerungssystem 252 von 2. Beispielsweise kann der Aktionsprozessor 240 einen Befehl zum Öffnen des ersten Feldgeräts 116 von 1A-1B erzeugen und den Befehl an eine Steuerung übertragen, welche die Steuerschleife 120 verwaltet, um das erste Feldgerät 116 zu öffnen. In anderen Beispielen kann der Aktionsprozessor 240 einen Satz von Befehlen erzeugen, die entweder gleichzeitig oder nacheinander von dem Prozesssteuerungssystem 252 von 2 ausgeführt werden sollen. Beispielsweise kann der Aktionsprozessor 240 einen Satz von Befehlen zum Füllen des Prozesstanks 122 von 1A-1B erzeugen, indem er im Wesentlichen gleichzeitig (z. B. zur gleichen Zeit, gemäß den physikalischen Einschränkungen eines befohlenen Feldgeräts, Ausbreitungsverzögerungen, Verarbeitungsverzögerungen usw.) FV-101, FV-102 und FV-103 öffnet und eine Fluid Pumpe (FP), wie z. B. FP-101, dargestellt in 1A-1B, deaktiviert.
  • In einigen Beispielen erleichtert der Aktionsprozessor 240 die Ausführung eines Skripts, indem er Informationen vom Prozesssteuerungssystem 252 anfordert. Beispielsweise kann der Aktionsprozessor 240 Informationen erhalten, die dem ersten Feldgerät 116 zugeordnet sind, die einen oder mehrere Parameterwerte enthalten. Beispielsweise kann der Aktionsprozessor 240 die Steuerschleife 120 (z. B. eine die Steuerschleife 120 steuernde Steuerung abfragen) nach den Parametern MODE, OUT, Status usw. abfragen usw., welche dem ersten Feldgerät 116, dem zweiten Feldgerät 118 usw. zugeordnet sind. Als Antwort auf die Abfrage kann der Aktionsprozessor 240 den einen oder die mehreren Parameterwerte erhalten und den einen oder die mehreren Parameterwerte an den Konversationsprozessor 238 übertragen, um sie in eine Antwort zu packen.
  • Das Prozesssteuerungs-Netzwerksystem 254 von 2 ist ein System, das kommunikativ mit mindestens einem des Prozesssteuerungssystems 252 oder dem VA 100 gekoppelt ist. In einigen Beispielen ist das Prozesssteuerungs-Netzwerksystem 254 ein cloudbasiertes Netzwerk, das mehrere Prozesssteuerungssysteme überwacht und/oder steuert. Beispielsweise kann das Prozesssteuerungs-Netzwerksystem 254 einem oder mehreren Open Platform Communications (OPC)-Servern entsprechen, die Hardwarekommunikationsprotokolle von mehreren in mehreren Prozesssteuerungssystemen enthaltenen Steuerungen in das OPC-Protokoll und/oder ein beliebiges anderes Kommunikationsprotokoll konvertieren. In einigen Beispielen kann das Prozesssteuerungs-Netzwerksystem 254 eine cloudbasierte Datenspeicherung, Analyse, Big-Data-Analyse, tiefgreifendes maschinelles Lernen usw. durchführen, um eine Modellierung der Umgebungsskala für die Mehrprozesssteuerung, hocheffiziente Operationen und Automatisierung der digitalen Prozesssteuerung, vorausschauende Funktionsüberwachung, Analyse der Zuverlässigkeit von Komponenten, Prozesssteuerungsmanagement und/oder Optimierung basierend auf Informationen, die von mehreren Prozesssteuerungssystemen (z. B. dem Prozesssteuerungssystem 102 von 1A-1B) erhalten und/oder verarbeitet werden, zu ermöglichen.
  • In einigen Beispielen erleichtert der Aktionsprozessor 240 die Ausführung eines Skripts durch Erzeugen und/oder Übertragen von Befehlen an das Prozesssteuerungs-Netzwerksystem 254. Beispielsweise kann der Aktionsprozessor 240 einen Befehl zum Ausführen einer Notabschaltung von zwei oder mehr Prozesssteuerungssystemen erzeugen, die im Prozesssteuerungs-Netzwerksystem 254 enthalten sind und/oder auf andere Weise von diesem überwacht werden. Beispielsweise kann der Aktionsprozessor 240 einen Satz von Aktionen erzeugen und übertragen, die das Prozesssteuerungs-Netzwerksystem 254 implementieren kann, um eine Notabschaltung durchzuführen.
  • In einigen Beispielen erleichtert der Aktionsprozessor 240 die Ausführung eines Skripts, indem er Informationen vom Prozesssteuerungs-Netzwerksystem 254 anfordert. Beispielsweise kann der Aktionsprozessor 240 das Prozesssteuerungs-Netzwerksystem 254 abfragen, um Informationen zur vorausschauenden Funktionsüberwachungzu bestimmen, die dem ersten Feldgerät 116 zugeordnet sind. Beispielsweise kann der Benutzer 104 den VA 100 auffordern, eine Menge von verbleibenden Lebenszyklen für das erste Feldgerät 116 abzuschätzen. In solchen Beispielen kann der Aktionsprozessor 240 Informationen, einschließlich einer Seriennummer, einer Herstellerteilenummer, eines Gerätetyps, einer Anzahl von durchgeführten Zyklen (z. B. einer Anzahl von Ventilöffnungs- und -schließvorgängen), einer Zeitdauer seit einer letzten Wartung usw., die dem ersten Feldgerät 116 zugeordnet sind, an das Prozesssteuerungs-Netzwerksystem 254 übertragen. Als Antwort auf den Empfang der Informationen kann das Prozesssteuerungs-Netzwerksystem 254 die Informationen in zuvor analysierten Feldgeräten mit im Wesentlichen ähnlichen Informationen abbilden (z. B. dieselbe Herstellerteilenummer, eine Anzahl von Zyklen innerhalb einer Toleranz von 100 Zyklen, eine Zeitdauer innerhalb von 5 Tagen usw.) und eine Ausfallrate bestimmen (z. B. eine durchschnittliche Ausfallrate, einen Bereich von Ausfallraten usw.) basierend auf Daten, welche den zuvor analysierten Feldgeräten zugeordnet sind. Als Antwort auf zumindest das Abbilden und das Bestimmen kann das Prozesssteuerungs-Netzwerksystem 254 die Fehlerrate und/oder andere Informationen zur vorausschauenden Funktionsüberwachung an den Aktionsprozessor 240 übertragen, an welchen der Aktionsprozessor 240 die Fehlerrate und/oder andere Informationen zur vorausschauenden Funktionsüberwachung an den Konversationsprozessor 238 zum Einbeziehen in eine Antwort auf das Server-Bot-Framework 210 übertragen kann. Beispielsweise kann der Aktionsprozessor 240 eine Ausfallrate einschließlich einer Zeitdauer bis zum erwarteten Ausfall, einer Anzahl von Zyklen bis zum erwarteten Ausfall usw. an den Benutzer 104, die Host-Anwendung 106, die am Körper tragbaren Geräte 128, 130, 132, usw. übertragen. In solchen Beispielen kann der Aktionsprozessor 240 eine Sicherheitswarnung basierend auf der Fehlerrate, einem bevorstehenden Fehler usw. übertragen.
  • In dem dargestellten Beispiel von 2 enthält die Konversationskontextmaschine 224 den Konversationszustands-Handler 242 zum Speichern und/oder Aufrechterhalten auf andere Weise eines Konversationszustands, der vom Benutzer 104, der Host-Anwendung 106, den am Körper tragbaren Geräten 128, 130, 132 usw. initiiert wurde. In einigen Beispielen entspricht der Konversationszustands einem identifizierten Thema basierend auf einer Anforderung. Beispielsweise kann der Konversationszustands-Handler 242 dem Konversationszustand ein Thema wie beispielsweise FV-105 zuweisen und/oder anderweitig zuordnen. In solchen Beispielen kann der Konversationszustands-Handler 242 dem Benutzer 104, der Host-Anwendung 106, den am Körper tragbaren Geräten 128, 130, 132 usw. ermöglichen, zusätzliche Details oder Informationsebenen zum Thema FV-105 anzufordern, tiefer in das Thema einzudringen oder das Thema zu verwenden, um zu einem anderen interessierenden Thema (z. B. einem verwandten Thema) wie beispielsweise FIC-205, FI-205 usw. abzuzweigen oder überzugehen. Beispielsweise kann der Konversationszustands-Handler 242 die durch den Konversationsprozessor 238 verwendete Rechenleistung reduzieren, um zusätzliche Anforderungen zu verarbeiten, indem der Konversationszustand auf das Erzeugen und/oder das Verpacken von Antworten auf andere Weise verwiesen wird. Beispielsweise kann der Konversationsprozessor 238 dem Benutzer 104 zusätzliche Aktionen bereitstellen, die von FV-105 ausgeführt werden können, den Benutzer 104 über zusätzliche mit FV-105 kommunikativ gekoppelte Komponenten informieren usw., indem er den Konversationszustands-Handler 242 nach dem Konversationszustand abfragt, anstatt die Anforderung zu verarbeiten, ohne von einem Basis- oder Ausgangspunkt aus zu arbeiten.
  • In einigen Beispielen entspricht der Konversationszustand einem Zustand (z. B. einem Abschlusszustand) eines Skripts, das vom Aktionsprozessor 240 ausgeführt wird. Beispielsweise kann der Aktionsprozessor 240 einen Workflow ausführen, indem er beispielsweise dem Benutzer 104 schrittweise Anweisungen zum Ersetzen des ersten Feldgeräts 116 von 1A-1B mit einem im Wesentlichen ähnlichen Feldgerät (z. B. einem Feldgerät desselben Modells, derselben Herstellerteilenummer, denselben Betriebsdaten, derselben Gefahrbereichsklassifizierung usw.) bereitstellt. In solchen Beispielen kann der Aktionsprozessor 240 einen aktuellen oder augenblicklichen Schritt oder eine Operation, die vom Aktionsprozessor 240 ausgeführt werden, einen nachfolgenden auszuführenden Schritt oder eine auszuführende Operation, eine Gesamtanzahl auszuführender Schritte oder Operationen usw. an den Konversationszustands-Handler 242 übertragen. Als Antwort auf den Empfang der Informationen vom Aktionsprozessor 240 kann der Konversationszustands-Handler 242 Informationen an den Konversationsprozessor 238 liefern, um Antworten an den Benutzer 104 zu erzeugen. Beispielsweise kann der Konversationszustands-Handler 242 einen nächsten auszuführenden Schritt oder eine auszuführende Operation, einen Abschlusszustand (z. B. eine Anzahl auszuführender Schritte, eine geschätzte Zeitdauer zum Abschluss der Schritte usw.) usw. an den Konversationsprozessor 238 übertragen, an den der Konversationsprozessor 238 eine Antwort basierend auf den vom Konversationszustands-Handler 242 empfangenen Informationen erzeugen und an den Benutzer 104 übermitteln kann.
  • In einigen Beispielen modifiziert oder aktualisiert der Konversationszustands-Handler 242 einen Konversationszustand. Beispielsweise kann der Konversationszustands-Handler 242 einen Konversationszustand basierend auf einem neuen Thema aktualisieren, das vom Benutzer 104, der Host-Anwendung 106, den am Körper tragbaren Geräten 128, 130, 132, der DCS-Steuerungs-Baugruppe 226 usw. angefordert wird, aktualisieren. Beispielsweise kann der Konversationszustands-Handler 242 den Konversationszustand von FV-105 auf FV-106 ändern, basierend darauf, dass der Benutzer 104 nach Informationen über FV-106 fragt. In einigen Beispielen bricht der Konversationszustands-Handler 242 einen Konversationszustand ab oder löscht ihn. Beispielsweise kann der Konversationszustands-Handler 242 FV-105 vom Konversationszustand trennen und/oder den Konversationszustand von FV-105 abbrechen, wenn mindestens einer der Benutzer 104 die Konversation mit dem VA 100 abbricht und Informationen zu einem anderen Feldgerät wie FV-104 erfragt, oder wenn der Benutzer 104 den VA 100 darüber informiert, dass keine zusätzlichen Informationen in Bezug auf FV-105 benötigt werden.
  • In einigen Beispielen verzweigt der Konversationszustands-Handler 242 spekulativ zu einem neuen Thema oder wechselt zu einem neuen Thema. Beispielsweise kann der Konversationszustands-Handler 242 bestimmen, dass der Benutzer 104 einen ersten Abdeckungsbereich der ersten Bake 134a verlassen hat und in einen zweiten Abdeckungsbereich der zweiten Bake 134b eingetreten ist. In solchen Beispielen kann der Konversationszustands-Handler 242 den Aktionsprozessor 240 anweisen, das Prozesssteuerungs-Netzwerksystem 254 abzufragen, um ein wahrscheinliches nächstes interessierendes Thema basierend auf einem oder mehreren Feldgeräten zu bestimmen, die im zweiten Abdeckungsbereich enthalten sind.
  • In einigen Beispielen zweigt der Konversationszustands-Handler 242 spekulativ zu einem neuen Thema ab, wenn der Konversationszustands-Handler 242 bestimmt, dass der Benutzer 104, die Host-Anwendung 106 usw. alle möglichen oder potenziellen Antworten erschöpft haben, die einem Thema zugeordnet sind, das mit dem Füllen des Prozesstanks 122 verknüpft ist. In solchen Beispielen kann der Konversationszustands-Handler 242 den Aktionsprozessor 240 anweisen, das Prozesssteuerungs-Netzwerksystem 254 abzufragen, um ein wahrscheinliches nächstes interessierendes Thema zu bestimmen. Beispielsweise kann das Prozesssteuerungs-Netzwerksystem 254 einen Algorithmus zum maschinellen Lernen ausführen und/oder auf andere Weise ausführen, um ein Thema zu bestimmen, das nach dem Befüllen eines Prozesstanks in anderen Prozesssteuerungssystemen (z. B. einem oder mehreren Prozesssteuerungssystemen außerhalb von dem Prozesssteuersystem 102 von 1A-1B) ausgewählt wurde. Beispielsweise kann das Prozesssteuerungs-Netzwerksystem 254 bestimmen, dass ein Thema, das mit dem Entleeren des Prozesstanks zusammenhängt, in einem wesentlichen Teil der Zeit (z. B. 40% der Zeit, 75% der Zeit usw.) nach dem Befüllen des Prozesstanks ausgewählt wurde. In solchen Beispielen kann das Prozesssteuerungs-Netzwerksystem 254 das spekulativ identifizierte Thema über den Aktionsprozessor 240 an den Konversationszustands-Handler 242 übertragen. In solchen Beispielen kann der Konversationszustands-Handler 242 den Konversationsprozessor 238 anweisen, das neue Thema in einer oder mehreren Aktionen, einer Konfiguration oder mehreren Konfigurationen, einem Skript oder mehreren Skripten usw. abzubilden, die in der Konversationskontext-Datenbank 244 enthalten sind.
  • Durch spekulatives Abrufen des neuen Themas kann der Konversationsprozessor 238 dem Benutzer 104 Antworten bereitstellen, wenn der Benutzer 104 eine Anforderung ausgibt, die dem neuen Thema zugeordnet ist. Der Konversationsprozessor 238 kann versuchen, einen nächsten Schritt vorherzusagen und/oder auf andere Weise dem Benutzer 104 in Zeiträumen, in denen sich der Konversationsprozessor 238 möglicherweise im Leerlauf befindet und keine Anforderung verarbeitet, zuvorzukommen usw. In einigen Beispielen fordert der Konversationsprozessor 238 den Benutzer 104 auf, eine Aktion auszuführen, die dem spekulativ abgerufenen Thema zugeordnet ist. Beispielsweise kann der Benutzer 104 vergessen haben, eine Aktion auszuführen, und wird daran erinnert, die Aktion auszuführen, indem er von dem VA 100 bezüglich des spekulativ abgerufenen Themas dazu aufgefordert wird. Wenn der Benutzer 104 eine Anforderung ausgibt, die einem anderen Thema als dem spekulativ abgerufenen Thema zugeordnet ist, kann der Konversationsprozessor 238 den Benutzer 104 auffordern, zu bestimmen, ob der Benutzer 104 lieber das spekulativ abgerufene Thema auswählen möchte. Wenn der Benutzer 104 die Auswahl des spekulativ abgerufenen Themas ablehnt, kann der Konversationsprozessor 238 alternativ den Konversationszustands-Handler 242 anweisen, das spekulativ abgerufene Thema durch das angeforderte Thema zu ersetzen.
  • In dem dargestellten Beispiel von 2 kann die Konversationskontextmaschine 224 Konversationen unterstützen, die auf externen Computersystemen wie einem beispielhaften Container-Repository 256 instanziiert werden. Das Container-Repository 256 enthält Container oder Container-Images, die einfachen, eigenständigen, ausführbaren Softwarepaketen entsprechen, die alles enthalten, was zum Ausführen der Software erforderlich ist, einschließlich Code, Laufzeit, Systemtools, Systembibliotheken und Einstellungen. Container isolieren Software von der Softwareumgebung, z. B. Unterschiede zwischen Entwicklungs- und Staging-Umgebungen.
  • In einigen Beispielen fragt die Konversationskontextmaschine 224 das Container-Repository 256 ab, um zu bestimmen, ob ein Thema (z. B. ein lang laufender Workflow, ein komplexes Thema usw.) einen entsprechenden Container aufweist, der das Thema ausführen kann. Als Antwort auf das Bestimmen, dass das Thema einen entsprechenden Container aufweist, kann die Konversationskontextmaschine 224 den entsprechenden Container anweisen, das Thema auszuführen. Beispielsweise kann der Container im Container-Repository 256 Software (z. B. maschinenlesbare Anweisungen) ausführen, um Aktionen auszuführen, die dem Thema zugeordnet sind. Der Container kann Befehle an die Systeme 222, Konversationszustände an die Konversationskontextmaschine 224, Benachrichtigungen über die Konversationskontextmaschine 224 usw. an den Benutzer 104 übertragen. In solchen Beispielen kann die Konversationskontextmaschine 224 komplexe Themen an externe Systeme (z. B. einen Container im Container-Repository 256, eines oder mehrere der Systeme 222 usw.) delegieren und/oder auf andere Weise auslagern, um die Verarbeitungsauslastung, Speicherressourcen, Speicherungsressourcen usw. der Konversationskontextmaschine 224 zu reduzieren.
  • Während eine beispielhafte Art der Implementierung des VA 100 von 1A-1B in 2 gezeigt sind, können eines oder mehrere der in 2 dargestellten Elemente, Prozesse und/oder Vorrichtungen kombiniert, geteilt, neu angeordnet, weggelassen, beseitigt und/oder auf eine beliebige andere Weise implementiert werden. Ferner können das beispielhafte Server-Bot-Framework 210, die beispielhafte Framework-Steuerung 212, der beispielhafte Parser 214, der beispielhafte Analysator 216, der beispielhafte Generator 218, der beispielhafte Ausführer 220, die beispielhafte Konversationskontextmaschine 224, der beispielhafte Konversationsprozessor 238, der beispielhafte Aktionsprozessor 240, der beispielhafte Konversationszustands-Handler 242, die beispielhafte Konversationskontext-Datenbank 244, die beispielhaften Themen 246, die beispielhaften Konfigurationen 248a, die beispielhaften Skripte 248b, die beispielhaften Aktionen 250 und/oder allgemeiner der beispielhafte VA 100 von 2 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert werden. So können beispielsweise eines der beispielhaften Server-Bot-Frameworks 210, die beispielhafte Framework-Steuerung 212, der beispielhafte Parser 214, der beispielhafte Analysator 216, der beispielhafte Generator 218, der beispielhafte Ausführer 220, die beispielhafte Konversationskontextmaschine 224, der beispielhafte Konversationsprozessor 238, der beispielhafte Aktionsprozessor 240, der beispielhafte Konversationszustands-Handler 242, die beispielhafte Konversationskontext-Datenbank 244, die beispielhaften Themen 246, die beispielhaften Konfigurationen 248a, die beispielhaften Skripte 248b, die beispielhaften Aktionen 250 und/oder allgemeiner der beispielhafte VA 100 durch eine oder mehrere analoge oder digitale Schaltung(en), Logikschaltungen, programmierbare Prozessor(en), programmierbare Steuerung(en), Grafikverarbeitungseinheit(en) (GPU(s)), digitale Signalprozessor(en) (DSP(s)), anwendungsspezifische integrierte Schaltung(en) (ASIC(s)), programmierbare Logikvorrichtung(en) (PLD(s)) und/oder vor Ort programmierbare Logikvorrichtung(en) (FPLD(s)) implementiert werden. Wenn Sie einen der Geräte- oder Systemansprüche dieses Patents lesen, um eine reine Software- und/oder Firmware-Implementierung abzudecken, werden mindestens einer der beispielhaften Server-Bot-Frameworks 210, die beispielhafte Framework-Steuerung 212, der beispielhafte Parser 214, der beispielhafte Analysator 216, der beispielhafte Generator 218, der beispielhafte Ausführer 220, die beispielhafte Konversationskontextmaschine 224, der beispielhafte Konversationsprozessor 238, der beispielhafte Aktionsprozessor 240, der beispielhafte Konversationszustands-Handler 242, die beispielhafte Konversationskontext-Datenbank 244, die beispielhaften Themen 246, die beispielhaften Konfigurationen 248a, die beispielhaften Skripte 248b und/oder die beispielhaften Aktionen 250 hiermit ausdrücklich so definiert, dass sie eine nicht-flüchtige computerlesbare Speichervorrichtung oder Speicherplatte, wie einen Speicher, eine Digital Versatile Disk (DVD), eine Compact Disk, (CD), eine Blu-ray-Disk usw. einschließlich der Software und/oder Firmware enthalten. Weiterhin kann das Beispiel VA 100 von 1A-1B ein oder mehrere Elemente, Prozesse und/oder Vorrichtungen zusätzlich zu oder anstelle der in 2 gezeigten Elemente, Prozesse und/oder Vorrichtungen enthalten und/oder kann mehr als eines oder alle der gezeigten Elemente, Prozesse und Vorrichtungen enthalten. Wie hierin verwendet, umfasst der Ausdruck „in Kommunikation“, einschließlich Variationen davon, direkte Kommunikation und/oder indirekte Kommunikation durch eine oder mehrere Zwischenkomponenten und erfordert keine direkte physische (z. B. drahtgebundene) Kommunikation und/oder konstante Kommunikation, sondern enthält vielmehr zusätzlich selektive Kommunikation in periodischen Intervallen, geplanten Intervallen, aperiodischen Intervallen und/oder einmalige Ereignisse.
  • 3 zeigt eine beispielhafte Tabelle eines beispielhaften Profils 300, das dem Prozesstank 122 des Prozesssteuerungssystems 102 von 1A-1B entspricht. Das Profil 300 kann einem Teil einer Konfiguration des Prozesssteuerungssystems 102 entsprechen, das in die Datenbank 124 von 1A-1B, der Konversationskontext-Datenbank 244 von 2 usw. geladen ist. Beispielsweise kann das Profil 300 einem Thema entsprechen. In solchen Beispielen entspricht das Profil 300 dem Thema des Prozesstanks 122 von 1A-1B basierend auf dem Kontext des Prozesssteuerungssystems 102. In einigen Beispielen ist der VA 100 von 1A-2 durch das Laden einer Konfiguration initialisiert, die dem Prozesssteuersystem 102 von 1A-1B in die Konversationskontext-Datenbank 244 zugeordnet ist. Die Konfiguration kann Informationen enthalten, die einer Komponente oder mehreren der Komponenten des Prozesssteuerungssystems 102 zugeordnet sind. Beispielsweise kann die Konfiguration einen oder mehrere Parameter enthalten, die dem ersten Feldgerät 116, dem zweiten Feldgerät 118 usw. zugeordnet sind. Die Konfiguration kann Informationen über Feldgeräte enthalten, die in der Steuerschleife 120 enthalten sind.
  • In einigen Beispielen enthält die Konfiguration Zuordnungen zwischen Feldgeräten, Steuerungskreisen usw. und/oder eine Kombination davon. Beispielsweise kann die Konfiguration eine Zuordnung oder eine Beziehung zwischen FI-207, FIC-207 und FV-106 von 1A-1B enthalten, die eine Beschreibung enthalten können, wie FI-207, FIC-207 und FV-106 physikalisch gekoppelt sind (z. B. ein Schaltplan, ein Kabelplan, ein Abschlussschema usw.), kommunikativ gekoppelt sind (z. B. ein Kommunikationsprotokoll-Adressierungsschema, eine Internet Protocol (IP) -Adresstabelle usw.) usw. In einigen Beispielen enthält die Konfiguration mehrere Profile, einschließlich dem Profil 300 von 3, eine Zuordnung von einem der mehreren Profile (z. B. Abhängigkeiten eines Profils von einem anderen Profil) usw.
  • In einigen Beispielen erzeugt der Konversationsprozessor 238 das Profil 300. Beispielsweise kann der Konversationsprozessor 238 ein Thema, das in der Anforderung 201ab von 2 enthalten ist, von dem Benutzer 104, der Host-Anwendung 106 usw. identifizieren, wenn das Thema das erste Feldgerät 116, der Prozesstank 122 usw. ist. In solchen Beispielen kann der Konversationsprozessor 238 das Thema des ersten Feldgeräts 116 in einer Nachschlagetabelle oder einer beliebigen anderen Datenstruktur, die in der Konversationskontext-Datenbank 244 enthalten ist, abbilden. Mit anderen Worten, kann der Konversationsprozessor 238 eine Abbildung des ersten Feldgeräts 116 in der Nachschlagetabelle oder in einer beliebigen anderen Datenstruktur, die in der Konversationskontext-Datenbank 244 enthalten ist, abbilden und/oder auf andere Weise ausführen. In einigen Beispielen basiert die Nachschlagetabelle auf der Konfiguration. Beispielsweise kann die Nachschlagetabelle eine Zuordnung des ersten Feldgeräts 116 zu einem oder mehreren Parametern enthalten, die einem Parameter oder mehreren Parametern entsprechen, welche dem ersten Feldgerät 116 zugeordnet sind, wobei eine Aktion oder mehrere Aktionen ausgeführt und/oder auf andere Weise durch das erste Feldgerät 116 usw. implementiert werden können. Der Konversationsprozessor 238 kann den einen Parameter oder die mehreren Parameter, die eine Aktion oder die mehreren Aktionen usw. aus der Konversationskontext-Datenbank 244 abrufen und ein Profil (z. B. das Profil 300 von 3) erzeugen, basierend auf mindestens einem des einen Parameters oder der mehreren Parameter, der einen Aktion oder den mehreren Aktionen usw. Der Konversationsprozessor 238 kann das Profil 300 in der Konversationskontext-Datenbank 244 zur zukünftigen Verarbeitung speichern.
  • In dem dargestellten Beispiel von 3 enthält das Profil 300 Felder wie eine beispielhafte Ebene 302, eine beispielhafte Kategorie 304, einen beispielhaften Parameter 306, ein beispielhaftes Tag 308 und eine beispielhafte Beschreibung 310. Das Profil 300 von 3 enthält die Ebene 302, um Informationen, die dem Prozesstank 122 zugeordnet sind, in einer Hierarchie oder Reihenfolge des Zugriffs durch den VA 100 zu organisieren. Beispielsweise kann eine erste Ebene (L1) einer ersten Informationsschicht entsprechen, die dem Benutzer 104, der Host-Anwendung 106 usw. von 1A-2 als Antwort auf eine Anforderung bereitgestellt wird. Beispielsweise kann der Benutzer 104 eine Anforderung wie „Zeige mir den Prozesstank“ über die mobile Anwendung 202 von 2 ausgeben. In solchen Beispielen kann der VA 100 dem Benutzer 104 in L1 enthaltene Informationen über die mobile Anwendung anzeigen (z. B. die Informationen auf dem Display eines mobilen Geräts anzeigen, das die mobile Anwendung 202 bedient). In anderen Beispielen kann der VA 100 Informationen (z. B. verbale Aussagen über mit der Host-Anwendung 106 gekoppelte Lautsprecher), die in L1 enthalten sind, über die Host-Anwendung 106 an den Benutzer 104 übermitteln. Als Antwort darauf, dass der Benutzer 104 zusätzliche Informationen anfordert, wie z. B. „Zusätzliche Informationen zum Prozesstank anzeigen“ oder „Weitere Informationen zum Prozesstank anzeigen“, kann der VA 100 Informationen, die in einer zweiten Ebene (L2) enthalten sind, an den Benutzer 104 über eine hörbare Kommunikation, die Host-Anwendung 106 usw. übertragen, kommunizieren usw. Alternativ kann das Profil 300 weniger oder mehr Ebenen 302 als in 3 dargestellt enthalten.
  • In dem dargestellten Beispiel von 3 enthält das Profil 300 die Kategorie 304 zum Organisieren von Informationen, die dem Prozesstank 122 zugeordnet sind, basierend auf mindestens einer Häufigkeit der angeforderten Informationen oder einer Komponente des Prozesstanks 122. Beispielsweise kann die Kategorie 304 damit entsprechen, wie oft Informationen, die im Profil 300 enthalten sind, angefordert werden. Beispielsweise kann die Kategorie 304 einen Wert von Common (üblich), Typical (typisch), Uncommon (unüblich), Infrequent (unregelmäßig) usw. aufweisen, der einer Häufigkeit der vom Benutzer 104, der Host-Anwendung 106, den am Körper tragbaren Geräten 128, 130, 132, der DCS-Steuerungsanordnung 226 usw. angeforderten Informationen entspricht. In anderen Beispielen kann die Kategorie 304 einer Komponente des Prozesstanks 122 entsprechen, wie beispielsweise der Pumptrommel des Prozesstanks 122. Alternativ kann das Profil 300 weniger oder mehr Kategorien 304 als in 3 gezeigt enthalten.
  • In dem dargestellten Beispiel von 3 enthält das Profil 300 den Parameter 306, um Werte darzustellen, die mindestens einer entsprechenden Ebene 302 oder Kategorie 304 des Prozesstanks 122 von 1A-1 B zugeordnet sind. Im Profil 300 von 3 umfassen die Parameter 306 ein Behälterfüllstand, einen Behälterdruck, ein Ein-/Ausströmen, eine Temperatur und eine Behältertemperatur. Beispielsweise kann der VA 100 Informationen, die dem Behälterfüllstands-Parameter zugeordnet sind, an den Benutzer 104 als Antwort auf den Empfang einer anfänglichen Anfrage bezüglich des Prozesstanks 122 zurückgeben. Beispielsweise kann der Behälterfüllstands-Parameter einem Wert entsprechen, der von FI-206, FI-208 usw. von 1A-1 B gemessen wird.
  • In dem dargestellten Beispiel von 3 umfasst das Profil 300 das Tag 308, um Bezeichner (z. B. Prozesssteuerungsbezeichner) darzustellen, die mindestens den Parametern 306 zugeordnet sind. In einigen Beispielen ist das Tag 308 ein Software-Bezeichner. Beispielsweise kann das Tag 308 einer Adresse und/oder einem Label in einem Kommunikationsprotokoll, einem Prozesssteuerungsschema usw. entsprechen, das dem Behälterfüllstands-Parameter zugeordnet ist, der dem Prozesstank 122 zugewiesen ist. In einigen Beispielen ist das Tag 308 ein physikalischer Bezeichner (z. B. ein mit dem Prozesstank 122 verbundenes physikalisches Tag, ein an dem Prozesstank 122 befestigtes Label, welches das Tag enthält oder darstellt, usw.). Beispielsweise wird dem Behälterfüllstands-Parameter ein Tag von L XX27 zugewiesen. In solchen Beispielen kann der VA 100 das Tag 308, das mindestens dem Behälterfüllstands-Parameter zugeordnet ist, als Antwort auf den Benutzer 104, die Host-Anwendung 106, die am Körper tragbaren Geräte 128, 130, 132 usw. zurückgeben und Informationen anfordern, die dem Prozesstank 122 zugeordnet sind.
  • In dem gezeigten Beispiel von 3 enthält das Profil 300 die Beschreibung 310, um zusätzliche Informationen darzustellen, die als Antwort auf eine Anforderung bereitgestellt werden können. Beispielsweise können in der Beschreibung 310 enthaltene Informationen in einer Antwort an den Benutzer 104 gepackt werden, wenn der Benutzer 104 zusätzliche Informationen anfragt, die mindestens dem Parameter 306 zugeordnet sind. Beispielsweise kann der Benutzer 104 den VA 100 fragen: „Wie hoch ist der Füllstand des Prozesstanks?“. Als Antwort auf die Anforderung kann der VA 100 verbal antworten: „Der Behälterfüllstand mit einem Tag von L XX27 ist zu 80% voll.“ Der Benutzer 104 kann eine Folgeanforderung ausgeben: „Geben Sie mir weitere Informationen zum Füllstand“, worauf der VA 100 mit „Der Behälterfüllstand ist der wichtigste Parameter für KO-Töpfe.“ antworten kann. Zusätzlich oder alternativ können die Informationen, die in der Beschreibung 310 enthalten sind, und/oder allgemeiner das Profil 300 von 3 auf der Host-Anwendung 106 angezeigt werden. In anderen Beispielen kann der Benutzer 104 eine Anforderung von „Erzählen Sie mir von der Pumptrommel“ ausgeben. In Antwort auf die Anforderung kann der VA 100 verbal mit einem Wert des Einström-/Ausströmparameters und/oder dem entsprechenden Tag antworten. Der VA 100 kann den Temperaturparameter und/oder das Temperatur-Tag basierend auf der entsprechenden Beschreibung von „WENN ANGEFORDERT“ möglicherweise nicht zurückgeben. Beispielsweise kann der VA 100 keine Informationen zurückgeben, die der Temperatur der Pumptrommel zugeordnet sind, es sei denn, der Benutzer 104 fordert dies an.
  • 4 ist eine schematische Darstellung einer ersten beispielhaften Visualisierung 400, die dem beispielhaften Profil 300 von 3 entspricht. Die erste Visualisierung 400 von 4 entspricht einer Visualisierung der ersten Ebene, die L1 des Profils 300 von 3 zugeordnet ist. Alternativ kann die erste Visualisierung 400 einer anderen Ebene entsprechen. Die erste Visualisierung 400 kann über die Host-Anwendung 106 von 1A-2 als Antwort auf die Anforderung 201a-b von 2 von dem Benutzer 104, der Host-Anwendung 106, der am Körper tragbaren Geräte 128, 130, 132 usw. angezeigt werden. Die erste Visualisierung 400 enthält eine schematische Darstellung des Prozesstanks 122 von 1A-1B. Die erste Visualisierung 400 umfasst die Tags 308, die L1 des Profils 300 von 3 zugeordnet sind. Beispielsweise enthält die erste Visualisierung 400 die Tags 308, die dem Behälterfüllstands-Parameter (L XX27), dem Behälterdruckparameter (P XX27) und dem Einström-/Ausströmparameter (F XX27) zugeordnet sind. In einigen Beispielen kann die erste Visualisierung 400 von dem VA 100 basierend auf einer Anforderung von zusätzlichen Informationen aktualisiert werden. Beispielsweise kann das Tag 308, das dem Temperaturparameter (T XX27) zugeordnet ist, in der ersten Visualisierung 400 als Antwort auf die Anforderung zusätzlicher Informationen für den Prozesstank 122 angezeigt werden.
  • 5 ist eine schematische Darstellung einer zweiten beispielhaften Visualisierung 500, die dem beispielhaften Profil 300 von 3 entspricht. Die zweite Visualisierung 500 von 5 entspricht einer Visualisierung der zweiten Ebene, die L2 des Profils 300 von 3 zugeordnet ist. In 5 enthält die zweite Visualisierung 500 Informationen, die der ersten und der zweiten Ebene des Profils 300 zugeordnet sind. Alternativ kann die zweite Visualisierung 500 Informationen darstellen, die nur der zweiten Ebene des Profils 300 zugeordnet sind.
  • Die zweite Visualisierung 500 kann über die Host-Anwendung 106 von 1A-2 als Antwort auf eine Anforderung von dem Benutzer 104, der Host-Anwendung 106 usw. angezeigt werden. Die zweite Visualisierung 500 enthält eine Darstellung des Prozesstanks 122 von 1A-1B. Die zweite Visualisierung 500 enthält die Tags 308, die der ersten Ebene und der zweiten Ebene des Profils 300 von 3 zugeordnet sind. Beispielsweise enthält die zweite Visualisierung 500 die Tags 308, die dem Behälterfüllstands-Parameter (L XX27), dem Behälterdruckparameter (P XX27), dem Einström-/Ausströmparameter (F XX27), dem Temperaturparameter (T XX27) und dem Behälter-Temperaturparameter (T XX27) zugeordnet sind. Beispielsweise kann der Benutzer 104 Informationen von dem VA 100 anfordern, die dem Prozesstank 122 zugeordnet sind. Der VA 100 kann eine erste Antwort erzeugen, welche die in der ersten Visualisierung 400 von 4 dargestellten Tags 308 enthält. Beispielsweise kann basierend auf der ersten Antwort die Host-Anwendung 106 die erste Visualisierung 400 anzeigen, welche die in 4 gezeigten Tags 308 enthält. Der Benutzer 104 kann bei dem VA 100 zusätzliche Informationen anfordern, die dem Prozesstank 122 entsprechen. Als Antwort auf die Anforderung kann der VA 100 eine zweite Antwort erzeugen, welche die in der zweiten Visualisierung 500 von 5 dargestellten Tags 308 enthält. Beispielsweise kann basierend auf der zweiten Antwort die Host-Anwendung 106 die zweite Visualisierung 500 anzeigen, welche die in 5 gezeigten Tags 308 enthält. Beispielsweise kann die Host-Anwendung 106 die erste Visualisierung 400 durch die zweite Visualisierung 500 ersetzen. Alternativ kann die Host-Anwendung 106 die zusätzlichen Tags 308 in 5 zur ersten Visualisierung 400 hinzufügen.
  • Flussdiagramme, die beispielhafte Hardwarelogik, maschinenlesbare Anweisungen, Hardware-implementierte Zustandsmaschinen und/oder eine beliebige Kombination davon zum Implementieren des VA 100 von 1A-2 darstellen, sind in 6-7 gezeigt. Die maschinenlesbaren Anweisungen können ein ausführbares Programm oder ein Teil eines ausführbaren Programms zur Ausführung durch einen Computerprozessor wie den Prozessor 812 sein, der in der beispielhaften Verarbeitungsplattform 800 gezeigt ist, die unten in Verbindung mit 8 diskutiert wird. Das Programm kann in Software enthalten sein, die auf einem nicht-flüchtigen computerlesbaren Speichermedium wie einer CD-ROM, einer Diskette, einer Festplatte, einer DVD, einer Blu-ray-Disk oder einem dem Prozessor 812 zugeordneten Speicher gespeichert ist, aber das gesamte Programm und/oder Teile davon könnten jedoch alternativ auch von einer anderen Vorrichtung als dem Prozessor 812 ausgeführt werden und/oder in Firmware oder fest zugeordneter Hardware enthalten sein. Ferner, obwohl das beispielhafte Programm unter Bezugnahme auf die in 6-7 dargestellten Flußdiagramme beschrieben ist, können alternativ viele andere Verfahren zum Implementieren des Beispiels VA 100 verwendet werden. Beispielsweise kann die Ausführungsreihenfolge der Blöcke geändert werden, und/oder einige der beschriebenen Blöcke können geändert, beseitigt oder kombiniert werden. Zusätzlich oder alternativ können einige oder alle der Blöcke durch eine oder mehrere Hardwareschaltungen implementiert werden (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, ein ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die so aufgebaut sind, dass sie die entsprechende Operation ausführen, ohne Software oder Firmware auszuführen.
  • Wie oben erwähnt, können die beispielhaften Prozesse von 6-7 unter Verwendung ausführbarer Anweisungen (z. B. computer- und/oder maschinenlesbare Anweisungen) implementiert werden, die auf einem nicht-flüchtigen Computer und/oder maschinenlesbaren Medium gespeichert sind, wie z. B. einem Festplattenlaufwerk, einem Flash-Memory, einem Nur-Lese-Speicher, einer Compact Disk, einer Digital Versatile Disk, einem Cache, einem Direktzugriffsspeicher und/oder einem anderen Speichergerät oder einer anderen Speicherplatte, auf der Informationen für eine beliebige Dauer gespeichert sind (z. B. für längere Zeiträume, dauerhaft, für kurze Zeiträume, zum flüchtigen Puffern und/oder zum Zwischenspeichern der Informationen). Wie hierin verwendet, ist der Begriff nicht-flüchtiges computerlesbares Medium ausdrücklich so definiert, dass er jede Art von computerlesbarer Speichervorrichtung und/oder Speicherplatte umfasst und Ausbreitungssignale und Übertragungsmedien ausschließt.
  • „Enthalten“ und „Umfassen“ (und alle Formen und Zeiten davon) werden hier als offene Begriffe verwendet. Wann immer ein Anspruch irgendeine Form von „Enthalten“ oder „Umfassen“ (z. B. umfasst, enthält, umfassend, enthaltend, aufweisend usw.) als ein Oberbegriff oder innerhalb einer Anspruchsangabe jeglicher Art verwendet, versteht es sich, dass zusätzliche Elemente, Begriffe usw. vorhanden sein können, ohne den Rahmen des entsprechenden Anspruchs oder der entsprechenden Beschreibung zu verlassen. Wie hierin verwendet, ist der Ausdruck „mindestens“, wenn er beispielsweise in einem Oberbegriff eines Anspruchs als Übergangsbegriff verwendet wird, in der gleichen Weise offen wie der Ausdruck „umfassend“ und „enthaltend“. Der Begriff „und/oder“, wenn er beispielsweise in einer Form wie A, B und/oder C verwendet wird, bezieht sich auf eine beliebige Kombination oder Teilmenge von A, B, C wie (1) A allein, (2) B allein, (3) C allein, (4) A mit B, (5) A mit C, (6) B mit C und (7) A mit B und C. Wie hier im Zusammenhang mit der Beschreibung von Strukturen, Komponenten, Gegenständen, Objekten und/oder Dingen verwendet, soll sich der Ausdruck „mindestens eines von A und B“ auf Implementierungen beziehen, welche eines beliebigen von (1) mindestens ein A, (2) mindestens ein B und (3) mindestens ein A und mindestens ein B enthalten. In ähnlicher Weise, wie hier im Zusammenhang mit der Beschreibung von Strukturen, Komponenten, Gegenständen, Objekten und/oder Dingen verwendet, soll sich der Ausdruck „mindestens eines von A oder B“ auf Implementierungen beziehen, die eines von (1) mindestens ein A, (2) mindestens ein B und (3) mindestens ein A und mindestens ein B umfassen. Wie hier im Zusammenhang mit der Beschreibung der Durchführung und oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten verwendet, soll sich der Ausdruck „mindestens eines von A und B“ auf Implementationen beziehen, welche ein beliebiges von (1) mindestens ein A, (2) mindestens ein B, und (3) mindestens ein A und mindestens ein B beziehen. In ähnlicher Weise ist, wie hier im Zusammenhang mit der Beschreibung der Durchführung oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten verwendet, soll sich der Ausdruck „mindestens eines von A oder B“ auf Implementierungen beziehen, die eines von (1) mindestens ein A, (2) mindestens ein B, und (3) mindestens ein A und mindestens ein B enthalten.
  • 6 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen 600 darstellt, die ausgeführt werden können, um den VA 100 von 1A-2 zu implementieren, um ein Skript basierend auf einer Anforderung zu erzeugen und auszuführen. Die maschinenlesbaren Anweisungen 600 beginnen in Block 602, bei dem der VA 100 bestimmt, ob eine Anforderung empfangen wurde. Beispielsweise kann die Framework-Steuerung 212 von 2 bestimmen, dass der Benutzer 104 die erste Anforderung 201a von 2 an den VA 100 über eines der am Körper tragbaren Geräte 128, 130, 132, die DCS-Steuerungsanordnung 226 usw. an den VA 100 ausgegeben hat, um das erste Feldgerät 116 von 1A zu öffnen. In anderen Beispielen kann die Framework-Steuerung 212 bestimmen, dass die Host-Anwendung 106 die zweite Anforderung 201b an den VA 100 erzeugt hat, um das erste Feldgerät 116 zu öffnen.
  • Wenn der VA 100 in Block 602 bestimmt, dass eine Anforderung nicht empfangen wurde, wartet der VA 100 weiterhin auf eine Anforderung. Wenn der VA 100 in Block 602 bestimmt, dass eine Anforderung empfangen wurde, analysiert der VA 100 die Anforderung in Block 604. Beispielsweise kann der Parser 214 von 2 die Anforderung 201a-b in einen oder mehrere Tokens zerlegen. Als Antwort auf das Zerlegen der Anforderung in Block 604 validiert der VA 100 die Anforderung in Block 606. Beispielsweise kann der Analysator 216 von 2 einen oder mehrere Tokens mit gültigen Tokens vergleichen.
  • In Block 608 bestimmt der VA 100, ob die Anforderung validiert ist. Beispielsweise kann der Analysator 216 basierend auf dem Vergleich der analysierten Tokens mit gültigen Tokens bestimmen, dass die Anforderung 201a-b nicht gültig ist, indem er bestimmt, dass ein oder mehrere Tokens nicht gültig sind, eine Reihenfolge der Tokens keine gültige Reihenfolge ist usw. In anderen Beispielen kann der Analysator 216 bestimmen, dass die Anforderung 201a-b gültig ist, basierend auf einem oder mehreren der analysierten Tokens, die als gültige Tokens identifiziert werden. Mit anderen Worten kann der Analysator 216 basierend auf der Identifizierung des validierten Tokens bzw. der validierten Tokens bestimmen, dass die Anforderung 201a-b gültig ist.
  • Wenn der VA 100 in Block 608 bestimmt, dass die Anforderung nicht validiert ist, fährt die Steuerung mit Block 610 fort, um eine Klärungsanforderung zu erzeugen und zu übertragen. Beispielsweise kann der Generator 218 von 2 eine Klärungsanforderung erzeugen und die Klärungsanforderung an den Benutzer 104, die Host-Anwendung 106, eine der am Körper tragbaren Vorrichtungen 128, 130, 132 usw. übertragen. In solchen Beispielen kann die Klärungsanforderung eine Aufforderung zum Wiederholen der Anforderung, zum erneuten Formulieren der Anforderung, zur Umformulierung der Anforderung, zur Bereitstellung einer anderen Anforderung usw. enthalten. Als Antwort auf das Erzeugen und Übertragen der Klärungsanforderung kehrt die Steuerung zurück, um zu bestimmen, ob in Block 602 eine weitere Anforderung empfangen wurde.
  • Wenn in Block 608 der VA 100 bestimmt, dass die Anforderung validiert ist, dann bestimmt der VA 100 in Block 612, ob ein Konversationszustand verfügbar ist. Beispielsweise kann der Konversationsprozessor 238 den Konversationszustands-Handler 242 von 1 abfragen, um zu bestimmen, ob eine Konversation instanziiert und/oder auf andere Weise initialisiert wurde. In solchen Beispielen kann der Konversationsprozessor 238 bestimmen, dass der Konversationszustand nicht verfügbar ist, basierend auf einer Konversation, die nicht instanziiert wird, und einem entsprechenden Konversationszustand, der nicht vom Konversationszustands-Handler 242 gespeichert und/oder anderweitig verwaltet wird. In anderen Beispielen kann der Konversationsprozessor 238 bestimmen, dass der Konversationszustand verfügbar ist, basierend auf einer Konversation, die instanziiert wird, und ein entsprechender Konversationszustand wird gespeichert und/oder anderweitig von dem Konversationszustands-Handler 242 verwaltet. Beispielsweise kann der Konversationszustands-Handler 242 einen Konversationszustand, wie zum Beispiel ein Thema, einen Abschlusszustand eines Skripts, eine vom Aktionsprozessor 240 ausgeführte Aktion usw., an den Konversationsprozessor 238 übertragen.
  • Wenn der VA 100 in Block 612 bestimmt, dass der Konversationszustand verfügbar ist, geht die Steuerung zu Block 616 weiter, um ein Thema zu identifizieren. Wenn der VA 100 in Block 612 bestimmt, dass der Konversationszustand nicht verfügbar ist, stellt der VA 100 in Block 614 anschließend einen Konversationszustand her. Beispielsweise kann der Konversationsprozessor 238 eine Konversation initialisieren und einen entsprechenden Konversationszustand an den Konversationszustands-Handler 242 übertragen. Als Antwort auf das Herstellen des Konversationszustands identifiziert der VA 100 in Block 616 ein Thema. Beispielsweise kann der Konversationsprozessor 238 ein Thema des ersten Feldgeräts 116 basierend auf der verarbeiteten Anforderung identifizieren, die von dem Server-Bot-Framework 210 von 2 erhalten wird.
  • In Block 618 erzeugt der VA 100 ein Skript. Beispielsweise kann der Konversationsprozessor 238 das Thema 246 von 2 auf einer Konfiguration oder mehreren der Konfigurationen 248a, einem Skript oder mehreren der Skripte 248b, einer oder mehrerer der Aktionen 250 usw. und/oder einer Kombination davon in der Konversationskontext-Datenbank 244 von 2 abbilden. In solchen Beispielen kann der Konversationsprozessor 238 ein Skript basierend auf der Abbildung verpacken. Beispielsweise kann der Konversationsprozessor 238 ein Skript erzeugen, das die eine Konfiguration oder die mehreren Konfigurationen 248a, das eine Skript oder die mehreren Skripte 248b, die eine Aktion oder die mehreren Aktionen 250 usw. und/oder eine Kombination davon enthält, welche das Thema 246 in der Konversationskontext-Datenbank 244 abbildet.
  • Als Antwort auf das Erzeugen des Skripts führt der VA 100 das Skript in Block 620 aus. Beispielsweise kann der Aktionsprozessor 240 von 2 einen Befehl an eines der Systeme 222 von 2 übertragen, um eine Ausführung des durch den Konversationsprozessor 238 erzeugten Skripts zu erleichtern. Beispielsweise kann der Aktionsprozessor 240 einen Befehl an das Prozesssteuersystem 102 von 1A-1B erzeugen, um das erste Feldgerät 116 zu öffnen.
  • In Block 622 aktualisiert der VA 100 einen Konversationszustand. Beispielsweise kann der Konversationszustands-Handler 242 den Konversationszustand aktualisieren, um als Antwort auf das Öffnen des ersten Feldgeräts 116 abgeschlossen zu werden. In anderen Beispielen kann der Konversationszustands-Handler 242 den Konversationszustand vom Öffnen des ersten Feldgeräts 116 zum Öffnen des ersten Feldgeräts 116 aktualisieren, wobei das erste Feldgerät zu 95% geöffnet ist, usw.
  • Als Antwort auf das Aktualisieren des Konversationszustands erzeugt der VA 100 in Block 624 eine Antwort und sendet sie an den Anforderer. Beispielsweise kann der Konversationsprozessor 238 eine Antwort an den Benutzer 104, die Host-Anwendung 106, eine der am Körper tragbaren Vorrichtungen 128, 130, 132 und die DCS-Steuerungs-Baugruppe 226 von 2 verpacken und übertragen, wodurch angezeigt wird, dass das erste Feldgerät 116 geöffnet ist und/oder eine Ventilstellung des ersten Feldgeräts 116 angezeigt wird.
  • In Block 626 bestimmt der VA 100, ob ein Skript abgeschlossen ist. Beispielsweise kann der Konversationszustands-Handler 242 bestimmen, dass ein Skript, das der Anforderung von dem Benutzer 104, der Host-Anwendung 106 usw. zugeordnet ist, abgeschlossen ist, basierend darauf, dass der Aktionsprozessor 240 alle im Skript enthaltenen Aktionen abschließt. In anderen Beispielen kann der Konversationszustands-Handler 242 basierend auf einer Aktion oder mehreren Aktionen, die vom Aktionsprozessor 240 und/oder vom Benutzer 104, der Host-Anwendung 106 usw. auszuführen sind, bestimmen, dass das Skript nicht vollständig ist, ohne eine Bestätigung auszugeben, dass das Skript vollständig ist.
  • Wenn der VA 100 in Block 626 bestimmt, dass das Skript vollständig ist, fährt die Steuerung in Block 630 fort, zu bestimmen, ob die Überprüfung auf Anforderungen fortgesetzt werden soll. Wenn der VA 100 in Block 626 bestimmt, dass das Skript nicht vollständig ist, stellt der VA 100 anschließend in Block 628 fest, ob der Anforderer die Konversation beendet hat. Beispielsweise kann der Konversationsprozessor 238 bestimmen, ob der Benutzer 104, die Host-Anwendung 106 usw. einen Befehl an den VA 100 erzeugt haben, um die Konversation zu beenden.
  • In Block 630 bestimmt der VA 100, ob die Überprüfung auf Anforderungen fortgesetzt werden soll. Wenn der VA 100 in Block 630 bestimmt, dass die Überprüfung auf Anforderungen fortgesetzt werden soll, kehrt die Steuerung zurück, um auf eine weitere Anforderung zu warten und zu bestimmen, ob in Block 602 eine weitere Anforderung empfangen wurde. Wenn der VA 100 in Block 630 bestimmt, dass die Überprüfung auf Anforderungen nicht fortgesetzt werden soll, werden die maschinenlesbaren Anweisungen 600 von 6 abgeschlossen.
  • 7 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen 700 darstellt, die ausgeführt werden können, um den VA 100 von 1A-2 zu implementieren, um eine Visualisierung basierend auf einer Anforderung zu erzeugen und anzuzeigen. Die maschinenlesbaren Anweisungen 700 beginnen in Block 702, in welchem der VA 100 bestimmt, ob eine Anforderung empfangen wurde. Beispielsweise kann die Framework-Steuerung 212 von 2 bestimmen, dass der Benutzer 104 über die Host-Anwendung 106 die verbale Anforderung „Zeige mir den Prozesstank“ an den VA 100 ausgegeben hat. In anderen Beispielen kann die Framework-Steuerung 212 bestimmen, dass die Host-Anwendung 106 eine Anforderung an den VA 100 zum Abrufen von Informationen über den Prozesstank 122 von 1A-1B erzeugt hat.
  • Wenn der VA 100 in Block 702 bestimmt, dass eine Anforderung nicht empfangen wurde, wartet der VA 100 weiterhin auf eine Anforderung. Wenn der VA 100 in Block 702 bestimmt, dass eine Anforderung empfangen wurde, zerlegt der VA 100 die Anforderung in Block 704. Beispielsweise kann der Parser 214 von 2 die Anforderung 201a-b von 2 in einen oder mehrere Tokens zerlegen. Als Antwort auf das Zerlegen der Anforderung in Block 704 validiert der VA 100 die Anforderung in Block 706. Beispielsweise kann der Analysator 216 von 2 einen oder mehrere Tokens mit gültigen Tokens vergleichen.
  • Der VA 100 bestimmt in Block 708, ob die Anforderung validiert ist. Beispielsweise kann der Analysator 216 basierend auf dem Vergleich der analysierten Tokens mit gültigen Tokens bestimmen, dass die Anforderung ungültig ist, indem er bestimmt, dass ein oder mehrere Tokens ungültig sind, eine Reihenfolge der Tokens keine gültige Reihenfolge ist usw. In anderen Beispielen kann der Analysator 216 bestimmen, dass die Anforderung 201a-b gültig ist, basierend auf einem oder mehreren der analysierten Tokens, die als gültige Tokens identifiziert werden.
  • Wenn der VA 100 in Block 708 bestimmt, dass die Anforderung nicht validiert ist, fährt die Steuerung mit Block 710 fort, um eine Klärungsanforderung zu erzeugen und zu übertragen. Beispielsweise kann der Generator 218 von 2 eine Klärungsanforderung erzeugen und die Klärungsanforderung an den Benutzer 104, die Host-Anwendung 106 usw. übertragen. In solchen Beispielen kann die Klärungsanforderung eine Aufforderung zum Wiederholen der Anforderung 201a-b, zum Umformulieren der Anforderung 201a-b, zum Bereitstellen einer anderen der Anforderungen 201a-b usw. enthalten. Als Antwort auf das Erzeugen und Übertragen der Klärungsanforderung kehrt die Steuerung zurück, um zu bestimmen, ob in Block 702 eine andere Anforderung empfangen wird.
  • Wenn in Block 708 der VA 100 bestimmt, dass die Anforderung validiert ist, dann bestimmt der VA 100 in Block 712, ob ein Konversationszustand verfügbar ist. Beispielsweise kann der Konversationsprozessor 238 den Konversationszustands-Handler 242 von 1 abfragen, um zu bestimmen, ob eine Konversation instanziiert und/oder auf andere Weise initialisiert wurde. In solchen Beispielen kann der Konversationsprozessor 238 bestimmen, dass der Konversationszustand nicht verfügbar ist, basierend auf einer Konversation, die nicht instanziiert wird, und einem entsprechenden Konversationszustand, der nicht vom Konversationszustands-Handler 242 gespeichert und/oder anderweitig verwaltet wird. In anderen Beispielen kann der Konversationsprozessor 238 bestimmen, dass der Konversationszustand verfügbar ist, basierend auf einer Konversation, die instanziiert wird, und ein entsprechender Konversationszustand wird gespeichert und/oder anderweitig von dem Konversationszustands-Handler 242 verwaltet. Beispielsweise kann der Konversationszustands-Handler 242 einen Konversationszustand, wie zum Beispiel ein Thema, einen Abschlusszustand eines Skripts, eine vom Aktionsprozessor 240 ausgeführte Aktion usw., an den Konversationsprozessor 238 übertragen.
  • Wenn in Block 712 der VA 100 bestimmt, dass der Konversationszustand verfügbar ist, geht die Steuerung zu Block 716 weiter, um ein Thema zu identifizieren. Wenn der VA 100 in Block 712 bestimmt, dass der Konversationszustand nicht verfügbar ist, stellt der VA 100 anschließend in Block 714 einen Konversationszustand her. Beispielsweise kann der Konversationsprozessor 238 eine Konversation initialisieren und einen entsprechenden Konversationszustand an den Konversationszustands-Handler 242 übertragen. Als Antwort auf das Herstellen des Konversationszustands identifiziert der VA 100 in Block 716 ein Thema. Beispielsweise kann der Konversationsprozessor 238 ein Thema des Prozesstanks 122 basierend auf der verarbeiteten Anforderung identifizieren, die von dem Server-Bot-Framework 210 von 2 erhalten wird.
  • Als Antwort auf das Identifizieren des Themas bildet der VA 100 das Thema in Block 718 in einem Profil ab. Beispielsweise kann der Konversationsprozessor 238 das Thema des Prozesstanks 122 im Profil 300 von 3 in der Konversationskontext-Datenbank 244 von 2 abbilden. In solchen Beispielen kann der Konversationsprozessor 238 basierend auf der Abbildung bestimmen, dass das identifizierte Thema, das in der Anforderung von dem Benutzer 104, der Host-Anwendung 106 usw. enthalten ist, dem Prozesstank 122 entspricht. Der Konversationsprozessor 238 kann Informationen, die dem Prozesstank 122 zugeordnet sind, basierend auf der Abbildung bestimmen, einschließlich welcher Feldgeräte des Prozesssteuerungssystems 102 von 1A-1B mit dem Prozesstank 122 gekoppelt sind, wobei die Feldgeräte des Prozesssteuerungssystems 102 dem Prozesstank 122 zugeordnete Messungen überprüfen oder durchführen usw. Zusätzlich oder alternativ kann der Konversationsprozessor 238 im Profil 300 enthaltene Informationen bestimmen einschließlich der Parameter 306, der Tags 308, der Beschreibungen 310 usw.
  • In Block 720 erzeugt der VA 100 eine Antwort, die einer Ebene des Profils entspricht. Beispielsweise kann der Konversationsprozessor 238 eine Antwort verpacken, die Informationen enthält, welche L1 des Profils 300 zugeordnet sind. In solchen Beispielen kann die Antwort Informationen enthalten, die mindestens einer der Kategorien „Common“ („üblich“) oder „Surge Drum“ („Pumptrommel“) von 3 entsprechen. Beispielsweise kann die Antwort mindestens einen der Behälterfüllstands-Parameter, der Behälterdruckparameter, die entsprechenden Tags 308, die entsprechenden Beschreibungen 310 usw. enthalten.
  • In Block 722 überträgt der VA 100 die Antwort an eine Host-Anwendung. Beispielsweise kann der Konversationsprozessor 238 die Antwort an die Host-Anwendung 106 über mindestens eines des Host-Anwendungs-Bot-Frameworks 208 oder des Server-Bot-Frameworks 210 übertragen. In solchen Beispielen kann die Host-Anwendung 106 die erste Visualisierung 400 von 4 erzeugen und die erste Visualisierung 400 auf einer grafischen Benutzerschnittstelle (GUI), einer Mensch-Maschine-Schnittstelle (HMI) usw. über das dritte am Körper tragbare Gerät 132 von 1B, die mobile Anwendung 202, die Browser Anwendung 204, die Desktop-Anwendung 206 usw. erzeugen. Beispielsweise kann die Host-Anwendung 106 die erste Visualisierung 400 auf einem Display eines Objektivs, eines mobilen Geräts, eines Desktop-Computers, eines Laptop-Computers oder jeder anderen Anzeige anzeigen, die kommunikativ mit einer Rechenvorrichtung verbunden ist. In anderen Beispielen kann der Konversationsprozessor 238 die Antwort an die Host-Anwendung 106 übertragen, die auf einem HMI arbeitet und/oder auf andere Weise ausgeführt wird, das kommunikativ mit der DCS-Steuerungs-Baugruppe 226 von 2 verbunden ist.
  • In Block 724 aktualisiert der VA 100 einen Konversationszustand. Beispielsweise kann der Konversationsprozessor 238 den Konversationszustands-Handler 242 anweisen, einen Konversationszustand basierend auf der Antwort zu aktualisieren. Beispielsweise kann der Konversationszustands-Handler 242 L1 dem Konversationszustand zuweisen, der angibt, dass Informationen, die L1 zugeordnet sind, an einen Anforderer wie den Benutzer 104, die Host-Anwendung 106 usw. übermittelt wurden. In anderen Beispielen kann der Konversationszustands-Handler 242 das Thema des Prozesstanks 122 und/oder L1 und/oder Informationen, die an den Benutzer 104, die Host-Anwendung 106 usw. übertragen wurden, dem Konversationszustand zuweisen.
  • In Block 726 zeigt der VA 100 eine Visualisierung basierend auf der Antwort auf der Host-Anwendung an. Beispielsweise kann das Server-Bot-Framework 210 die Antwort an die Host-Anwendung 106 übertragen und die Host-Anwendung 106 anweisen, die erste Visualisierung 400 auf einer GUI, HMI usw. auf einem Gerät anzuzeigen, das die Host-Anwendung 106 ausführt.
  • Als Antwort auf das Anzeigen der Visualisierung bestimmt der VA 100, ob verfügbare Ebenen zum Anzeigen in Block 728 vorhanden sind. Beispielsweise kann der Konversationsprozessor 238 bestimmen, dass L2 nicht an die Host-Anwendung 106 kommuniziert wurde. In anderen Beispielen kann der Konversationsprozessor 238 bestimmen, dass ein L1 zugeordneter Parameter wie der Behälterdruckparameter nicht kommuniziert wurde, weil der Benutzer 104, die Host-Anwendung 106 usw. nur den Behälterfüllstands-Parameter angefordert haben. In noch anderen Beispielen kann der Konversationsprozessor 238 basierend auf der Anforderung für eine andere der Kategorien 304 bestimmen, dass eine der Kategorien 304 nicht kommuniziert wurde. In solchen Beispielen kann der Konversationsprozessor 238 bestimmen, Informationen, die noch nicht angefordert, bereitgestellt usw. wurden, an den Benutzer 104, die Host-Anwendung 106 usw. als Antwort auf eine Anforderung für zusätzliche Informationen bereitzustellen, die dem Prozesstank 122 zugeordnet sind.
  • Wenn der VA 100 in Block 728 bestimmt, dass keine verfügbaren Ebenen zum Anzeigen vorhanden sind, fährt die Steuerung mit Block 734 fort, um zu bestimmen, ob die Überprüfung auf Anforderungen fortgesetzt werden soll. Wenn der VA 100 in Block 728 bestimmt, dass verfügbare Ebenen zum Anzeigen vorhanden sind, stellt der VA 100 in Block 730 fest, ob eine Anforderung für weitere Informationen zu dem Thema empfangen wurde. Beispielsweise kann die Framework-Steuerung 212 bestimmen, ob eine Anforderung vom Benutzer 104, der Host-Anwendung 106 usw. empfangen wurde. Als Antwort auf das Bestimmen, dass die Anforderung empfangen wurde, kann der Konversationsprozessor 238 bestimmen, ob die Anforderung dem Thema des Prozesstanks 122 zugeordnet ist. Wenn der Konversationsprozessor 238 bestimmt, dass die Anforderung einer Anfrage nach mehr Informationen auf dem Prozesstank 122 entspricht, kann der Konversationsprozessor 238 den Konversationszustand von dem Konversationszustands-Handler 242 erhalten und Informationen bestimmen, die im Profil 300 enthalten sind, um sie in eine Antwort zur Anforderung zu verpacken. Beispielsweise kann der Konversationsprozessor 238 den Konversationszustand von L1 von dem Konversationszustands-Handler 242 erhalten und bestimmen, Informationen, die L2 zugeordnet sind, in eine Antwort zu packen und die Antwort an den Benutzer 104, die Host-Anwendung 106 usw. zu übertragen.
  • Wenn der VA 100 in Block 730 bestimmt, dass die empfangene Anforderung für weitere Informationen zu dem Thema erfolgt, kehrt die Steuerung zu Block 720 zurück, um eine Antwort zu erzeugen, welche einer Ebene des Profils entspricht. Beispielsweise kann der Konversationsprozessor 238 Informationen, die L2 des Profils 300 zugeordnet sind, in einer Antwort wie dem Behältertemperatur-Parameter, dem Tag T XX27 usw. und/oder einer Kombination davon verpacken. In anderen Beispielen kann der Konversationsprozessor 238 der Pumptrommel-Kategorie zugeordnete Informationen, einen anderen Parameter, ein Tag oder eine Beschreibung, die der Kategorie „Common“ („üblich“) usw. zugeordnet sind, wie in 3 gezeigt, verpacken. Als Antwort auf das Erzeugen der Antwort kann der VA 100 mit dem Übertragen der Antwort an die Host-Anwendung in Block 722 fortfahren und den Konversationszustand in Block 724 aktualisieren (z. B. Aktualisieren des Konversationszustands auf L2, Informationen, die L1 und/oder L2 zugeordnet sind, usw.) und Anweisen von mindestens einem der dritten am Körper tragbaren Geräte 132, das eine Visualisierung anzeigt oder der Host-Anwendung 106, die Visualisierung auf der Host-Anwendung 106 basierend auf der Antwort anzuzeigen. Beispielsweise kann der VA 100 die Host-Anwendung 106 anweisen, die zweite Visualisierung 500 von 5 auf einem mobilen Gerät, Desktop-Computer usw., welches die Host-Anwendung 106 ausführt, anzuzeigen.
  • Wenn der VA 100 in Block 730 bestimmt, dass die empfangene Anforderung keine weiteren Informationen zu dem Thema enthält, bestimmt der VA 100 in Block 732 anschließend, ob ein Anforderungszeitlimit abgelaufen ist. Beispielsweise kann die Framework-Steuerung 212 bestimmen, dass eine Anforderung von dem Benutzer 104, der Host-Anwendung 106 usw. nicht innerhalb eines Schwellenwertzeitraums (z. B. 1 Minute, 10 Minuten, 60 Minuten usw.) empfangen wurde. In anderen Beispielen kann der Konversationsprozessor 238 bestimmen, dass eine Anforderung empfangen wurde, aber nicht auf das Thema des Prozesstanks 122 gerichtet ist. In solchen Beispielen kann der Konversationsprozessor 238 den Konversationszustands-Handler 242 anweisen, den Konversationszustand zu aktualisieren, den Konversationszustand durch ein neues Thema zu ersetzen oder das Thema des Prozesstanks 122 vom Konversationszustand zu trennen. In anderen Beispielen kann der Konversationsprozessor 238 den Konversationszustands-Handler 242 anweisen, einen anderen Konversationszustand zu instanziieren, der gleichzeitig mit dem dem Prozesstank 122 zugeordneten Konversationszustand existiert.
  • Wenn in Block 732 das Anforderungszeitlimit nicht abgelaufen ist, kehrt die Steuerung zu Block 730 zurück, um auf eine weitere Anforderung zu warten. Wenn in Block 732 das Anforderungszeitlimit abgelaufen ist, bestimmt der VA 100 in Block 734, ob die Überprüfung auf Anforderungen fortgesetzt werden soll. Beispielsweise kann die Framework-Steuerung 212 bestimmen, den VA 100 herunterzufahren, den VA 100 in einen Energiesparmodus oder Ruhezustand zu versetzen usw.
  • Wenn der VA 100 in Block 734 bestimmt, die Überprüfung auf Anforderungen fortzusetzen, kehrt die Steuerung zu Block 702 zurück, um auf eine weitere Anforderung zu warten. Wenn der VA 100 in Block 734 bestimmt, dass die Überprüfung auf Anforderungen nicht fortgesetzt werden soll, werden die maschinenlesbaren Anweisungen 700 von 7 abgeschlossen.
  • 8 ist ein Blockdiagramm einer beispielhaften Verarbeitungsplattform 800, die so aufgebaut ist, dass sie die Anweisungen von 6-7 ausführt, um den VA 100 von 1A-2 zu implementieren. Die Verarbeitungsplattform 800 kann beispielsweise ein Server, ein Personal Computer, eine Workstation, eine DCS-Steuerungs-Baugruppe (z. B. die DCS-Steuerungs-Baugruppe 226 von 2), eine selbstlernende Maschine (z. B. ein neuronales Netzwerk), ein Mobilgerät (z. B. ein Mobiltelefon, ein Smartphone, ein Tablet wie ein iPad™ ), ein persönlicher digitaler Assistent (PDA), ein Internetgerät, ein Headset oder ein anderes am Körper tragbares Gerät (z. B. die am Körper tragbaren Geräte 128, 130, 132 von 1) oder irgendeine andere Art von Rechenvorrichtung sein.
  • Die Verarbeitungsplattform 800 des dargestellten Beispiels enthält einen Prozessor 812. Der Prozessor 812 des dargestellten Beispiels ist Hardware. Beispielsweise kann der Prozessor 812 durch eine oder mehrere integrierte Schaltungen, Logikschaltungen, Mikroprozessoren, GPUs, DSPs oder Steuerungen einer beliebigen gewünschten Produktfamilie oder eines beliebigen Herstellers implementiert werden. Der Hardwareprozessor kann eine Vorrichtung auf Halbleiterbasis (z. B. auf Siliziumbasis) sein. In diesem Beispiel implementiert der Prozessor 812 das Server-Bot-Framework 210, die Framework-Steuerung 212, den Parser 214, den Analysator 216, den Generator 218, den Ausführer 220, die Konversationskontextmaschine 224, den Konversationsprozessor 238 und den Aktionsprozessor 240, den Konversationszustands-Handler 242 und/oder allgemeiner den VA 100.
  • Der Prozessor 812 des dargestellten Beispiels enthält einen lokalen Speicher 813 (z. B. einen Cache). Der Prozessor 812 des dargestellten Beispiels kommuniziert mit einem Hauptspeicher, der einen flüchtigen Speicher 814 und einen nicht-flüchtigen Speicher 816 enthält, über einen Bus 818. Der flüchtige Speicher 814 kann durch einen Synchronous Dynamic Random Access Memory (SDRAM), einen Dynamic Random Access Memory (DRAM), einen RAMBUS® Dynamic Random Access Memory (RDRAM®) und/oder einen beliebigen anderen Typ einer Direktzugriffsspeichervorrichtung implementiert werden. Der nicht-flüchtige Speicher 816 kann durch einen Flash-Memory und/oder einen beliebigen anderen gewünschten Typ einer Speichervorrichtung implementiert werden. Der Zugriff auf den Hauptspeicher 814, 816 wird von einer Speichersteuerung gesteuert.
  • Die Verarbeitungsplattform 800 des dargestellten Beispiels enthält auch eine Schnittstellenschaltung 820. Die Schnittstellenschaltung 820 kann durch eine beliebige Art von Schnittstellenstandard implementiert werden, wie beispielsweise eine Ethernet-Schnittstelle, einen universellen seriellen Bus (USB), eine Bluetooth®-Schnittstelle, eine Nahfeldkommunikationsschnittstelle (NFC) und/oder eine PCI-Express-Schnittstelle.
  • In dem dargestellten Beispiel sind eine oder mehrere Eingabevorrichtungen 822 mit der Schnittstellenschaltung 820 verbunden. Die Eingabevorrichtung(en) 822 erlaubt (erlauben) einem Benutzer, Daten und/oder Befehle in den Prozessor 812 einzugeben. Die Eingabevorrichtung(en) 822 kann (können) beispielsweise durch einen Audiosensor, ein Mikrofon, eine Kamera (Standbild oder Video), eine Tastatur, eine Taste, eine Maus, einen Touchscreen, ein Trackpad, einen Trackball, ein Isopoint-Gerät und/oder ein Spracherkennungssystem implementiert werden.
  • ine oder mehrere Ausgabevorrichtungen 824 sind ebenfalls mit der Schnittstellenschaltung 820 des dargestellten Beispiels verbunden. Die Ausgabevorrichtungen 824 können zum Beispiel durch Anzeigevorrichtungen (z. B. eine Leuchtdiode (LED), eine organische Leuchtdiode (OLED), eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhrenanzeige (CRT), ein In-Place-Switching (IPS)-Display, einen Touchscreen usw.), ein taktiles Ausgabegerät, einen Drucker und/oder einen Lautsprecher implementiert werden. Die Schnittstellenschaltung 820 des dargestellten Beispiels enthält somit typischerweise eine Grafiktreiberkarte, einen Grafiktreiberchip und/oder einen Grafiktreiberprozessor.
  • Die Schnittstellenschaltung 820 des dargestellten Beispiels enthält auch eine Kommunikationsvorrichtung, wie beispielsweise einen Sender, einen Empfänger, einen Transceiver, ein Modem, ein Heim-Gateway, einen drahtlosen Zugangspunkt und/oder eine Netzwerkschnittstelle, um den Datenaustausch mit externen Maschinen (z. B. Rechenvorrichtungen jeglicher Art) über ein Netzwerk 826 zu erleichtern. Die Kommunikation kann beispielsweise über eine Ethernet-Verbindung, eine DSL-Verbindung (Digital Subscriber Line), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein drahtloses Line-of-Site-System, ein Mobilfunktelefonsystem usw. erfolgen.
  • Die Verarbeitungsplattform 800 des dargestellten Beispiels umfasst auch eine oder mehrere Massenspeichervorrichtungen 828 zum Speichern von Software und/oder Daten. Beispiele für solche Massenspeichervorrichtungen 828 umfassen Diskettenlaufwerke, Festplattenlaufwerke, Compact Disk-Laufwerke, Blu-ray-Laufwerke, RAID-Systeme (Redundant Array of Independent Disks) und DVD-Laufwerke (Digital Versatile Disk). In diesem Beispiel implementieren die Massenspeichervorrichtungen 828 die Konversationskontext-Datenbank 244 von 2, die das Modell (die Modelle) 243 von 2 enthalten.
  • Die maschinenausführbaren Anweisungen 832 von 6-7 können in der Massenspeichervorrichtung 828, im flüchtigen Speicher 814, im nicht-flüchtigen Speicher 816 und/oder auf einem entfernbaren nicht-flüchtigen computerlesbaren Speichermedium wie einer CD oder DVD gespeichert sein.
  • Aus dem Vorstehenden ist ersichtlich, dass beispielhafte Systeme, Verfahren, Vorrichtungen und Herstellungsgegenstände offenbart wurden, welche die Prozesssteuerung unter Verwendung eines virtuellen Assistenten für die Prozesssteuerung ergänzen. Der hierin offenbarte virtuelle Assistent für die Prozesssteuerung entspricht einem System, das es Anwendungen wie beispielsweise mobilen Anwendungen für die Prozesssteuerung, Browser-Anwendungen und/oder Desktop-Anwendungen ermöglicht, Gespräche mit Bots oder Bot-Frameworks zu initiieren, die Benutzer in Prozesssteuerungsumgebungen bei Aufgaben unterstützen, welche der Prozesssteuerung zugeordnet sind. Die offenbarten virtuellen Assistenten für die Prozesssteuerung können Parameter, Verlaufsdaten, Warnungen oder andere Informationen zurückgeben, die für Prozesssteuerungskomponenten, welche Geräte, Feldgeräte, Steuerungsstrategie oder Batch enthalten, spezifisch sind. In einigen offenbarten Beispielen können grundlegende Skripte Informationen einschließlich Parametern zurückgeben, während komplexe Skripte zusätzlich einen Workflow erstellen können, der wiederum zusätzliche automatisierte Skripte ausführen kann, die den Benutzer durch eine komplexere Sequenz von Prozesssteuerungsaufgaben oder -anweisungen führen.
  • Hier offenbarte Beispiele stellen ein prozessorientiertes virtuelles Assistenten-Framework bereit, das verwendet werden kann. um prozessbetriebsspezifische Rollen zu unterstützen, einschließlich die des Ingenieurs, Umweltspezialisten, Bedieners, Wartungsbeauftragten, Supervisors usw. Hier offenbarte Beispiele identifizieren Prozesssteuerungskomponenten, Aktionen, Aufgaben usw. als Antwort auf eine Anforderung von einem Benutzer und/oder einer Host-Anwendung, die auf einer Rechenvorrichtung ausgeführt wird. Hier offenbarte Beispiele ermöglichen das Auslösen von Aktionssätzen für Prozesskomponenten, das Zurückgeben von Informationsprofilen für Prozesskomponenten und/oder das Anschauen von Visualisierungen für zurückgegebene Informationen durch Benutzer. Hier offenbarte Beispiele unterstützen mehrere Benutzer und/oder mehrere Plattformen. Hier offenbarte Beispiele umfassen DCS-Steuerungsanordnungen, die den offenbarten virtuellen Assistenten für die Prozesssteuerung implementieren, der an einem oder mehreren Orten einer Prozesssteuerungsumgebung angeordnet sein kann, die über das Prozesssteuerungsnetzwerk eine Verbindung herstellen kann, um die Prozesssteuerung zu erleichtern und/oder auf andere Weise zu ergänzen.
  • Obwohl hier bestimmte beispielhafte Systeme, Verfahren, Vorrichtungen und Herstellungsgegenstände offenbart wurden, ist der Umfang des Schutzbereichs dieses Patents nicht darauf beschränkt. Im Gegenteil, dieses Patent deckt alle Systeme, Verfahren, Vorrichtungen und Herstellungsgegenstände ab, die in den Schutzbereich der Ansprüche dieses Patents fallen.

Claims (25)

  1. Vorrichtung zum Ergänzen der Prozesssteuerung unter Verwendung eines virtuellen Assistenten, wobei die Vorrichtung Folgendes umfasst: mindestens einen Prozessor; und Speicher, der Anweisungen speichert, die, wenn sie ausgeführt werden, den mindestens einen Prozessor zu Folgendem veranlassen: Bestimmen eines Prozesssteuerungskontexts basierend auf einer Informationsanforderung, die einem Feldgerät eines Prozesssteuerungssystems zugeordnet sind, wobei der Prozesssteuerungskontext auf einer Konfiguration des Prozesssteuerungssystems basiert; Identifizieren eines in der Anforderung enthaltenen Themas, wobei das Thema dem Feldgerät basierend auf dem Prozesssteuerungskontext entspricht; Abbilden des Themas in einer Aktion, die von dem Feldgerät ausgeführt werden soll; Erzeugen eines Befehls, um das Feldgerät anzuweisen, die Aktion basierend auf der Abbildung auszuführen; und Übertragen des Befehls auf das Feldgerät, um die Aktion auszuführen.
  2. Vorrichtung nach Anspruch 1, wobei die Anforderung eine verbale Anforderung ist, die an ein Eingabe-/Ausgabemodul einer programmierbaren Logiksteuerung übermittelt wird, wobei das mindestens eine des Eingabe-/Ausgabemoduls oder der programmierbaren Logiksteuerung mindestens eines von einem Mikrofon oder einem Lautsprecher enthält.
  3. Vorrichtung nach Anspruch 1, wobei die Anforderung eine verbale Anforderung ist, die an ein am Körper tragbares Gerät übermittelt wird, das mindestens eines eines Displays, eines Mikrofons oder eines Lautsprechers enthält.
  4. Vorrichtung nach Anspruch 1, wobei die Anweisungen, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor zu Folgendem veranlassen sollen: Herstellen eines Konversationszustands basierend auf dem Thema; Erzeugen einer Antwort einschließlich des Konversationszustands; Übertragen der Antwort an ein Computergerät; und Anzeigen einer Visualisierung auf einem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der Antwort.
  5. Vorrichtung nach Anspruch 1, wobei die Anweisungen, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor zu Folgendem veranlassen sollen: Erzeugen einer Liste von Feldgeräten, einschließlich dem Feldgerät, basierend auf der Konfiguration; Abbilden des Feldgeräts auf einer Nachschlagetabelle, um einen Parameter zu identifizieren, welcher dem Feldgerät zugeordnet ist, wobei der Parameter einem Prozesssteuerungswert zugeordnet ist, welcher dem Feldgerät zugeordnet ist; Abbilden des Feldgeräts auf der Nachschlagetabelle, um eine dem Feldgerät zugeordnete Aktion zu identifizieren, wobei die Aktion einer Funktion des Feldgeräts zugeordnet ist; und Erzeugen eines Profils basierend auf mindestens einem der Parameter oder der Aktion.
  6. Vorrichtung nach Anspruch 5, wobei das Profil mindestens eine erste Ebene und eine zweite Ebene enthält und wobei die Anweisungen, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor zu Folgendem veranlassen sollen: Abbilden des Themas auf der ersten Ebene; Erzeugen einer Antwort, die Informationen enthält, die der ersten Ebene zugeordnet sind; Übertragen der Antwort an ein Computergerät; und Anzeigen einer Visualisierung auf einem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der ersten Ebene.
  7. Vorrichtung nach Anspruch 6, wobei die Anforderung eine erste Anforderung ist und die Visualisierung eine erste Visualisierung ist, und wobei die Anweisungen, wenn sie ausgeführt werden, ferner den mindestens einen Prozessor zu Folgendem veranlassen sollen: Empfangen einer zweiten Anforderung, welche dem Thema zugeordnet ist; Abbilden der zweiten Anforderung auf der zweiten Ebene; Erzeugen einer zweiten Antwort, die Informationen enthält, die der zweiten Ebene zugeordnet sind; Übertragen der zweiten Antwort an das Computergerät; und Ersetzen der ersten Visualisierung durch eine zweite Visualisierung auf dem Display, das der Rechenvorrichtung basierend auf der zweiten Ebene zugeordnet ist.
  8. Verfahren zum Ergänzen der Prozesssteuerung unter Verwendung eines virtuellen Assistenten, wobei das Verfahren Folgendes umfasst: Bestimmen eines Prozesssteuerungskontexts basierend auf einer Informationsanforderung, welche einem Feldgerät einer Prozesssteuerung zugeordnet ist, wobei der Prozesssteuerungskontext auf einer Konfiguration des Prozesssteuerungssystems basiert; Identifizieren eines in der Anforderung enthaltenen Themas, wobei das Thema dem Feldgerät basierend auf dem Prozesssteuerungskontext entspricht; Abbilden des Themas in einer von dem Feldgerät auszuführenden Aktion; Erzeugen eines Befehls, um das Feldgerät anzuweisen, die Aktion basierend auf der Abbildung auszuführen; und Übertragen des Befehls an das Feldgerät, um die Aktion auszuführen.
  9. Verfahren nach Anspruch 8, wobei die Anforderung eine verbale Anforderung ist, die an eine programmierbare Logiksteuerung übermittelt wird.
  10. Verfahren nach Anspruch 8, wobei die Anforderung eine verbale Anforderung ist, die an ein am Körper tragbares Gerät übermittelt wird, die einer Brille, einem Headset oder einem Armband entspricht.
  11. Verfahren nach Anspruch 8, das Folgendes umfasst: Herstellen eines Konversationszustands basierend auf dem Thema; Erzeugen einer Antwort einschließlich des Konversationszustands; Übertragen der Antwort an ein Computergerät; und Anzeigen einer Visualisierung auf einem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der Antwort.
  12. Verfahren nach Anspruch 8, das Folgendes umfasst: Erzeugen einer Liste von Feldgeräten, einschließlich des Feldgeräts, das auf der Konfiguration basiert; Abbilden des Feldgeräts in einer Nachschlagetabelle, um einen Parameter zu identifizieren, welcher dem Feldgerät zugeordnet ist, wobei der Parameter einem Prozesssteuerungswert zugeordnet ist, welcher dem Feldgerät zugeordnet ist; Abbilden des Feldgeräts in der Nachschlagetabelle, um eine dem Feldgerät zugeordnete Aktion zu identifizieren, wobei die Aktion einer Funktion des Feldgeräts zugeordnet ist; und Erzeugen eines Profils basierend auf mindestens einem der Parameter oder der Aktion.
  13. Verfahren nach Anspruch 12, wobei das Profil mindestens eine erste Ebene und eine zweite Ebene enthält und ferner Folgendes enthält: Abbilden des Themas in der ersten Ebene; Erzeugen einer Antwort, die Informationen enthält, die der ersten Ebene zugeordnet sind; Übertragen der Antwort an ein Computergerät; und Anzeigen einer Visualisierung auf einem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der ersten Ebene.
  14. Verfahren nach Anspruch 13, wobei die Anforderung eine erste Anforderung ist und die Visualisierung eine erste Visualisierung ist und ferner Folgendes enthält: Empfangen einer zweiten Anforderung, die dem Thema zugeordnet ist; Abbilden der zweiten Anforderung in der zweiten Ebene; Erzeugen einer zweiten Antwort, die Informationen enthält, die der zweiten Ebene zugeordnet sind; Übertragen der zweiten Antwort an das Computergerät; und Ersetzen der ersten Visualisierung durch eine zweite Visualisierung auf dem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der zweiten Ebene.
  15. Verfahren nach Anspruch 8, wobei das Bestimmen des Prozesssteuerungskontexts Folgendes umfasst: Zerlegen der Anforderung in ein oder mehrere Tokens, einschließlich eines ersten Tokens; Validieren der Anforderung durch Abbilden des ersten Tokens in einem validierten Token; und als Antwort auf das Validieren der Anforderung basierend auf dem Abbilden wird ein Skript einschließlich der Aktion erzeugt.
  16. Verfahren nach Anspruch 15, wobei die Anforderung eine erste Anforderung ist und ferner Folgendes enthält: als Antwort auf das Nichtvalidieren der ersten Anforderung basierend auf dem Abbilden, Erzeugen einer Antwort, die einer Klärungsanforderung entspricht; Übertragen der Antwort an einen Benutzer; Empfangen einer zweiten Anforderung vom Benutzer; Validieren der zweiten Anforderung; und Erzeugen des Skripts basierend auf der zweiten Anforderung.
  17. Nicht-flüchtiges computerlesbares Speichermedium, umfassend Anweisungen, die, wenn sie ausgeführt werden, eine Maschine mindestens zu Folgendem veranlassen: Bestimmen eines Prozesssteuerungskontexts basierend auf einer Informationsanforderung, die einem Feldgerät eines Prozesssteuerungssystems zugeordnet ist, wobei der Prozesssteuerungkontext auf einer Konfiguration des Prozesssteuerungssystems basiert; Identifizieren eines in der Anforderung enthaltenen Themas, wobei das Thema dem Feldgerät basierend auf dem Prozesssteuerungskontext entspricht; Abbilden des Themas in einer Aktion, die von dem Feldgerät ausgeführt werden soll; Erzeugen eines Befehls, um das Feldgerät anzuweisen, die Aktion basierend auf der Abbildung auszuführen; und Übertragen des Befehls auf das Feldgerät, um die Aktion auszuführen.
  18. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 17, wobei die Anforderung eine verbale Anforderung ist, die an eine programmierbare Logiksteuerung übermittelt wird.
  19. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 17, wobei die Anforderung eine verbale Anforderung ist, die an ein am Körper tragbares Gerät übermittelt wird.
  20. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 17, das ferner Anweisungen enthält, die, wenn sie ausgeführt werden, die Maschine mindestens zu Folgendem veranlassen: Herstellen eines Konversationszustands basierend auf dem Thema; Erzeugen einer Antwort einschließlich des Konversationszustands; Übertragen der Antwort an ein Computergerät; und Anzeigen einer Visualisierung auf einem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der Antwort.
  21. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 17, das ferner Anweisungen enthält, die, wenn sie ausgeführt werden, die Maschine mindestens zu Folgendem veranlassen: Erzeugen einer Liste der Feldgeräte, die das auf der Konfiguration basierende Feldgerät enthält; Abbilden des Feldgeräts in einer Nachschlagetabelle, um einen Parameter zu identifizieren, welcher dem Feldgerät zugeordnet ist, wobei der Parameter einem Prozesssteuerungswert zugeordnet ist, welcher dem Feldgerät zugeordnet ist; Abbilden des Feldgeräts in der Nachschlagetabelle, um eine dem Feldgerät zugeordnete Aktion zu identifizieren, wobei die Aktion einer Funktion des Feldgeräts zugeordnet ist; und Erzeugen eines Profils basierend auf mindestens einem der Parameter oder der Aktion.
  22. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 21, wobei das Profil mindestens eine erste Ebene und eine zweite Ebene und ferner Anweisungen enthält, die, wenn sie ausgeführt werden, die Maschine mindestens zu Folgendem veranlassen: Abbilden des Themas in der ersten Ebene; Erzeugen einer Antwort, die Informationen enthält, die der ersten Ebene zugeordnet sind; Übertragen der Antwort an ein Computergerät; und Anzeigen einer Visualisierung auf einem Display, das der Rechenvorrichtung zugeordnet ist, basierend auf der ersten Ebene.
  23. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 22, wobei die Anforderung eine erste Anforderung ist und die Visualisierung eine erste Visualisierung ist und ferner Anweisungen enthält, die, wenn sie ausgeführt werden, die Maschine mindestens zu Folgendem veranlassen: Empfangen einer zweiten Anforderung, welche dem Thema zugeordnet ist; Abbilden der zweiten Anforderung in der zweiten Ebene; Erzeugen einer zweiten Antwort, die Informationen enthält, die der zweiten Ebene zugeordnet sind; Übertragen der zweiten Antwort an das Computergerät; und Ersetzen der ersten Visualisierung durch eine zweite Visualisierung auf dem Display, das der Rechenvorrichtung basierend auf der zweiten Ebene zugeordnet ist.
  24. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 17, das ferner Anweisungen enthält, die, wenn sie ausgeführt werden, die Maschine mindestens zu Folgendem veranlassen: Zerlegen der Anforderung in ein oder mehrere Tokens, einschließlich eines ersten Tokens; Validieren der Anforderung, indem das erste Token in einem validierten Token abgebildet wird; und Erzeugen eines Skripts, das die Aktion enthält, wenn die Anforderung basierend auf der Abbildung validiert wird.
  25. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 24, wobei die Anforderung eine erste Anforderung ist und ferner Anweisungen enthält, die, wenn sie ausgeführt werden, die Maschine mindestens zu Folgendem veranlassen: Erzeugen einer Antwort, die einer Klärungsanforderung entspricht, wenn die erste Anforderung basierend auf dem Abbilden nicht validiert wird; Übertragen der Antwort an einen Benutzer; Empfangen einer zweiten Anforderung vom Benutzer; Validieren der zweiten Anforderung; und Erzeugen des Skripts basierend auf der zweiten Anforderung.
DE102019134312.7A 2018-12-13 2019-12-13 Systeme, verfahren und vorrichtungen zur verbesserung einer prozesssteuerung mit einem virtuellen assistenten Pending DE102019134312A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/219,583 US11204594B2 (en) 2018-12-13 2018-12-13 Systems, methods, and apparatus to augment process control with virtual assistant
US16/219,583 2018-12-13

Publications (1)

Publication Number Publication Date
DE102019134312A1 true DE102019134312A1 (de) 2020-06-18

Family

ID=69156450

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019134312.7A Pending DE102019134312A1 (de) 2018-12-13 2019-12-13 Systeme, verfahren und vorrichtungen zur verbesserung einer prozesssteuerung mit einem virtuellen assistenten

Country Status (5)

Country Link
US (1) US11204594B2 (de)
JP (1) JP2020095719A (de)
CN (1) CN111324093A (de)
DE (1) DE102019134312A1 (de)
GB (1) GB2584509B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022084732A1 (de) * 2020-10-23 2022-04-28 Cafer Tosun Verfahren zur steuerung eines prozesses mit einem programmprodukt

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112180898B (zh) * 2020-09-27 2022-04-19 深圳市元征科技股份有限公司 参数位置确定方法、装置、设备及存储介质
JP7310782B2 (ja) * 2020-11-16 2023-07-19 横河電機株式会社 インターフェイス装置、インターフェイス方法、および、インターフェイスプログラム
US11495119B1 (en) * 2021-08-16 2022-11-08 Motorola Solutions, Inc. Security ecosystem
EP4174593A1 (de) * 2021-11-02 2023-05-03 Siemens Aktiengesellschaft Verfahren zum betreiben eines geräts in einem iot-system
WO2023127748A1 (ja) * 2021-12-27 2023-07-06 株式会社ダイセル 異常検知装置、異常検知方法及び異常検知プログラム
DE102022102748A1 (de) * 2022-02-07 2023-08-10 Arburg Gmbh + Co Kg Verfahren zur Steuerung von Prozessen an Kunststoff verarbeitenden Maschinen
US20230401944A1 (en) * 2022-06-09 2023-12-14 Motorola Solutions, Inc. Security ecosystem

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640007B2 (en) * 1999-02-12 2009-12-29 Fisher-Rosemount Systems, Inc. Wireless handheld communicator in a process control environment
US8233998B2 (en) * 2004-11-19 2012-07-31 Fisher-Rosemount Systems, Inc. Secure data write apparatus and methods for use in safety instrumented process control systems
EP2614482A4 (de) * 2010-09-11 2014-05-14 Social Communications Co Beziehungsbasierte präsenzanzeige in virtuellen bereichskontexten
GB2513457B (en) 2013-03-15 2020-07-29 Fisher Rosemount Systems Inc Method and apparatus for controlling a process plant with location aware mobile control devices
US9805718B2 (en) * 2013-04-19 2017-10-31 Sri Internaitonal Clarifying natural language input using targeted questions
US20140359612A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Sharing a Virtual Hard Disk Across Multiple Virtual Machines
EP3072275B1 (de) * 2013-11-22 2017-11-08 ABB Schweiz AG Ein verfahren und ein system zur auswechslung und inbetriebnahme eines feldgeraetes
US10726831B2 (en) 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
US10504231B2 (en) * 2014-05-21 2019-12-10 Millennium Three Technologies, Inc. Fiducial marker patterns, their automatic detection in images, and applications thereof
US10170123B2 (en) * 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9412205B2 (en) * 2014-08-25 2016-08-09 Daqri, Llc Extracting sensor data for augmented reality content
US10701075B2 (en) * 2017-08-14 2020-06-30 Honeywell International Inc. Method and system for securely connecting to field devices in an industrial plant using Li-Fi and augmented reality
US20190138558A1 (en) * 2017-09-29 2019-05-09 Axwave, Inc. Artificial intelligence assistant context recognition service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022084732A1 (de) * 2020-10-23 2022-04-28 Cafer Tosun Verfahren zur steuerung eines prozesses mit einem programmprodukt

Also Published As

Publication number Publication date
GB2584509A (en) 2020-12-09
JP2020095719A (ja) 2020-06-18
CN111324093A (zh) 2020-06-23
GB201917848D0 (en) 2020-01-22
US20200192319A1 (en) 2020-06-18
GB2584509B (en) 2023-01-04
US11204594B2 (en) 2021-12-21

Similar Documents

Publication Publication Date Title
DE102019134312A1 (de) Systeme, verfahren und vorrichtungen zur verbesserung einer prozesssteuerung mit einem virtuellen assistenten
EP3593213B1 (de) Verfahren zum parametrieren eines feldgeräts der automatisierungstechnik
EP2789145B1 (de) Vorrichtung zur bedienung von mindestens einem feldgerät der automatisierungstechnik
US11385613B2 (en) Process image within controllers enabling visibility and accessibility of real world objects
DE102009045187B4 (de) System und Verfahren zum Kommunizieren mit Telefonagenten in einem automatisierten Call Center
WO2019164815A1 (en) Interactive digital twin
US10007261B2 (en) Methods and apparatus to filter process control system alarms based on alarm source type and/or alarm purpose
DE112004001775T5 (de) Verfahren und Vorrichtung zur Bereitstellung von automatischen Software-Updates
AU2015219328A1 (en) Voice augmentation for industrial operator consoles
US11231911B2 (en) System and method for using a graphical user interface to develop a virtual programmable logic controller
DE102012110132A1 (de) Sparkline-Darstellungen von Prozessleitsystem-Alarmen
DE102020203986A1 (de) Verfahren, systeme, fertigungsartikel und vorrichtung zur verwaltung von prozessauslenkungen
CN107942956A (zh) 信息处理装置、信息处理方法、信息处理程序及记录介质
DE102011005062A1 (de) Verfahren zum Bereitstellen von Daten eines Feldgeräts
DE102020124514A1 (de) Suchergebnisanzeige in einem prozessleitsystem
DE102020124529A1 (de) Intelligente suchfunktionen in einem prozessleitsystem
DE102021127384A1 (de) Industrielles prozesssteuerungssystem als rechenzentrum einer industriellen prozessanlage
DE102020124507A1 (de) Darstellung von prozesssteuerungsinformationen innerhalb eines fahrzeugs
JP7252703B2 (ja) 操作支援装置、操作支援方法、操作支援プログラム及び記録媒体
DE102010063164A1 (de) Verfahren zum Integrieren von mindestens einem Feldgerät in ein Netzwerk der Automatisierungstechnik
DE102019107401A1 (de) Systeme und verfahren zur verwaltung von warnungen im zusammenhang mit geräten eines prozesssteuerungssystems
EP4258179A1 (de) System zum erzeugen einer von einem menschen wahrnehmbaren erklärungsausgabe für eine von einem anomalieerkennungsmodul vorhergesagte anomalie auf hochfrequenten sensordaten oder davon abgeleiteten grössen eines industriellen fertigungsprozesses, verfahren und computerprogramm zur überwachung einer auf künstlicher intelligenz basierenden anomalieerkennung in hochfrequenten sensordaten oder davon abgeleiteten grössen eines industriellen fertigungsprozesses und verfahren und computerprogramm zur überwachung einer auf künstlicher intelligenz basierenden anomalieerkennung bei einer end-of-line akustikprüfung eines getriebes
WO2022136703A1 (de) Verfahren und system zum überführen einer start-objektsituation in eine ziel-objektsituation (intuitive tacit solution finding)
DE102018123436A1 (de) Verfahren zum Überwachen einer Anlage der Automatisierungstechnik
EP3881143B1 (de) Verfahren zur verbesserung der messperformance eines zu konfigurierenden feldgeräts der automatisierungstechnik

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed