DE112021005515T5 - System und vorrichtung zum verfassen und entwickeln von automatisierungsschnittstellen und -prozessen ohne schreiben von code - Google Patents

System und vorrichtung zum verfassen und entwickeln von automatisierungsschnittstellen und -prozessen ohne schreiben von code Download PDF

Info

Publication number
DE112021005515T5
DE112021005515T5 DE112021005515.1T DE112021005515T DE112021005515T5 DE 112021005515 T5 DE112021005515 T5 DE 112021005515T5 DE 112021005515 T DE112021005515 T DE 112021005515T DE 112021005515 T5 DE112021005515 T5 DE 112021005515T5
Authority
DE
Germany
Prior art keywords
source code
automation
telemetry
development environment
integrated development
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
DE112021005515.1T
Other languages
English (en)
Inventor
Luc Leroy
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.)
Full Speed Automation Inc
Original Assignee
Full Speed Automation 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 Full Speed Automation Inc filed Critical Full Speed Automation Inc
Publication of DE112021005515T5 publication Critical patent/DE112021005515T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/32021Energy management, balance and limit power to tools

Abstract

Eine integrierte Entwicklungsumgebung oder ein Plugin dafür weist ein Quellcode-Erzeugungsmodul auf, das konfiguriert ist, automatisch Quellcode zu erzeugen, um Befehle für Automatisierungssteuerkomponenten bereitzustellen. Eine grafische Benutzerschnittstelle weist visuelle Komponenten auf, die miteinander zu verbindende Automatisierungssteuerkomponenten darstellen und die mit dem Quellcode-Erzeugungsmodul verknüpft sind. Die integrierte Entwicklungsumgebung ermöglicht eine Modifizierung der Komponentenschnittstellen, so dass eine Vielzahl von Ereignishandlern implementiert werden können, ohne dass Quellcode geschrieben oder bearbeitetet werden muss. Die Instanziierung einer Komponente in einem Projekt unter Verwendung der integrierten Entwicklungsumgebung automatisiert die Erzeugung des Quellcodes, der Signale von der Komponente erfasst und an einen Kommunikationskanal sendet, der auf Anforderung über die Schnittstelle deklariert wird. Eine Webanwendung erstellt automatisch die Grafiken oder Tabellen, um die Telemetriedaten für jedes von der Steuerung empfangene Signal darzustellen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der vorläufigen U.S. Anmeldung Nr. 63/094.869 , eingereicht am 21. Oktober 2020.
  • TECHNISCHEN BEREICH
  • Die vorliegende Erfindung betrifft allgemein die Automatisierungssteuerungstechnologie und insbesondere ein System zum Verfassen und Entwickeln von Automatisierungsschnittstellen und -prozessen ohne die Notwendigkeit, Code zu schreiben.
  • STAND DER TECHNIK
  • Seit der Einführung von speicherprogrammierbaren Steuerungen auf dem Gebiet der Automatisierungssteuerungen haben sich die Fähigkeiten von Computern stark verbessert, wobei durch schnellere Mikroprozessoren, die eine größere Rechenleistung ermöglichen, und größeren und schnelleren Speicher die Ausführung größerer und komplexerer Programme ermöglicht wird, die größere Mengen von Daten manipulieren. Auch die Netzwerkkonnektivität hat sich dramatisch verbessert, und Komponenten, die früher über direkte Kabel mit analogen Signalen an speicherprogrammierbare Steuerungen (SPS) angeschlossen waren, wie die frühe SPS von Allen Bradley, kommunizieren jetzt häufig über Ethernet oder ähnliche Netzwerkprotokolle mit der logischen Steuerung. Im Laufe der Zeit haben sich programmierbare Logikcomputer zu Computern entwickelt, in einem solchen Ausmaß, dass heutzutage beliebte speicherprogrammierbare Steuerungen eine Elektronik verwenden, die Personal Computern ähnlich ist, wie beispielsweise ein auf einem Intel-Prozessor basierendes Computersystem, und in der Lage ist, ein Betriebssystem auszuführen, das für Personal Computer, professionelle Workstations und Server entwickelt wurde, wie Microsoft Windows, unterschiedliche Linux-Distributionen oder ähnliche Betriebssysteme. Beliebte Beispiele für solche modernen speicherprogrammierbaren Steuerungen sind die Siemens SIMATIC oder die Beckhoff CX Steuerungsfamilien.
  • Anforderungen und Anwendungen auf dem Gebiet der Fertigung haben sich ähnlich entwickelt. Modellierungswerkzeuge haben ermöglicht, dass die Komplexität von Anlagen, Fertigungslinien und Fabriken erheblich zugenommen hat. Es ist nicht ungewöhnlich, Hunderte von Geräten zu überwachen - von einfachen Sensoren bis hin zu hochentwickelten Industrierobotern, die mit einer einzigen Steuerung verbunden sind. Die Häufigkeit und Menge der zwischen Steuerungen und Komponenten übertragenen Daten folgen demselben Trend. Hunderte von Megabyte an Daten, die pro Sekunde übertragen werden, mit Latenzen, die in Millisekunden und manchmal Mikrosekunden für spezialisierte Steuerungen gemessen werden, sind üblich. Daten in Bezug auf Materialfluss, Lieferkette, Produktqualität, Humanressourcen und unzählige andere Bereiche sind heute Teil der Daten, die von Steuerungen und Fertigungsausführungssystemen verarbeitet werden.
  • Mensch-Maschine-Schnittstellen waren historisch eigenständig in Hinblick auf die programmierbare Logiksteuerung und damit verbunden. In jüngerer Zeit können diese Schnittstellen infolge der zunehmenden Konnektivität in Fabriken und der zunehmenden Verwendung von Servern mit einem Server verbunden werden, der direkt oder indirekt Informationen von der speicherprogrammierbaren Steuerung empfängt, und die Mensch-Maschine-Schnittstelle besteht im Wesentlichen aus einer Benutzerschnittstelle auf einer Computeranzeige.
  • Es ist auch üblich, ein Fertigungsausführungssystem zu finden, das auf einem Server möglicherweise außerhalb des Fertigungsgeländes und manchmal auf einem verteilten System gehostet wird. Der Fertigungsausführungsserver ist dafür verantwortlich, Zyklusdaten von speicherprogrammierbaren Steuerungen zu sammeln und Daten an diese Steuerungen zu senden, um die Fertigung zu orchestrieren und den Materialfluss und andere Systeme zu koordinieren.
  • Andere Vorrichtungen und Systeme, wie beispielsweise intelligente Kameras, die zur Qualitätskontrolle verwendet werden, oder Anwesenheits sensoren, sind herkömmlicherweise getrennt von einer programmierbaren Logiksteuerung, aber direkt mit dieser verbunden. Eine solche Zunahme der Anzahl von Geräten und Systemen in Fabriken hat zu einem wachsenden Datenverkehr über die Netzwerkinfrastruktur und zu einer komplexeren Verwaltung von Verbindungen geführt. Ein kritischer Aspekt bei der Verwaltung dieser Verbindungen besteht darin, sicherzustellen, dass die Netzwerkkapazitäten in der Fabrik auf die Bandbreitenanforderungen abgestimmt sind, um Daten rechtzeitig zu übertragen, damit die zahlreichen Geräte und Komponenten innerhalb der vorgegebenen Zeit arbeiten können. Dies gilt insbesondere für Sicherheits- und Abschaltvorrichtungen und -komponenten, die in kurzen Zeiträumen von Mikrosekunden bis zu wenigen Millisekunden agieren und reagieren müssen. Die Art der Verbindungen - ob analog oder digital - kann passend ausgewählt werden, um die Leistungsfähigkeit der Kommunikation zwischen den Komponenten zu optimieren.
  • Moderne speicherprogrammierbare Steuerungen unterstützen typischerweise mehrere Arten von Verbindungen, um die Erfüllung dieser Konnektivitätsanforderungen zu erleichtern. Beispielsweise stehen mehrere analoge Ports als Kommunikationserweiterungen zur Verfügung, die an die Kerneinheit der Steuerung angeschlossen werden können. Der Kerncontroller verwendet für die Verbindung mit den meisten Automatisierungsgeräten, wie Aktoren, Motoren, Sensoren und Robotern, ein proprietäres Protokoll, wie EthernetIP, Profinet oder EtherCAT, das von Allen-Bradley, Siemens bzw. Beckhoff entwickelt wurde. Außerdem sind seit den frühen 2000er Jahren die meisten speicherprogrammierbaren Steuerungen mit mindestens einem Ethernet-Anschluss ausgestattet, der es ihnen ermöglicht, mit dem Unternehmensnetzwerk zu kommunizieren.
  • Determinismus ist eine Schlüsselanforderung bei der Auswahl der Sprache, die verwendet wird, um die Steuerungen zu programmieren, die eine Schnittstelle mit mehreren Geräten bilden, die für die Ausführung und Sicherheit von Fertigungsanlagen entscheidend sind. Interpretierte Hochsprachen, wie Python und JavaScript, sind attraktiv, um schnell komplexe Programme zu entwickeln. Solche Sprachen können jedoch nicht die Gewissheit bieten, dass die Codeausführung konsistent mit einem vorhersehbaren Timing gewährleistet ist. Sie können für die Entwicklung von Benutzerschnittstellen geeignet sein, die Teil der Mensch-Maschine-Schnittstellen für ein Fertigungsautomatisierungssystem sind, sollten jedoch nicht zur Entwicklung der Logik verwendet werden, die Geräte und Automatisierungsvorrichtungen orchestriert und/oder mit diesen interagiert.
  • Telemetrie ist eine weitere Schlüsselanforderung für Automatisierungssteuerungen. Um den Status von Prozessen und Anlagen zu überwachen, werden idealerweise Daten aus Geräten, Prozessen und Systemen erfasst, und verfügbar gemacht, um die Analyse dieser Daten zu ermöglichen. Zu den Vorteilen der Bereitstellung solcher Daten gehört die Fähigkeit zur Fehlerbehebung und Diagnose sowie zum besseren Verständnis des Verhaltens von Geräten und Systemen, um die Effizienz und Qualität zu steigern und Ausfälle zu minimieren.
  • Um effizientere, kostengünstigere und skalierbarere Automatisierungs steuersysteme herzustellen, stellt die vorliegende Erfindung eine grafische Benutzerschnittstelle bereit, die die Aufgaben des Erstellens der Programme vereinfacht, die auf einer Automatisierungssteuerung, einem Mensch-Maschine-Schnittstellensystem oder einem Fertigungsausführungssystem laufen.
  • BESCHREIBUNG DER ERFINDUNG
  • In einigen Ausführungsformen umfasst die vorliegende Erfindung eine integrierte Entwicklungsumgebung mit einer grafischen Benutzerschnittstelle, die über eines oder mehrere Benutzereingabegeräte, wie etwa eine Maus, eine Tastatur, ein Spracheingabegerät, ein Berührungseingabegerät zum Empfangen einer Geste von einem Benutzer, eine Bewegungseingabevorrichtung zum Erfassen von Nicht-Berührungsgesten und anderen Bewegungen durch einen Benutzer und dergleichen, verwendet wird. Ausgabegeräte, wie eine grafische Anzeige, Lautsprecher, Drucker, haptische Geräte und andere Arten von Ausgabegeräten können ebenfalls in der Benutzerschnittstelle enthalten sein.
  • Die Benutzerschnittstelle wird von einem eingebetteten Computer ausgeführt, der einen oder mehrere Anschlüsse zum Steuern und Lesen von Automatisierungssteuervorrichtungen, wie Motoren, Sensoren, Lichtmasten, Scannern usw., besitzt. In einigen Ausführungsformen wird die grafische Benutzeroberfläche unter Windows ausgeführt und wurde für Microsoft Visual Studio unter Verwendung der Sprache C# (C-Sharp) entwickelt. Es versteht sich jedoch, dass die in der vorliegenden Erfindung beschriebene grafische Benutzeroberfläche angepasst werden kann, um andere Sprachen, wie C++, Visual Basic und dergleichen, zu verwenden, und auch modifiziert werden kann, um auf anderen Betriebssystemen, wie Linux, zu funktionieren. In einigen Ausführungsformen umfasst die vorliegende Erfindung eine Erweiterung oder Hinzufügung (oder einen Satz von Erweiterungen oder Hinzufügungen, manchmal als Plugins bezeichnet) zu einer integrierten Entwicklungsumgebung, oder kann in einigen Ausführungsformen eine eigenständige integrierte Entwicklungsumgebung umfassen, die jeweils eine grafische Benutzeroberfläche bereitstellt.
  • Die 1-3 heben einige typische Komponenten und Schnittstellen einer integrierten Entwicklungsumgebung gemäß der vorliegenden Erfindung hervor. Wie angemerkt, werden in einigen Ausführungsformen eine oder mehrere Erweiterungen, die manchmal als Plugins bezeichnet werden, bereitgestellt und zu der Entwicklungsumgebung hinzugefügt. Diese Erweiterungen fügen visuelle und programmgesteuerte Funktionen hinzu, um die Erstellung und Änderung von Automatisierungsanwendungen zu ermöglichen, ohne Code schreiben oder bearbeiten zu müssen. Stattdessen werden visuelle Komponenten in der Benutzerschnittstelle manipuliert, vorzugsweise unter Verwendung des Benutzerschnittstellen-Designtools der integrierten Entwicklungsumgebung. Eigenschaften und Ereignisse, die einer jeweiligen Komponente zugeordnet sind, ermöglichen die Beschreibung ihrer Konfiguration und ihres Verhaltens, was Standardwerte, Interaktion mit anderen lokalen oder entfernten Komponenten und dergleichen umfasst, sind aber nicht darauf beschränkt ist.
  • Obwohl grafisch orientierte Programmierwerkzeuge im Stand der Technik bekannt sind, erstellen solche Werkzeuge eine Arbeitsfläche, um dem Benutzer eines Programms zu helfen, ein Gerüst für die Anwendung oder das System zu erstellen, erfordern aber letztendlich, dass der Benutzer über ausreichende Programmier- oder Entwicklerkenntnisse verfügt, Code zu schreiben, um die erforderliche Funktionalität zwischen den Systemkomponenten auszufüllen. Andererseits stellt die vorliegende Erfindung der integrierten Entwicklungsumgebung programmatische Komponenten zur Verfügung, die eine digitale Darstellung physischer Geräte oder Komponenten, wie beispielsweise Knöpfe, Scanner, Motoren, Lichter usw., sind. Eigenschaften einer jeweiligen Komponente werden der integrierten Entwicklungsumgebung zur Verfügung gestellt, was die Konfiguration und Einrichtung von Attributen über dieselbe „Eigenschaftsschnittstelle“ ermöglicht, die mit anderen Standardeigenschaften bereitgestellt wird, die von der Entwicklungsumgebung für das Zielprojekt geerbt wurden. Die für die Komponenten spezifischen Standardeigenschaften werden durch Eigenschaften erweitert, die für die hinzugefügten Komponenten spezifisch sind, und sind an der gleichen Stelle der Benutzeroberfläche verfügbar, an der die Standardeigenschaften zugänglich sind. Einige Eigenschaften werden zu den programmgesteuerten Komponenten hinzugefügt und von der integrierten Entwicklungsumgebung automatisch für die Benutzeroberfläche des Zielprojekts verfügbar gemacht, während andere möglicherweise eine Erweiterung der integrierten Entwicklungsumgebung erfordern, die die Benutzeroberfläche erweitert, sodass solche Eigenschaften für die Benutzer verfügbar gemacht werden, wenn Komponenten mit den zugehörigen Eigenschaften in das Zielprojekt aufgenommen werden.
  • Die grafische Benutzerschnittstelle ist so konfiguriert, dass sie zusätzlich zu Eigenschaften und Ereignissen Funktionen und Aktionen bereitstellt und verwendet. Im Fall von Ereignissen ist ein Benutzer, der die integrierte Entwicklungsumgebung verwendet, standardmäßig in der Lage, die Erzeugung des Codes für eine leere Funktion zu automatisieren, die aufgerufen wird, wenn ein solches Ereignis ausgefüllt wird - manchmal auch als Ereignishandler bezeichnet. In einer herkömmlichen Umgebung muss ein Entwickler den Ereignishandler bearbeiten, indem er Code schreibt, um den Hauptteil der Funktion zu füllen, um die Logik zu implementieren, die das Verhalten der Komponente steuert, wenn ein solches Ereignis empfangen wird. Im Falle einer Interaktion zwischen einer Komponente und einer anderen Komponente des Projekts muss der Entwickler, der den Code schreibt, die Identifikation der anderen Komponente kennen, und wissen, wie die Schnittstelle, die die Programmierung des Verhaltens solcher Komponenten ermöglicht, zu verwenden ist. Die vorliegende Erfindung erzeugt jedoch automatisch den Code, der alle möglichen Befehle und Aktionen für alle dem Projekt hinzugefügten Komponenten handhabt, so dass es eine Funktion pro Befehl oder Aktionen gibt, die dem Code der aktuell bearbeiteten Quelldatei hinzugefügt werden.
  • In dem Beispiel, in dem die der Benutzerschnittstelle hinzugefügte Automatisierungskomponente die Darstellung eines Elektromotors und insbesondere eines Antriebs mit variabler Frequenz ist, wird die Erweiterung als eine Benutzerschnittstelle verwendet, die Standardeigenschaften für den Elektromotor bereitstellt, wie etwa die Standardaktion (Stopp, Vorwärtslauf, Rückwärtslauf) und Geschwindigkeit, sowie über welche Ports oder Adressen mit dem Motor kommuniziert wird. Außerdem werden von den Motorkomponenten erzeugte Ereignisse bereitgestellt. Einige sind standardmäßig, wie zuvor beschrieben, während andere spezifisch für den Motorantrieb sind. Beispielsweise sind die Zustandsänderung oder Drehzahländerung des Motors mögliche Ereignisse, die von dem Programm erfasst und genutzt werden können.
  • Bei einer herkömmlichen Einstellung würde die Standardschnittstelle es nicht ermöglichen, die möglichen Funktionsbefehle für eine Komponente bereitzustellen. Wenn man beispielsweise einen Motor starten möchte, wenn ein Ereignis eintritt, muss man normalerweise eine Funktion erstellen, die mit geeigneten Attributen, wie etwa dem richtigen Typ und der richtigen Anzahl von Parametern und dem richtigen Typ des Rückgabewerts, angemessen formatiert ist, und diese Funktion füllen, indem Code geschrieben wird, der sich auf den Motor bezieht und eine oder mehrere Methoden oder Funktionen aufruft, um die entsprechenden Informationen an den Motor zu übergeben. Dies würde erfordern, dass ein Programmierer funktionale Kenntnisse der Programmiersprache und der Schnittstellen hat, die den Motor steuern würden. Umgekehrt erzeugt die vorliegende Erfindung solche Funktionen einschließlich des Codes, der im Hauptteil dieser Funktionen benötigt wird, so dass alle Aktionen und Befehle, die für eine Komponente möglich sind, direkt in der Benutzerschnittstelle der integrierten Entwicklungsumgebung verfügbar sind. Dadurch können Benutzer einfach auf einen Befehl verweisen als Antwort auf ein Ereignis. Wenn beispielsweise ein Motor gestartet werden soll, wenn ein anderer Motor stoppt, kann die Funktion zum Starten des gewünschten Motors in der Liste der Funktionen gefunden werden, die als Reaktion auf das gewünschte Ereignis für den Motor, der ein solches Ereignis erzeugt, aufgerufen werden können. Die vorliegende Erfindung ist auch in der Lage, mehrere Ereignishandler für ein Ereignis auszuwählen, wohingegen herkömmliche integrierte Entwicklungsumgebungen eine Benutzerschnittstelle bereitstellen, die die Auswahl von nur einem Ereignishandler ermöglicht.
  • Tatsächliche Geschäftsprozesse, wie etwa Fertigungsautomatisierung, erfordern, dass mehrere Komponenten gleichzeitig miteinander interagieren. Beispielsweise kann die Erkennung eines Teils das Starten eines oder mehrerer Motoren eine Beförderung auslösen und eine von mehreren auszuführenden Softwareprozeduren initiieren. Eine Schwierigkeit auf dem Gebiet der Automatisierung und insbesondere der Fertigung ist das Sammeln von Daten, die für Komponenten und Geräte spezifisch sind, die für die Ausführung von Prozessen verantwortlich sind. Diese Prozesse können reine Software, beispielsweise das Aufzeichnen von Daten in einer Datenbank, oder Hardware, wie etwa der Zustand und die Drehzahl eines Motors, Werte elektrischer Ströme und Spannungen, usw., sein. Von Menschen initiierte Aufgaben führen ebenfalls zu Ereignissen und Daten, die aufgezeichnet werden können, beispielsweise kann das Verschrauben einer Schraube mit einem Werkzeug erfolgen, das die Drehmomentwerte aufzeichnet. Infolgedessen erzeugen Aufgaben, die entweder durch menschliche Aktionen initiiert oder automatisch vom Automatisierungsprogramm ausgeführt werden, Daten, die es aus mehreren Gründen wert sind, aufgezeichnet zu werden, einschließlich Diagnose, Beobachtbarkeit, aber auch zur Charakterisierung des Verhaltens dieser Komponenten, um die Erkennung von Fehlern und die Modellierung von Fehlermodi und dergleichen zu ermöglichen. Jede Reihe von Datenpunkten für eine gegebene Komponente stellt ein Signal dar, das es häufig wert ist, als Kurve über der Zeit dargestellt zu werden, um die Interpretation solcher Daten durch Menschen zu erleichtern. Dementsprechend ist die vorliegende Erfindung konfiguriert, systematisch Daten für die in der Entwicklungsumgebung instanziierten Komponenten zu sammeln. Darüber hinaus wird die Pipeline, die erforderlich ist, um die Daten zu aggregieren und an ein zentralisiertes oder verteiltes Versandsystem zu senden, automatisch erzeugt. Für jede Komponente öffnet die Steuerung, auf der die Komponente läuft - oder mit der sie verbunden ist - einen Kommunikationskanal mit einem Server oder verteilten System, der für die jeweilige Komponente spezifisch ist. Der Kanal wird nach der Komponente selbst benannt, damit Clients, die die Daten abonnieren, die Quelle des Signals leichter identifizieren können. Außerdem erzeugt der der vorliegenden Erfindung assoziierte Datenserver automatisch die Schnittstelle, die das Anzeigen der von den Steuerungen empfangenen Signale ermöglicht.
  • Jedes Mal, wenn dem Projekt eine Automatisierungskomponente hinzugefügt wird, werden Funktionen, die Befehlen zugeordnet sind, die für die Komponenten relevant sind, automatisch erzeugt, so dass sie von der Benutzerschnittstelle der integrierten Entwicklungsumgebung instanziiert werden können. Dies ermöglicht die Entwicklung komplexer Logik und Interaktion ohne Editieren von Code, was zu einer schnelleren Einführungs- und Entwicklungszeit mit viel geringeren erforderlichen Fähigkeiten des Benutzers führt. Die durch die integrierte Entwicklungsumgebung der vorliegenden Erfindung bereitgestellte Benutzerschnittstelle wird ebenfalls verbessert, so dass mehrere Ereignishandler als Reaktion auf ein und dasselbe Ereignis ausgewählt werden können. Während der Laufzeit werden Signale von allen Komponenten gesammelt und automatisch gesendet, was zu einer automatischen Telemetrie führt, ohne dass Code geschrieben werden muss. Dies führt zur vollautomatischen Bereitstellung einer vollständigen Telemetrie-Pipeline, wie in 4 hervorgehoben.
  • Die integrierte Entwicklungsumgebung gemäß der vorliegenden Erfindung kann verwendet werden, um sowohl die Benutzerschnittstelle als auch die Logik von Programmen, die den Prozess für einen automatisierten Arbeitsablauf ausführen können, zu entwerfen, zu implementieren und zu entwickeln, ohne Code schreiben oder bearbeiten zu müssen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein Fachmann wird erkennen, dass die folgende Beschreibung lediglich der Veranschaulichung der Prinzipien der Offenbarung dient, die auf verschiedene Weise angewendet werden kann, um viele unterschiedliche alternative Ausführungsformen bereitzustellen. Diese Beschreibung dient der Veranschaulichung der allgemeinen Prinzipien der Lehren dieser offenbarten Erfindung und soll die hierin offenbarten erfinderischen Konzepte nicht einschränken.
  • Die beigefügten Zeichnungen, die in die Beschreibung aufgenommen sind und einen Teil davon bilden, veranschaulichen Ausführungsformen der Offenbarung und erklären zusammen mit der oben gegebenen allgemeinen Beschreibung der Offenbarung und der unten gegebenen detaillierten Beschreibung der Zeichnungen die Prinzipien der Offenbarung.
    • 1 ist ein Ausschnitt einer grafischen Benutzerschnittstelle, die zu einem Teilebewegungssensor gehört, wobei die grafische Benutzerschnittstelle durch die vorliegende Erfindung ermöglicht wird.
    • 2 ist ein Ausschnitt einer grafischen Benutzerschnittstelle, die zu einem Handscanner gehört, wobei die grafische Benutzerschnittstelle durch die vorliegende Erfindung ermöglicht wird.
    • 3 ist ein weiterer Ausschnitt einer grafischen Benutzerschnittstelle, nachdem das Projekt auf einem kundenspezifischen Controller kompiliert wurde, wobei die grafische Benutzerschnittstelle durch die vorliegende Erfindung ermöglicht wird.
    • 4 ist ein Schema des Datenerfassungssystems und der zugehörigen Telemetriesteuerung.
  • Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu. In bestimmten Fällen können Details, die für das Verständnis der Offenbarung nicht erforderlich sind oder die andere Details schwer erkennbar machen würden, weggelassen sein. Es versteht sich natürlich, dass die Offenbarung nicht notwendigerweise auf die hierin veranschaulichten Ausführungsformen beschränkt ist.
  • BESTER MODUS ZUM AUSFÜHREN DER ERFINDUNG
  • Die vorliegende Erfindung stellt ihre Vorteile über ein breites Spektrum von Unterfangen bereit. Es ist die Absicht des Anmelders, dieser Beschreibung und den beigefügten Ansprüchen eine Breite zu geben, die dem Umfang und Geist der offenbarten Erfindung entspricht, ungeachtet dessen, was als einschränkende Formulierung erscheinen könnte, die durch die Erfordernisse der Bezugnahme auf die offenbarten spezifischen Beispiele auferlegt wird. Somit wird für Fachleute auf den einschlägigen Gebieten, die am engsten mit der vorliegenden Erfindung verwandt sind, eine bevorzugte Ausführungsform des Systems zum Zwecke der Veranschaulichung der Natur der Erfindung offenbart. Das beispielhafte Verfahren zum Betreiben des Systems wird im Detail gemäß der bevorzugten Ausführungsform beschrieben, ohne zu dabei versuchen, alle verschiedenen Formen und Modifikationen zu beschreiben, in denen die Erfindung verwirklich werden könnte. Die hierin beschriebenen Ausführungsformen sind somit veranschaulichend und können, wie Fachleuten ersichtlich wird, auf zahlreiche Weisen innerhalb des Umfangs und Geistes der Erfindung modifiziert werden, wobei die Erfindung an den beigefügten Ansprüche und nicht durch die Details der Beschreibung gemessen wird.
  • Obwohl der folgende Text eine detaillierte Beschreibung zahlreicher unterschiedlicher Ausführungsformen darlegt, wird der rechtliche Umfang der Beschreibung durch die Worte der am Ende dieser Offenbarung angegebenen Ansprüche definiert. Die Beschreibung ist nur als beispielhaft aufzufassen und beschreibt nicht jede mögliche Ausführungsform, da es unpraktisch wäre, wenn nicht unmöglich, jede mögliche Ausführungsform zu beschreiben. Zahlreiche alternative Ausführungsformen könnten implementiert werden, indem entweder eine aktuelle Technologie, oder Technologie, die nach dem Einreichungsdatum dieses Patents entwickelt wurde, verwendet wird, was immer noch in den Umfang der Ansprüche fallen würde.
  • Es versteht sich auch, dass, sofern ein Begriff hierin nicht ausdrücklich definiert ist, weder ausdrücklich noch stillschweigend die Absicht besteht, die Bedeutung dieses Begriffs über seine einfache oder gewöhnliche Bedeutung hinaus einzuschränken, und ein solcher Begriff sollte nicht basierend auf einer Aussage in irgendeinem Abschnitt dieses Patents (ausgenommen die Formulierung der Ansprüche) in seinem Umfang eingeschränkt interpretiert werden. Soweit auf einen in den am Ende dieses Patents stehenden Ansprüchen zitierten Begriff in diesem Patent in einer Weise Bezug genommen wird, die mit einer einzigen Bedeutung übereinstimmt, geschieht dies nur aus Gründen der Klarheit, um den Leser nicht zu verwirren, und es ist auch nicht beabsichtigt, dass ein solcher Begriff aus den Ansprüchen stillschweigend oder anderweitig auf diese eine Bedeutung beschränkt ist. Schließlich ist nicht beabsichtigt, es sei denn, ein Anspruchselement wird durch Nennung des Wortes „Mittel“ und einer Funktion ohne Nennung einer Struktur definiert, dass der Umfang eines Anspruchselements basierend auf die Anwendung von 35 U.S.C. § 112, Unterabsatz (f) interpretiert wird.
  • 1 zeigt die typischen Komponenten und Schnittstellen einer integrierten Entwicklungsumgebung, die eine grafische Benutzerschnittstelle gemäß der vorliegenden Erfindung umfasst. Die Umgebung ist nur exemplarisch in Visual Studio, entwickelt von Microsoft, dargestellt. Die integrierte Entwicklungsumgebung wurde durch die Hinzufügung der vorliegenden Erfindung erweitert, die in einigen Ausführungsformen eine Erweiterung (Zusatz oder Plugin) umfasst, die die Benutzerschnittstelle aktiviert. Das Hauptfenster (101) enthält alle Schnittstellen und Werkzeuge, die der Benutzer benötigt, um Softwareprogramme und Bibliotheken zu entwerfen, zu entwickeln, zu kompilieren, freizugeben, zu debuggen und einzusetzen. Die Schnittstelle umfasst eine Menüleiste (102), eine Schnellzugriffsleiste (103), die Zugriff auf die am häufigsten verwendeten Werkzeuge gibt, und ein Designerfenster (104), in dem der Benutzer unter Verwendung der grafischen Schnittstelle Benutzerschnittstellen erstellen und anordnen kann. Ein Primärfeld (105) enthält eine Liste von Komponenten, die zum Einfügen in die Schnittstelle verfügbar sind, ist unter Kategorien von Komponenten angeordnet und ermöglicht es dem Benutzer, Komponenten auszuwählen, die in die im Designerfenster (104) entworfene Schnittstelle eingefügt werden sollen. Ein Sekundärfeld (106) eine oder mehrere der Automatisierungskomponenten bereit, die durch die vorliegende Erfindung zu der integrierten Entwicklungsumgebung hinzugefügt wurden. Sie wurden im Interface-Designerfenster (104) instanziiert, das beispielhaft visuelle Elemente enthält, die verschiedenen Automatisierungs steuerkomponenten entsprechen, einschließlich eines manuellen Strichcode-Scanners, eines Elektromotors, eines oder mehrerer Teilebewegungssensoren, einer Not-Aus-Taste, und eine Instanz einer speicherprogrammierbaren Steuerung (SPS) (für beispielhafte Zwecke als Beckhoff-Steuerung bezeichnet). Ein Eigenschaftsfeld (108) zeigt die Eigenschaften an, die für das im Designerfenster (104) ausgewählte Element verfügbar sind. Ein Kontextinformationsfeld (109) kann Informationen anzeigen, um dem Benutzer zu helfen, die aktuell ausgewählte Eigenschaft zu verstehen. Ein Navigationsfeld (110) ermöglicht einen schnellen Zugriff auf alle Dateien und Ressourcen, die in dem aktuellen Projekt oder der aktuellen Lösung enthalten sind.
  • Genauer gesagt, zeigt 1 die Eigenschaften für einen Teilebewegungssensor, der in der grafischen Benutzerschnittstelle ausgewählt ist. Das Eigenschaftsfeld (108) hebt Optionen in Bezug auf die Codeerzeugung hervor, beispielsweise welcher Motor automatisch gestartet und gestoppt werden kann, wenn dieser Sensor erkannt hat, dass ein Teil ankommt oder sich entfernt. In einigen Ausführungsformen ist die physische Vorrichtung für diesen Teilesensor mit einer SPS verbunden. Das Eigenschaftsfeld (108) zeigt, welche SPS diesen Sensor auf welchem E/A-Block und Port hostet. Die Benutzerschnittstelle gibt auch an, dass alle Ereignisse, die für diesen Teilebewegungssensor von Interesse sind, in einer Datenbank gespeichert werden sollten, wie in dem Feld „DataRecorder“ beschrieben ist. Die Liste der verfügbaren Funktionen, auch Ereignishandler genannt, enthält die automatisch erzeugten Funktionen für die ausgewählte Komponente. Mit einer solchen Implementierung kann der Benutzer einen Prozess erstellen, ohne Code schreiben zu müssen.
  • 2 zeigt beispielhaft die Optionen für einen Handscanner, der mit einem Industriecomputer verbunden ist. Das Eigenschaftsfeld (108) hebt hervor, dass der gescannte Code in der Textbearbeitungsbox „PARTNUMTEXTBOX“ angezeigt wird. Es zeigt auch, dass der gescannte Code in einer lokalen SQL-Datenbank gespeichert werden soll. In einigen Ausführungsformen zeigt eine Komponente auf der rechten Seite der Benutzerschnittstelle den aktuellen Zustand und die Zykluszeit für den Prozess an dieser Station und wie viele Zyklen ausgeführt wurden. Dies wird automatisch erzeugt, sobald der Benutzer definiert, welche Komponenten auf der Schnittstelle Ereignisse erstellen, die den Start und das Ende des Prozesses auslösen. Dies ermöglicht eine Verfolgung der Zykluszeiten sowie der Anzahl der durchgeführten Zyklen, ohne programmieren zu müssen.
  • 3 ist ein Screenshot des in den 1 und 2 gezeigten Projekts, nachdem es kompiliert und auf einer kundenspezifischen SPS eingesetzt wurde. Die LED (300) an der Instanz der SPS zeigt an, dass die Verbindung aufgebaut ist und die EtherCAT-Komponenten in der CONV B2-Gruppe online sind. Auf diese Weise kann die Benutzerschnittstelle nahtlos Code für eine Kombination aus lokalen und entfernten Geräten steuern und erzeugen.
  • In einigen Ausführungsformen weist die integrierte Entwicklungsumgebung (oder eine Erweiterung, eine Ergänzung oder eine Plugin dazu) ein Quellcode-Erzeugungsmodul auf, das dazu konfiguriert ist, Quellcode zu erzeugen zum Bereitstellen von Befehlen für Automatisierungssteuerkomponenten durch Funktionen, die als Ereignishandler verwendbar sind. Durch die grafische Benutzerschnittstelle können der integrierten Entwicklungsumgebung visuelle Komponenten hinzugefügt werden, wobei die visuellen Komponenten physikalische und logische Komponenten und Systeme darstellen, die mit anderen Komponenten schnittstellenmäßig verbunden werden sollen und die mit dem Quellcode-Erzeugungsmodul verknüpft sind. Der Quellcodegenerator ist so konfiguriert, dass er automatisch Quellcode erzeugt, der jeder Komponente entspricht. Die integrierte Entwicklungsumgebung ermöglicht eine Modifikation der Komponentenschnittstellen, so dass jedes Ereignis in die Lage versetzt werden kann, eine Vielzahl von Ereignisbehandlungsroutinen zu handhaben, ohne einen zugehörigen Quellcode schreiben oder bearbeiten zu müssen. In einigen Ausführungsformen automatisiert die Instanziierung einer Komponente in einem Projekt unter Verwendung der integrierten Entwicklungsumgebung die Erzeugung des Quellcodes, der Signale von der Komponente erfasst und an einen Kommunikationskanal sendet, der auf Anforderung hin deklariert wird, was zur Laufzeit zu einer automatisierten Telemetrie führt, die von der Komponente (bzw. einer daran angeschlossenen SPS) stammt. In einigen Ausführungsformen erstellt eine Webanwendung automatisch die Graphen oder Tabellen, um die Telemetriedaten für jedes von der Steuerung empfangene Signal darzustellen, wie weiter unten beschrieben.
  • 4 ist ein Schema der Implementierung einer Dateninfrastruktur für die aktuelle Ausführungsform der vorliegenden Erfindung. Eine Mensch-Maschine-Ausführungslaufzeit (404), die auf einem physischen oder virtualisierten Computer (409) läuft, enthält mehrere Instanzen von Automatisierungskomponenten, die hier mit Beginn und Ende der Liste dieser Komponenten (405) bis (406) dargestellt sind. Für jede dieser Komponenten instanziiert die Laufzeitumgebung (404) jeweils einen Kommunikationskanal (407) bis (408). Alle diese Kanäle senden Daten an eine Kommunikationspipeline (411) auf dem Telemetrieserver (401). Ein Webserver (402) hostet eine Webanwendung, die Code aufweist, der Diagramme und Tabellen dynamisch verarbeitet und ausgibt, wenn eine Webpage (403) das Programm ausführt. Die Webpage (403) konsumiert über eine Datenpipeline (413) Daten von dem Telemetrieserver (401), um die Daten anzuzeigen. In einigen Ausführungsformen werden Web-Sockets verwendet, um Daten zwischen der Mensch-Maschine-Ausführungslaufzeit (404) und dem Telemetrieserver (401) sowie zwischen dem Telemetrieserver und der Webpage (403) auszutauschen.
  • Die beschriebene integrierte Entwicklungsumgebung (oder eine Erweiterung, eine Ergänzung oder ein Plugin dazu) kann innerhalb einer einzelnen Verarbeitungsvorrichtung implementiert werden, kann aber auch über mehrere Verarbeitungsvorrichtungen oder Teilsysteme, die bei der Ausführung von Programmanweisungen zusammenarbeiten, verteilt werden. Beispiele für Verarbeitungssysteme sind Universal-Zentraleinheiten, anwendungsspezifische Prozessoren und Logikeinheiten sowie jede andere Art von Verarbeitungseinheit, Kombinationen von Verarbeitungseinheiten oder Variationen davon. Speichersysteme können alle Speichermedien aufweisen, die von Verarbeitungssystemen gelesen werden können, und in der Lage sind, Software zu speichern. Das Speichersystem kann flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien aufweisen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, implementiert werden. Das Speichersystem kann als einzelne Speichervorrichtung implementiert werden, kann aber auch über mehrere Speichervorrichtungen oder Subsysteme implementiert werden. Das Speichersystem kann zusätzliche Elemente umfassen, wie etwa eine Steuerung bzw. einen Controller, der mit dem System kommunizieren kann. Beispiele für Speichermedien umfassen Direktzugriffsspeicher, Nur-Lese-Speicher, Magnetplatten, optische Platten, Flash-Speicher, virtuelle Speicher und nicht-virtuelle Speicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, oder jedes andere Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern, und auf das durch ein Befehlsausführungssystem zugegriffen werden kann, sowie jede Kombination oder Variation davon, oder jede andere Art von Speichermedien. In einigen Implementierungen kann das Speichermedium ein nichtflüchtiges Speichermedium sein. In einigen Implementierungen kann zumindest ein Teil der Speichermedien transitorisch sein. In keinem Fall ist das Speichermedium ein propagiertes Signal.
  • Die enthaltenen Beschreibungen und Figuren stellen spezifische Implementierungen dar, um Fachleuten zu lehren, wie man den besten Modus herstellt und verwendet. Um erfinderische Prinzipien zu lehren, wurden einige herkömmliche Aspekte vereinfacht oder weggelassen. Fachleute werden Variationen von diesen Implementierungen, die in den Umfang der Erfindung fallen, erkennen. Ein Fachmann wird auch erkennen, dass die oben beschriebenen Merkmale auf verschiedene Weise kombiniert werden können, um mehrere Implementierungen zu bilden. Somit ist die Erfindung nicht auf die oben beschriebenen spezifischen Implementierungen beschränkt, sondern nur auf die Ansprüche und deren Äquivalente.
  • Die vorstehende Diskussion der Offenbarung wurde zum Zwecke der Veranschaulichung und Beschreibung präsentiert. Das Vorstehende soll die Offenbarung nicht auf die hierin offenbarte Form oder Formen beschränken. In der vorstehenden ausführlichen Beschreibung sind beispielsweise verschiedene Merkmale der Offenbarung in einer oder mehreren Ausführungsformen zum Zweck der Rationalisierung der Offenbarung zusammengefasst. Dieses Verfahren der Offenbarung ist nicht so zu interpretieren, dass es eine Intention widerspiegelt, dass die beanspruchte Offenbarung mehr Merkmale erfordert als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr liegen, wie die folgenden Ansprüche widerspiegeln, erfinderische Aspekte in weniger als allen Merkmalen einer einzigen vorstehend offenbarten Ausführungsform. Somit werden die folgenden Ansprüche hiermit in diese detaillierte Beschreibung aufgenommen, wobei jeder Anspruch für sich allein als separate bevorzugte Ausführungsform der Offenbarung steht.
  • Obwohl die vorliegende Offenbarung eine Beschreibung einer oder mehrerer Ausführungsformen und von bestimmten Variationen und Modifizierungen aufweist, liegen darüber hinaus andere Variationen und Modifizierungen innerhalb des Umfangs der Offenbarung, z. B. können die Verwendung einer bestimmten oben beschriebenen Komponente allein oder in Verbindung mit andere Komponenten ein System umfassen, während das System in anderen Aspekten die Kombination aller hierin beschriebenen Komponenten sein kann, und zwar in einer anderen Reihenfolge als die, welche zum Zwecke der Vermittlung der neuen Aspekte der vorliegenden Offenbarung verwendet wird. Andere Variationen und Modifizierungen können innerhalb des Könnens und Wissens einen Fachmanns liegen, nachdem er die vorliegende Offenbarung verstanden hat. Dieses Offenlegungsverfahren soll Rechte erlangen, die zu den beanspruchten alternative Ausführungsformen im zulässigen Umfang umfassen, einschließlich alternativer, austauschbarer und/oder äquivalenter Strukturen, Funktionen, Bereiche oder Schritte, unabhängig davon, ob solche alternativen, austauschbaren und/oder äquivalenten Strukturen, Funktionen, Bereiche oder Schritte hierin offenbart werden, und ohne die Absicht, irgendeinen patentierbaren Gegenstand der Öffentlichkeit zu überlassen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/094869 [0001]

