DE102019117954A1 - Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage - Google Patents

Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage Download PDF

Info

Publication number
DE102019117954A1
DE102019117954A1 DE102019117954.8A DE102019117954A DE102019117954A1 DE 102019117954 A1 DE102019117954 A1 DE 102019117954A1 DE 102019117954 A DE102019117954 A DE 102019117954A DE 102019117954 A1 DE102019117954 A1 DE 102019117954A1
Authority
DE
Germany
Prior art keywords
runtime
systems
server
runtime systems
control program
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
DE102019117954.8A
Other languages
English (en)
Inventor
Hans Beckhoff
Ramon Barth
Dirk Janssen
Josef Papenfort
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.)
Beckhoff Automation GmbH and Co KG
Original Assignee
Beckhoff Automation GmbH and Co KG
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 Beckhoff Automation GmbH and Co KG filed Critical Beckhoff Automation GmbH and Co KG
Priority to DE102019117954.8A priority Critical patent/DE102019117954A1/de
Priority to CN202080048638.6A priority patent/CN114041121A/zh
Priority to EP20735570.2A priority patent/EP3977301A1/de
Priority to PCT/EP2020/068413 priority patent/WO2021001376A1/de
Publication of DE102019117954A1 publication Critical patent/DE102019117954A1/de
Priority to US17/558,719 priority patent/US20220113709A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4145Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23217Parallel processing
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24153System controller can control independent from host
    • 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/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25369Control of states, real time
    • 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/34Director, elements to supervisory
    • G05B2219/34258Real time system, qnx, works together with non real time system, windows nt
    • 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/34Director, elements to supervisory
    • G05B2219/34273Pc and plc and nc integrated, pcnc concept
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft einen Laufzeitserver (100) zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme (101) in einem Betriebssystem (103) für eine Datenverarbeitungsanlage zum Steuern einer Automatisierungsanlage auf Basis eines Anlagensteuerprogramms, wobei die Laufzeitsysteme (101) zur Echtzeitausführung des Anlagensteuerprogramms ausgebildet sind, umfassend: wenigstens zwei Laufzeitsysteme (101) zum Ausführen von Anwendungsmodulen (105) des Anlagensteuerprogramms, wobei auf jedem Laufzeitsystem (101) wenigstens ein Anwendungsmodul (105) zur Ausführung einer Anwendung des Anlagensteuerprogramms installiert ist, wobei jedes Laufzeitsystem (101) eine Datenübertragungsschnittstelle (107) zur Datenübertragung zwischen Laufzeitsystemen (101) und/oder zwischen Anwendungsmodulen (105) aufweist, wobei jedes Laufzeitsystem (101) eine I/O-Konfiguration (109) aufweist, die eine Zuordnung zwischen wenigstens einer Variable der Anwendungsmodule (105) der Laufzeitsysteme (101) und wenigstens einer Hardwareadresse einer Hardwarekomponente (113) einer zu steuernden Automatisierungsanlage (112) definiert, eine I/O-Schnittstelle (111) zum Datenaustausch zwischen den wenigstens zwei Laufzeitsystemen (101) und den Hardwarekomponenten (113) der Automatisierungsanlage (112) mit wenigstens einem I/O-Eingang (115) und/oder I/O-Ausgang (117) und eine I/O-Mapping-Zwischenschicht (119), wobei in der I/O-Mapping-Zwischenschicht (119) die I/O-Konfigurationen (109) der wenigstens zwei Laufzeitsysteme (101) abgebildet sind.Die Erfindung betrifft ferner ein Computerprogrammprodukt (200) zum Ausführen des Laufzeitservers (100).

