WO2018015454A1 - Programmable logic controller with management system - Google Patents

Programmable logic controller with management system Download PDF

Info

Publication number
WO2018015454A1
WO2018015454A1 PCT/EP2017/068270 EP2017068270W WO2018015454A1 WO 2018015454 A1 WO2018015454 A1 WO 2018015454A1 EP 2017068270 W EP2017068270 W EP 2017068270W WO 2018015454 A1 WO2018015454 A1 WO 2018015454A1
Authority
WO
WIPO (PCT)
Prior art keywords
programmable logic
logic controller
sandbox
control software
operating system
Prior art date
Application number
PCT/EP2017/068270
Other languages
German (de)
French (fr)
Inventor
Stephan Sehestedt
Stefan Hauck-Stattelmann
Jeffrey Harding
Heiko Koziolek
Original Assignee
Abb Schweiz Ag
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 Abb Schweiz Ag filed Critical Abb Schweiz Ag
Priority to CN201780044312.4A priority Critical patent/CN109478050B/en
Publication of WO2018015454A1 publication Critical patent/WO2018015454A1/en
Priority to US16/249,943 priority patent/US20190146450A1/en

Links

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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1204Multiprocessing, several plc's, distributed logic control
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • 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]

Definitions

  • the invention relates to programmable logic controllers for the control of field devices in distributed control systems for industrial plants.
  • DCS distributed control systems
  • PLC programmable logic controller
  • a common PLC includes a hardware platform and one exactly at it
  • Hardware platform coordinated control software.
  • the control software is executed in a hardware-near execution environment on the hardware.
  • the PLC Via communication resources of the hardware platform, the PLC is connected horizontally with other PLCs as well as vertically with controlled field devices and higher-level control systems.
  • control software is typically specific to a particular hardware platform and the execution environment running thereon. Therefore, the control software must be adapted when changing the PLC. This may be necessary even if the control software has been programmed according to a standard (such as IEC 61 131-3) and both the old and new PLCs support this standard, as the current standards do not bind all details of execution behavior.
  • a standard such as IEC 61 131-3
  • the new plant part should also be integrated into the control system. If the specification is that the customer-specific control software should remain untouched, it is only possible to a very limited extent to replace existing PLCs by more powerful ones due to the tight connection of the control software to the PLC. In most cases, the extension must be made with additional PLCs of the same type. It is also difficult to retrofit new functions. The installation of additional PLCs in an existing control system can in turn fail due to lack of space in existing control cabinets.
  • EP 2 506 098 A1 It is known from EP 2 506 098 A1 to execute the control software within the PLC on a virtual machine, so that one and the same control software can be executed on different types of PLC. Several of these virtual machines can run concurrently on the same PLC. From WO 2015/124 320 A1 a further dynamic SPS is known, on which several different control programs can be executed simultaneously. Thus, adding an additional control program can add extra value to a PLC
  • a programmable logic controller has been developed for at least one field device in an industrial plant.
  • This PLC includes an operating system, which in turn is adapted to at least one
  • Programmable controller containing control software is executable to execute in at least one process.
  • a higher-level management system is additionally provided.
  • This management system is designed to run directly on the operating system and execute one or more execution environments each in its own sandbox.
  • the management system includes a resource manager configured to allocate to each sandbox access to memory, processing power and communication resources of the hardware platform.
  • the resource manager means that the trouble-free execution of an instance of control software no longer depends on the well-being of other simultaneously running control programs. Instead, the control software has predictable resources, as if it were alone on an appropriately sized
  • the operating system of the PLC in particular a real-time capable
  • the resource manager then has the effect of being able to still guarantee a response time even though several instances of control software are running simultaneously.
  • an existing SPS can be additive, i. without affecting existing functionality.
  • the control functionality of the PLC can be extended to other similar field devices, for example, if the industrial plant is extended by a new, functionally identical part of the plant.
  • the performance of the hardware platform of SPS is usually dimensioned for a certain complexity of the control software, whereby generous consideration is given that a subsequent upgrade of the hardware is usually not possible.
  • the hardware of the PLC is oversized for the actual power requested by the control software. The invention thus makes it possible to use such free capacities. So instead of procuring additional PLCs, the dead capital tied up in the existing hardware can first be activated.
  • monolithic control software can not grow arbitrarily because the architecture of the hardware platforms for PLCs typically limits the complexity of software executable thereon. For example, there may be a limit to the maximum allowable
  • Program size can be bypassed by splitting it into two instances.
  • the management system can also be retrofitted in the form of software and is thus an independently salable product.
  • the allocation of resources can be statically determined, for example, during the setup (engineering) of the PLC. For a manual determination, the user can, for example, use his experience or test results. However, the allocation can also be defined and / or dynamically adjusted, for example, during the initialization at system start or later during the runtime of the PLC. For the allocation also static or dynamic analyzes of the control software, which give information about the resource requirements, can be used.
  • sandboxing For partitioning (sandboxing) the sandboxes against each other, all means can be used that provide the operating system and / or the hardware platform for this purpose.
  • a memory management unit (MMU) of the hardware platform can partition the areas of memory allocated to each sandbox.
  • the functions of the operating system can be used for partitioning processes between each other, such as the concept that every process has access only to itself and its subprocesses.
  • functions of the operating system can be used to monitor and enforce resource allocation, such as the "ulimits" unixoid operating systems or software containers.
  • a redundancy manager which is adapted to retrieve the provided in relation to the field device functionality of the controller from multiple redundant instances of control software and provide.
  • a redundancy can be retrofitted in particular as a pure software solution, without changing the existing control software. This is true even if redundancy was not considered at all when developing the original control software.
  • the redundancy manager does not necessarily have to be implemented purely in software.
  • the redundancy manager, as well as other parts of the management system, may also be implemented wholly or partly in hardware. For example, this can increase performance at the cost of making the management system harder to port to other hardware platforms.
  • the integration of the redundancy manager into the management system makes it possible, in particular, for the initial setup (engineering) of the PLC or even at runtime, via a configuration interface of the PLC, the redundancy level for each
  • SIL Safety Integrity Level
  • SIL3 can be achieved by combining a first sandbox with SIL1 - compliant software and a second sandbox with SIL2 - compliant software.
  • the redundancy manager may be advantageously designed to input data from the field device to multiple instances of control software forward the data outputs generated by these instances against each other. If, for example, two instances supply data outputs that at least roughly coincide, while the output of a third instance deviates significantly from this, the third instance may work incorrectly. For example, in the part of the working memory responsible for the third instance, a single bit may be upset and ensure that numerical values supplied by the field device are interpreted for a pressure in the unit of measure "pounds per square inch" (psi) instead of "bar". The expenses generated by the third instance will then systematically differ from the expenses of the other two instances.
  • psi pounds per square inch
  • the redundancy manager can, for example, also be advantageously designed to continuously monitor the function of a plurality of instances of control software and, in the event of a malfunction or malfunction of an instance, to monitor this instance and / or its
  • Execute environment restart and / or activate at least one additional instance under an additional execution environment in another sandbox.
  • a programming error in the control software may mean that in certain situations reserved memory is not released again after use (memory leak), so that at some point the available main memory is completely used up.
  • Redundancy manager prompted restart of the control software does not eliminate the cause of the problem, but the new sandbox starts again with a "clean" memory, so that the problem is alleviated, at least temporarily.Further in this way, the plant operator is made aware of the problem and can get to the bottom of it programmatically.
  • the redundancy manager can also be designed to control the communication of multiple instances of control software with the field device according to a round-robin method. All instances will be used evenly. If an instance called in turn owes the answer for a specified period of time (timeout), then this instance can be recognized as being defective.
  • redundant operation can hereby continue to increase the reliability. The idea behind this is that it is unlikely, for example, that two instances of the control software programmed by different developers according to different concepts will each have errors which have exactly the same effect in the same operating situation.
  • control software it is also possible, for example, to execute several instances of control software at the same time in order to test a new version of the control software under development or new, without interrupting the ongoing operation of the previous version and halting the industrial process controlled thereby.
  • an instance of the previous control software can be executed together with another instance, which contains only the additionally added functions.
  • control programs written for different types of PLCs under different execution environments on the same physical PLC, or, for example, on a server with corresponding communication interfaces.
  • the server can then be the same effect with the respectively simulated PLC.
  • different execution environments for different customers, between which there is no relationship of trust can be consolidated on one and the same server.
  • the functionality of the management system for partitioning the sandboxes among one another can then, for example, be enhanced by security functions for protection against deliberate attacks between sandboxes.
  • At least one sandbox contains an abstraction layer which responds to system calls originating from the execution environment in the same way as the operating system and / or the
  • Hardware of a controller for which the execution environment and / or associated control software was developed For example, the system calls originating from the control software provided with the PLC at the factory may thus be abstracted from the operating system and / or the hardware platform, so that program code is more widely used on other hardware platforms can be reused.
  • the abstraction layer contains at least one runtime environment, the handlers for those originating from the execution environment
  • Running Windows® programs under unixoid operating systems the execution environment and associated control software can then run as a native process under the SPS operating system without having to be virtualized by a hypervisor. This can be compared to a virtualization
  • Management system a hypervisor designed to provide its own virtual machine for each sandbox. This consumes more system resources, but is easier to implement than a runtime environment that does
  • the hardware platform can be emulated.
  • Execution environment and / or at least one adapted to the hypervisor version of the abstraction layer, paravirtualinstrument by the hypervisor.
  • the hypervisor can be simplified so that in the individual sandboxes a higher performance is available.
  • Resource manager is adapted to redistribute in at least a first sandbox unused allocations for access to memory, processor power and / or communication resources to at least one second sandbox. This may happen especially when the resources of the second sandbox are overloaded or imminent. In this way, the
  • Capacity utilization of the hardware platform can be improved.
  • more functionality for the control of more field devices can be accommodated in a given cabinet volume in the sum.
  • lack of space in existing cabinets could be a noticeable brake for the expansion of the industrial control system.
  • the specific power consumption of the control system is lower when the hardware of the PLC is better utilized.
  • the allocation can also be made dependent on other parameters, such as priorities, or heuristics.
  • Resource managers are trained to work in a shortage of memory, processing power and / or communication resources according to rules
  • the rules in the regulations are staggered according to the effects of the respective deprivation of resources on the industrial plant as a whole. For example, a complete shutdown of the system may be avoided by slowing down time-critical processes. The regulation of these processes then requires less computing time, which can instead be additionally made available for the regulation of time-critical processes.
  • the invention also relates to a computer program product with machine-readable instructions which, when executed on a computer and / or on a programmable logic controller, converts the computer or the programmable logic controller into a programmable logic controller
  • FIG. 1 Industrial plant 100 with PLC 1 according to a first exemplary embodiment with virtual machines 81, 82, 83.
  • FIG. 2 industrial plant 100 with SPS 1 according to a second exemplary embodiment with abstraction layers 71, 72, 73.
  • Figure 3 for comparison SPS 102 according to the prior art.
  • FIG. 1 shows by way of example an industrial plant 100 in which, by way of example, a field device 101 is controlled by a PLC 1 via an I / O interface 105.
  • the PLC 1 is integrated in a network 104, which also contains a PLC 102 according to the prior art and a human-machine interface 103.
  • the PLC 1 includes a hardware platform 2 that provides memory 21, processor power 22, and a communications interface 23 for connection to the network 104.
  • the operating system 2 runs on the hardware platform 3.
  • the management environment 4 runs with a hypervisor 46 which starts the three sandboxes 41, 42 and 43 in virtual machines 81, 82 and 83.
  • an execution environment 51, 52 and 53 respectively runs.
  • an instance 61, 62 and 63, respectively, of the control software is executable.
  • the hypervisor 46 can access the operating system 3 and the hardware resources 21, 22 and 23. This access is via the resource manager 44
  • the resource manager 44 is in particular designed, in the event of a shortage of resources 21, 22 or 23 according to rules 47a, 47b and 47c of one of the virtual machines 81, 82 and 83, to wholly or partially withdraw the resources 21, 22 and 23, respectively make them available to another virtual machine 81, 82 and 83, respectively, which they need more urgently.
  • the rules 47a, 47b and 47c are sorted in the rules 47 to how serious the
  • the instances 61, 62 and 63 of the control software are additionally via the
  • Redundancy manager 45 in such a way that they provide the functionality of the PLC 1 in a redundant manner compared to the field device 101. This additional feature is implemented in redundancy manager 45 alone.
  • the execution environments 51, 52 and 53, as well as the instances 61, 62 and 63, are unchanged from a PLC 1 without management system 4.
  • the management system 4 can also be retrofitted to a PLC 1, in which the execution environment 51, 52 or 53, and / or the control software 61, 62 or 63, exists only as a compiled binary code.
  • Figure 2 shows the same industrial plant 100 as Figure 1, but with a PLC 1 according to another embodiment of the invention.
  • the sandboxes 41, 42 and 43 are not formed as virtual machines.
  • the execution environments 51, 52 and 53 transit through abstraction layers 71, 72 and 73, respectively, as normal processes on the operating system 3.
  • the abstraction layers 71, 72 and 73, respectively, provide a runtime environment for those emanating from the execution environments 51, 52 and 53, respectively System calls ready.
  • FIG. 3 shows a comparison of the structure of the PLC 102 according to the prior art and the connection of this PLC 102 to the field device 101 and to the
  • the control software 102g runs on an execution environment 102a, which in turn runs on an operating system 102b and becomes more proprietary
  • Hardware driver 102c operated.
  • the operating system 102b and the hardware drivers 102c access the proprietary hardware 102d, which includes a first interface 102e for communicating with the field device 101 via the I / O interface 105 and a second interface 102f for integration into the network 104.
  • the various components of the PLC 102 build on each other and act together, but are not abstracted from each other and encapsulated. Any change in the hardware 102d requires a change in the hardware drivers 102c. At least the change of the hardware 102d to a new hardware architecture also makes changes to the operating system 102b necessary. The changed hardware drivers 102c make it necessary for the
  • Control software 102g accessing these hardware drivers 102c.
  • a change of the operating system 102b due to the change of the hardware architecture draws further changes to the control software 102g and the

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