Claims (15)

  1. Integrierte Entwicklungsumgebung, umfassend: eine grafische Benutzerschnittstelle, die eines oder mehrere visuelle Elemente, die einer Automatisierungssteuerkomponente entsprechen, anzeigt; und ein Quellcode-Erzeugungsmodul, das konfiguriert ist, automatisch Quellcode zum Bereitstellen von Befehlen für die Automatisierungssteuerkomponente zu erzeugen, durch Funktionen, die als Ereignishandler verwendbar sind.
  2. Integrierte Entwicklungsumgebung nach Anspruch 1, die eine Modifikation einer der Automatisierungssteuerkomponente zugeordneten Schnittstelle ermöglicht, um eine Handhabung einer Vielzahl von Ereignishandlern zu ermöglichen, ohne dass ein zugehöriger Quellcode geschrieben oder bearbeitet werden muss.
  3. Integrierte Entwicklungsumgebung nach Anspruch 1, wobei die grafische Benutzerschnittstelle ein Hinzufügen, Entfernen oder Modifizieren der visuellen Elemente, die der Automatisierungssteuerkomponente entsprechen, ermöglicht.
  4. Integrierte Entwicklungsumgebung nach Anspruch 1, wobei die Instanziierung der Automatisierungssteuerkomponente in einem Projekt automatisch Quellcode erzeugt, der Signale von der Automatisierungssteuerkomponente erfasst und an einen Kommunikationskanal sendet, der automatisierte Telemetrie ermöglicht, die von der Automatisierungssteuerkomponente stammt.
  5. Integrierte Entwicklungsumgebung nach Anspruch 4, umfassend eine Webanwendung, die konfiguriert ist, automatisch visuelle Darstellungen von Telemetriedaten für jedes Signal zu erstellen, wobei die der Telemetrie zugeordneten Telemetriedaten von der Automatisierungssteuerkomponente stammen.
  6. Integrierte Entwicklungsumgebung nach Anspruch 5, wobei die Signale von einer programmierbaren Logiksteuerung empfangen werden, die der Automatisierungssteuerkomponente zugeordnet ist.
  7. Integrierte Entwicklungsumgebung nach Anspruch 5, wobei die Webanwendung von einem Webserver in Kommunikation mit einem Telemetrieserver gehostet wird, wobei der Telemetrieserver die Signale erfasst und aussendet.
  8. Plugin für eine integrierte Entwicklungsumgebung, umfassend: eine grafische Benutzerschnittstelle, die eines oder mehrere visuelle Elemente, die einer Automatisierungssteuerkomponente entsprechen, anzeigt; und ein Quellcode-Erzeugungsmodul, das konfiguriert ist, automatisch Quellcode zum Bereitstellen von Befehlen für die Automatisierungssteuerkomponente zu erzeugen, durch Funktionen, die als Ereignishandler verwendbar sind.
  9. Plugin nach Anspruch 8, das eine Modifikation einer der Automatisierungssteuerkomponente zugeordneten Schnittstelle ermöglicht, um eine Handhabung einer Vielzahl der Ereignishandlern zu ermöglichen, ohne dass ein zugehöriger Quellcode geschrieben oder bearbeitet werden muss.
  10. Plugin nach Anspruch 8, wobei die grafische Benutzerschnittstelle ein Hinzufügen, Entfernen oder Modifizieren der visuellen Elemente, die der Automatisierungssteuerkomponente entsprechen, ermöglicht.
  11. Plugin nach Anspruch 8, wobei die Instanziierung der Automatisierungssteuerkomponente in einem Projekt automatisch Quellcode erzeugt, der Signale von der Automatisierungssteuerkomponente erfasst und an einen Kommunikationskanal sendet, der automatisierte Telemetrie ermöglicht, die von der Automatisierungssteuerkomponente stammt.
  12. Plugin nach Anspruch 11, umfassend eine Webanwendung, die konfiguriert ist, automatisch visuelle Darstellungen von Telemetriedaten für jedes Signal zu erstellen, wobei die der Telemetrie zugeordneten Telemetriedaten von der Automatisierungssteuerkomponente stammen.
  13. Plugin nach Anspruch 12, wobei die Signale von einer programmierbaren Logiksteuerung empfangen werden, die der Automatisierungssteuerkomponente zugeordnet ist.
  14. Plugin nach Anspruch 12, wobei die Webanwendung von einem Webserver in Kommunikation mit einem Telemetrieserver gehostet wird, wobei der Telemetrieserver die Signale erfasst und aussendet.
  15. Verfahren zum Programmieren einer Automatisierungssteuerkomponente, umfassend: a. Bereitstellen einer integrierten Entwicklungsumgebung, die (i) eine grafische Benutzeroberfläche und (ii) ein Quellcode-Erzeugungsmodul umfasst; b. Hinzufügen, über die grafische Benutzerschnittstelle, eines oder mehrerer visueller Elemente, die einer Automatisierungssteuerkomponente entsprechen; c. automatisches Erzeugen von Quellcode zum Bereitstellen von Befehlen für die Automatisierungssteuerkomponente durch Funktionen, die als Ereignishandler verwendbar sind; d. Modifizieren einer Schnittstelle, die der Automatisierungssteuerkomponente zugeordnet ist, um eine Handhabung einer Vielzahl von Ereignishandlern zu ermöglichen, ohne dass ein zugehöriger Quellcode geschrieben oder bearbeitet werden muss; e. automatisches Erzeugen von Quellcode, der Signale von der Automatisierungssteuerkomponente erfasst und an einen Kommunikationskanal sendet, der automatisierte Telemetrie ermöglicht, die von der Automatisierungssteuerkomponente stammt; und f. Erstellen visueller Darstellungen von Telemetriedaten für jedes Signal, wobei die der Telemetrie zugeordneten Telemetriedaten von der Automatisierungssteuerkomponente stammen.