Description

  • Die Erfindung betrifft einen Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme in einem Betriebssystem für eine Datenverarbeitungsanlage zur Steuerung einer Automatisierungsanlage. Die Erfindung betrifft ferner ein Computerprogrammprodukt mit Programmcodemitteln zum Ausführen des Laufzeitservers und der Laufzeitsysteme. Die Erfindung umfasst ferner eine Automatisierungsanlage.
  • In der Industrieautomation werden speicherprogrammierbare und numerische Steuerungen (SPS/NC) zunehmend in Software auf einer leistungsfähigen Standard-Hardware, z. B. einem Industrie-PC ausgeführt. Im Gegensatz zu konventionellen SPS/NC, die auf einer eigenständigen Rechenbaugruppe ausgeführt werden, laufen sogenannte Soft-SPS/NC unter dem Wirtsbetriebssystem der Datenverarbeitungsanlage, z. B. unter Windows oder Unix. Das Wirtsbetriebssystem wird hierzu um einen Echtzeitkernel erweitert, der auch von der Soft-SPS/NC zur Verfügung gestellt werden kann und der die Rechenzeit, die das Wirtsbetriebssystem an die SPS/NC abgibt, steuert. Beispielsweise ist in der Druckschrift EP 2 341 405 B1 eine Soft-SPS beschrieben.
  • Der Vorteil im Vergleich zu konventionellen SPS/NC ist bei der Soft-SPS/NC die weitgehende Unabhängigkeit von der verwendeten Hardware. Die Hardware lässt sich damit im Bedarfsfall ohne weiteres austauschen bzw. durch leistungsfähigere Hardware ersetzen. Soft-SPS/NC profitieren so automatisch vom ständigen Leistungszuwachs der Hardware. Zudem macht die Soft-SPS/NC den Anwender in der Regel auch unabhängig vom Hardware-Anbieter. Außerdem lassen sich bei der Soft-SPS/NC Änderungen des zu steuernden Prozesses einfacher als bei konventionellen SPS/NC umsetzen. Bei der konventionellen SPS/NC ist üblicherweise ein spezielles Programmiergerät erforderlich, um die Elemente der SPS/NC zu programmieren. Oftmals ist die SPS/NC auch auf mehrere Rechner in einer Rechnerbaugruppe verteilt, wobei die Elemente der SPS/NC oft auch mit unterschiedlichen Programmiersprachen erzeugt werden und so dann auch unterschiedliche Konfigurationswerkzeuge erfordern. Bei der Soft-SPS/NC kann sich das Konfigurationswerkzeug dagegen auch auf derselben Hardware befinden wie die Steuerungssoftware.
  • Um den Aufwand bei der Programmierung von konventionellen und Soft-SPS/NC-Lösungen zur Steuerung oder Regelung komplexer Maschinen und Anlagen zu reduzieren, werden zunehmend modulare Konzepte eingesetzt. Einzelne Maschinenaggregate oder Anlagenbaugruppen bzw. Funktionalitäten werden als eigenständige Module betrachtet, für die jeweils eine nach außen gekapselte Steuerungssoftware erstellt wird. Die einzelnen Programmteile können dabei mit unterschiedlichen Entwicklungswerkzeugen bzw. Programmiersprachen erstellt werden, wobei der Quelltext dann von einem zugehörigen Compiler in einen ausführbaren Programmcode übersetzt wird. Diese ausführbaren Programmmodule bilden zusammen das Anlagensteuerprogramm. Alle Programmmodule werden beim Start von einer zusätzlich vorgesehenen Softwareumgebung im Laufzeitsystem zur Echtzeitausführung des Anlagensteuerprogramms geladen und ausgeführt. Die einzelnen Programmmodule weisen dabei eine definierte Schnittstelle zur Kommunikation untereinander und mit der Softwareumgebung auf.
  • Der modulare Aufbau der SPS/NC macht es möglich, die einzelnen Module getrennt zu entwickeln und dabei jeweils die am besten dafür geeignete Programmiersprache bzw. das hierfür erforderliche Entwicklungswerkzeug einzusetzen. Auch besteht so die Möglichkeit, auf standardisierte Elemente zurückzugreifen. Als Entwicklungswerkzeuge für eine Logiksteuerung werden z. B. Hochsprachen, bei Regelungsprozessen z. B. Bodediagramme oder Modellregler eingesetzt. Die einzelnen Programmmodule werden jedoch mit einem eigenen Computer in ein lauffähiges Programm umgesetzt, das im Rahmen der SPS/NC statisch und nicht veränderbar ist. Alle Programmmodule müssen beim Hochfahren der SPS/NC bereits in ausführbarer Form vorliegen. Die getrennte Ausführung der Programmmodule macht es darüber hinaus erforderlich, dass der Datenaustausch zwischen den Programmmodulen korrekt erfolgt und hierbei muss insbesondere zuverlässig garantiert werden, dass die verwendeten Datentypen miteinander kompatibel sind. Da die einzelnen Programmmodule vollständig voneinander getrennt sind, muss der Datenaustausch dabei zwingend über Schnittstellen erfolgen. Ferner ist zum gemeinsamen Verbinden der Programmmodule ein sogenannter Linker erforderlich, der die Programmmodule zu einem gemeinsamen Programm zusammenstellt. Dieser Linker sorgt dafür, dass, wenn ein Programmmodul ein anderes Programmmodul verwendet, die Adressen der Funktionen und Variablen des Moduls in Speicheradressen umgewandelt werden.
  • Trotz der Vorteile, die durch die Modularisierung des Steuerprogramms erzielt werden können, besteht weiterhin die Problematik, dass für die Durchführung von Änderungen, Modifikationen oder Updates an dem bestehenden Steuerprogramm oder an einzelnen Programmmodulen des Steuerprogramms das Steuerprogramm wenigstens für den Zeitraum, in dem die Änderung oder das Update in das bestehende Steuerprogramm eingepflegt wird, unterbrochen werden muss. Gleiches gilt für den Fall, dass ein neues Programmmodul beispielsweise als Erweiterung des Steuerprogramms in dieses eingepflegt beziehungsweise ein bestehendes Programmmodul entfernt oder durch ein neues Programmmodul ersetzt werden soll. Eine Unterbrechung des Steuerprogramms bedeutet aber auch jedes Mal eine Unterbrechung der Steuerung und damit des Betriebs der Automatisierungsanlage.
  • Es ist daher eine Aufgabe der Erfindung, einen Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme in einem Betriebssystem für eine Datenverarbeitungsanlage zur Steuerung einer Automatisierungsanlage bereitzustellen, der Änderungen und Modifikationen des Steuerprogramms in einem Online-Zustand der Automatisierungsanlage ermöglicht, in dem die Anlage durch das Steuerprogramm gesteuert wird, sodass Änderungen der Steuerprogramms vorgenommen werden können und gleichzeitig ein Betrieb der Automatisierungsanlage gewährleistet werden kann. Eine weitere Aufgabe ist es, ein Computerprogrammprodukt mit Programmcodemitteln zum Ausführen des Laufzeitservers und der Laufzeitsysteme bereitzustellen. Eine weitere Aufgabe ist es, eine verbesserte Automatisierungsanlage bereitzustellen.
  • Die Aufgabe wird durch einen Laufzeitserver, ein Computerprogrammprodukt und eine Automatisierungsanlage gemäß den unabhängigen Ansprüchen gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen angegeben.
  • Nach einem Aspekt der Erfindung wird ein Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme in einem Betriebssystem für eine Datenverarbeitungsanlage zum Steuern einer Automatisierungsanlage auf Basis eines Anlagensteuerprogramms bereitgestellt, wobei die Laufzeitsysteme zur Echtzeitausführung des Anlagensteuerprogramms ausgebildet sind, und wobei der Laufzeitserver umfasst:
    • wenigstens zwei Laufzeitsysteme zum Ausführen von Anwendungsmodulen des Anlagensteuerprogramms, wobei auf jedem Laufzeitsystem wenigstens ein Anwendungsmodul zur Ausführung einer Anwendung des Anlagensteuerprogramms installiert ist, wobei jedes Laufzeitsystem eine Datenübertragungsschnittstelle zur Datenübertragung zwischen Laufzeitsystemen und/oder zwischen Anwendungsmodulen aufweist, wobei jedes Laufzeitsystem eine I/O-Konfiguration aufweist, die eine Zuordnung zwischen wenigstens einer Variable der Anwendungsmodule der Laufzeitsysteme und wenigstens einer Hardwareadresse einer Hardwarekomponente einer zu steuernden Automatisierungsanlage definiert;
    • eine I/O-Schnittstelle zum Datenaustausch zwischen den wenigstens zwei Laufzeitsystemen und den Hardwarekomponenten der Automatisierungsanlage mit wenigstens einem I/O-Eingang und/oder I/O-Ausgang; und
    • eine I/O-Mapping-Zwischenschicht, wobei in der I/O-Mapping-Zwischenschicht die I/O-Konfigurationen der wenigstens zwei Laufzeitsysteme abgebildet sind.
  • Hierdurch wird der technische Vorteil erreicht, dass mittels des Laufzeitservers mehrere Laufzeitsysteme gleichzeitig betrieben werden können und auf diesen Laufzeitsystemen mehrere Anwendungsmodule des Anlagensteuerprogramms ausgeführt werden können, sodass bei einer vorzunehmenden Änderung, Modifikation oder bei einem durchzuführenden Update eines Anwendungsmoduls des Anlagensteuerprogramms das entsprechende Laufzeitsystem gestoppt werden kann, um die entsprechende Änderung bzw. das jeweilige Update durchzuführen, während Anwendungsmodule, die auf einem weiteren Laufzeitsystem betrieben werden, weiterhin ausführbar sind. Hierdurch wird erreicht, dass für eine Änderung, eine Modifikation oder ein Update einzelner Anwendungsmodule des Anlagensteuerprogramms nicht das vollständige Anlagensteuerprogramm beendet werden muss und somit die Automatisierungsanlage während der Durchführung der Änderungen, Modifikationen und Updates weiterbetrieben werden kann.
  • Auf dem Laufzeitserver kann eine Mehrzahl von Laufzeitsystemen unabhängig voneinander ausgeführt werden. Die Laufzeitsysteme sind ausgebildet, wenigstens ein Anwendungsmodul zur Ausführung einer Anwendung des Anlagensteuerprogramms auszuführen. Jedes Laufzeitsystem umfasst eine Datenübertragungsschnittstelle, mittels der eine Datenübertragung zwischen mehreren Laufzeitsystemen des Laufzeitservers ermöglicht ist.
  • Über die Datenübertragungsschnittstelle der Laufzeitsysteme ist darüber hinaus eine Datenübertragung zwischen einzelnen Anwendungsmodulen der Laufzeitsysteme ermöglicht. Eine Datenübertragung ist ebenfalls zwischen verschiedenen Anwendungsmodulen innerhalb eines Laufzeitsystems möglich. Darüber hinaus weist jedes Laufzeitsystem eine I/O-Konfiguration auf, in der eine eindeutige Zuordnung zwischen Variablen der auf dem jeweiligen Laufzeitsystem installierten Anwendungsmodule und Hardwarekomponenten der mittels des Anlagensteuerprogramms zu steuernden Automatisierungsanlage bestimmt ist.
  • Der Laufzeitserver weist ferner eine I/O-Schnittstelle auf, mittels welcher ein Datenaustausch zwischen den auf dem Laufzeitserver installierten Laufzeitsystemen und den Hardwarekomponenten der Automatisierungsanlage ermöglicht ist. Hierzu weist die I/O-Schnittstelle wenigstens einen I/O-Eingang und/oder einen I/O-Ausgang auf, mittels welchem eine Verbindung der Hardwarekomponenten der Automatisierungsanlage und den jeweiligen Anwendungsmodulen der einzelnen Laufzeitsysteme erreicht wird.
  • Der Laufzeitserver weist ferner eine I/O-Mapping-Zwischenschicht auf, in der die I/O-Konfigurationen der auf dem Laufzeitserver installierten Laufzeitsysteme abgebildet sind. Die I/O-Mapping-Zwischenschicht weist somit alle I/O-Konfigurationen der zu einem Zeitpunkt auf dem Laufzeitserver installierten Laufzeitsysteme auf. Über die I/O-Mapping-Zwischenschicht ist eine eindeutige Zuordnung der einzelnen Variablen der auf den jeweiligen Laufzeitsystemen installierten Anwendungsmodule und der jeweiligen Hardwarekomponenten der zu steuernden Automatisierungsanlage ermöglicht. Die I/O-Mapping-Zwischenschicht erlaubt ferner die Änderung, Modifikation oder das Durchführen eines Updates einzelner Anwendungsmodule des Anlagensteuerprogramms bei gleichzeitigem Ausführen von weiteren Anwendungsmodulen des Anlagensteuerprogramms, die zu dem gegebenen Zeitpunkt nicht zu ändern oder zu modifizieren sind.
  • Zu einer Änderung, Modifikation oder zur Durchführung eines Updates eines Anwendungsmoduls des Anlagensteuerprogramms kann das zu ändernde Anwendungsmodul gestoppt werden, während die weiteren von dem zu ändernden Anwendungsmodul unabhängigen Anwendungsmodule weiterhin betrieben und das Anlagensteuerprogramm somit zumindest teilweise weiter ausgeführt werden kann.
  • Zur Änderung eines Anwendungsmoduls kann dieses gestoppt und von dem jeweiligen Laufzeitsystem deinstalliert und eine entsprechende geänderte Version des Anwendungsmoduls auf diesem Laufzeitsystem neu installiert werden. Nach vollständiger Installation kann das geänderte Anwendungsmodul hochgefahren und somit in das weitere Anlagensteuerprogramm eingefügt werden, sofern die durchgeführte Änderung mit dem weiteren Anlagensteuerprogramm kompatibel ist. Alternativ kann das gesamte Laufzeitsystem, auf dem das zu ändernde Anwendungsmodul installiert ist, von dem Laufzeitserver entfernt werden und ein neues Laufzeitsystem, auf dem die geänderte Version des zu ändernden Anwendungsmoduls installiert ist, auf dem Laufzeitserver installiert werden und somit das entsprechende geänderte Anwendungsmodul in das Anlagensteuerprogramm eingefügt werden. Alternativ kann das zu ändernde Anwendungsmodul lediglich gestoppt und entsprechende Änderungen in dieses eingefügt und das somit geänderte Anwendungsmodul beim erneuten Hochfahren in das bestehende Anlagensteuerprogramm eingefügt werden.
  • Sieht eine Änderung des zu ändernden Anwendungsmoduls eine Änderung oder Modifikation der I/O-Konfiguration, sprich der Zuordnung der Variablen des Anwendungsmoduls und der Hardwarekomponenten der zu steuernden Automatisierungsanlage, vor, so wird bei erneuter Installation des geänderten Anwendungsmoduls in das bestehende Anlagensteuerprogramm die geänderte I/O-Konfiguration des jeweiligen Automatisierungssystems in die I/O-Mapping-Zwischenschicht des Laufzeitservers übernommen, sodass die I/O-Konfiguration des Laufzeitservers bezüglich der vorgenommenen Änderungen aktualisiert ist. Diese Aktualisierung der I/O-Konfiguration des Laufzeitservers durch das Abbilden der geänderten I/O-Konfiguration des geänderten Laufzeitsystems kann in Unabhängigkeit von den I/O-Konfigurationen der bestehenden und nicht geänderten Laufzeitsysteme bzw. Anwendungsmodule vorgenommen werden, sodass die I/O-Konfigurationen der nicht geänderten Anwendungsmodule bzw. Laufzeitsysteme durch Änderungen der I/O-Konfiguration eines geänderten Laufzeitsystems bzw. eines geänderten Anwendungsmoduls nicht betroffen sind.
  • Auf Basis der durch die Änderungen der geänderten Anwendungsmodule nicht betroffenen I/O-Konfigurationen der nicht zu ändernden Anwendungsmodule kann das Anlagensteuerprogramm während der vorgenommenen Änderungen der zu ändernden Anwendungsmodule sowie während des Einbauens der geänderten Anwendungsmodule störungsfrei ausgeführt werden. Auf ein Stoppen des Anlagensteuerprogramms und ein damit verbundenes Stilllegen der zu steuernden Automatisierungsanlage kann für das Durchführen einer Änderung, Modifikation oder eines Updates eines Anwendungsmoduls oder einer Mehrzahl von Anwendungsmodulen verzichtet werden.
  • Neben einer Änderung bzw. Modifikation eines bereits bestehenden in das Anlagensteuerprogramm eingepflegten Anwendungsmoduls kann darüber hinaus eine Erweiterung des Anlagensteuerprogramms durch das Hinzufügen eines neuen und bislang nicht in dem Anlagensteuerprogramm befindlichen Anwendungsmoduls vorgenommen werden. Hierzu kann das neu in das bestehende Anlagensteuerprogramm einzupflegende Anwendungsmodul auf einem neuen Laufzeitsystem installiert und das neue Laufzeitsystem in den Laufzeitserver eingebunden werden, sodass bei einem Hochfahren des neu installierten Anwendungsmoduls dieses in das bereits bestehende Anlagensteuerprogramm eingepflegt wird, vorausgesetzt, dass das neue Anwendungsmodul mit dem bestehenden Anlagensteuerprogramm kompatibel ist.
  • Die entsprechende I/O-Konfiguration des neu eingefügten Anwendungsmoduls kann in die I/O-Mapping-Zwischenschicht abgebildet und somit die I/O-Konfiguration des Laufzeitservers in Bezug auf die Erweiterung des Anlagensteuerprogramms und das neu hinzugefügte Anwendungsmodul aktualisiert werden. Ein Stoppen des Anlagensteuerprogramms und ein damit verbundenes Stilllegen der zu steuernden Automatisierungsanlage ist somit für eine Erweiterung des bestehenden Anlagensteuerprogramms um weitere Anwendungsmodule ebenfalls nicht notwendig.
  • Analog können bereits bestehende Anwendungsmodule aus dem Anlagensteuerprogramm entfernt werden, ohne hierzu das Anlagensteuerprogramm stoppen und die zu steuernde Automatisierungsanlage stilllegen zu müssen, indem das zu entfernende Anwendungsmodul von dem jeweiligen Laufzeitsystem entfernt oder direkt das vollständige Laufzeitsystem mit dem darauf installierten Anwendungsmodul von dem Laufzeitserver entfernt wird. Die entsprechende Änderung der I/O-Konfiguration kann auf der I/O-Mapping-Zwischenschicht berücksichtigt werden, indem die jeweilige I/O-Konfiguration des entfernten Anwendungsmoduls bzw. des entfernten Laufzeitsystems ebenfalls von den auf die I/O-Mapping-Zwischenschicht abgebildeten I/O-Konfigurationen der Laufzeitsysteme des Laufzeitservers entfernt wird.
  • Der Laufzeitserver sowie die Laufzeitsysteme sind zur Echtzeitausführung des Anlagensteuerprogramms ausgebildet, sodass eine echtzeitfähige Steuerung der Automatisierungsanlage ermöglicht ist. Durch den Laufzeitserver und die auf dem Laufzeitserver installierten Laufzeitsysteme, auf denen wiederum die einzelnen Anwendungsmodule des Anlagensteuerprogramms installiert sind und ausgeführt werden, ist eine echtzeitfähige und flexibel ausführbare Steuerung einer Automatisierungsanlage ermöglicht, bei der Änderungen und Modifikationen des jeweiligen Anlagensteuerprogramms in einem Online-Modus des Anlagensteuerprogramms, in dem das Anlagensteuerprogramm zumindest teilweise ausgeführt wird, durchführbar sind, sodass auf ein Stoppen des Anlagensteuerprogramms und ein Stilllegen der zu steuernden Automatisierungsanlage verzichtet werden kann.
  • Ein Laufzeitsystem ist vorliegend eine Laufzeitumgebung, auf der in einer Laufzeit ein Computerprogramm ausführbar ist. Die Laufzeitumgebung ist in ein Betriebssystem einer Datenverarbeitungsanlage einfügbar und gewährleistet eine Ausführungsumgebung für ein Computerprogramm, das von dem jeweiligen Betriebssystem nicht unterstützt wird.
  • Ein Anwendungsmodul ist vorliegend ein für sich eigenständiger Teil eines Anlagensteuerprogramms, mittels welchem eine Anwendung des Anlagensteuerprogramms ausführbar ist. Eine Anwendung kann hierbei jeden Bereich des Anlagensteuerprogramms umfassen. Eine Anwendung kann beispielsweise das Ansteuern eines Aktors, das Auslesen eines Sensors oder die Verarbeitung von Messdaten bzw. das Darstellen von verarbeiteten Messdaten umfassen.
  • Eine Datenübertragung zwischen zwei Anwendungsmodulen kann vorliegend das Schreiben bestimmter Daten in einen dafür vorbestimmten Speicherbereich durch ein erstes Anwendungsmodul und das Auslesen der durch das erste Anwendungsmodul in den Speicherbereich gespeicherten Daten durch ein zweites Anwendungsmodul umfassen.
  • Jedes Laufzeitsystem kann ein Verwaltungsmodul aufweisen, das die Anwendungsmodule auf der Grundlage der Steuerprogrammbeschreibung verwaltet. Mittels des Verwaltungsmoduls können die Anwendungsmodule aus einem inaktiven Zustand, in dem die Anwendungsmodule nicht initialisiert und nicht in der Lage sind, Anwendungen auszuführen, in einen aktiven Zustand schalten, in dem die Anwendungsmodule die jeweiligen Anwendungen ausführen können. Die Anwendungsmodule können hierzu einen Initialisierungszustand aufweisen, in dem das Anwendungsmodul inaktiv ist und aus dem das Anwendungsmodul für eine zukünftige Ausführung aktiviert beziehungsweise in den das Anwendungsmodul nach beendeter Ausführung deaktiviert werden kann. Ferner kann jedes Anwendungsmodul einen Vorbetriebszustand aufweisen, in dem das Anwendungsmodul aktiviert ist jedoch noch keine Anwendungen ausführt. Im Vorbetriebszustand können dem Anwendungsmodul Ressourcen, insbesondere Prozessorzeit und Speicherplatz, zugeordnet werden. Darüber hinaus kann jedes Anwendungsmodul einen Prüfzustand aufweisen, in dem die Funktionalität und Kompatibilität des Anwendungsmoduls mit dem Steuerprogramm überprüft werden kann, bevor das Anwendungsmodul ausgeführt wird. In einem Ausführungszustand ist das Anwendungsmodul befähigt, die entsprechenden Anwendungen auszuführen.
  • Die Anwendungsmodule können dabei ausgelegt sein, sich im Initialisierungszustand am Verwaltungsmodul mit einer individuellen Modulkennung zur Aktivierung anzumelden oder zur Deaktivierung abzumelden. Ferner können die Anwendungsmodule über das Verwaltungsmodul beim Zustandsübergang vom Vorbetrieb zum Prüfbetrieb Kommunikationsverbindungen zu anderen Anwendungsmodulen aufbauen und beim Zustandsübergang vom Prüfbetrieb zum Vorbetrieb Kommunikationsverbindungen wieder abbauen. Ferner können sich die Anwendungsmodule bei weiteren Anwendungsmodulen beim Zustandsübergang vom Prüfbetrieb zum Ausführungszustand bei weiteren Anwendungsmodulen anmelden und beim Zustandsübergang vom Ausführungszustand zum Prüfbetrieb abmelden. Durch das Anmelden kann eine Interaktion zwischen den Anwendungsmodulen erreicht werden.
  • Die Anwendungsmodule können somit zur Ausführung des Anlagensteuerprogramms im Laufzeitsystem dynamisch verwaltet werden. Die Anwendungsmodule können während der Laufzeit erzeugt, hochgefahren und ausgeführt bzw. wieder heruntergefahren und abgeschaltet werden. Die einzelnen Anwendungsmodule können ferner mit unterschiedlichen Werkzeugen bzw. unterschiedlichen Programmiersprachen erstellt werden. Die Anwendungsmodule arbeiten im selben Zeitkontext und verwenden einen gemeinsamen Speicherraum und gemeinsame Dateitypen, so dass ein Datenaustausch ohne zusätzliches Verlinken ermöglicht ist. Durch den standardisierten Aufbau sämtlicher Anwendungsmodule lassen sich im Laufzeitsystem außerdem auf einfache Weise Veränderungen und Anpassungen vornehmen.
  • Die Anwendungsmodule können beim Zustandsübergang von Initialisierung zum Vorbetrieb Ressourcen des Datenverarbeitungssystems belegen und beim Zustandsübergang vom Vorbetrieb zur Initialisierung belegte Ressourcen wieder freigeben. Ferner können sich die Anwendungsmodule beim Zustandsübergang vom Prüfbetrieb zum Echtzeitbetrieb Ressourcen von weiteren Anwendungsmodulen sichern und beim Zustandsübergang vom Echtzeitbetrieb zum Prüfbetrieb belegte Ressourcen der weiteren Anwendungsmodule zurückgeben. Durch diese Vorgehensweise kann ein zuverlässiger Betrieb der Laufzeitsysteme und eine effektive Ressourcenverwaltung erreicht werden.
  • Nach einer Ausführungsform ist den Laufzeitsystemen vom Laufzeitserver wenigstens jeweils ein Speicherbereich und/oder ein Prozessor und/oder eine Prozessorzeit der Datenverarbeitungsanlage zugeordnet.
  • Hierdurch wird der technische Vorteil erreicht, dass die Laufzeitsysteme des Laufzeitservers unabhängig voneinander betreibbar sind. Indem jedem Laufzeitsystem des Laufzeitservers ein eigener Speicherbereich und/oder eine eigene Prozessorzeit bzw. ein eigener Prozessor oder Prozessorkern zugewiesen wird, sind die Anwendungsmodule der einzelnen Laufzeitsysteme ohne Beeinflussung durch jeweils andere Anwendungsmodule anderer Laufzeitsysteme ausführbar.
  • Werden in der Datenverarbeitungsanlage mehrere Prozessorkerne verwendet, so können einzelne Laufzeitsysteme auf verschiedenen Prozessorkernen ausgeführt werden, sodass verschiedene Anwendungsmodule gleichzeitig ausführbar sind. Durch die eigene Prozessorzeit bzw. den eigenen Prozessorkern oder Prozessor, die bzw. der jedem Laufzeitsystem des Laufzeitservers zugeordnet wird, können einzelne Laufzeitsysteme problemlos vom Laufzeitserver entfernt oder zu diesem hinzugefügt werden, ohne dass die Ausführung der Anwendungsmodule der weiteren Laufzeitsysteme hierdurch beeinträchtigt wird.
  • Nach einer Ausführungsform sind die Laufzeitsysteme instanziiert.
  • Hierdurch wird der technische Vorteil erreicht, dass die Laufzeitsysteme des Laufzeitservers unabhängig voneinander betreibbar sind. Jedes einzelne Laufzeitsystem ist ein für sich eigenständiges Laufzeitsystem. Beispielsweise kann das Anlagensteuerprogramm vollständig auf einem einzigen Laufzeitsystem ausgeführt werden. Hierzu kann das einzige Laufzeitsystem alle Anwendungsmodule des Anlagensteuerprogramms umfassen und diese gemäß des Anlagensteuerprogramms ausführen. Die Installation weiterer Laufzeitsysteme ist hierfür nicht notwendig.
  • Alternativ kann eine Mehrzahl von voneinander unabhängigen Laufzeitsystemen auf dem Laufzeitserver installiert werden, sodass beispielsweise auf jedem Laufzeitsystem lediglich ein Anwendungsmodul des Anlagensteuerprogramms installiert ist. Über die Datenübertragungsschnittstellen der einzelnen Laufzeitsysteme ist eine Datenübertragung der einzelnen Anwendungsmodule untereinander ermöglicht, sodass das die Anwendungsmodule umfassende Anlagensteuerprogramm über die Mehrzahl von Laufzeitsystemen ausführbar ist.
  • Die Instanziierung der Laufzeitsysteme ermöglicht die Änderung der auf den Laufzeitsystemen installierten Anwendungsmodule bzw. das Hinzufügen und Entfernen von Laufzeitsystemen zu und von dem Laufzeitserver, ohne dass eine Beeinträchtigung bzw. Beeinflussung anderer Laufzeitsysteme und der jeweiligen Anwendungsmodule besteht.
  • Nach einer Ausführungsform sind die Anwendungsmodule autark und voneinander unabhängig.
  • Hierdurch wird der technische Vorteil erreicht, dass Anwendungsmodule des Anlagensteuerprogramms geändert, entfernt oder hinzugefügt werden können, ohne dass andere Anwendungsmodule des Anlagensteuerprogramms beeinträchtigt werden. Die einzelnen Anwendungsmodule sind für sich abgeschlossene Untereinheiten des Anlagensteuerprogramms und können als abgeschlossene Einheiten geändert, modifiziert, hinzugefügt oder entfernt werden, ohne dass Anpassungen der anderen Anwendungsmodule des Anlagensteuerprogramms durchgeführt werden müssen.
  • Hierdurch wird eine höhere Flexibilität des Anlagensteuerprogramms erreicht. Ferner können einzelne Anwendungsmodule unabhängig voneinander erstellt werden, wodurch eine höhere Programmiereffizienz erreicht werden kann. Darüber hinaus ist durch die Modularisierung des Anlagensteuerprogramms eine Fehleridentifikation erleichtert, indem eine Fehleranalyse auf einzelne Anwendungsmodule des Anlagensteuerprogramms begrenzt werden kann.
  • Nach einer Ausführungsform sind die Laufzeitsysteme in einem Echtzeit-Modus und/oder in einem Nichtechtzeit-Modus betreibbar.
  • Hierdurch wird der technische Vorteil erreicht, dass ein Anwendungsbereich des Laufzeitservers vergrößert werden kann. Indem die Laufzeitsysteme des Laufzeitservers in einem Echtzeitmodus und/oder in einem Nichtechtzeitmodus betreibbar sind, können auf den jeweiligen Laufzeitsystemen echtzeitfähige bzw. nicht-echtzeitfähige Anwendungsmodule des Anlagensteuerprogramms ausgeführt werden. Hierdurch können durch das Anlagensteuerprogramm verschiedene Anwendungen ausgeführt werden, die unterschiedlichen Anforderungen an eine Echtzeitfähigkeit genügen.
  • Nach einer Ausführungsform umfasst der Laufzeitserver ferner wenigstens ein weiteres Laufzeitsystem, wobei auf dem weiteren Laufzeitsystem wenigstens ein weiteres Anwendungsmodul zur Ausführung einer Anwendung des Anlagensteuerprogramms installiert ist, wobei das weitere Laufzeitsystem eine Datenübertragungsschnittstelle zur Datenübertragung zwischen dem weiteren Laufzeitsystem und den Laufzeitsystemen und/oder zwischen dem weiteren Anwendungsmodul und den Anwendungsmodulen aufweist, und wobei das weitere Anwendungsmodul nicht echtzeitfähig ist und das weitere Laufzeitsystem in einem Nichtechtzeit-Modus betreibbar ist.
  • Hierdurch wird der technische Vorteil erreicht, dass wiederum eine höhere Flexibilität des Laufzeitservers erreicht wird. Durch die weiteren Laufzeitsysteme, auf denen weitere Anwendungsmodule installiert sind, können zusätzliche Anwendungen des Anlagensteuerprogramms ausgeführt werden. Die weiteren Laufzeitsysteme sind hierbei ausschließlich in einem Nichtechtzeitmodus betreibbar und die auf den weiteren Laufzeitsystemen installierten weiteren Anwendungsmodule sind ausschließlich zur Ausführung von Anwendungen des Anlagensteuerprogramms ausgebildet, für die eine Echtzeitfähigkeit nicht gefordert ist.
  • Derartige Anwendungen können beispielsweise die Auswertung von Messdaten oder die graphische Darstellung ausgewerteter Messdaten umfassen. Durch die Aufteilung der echtzeitfähigen Anwendung auf die echtzeitfähigen Laufzeitsysteme und der nicht-echtzeitfähigen Anwendung auf die nicht-echtzeitfähigen Laufzeitsysteme ist eine verbesserte Strukturierung des Laufzeitservers und der darauf installierten echtzeitfähigen und nicht-echtzeitfähigen Laufzeitsysteme ermöglicht. Hierdurch wird wiederum eine einfachere Zuteilung von Speicherplatz bzw. Prozessorzeit oder Prozessorkernen der einzelnen Laufzeitsysteme des Laufzeitservers erreicht.
  • Nach einer Ausführungsform stellt der Laufzeitserver eine Hierarchie unter den Laufzeitsystemen und/oder den weiteren Laufzeitsystemen her, in der eine Priorisierung von Laufzeitsystemen, die im Echtzeitzeitmodus betrieben werden, gegenüber Laufzeitsystemen und/oder weiteren Laufzeitsystemen, die im Nichtechtzeitmodus betrieben werden, gewährleistet ist.
  • Hierdurch wird der technische Vorteil erreicht, dass Anforderungen an echtzeitfähige Anwendungen erreicht werden können. Durch die Hierarchie unter den Laufzeitsystemen wird gewährleistet, dass Anwendungen, die der Einhaltung einer Echtzeitanforderung unterliegen, gegenüber Anwendungen, die Echtzeitanforderungen nicht unterliegen, vorranging ausgeführt werden, sodass eine Ausführung von Echtzeitanwendungen nicht durch eine Ausführung von Nichtechtzeitanwendungen unterbrochen wird. Durch die Hierarchie innerhalb des Laufzeitservers können somit Anforderungen an die Echtzeitfähigkeit der jeweiligen Laufzeitsysteme erreicht werden.
  • Nach einer Ausführungsform umfasst der Laufzeitserver ferner einen Datenübertragungsrouter zur Verbindung mit den Datenübertragungsschnittstellen der Laufzeitsysteme und der weiteren Laufzeitsysteme, wobei über den Datenübertragungsrouter ein Datenaustausch zwischen Laufzeitsystemen und/oder weiteren Laufzeitsystemen und/oder zwischen Anwendungsmodulen und/oder weiteren Anwendungsmodulen ermöglicht ist.
  • Hierdurch wird der technische Vorteil erreicht, dass eine schnelle, störungsrobuste und zuverlässige Datenübertragung zwischen Laufzeitsystemen des Laufzeitservers und Anwendungsmodulen der Laufzeitsysteme erreicht wird. Ein Datenaustausch zwischen Laufzeitsystemen bzw. Anwendungsmodulen kann hierbei das Speichern von Daten in einen Speicherbereich durch ein erstes Laufzeitsystem bzw. Anwendungsmodul und das Einlesen der gespeicherten Daten durch ein zweites Laufzeitsystem bzw. Anwendungsmodul umfassen.
  • Ein Datenaustausch oder eine Datenübertragung zwischen Laufzeitsystemen und/oder Anwendungsmodulen kann eine Datenkommunikation zwischen den Laufzeitsystemen und/oder Anwendungsmodulen umfassen. Eine Datenkommunikation umfasst neben der Übertragung von Daten eine Übertragung von Information mit einem Informationsgehalt, der von beiden Kommunikationspartnern verstanden wird.
  • Der Datenübertragungsrouter kann hierbei ein Skript bzw. ein Protokoll zum Schreiben von Daten in einen vorbestimmten Speicherbereich und zum Auslesen von in dem vorbestimmten Speicherbereich gespeicherten Daten umfassen. Der Datenübertragungsrouter kann eine Datenübertragung zwischen verschiedenen Laufzeitsystemen ermöglichen. Der Datenübertragungsrouter kann ferner eine Datenübertragung zwischen Anwendungsmodulen, die jeweils auf unterschiedlichen Laufzeitsystemen installiert sind, ermöglichen. Der Datenübertragungsrouter kann ferner eine Datenübertragung zwischen verschiedenen Anwendungsmodulen, die auf demselben Laufzeitsystem installiert sind, ermöglichen.
  • Nach einer Ausführungsform kann in einem Online-Zustand der Steuerung, in dem wenigstens ein Laufzeitsystem ausgeführt wird, wenigstens ein Laufzeitsystem hinzugefügt und/oder entfernt werden.
  • Hierdurch wird der technische Vorteil erreicht, dass eine flexible Änderung bzw. Erweiterung oder Reduzierung des Anlagensteuerprogramms ermöglicht ist. Zum Erweitern des Anlagensteuerprogramms um weitere Anwendungen bzw. weitere Anwendungsmodule können ein Laufzeitsystem bzw. eine Mehrzahl von Laufzeitsystemen, auf denen die jeweils zu erweiternden Anwendungsmodule installiert sind, in den Server eingepflegt werden.
  • Die weiteren Laufzeitsysteme, die bereits auf dem Laufzeitserver installiert sind, können währenddessen weiterhin betrieben werden, sodass die auf diesen Laufzeitsystemen installierten Anwendungsmodule weiter ausgeführt werden können und somit die Automatisierungsanlage über das Anlagensteuerprogramm weiterhin betreibbar ist. Nach Installation der zusätzlichen Laufzeitsysteme können die darauf installierten Anwendungsmodule gestartet und in das bestehende Anlagensteuerprogramm eingefügt werden, sofern diese mit dem bestehenden Anlagensteuerprogramm kompatibel sind.
  • Die jeweiligen I/O-Konfigurationen der zusätzlichen Laufzeitsysteme können in die I/O-Mapping-Zwischenschicht des Laufzeitservers abgebildet werden, sodass die I/O-Konfiguration des Laufzeitservers, die der in der I/O-Mapping-Zwischenschicht abgebildeten I/O-Konfigurationen der jeweiligen Laufzeitsysteme des Laufzeitservers entspricht, den Änderungen gemäß aktualisiert werden kann.
  • Analog können ein bestehendes Laufzeitsystem bzw. eine Mehrzahl von bestehenden Laufzeitsystemen von dem Laufzeitserver entfernt werden, während gleichzeitig weitere Anwendungsmodule, die auf weiteren Laufzeitsystemen des Laufzeitservers installiert sind, ausgeführt werden können und so die Automatisierungsanlage mittels des Anlagensteuerprogramms betrieben werden kann. Eine entsprechende Aktualisierung der I/O-Konfiguration des Laufzeitservers kann mittels einer entsprechenden Abbildung der I/O-Konfigurationen der einzelnen Laufzeitsysteme auf die I/O-Mapping-Zwischenschicht erreicht werden. Hierdurch ist eine hohe Flexibilität erreicht, indem Erweiterungen bzw. Reduzierungen des Anlagensteuerprogramms um zusätzliche oder bestehende Anwendungen des Anlagensteuerprogramms während gleichzeitiger Ausführung des Anlagensteuerprogramms ermöglicht werden.
  • Nach einer Ausführungsform wird jedes der Laufzeitsysteme auf einem eigenen Core oder auf mehreren Cores des Prozessors ausgeführt, wobei mehrere Laufzeitsysteme auf einem Core oder auf mehreren Cores ausgeführt werden.
  • Hierdurch wird der technische Vorteil erreicht, dass die Laufzeitsysteme des Laufzeitservers voneinander unabhängig betreibbar sind. Hierdurch kann ein hoher Grad an Flexibilität erreicht werden. Beispielsweise kann eine Mehrzahl von Laufzeitsystemen auf einem Prozessor ausgeführt werden. Hierdurch kann erreicht werden, dass der erfindungsgemäße Laufzeitserver auf einer Datenverarbeitungsanlage ausführbar ist, die lediglich einen Prozessor umfasst.
  • Darüber hinaus kann jedes Laufzeitsystem des Laufzeitservers auf einem eigenen Prozessor bzw. auf einem eigenen Prozessorkern ausgeführt werden. Hierdurch wird erreicht, dass Anwendungsmodule unterschiedlicher Laufzeitsysteme gleichzeitig ausführbar sind. Ferner wird erreicht, dass eine Beeinflussung der Ausführung der Anwendungsmodule einzelner Laufzeitsysteme durch die Ausführung der Anwendungsmodule anderer Laufzeitsysteme unterbunden werden kann. Darüber hinaus können einzelne Laufzeitsysteme auf mehreren Prozessoren bzw. Prozessorkernen ausgeführt werden. Hierdurch kann wiederum ein erhöhter Grad an Flexibilität des Laufzeitservers erreicht werden.
  • Nach einer Ausführungsform ist der Laufzeitserver als eine Echtzeitumgebung in ein nicht-echtzeitfähiges Betriebssystem integrierbar und in diesem ausführbar.
  • Hierdurch wird der technische Vorteil erreicht, dass über den Laufzeitserver und die auf dem Laufzeitserver installierten Laufzeitsysteme Computerprogramme, insbesondere Anlagensteuerprogramme, die Echtzeitanforderungen genügen müssen, ausgeführt werden können. Dies kann insbesondere in einem nicht-echtzeitfähigen Betriebssystem, beispielsweise handelsüblichen Betriebssystemen für Personal Computer (PC) erreicht werden. Somit kann über den Laufzeitserver und die darauf installierten Laufzeitsysteme ein echtzeitfähiges Anlagensteuerprogramm innerhalb eines nicht-echtzeitfähigen Betriebssystems ausgeführt werden.
  • Nach einem zweiten Aspekt der Erfindung wird ein Computerprogrammprodukt bereitgestellt, wobei das Computerprogrammprodukt Programmcodemittel zum Ausführen des Laufzeitservers und der Laufzeitsysteme aufweist, und wobei das Computerprogrammprodukt auf einer Datenverarbeitungsanlage abläuft.
  • Nach einer Ausführungsform ist das Computerprogrammprodukt auf einem computerlesbaren Aufzeichnungsmedium abgespeichert.
  • Nach einem dritten Aspekt der Erfindung wird eine Automatisierungsanlage mit einer Datenverarbeitungsanlage zum Steuern der Automatisierungsanlage bereitgestellt, wobei die Datenverarbeitungsanlage mit wenigstens einem Laufzeitserver und wenigstens zwei Laufzeitsystemen eingerichtet ist und ausgebildet ist, ein auf den Laufzeitsystemen eingerichtetes Anlagensteuerprogramm auszuführen, um die Automatisierungsanlage zu steuern.
  • Die Erfindung wird anhand der beigefügten Figuren näher erläutert. Hierbei zeigen:
    • 1 eine schematische Darstellung eines Laufzeitservers gemäß einer Ausführungsform;
    • 2 eine schematische Darstellung eines Computerprogrammprodukts zum Ausführen des Laufzeitservers gemäß einer Ausführungsform; und
    • 3 eine schematische Darstellung einer Automatisierungsanlage mit einer Datenverarbeitungsanlage zum Ausführen des Laufzeitservers gemäß einer Ausführungsform.
  • 1 zeigt eine schematische Darstellung eines Laufzeitservers 100 gemäß einer Ausführungsform.
  • Gemäß der Ausführungsform in 1 ist der Laufzeitserver 100 zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme 101 in einem Betriebssystem 103 für eine Datenverarbeitungsanlage zum Steuern einer Automatisierungsanlage 112 auf Basis eines Anlagensteuerprogramms ausgebildet. Die Laufzeitsysteme 101 sind zur Echtzeitausführung des Anlagensteuerprogramms ausgebildet. Der Laufzeitserver 100 umfasst:
    • wenigstens zwei Laufzeitsysteme 101 zum Ausführen von Anwendungsmodulen 105 des Anlagensteuerprogramms, wobei auf jedem Laufzeitsystem 101 wenigstens ein Anwendungsmodul 105 zur Ausführung einer Anwendung des Anlagensteuerprogramms installiert ist, wobei jedes Laufzeitsystem 101 eine Datenübertragungsschnittstelle 107 zur Datenübertragung zwischen Laufzeitsystemen 101 und/oder zwischen Anwendungsmodulen 105 aufweist, wobei jedes Laufzeitsystem 101 eine I/O-Konfiguration 109 aufweist, die eine Zuordnung zwischen wenigstens einer Variable der Anwendungsmodule 105 der Laufzeitsysteme 101 und wenigstens einer Hardwareadresse einer Hardwarekomponente 113 einer zu steuernden Automatisierungsanlage 112 definiert, eine I/O-Schnittstelle 111 zum Datenaustausch zwischen den wenigstens zwei Laufzeitsystemen 101 und den Hardwarekomponenten 113 der Automatisierungsanlage 112 mit wenigstens einem I/O-Eingang 115 und/oder einem I/O-Ausgang 117, und eine I/O-Mapping-Zwischenschicht 119, wobei in der I/O-Mapping-Zwischenschicht 119 die I/O-Konfigurationen 109 der wenigstens zwei Laufzeitsysteme 101 abgebildet sind.
  • In der Ausführungsform der 1 ist der Laufzeitserver 100 in das Betriebssystem 103 eingebettet. Auf dem Laufzeitserver 100 sind fünf Laufzeitsysteme 101 installiert, auf denen jeweils zwei Anwendungsmodule 105 installiert sind. Jedes der Laufzeitsysteme 101 weist eine Datenübertragungsschnittstelle 107 zur Datenübertragung und eine I/O-Konfiguration 109 auf. Jede I/O-Konfiguration 109 eines jeden Laufzeitsystems 101 stellt eine direkte Zuordnung von Variablen der jeweiligen auf dem Laufzeitsystem 101 installierten Anwendungsmodule 105 und Hardwarekomponenten 113 der zu steuernden Automatisierungsanlage 112 auf.
  • Der Laufzeitserver 100 weist ferner die I/O-Mapping-Zwischenschicht 119 auf. In die I/O-Mapping-Zwischenschicht 119 ist jede I/O-Konfiguration 109 eines jeden Laufzeitsystems 101 abgebildet. Für die Ausführungsform in 1 umfasst die I/O-Mapping-Zwischenschicht 119 fünf Abbildungen der fünf I/O-Konfigurationen 109 der fünf Laufzeitsysteme 101.
  • Die Anzahl der auf dem Laufzeitserver 100 installierten Laufzeitsysteme 101 kann von der in 1 dargestellten Anzahl abweichen und kann einen beliebigen Wert annehmen. Der Laufzeitserver 100 kann beispielsweise mit lediglich einem installierten Laufzeitsystem 101 ausgeführt werden. Darüber hinaus ist die in 1 dargestellte Anzahl von jeweils zwei Anwendungsmodulen 105 pro Laufzeitsystem 101 lediglich beispielhaft. So kann alternativ ein jedes Laufzeitsystem 101 eine beliebige Anzahl von Anwendungsmodulen 105 aufweisen oder ein jedes Laufzeitsystem 101 lediglich ein Anwendungsmodul 105 umfassen.
  • Der Laufzeitserver 100 umfasst ferner fünf weitere Laufzeitsysteme 125, auf denen jeweils zwei weitere Anwendungsmodule 106 installiert sind. Jedes der fünf weiteren Laufzeitsysteme 125 weist eine Datenübertragungsschnittstelle 107 auf. Die weiteren Laufzeitsysteme 125 werden in einem Nichtechtzeitmodus 127 betrieben und die weiteren Anwendungsmodule 106 umfassen Anwendungen, die Nichtechtzeitanforderungen genügen.
  • Gemäß der Ausführungsform in 1 werden die fünf Laufzeitsysteme 101 in einem Echtzeitzeitmodus 129 betrieben, und die auf den Laufzeitsystemen 101 installierten Anwendungsmodule 105 sind ausgebildet, Anwendungen gemäß einer Echtzeitanforderung auszuführen.
  • Gemäß der Ausführungsform in 1 sind die Laufzeitsysteme 101, die in einem Echtzeitzeitmodus 129 betrieben werden, und die weiteren Laufzeitsysteme 125, die in einem Nichtechtzeitmodus 127 betrieben werden, in einer entsprechenden Hierarchie angeordnet, die in 1 durch die beiden gestrichelten Kästchen dargestellt ist. Die auf dem Laufzeitserver 100 definierte Hierarchie der Laufzeitsysteme 101 und der weiteren Laufzeitsysteme 125 gewährleistet eine echtzeitfähige Ausführung der Anwendungsmodule 105 der Laufzeitsysteme 101 und verhindert eine Interferenz der Ausführung der Anwendungsmodule 105 durch Ausführungen der weiteren Anwendungsmodule 106 der weiteren Laufzeitsysteme 125, die in dem Nichtechtzeitmodus 127 betrieben werden.
  • Der Laufzeitserver 100 weist ferner einen Datenübertragungsrouter 121 auf, der mit den Datenübertragungsschnittstellen 107 der Laufzeitsysteme 101 und der weiteren Laufzeitsysteme 125 verbindbar ist und eine Datenübertragung zwischen Laufzeitsystemen 101 untereinander, zwischen Laufzeitsystemen 101 und weiteren Laufzeitsystemen 125 oder zwischen weiteren Laufzeitsystemen 125 untereinander ermöglicht. Eine Datenübertragung zwischen Anwendungsmodulen 105 und weiteren Anwendungsmodulen 106 ist ebenfalls über die Datenübertragungsschnittstelle 107 der jeweiligen Laufzeitsysteme 101 und weiteren Laufzeitsysteme 125 und dem Datenübertragungsrouter 121 ermöglicht.
  • In der Ausführungsform in 1 ist der Datenübertagungsrouter 121 in zwei Stränge aufgeteilt, von denen der erste Strang 120 eine direkte Datenübertragung zwischen den weiteren Laufzeitsystemen 125 untereinander und der zweite Strang 122 eine direkte Datenübertragung zwischen den Laufzeitsystemen 101 untereinander ermöglicht. Durch die Aufteilung des Datenkommunikationsrouters in die ersten und zweiten Stränge 120, 122 wird die Hierarchie der Laufzeitsysteme 101 und weiteren Laufzeitsysteme 125 ermöglicht. Indem die Laufzeitsysteme 101 untereinander direkt über den zweiten Strang 122 ds Datenkommunikationsrouters 121 Daten austauschen können. Kann hier eine Priorisierung gegenüber den weiteren Laufzeitsystemen erzielt und mögliche Kollisionen im Datenaustausch vermieden werden. Der Datenaustausch zwischen den Laufzeitsystemen 101 über den zweiten Strang 122 des Datenkommunikationsrouters 121 kann somit die Echtzeitbedingungen erfüllen.
  • Die weiteren Laufzeitsysteme 125 können indessen störungsfrei und direkt untereinander über den ersten Strang 120 des Datenübertragungsrouter 121 Daten austauschen. Für die Datenübertragung zwischen den weiteren Laufzeitsystemen 125 über den ersten Strang 120 des Datenübertragungsrouters 121 werden keine Echtzeitbedingungen erfüllt.
  • Mit den Pfeilen zwischen den beiden Strängen des Datenübertragungsrouters 121 ist dargestellt, dass über die beiden Stränge 120, 122 des Datenübertragungsrouters 121 zusätzlich eine Datenübertragung zwischen den Laufzeitsystemen 101 und den weiteren Laufzeitsystemen 125 ermöglicht ist.
  • Darüber hinaus weist der Laufzeitserver 100 eine Kommunikationsschnittstelle 133 auf, die eine Verbindung zwischen dem Datenübertragungsrouter 121 und dem Betriebssystem 103 ermöglicht. Mittels der Kommunikationsschnittstelle 133 ist eine Datenübertragung zwischen dem Laufzeitserver 100 und dem Betriebssystem 103, in das der Laufzeitserver 100 eingebettet ist, ermöglicht.
  • In der Ausführungsform in 1 ist die Kommunikationsschnittstelle 133 sowohl mit dem ersten Strang 120 des Datenkommunikationsrouters 121 als auch mit dem zweiten Strang 122 des Datenkommunikationsrouters 121 verbunden. Somit kann wiederum auch für die Datenübertragung zwischen den Laufzeitsystemen 101 und den weiteren Laufzeitsystemen 125 und dem Betriebssystem 103 eine hierarchisch geordnete Übertragung von Daten erzielt werden, indem Daten zwischen den Laufzeitsystemen 101 und dem Betriebssystem 103 über den zweiten Strang 122 des Datenkommunikationsrouters 121 und Daten zwischen den weiteren Laufzeitsystemen 125 und dem Betriebssystem 103 über den ersten Strang 122 des Datenkommunikationsrouters 121 übertragen werden können.
  • Der Laufzeitserver 100 umfasst ferner eine I/O-Schnittstelle 111 mit einer Mehrzahl von I/O-Eingängen 115 und I/O-Ausgängen 117. Die I/O-Ausgänge 117 und die I/O-Eingänge 115 ermöglichen eine Verbindung zwischen den Hardwarekomponenten 113 der Automatisierungsanlage 112 und den Anwendungsmodulen 105 der Laufzeitsysteme 101. Mittels der I/O-Mapping-Zwischenschicht 119 ist eine eindeutige Zuordnung zwischen Variablen der Anwendungsmodule 105 und den Hardwarekomponenten 113 der Automatisierungsanlage 112 ermöglicht. Die Anzahl der I/0-Eingänge 115 und der I/O-Ausgänge 117 in der Ausführungsform in 1 ist lediglich beispielhaft und kann gemäß der zu steuernden Automatisierungsanlage 112 variieren.
  • Gemäß der Ausführungsform in 1 umfasst die Automatisierungsanlage 112 eine Mehrzahl von Hardwarekomponenten 113. Die Hardwarekomponenten 113 können beispielsweise Feldbusklemmen oder Sensoren oder Aktoren einer Automatisierungsanlage umfassen. Die Hardwarekomponenten 113 sind jeweils über einen Datenbus 131 mit einem Busmaster 123 verbunden. Der Datenbus 131 kann mittels eines gängigen Feldbusprotokolls betrieben werden. Die Busmaster 123 sind jeweils mit einem I/O-Eingang 115 der I/O-Schnittstelle 111 mit dem Laufzeitserver 100 verbunden. Über eine Ausführung der auf den Laufzeitsystemen 101 installierten Anwendungsmodule 105 kann eine Steuerung der Hardwarekomponenten 113 der Automatisierungsanlage 112 bewirkt werden. Die Busmaster 123 können hierbei eine Datenübertragung zwischen der Steuerung der Automatisierungsanlage 112 und den jeweiligen Hardwarekomponenten 113 bewirken.
  • Die Ausgestaltung der Ausführungsform in 1 mit jeweils drei Busmastern 123 und insgesamt fünf Hardwarekomponenten 113 ist lediglich beispielhaft und die vorliegende Erfindung soll nicht hierauf beschränkt werden.
  • Die Anwendungsmodule 105 der Laufzeitsysteme 101, die im Echtzeitzeitmodus 129 betrieben werden, dienen zur Ausführung von Anwendungen des Anlagensteuerprogramms, die Echtzeitanforderungen genügen müssen. Diese können beispielsweise das Ansteuern von Aktoren der Automatisierungsanlage 112 oder das Auslesen von Sensoren der Automatisierungsanlage 112 umfassen. Die weiteren Anwendungsmodule 106 der weiteren Laufzeitsysteme 125, die im Nichtechtzeitmodus 127 betrieben werden, dienen hingegen zur Ausführung von Anwendungen des Anlagensteuerprogramms, die keinen Echtzeitanforderungen genügen müssen. Diese Anwendungen können beispielsweise eine Auswertung von Messdaten, eine graphische Darstellung von ausgewerteten Messdaten oder ähnliche Anwendungen umfassen, die für eine echtzeitfähige Steuerung der Automatisierungsanlage 112 eine untergeordnete Priorität haben.
  • Gemäß der Ausführungsform in 1 sind die Laufzeitsysteme 101 instanziiert und sind von anderen Laufzeitsystemen 101 vollständig unabhängig betreibbar. Die auf den Laufzeitsystemen 101 installierten Anwendungsmodule 105 sind eigenständige Einheiten des Anlagensteuerprogramms und sind unabhängig voneinander ausführbar. Die weiteren Laufzeitsysteme 125 sind ebenfalls instanziiert und stellen eigenständig betreibbare Einheiten dar, die unabhängig von den anderen Laufzeitsystemen 101 und/oder anderen weiteren Laufzeitsystemen 125 betreibbar sind. Die weiteren Anwendungsmodule 106 sind ebenfalls eigenständige Einheiten des Anlagensteuerprogramms und können unabhängig voneinander ausgeführt werden.
  • Gemäß der Ausführungsform in 1 können Laufzeitsysteme 101 und/oder weitere Laufzeitsysteme 125 zu den bereits auf dem Laufzeitserver 100 installierten Laufzeitsystemen 101 und/oder den weiteren Laufzeitsystemen 125 hinzugefügt werden. Ebenfalls können Laufzeitsysteme 101 und/oder weitere Laufzeitsysteme 125 von dem Laufzeitserver 100 entfernt werden. Die übrigen Laufzeitsysteme 101 und/oder die übrigen weiteren Laufzeitsysteme 125 können während des Hinzufügens oder Entfernens von Laufzeitsystemen 101 und/oder weiteren Laufzeitsystemen 125 weiterbetrieben und die darauf installierten Anwendungsmodule 105 und/oder weiteren Anwendungsmodule 106 weiter ausgeführt werden, sodass die Automatisierungsanlage 112 über das Anlagensteuerprogramm weiterhin betrieben werden kann.
  • Darüber hinaus können die auf den Laufzeitsystemen 101 installierten Anwendungsmodule 105 und/oder die auf den weiteren Laufzeitsystemen 125 installierten weiteren Anwendungsmodule 106 verändert und/oder modifiziert werden. Die nicht zu verändernden oder modifizierenden Anwendungsmodule 105 und/oder weiteren Anwendungsmodule 106 können während der Änderung von zu ändernden Anwendungsmodulen 105 und/oder weiteren Anwendungsmodulen 106 weiterhin ausgeführt werden.
  • Zur Änderung der zu ändernden Anwendungsmodule 105 und/oder weiteren Anwendungsmodule 106 können diese gestoppt und die entsprechenden Änderungen eingepflegt werden. Bei dem erneuten Hochfahren der geänderten Anwendungsmodule 105 und/oder geänderten weiten Anwendungsmodule 106 können diese in das bestehende Anlagensteuerprogramm eingepflegt werden. Alternativ können die zu ändernden Anwendungsmodule 105 und/oder weiteren Anwendungsmodule 106 von den jeweiligen Laufzeitsystemen 101 und/oder weiteren Laufzeitsystemen 125 deinstalliert werden und eine geänderte Version der zu ändernden Anwendungsmodule 105 und/oder weiteren Anwendungsmodule 106 auf die jeweiligen Laufzeitsysteme 101 und/oder weiteren Laufzeitsysteme 125 installiert werden. Bei einem Hochfahren der geänderten Anwendungsmodule 105 und/oder weiteren Anwendungsmodule 106 können diese in das bestehende Anlagensteuerprogramm eingepflegt werden.
  • Bei einer Änderung der Anwendungsmodule 105 der Laufzeitsysteme 101, die eine Änderung der I/O-Konfigurationen 109 der jeweiligen Laufzeitsysteme 101 umfasst, können die jeweiligen Änderungen der I/O-Konfigurationen 109 mittels einer Abbildung der geänderten I/O-Konfigurationen 109 auf die I/O-Mapping-Zwischenschicht 119 berücksichtigt werden. Mittels der I/O-Mapping-Zwischenschicht 119 ist eine eindeutige Zuordnung der Variablen der einzelnen Anwendungsmodule 105 der Laufzeitsysteme 101 zu den Hardwarekomponenten 113 der zu steuernden Automatisierungsanlage 112 für den Laufzeitserver 100 gewährleistet.
  • Der Laufzeitserver 100 weist somit mit der I/O-Mapping-Zwischenschicht 119 eine variierbare I/O-Konfiguration auf, die bei laufender Ausführung des Anlagensteuerprogramms veränderbar ist. Die I/O-Mapping-Zwischenschicht 119 umfasst alle Abbildungen der I/O-Konfigurationen 109 der auf dem Laufzeitserver 100 installierten Laufzeitsysteme 101. Einzelne I/0-Konfigurationen 109 einzelner Laufzeitsysteme 101 können hierbei verändert und die entsprechenden Abbildungen der geänderten I/O-Konfigurationen 109 auf die I/O-Mapping-Zwischenschicht 119 abgebildet werden, während andere Laufzeitsysteme 101 und die darauf installierten Anwendungsmodule 105 weiter ausgeführt werden.
  • 2 zeigt eine schematische Darstellung eines Computerprogrammprodukts 200 zum Ausführen des Laufzeitservers 100 gemäß einer Ausführungsform.
  • In der Ausführungsform in 2 ist das Computerprogramm 200 auf einem Aufzeichnungsmedium 201 angeordnet.
  • 3 zeigt eine schematische Darstellung einer Automatisierungsanlage 112 mit einer Datenverarbeitungsanlage 114 zum Ausführen des Laufzeitservers 100 gemäß einer Ausführungsform.
  • In der Ausführungsform in 3 umfasst die Automatisierungsanlage 112 eine Datenverarbeitungsanlage 114 und eine Mehrzahl von Hardwarekomponenten 113, die über einen Datenbus 131 mit der Datenverarbeitungsanlage 112 verbunden sind.
  • Auf der Datenverarbeitungsanlage 114 ist eine Betriebssystem 103 zum Ausführen der Datenverarbeitungsanlage 114 eingerichtet. Auf dem Betriebssystem 103 ist eine Laufzeitserver 100 zum Ausführen eines Anlagensteuerungprogramms zum Steuern der Automatisierungsanlage ausgebildet.
  • Der Laufzeitserver 100 wie auch das Betriebssystem 103, die Hardwarekomponenten 113 und der Datenbus 131 weisen die zu 1 angeführten Merkmale auf.
  • Bezugszeichenliste
  • 100
    Laufzeitserver
    101
    Laufzeitsystem
    103
    Betriebssystem
    105
    Anwendungsmodul
    106
    weiteres Anwendungsmodul
    107
    Datenübertragungsschnittstelle
    109
    I/O-Konfiguration
    111
    I/O-Schnittstelle
    112
    Automatisierungsanlage
    113
    Hardwarekomponente
    114
    Datenverarbeitungsanlage
    115
    I/O-Eingang
    117
    I/O-Ausgang
    119
    I/O-Mapping-Zwischenschicht
    120
    erster Strang
    121
    Datenübertragungsrouter
    122
    zweiter Strang
    123
    Busmaster
    125
    weiteres Laufzeitsystem
    127
    Nicht-Echtzeitmodus
    129
    Echtzeitmodus
    131
    Datenbus
    133
    Kommunikationsschnittstelle
    200
    Computerprogrammprodukt
    201
    Aufzeichnungsmedium
  • 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
    • EP 2341405 B1 [0002]

