DE112021005515T5 - SYSTEM AND APPARATUS FOR WRITING AND DEVELOPING AUTOMATION INTERFACES AND PROCESSES WITHOUT WRITING CODE - Google Patents
SYSTEM AND APPARATUS FOR WRITING AND DEVELOPING AUTOMATION INTERFACES AND PROCESSES WITHOUT WRITING CODE Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4155—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32021—Energy management, balance and limit power to tools
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
- General Factory Administration (AREA)
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.An integrated development environment or a plug-in therefor includes a source code generation module configured to automatically generate source code to provide commands for automation engines. A graphical user interface has visual components that represent automation control components to be interconnected and that are linked to the source code generation module. The integrated development environment allows component interfaces to be modified so that a variety of event handlers can be implemented without writing or editing source code. Instantiating a component in a project using the integrated development environment automates the generation of the source code that captures signals from the component and sends them to a communication channel that is declared on request through the interface. A web application automatically creates the graphs or tables to represent the telemetry data for each signal received by the controller.
Description
QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS REFERENCE TO RELATED APPLICATIONS
Diese Anmeldung beansprucht die Priorität der vorläufigen U.S. Anmeldung Nr.
TECHNISCHEN BEREICHTECHNICAL AREA
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.The present invention relates generally to automation control technology and, more particularly, to a system for authoring and developing automation interfaces and processes without the need to write code.
STAND DER TECHNIKSTATE OF THE ART
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.Since the introduction of programmable logic controllers in the field of automation controls, the capabilities of computers have greatly improved, with faster microprocessors allowing greater computing power and larger and faster memories allowing the execution of larger and more complex programs that contain larger amounts of data manipulate. Network connectivity has also improved dramatically, and components that once connected to programmable logic controllers (PLCs) via direct cables carrying analog signals, such as the early Allen Bradley PLC, now often communicate with the logic controller via Ethernet or similar network protocols. Over time, programmable logic computers have evolved into computers, to such an extent that today popular programmable logic controllers use electronics similar to personal computers, such as an Intel processor-based computer system, and are capable of a Run an operating system designed for personal computers, professional workstations and servers, such as Microsoft Windows, various Linux distributions or similar operating systems. Popular examples of such modern programmable logic controllers are the Siemens SIMATIC or the Beckhoff CX controller families.
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.Requirements and applications in the field of manufacturing have evolved similarly. Modeling tools have enabled the complexity of plants, production lines and factories to increase significantly. It's not uncommon to monitor hundreds of devices - from simple sensors to sophisticated industrial robots connected to a single controller. The frequency and amount of data transferred between controllers and components follow the same trend. Hundreds of megabytes of data transferred per second, with latencies measured in milliseconds and sometimes microseconds for specialized controllers, are common. Data related to material flow, supply chain, product quality, human resources, and countless other areas are now part of the data processed by controls and manufacturing execution systems.
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.Human-machine interfaces have historically been independent in terms of and associated with programmable logic control. More recently, as a result of increasing connectivity in factories and increasing use of servers, these interfaces can be connected to a server that directly or indirectly receives information from the programmable logic controller, and the human-machine interface essentially consists of a user interface on a Computer display.
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.It is also common to find a manufacturing execution system hosted on a server perhaps off-site and sometimes on a distributed system. The manufacturing execution server is responsible for collecting cycle data from programmable logic controllers and sending data to these controllers to orchestrate manufacturing and coordinate material flow and other systems.
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.Other devices and systems, such as intelligent cameras used for quality control or occupancy sensors, are traditionally separate from, but directly connected to, a programmable logic controller. Such an increase in the number of devices and systems in factories has led to increasing data traffic across the network infrastructure and more complex management of connections. A critical aspect of managing these connections is ensuring that network capabilities in the factory are matched to the bandwidth requirements to transmit data in a timely manner so that the numerous devices and components can operate within the allotted time. This applies in particular to safety and shutdown devices and components that must act and react in short periods of time ranging from microseconds to a few milliseconds. The type of connections - whether analog or digital - can be selected appropriately to optimize the performance of communication between components.
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.Modern programmable logic controllers typically support multiple types of connections to facilitate meeting these connectivity requirements. For example, several analog ports are available as communication extensions that can be connected to the core unit of the controller. The core controller uses a proprietary protocol, such as EthernetIP, Profinet or EtherCAT, developed by Allen-Bradley, Siemens and Beckhoff, respectively, to connect to most automation devices, such as actuators, motors, sensors and robots. Additionally, since the early 2000s, most programmable logic controllers have been equipped with at least one Ethernet port that allows them to communicate with the corporate network.
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.Determinism is a key requirement when selecting the language used to program the controls that interface with multiple devices critical to the operation and safety of manufacturing plants. Interpreted high-level languages such as Python and JavaScript are attractive for quickly developing complex programs. However, such languages cannot provide assurance that code execution will be consistent with predictable timing. They may be suitable for developing user interfaces that are part of the human-machine interfaces for a manufacturing automation system, but should not be used to develop the logic that orchestrates and/or interacts with devices and automation devices.
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.Telemetry is another key requirement for automation controls. To monitor the status of processes and assets, data from devices, processes and systems is ideally collected and made available to enable analysis of this data. The benefits of providing such data include the ability to troubleshoot and diagnose, as well as better understand the behavior of devices and systems to increase efficiency and quality and minimize failures.
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.In order to produce more efficient, cost-effective, and scalable automation control systems, the present invention provides a graphical user interface that simplifies the tasks of creating programs that run on an automation controller, a human-machine interface system, or a manufacturing execution system.
BESCHREIBUNG DER ERFINDUNGDESCRIPTION OF THE INVENTION
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.In some embodiments, the present invention includes an integrated development environment having a graphical user interface that includes one or more user input devices, such as a mouse, a keyboard, a voice input device, a touch input device for receiving a gesture from a user, a motion input device for detecting non- Touch gestures and other movements by a user and the like. Output devices such as a graphical display, speakers, printers, haptic devices, and other types of output devices may also be included in the user interface.
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.The user interface is executed by an embedded computer that has one or more ports for controlling and reading automation control devices such as motors, sensors, light towers, scanners, etc. In some embodiments, the graphical user interface runs on Windows and was developed for Microsoft Visual Studio using the C# (C-Sharp) language. However, it should be understood that the graphical user interface described in the present invention can be adapted to use other languages such as C++, Visual Basic and the like, and can also be modified to work on other operating systems such as Linux. In some embodiments, the present invention includes an extension or addition (or a set of extensions or additions, sometimes referred to as plugins) to an integrated development environment, or in some embodiments may include a standalone integrated development environment, each providing a graphical user interface.
Die
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.Although graphically oriented programming tools are known in the art, such tools create a canvas to help the user of a program create a framework for the application or system, but ultimately require that the user have sufficient programming or development skills , write code to fill in the required functionality between the system components. On the other hand, the present invention provides the integrated development environment with programmatic components that are a digital representation of physical devices or components such as buttons, scanners, motors, lights, etc. Properties of a respective component are exposed to the integrated development environment, allowing configuration and setup of attributes through the same “properties interface” provided with other standard properties inherited from the development environment for the target project. The default properties specific to the components are extended by properties specific to the added components and are available in the same place in the user interface where the default properties are accessible. Some properties are added to the programmatic components and are automatically made available to the target project's user interface by the integrated development environment, while others may require an extension of the integrated development environment that extends the user interface so that such properties are made available to users when using components the associated properties can be included in the target project.
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.The graphical user interface is configured to provide and use functions and actions in addition to properties and events. In the case of events, by default, a user using the integrated development environment is able to automate the generation of the code for an empty function that is called when such an event is populated - sometimes called an event handler. In a traditional environment, a developer must manipulate the event handler by writing code to populate the body of the function to implement the logic that controls the behavior of the component when such an event is received. In the event of an interaction between one component and another component of the project, the developer writing the code must know the identification of the other component and how to use the interface that allows programming the behavior of such components. However, the present invention automatically generates the code that handles all possible commands and actions for all components added to the project, so that there is one function per command or actions added to the code of the currently edited source file.
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.In the example where the automation component added to the user interface is the representation of an electric motor and in particular a variable frequency drive, the extension is used as a user interface that provides standard properties for the electric motor, such as the default action (stop, run forward, run reverse) and speed, as well as which ports or addresses are used to communicate with the motor. Events generated by the engine components are also provided. Some are standard, as described previously, while others are specific to the motor drive. For example, the change in state or speed change of the motor are possible events that can be recorded and used by the program.
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.In a traditional setting, the standard interface would not allow providing the possible functional commands to a component. For example, if one wants to start a motor when an event occurs, one usually needs to create a function appropriately formatted with appropriate attributes, such as the correct type and number of parameters and the correct type of return value, and that function by writing code that relates to the engine and calls one or more methods or functions to pass the appropriate information to the engine. This would require a programmer to have functional knowledge of the programming language and interfaces that would control the motor. Conversely, the present invention creates such functions, including the code needed in the body of those functions, so that all actions and commands possible for a component are available directly in the user interface of the integrated development environment. This allows users to easily reference a command in response to an event. For example, if an engine is to be started when another engine stops, the function to start the desired engine can be found in the list of functions called in response to the desired event for the engine that generates such an event can be. The present invention is also capable of selecting multiple event handlers for an event, whereas traditional integrated development environments provide a user interface that allows selection of only one event handler.
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.Actual business processes, such as factory automation, require multiple components to interact with each other at the same time. For example, detection of a part, starting one or more engines, may trigger transport and initiate one of several software procedures to be executed. A difficulty in the field of automation and manufacturing in particular is collecting data specific to components and devices responsible for executing processes. These processes can be purely software, such as recording data in a database, or hardware, such as the state and speed of a motor, values of electrical currents and voltages, etc. Human-initiated tasks also result in events and data that can be recorded, for example, tightening a screw can be done with a tool that records torque values. As a result, tasks that are either initiated by human actions or performed automatically by the automation program generate data that is worth recording for several reasons, including diagnostics, observability, but also to characterize the behavior of these components in order to detect errors and to enable modeling of failure modes and the like. Each set of data points for a given component represents a signal, which is often worth plotting as a curve over time to facilitate human interpretation of such data. Accordingly, the present invention is configured to systematically collect data for the components instantiated in the development environment. In addition, the pipeline required to aggregate the data and send it to a centralized or distributed shipping system is automatically generated. For each component, the controller on which the component runs - or to which it is connected - opens a communication channel with a server or distributed system specific to that component. The channel is named after the component itself to make it easier for clients subscribing to the data to identify the source of the signal. In addition, the data server associated with the present invention automatically generates the interface that enables the signals received from the controllers to be displayed.
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
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.The integrated development environment according to the present invention can be used to design, implement and develop both the user interface and the logic of programs that can execute the process for an automated workflow without having to write or edit code.
KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
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.One skilled in the art will recognize that the following description is merely illustrative of the principles of the disclosure, which may be applied in various ways to provide many different alternative embodiments. This description is intended to illustrate the general principles of the teachings of this disclosed invention and is not intended to limit the inventive concepts disclosed herein.
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.
-
1 is a portion of a graphical user interface associated with a part motion sensor, the graphical user interface enabled by the present invention. -
2 is a portion of a graphical user interface associated with a handheld scanner, the graphical user interface being enabled by the present invention. -
3 is another portion of a graphical user interface after the project has been compiled on a custom controller, the graphical user interface being enabled by the present invention. -
4 is a schematic of the data acquisition system and associated telemetry controls.
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.The drawings are not necessarily to scale. In certain cases, details that are not necessary to understand the disclosure or that would make other details difficult to discern may be omitted. It is, of course, to be understood that the disclosure is not necessarily limited to the embodiments illustrated herein.
BESTER MODUS ZUM AUSFÜHREN DER ERFINDUNGBEST MODE FOR CARRYING OUT THE INVENTION
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.The present invention provides its advantages across a wide range of endeavors. It is Applicant's intention to give this specification and the appended claims a breadth consistent with the scope and spirit of the invention disclosed, notwithstanding what may appear to be limiting language imposed by the requirements of reference to the specific examples disclosed becomes. Thus, to those skilled in the relevant fields most closely related to the present invention, a preferred embodiment of the system is disclosed for the purpose of illustrating the nature of the invention. The exemplary method of operating the system will be described in detail in accordance with the preferred embodiment, without attempting to describe all of the various forms and modifications in which the invention might be embodied. The embodiments described herein are therefore illustrative and, as will be apparent to those skilled in the art, may be modified in numerous ways within the scope and spirit of the invention, which invention is measured by the appended claims and not by the details of the description.
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.Although the following text sets forth a detailed description of many different embodiments, the scope of the description is defined by the words of the claims listed at the end of this disclosure. The description is intended to be exemplary only and does not describe every possible embodiment, as it would be impractical, if not impossible, to describe every possible embodiment. Numerous alternative embodiments could be implemented using either current technology or technology developed after the filing date of this patent, which would still be within the scope of the claims.
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.It is also understood that unless a term is expressly defined herein, there is no intention, express or implied, to limit the meaning of such term beyond its plain or ordinary meaning, and such term should not be used based on any statement in any section of this patent (except for the wording of the claims) must be interpreted to a limited extent in its scope. To the extent that any term cited in the claims appended to the end of this patent is referred to in this patent in a manner consistent with a single meaning, it is for purposes of clarity only and is not intended to confuse the reader It is intended that such term from the claims be implied or otherwise limited to that one meaning. Finally, unless a claim element is defined by mentioning the word "means" and a function without mentioning a structure, it is not intended that the scope of a claim element be based on the application of 35 U.S.C. Section 112, subparagraph (f) is interpreted.
Genauer gesagt, zeigt
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.In some embodiments, the integrated development environment (or an extension, supplement, or plugin thereto) includes a source code generation module configured to generate source code for providing commands to automation engines through functions usable as event handlers. The graphical user interface allows visual components to be added to the integrated development environment, the visual components representing physical and logical components and systems that are to be interfaced with other components and that are linked to the source code generation module. The source code generator is configured to automatically generate source code corresponding to each component. The integrated development environment allows modification of the component interfaces so that each event can be enabled to handle a variety of event handlers without having to write or edit any associated source code. In some embodiments, instantiation of a component in a project using the integrated development environment automates the generation of the source code that captures signals from the component and sends them to a communication channel that is declared upon request, resulting in automated telemetry at run time that comes from the component (or a PLC connected to it). In some embodiments, a web application automatically creates the graphs or tables to represent the telemetry data for each signal received from the controller, as described below.
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.The described integrated development environment (or an extension, supplement or plugin thereto) may be implemented within a single processing device, but may also be distributed across multiple processing devices or subsystems that cooperate in executing program instructions. Examples of processing systems include general-purpose central processing units, application-specific processors and logic units, and any other type of processing unit, combinations of processing units, or variations thereof. Storage systems can include any storage media that can be read by processing systems and is capable of storing software. The storage system may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. The storage system may be implemented as a single storage device, but may also be implemented across multiple storage devices or subsystems. The storage system may include additional elements, such as a controller, that can communicate with the system. Examples of storage media include random access memory, read-only memory, magnetic disks, optical disks, flash memory, virtual memory and non-virtual memory, magnetic cartridges, magnetic tape, magnetic disk memory or other magnetic storage devices, or any other medium that can be used to store the desired information and accessible through an instruction execution system, as well as any combination or variation thereof, or any other type of storage media. In some implementations, the storage medium may be a non-volatile storage medium. In some implementations, at least some of the storage media may be transitory. In no case is the storage medium a propagated 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.The descriptions and figures included represent specific implementations to teach professionals how to make and use the best mode. In order to teach inventive principles, some conventional aspects have been simplified or omitted. Those skilled in the art will recognize variations of these implementations that fall within the scope of the invention. One skilled in the art will also recognize that the features described above can be combined in various ways to form multiple implementations. Thus, the invention is not limited to the specific implementations described above, but only to the claims and their equivalents.
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.The foregoing discussion of the disclosure has been presented for purposes of illustration and description. The foregoing is not intended to limit the disclosure to the form or forms disclosed herein. For example, in the foregoing detailed description, various features of the disclosure are summarized in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted to reflect an intention that the claimed disclosure requires more features than are expressly stated in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all of the features of a single embodiment disclosed above. Thus, the following claims are hereby incorporated into this detailed description, with each claim standing alone as a separate preferred embodiment of the disclosure.
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.Furthermore, although the present disclosure includes a description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the disclosure, e.g. For example, the use of a particular component described above, alone or in conjunction with other components, may comprise a system, while in other aspects the system may be the combination of all of the components described herein, in a different order than that used for purposes of mediation of the new aspects of the present disclosure. Other variations and modifications may be within the skill and knowledge of one skilled in the art after understanding the present disclosure. This Disclosure Process is intended to obtain rights that include, to the extent permitted, alternative embodiments to the claimed, including alternative, interchangeable and/or equivalent structures, functions, areas or steps, regardless of whether such alternative, interchangeable and/or equivalent structures, functions, areas or Steps disclosed herein and without intent to release any patentable subject matter to the public.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
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.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 63/094869 [0001]US 63/094869 [0001]
Claims (15)
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 (en) | 2023-11-02 |
Family
ID=81290045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112021005515.1T Pending DE112021005515T5 (en) | 2020-10-21 | 2021-10-21 | SYSTEM AND APPARATUS FOR WRITING AND DEVELOPING AUTOMATION INTERFACES AND PROCESSES WITHOUT WRITING CODE |
Country Status (4)
Country | Link |
---|---|
US (2) | US20240012388A1 (en) |
JP (1) | JP2023547855A (en) |
DE (1) | DE112021005515T5 (en) |
WO (1) | WO2022087212A1 (en) |
Family Cites Families (18)
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 |
AU2002243515A1 (en) * | 2001-01-12 | 2002-07-24 | Novar Controls Corporation | Small building automation control system |
US20040039468A1 (en) * | 2002-08-23 | 2004-02-26 | Vladimir Zahorack | Method, system and apparatus for an industrial framework based on integrated applications via adapters |
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 |
JP2009249072A (en) * | 2008-04-02 | 2009-10-29 | Mitsubishi Electric Corp | Destination floor registering device of elevator |
US20100211509A1 (en) * | 2009-02-17 | 2010-08-19 | Jacobs Richard B | Resource monitoring device |
WO2014034114A1 (en) * | 2012-08-31 | 2014-03-06 | パナソニック株式会社 | Power management system, power management device, and large power-using power load |
US20150186119A1 (en) * | 2013-12-31 | 2015-07-02 | Rockwell Automation Technologies, Inc. | Industrial automation device with editor and graphical object mobile visualization |
TW201541238A (en) * | 2014-04-18 | 2015-11-01 | 仁寶電腦工業股份有限公司 | Power controlling system and method thereof |
KR101906823B1 (en) * | 2016-03-07 | 2018-12-05 | 주식회사 럭스로보 | Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium |
AU2017238638B2 (en) * | 2016-03-23 | 2022-02-03 | Johnson Controls Tyco IP Holdings LLP | Tools and methods for real-time dataflow programming language |
JP6659985B2 (en) * | 2017-01-24 | 2020-03-04 | 富士通株式会社 | Program use support program, program use support device, and program use support method |
US10489126B2 (en) * | 2018-02-12 | 2019-11-26 | Oracle International Corporation | Automated code generation |
CN111971869B (en) * | 2018-03-16 | 2024-08-13 | 道达尔太阳能国际公司 | System, apparatus and method for off-grid microgrid management |
US11048483B2 (en) * | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US11948051B2 (en) * | 2020-03-23 | 2024-04-02 | Oracle International Corporation | System and method for ensuring that the results of machine learning models can be audited |
-
2021
- 2021-10-21 US US18/252,645 patent/US20240012388A1/en active Pending
- 2021-10-21 WO PCT/US2021/055966 patent/WO2022087212A1/en active Application Filing
- 2021-10-21 US US18/250,102 patent/US20230401041A1/en not_active Abandoned
- 2021-10-21 JP JP2023524571A patent/JP2023547855A/en active Pending
- 2021-10-21 DE DE112021005515.1T patent/DE112021005515T5/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022087212A1 (en) | 2022-04-28 |
US20240012388A1 (en) | 2024-01-11 |
US20230401041A1 (en) | 2023-12-14 |
JP2023547855A (en) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60207155T2 (en) | Object-oriented Internet interface system for an industrial control device | |
DE102009047025B3 (en) | Real-time runtime system and function module for such a runtime system | |
DE112016003949T5 (en) | WEB-BASED PROGRAMMING ENVIRONMENT FOR EMBEDDED EQUIPMENT | |
EP3542232B1 (en) | Control system for an industrial automation facility and method for programming and operating such a control system | |
DE10206902A1 (en) | Engineering process and engineering system for industrial automation systems | |
DE102015100024A1 (en) | Reusable graphics elements with fast editable features for use in plant monitor system user displays | |
DE102010036914A1 (en) | System configuration using templates | |
DE102009019088A1 (en) | Safety controller for controlling an automated system and method for creating a user program for a safety controller | |
WO2006089743A2 (en) | Method for generating print jobs in a printing system, method for sorting print jobs in a printing system, computer program product and printing system for carrying out said methods | |
WO2005091089A1 (en) | Influencing device for control apparatus | |
WO2018036708A1 (en) | Gateway and method for connecting a data source system to an it system | |
DE10206903A1 (en) | Software application, software architecture and method for creating software applications, especially for MES systems | |
EP2407842B1 (en) | Method for operating machines or machines in a machine series and design system | |
EP1137972B1 (en) | Automation system for solving a technical-process task and corresponding method | |
EP0991984B1 (en) | Programming apparatus | |
EP3295265A1 (en) | Operating module for a machine in the food industry | |
EP2456124A1 (en) | Sensor interface engineering | |
DE112021005515T5 (en) | SYSTEM AND APPARATUS FOR WRITING AND DEVELOPING AUTOMATION INTERFACES AND PROCESSES WITHOUT WRITING CODE | |
EP4123396B1 (en) | Technique for implementing visualization for an automation system with a programmable controller | |
DE102008023873A1 (en) | Drive system operating method, involves using buffer for exchanging data between drive component and drive regulation unit, initializing buffer by drive regulation unit, and temporizing initialization of buffer by control unit | |
DE19841194B4 (en) | Digital data processing system for safety-related automation tasks for execution as function and sequence diagrams of displayed programs | |
DE102021133935A1 (en) | Parameterization and/or configuration technique for a device based on a programmable logic controller | |
DE102016121788A1 (en) | Configuration of an automation system | |
EP1351109A1 (en) | Integrated design, programming and documentation system for automation devices | |
EP1536328A2 (en) | Data processing system with automatable management and method for automated management of a data processing system |