The invention relates to a programmable logic controller (1) for at least one field device (101) in an industrial facility (100), comprising a hardware platform (2) on which an operating system (3) runs, the operating system (3) being designed to execute, in at least one process, at least one execution environment (51-53) in which a control software (61-63) containing the control logic of the programmable logic controller (1) can be run, a higher-level management system (4) being provided, which is designed to run directly on the operating system (3) and to execute at least one execution environment (51-53) respectively in a corresponding sandbox (41-43), the management system (4) comprising a resource manager (44) designed to assign to each sandbox (41-43) the access to the main memory (21), the processor power (22) and communication resources (23) of the hardware platform (2). The invention also relates to an associated computer program product.

Description

Speicherprogrammierbare Steuerung mit Managementsystem  Programmable logic controller with management system
Beschreibung description
Die Erfindung betrifft speicherprogrammierbare Steuerungen für die Ansteuerung von Feldgeräten in verteilten Steuersystemen für Industrieanlagen. The invention relates to programmable logic controllers for the control of field devices in distributed control systems for industrial plants.
Stand der Technik State of the art
Viele Industrieanlagen werden durch verteilte Steuerungssysteme (distributed control Systems, DCS) gesteuert. Grundbaustein derartiger Steuerungssysteme sind speicherprogrammierbare Steuerungen (SPS, bzw. englisch„programmable logic Controllers", PLC). Many industrial plants are controlled by distributed control systems (DCS). Basic components of such control systems are programmable logic controllers (PLC).
Eine übliche SPS umfasst eine Hardwareplattform und eine genau auf diese A common PLC includes a hardware platform and one exactly at it
Hardwareplattform abgestimmte Steuersoftware. Die Steuersoftware wird in einer hardwarenah programmierten Ausführungsumgebung auf der Hardware ausgeführt. Über Kommunikationsressourcen der Hardwareplattform ist die SPS horizontal mit anderen SPS sowie vertikal mit angesteuerten Feldgeräten sowie übergeordneten Steuersystemen verbunden. Hardware platform coordinated control software. The control software is executed in a hardware-near execution environment on the hardware. Via communication resources of the hardware platform, the PLC is connected horizontally with other PLCs as well as vertically with controlled field devices and higher-level control systems.
Die Steuersoftware ist in der Regel spezifisch für eine bestimmte Hardwareplattform und die hierauf laufende Ausführungsumgebung. Daher muss bei einem Wechsel der SPS die Steuersoftware angepasst werden. Dies kann sogar dann erforderlich sein, wenn die Steuersoftware gemäß einem Standard (etwa IEC 61 131 -3) programmiert wurde und sowohl die alte als auch die neue SPS diesen Standard unterstützen, da die derzeitigen Standards nicht alle Details des Ausführungsverhaltens verbindlich festschreiben. The control software is typically specific to a particular hardware platform and the execution environment running thereon. Therefore, the control software must be adapted when changing the PLC. This may be necessary even if the control software has been programmed according to a standard (such as IEC 61 131-3) and both the old and new PLCs support this standard, as the current standards do not bind all details of execution behavior.
Wird nun beispielsweise die Industrieanlage um einen neuen Anlagenteil vergrößert, der die gleiche Funktionalität aufweist wie ein bestehender Anlagenteil, so ist auch der neue Anlagenteil in das Steuerungssystem einzubinden. Wenn hierbei die Vorgabe ist, dass die kundenspezifischen Steuersoftware unangetastet bleiben soll, ist es auf Grund der engen Bindung der Steuersoftware an die SPS nur sehr eingeschränkt möglich, bestehende SPS durch leistungsfähigere zu ersetzen. Meist muss die Erweiterung mit zusätzlichen SPSen des gleichen Typs vorgenommen werden. Auch das Nachrüsten neuer Funktionen ist nur schwierig möglich. Der Einbau zusätzlicher SPSen in ein bestehendes Steuerungssystem kann wiederum an Platzmangel in bestehenden Schaltschränken scheitern. If, for example, the industrial plant is now enlarged by a new plant part which has the same functionality as an existing plant part, then the new plant part should also be integrated into the control system. If the specification is that the customer-specific control software should remain untouched, it is only possible to a very limited extent to replace existing PLCs by more powerful ones due to the tight connection of the control software to the PLC. In most cases, the extension must be made with additional PLCs of the same type. It is also difficult to retrofit new functions. The installation of additional PLCs in an existing control system can in turn fail due to lack of space in existing control cabinets.
Aus der EP 2 506 098 A1 ist bekannt, die Steuersoftware innerhalb der SPS auf einer virtuellen Maschine auszuführen, so dass ein und dieselbe Steuersoftware auf verschiedenen Typen von SPS ausgeführt werden kann. Auf ein und derselben SPS können mehrere dieser virtuellen Maschinen gleichzeitig ausgeführt werden. Aus der WO 2015/124 320 A1 ist eine weitere dynamische SPS bekannt, auf der mehrere verschiedene Steuerprogramme gleichzeitig ausgeführt werden können. Somit kann einer SPS durch die Hinzufügen eines weiteren Steuerprogramms zusätzliche It is known from EP 2 506 098 A1 to execute the control software within the PLC on a virtual machine, so that one and the same control software can be executed on different types of PLC. Several of these virtual machines can run concurrently on the same PLC. From WO 2015/124 320 A1 a further dynamic SPS is known, on which several different control programs can be executed simultaneously. Thus, adding an additional control program can add extra value to a PLC
Funktionalität verliehen werden. Functionality be lent.
Beim dauerhaften Produktiveinsatz derartiger Lösungen besteht grundsätzlich die Schwierigkeit, dass die störungsfreie Ausführung eines Steuerprogramms auch vom Wohlverhalten der anderen gleichzeitig laufenden Steuerprogramme abhängt. In the permanent productive use of such solutions, there is basically the difficulty that the trouble-free execution of a control program also depends on the good behavior of the other simultaneously running control programs.
Aufgabe und Lösung Task and solution
Es ist daher die Aufgabe der Erfindung, die Erweiterbarkeit einer einzelnen SPS sowie des Steuerungssystems als Ganzes um zusätzliche Funktionalität zu verbessern. It is therefore the object of the invention to improve the expandability of a single PLC and the control system as a whole by additional functionality.
Diese Aufgabe wird erfindungsgemäß gelöst durch eine speicherprogrammierbare Steuerung gemäß Hauptanspruch sowie durch ein zugehöriges Computerprogrammprodukt. Weitere vorteilhafte Ausgestaltungen ergeben sich aus den darauf rückbezogenen Unteransprüchen. This object is achieved by a programmable logic controller according to the main claim and by an associated computer program product. Further advantageous embodiments will be apparent from the dependent claims.
Gegenstand der Erfindung Subject of the invention
Im Rahmen der Erfindung wurde eine speicherprogrammierbare Steuerung (SPS) für mindestens ein Feldgerät in einer Industrieanlage entwickelt. Diese SPS umfasst ein Betriebssystem, welches wiederum dazu ausgebildet ist, mindestens eine In the context of the invention, a programmable logic controller (PLC) has been developed for at least one field device in an industrial plant. This PLC includes an operating system, which in turn is adapted to at least one
Ausführungsumgebung, innerhalb derer eine die Steuerlogik der Execution environment, within which the control logic of the
speicherprogrammierbaren Steuerung beinhaltende Steuersoftware lauffähig ist, in mindestens einem Prozess auszuführen. Programmable controller containing control software is executable to execute in at least one process.
Erfindungsgemäß ist zusätzlich ein übergeordnetes Managementsystem vorgesehen. Dieses Managementsystem ist dazu ausgebildet, unmittelbar auf dem Betriebssystem zu laufen und eine oder mehrere Ausführungsumgebungen jeweils in einer eigenen Sandbox auszuführen. Das Managementsystem umfasst einen Ressourcenmanager, der dazu ausgebildet ist, einer jeden Sandbox den Zugriff auf Arbeitsspeicher, Prozessorleistung und Kommunikationsressourcen der Hardwareplattform zuzuteilen. According to the invention, a higher-level management system is additionally provided. This management system is designed to run directly on the operating system and execute one or more execution environments each in its own sandbox. The management system includes a resource manager configured to allocate to each sandbox access to memory, processing power and communication resources of the hardware platform.
Der Ressourcenmanager bewirkt, dass die störungsfreie Ausführung einer Instanz von Steuersoftware nun nicht mehr vom Wohlverhalten anderer gleichzeitig laufender Steuerprogramme abhängt. Stattdessen verfügt die Steuersoftware über planbare Ressourcen, so als würde sie alleine auf einer entsprechend dimensionierten The resource manager means that the trouble-free execution of an instance of control software no longer depends on the well-being of other simultaneously running control programs. Instead, the control software has predictable resources, as if it were alone on an appropriately sized
Hardwareplattform laufen. Der Ressourcenmanager vervollständigt somit die Hardware platform running. The resource manager completes the
Unabhängigkeit der Sandboxes voneinander sowie den Schutz der Sandboxes vor gegenseitiger Beeinflussung. Dabei kann das Betriebssystem der SPS insbesondere ein echtzeitfähiges Independence of the sandboxes from each other and the protection of the sandboxes from mutual interference. In this case, the operating system of the PLC, in particular a real-time capable
Betriebssystem sein. Der Ressourcenmanager hat dann die Wirkung, dass noch eine Garantie für Reaktionszeiten gegeben werden kann, obwohl mehrere Instanzen von Steuersoftware gleichzeitig laufen. Be operating system. The resource manager then has the effect of being able to still guarantee a response time even though several instances of control software are running simultaneously.
Durch den Ressourcenmanager kann eine bestehende SPS in mehrerlei Hinsicht additiv, d.h. ohne Beeinträchtigung der vorhandenen Funktionalität, erweitert werden. Through the resource manager, an existing SPS can be additive, i. without affecting existing functionality.
Zum Einen kann mit einer weiteren Instanz der bestehenden Steuersoftware die Steuerfunktionalität der SPS auf weitere gleichartige Feldgeräte ausgedehnt werden, etwa wenn die Industrieanlage um einen neuen funktionsgleichen Anlagenteil erweitert wird. Die Leistungsfähigkeit der Hardwareplattform von SPS wird in der Regel für eine bestimmte Komplexität der Steuersoftware dimensioniert, wobei auch großzügig berücksichtigt wird, dass eine spätere Aufrüstung der Hardware meist nicht möglich ist. Somit ist in vielen Industrieanlagen die Hardware der SPS für die tatsächlich von der Steuersoftware angeforderte Leistung überdimensioniert. Die Erfindung ermöglicht es also, derartige Freikapazitäten zu nutzen. Statt also weitere SPS zu beschaffen, kann zuerst das in der bestehenden Hardware gebundene tote Kapital aktiviert werden. On the one hand, with another instance of the existing control software, the control functionality of the PLC can be extended to other similar field devices, for example, if the industrial plant is extended by a new, functionally identical part of the plant. The performance of the hardware platform of SPS is usually dimensioned for a certain complexity of the control software, whereby generous consideration is given that a subsequent upgrade of the hardware is usually not possible. Thus, in many industrial plants, the hardware of the PLC is oversized for the actual power requested by the control software. The invention thus makes it possible to use such free capacities. So instead of procuring additional PLCs, the dead capital tied up in the existing hardware can first be activated.
Zum Anderen können der SPS auch mit deutlich weniger Aufwand völlig neue On the other hand, the PLC can be completely new even with significantly less effort
Funktionen hinzugefügt werden. Bislang war dies selbst dann schwierig, wenn ohne Wechsel der Hardware„nur" die neuen Funktionen in die Steuersoftware eingepflegt werden sollten. Jegliche Änderung kann eine Validierung oder ähnliche Prüfung der Steuersoftware pauschal ungültig machen, analog dem Bruch eines Garantiesiegels beim Öffnen eines Gerätegehäuses. Die Prüfung muss mit entsprechendem Arbeitsaufwand neu abgenommen werden. Dies ist auch nicht unbegründet, denn in der Softwaretechnik sind viele Fälle bekannt, in denen eine gewollte Verbesserung an einer Stelle überraschenderweise zu einer Beeinträchtigung der Funktionalität an anderer Stelle führte. Je komplexer die Steuersoftware ist, desto schwieriger sind derartige Wechselwirkungen zu überblicken. Wird hingegen die zusätzliche Functions are added. So far, this has been difficult, even if the new functions should only be added to the control software without changing the hardware Any change may void validation or similar checks on the control software, similar to the breach of a warranty seal when opening a device housing This is also not unfounded, because in software engineering many cases are known in which a desired improvement at one point surprisingly led to a deterioration of the functionality elsewhere is more difficult to survey such interactions
Funktionalität in eine weitere Instanz von Steuersoftware ausgelagert, so ist durch das Sandboxing der Instanzen gegeneinander sichergestellt, dass die bestehende Functionality is outsourced to another instance of control software, so by sandboxing the instances against each other ensures that the existing
Funktionalität nicht beeinträchtigt wird. Es ist also nur der neu hinzugefügte Functionality is not affected. So it's just the newly added one
Programmcode zu testen. Weiterhin wird auf diese Weise auch die Schwierigkeit umschifft, dass eine Test program code. Furthermore, in this way, the difficulty umschifft that a
monolithische Steuersoftware nicht beliebig wachsen kann, weil die Architektur der Hardwareplattformen für SPS typischerweise die Komplexität der darauf ausführbaren Software einschränkt. So kann etwa eine Grenze für die maximal zulässige monolithic control software can not grow arbitrarily because the architecture of the hardware platforms for PLCs typically limits the complexity of software executable thereon. For example, there may be a limit to the maximum allowable
Programmgröße durch die Aufteilung auf zwei Instanzen umgangen werden. Program size can be bypassed by splitting it into two instances.
Schließlich können dank des Managementsystems Fertigungsstraßen im Sinne von „Industrie 4.0" flexibel gestaltet werden. Da nun über das Managementsystem festgelegt werden kann, welche Steuersoftware im Einzelnen auf der SPS läuft, kann die SPS insgesamt zur Laufzeit zu einer ganz anderen Funktion und zur Ansteuerung ganz anderer Feldgeräte umkonfiguriert werden als ursprünglich geplant. Nach dem bisherigen Stand der Technik wären hierfür zusätzliche SPS sowie eine Möglichkeit zum Umschalten zwischen SPS, für die es am Markt aktuell keine Lösung zu kaufen gibt, erforderlich gewesen. Finally, thanks to the management system, production lines can be flexibly designed in the sense of "Industry 4.0." Since the management system can now determine which control software runs in detail on the PLC, the PLC can take on a completely different function and control completely at runtime Other field devices have to be reconfigured than originally planned According to the current state of the art, additional PLCs and a switchover between PLCs for which there is currently no solution to buy on the market would have been necessary.
Somit ist es vorteilhaft, eine neue SPS bereits ab Werk mit dem Managementsystem auszuliefern, auch wenn noch keine parallele Ausführung mehrerer Instanzen von Steuersoftware beabsichtigt ist. Das Managementsystem kann aber auch nachträglich in Form von Software nachgerüstet werden und ist insofern ein eigenständig verkaufbares Produkt. Thus, it is advantageous to deliver a new PLC already ex works with the management system, even if no parallel execution of multiple instances of control software is intended. The management system can also be retrofitted in the form of software and is thus an independently salable product.
Die Zuteilung der Ressourcen kann beispielsweise bei der Einrichtung (Engineering) der SPS statisch festgelegt werden. Für eine manuelle Festlegung kann der Anwender beispielsweise seine Erfahrung oder auch Testergebnisse heranziehen. Die Zuteilung kann aber auch beispielsweise bei der Initialisierung beim Systemstart oder später zur Laufzeit der SPS festgelegt und/oder dynamisch angepasst werden. Für die Zuteilung können auch statische oder dynamische Analysen der Steuerungssoftware, die Aufschluss über den Ressourcenbedarf geben, herangezogen werden. The allocation of resources can be statically determined, for example, during the setup (engineering) of the PLC. For a manual determination, the user can, for example, use his experience or test results. However, the allocation can also be defined and / or dynamically adjusted, for example, during the initialization at system start or later during the runtime of the PLC. For the allocation also static or dynamic analyzes of the control software, which give information about the resource requirements, can be used.
Für die Abschottung (Sandboxing) der Sandboxes gegeneinander können alle Mittel eingesetzt werden, die das Betriebssystem und/oder die Hardwareplattform zu diesem Zweck bereitstellen. Beispielsweise kann eine Memory Management Unit (MMU) der Hardwareplattform die Bereiche des Arbeitsspeichers, die den einzelnen Sandboxes zugeteilt sind, untereinander abschotten. Weiterhin können die Funktionen des Betriebssystems für eine Abschottung der Prozesse untereinander verwendet werden, wie etwa das Konzept, dass jeder Prozess nur Zugriff auf sich selbst und seine Unterprozesse hat. Schließlich können auch Funktionen des Betriebssystems für die Überwachung und Durchsetzung der Ressourcenzuteilung, wie beispielsweise die „ulimits" unixoider Betriebssysteme oder Software Container, herangezogen werden. For partitioning (sandboxing) the sandboxes against each other, all means can be used that provide the operating system and / or the hardware platform for this purpose. For example, a memory management unit (MMU) of the hardware platform can partition the areas of memory allocated to each sandbox. Furthermore, the functions of the operating system can be used for partitioning processes between each other, such as the concept that every process has access only to itself and its subprocesses. Finally, functions of the operating system can be used to monitor and enforce resource allocation, such as the "ulimits" unixoid operating systems or software containers.
In einer besonders vorteilhaften Ausgestaltung der Erfindung weist das In a particularly advantageous embodiment of the invention, the
Managementsystem einen Redundanzmanager auf, der dazu ausgebildet ist, die im Verhältnis zum Feldgerät vorgesehene Funktionalität der Steuerung aus mehreren redundanten Instanzen von Steuersoftware abzurufen und bereitzustellen. Auf diese Weise kann eine Redundanz insbesondere als reine Softwarelösung nachgerüstet werden, ohne Änderung der bestehenden Steuersoftware. Dies gilt auch dann, wenn bei der Entwicklung der ursprünglichen Steuersoftware eine Redundanz überhaupt nicht in Betracht gezogen wurde. Management system to a redundancy manager, which is adapted to retrieve the provided in relation to the field device functionality of the controller from multiple redundant instances of control software and provide. In this way, a redundancy can be retrofitted in particular as a pure software solution, without changing the existing control software. This is true even if redundancy was not considered at all when developing the original control software.
Der Redundanzmanager muss jedoch nicht zwingend rein in Software implementiert sein. Der Redundanzmanager, wie auch andere Teile des Managementsystems, können auch ganz oder teilweise in Hardware implementiert sein. Dies kann beispielsweise die Performance steigern um den Preis, dass das Managementsystem schwerer auf andere Hardwareplattformen portierbar ist. However, the redundancy manager does not necessarily have to be implemented purely in software. The redundancy manager, as well as other parts of the management system, may also be implemented wholly or partly in hardware. For example, this can increase performance at the cost of making the management system harder to port to other hardware platforms.
Die Integration des Redundanzmanagers in das Managementsystem ermöglicht es insbesondere, bei der Ersteinrichtung (Engineering) der SPS oder auch zur Laufzeit über eine Konfigurationsschnittstelle der SPS das Redundanzniveau für jede The integration of the redundancy manager into the management system makes it possible, in particular, for the initial setup (engineering) of the PLC or even at runtime, via a configuration interface of the PLC, the redundancy level for each
Ausführungsumgebung und jede Instanz der Steuersoftware individuell festzulegen, unabhängig davon, ob eine mögliche Bereitstellung von Redundanz in der eigentlichen Konfigurationsroutine der Steuersoftware implementiert ist. Determine execution environment and each instance of the control software individually, regardless of whether a possible provision of redundancy is implemented in the actual configuration routine of the control software.
Durch die Bereitstellung von Redundanz kann beispielsweise ein geforderter By providing redundancy, for example, a required
Sicherheits-Integritäts-Level (SIL) mit geringerem Aufwand erreicht werden. Safety Integrity Level (SIL) can be achieved with less effort.
Beispielsweise lässt sich SIL3 durch die Kombination einer ersten Sandbox mit SIL1 - konformer Software und einer zweiten Sandbox mit SIL2-konformer Software erreichen. For example, SIL3 can be achieved by combining a first sandbox with SIL1 - compliant software and a second sandbox with SIL2 - compliant software.
Beispielsweise kann der Redundanzmanager vorteilhaft dazu ausgebildet sein, Dateneingaben vom Feldgerät an mehrere Instanzen von Steuersoftware weiterzuleiten und die daraufhin von diesen Instanzen generierten Datenausgaben gegeneinander zu plausibilisieren. Liefern dann beispielsweise zwei Instanzen Datenausgaben, die zumindest in groben Zügen übereinstimmen, während die Ausgabe einer dritten Instanz hiervon deutlich abweicht, arbeitet die dritte Instanz möglicherweise fehlerhaft. Beispielsweise kann im für die dritte Instanz zuständigen Teil des Arbeitsspeichers ein einzelnes Bit umgekippt sein und dafür sorgen, dass vom Feldgerät gelieferte Zahlenwerte für einen Druck in der Maßeinheit„pounds per Square inch" (psi) statt richtigerweise„bar" interpretiert werden. Die daraufhin von der dritten Instanz generierten Ausgaben werden dann systematisch von den Ausgaben der beiden anderen Instanzen abweichen. For example, the redundancy manager may be advantageously designed to input data from the field device to multiple instances of control software forward the data outputs generated by these instances against each other. If, for example, two instances supply data outputs that at least roughly coincide, while the output of a third instance deviates significantly from this, the third instance may work incorrectly. For example, in the part of the working memory responsible for the third instance, a single bit may be upset and ensure that numerical values supplied by the field device are interpreted for a pressure in the unit of measure "pounds per square inch" (psi) instead of "bar". The expenses generated by the third instance will then systematically differ from the expenses of the other two instances.
Der Redundanzmanager kann beispielsweise auch vorteilhaft dazu ausgebildet sein, die Funktion mehrerer Instanzen von Steuersoftware fortlaufend zu überwachen und bei Ausfall oder Fehlfunktion einer Instanz diese Instanz, und/oder ihre The redundancy manager can, for example, also be advantageously designed to continuously monitor the function of a plurality of instances of control software and, in the event of a malfunction or malfunction of an instance, to monitor this instance and / or its
Ausführungsumgebung, neu zu starten, und/oder mindestens eine zusätzliche Instanz unter einer zusätzlichen Ausführungsumgebung in einer weiteren Sandbox zu aktivieren. Beispielsweise kann ein Programmierfehler in der Steuersoftware dazu führen, dass in bestimmten Situationen reservierter Arbeitsspeicher nach Gebrauch nicht wieder freigegeben wird (Speicherleck), so dass irgendwann der zur Verfügung stehende Arbeitsspeicher komplett aufgebraucht ist. Ein durch den Execute environment, restart and / or activate at least one additional instance under an additional execution environment in another sandbox. For example, a programming error in the control software may mean that in certain situations reserved memory is not released again after use (memory leak), so that at some point the available main memory is completely used up. A through the
Redundanzmanager veranlasster Neustart der Steuersoftware beseitigt dann zwar nicht die Ursache des Problems, aber die neue Sandbox fängt wieder mit einem „sauberen" Arbeitsspeicher an, so dass das Problem zumindest provisorisch gelindert ist. Weiterhin wird auf diese Weise der Anlagenbetreiber auf das Problem aufmerksam gemacht und kann ihm programmtechnisch auf den Grund gehen. Redundancy manager prompted restart of the control software does not eliminate the cause of the problem, but the new sandbox starts again with a "clean" memory, so that the problem is alleviated, at least temporarily.Further in this way, the plant operator is made aware of the problem and can get to the bottom of it programmatically.
Der Redundanzmanager kann beispielsweise auch vorteilhaft dazu ausgebildet sein, die Kommunikation mehrerer Instanzen von Steuersoftware mit dem Feldgerät nach einem Rundlaufverfahren (Round-Robin) zu steuern. Es werden dann alle Instanzen gleichmäßig ausgelastet. Bleibt eine turnusmäßig angesprochene Instanz die Antwort für eine vorgegebene Zeitspanne (Timeout) schuldig, so kann diese Instanz als fehlerhaft arbeitend erkannt werden. For example, the redundancy manager can also be designed to control the communication of multiple instances of control software with the field device according to a round-robin method. All instances will be used evenly. If an instance called in turn owes the answer for a specified period of time (timeout), then this instance can be recognized as being defective.
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung sind zur Bereitstellung ein und derselben Funktionalität der SPS zwei inhaltlich verschiedene Ausführungsumgebungen, und/oder zwei inhaltlich verschiedene Instanzen von Steuersoftware, vorgesehen. Insbesondere im redundanten Betrieb lässt sich hiermit die Betriebssicherheit weiter erhöhen. Hierhinter steckt der Gedanke, dass es unwahrscheinlich ist, dass beispielsweise zwei von verschiedenen Entwicklern nach unterschiedlichen Konzepten programmierte Instanzen der Steuersoftware jeweils Fehler aufweisen, die sich genau in der gleichen Betriebssituation in gleicher Weise auswirken. In a further particularly advantageous embodiment of the invention, two content-wise different to provide one and the same functionality of the PLC Execution environments, and / or two contentwise different instances of control software provided. In particular, in redundant operation can hereby continue to increase the reliability. The idea behind this is that it is unlikely, for example, that two instances of the control software programmed by different developers according to different concepts will each have errors which have exactly the same effect in the same operating situation.
Es können aber beispielsweise auch mehrere Instanzen von Steuersoftware gleichzeitig ausgeführt werden, um eine in Entwicklung befindliche oder neu erworbene neue Version der Steuersoftware zu testen, ohne dass hierfür der laufende Betrieb der bisherigen Version unterbrochen und der damit gesteuerte industrielle Prozess angehalten werden muss. Weiterhin kann bei einer Erweiterung der Funktionalität eine Instanz der bisherigen Steuersoftware gemeinsam mit einer weiteren Instanz, die nur die zusätzlich hinzugefügten Funktionen enthält, ausgeführt werden. However, it is also possible, for example, to execute several instances of control software at the same time in order to test a new version of the control software under development or new, without interrupting the ongoing operation of the previous version and halting the industrial process controlled thereby. Furthermore, in the case of an extension of the functionality, an instance of the previous control software can be executed together with another instance, which contains only the additionally added functions.
Schließlich ist es beispielsweise auch möglich, für verschiedene Typen von SPS geschriebene Steuerprogramme unter verschiedenen Ausführungsumgebungen auf ein und derselben physischen SPS, oder beispielsweise auf einem Server mit entsprechenden Kommunikationsschnittstellen, konsolidiert werden. Der Server kann dann wirkungsgleich mit der jeweils nachgebildeten SPS sein. Prinzipiell können auch verschiedene Ausführungsumgebungen für verschiedene Kunden, zwischen denen kein Vertrauensverhältnis besteht, auf ein und demselben Server konsolidiert sein. Die Funktionalität des Managementsystems zur Abschottung der Sandboxes untereinander kann dann beispielsweise noch um Sicherheitsfunktionen zum Schutz gegen gewollte Übergriffe zwischen Sandboxes erweitert sein. Finally, it is also possible, for example, to consolidate control programs written for different types of PLCs under different execution environments on the same physical PLC, or, for example, on a server with corresponding communication interfaces. The server can then be the same effect with the respectively simulated PLC. In principle, different execution environments for different customers, between which there is no relationship of trust, can be consolidated on one and the same server. The functionality of the management system for partitioning the sandboxes among one another can then, for example, be enhanced by security functions for protection against deliberate attacks between sandboxes.
In einer besonders vorteilhaften Ausgestaltung der Erfindung enthält mindestens eine Sandbox eine Abstraktionsschicht, die auf von der Ausführungsumgebung ausgehende Systemaufrufe in gleicher Weise reagiert wie das Betriebssystem und/oder die In a particularly advantageous embodiment of the invention, at least one sandbox contains an abstraction layer which responds to system calls originating from the execution environment in the same way as the operating system and / or the
Hardware eines Steuergeräts, für das die Ausführungsumgebung, und/oder die zugehörige Steuersoftware, entwickelt wurde. Beispielsweise können die von der werksseitig mit der SPS mitgelieferten Steuersoftware ausgehenden Systemaufrufe auf diese Weise vom Betriebssystem und/oder von der Hardwareplattform abstrahiert sein, so dass Programmcode in höherem Maße auf anderen Hardwareplattformen wiederverwendet werden kann. Es kann aber auch beispielsweise eine Umgebung bereitgestellt werden, in der eine für ein Steuergerät eines anderen, inkompatiblen Typs entwickelte Steuersoftware auf der SPS lauffähig gemacht wird. Auf diese Weise kann beispielsweise eine vorhandene Steuersoftware auf eine neue SPS mit einer neuen Hardwareplattform migriert werden, ohne dass die Steuersoftware hierfür verändert werden muss. Hardware of a controller for which the execution environment and / or associated control software was developed. For example, the system calls originating from the control software provided with the PLC at the factory may thus be abstracted from the operating system and / or the hardware platform, so that program code is more widely used on other hardware platforms can be reused. However, it is also possible, for example, to provide an environment in which a control software developed for a control unit of another, incompatible type is run on the PLC. In this way, for example, an existing control software can be migrated to a new PLC with a new hardware platform without having to change the control software for it.
Vorteilhaft enthält die Abstraktionsschicht mindestens eine Laufzeitumgebung, die Behandlungsroutinen für die von der Ausführungsumgebung ausgehenden Advantageously, the abstraction layer contains at least one runtime environment, the handlers for those originating from the execution environment
Systemaufrufe unter Verwendung von durch das Betriebssystem bereitgestellten Mitteln implementiert. Analog etwa zu der Laufzeitumgebung„wine", mit der Implement system calls using means provided by the operating system. Analogous to the runtime environment "wine", with the
Windows®-Programme unter unixoiden Betriebssystemen lauffähig gemacht werden, können die Ausführungsumgebung und die zugehörige Steuersoftware dann als nativer Prozess unter dem Betriebssystem der SPS laufen, ohne durch einen Hypervisor virtualisiert sein zu müssen. Gegenüber einer Virtualisierung kann dies Running Windows® programs under unixoid operating systems, the execution environment and associated control software can then run as a native process under the SPS operating system without having to be virtualized by a hypervisor. This can be compared to a virtualization
Systemressourcen der Hardwareplattform einsparen, die stattdessen etwa in die Ausführung von mehr Instanzen der Steuersoftware investiert werden können. Save system resources of the hardware platform, which instead can be invested in the execution of more instances of the control software.
In einer weiteren vorteilhaften Ausgestaltung der Erfindung enthält das In a further advantageous embodiment of the invention contains
Managementsystem einen Hypervisor, der dazu ausgebildet ist, für jede Sandbox eine eigene virtuelle Maschine bereitzustellen. Dies verbraucht mehr Systemressourcen, ist dafür aber einfacher zu implementieren als eine Laufzeitumgebung, die die Management system a hypervisor designed to provide its own virtual machine for each sandbox. This consumes more system resources, but is easier to implement than a runtime environment that does
Behandlung für jeden Systemaufruf einzeln nachbildet. Stattdessen kann Imitates treatment for each system call individually. Instead, you can
beispielsweise en bloc die Hardwareplattform emuliert werden. For example, en bloc the hardware platform can be emulated.
Vorteilhaft ist mindestens an den Hypervisor angepasste Version einer Advantageous is at least adapted to the hypervisor version of a
Ausführungsumgebung, und/oder mindestens eine an den Hypervisor angepasste Version der Abstraktionsschicht, durch den Hypervisor paravirtualisiert. Auf diese Weise kann der Hypervisor dahingehend vereinfacht werden, dass in den einzelnen Sandboxes eine höhere Performance zur Verfügung steht. Execution environment, and / or at least one adapted to the hypervisor version of the abstraction layer, paravirtualisiert by the hypervisor. In this way, the hypervisor can be simplified so that in the individual sandboxes a higher performance is available.
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung ist der In a further particularly advantageous embodiment of the invention is the
Ressourcenmanager dazu ausgebildet, in mindestens einer ersten Sandbox nicht genutzte Zuteilungen für den Zugriff auf Arbeitsspeicher, Prozessorleistung und/oder Kommunikationsressourcen an mindestens eine zweite Sandbox umzuverteilen. Dies kann insbesondere dann geschehen, wenn die Ressourcen der zweiten Sandbox überlastet sind oder dies unmittelbar bevorsteht. Auf diese Weise kann der Resource manager is adapted to redistribute in at least a first sandbox unused allocations for access to memory, processor power and / or communication resources to at least one second sandbox. This may happen especially when the resources of the second sandbox are overloaded or imminent. In this way, the
Auslastungsgrad der Hardwareplattform verbessert werden. Insbesondere kann in einem gegebenen Schaltschrankvolumen in der Summe mehr Funktionalität für die Ansteuerung von mehr Feldgeräten untergebracht werden. Nach dem bisherigen Stand der Technik konnte mangelnder Platz in bestehenden Schaltschränken eine spürbare Bremse für den Ausbau des industriellen Steuerungssystems sein. Weiterhin ist der spezifische Energieverbrauch des Steuerungssystems geringer, wenn die Hardware der SPS besser ausgelastet ist. Die Zuteilung kann auch von anderen Parametern, etwa Prioritäten, oder von Heuristiken abhängig gemacht werden. Capacity utilization of the hardware platform can be improved. In particular, more functionality for the control of more field devices can be accommodated in a given cabinet volume in the sum. According to the prior art, lack of space in existing cabinets could be a noticeable brake for the expansion of the industrial control system. Furthermore, the specific power consumption of the control system is lower when the hardware of the PLC is better utilized. The allocation can also be made dependent on other parameters, such as priorities, or heuristics.
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung ist der In a further particularly advantageous embodiment of the invention is the
Ressourcenmanager dazu ausgebildet, bei einer Knappheit an Arbeitsspeicher, Prozessorleistung und/oder Kommunikationsressourcen nach Regeln in einem Resource managers are trained to work in a shortage of memory, processing power and / or communication resources according to rules
Regelwerk die jeweilige Ressource mindestens einer ersten Sandbox ganz oder teilweise zu entziehen und an mindestens eine zweite Sandbox umzuverteilen. Rules to withdraw the respective resource of at least one first sandbox in whole or in part and redistribute it to at least one second sandbox.
Hierhinter steckt der Gedanke, dass, wenn etwa auf Grund eines Hardwareausfalls nicht mehr genügend Ressourcen für den normalen Betrieb der SPS zur Verfügung stehen, die unausweichlichen Betriebseinschränkungen zumindest vorhersehbar sein und ihre Auswirkungen auf die Industrieanlage idealerweise minimiert werden sollten. Lässt sich beispielsweise ein Herunterfahren der Industrieanlage nicht vermeiden, so kann ein entsprechendes Regelwerk beispielsweise sicherstellen, dass das The idea behind this is that if, for example, due to a hardware failure, there are not enough resources available for the normal operation of the PLC, the inevitable operational restrictions should at least be foreseeable and their effects on the industrial plant should ideally be minimized. If, for example, a shutdown of the industrial plant can not be avoided, an appropriate set of rules can ensure, for example, that the
Herunterfahren der einzelnen Anlagenteile in einer für die Industrieanlage insgesamt schonenden Reihenfolge und Weise erfolgt. Beispielsweise sollte in einer evakuierten Anlage zunächst die auf das Vakuum angewiesenen Geräte abgeschaltet werden und dann die Vakuumpumpe. Weiterhin kann es sinnvoll sein, die Bemühungen auf die Aufrechterhaltung des Vakuums konzentrieren und dafür an anderer Stelle mehr Geräte abzuschalten, wenn die Wiederherstellung des Vakuums mit Ausheizen mehrere Tage dauert. Shutdown of the individual plant parts in an overall careful for the industrial plant sequence and manner done. For example, in an evacuated system, the vacuum-dependent devices should first be switched off and then the vacuum pump. Furthermore, it may be useful to concentrate the efforts on maintaining the vacuum and switching off more devices elsewhere if the recovery of the vacuum with annealing takes several days.
Viele Steuerungssysteme nach dem Stand der Technik strebten im Fehlerfall auch dann noch nach einer vollen Wiederherstellung des Anlagenbetriebs, wenn dies objektiv mit den noch vorhandenen Ressourcen nicht mehr möglich war. Mit dem gemäß der Erfindung vorgesehenen Managementsystem kann eine solche Situation erkannt und das Optimierungsziel auf ein schonendes Abspecken oder Stilllegen des Betriebes („graceful degradation") geändert werden. Many state-of-the-art control systems still strived for full restoration of plant operation in the event of a fault, even if this was objectively impossible with the remaining resources. With the provided according to the invention management system, such a situation be recognized and the optimization goal to a gentle slimming or shutdown of the operation ("graceful degradation") to be changed.
Daher sind in einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung die Regeln in dem Regelwerk entsprechend den Auswirkungen der jeweiligen Entziehung von Ressourcen auf die Industrieanlage als Ganzes gestaffelt. Beispielsweise kann ein vollständiger Stillstand der Anlage möglicherweise vermieden werden, indem nicht zeitkritische Prozesse verlangsamt werden. Die Regelung dieser Prozesse benötigt dann weniger Rechenzeit, die stattdessen für die Regelung zeitkritischer Prozesse zusätzlich zur Verfügung gestellt werden kann. Therefore, in a further particularly advantageous embodiment of the invention, the rules in the regulations are staggered according to the effects of the respective deprivation of resources on the industrial plant as a whole. For example, a complete shutdown of the system may be avoided by slowing down time-critical processes. The regulation of these processes then requires less computing time, which can instead be additionally made available for the regulation of time-critical processes.
Nach dem zuvor Gesagten ist das Managementsystem per Software nachrüstbar. Daher bezieht sich die Erfindung auch auf ein Computerprogrammprodukt mit maschinenlesbaren Anweisungen, die, wenn sie auf einem Computer, und/oder auf einer speicherprogrammierbaren Steuerung, ausgeführt werden, den Computer, bzw. die speicherprogrammierbare Steuerung, zu einer speicherprogrammierbaren After the above, the management system can be retrofitted by software. Therefore, the invention also relates to a computer program product with machine-readable instructions which, when executed on a computer and / or on a programmable logic controller, converts the computer or the programmable logic controller into a programmable logic controller
Steuerung gemäß der Erfindung aufwerten. Upgrade control according to the invention.
Spezieller Beschreibunqsteil Special description
Nachfolgend wird der Gegenstand der Erfindung anhand von Figuren erläutert, ohne dass der Gegenstand der Erfindung hierdurch beschränkt wird. Es ist gezeigt: The subject matter of the invention will be explained below with reference to figures, without the subject matter of the invention being limited thereby. It is shown:
Figur 1 : Industrieanlage 100 mit SPS 1 gemäß einem ersten Ausführungsbeispiel mit virtuellen Maschinen 81 , 82, 83. FIG. 1: Industrial plant 100 with PLC 1 according to a first exemplary embodiment with virtual machines 81, 82, 83.
Figur 2: Industrieanlage 100 mit SPS 1 gemäß einem zweiten Ausführungsbeispiel mit Abstraktionsschichten 71 , 72, 73. FIG. 2: industrial plant 100 with SPS 1 according to a second exemplary embodiment with abstraction layers 71, 72, 73.
Figur 3: zum Vergleich SPS 102 gemäß bisherigem Stand der Technik. Figure 3: for comparison SPS 102 according to the prior art.
Figur 1 zeigt beispielhaft eine Industrieanlage 100, in der beispielhaft ein Feldgerät 101 von einer SPS 1 über eine I/O-Schnittstelle 105 angesteuert wird. Zusätzlich ist die SPS 1 in ein Netzwerk 104 eingebunden, das noch eine SPS 102 gemäß dem bisherigen Stand der Technik sowie eine Mensch-Maschine-Schnittstelle 103 enthält. Die SPS 1 enthält eine Hardwareplattform 2, die Arbeitsspeicher 21 , Prozessorleistung 22 und eine Kommunikationsschnittstelle 23 für die Verbindung mit dem Netzwerk 104 bereitstellt. Auf der Hardwareplattform 3 läuft das Betriebssystem 2. Unmittelbar auf dem Betriebssystem 3 läuft die Managementumgebung 4 mit einem Hypervisor 46, die die drei Sandboxen 41 , 42 und 43 in virtuellen Maschinen 81 , 82 und 83 startet. In jeder virtuellen Maschine 81 , 82 bzw. 83 läuft jeweils eine Ausführungsumgebung 51 , 52 bzw. 53. In jeder Ausführungsumgebung 51 , 52 bzw. 53 ist jeweils eine Instanz 61 , 62 bzw. 63 der Steuersoftware lauffähig. FIG. 1 shows by way of example an industrial plant 100 in which, by way of example, a field device 101 is controlled by a PLC 1 via an I / O interface 105. In addition, the PLC 1 is integrated in a network 104, which also contains a PLC 102 according to the prior art and a human-machine interface 103. The PLC 1 includes a hardware platform 2 that provides memory 21, processor power 22, and a communications interface 23 for connection to the network 104. The operating system 2 runs on the hardware platform 3. Immediately on the operating system 3, the management environment 4 runs with a hypervisor 46 which starts the three sandboxes 41, 42 and 43 in virtual machines 81, 82 and 83. In each virtual machine 81, 82 and 83, respectively, an execution environment 51, 52 and 53 respectively runs. In each execution environment 51, 52 and 53, an instance 61, 62 and 63, respectively, of the control software is executable.
Aus den virtuellen Maschinen 81 , 82 bzw. 83 heraus kann jeweils nur über den Hypervisor 46 auf das Betriebssystem 3 und die Hardwareressourcen 21 , 22 und 23 zugegriffen werden. Dieser Zugriff wird über den Ressourcenmanager 44 From the virtual machines 81, 82 and 83 respectively, only the hypervisor 46 can access the operating system 3 and the hardware resources 21, 22 and 23. This access is via the resource manager 44
reglementiert. Der Ressourcenmanager 44 ist insbesondere dazu ausgebildet, bei Knappheit an Ressourcen 21 , 22 bzw. 23 nach Regeln 47a, 47b und 47c einer der virtuellen Maschinen 81 , 82 bzw. 83 die Ressourcen 21 , 22 bzw. 23 ganz oder teilweise zu entziehen, um sie einer anderen virtuellen Maschine 81 , 82 bzw. 83 zur Verfügung zu stellen, die sie dringender braucht. Hierzu sind die Regeln 47a, 47b und 47c in dem Regelwerk 47 dahingehend sortiert, wie schwerwiegend sich die regulated. The resource manager 44 is in particular designed, in the event of a shortage of resources 21, 22 or 23 according to rules 47a, 47b and 47c of one of the virtual machines 81, 82 and 83, to wholly or partially withdraw the resources 21, 22 and 23, respectively make them available to another virtual machine 81, 82 and 83, respectively, which they need more urgently. For this purpose, the rules 47a, 47b and 47c are sorted in the rules 47 to how serious the
Entziehung der Ressourcen jeweils auf die Industrieanlage 100 als Ganzes auswirkt. Die Performance der Industrieanlage 100 sinkt also bei Ressourcenknappheit auf ein akzeptables Niveau, statt dass vergeblich versucht wird, den vollen Betrieb Deprivation of resources on the industrial plant 100 as a whole. The performance of the industrial plant 100 thus falls to an acceptable level when resources are scarce, instead of being tried in vain, the full operation
aufrechtzuerhalten. maintain.
Die Instanzen 61 , 62 und 63 der Steuersoftware werden zusätzlich über den The instances 61, 62 and 63 of the control software are additionally via the
Redundanzmanager 45 dahingehend angesteuert, dass sie gegenüber dem Feldgerät 101 die Funktionalität der SPS 1 in redundanter Weise bereitstellen. Dieses weitere Feature ist allein im Redundanzmanager 45 implementiert. Die Ausführungsumgebungen 51 , 52 und 53, sowie die Instanzen 61 , 62 und 63, sind gegenüber einer SPS 1 ohne Managementsystem 4 unverändert. Redundancy manager 45 in such a way that they provide the functionality of the PLC 1 in a redundant manner compared to the field device 101. This additional feature is implemented in redundancy manager 45 alone. The execution environments 51, 52 and 53, as well as the instances 61, 62 and 63, are unchanged from a PLC 1 without management system 4.
Somit lässt sich das Managementsystem 4 auch an einer SPS 1 nachrüsten, bei der die Ausführungsumgebung 51 , 52 bzw. 53, und/oder die Steuersoftware 61 , 62 bzw. 63, nur als kompilierter Binärcode vorliegt. Figur 2 zeigt die gleiche Industrieanlage 100 wie Figur 1 , jedoch mit einer SPS 1 gemäß einem anderen Ausführungsbeispiel der Erfindung. Im Unterschied zu Figur 1 sind die Sandboxen 41 , 42 und 43 nicht als virtuelle Maschinen ausgebildet. Thus, the management system 4 can also be retrofitted to a PLC 1, in which the execution environment 51, 52 or 53, and / or the control software 61, 62 or 63, exists only as a compiled binary code. Figure 2 shows the same industrial plant 100 as Figure 1, but with a PLC 1 according to another embodiment of the invention. In contrast to Figure 1, the sandboxes 41, 42 and 43 are not formed as virtual machines.
Stattdessen laufen die Ausführungsumgebungen 51 , 52 und 53 vermittelt durch Abstraktionsschichten 71 , 72 bzw. 73 als normale Prozesse auf dem Betriebssystem 3. Die Abstraktionsschichten 71 , 72 bzw. 73 stellen jeweils eine Laufzeitumgebung für die von den Ausführungsumgebungen 51 , 52 bzw. 53 ausgehenden Systemaufrufe bereit. Instead, the execution environments 51, 52 and 53 transit through abstraction layers 71, 72 and 73, respectively, as normal processes on the operating system 3. The abstraction layers 71, 72 and 73, respectively, provide a runtime environment for those emanating from the execution environments 51, 52 and 53, respectively System calls ready.
Figur 3 zeigt im Vergleich den Aufbau der SPS 102 gemäß dem bisherigen Stand der Technik und die Anbindung dieser SPS 102 an das Feldgerät 101 und an das FIG. 3 shows a comparison of the structure of the PLC 102 according to the prior art and the connection of this PLC 102 to the field device 101 and to the
Netzwerk 104. Die Steuersoftware 102g läuft auf einer Ausführungsumgebung 102a, die wiederum auf einem Betriebssystem 102b läuft und sich proprietärer Network 104. The control software 102g runs on an execution environment 102a, which in turn runs on an operating system 102b and becomes more proprietary
Hardwaretreiber 102c bedient. Das Betriebssystem 102b und die Hardwaretreiber 102c greifen auf die proprietäre Hardware 102d zu, die ein erstes Interface 102e für die Kommunikation mit dem Feldgerät 101 über die I/O-Schnittstelle 105 und ein zweites Interface 102f für die Einbindung in das Netzwerk 104 umfasst. Hardware driver 102c operated. The operating system 102b and the hardware drivers 102c access the proprietary hardware 102d, which includes a first interface 102e for communicating with the field device 101 via the I / O interface 105 and a second interface 102f for integration into the network 104.
Im Unterschied zu den Figuren 1 und 2 bauen die verschiedenen Komponenten der SPS 102 aufeinander auf und wirken zusammen, sind aber dabei nicht voneinander abstrahiert und gekapselt. Jede Änderung der Hardware 102d macht eine Änderung der Hardwaretreiber 102c erforderlich. Spätestens der Wechsel der Hardware 102d auf eine neue Hardwarearchitektur macht auch Änderungen am Betriebssystem 102b notwendig. Die geänderten Hardwaretreiber 102c machen es notwendig, die In contrast to FIGS. 1 and 2, the various components of the PLC 102 build on each other and act together, but are not abstracted from each other and encapsulated. Any change in the hardware 102d requires a change in the hardware drivers 102c. At least the change of the hardware 102d to a new hardware architecture also makes changes to the operating system 102b necessary. The changed hardware drivers 102c make it necessary for the
Steuersoftware 102g anzupassen, die auf diese Hardwaretreiber 102c zugreift. Ein durch den Wechsel der Hardwarearchitektur fälliger Wechsel des Betriebssystems 102b zieht weitere Änderungen an der Steuersoftware 102g und der Control software 102g accessing these hardware drivers 102c. A change of the operating system 102b due to the change of the hardware architecture draws further changes to the control software 102g and the
Ausführungsumgebung 102a, auf der diese Steuersoftware 102g läuft, nach sich. Execution environment 102a on which this control software 102g is running.
Bezugszeichenliste LIST OF REFERENCE NUMBERS
1 speicherprogrammierbare Steuerung, SPS 1 programmable logic controller, PLC
2 Hardwareplattform der SPS 1  2 Hardware platform of the PLC 1
21 Arbeitsspeicher der Hardwareplattform 2  21 RAM of the hardware platform 2
22 Prozessorleistung der Hardwareplattform 2  22 Processor performance of hardware platform 2
23 Kommunikationsressourcen der Hardwareplattform 2  23 communication resources of the hardware platform 2
3 Betriebssystem der SPS 1  3 Operating system of the PLC 1
4 Managementsystem der SPS 1  4 Management system of the PLC 1
41 -43 Sandboxes für Ausführungsumgebungen 51 -53  41 -43 sandboxes for execution environments 51 -53
44 Ressourcenmanager in Managementsystem 4  44 Resource Manager in Management System 4
45 Redundanzmanager in Managementsystem 4  45 redundancy manager in management system 4
46 Hypervisor für virtuelle Maschinen 81 -83  46 Virtual Machine Hypervisor 81 -83
47 Regelwerk für Umverteilung von Ressourcen 21 -23  47 Resource Redistribution Policy 21 -23
47a-47c Regeln 47a-47c rules
51 -53 Ausführungsumgebungen für Steuersoftware 61 -63  51 -53 Control Software Execution Environments 61 -63
51 '-53' für Paravirtualisierung angepasste Umgebungen 51 -53 51 '-53' environments adapted for paravirtualization 51 -53
61 -63 Steuersoftware 61 -63 control software
61 '-63' für Paravirtualisierung angepasste Steuersoftware 61 -63 61 '-63' control software adapted for paravirtualization 61 -63
71 -73 Abstraktionsschichten in Sandboxes 41 -43 71 -73 abstraction layers in sandboxes 41 -43
71 '-73' für Paravirtualisierung angepasste Abstraktionsschichten 71 -73 71 '-73' adapted for paravirtualization abstraction layers 71-73
81 -83 virtuelle Maschinen als Sandboxes 41 -43 81 -83 virtual machines as sandboxes 41 -43
100 Industrieanlage  100 industrial plant
101 Feldgerät in Industrieanlage 100  101 field device in industrial plant 100
102 SPS gemäß Stand der Technik  102 PLC according to the prior art
102a Ausführungsumgebung der SPS 102 für Software 102g 102a Execution environment of the PLC 102 for Software 102g
102b Betriebssystem der SPS 102 102b Operating system of the PLC 102
102c proprietäre Hardwaretreiber der SPS 102  102c proprietary hardware driver of the PLC 102
102d proprietäre Hardware der SPS 102  102d proprietary hardware of the PLC 102
102e Interface der SPS 102 für I/O-Schnittstelle 105  102e interface of the PLC 102 for I / O interface 105
102f Interface der SPS 102 zum Netzwerk 104  102f interface of the PLC 102 to the network 104
102g Steuersoftware der SPS 102  102g control software of the PLC 102
103 Mensch-Maschine-Schnittstelle der Industrieanlage 100 103 Human machine interface of industrial plant 100
104 Netzwerk der Industrieanlage 100 104 Network of Industrial Plant 100
105 I/O-Schnittstelle  105 I / O interface

Claims

Patentansprüche claims
1 . Speicherprogrammierbare Steuerung (1 ) für mindestens ein Feldgerät (101 ) in einer Industrieanlage (100), umfassend eine Hardwareplattform (2), auf der ein Betriebssystem (3) läuft, wobei das Betriebssystem (3) dazu ausgebildet ist, mindestens eine Ausführungsumgebung (51 -53), innerhalb derer eine die 1 . A programmable logic controller (1) for at least one field device (101) in an industrial plant (100), comprising a hardware platform (2) on which an operating system (3) is running, wherein the operating system (3) is adapted to at least one execution environment (51 -53), within which one the
Steuerlogik der speicherprogrammierbaren Steuerung (1 ) beinhaltende  Control logic of the programmable logic controller (1) containing
Steuersoftware (61 -63) lauffähig ist, in mindestens einem Prozess auszuführen, dadurch gekennzeichnet, dass  Control software (61-63) is executable to perform in at least one process, characterized in that
ein übergeordnetes Managementsystem (4) vorgesehen ist, welches dazu ausgebildet ist, unmittelbar auf dem Betriebssystem (3) zu laufen und eine oder mehrere Ausführungsumgebungen (51 -53) jeweils in einer eigenen Sandbox (41 - 43) auszuführen, wobei das Managementsystem (4) einen Ressourcenmanager (44) umfasst, der dazu ausgebildet ist, einer jeden Sandbox (41 -43) den Zugriff auf Arbeitsspeicher (21 ), Prozessorleistung (22) und Kommunikationsressourcen (23) der Hardwareplattform (2) zuzuteilen.  a higher-level management system (4) is provided, which is designed to run directly on the operating system (3) and to execute one or more execution environments (51-53) each in its own sandbox (41-43), the management system (4 ) comprises a resource manager (44) adapted to allocate to each sandbox (41-43) access to main memory (21), processor power (22) and communication resources (23) of the hardware platform (2).
2. Speicherprogrammierbare Steuerung (1 ) nach Anspruch 1 , 2. Programmable logic controller (1) according to claim 1,
dadurch gekennzeichnet, dass  characterized in that
das Managementsystem (4) einen Redundanzmanager (45) aufweist, der dazu ausgebildet ist, die im Verhältnis zum Feldgerät (101 ) vorgesehene Funktionalität der Steuerung (1 ) aus mehreren redundanten Instanzen (61 -63) von  the management system (4) has a redundancy manager (45) which is designed to configure the functionality of the controller (1) provided in relation to the field device (101) from a plurality of redundant instances (61-63) of
Steuersoftware abzurufen und bereitzustellen.  To retrieve and provide control software.
3. Speicherprogrammierbare Steuerung (1 ) nach Anspruch 2, 3. Programmable logic controller (1) according to claim 2,
dadurch gekennzeichnet, dass  characterized in that
der Redundanzmanager (45) dazu ausgebildet ist, Dateneingaben vom Feldgerät (101 ) an mehrere Instanzen (61 -63) von Steuersoftware weiterzuleiten und die daraufhin von diesen Instanzen (61 -63) generierten Datenausgaben  the redundancy manager (45) is adapted to forward data inputs from the field device (101) to multiple instances (61-63) of control software and the data outputs subsequently generated by these instances (61-63)
gegeneinander zu plausibilisieren.  to plausibility against each other.
4. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 2 bis 3, 4. Programmable logic controller (1) according to one of claims 2 to 3,
dadurch gekennzeichnet, dass  characterized in that
der Redundanzmanager (45) dazu ausgebildet ist, die Funktion mehrerer Instanzen (61 -63) von Steuersoftware fortlaufend zu überwachen und bei Ausfall oder Fehlfunktion einer Instanz (61 -63) diese Instanz (61 -63), und/oder ihre the redundancy manager (45) is adapted to continuously monitor the function of multiple instances (61-63) of control software and in the event of failure or failure Malfunction of an instance (61-63) this instance (61-63), and / or its
Ausführungsumgebung (51 -53), neu zu starten, und/oder mindestens eine zusätzliche Instanz (61 -63) unter einer zusätzlichen Ausführungsumgebung (51 -53) in einer weiteren Sandbox (41 -43) zu aktivieren.  Execution environment (51-53), and / or at least one additional instance (61-63) under an additional execution environment (51-53) in another sandbox (41-43) to activate.
5. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 2 bis 4, 5. Programmable logic controller (1) according to one of claims 2 to 4,
dadurch gekennzeichnet, dass  characterized in that
der Redundanzmanager (45) dazu ausgebildet ist, die Kommunikation mehrerer Instanzen (61 -63) von Steuersoftware mit dem Feldgerät (101 ) nach einem  the redundancy manager (45) is adapted to the communication of multiple instances (61-63) of control software with the field device (101) after a
Rundlaufverfahren zu steuern.  Control concentricity method.
6. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 5, 6. Programmable logic controller (1) according to one of claims 1 to 5,
dadurch gekennzeichnet, dass  characterized in that
zur Bereitstellung ein und derselben Funktionalität der Steuerung (1 ) zwei inhaltlich verschiedene Ausführungsumgebungen (51 -53), und/oder zwei inhaltlich verschiedene Instanzen (61 -63) von Steuersoftware, vorgesehen sind.  to provide one and the same functionality of the controller (1) two contentwise different execution environments (51-53), and / or two contentwise different instances (61-63) of control software, are provided.
7. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 6, 7. Programmable logic controller (1) according to one of claims 1 to 6,
dadurch gekennzeichnet, dass  characterized in that
mindestens eine Sandbox (41 -43) eine Abstraktionsschicht (71 -73) enthält, die auf von der Ausführungsumgebung (51 -53) ausgehende Systemaufrufe in gleicher Weise reagiert wie das Betriebssystem und/oder die Hardware eines Steuergeräts (1 , 105), für das die Ausführungsumgebung (51 -53), und/oder die zugehörige Steuersoftware (61 -63), entwickelt wurde.  at least one sandbox (41-43) contains an abstraction layer (71-73) that responds to system calls originating from the execution environment (51-53) in the same way as the operating system and / or the hardware of a control device (1, 105) the execution environment (51-53), and / or associated control software (61-63) has been developed.
8. Speicherprogrammierbare Steuerung (1 ) nach Anspruch 7, 8. Programmable logic controller (1) according to claim 7,
dadurch gekennzeichnet, dass  characterized in that
die Abstraktionsschicht (71 -73) mindestens eine Laufzeitumgebung enthält, die Behandlungsroutinen für die von der Ausführungsumgebung (51 -53) ausgehenden Systemaufrufe unter Verwendung von durch das Betriebssystem (3)  the abstraction layer (71-73) contains at least one runtime environment, the handlers for the system calls originating from the execution environment (51-53) using the operating system (3)
bereitgestellten Mitteln implementiert. implemented funds.
9. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass 9. Programmable logic controller (1) according to one of claims 1 to 8, characterized in that
das Managementsystem (4) ausgebildet ist, mit Virtualisierungsfunktionen des Betriebssystems (3) für jede Sandbox (41 -43) eine eigene Userspace- Instanz zu erzeugen.  the management system (4) is designed to generate its own user-space instance with virtualization functions of the operating system (3) for each sandbox (41-43).
10. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 9, 10. Programmable logic controller (1) according to one of claims 1 to 9,
dadurch gekennzeichnet, dass  characterized in that
das Managementsystem (4) einen Hypervisor (46) enthält, der dazu ausgebildet ist, für jede Sandbox (41 -43) eine eigene virtuelle Maschine (81 -83) bereitzustellen.  the management system (4) includes a hypervisor (46) adapted to provide its own virtual machine (81-83) for each sandbox (41-43).
1 1 . Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass 1 1. Programmable logic controller (1) according to one of claims 1 to 10, characterized in that
mindestens an den Hypervisor (46) angepasste Version (51 '-53') einer  at least to the hypervisor (46) adapted version (51 '-53') of a
Ausführungsumgebung (51 -53), und/oder mindestens eine an den Hypervisor (46) angepasste Version (71 '-73') der Abstraktionsschicht (71 -73), durch den Hypervisor (46) paravirtualisiert ist.  Execution environment (51-53), and / or at least one adapted to the hypervisor (46) version (71 '-73') of the abstraction layer (71 -73), by the hypervisor (46) paravirtualisiert.
12. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 1 1 , dadurch gekennzeichnet, dass 12. Programmable logic controller (1) according to one of claims 1 to 1 1, characterized in that
der Ressourcenmanager (44) dazu ausgebildet ist, in mindestens einer ersten Sandbox (41 -43) nicht genutzte Zuteilungen für den Zugriff auf Arbeitsspeicher (21 ), Prozessorleistung (22) und/oder Kommunikationsressourcen (23) an mindestens eine zweite Sandbox (41 -43) umzuverteilen.  the resource manager (44) is configured to allocate unused allocations for accessing main memory (21), processor power (22) and / or communication resources (23) to at least one second sandbox (41-43) in at least one first sandbox (41-43). 43) redistribute.
13. Speicherprogrammierbare Steuerung (1 ) nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass 13. Programmable logic controller (1) according to one of claims 1 to 12, characterized in that
der Ressourcenmanager (44) dazu ausgebildet ist, bei einer Knappheit an  the resource manager (44) is adapted to act in the event of a shortage
Arbeitsspeicher (21 ), Prozessorleistung (22) und/oder Kommunikationsressourcen (23) nach Regeln (47a-47c) in einem Regelwerk (47) die jeweilige Ressource (21 - 23) mindestens einer ersten Sandbox (41 -43) ganz oder teilweise zu entziehen und an mindestens eine zweite Sandbox (41 -43) umzuverteilen.  Memory (21), processor power (22) and / or communication resources (23) according to rules (47a-47c) in a set of rules (47) the respective resource (21 - 23) at least a first sandbox (41-43) in whole or in part withdraw and redistribute to at least one second sandbox (41-43).
14. Speicherprogrammierbare Steuerung (1 ) nach Anspruch 13, 14. Programmable logic controller (1) according to claim 13,
dadurch gekennzeichnet, dass die Regeln (47a-47c) in dem Regelwerk entsprechend den Auswirkungen der jeweiligen Entziehung von Ressourcen (21 -23) auf die Industrieanlage (100) als Ganzes gestaffelt sind. characterized in that the rules (47a-47c) in the set of rules are graded according to the effects of the respective deprivation of resources (21-23) on the industrial plant (100) as a whole.
15. Computerprogrammprodukt, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einer speicherprogrammierbaren Steuerung (1 ), ausgeführt werden, den Computer, bzw. die Computer program product containing machine-readable instructions which, when executed on a computer and / or on a programmable logic controller (1), the computer or the
speicherprogrammierbare Steuerung, zu einer speicherprogrammierbaren Steuerung (1 ) nach einem der Ansprüche 1 -13 aufwerten.  Programmable logic controller, to a programmable logic controller (1) according to one of claims 1 to 13 upgrade.
PCT/EP2017/068270 2016-07-19 2017-07-19 Programmable logic controller with management system WO2018015454A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780044312.4A CN109478050B (en) 2016-07-19 2017-07-19 Programmable logic controller with management system
US16/249,943 US20190146450A1 (en) 2016-07-19 2019-01-17 Programmable logic controller with management system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16180149.3A EP3273314B1 (en) 2016-07-19 2016-07-19 Programmable logic controller with management system
EP16180149.3 2016-07-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/249,943 Continuation US20190146450A1 (en) 2016-07-19 2019-01-17 Programmable logic controller with management system

Publications (1)

Publication Number Publication Date
WO2018015454A1 true WO2018015454A1 (en) 2018-01-25

Family

ID=56464108

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/068270 WO2018015454A1 (en) 2016-07-19 2017-07-19 Programmable logic controller with management system

Country Status (4)

Country Link
US (1) US20190146450A1 (en)
EP (1) EP3273314B1 (en)
CN (1) CN109478050B (en)
WO (1) WO2018015454A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3444682A1 (en) * 2017-08-16 2019-02-20 Siemens Aktiengesellschaft Method for the computer-assisted coupling of a processing module into a modular technical system and modular technical system
EP3575898B1 (en) * 2018-06-01 2021-08-04 Selectron Systems AG Programmable logic controller and operating system for virtual programmable logic controller and computer program product
US11009840B2 (en) * 2019-06-19 2021-05-18 Honeywell International, Inc. Control execution environment and container based architecture
CN110427297B (en) * 2019-07-10 2023-08-04 西门子工厂自动化工程有限公司 Diagnostic information acquisition method, system, gateway and computer readable medium
DE102020116714A1 (en) * 2020-06-25 2021-12-30 Audi Aktiengesellschaft Control unit for a vehicle, system, method and motor vehicle with such a control unit
CN116700594A (en) * 2022-02-24 2023-09-05 华为技术有限公司 Storage device, storage method, computing device, and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132057A1 (en) * 2007-11-20 2009-05-21 Abb Research Ltd. Control system for controlling the movements of a plurality of mechanical units
WO2011150929A1 (en) * 2010-05-31 2011-12-08 Vestas Wind Systems A/S A computer system and method for controlling and/or monitoring a wind power plant
EP2506098A1 (en) 2011-03-31 2012-10-03 Siemens Aktiengesellschaft Assembly and method for operating an industrial automation assembly with a number of programmable automation components and a number of automation programmes
US20130339976A1 (en) * 2012-06-13 2013-12-19 Robert Bosch Gmbh Resource Management System for Automation Installations
EP2884392A1 (en) * 2013-12-13 2015-06-17 Thales Triple software redundancy fault tolerant framework architecture
WO2015124320A1 (en) 2014-02-24 2015-08-27 Abb Technology Ag Dynamic programmable logic controller for emulating a controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1243990B1 (en) * 2001-03-21 2013-10-23 ABB Research Ltd. Guidance/Control-system with a programmable logic control and a plurality of actuators and/or sensors and/or input-units and/or output-units and/or input/output-units
US7693585B2 (en) * 2004-09-30 2010-04-06 Rockwell Automation Technologies, Inc. Enabling object oriented capabilities in automation systems
CN100409128C (en) * 2006-10-17 2008-08-06 南京科远自动化集团有限公司 General industrial controller
US20150081043A1 (en) * 2013-09-19 2015-03-19 Broadcom Corporation System for Control Logic Management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090132057A1 (en) * 2007-11-20 2009-05-21 Abb Research Ltd. Control system for controlling the movements of a plurality of mechanical units
WO2011150929A1 (en) * 2010-05-31 2011-12-08 Vestas Wind Systems A/S A computer system and method for controlling and/or monitoring a wind power plant
EP2506098A1 (en) 2011-03-31 2012-10-03 Siemens Aktiengesellschaft Assembly and method for operating an industrial automation assembly with a number of programmable automation components and a number of automation programmes
US20130339976A1 (en) * 2012-06-13 2013-12-19 Robert Bosch Gmbh Resource Management System for Automation Installations
EP2884392A1 (en) * 2013-12-13 2015-06-17 Thales Triple software redundancy fault tolerant framework architecture
WO2015124320A1 (en) 2014-02-24 2015-08-27 Abb Technology Ag Dynamic programmable logic controller for emulating a controller

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Sandbox (computer security) - Wikipedia", 5 July 2016 (2016-07-05), XP055339894, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Sandbox_(computer_security)&oldid=728401459> [retrieved on 20170127] *
ANONYMOUS: "TenAsys Real-time Hypervisor", 1 August 2006 (2006-08-01), pages 1 - 11, XP055018231, Retrieved from the Internet <URL:http://www.tenasys.com/support/files/TenAsysReal-timeHypervisorBackgrounder.pdf> [retrieved on 20120202] *

Also Published As

Publication number Publication date
CN109478050A (en) 2019-03-15
US20190146450A1 (en) 2019-05-16
EP3273314A1 (en) 2018-01-24
EP3273314B1 (en) 2023-08-30
CN109478050B (en) 2022-05-24

Similar Documents

Publication Publication Date Title
WO2018015454A1 (en) Programmable logic controller with management system
EP2325708B1 (en) Real-time run-time system and functional module for such a run-time system
EP2506098B1 (en) Assembly and method for operating an industrial automation assembly with a number of programmable automation components and a number of automation programmes
DE102009019088A1 (en) Safety controller for controlling an automated system and method for creating a user program for a safety controller
EP2422244B1 (en) Safety-related control unit, and method for controlling an automated system
EP2732347B1 (en) Method and system for the dynamic distribution of program functions in distributed control systems
EP2422248B1 (en) System and method for distributing project data of a safety controller of an automated system to the control components
DE102006052757A1 (en) Automation device for use with engineering system, has processing unit i.e. cell processor, provided with processing cores for controlling, monitoring and/or influencing technical processes, where processing cores execute operating systems
DE102006051188A1 (en) Interconnection system for asynchronously interconnecting communication components of e.g. web application, has communication components interconnected such that application and/or components are adapted to effective operational environment
WO2015124320A1 (en) Dynamic programmable logic controller for emulating a controller
EP1673696B1 (en) Method and device for operating a secondary operating system auxiliary to a primary operating system
WO2011035881A1 (en) Method for providing safety functions
DE102004011201B4 (en) Method for managing and monitoring the operation of multiple distributed in at least one communication network integrated hardware and / or software systems and system for performing the method
EP3679431B1 (en) Method for operating an application program for executing in an electric control unit for a drive system, electric control unit, drive system and system
EP2998805A1 (en) Method and device for generation of a function block for the monitoring of an industrial automation assembly
EP2216695B1 (en) Method for operating an automation system, corresponding computer program and system or device working according to the method
EP3798878A1 (en) System and method for secure execution of an automation program in a cloud computation environment
DE102005053275B4 (en) Highly available computer network system
DE102021130836A1 (en) Computer system for automation technology
EP2998806A1 (en) Method and device for generation of program code for the monitoring of a function of an industrial automation component
DE10012557A1 (en) Software components accessing
DE102019217618A1 (en) Industrial control system in automation technology to reduce the damage caused by executing malware
EP3502812A1 (en) Display of symbols to references in a debugger for industrial automation components
EP2482154A1 (en) Method and operating device for operating a security-oriented industrial automation component
EP3032363A1 (en) Method for operating an automation device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17748681

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17748681

Country of ref document: EP

Kind code of ref document: A1