DE112021005515.1T 2020-10-21 2021-10-21 System und vorrichtung zum verfassen und entwickeln von automatisierungsschnittstellen und -prozessen ohne schreiben von code Pending DE112021005515T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063094869P 2020-10-21 2020-10-21
US63/094,869 2020-10-21
PCT/US2021/055966 WO2022087212A1 (en) 2020-10-21 2021-10-21 System and apparatus for authoring and developing automation interfaces and processes without writing code

Publications (1)

Publication Number Publication Date
DE112021005515T5 true DE112021005515T5 (de) 2023-11-02

Family

ID=81290045

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021005515.1T Pending DE112021005515T5 (de) 2020-10-21 2021-10-21 System und vorrichtung zum verfassen und entwickeln von automatisierungsschnittstellen und -prozessen ohne schreiben von code

Country Status (4)

Country Link
US (2) US20240012388A1 (de)
JP (1) JP2023547855A (de)
DE (1) DE112021005515T5 (de)
WO (1) WO2022087212A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6268852B1 (en) * 1997-06-02 2001-07-31 Microsoft Corporation System and method for facilitating generation and editing of event handlers
US6701513B1 (en) * 2000-01-14 2004-03-02 Measurement Computing Corporation Program-development environment for use in generating application programs
DE60210580T2 (de) * 2001-01-12 2007-02-15 Novar Marketing Inc., Wilmington Systen zur überwachung der automatisierung in einem kleinen gebäude
US9030315B2 (en) * 2006-08-29 2015-05-12 Siemens Industry, Inc. Binding methods and devices in a building automation system
WO2009104036A1 (en) * 2008-02-19 2009-08-27 Abb Research Limited A thin-client based architecture for engineering workplace in automation system
US10489126B2 (en) * 2018-02-12 2019-11-26 Oracle International Corporation Automated code generation