Claims (14)

  1. Laufzeitserver (100) zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme (101) in einem Betriebssystem (103) für eine Datenverarbeitungsanlage zum Steuern einer Automatisierungsanlage (112) auf Basis eines Anlagensteuerprogramms, wobei die Laufzeitsysteme (101) zur Echtzeitausführung des Anlagensteuerprogramms ausgebildet sind, umfassend: wenigstens zwei Laufzeitsysteme (101) zum Ausführen von Anwendungsmodulen (105) des Anlagensteuerprogramms, wobei auf jedem Laufzeitsystem (101) wenigstens ein Anwendungsmodul (105) zur Ausführung einer Anwendung des Anlagensteuerprogramms installiert ist, wobei jedes Laufzeitsystem (101) eine Datenübertragungsschnittstelle (107) zur Datenübertragung zwischen Laufzeitsystemen (101) und/oder zwischen Anwendungsmodulen (105) aufweist, wobei jedes Laufzeitsystem (101) eine I/O-Konfiguration (109) aufweist, die eine Zuordnung zwischen wenigstens einer Variable der Anwendungsmodule (105) der Laufzeitsysteme (101) und wenigstens einer Hardwareadresse einer Hardwarekomponente (113) einer zu steuernden Automatisierungsanlage (112) definiert; eine I/O-Schnittstelle (111) zum Datenaustausch zwischen den wenigstens zwei Laufzeitsystemen (101) und den Hardwarekomponenten (113) der Automatisierungsanlage (112) mit wenigstens einem I/O-Eingang (115) und/oder I/O-Ausgang (117); und eine I/O-Mapping-Zwischenschicht (119), wobei in der I/0-Mapping-Zwischenschicht (119) die I/O-Konfigurationen (109) der wenigstens zwei Laufzeitsysteme (101) abgebildet sind.
  2. Laufzeitserver (100) nach Anspruch 1, wobei den Laufzeitsystemen (101) vom Laufzeitserver (100) wenigstens jeweils ein Speicherbereich und/oder ein Prozessor und/oder eine Prozessorzeit der Datenverarbeitungsanlage zugeordnet ist.
  3. Laufzeitserver (100) nach Anspruch 1 oder 2, wobei die Laufzeitsysteme (101) instanziiert sind.
  4. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, wobei die Anwendungsmodule (105) autark und voneinander unabhängig sind.
  5. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, wobei die Laufzeitsysteme (101) in einem Echtzeit-Modus (129) und/oder in einem Nichtechtzeit-Modus (127) betreibbar sind.
  6. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, ferner umfassend wenigstens ein weiteres Laufzeitsystem (125), wobei auf dem weiteren Laufzeitsystem (125) wenigstens ein weiteres Anwendungsmodul (106) zur Ausführung einer Anwendung des Anlagensteuerprogramms installiert ist, wobei das weitere Laufzeitsystem (125) eine Datenübertragungsschnittstelle (107) zur Datenübertragung zwischen dem weiteren Laufzeitsystem (125) und den Laufzeitsystemen (101) und/oder zwischen dem weiteren Anwendungsmodul (106) und den Anwendungsmodulen (105) aufweist, und wobei das weitere Anwendungsmodul (106) nicht echtzeitfähig ist und das weitere Laufzeitsystem (125) in einem Nichtechtzeit-Modus (127) betreibbar ist.
  7. Laufzeitserver (100) nach Anspruch 6, wobei der Laufzeitserver (100) eine Hierarchie unter den Laufzeitsystemen (101) und/oder den weiteren Laufzeitsystemen (125) herstellt, in der eine Priorisierung von Laufzeitsystemen (101), die im Echtzeitzeitmodus (129) betrieben werden, gegenüber Laufzeitsystemen (101) und/oder weiteren Laufzeitsystemen (125), die im Nichtechtzeitmodus (127) betrieben werden, gewährleistet ist.
  8. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, ferner umfassend einen Datenübertragungsrouter (121) zur Verbindung mit den Datenübertragungsschnittstellen (107) der Laufzeitsysteme (101) und der weiteren Laufzeitsysteme (125), wobei über den Datenübertragungsrouter (121) ein Datenaustausch zwischen Laufzeitsystemen (101) und/oder weiteren Laufzeitsystemen (125) und/oder zwischen Anwendungsmodulen (105) und/oder weiteren Anwendungsmodulen (106) ermöglicht ist.
  9. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, wobei in einem Online-Zustand der Steuerung, in dem wenigstens ein Laufzeitsystem (101) ausgeführt wird, wenigstens ein Laufzeitsystem (101) hinzugefügt und/oder entfernt werden kann.
  10. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, wobei jedes der Laufzeitsysteme (101) auf einem eigenen Core oder auf mehreren Cores des Prozessors ausgeführt wird, und wobei mehrere Laufzeitsysteme (101) auf einem Core oder auf mehreren Cores ausgeführt werden.
  11. Laufzeitserver (100) nach einem der voranstehenden Ansprüche, wobei der Laufzeitserver (100) als eine Echtzeitumgebung in ein nicht-echtzeitfähiges Betriebssystem integrierbar und in diesem ausführbar ist.
  12. Computerprogrammprodukt (200) mit Programmcodemitteln zum Ausführen des Laufzeitservers (100) und der Laufzeitsysteme (101) nach einem der vorangehenden Ansprüche, wenn das Computerprogrammprodukt (200) auf einer Datenverarbeitungsanlage abläuft.
  13. Computerprogrammprodukt (200) nach Anspruch 12, wenn es auf einem computerlesbaren Aufzeichnungsmedium (201) abgespeichert ist.
  14. Automatisierungsanlage (112) mit einer Datenverarbeitungsanlage (114) zum Steuern der Automatisierungsanlage (112), wobei die Datenverarbeitungsanlage (114) mit wenigstens einem Laufzeitserver (100) und wenigstens zwei Laufzeitsystemen (101) nach einem der Ansprüche 1 bis 11 eingerichtet ist und ausgebildet ist, ein auf den Laufzeitsystemen (101) eingerichtetes Anlagensteuerprogramm auszuführen, um die Automatisierungsanlage (112) zu steuern.
DE102019117954.8A 2019-07-03 2019-07-03 Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage Pending DE102019117954A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102019117954.8A DE102019117954A1 (de) 2019-07-03 2019-07-03 Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage
CN202080048638.6A CN114041121A (zh) 2019-07-03 2020-06-30 用于同时执行自动化设备的多个运行时系统的运行时服务器
EP20735570.2A EP3977301A1 (de) 2019-07-03 2020-06-30 Laufzeitserver zum gleichzeitigen ausführen mehrerer laufzeitsysteme einer automatisierungsanlage
PCT/EP2020/068413 WO2021001376A1 (de) 2019-07-03 2020-06-30 Laufzeitserver zum gleichzeitigen ausführen mehrerer laufzeitsysteme einer automatisierungsanlage
US17/558,719 US20220113709A1 (en) 2019-07-03 2021-12-22 Runtime server for simultaneous execution of a plurality of runtime systems of an automation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019117954.8A DE102019117954A1 (de) 2019-07-03 2019-07-03 Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage

Publications (1)

Publication Number Publication Date
DE102019117954A1 true DE102019117954A1 (de) 2021-01-07

Family

ID=71409420

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019117954.8A Pending DE102019117954A1 (de) 2019-07-03 2019-07-03 Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage

Country Status (5)

Country Link
US (1) US20220113709A1 (de)
EP (1) EP3977301A1 (de)
CN (1) CN114041121A (de)
DE (1) DE102019117954A1 (de)
WO (1) WO2021001376A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155957B (zh) * 2023-04-19 2023-07-14 华芯(嘉兴)智能装备有限公司 一种分拣机控制程序的运行方法、装置和电子设备
CN116975567B (zh) * 2023-07-28 2024-03-15 上海优立检测技术股份有限公司 服务器辐射抗干扰度测试方法、系统、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
WO2006116497A2 (en) * 2005-04-25 2006-11-02 Invensys Systems, Inc. Recording and tracing non-trending production data and events in an industrial process control environment
EP2341405B1 (de) 2009-12-30 2015-08-05 Robert Bosch GmbH Verfahren zum Betrieb einer Maschine
CN101894045A (zh) * 2010-06-18 2010-11-24 阳坚 一种实时Linux操作系统
CN102591306B (zh) * 2012-03-08 2013-07-10 南京埃斯顿机器人工程有限公司 双系统组件式的工业机器人控制器
CN104808592B (zh) * 2015-03-13 2016-06-01 华中科技大学 一种基于虚拟上位机的数控系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zoitl, A. et al.: Dynamic Reconfiguration of Distributed Control Applications with Reconfiguration Services based on IEC 61499. In: Proceedings of the IEEE Workshop on Distributed Intelligent Systems: Collective Intelligence and Its Applications (DIS’06), 2006. *