Also Published As

Publication number Publication date
JP2023547855A (ja) 2023-11-14
WO2022087212A1 (en) 2022-04-28
US20230401041A1 (en) 2023-12-14
US20240012388A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
DE60207155T2 (de) Objektorientiertes Internetschnittstellensystem für eine industrielle Steuereinrichtung
DE112016003949T5 (de) Webbasierte programmierumgebung für eingebettete geräte
DE102009047025B3 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
WO2003071455A2 (de) Engineeringverfahren und engineeringsystem für industrielle automatisierungssysteme
DE102010036914A1 (de) Systemkonfiguration unter Verwendung von Vorlagen
WO2005091089A1 (de) Beeinflussungsgerät für steuergeräte
DE102009019088A1 (de) Sicherheitssteuerung zum Steuern einer automatisierten Anlage und Verfahren zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
EP1859340A2 (de) Verfahren zum erzeugen von druckaufträgen in einem drucksystem, verfahren zum sortieren von druckjobs in einem drucksystem, computerprogramm- produkt und drucksystem zum ausführen dieser verfahren
DE10206903A1 (de) Softwareapplikation, Softwarearchitektur und Verfahren zur Erstellung von Softwareapplikationen, insbesondere für MES-Systeme
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
WO2018036708A1 (de) Gateway und verfahren zur anbindung eines datenquellensystems an ein it-system
EP1137972B1 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
EP0991984B1 (de) Programmiergerät
EP2456124A1 (de) Geberschnittstellenengineering
EP3295265A1 (de) Bedienmodul für eine maschine in der lebensmittelindustrie
DE112021005515T5 (de) System und vorrichtung zum verfassen und entwickeln von automatisierungsschnittstellen und -prozessen ohne schreiben von code
DE102014019368A1 (de) Einrichtung zur Verwaltung und Konfiguration von Feldgeräten einer Automatisierungsanlage
DE102008023873A1 (de) Verfahren zum Betrieb eines Antriebssystems
EP1351109A1 (de) Integriertes Entwurfs-, Programmier- und Dokumentationssystem für Automatisierungsgeräte
DE102016121788A1 (de) Konfiguration einer Automatisierungsanlage
EP2093663A1 (de) Engineering-System für die Entwicklung eines Projektes und Verfahren
EP4086754A1 (de) Verfahren zur rechnergestützten konfiguration eines endgeräts, endgerät und betriebsverfahren für das endgerät
DE202020105648U1 (de) Maschinelles Lernsystem zur Unterstützung der Ingenieurtätigkeit