Also Published As

Publication number Publication date
US20220113709A1 (en) 2022-04-14
WO2021001376A1 (de) 2021-01-07
EP3977301A1 (de) 2022-04-06
CN114041121A (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
DE102009047025B3 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
EP2422243B1 (de) Sicherheitssteuerung zum steuern einer automatisierten anlage und verfahren zum erstellen eines anwenderprogramms für eine sicherheitssteuerung
EP2506098B1 (de) Anordnung und Verfahren für den Betrieb einer industriellen Automatisierungsanordnung mit einer Mehrzahl programmierbarer Automatisierungskomponenten und einer Mehrzahl Automatisierungsprogramme
EP2182418A2 (de) Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatiersierungssystems
EP3538960B1 (de) Ablaufsteuerung von programmmodulen
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
EP2732347B1 (de) Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen
DE102019117954A1 (de) Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage
DE112017003052T5 (de) Steuerungssystem mit einer verteilten dienstorientierten Architektur
DE102006035890A1 (de) System und Verfahren zur automatischen Installation und Wartung von Hard- und Software in einem verteilten Computersystem
EP3444682A1 (de) Verfahren zum rechnergestützten koppeln eines verarbeitungsmoduls in ein modulares technisches system und modulares technisches system
DE10326542B4 (de) Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst
EP1643679A1 (de) Konfiguration von Baugruppen in Automatisierungssystemen
EP3538996B1 (de) Austausch von echtzeitdaten zwischen programmmodulen
EP1536328A2 (de) Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems
EP3650968A1 (de) Verfahren zum betrieb einer produktions- oder werkzeugmaschine und produktions- oder werkzeugmaschine sowie computerprogramm zum betrieb einer produktions- oder werkzeugmaschine
EP1179428B1 (de) Verfahren und Vorrichtung zum Abarbeiten von Verfahrensschritten
EP3652657B1 (de) Vorrichtung und verfahren zur kopplung einer maschine mit einer mehrzahl von applikationen
EP4086754A1 (de) Verfahren zur rechnergestützten konfiguration eines endgeräts, endgerät und betriebsverfahren für das endgerät
EP4289123A1 (de) Verfahren und vorrichtung zur konfiguration einer applikation
DE102022132909A1 (de) Orchestrierungssystem zum Aktualisieren von Containern mit darin enthaltenen Applikationen sowie hierauf basiertes Orchestrierungsverfahren
DE102020115028A1 (de) Verfahren zum Erstellen und Ausführen eines Steuerprogramms zum Steuern eines Automatisierungssystems und Automatisierungssystem
DE102006051210A1 (de) Verfahren zum Betreiben einer Rechneranordnung
DE102016121542A1 (de) Ablaufsteuerung von Programmmodulen
EP3176656A1 (de) Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed