WO2013139623A1 - Method for operating a process and/or production plant, control device of such a plant and module for the control device - Google Patents
Method for operating a process and/or production plant, control device of such a plant and module for the control device Download PDFInfo
- Publication number
- WO2013139623A1 WO2013139623A1 PCT/EP2013/054721 EP2013054721W WO2013139623A1 WO 2013139623 A1 WO2013139623 A1 WO 2013139623A1 EP 2013054721 W EP2013054721 W EP 2013054721W WO 2013139623 A1 WO2013139623 A1 WO 2013139623A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control
- control device
- coprocessor
- main processor
- signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15125—Multiple kernels
Definitions
- the invention relates to a method for operating a process and / or production plant by means of a control device and a correspondingly designed for this control device.
- the invention also includes a module that can be retrofitted in the control device.
- a control device of the type mentioned is known, for example, from the company Siemens under the product name "SIMATIC S7-400."
- Control devices of this type make it possible to regulate the operating variables of individual units of a plant, for example, conveyors, filling plants or rollers, or even the aggregates themselves
- the control device of such a system can be accommodated on a rack, eg in a control cabinet, and connected to the periphery via an external communication bus, for example according to the Profinet standard
- the control unit receives the input signals relating to the instantaneous operating variables of the system via the external communication bus
- These input signals can be used, for example, to measure signals from the sensor purity, such as light barriers or temperature sensors, be.
- Other operating variables are the state variables of the individual units, which can also be transmitted from the control units thereof via the communication bus to the control device.
- control device determines whether the actuators and units of the plant are to be set by control signals, for example, to keep the production process running in the plant. These control signals can then be transmitted again via the external communication bus to the actuators or units.
- control loops which must be implemented to coordinate all actuators and units in the large system together, can be so large that the computing power of the control device is not sufficient for this.
- the entirety of the control loops is also referred to here as basic automation.
- it is provided, for example, in the S7-400, to couple several processors together.
- the use of multiple processors within a control device leads to a relatively expensive to produce circuit.
- processors that are equipped with multiple processor cores and therefore require the same amount of wiring on a board as a single processor. But if you want to increase the computing power of such a circuit even further, so circuit complexity multiplied to have more processors for the calculation of the control signals available.
- An object of the present invention is to operate a process and / or manufacturing plant economically.
- the control device has, in the manner known per se, an interface module which is set up to receive input signals relating to instantaneous operating variables of the system at a signal input and to output actuating signals to control and positioning units of the system at a control output. It may be at the
- Interface module for example, a board with a CPU used in today's control devices (Central Processing Unit, processor) act. These are used in today's control devices for a so-called memory-programmed control of a plant.
- CPU Central Processing Unit
- the control device now additionally has a device designated here as coprocessor device.
- This comprises at least one coprocessor, which has a multiplicity of computing cores.
- a computing kernel in contrast to a full-fledged processor, and in particular a processor core, is meant that it is an electronic circuit which is set up exclusively for carrying out a limited number of arithmetic operations.
- the computing cores of the coprocessor may, for example, each be a computation kernel, as used in graphics processors, or a computational kernel for a vector processor or else a computational kernel for a streaming processor.
- coprocessor here means that this in contrast to a full-fledged processor is not able to autonomously manage calculation processes, for example by executing an operating system, and to prepare them for processing.
- the advantage of such a coprocessor in this case is that a large number of processor cores can be provided on a chip of a coprocessor, without requiring a particularly complicated interconnection of the coprocessor with the other components of the controller. Instead, it is only necessary to provide in the coprocessor device only a full processor, referred to herein as the main processor, and to receive with it the said input signals from the sensor devices and the equipment of the system in a memory for the coprocessor device in such a way that the Rulers can process the stored signals.
- the main processor only has to trigger the processing of the individual input signals by the computing cores, which then work independently on the stored input signals.
- the actual processing of the input signals which leads to the generation of the actuating signals or at least to intermediate variables for a further calculation of the actuating signals, is thus done by the computing cores of the coprocessors.
- the main processor is only necessary to coordinate the calculations and, if necessary, to calculate the control signals from the intermediate quantities, both of which require a relatively low computing power. So it is z.
- the processing of the input signals by a control device is characterized in detail in the following manner:
- a memory for the main processor for Controlling the coprocessors at least one specific automation rule is initially stored, which specifies how at least one of the input signals is to be calculated from at least one of the input signals.
- the automation rule is subdivided into sequential and parallel executable calculation instructions. This makes it possible, by operating the calculation cores, to execute the parallel execution of calculation rules in a very short time.
- At least one of the operating variables of the system can be adjusted to a respective, predetermined desired value.
- an automation regulation can be used to implement a PID controller, preferably a loop-in PID controller, for the operating variable.
- PID controller here also every subclass is meant, so about a PI controller.
- a model-predictive control of an operating variable is carried out by operating at least one of the calculation cores.
- calculation cores are optimized for carrying out certain arithmetic operations, it can be achieved by an appropriate choice of the calculation cores that such a very compute-intensive model predictive control can also be implemented within the control device and not, as in the prior art, an external personal computer be provided got to.
- scheduling optimization determines whether and when certain aggregates of the plant are to be switched on or off and / or in which state the aggregates are to be operated.
- the aggregate state usually depends on the production sequence.
- the optimization of the aggregate states or the production sequence can take place, for example, according to criteria of the costs, whereby also production-related Boundary conditions can be taken into account.
- boundary conditions can be, for example, that for quality reasons, certain products must be produced one after the other.
- Such a scheduling optimization is usually based on a mathematical optimization problem that can only be solved with very computationally intensive methods.
- the model predictive control and the scheduling optimization each include both a mathematical model of the plant and a predetermined cost function to be minimized. Based on these two, a solution to an optimization problem is determined prior to operation of the plant by an engineering station or in operation by the main processor. The solution is divided into sequential and parallel computation rules, the former being executed by the main processor and the latter by the cores. A corresponding division is also carried out for control loops, wherein the parallel-executable calculation instructions of the automation rule in this case preferably include matrix ector multiplications.
- the control device As soon as the automation regulations are stored in the control device according to the invention, it is ready to carry out basic automation and / or process control for a system.
- the received input signals are transmitted to the coprocessor device.
- the control signals for example. calculates the PID control from the cores according to the automation rules. Subsequently, calculated control signals are transmitted to the control output of the control device.
- the invention thus has the advantage that on the basis of a large number of computing cores, a control device with a computing power can be provided, which is also sufficient for a control of a large system and even for their process control. Nevertheless, the circuit complexity for realizing the circuit boards for the control device very low. This is achieved by not increasing the computing power on the basis of an external personal computer or on the basis of a multiprocessor system, but by providing only a large number of processor cores. In order to be able to operate these calculation cores in the control device, only one or a few processors are required for controlling the calculation cores.
- SIMD SIMD - Single Instruction Multiple Data
- a SIMD method SIMD - Single Instruction Multiple Data
- many of the described automation instructions can be formulated in a way that allows a large number of data to be processed using the same calculation rules.
- the calculation time needed to calculate an actuating signal from the input signals can be further reduced by means of the SIMD method.
- a short response time is very important in the field of plant control because otherwise the aggregates can not react fast enough to changes in the process flow.
- a further preferred embodiment of the invention provides that the processor of the coprocessor device, which controls the calculation cores, executes a real-time operating system.
- a real-time operating system has the advantage that it has a predeterminable response time, so that the coprocessor device respects this response time with respect to the calculation of the actuating signals.
- the coprocessor device in the control device behaves deterministically in such a way that unforeseen delays in the provision of the actuating signals do not occur, since the time duration from receiving a specific input signal to outputting the associated actuating signal is within a predetermined cycle time.
- cycle time is meant the period of the control cycles.
- a further advantage of the invention is that a user does not have to be familiar in any particular way with the elaboration of the automation instructions for the individual processor cores in order to be able to operate the control device according to the invention.
- an operating device of the system also called engineering station
- a specification of an automation solution designates a data record which the user of the operating device specifies and which describes how the units of the installation are to be operated, a production process (for example bottling) or another process (for example operation) a power plant) in the desired manner by the control device.
- the automation solution is then divided by a corresponding processing unit of the operating device into the individual automation instructions. These are then transmitted to the control device, where they are stored in the manner described for programming the calculation cores in a memory.
- a user can typically combine individual process control elements, such as a particular controller loop, at the operator to set the specification, according to his needs, ultimately resulting in the overall specification.
- the individual process control elements themselves do not change. Therefore, appropriate automation regulations can be provided in advance for the individual elements. If a user has therefore ended the specification of a particular automation solution, ie if a combination of the individual elements of the process control desired by the user is certain, then this specification can then be simply inserted, for example, into the automation system. tion rules are divided by the respective automation regulations are transmitted to the individual elements to the control device.
- the coprocessor With regard to the configuration of the coprocessor device, provision can be made for the coprocessor to be mounted on a common board with a processor or processors of the coprocessor
- Interface module is arranged. It is even possible to integrate the coprocessor device in such a processor of the interface module. This is possible, for example, by using a corresponding IP core (IP - intellectual property) in the production of the interface module.
- IP core IP - intellectual property
- the main processor of the coprocessor device which controls the coprocessor may then be a processor of the interface module.
- a particularly preferred embodiment of the control device provides that the coprocessor device is designed as a retrofittable module of the control device.
- the main processor of the coprocessor device is then coupled via an internal communication bus of the control device to the interface module of the control device.
- This embodiment has the advantage that the control device itself can be produced at a relatively low price and that the additional computing power provided by the coprocessor device can only be purchased by a user of the control device if necessary. In addition, it is not necessary to develop different models of the control device with correspondingly different computing powers.
- the invention also encompasses a corresponding module of a control device of a process and / or production plant.
- the module according to the invention has a bus interface, which is designed to exchange signals with an internal communication bus of the control device.
- the module as described, at least one coprocessor provided, which has a plurality of computing cores.
- the main processor is also provided on the module, which receives the input signals via the bus interface and stores them in a memory of the module.
- the main processor then the computing cores are driven in the manner described and thereby carried out a calculation of the control signals from stored input signals using the computing cores.
- the calculated processor signals are also output via the bus interface by the main processor.
- the module according to the invention has the advantage that it also opens up the possibility of providing greater computing power in a control device of the prior art by the module being coupled to this control device via the bus interface.
- An embodiment of the module which is particularly favorable to manufacture results if at least one GPU (Graphical Processing Unit) is provided as coprocessor.
- a coprocessor can be provided as a separate chip on a board of the module or as part of another chip, for example that which also includes the processor for the control of the coprocessor.
- the described embodiments of the invention relate both to the method according to the invention and to the control device and the module.
- the single figure shows a large-scale system with a control device, which is a preferred embodiment of the control device according to the invention.
- the described components of the control device each represent individual features of the control device that are to be considered independently of one another, which also further develop the control device independently of each other and thus also include a control device. or to be regarded as part of the invention in any other than the combination shown.
- the single FIGURE shows a plant 10, which may be a Vietnameses- aläge, a process plant or a combination thereof.
- the plant may be, for example, a rolling mill and associated treatment line, a food and beverage processing plant, a paper and pulp mill, a power plant, an industrial furnace, a cement factory, a chemical plant or a refinery or a petrochemical plant.
- the system 10 comprises a process section 12, a control device 14, an engineering station designated as an operating device 16 and an operator station 18.
- the operating device 16 and the operator station 18 are optional.
- the process section 12 comprises a plurality of units, which in the figure are provided with the same reference numerals 20 for the sake of simplicity.
- an aggregate 20 can be, for example, a conveyor belt, a filling installation, a boiler, an agitator, an oven, a basin with an agitator.
- sensor devices 22 may be provided on and in the units 20, such as, for example, a temperature sensor, a camera, a current transformer, a gas sensor and further sensor units known per se for production or
- control units 24 of individual units can be designed to output an operating state of the respective unit 20 in the form of a data signal.
- this may have a controllable actuating unit 26 which acts as an actuator in dependence on an external actuating signal.
- Such an adjusting device 26 can be, for example, an electric motor, a heater, a controllable valve, a pump and / or another actuating device known per se from plant engineering.
- the control units 24 can also be controlled for switching on and off the units 20, for example.
- the process section 12 is controlled by the control device 14.
- the control device 14 can be arranged, for example, in a control cabinet in a factory in which the system 10 is constructed.
- the control device 14 may include an interface module 28, a coprocessor module 30 and a communication module 32.
- the three modules 28, 30, 32 can be coupled to each other via an internal communication bus 34, via which the three modules 28, 30, 32 can exchange data with each other.
- the interface module 28 has a signal input 34 and a control output 36. Via the signal input 34, the interface module 28 receives the signals of the sensor units 22 and the control units 24 regarding the current operating variables.
- the signal input 34 and the control output 36 can also be located on a separate further module.
- the interface module 28 is coupled to the control units 24 and the actuators 26.
- the transmission of the signals between the control device 14 and the process path 12 may be made possible by an external communication bus 38, for example a Profinet bus.
- the control device 14 is connected via the communication module 32 via a data network 40, for example an Ethernet network.
- the coprocessor module 30 represents a coprocessor device. It has a coprocessor 42, a main processor or, for short, a processor 44 and a memory 46.
- the processor 44 is connected to the internal bus 34 via a bus interface 48.
- the processor 44 and the coprocessor 42 may be implemented on a common chip or provided as separate chips on a board.
- the coprocessor module 30 may also include a plurality of co-processors 42.
- a coprocessor 42 may be a GPU.
- the coprocessor 42 more than a hundred computing cores 50, of which only a few are provided in the figure with a reference numeral.
- Each of the computation cores 50 is assigned a memory area of, for example, 10 KB (kilobytes) to several MB (megabytes) in the memory 46, which may be, for example, a random access memory (RAM).
- coprocessor 42 may be a GPU, it is not designed as a GPU, such as may be on a graphics card of a personal computer. The coprocessor 42 consumes very little electrical power relative to an ordinary GPU, and therefore also emits little waste heat to its environment. This makes it possible to operate the control device 14 in the control cabinet without providing additional cooling measures due to the use of the coprocessor module 30.
- a real-time operating system 52 can be executed, which ensures by a corresponding operating program that of the
- Interface module 28 signals can be received and stored in the memory 46.
- coprocessor 42 may be controlled by real time operating system 52.
- the operating system 52 is thereby able to process received signals stored in the memory 46 by the computing cores 50 by generating corresponding control signals by the processor 44 and sending them to the coprocessor.
- processor 42 are output, in the memory areas 50 work programs are stored for the individual cores, which each represent an automation rule.
- the operation of the control device 14 is carried out by the operating device 16, which may be a workstation computer, for example.
- the operating device 16 a user specifies an automation solution, which in the case of a specification of PID controllers, for example, can be in the form of a CFC (continuous function chart).
- CFC continuous function chart
- Other graphical or text-based specification possibilities are also possible, as are known per se from the prior art, or a specification of a solution to a MPC problem (MPC model-predictive control).
- the operation programs for the calculation cores 50 were automatically generated by the operation device 16.
- the automatic conversion of the specification into the work programs may vary depending on the type of specification (PID controller, solution to an MPC problem).
- PID controller solution to an MPC problem
- corresponding algorithms for the parallelization of programming problems can be used.
- the created work programs have been transmitted from the operating device 16 via the network 40 and the communication module 32 to the processor 44, whose operating system 52 has then stored the work programs in the memory 46.
- the measured values of the sensor units 22 and the process variables of the control units 24 are cyclically transferred via the bus 38 to the interface module 28.
- This transmits the measured values and process variables as received signals via the internal bus 34 to the processor 44, where they pass through the operating system 52 are also stored in the memory 46.
- the input signals stored for the current control cycle are then stored in the coprocessor module 30
- the operating system 52 processes the coprocessor 42 in such a way that the computing cores 50 process the measured values and process variables in the memory 46 in accordance with the work programs assigned to them and thereby generate intermediate variables of actuating signals for the actuating devices 26.
- the intermediate values are then read out of the memory 46 to the processor 44 and combined by the processor 44 into desired setting signals by executing a sequentially executed part of the respective work programs and transmitted via the internal bus 34 back to the interface module 28 where they are output at the control output 36 and the bus 38 to the control devices 24 and adjusting devices 26 are supplied.
- the coprocessor module 30 By means of the coprocessor module 30, such a large computing power is provided in the control device 14 that it is also a process control, in particular a quality or throughput optimization, even if the system 10 is a large-scale system should be implemented, these automation tasks must be performed by the control device 14 itself and not by an external PC. Since the co-processor device 30 provides one or more coprocessors 42, for example GPUs, and these are operated by the real-time operating system 52 through a real-time capable system consisting of the processor 44, this automation task can also be performed in an industrial environment Environment (small space, little cooling options) to realize.
- an industrial environment Environment small space, little cooling options
- coprocessor module 30 may also be provided to integrate a coprocessor 54 into the interface module 28.
- the first example describes the implementation of a large number of single-loop PID controllers.
- the PID controller structure is first specified in the operating device 16 as CFC plan, as also known from the prior art.
- the user may hereby choose to execute the specified PID controller structure on the coprocessor module 30.
- the operating device 16 is caused to combine the plurality of PID controllers on the coprocessor module 30.
- Each of the PID controllers defines the interaction of a sensor device 22 or a control device 24 with an actuating device 26 or a control device 24.
- a single arithmetic core 50 of the coprocessor 42 can image more than one PID controller.
- the distribution of how many PID controllers are assigned to a computer core 50 can be automatic and can be done, for example, as a function of the clock rate with which the individual PID controllers are supplied with the input signals or with which their control signals are output.
- the second example concerns a model predictive control.
- the associated MPC controller calculates optimized manipulated variables for a large number of operating variables to be controlled.
- the values of the operating variables are predicted in a prediction time window using a model for the process to be controlled.
- the control signals are calculated taking into account given boundary conditions for the current control cycle.
- linear process models can be used which simulate the processes in the process section with sufficient accuracy. Parameters of the process models can be fixed or identified on the basis of measured values. In today's control devices, the use of MPC control is usually not possible.
- the optimized manipulated variables must be determined by solving an optimization problem for a cost function, the optimization problem typically being formulated as an optimization problem of quadratic programming (QP) is.
- QP quadratic programming
- Control device 14 itself is possible.
- a program is also stored in the memory 46 which, when executed by the processor 44 causes a corresponding processing of the data.
- the third example concerns a scheduling optimization for the production planning of the entire plant 10.
- the scheduling optimizer optimizes when which aggregates are to be switched on or off or in which state the aggregates are to be operated. As already described, the optimization of the states of aggregation or of the production sequence takes place according to criteria of plant optimization and can take into account production-related boundary conditions.
- the coprocessor module 30 makes it possible to solve the optimization problem underlying a scheduling optimization of a cost function with a sufficiently high computing speed during operation of the system.
- MILP problem mixed-integer linear programming problem
- the respective current solution of the scheduling problem is visualized, ie it is displayed when which unit is activated or deactivated according to the current state of the solution or when which production steps are carried out.On the operator status 18 can then marginal conditions during operation of the system 10
- the production sequence can be changed, for example, the production sequence can be changed because, for example, the production sequence can be changed certain means of production are not yet available.
- the mentioned boundary conditions are transmitted to the coprocessor module 30 via the network 40 again. There they will be considered in a next calculation cycle of the scheduling optimization.
- the coprocessor 42 itself need not necessarily be real-time capable. Nevertheless, due to the large computing power, which is realized by the totality of the calculation cores 50, there is a quasi-deterministic reaction behavior. In other words, it is also possible in the coprocessor 42 to provide corresponding control signals to the input signals within a predetermined maximum reaction time. By choosing a corresponding number of calculation cores 50, it is possible to achieve response times by means of the coprocessor 42 within a few microseconds to milliseconds.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Description
Beschreibung description
Verfahren zum Betreiben einer Prozess- und/oder Fertigungsanlage, Steuervorrichtung einer solchen Anlage und Modul für die Steuervorrichtung Method for operating a process and / or production plant, control device of such a plant and module for the control device
Die Erfindung betrifft ein Verfahren zum Betreiben einer Prozess- und/oder Fertigungsanlage mittels einer Steuervorrichtung sowie eine entsprechend dafür ausgelegte Steuervorrichtung. Zu der Erfindung gehört auch ein Modul, das in der Steuervorrichtung nachrüstbar ist. The invention relates to a method for operating a process and / or production plant by means of a control device and a correspondingly designed for this control device. The invention also includes a module that can be retrofitted in the control device.
Eine Steuervorrichtung der genannten Art ist beispielsweise unter dem Produktnamen „SIMATIC S7-400" von dem Unternehmen Siemens bekannt. Steuervorrichtungen dieser Art ermöglichen es, Betriebsgrößen einzelner Aggregate einer Anlage einzuregeln, also beispielsweise von Förderbändern, Abfüllanlagen oder Walzen, oder auch die Aggregate selbst zu schalten, um sie beispielsweise immer dann abzuschalten, wenn sie nicht benötigt werden. Die Steuervorrichtung einer solchen Anlage kann an einem Baugruppenträger z.B. in einem Schaltschrank untergebracht sein und über einen externen Kommunikationsbus, beispielsweise gemäß dem Standard Profinet mit der Peripherie verbunden sein, also mit den Steuereinheiten der Aggregate selbst oder mit Sensor- und Stelleinheiten an der Anlage. Über den externen Kommunikationsbus empfängt die Steuervorrichtung dann die Eingangssignale betreffend momentane Betriebsgrößen der Anlage. Diese Eingangssignale können beispielsweise Messsignale der Sensoreinheiten, wie etwa Lichtschranken oder Temperaturfühlern, sein. Andere Betriebsgrößen sind die Zustandsgrößen der einzelnen Aggregate, die von deren Steuereinheiten ebenfalls über den Kommunikationsbus an die Steuervorrichtung übertragen werden können . A control device of the type mentioned is known, for example, from the company Siemens under the product name "SIMATIC S7-400." Control devices of this type make it possible to regulate the operating variables of individual units of a plant, for example, conveyors, filling plants or rollers, or even the aggregates themselves For example, the control device of such a system can be accommodated on a rack, eg in a control cabinet, and connected to the periphery via an external communication bus, for example according to the Profinet standard The control unit then receives the input signals relating to the instantaneous operating variables of the system via the external communication bus These input signals can be used, for example, to measure signals from the sensor purity, such as light barriers or temperature sensors, be. Other operating variables are the state variables of the individual units, which can also be transmitted from the control units thereof via the communication bus to the control device.
Zu den Betriebsgrößen wird durch die Steuervorrichtung auf der Grundlage von Regelschleifen oder einer übergeordneten Prozesssteuerungsvorschrift ermittelt, wie die Stelleinheiten und Aggregate der Anlage durch Stellsignale zu stellen sind, um z.B. den Fertigungsprozess in der Anlage am Laufen zu halten. Diese Stellsignale können dann wieder über den externen Kommunikationsbus zu den Stelleinheiten bzw. Aggregaten übertragen werden . For the operating variables is determined by the control device on the basis of control loops or a higher-level process control regulation, as the actuators and units of the plant are to be set by control signals, for example, to keep the production process running in the plant. These control signals can then be transmitted again via the external communication bus to the actuators or units.
Bei Großanlagen kann sich das Problem ergeben, die Gesamtanzahl der Regelschleifen, die realisiert werden muss, um sämtliche Stelleinheiten und Aggregate in der Großanlage miteinander zu koordinieren, derart groß sein kann, dass die Rechenleistung der Steuervorrichtung hierfür nicht ausreicht. Die Gesamtheit der Regelschleifen wird hier auch als Basisautomatisierung bezeichnet. Um eine Basisautomatisierung einer Großanlage mittels einer Steuervorrichtung ermöglichen zu können, ist beispielsweise bei der S7-400 vorgesehen, mehrere Prozessoren miteinander zu koppeln. Die Verwendung mehrerer Prozessoren innerhalb einer Steuervorrichtung führt aber zu einer verhältnismäßig aufwendig herzustellenden Schaltung. Zwar gibt es bereits Prozessoren, die mit mehreren Prozessorkernen ausgestattet und deshalb den gleichen Verdrahtungsaufwand auf einer Platine wie ein einziger Prozessor erfordern. Möchte man aber die Rechenleistung einer solchen Schaltung noch weiter steigern, so vervielfacht sich Schaltungsaufwand, um weiteren Prozessoren für die Berechnung der Stellsignale zur Verfügung zu haben . In large systems, the problem may arise, the total number of control loops, which must be implemented to coordinate all actuators and units in the large system together, can be so large that the computing power of the control device is not sufficient for this. The entirety of the control loops is also referred to here as basic automation. In order to enable a basic automation of a large system by means of a control device, it is provided, for example, in the S7-400, to couple several processors together. However, the use of multiple processors within a control device leads to a relatively expensive to produce circuit. Although there are already processors that are equipped with multiple processor cores and therefore require the same amount of wiring on a board as a single processor. But if you want to increase the computing power of such a circuit even further, so circuit complexity multiplied to have more processors for the calculation of the control signals available.
Im Zusammenhang mit einer übergeordneten Prozesssteuerung einer Anlage, also einer Form der Anlagenoptimierung (z.B. Qualität oder Durchsatz), ist es in der Regel schon bei kleineren Anlagen nicht möglich, diese Prozesssteuerung innerhalb einer Steuervorrichtung zu realisieren. Die für die Lösung des Optimierungsproblems benötigte Rechenleistung wird deshalb auf einem separaten, externen Personalcomputer durchgeführt, der in der Regel über eine so genannte OPC- Schnittstelle (OPC - OLE für die Prozesssteuerung; OLE - Ob- ject Linking and Embedding, Objekt-Verknüpfung und - Einbettung) an die Steuervorrichtung angekoppelt ist. Auch die Verwendung eines externen Personalcomputers für die Entlastung einer Steuervorrichtung führt aber aufgrund der zu- sätzlichen Verdrahtung zu einem erhöhten Aufwand für die Bereitstellung der Prozesssteuerung. In connection with a higher-level process control of a plant, ie a form of plant optimization (eg quality or throughput), it is usually not possible even with smaller plants to realize this process control within a control device. The computational power required to solve the optimization problem is therefore performed on a separate, external personal computer, usually via a so-called OPC interface (OPC - OLE for process control, OLE - Object Linking and Embedding, object linking and - Embedding) is coupled to the control device. However, the use of an external personal computer for relieving a control device also leads, on account of the additional wiring at an increased expense for the provision of process control.
Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Prozess- und/oder Fertigungsanlage wirtschaftlich betreiben zu können . An object of the present invention is to operate a process and / or manufacturing plant economically.
Die Aufgabe wird durch ein Verfahren gemäß Patentanspruch 1, eine Steuervorrichtung gemäß Patentanspruch 9 sowie ein Modul gemäß Patentanspruch 11 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind durch die Unteransprüche gegeben. The object is achieved by a method according to claim 1, a control device according to claim 9 and a module according to claim 11. Advantageous developments of the invention are given by the dependent claims.
Die erfindungsgemäße Steuervorrichtung weist in der an sich bekannten Weise ein Schnittstellenmodul auf, welches dazu eingerichtet ist, an einem Signaleingang Eingangssignale betreffend momentane Betriebsgrößen der Anlage zu empfangen und an einem Stellausgang Stellsignale an Stell- und Steuereinheiten der Anlage auszugeben. Es kann sich bei dem The control device according to the invention has, in the manner known per se, an interface module which is set up to receive input signals relating to instantaneous operating variables of the system at a signal input and to output actuating signals to control and positioning units of the system at a control output. It may be at the
Schnittstellenmodul beispielsweise um eine Platine mit einer auch in heutigen Steuervorrichtungen verwendeten CPU (Central Processing Unit, Prozessor) handeln. Diese werden bei heutigen Steuervorrichtungen für eine so genannte speicherprogrammierte Steuerung einer Anlage verwendet. Interface module, for example, a board with a CPU used in today's control devices (Central Processing Unit, processor) act. These are used in today's control devices for a so-called memory-programmed control of a plant.
Die erfindungsgemäße Steuervorrichtung weist nun zusätzlich eine hier als Koprozessoreinrichtung bezeichnete Einrichtung auf. Diese umfasst zumindest einen Koprozessor, der eine Vielzahl von Rechenkernen aufweist. Mit einem Rechenkern ist hierbei im Unterschied zu einem vollwertigen Prozessor, und insbesondere einem Prozessorkern, gemeint, dass es sich um eine elektronische Schaltung handelt, die ausschließlich zum Durchführen einer begrenzten Anzahl arithmetischer Operationen eingerichtet ist. Bei den Rechenkernen des Koprozessors kann es sich beispielsweise jeweils um einen Rechenkern handeln, wie er in Grafikprozessoren verwendet wird, oder um einen Rechenkern für einen Vektorprozessor oder auch einen Rechenkern für einen Streaming-Prozessor. Die Bereitstellung als Koprozessor bedeutet hierbei, dass dieser im Gegensatz zu einem vollwertigen Prozessor nicht in der Lage ist, selbständig Berechnungsprozesse beispielsweise durch Ausführen eines Betriebssystems zu verwalten und für die Verarbeitung vorzubereiten. Der Vorteil eines solchen Koprozessors ist hierbei, dass auf einem Chip eines Koprozessors eine große Anzahl von Rechenkernen bereitgestellt werden kann, ohne dass es hierbei einer besonders aufwendigen Verschaltung des Koprozessors mit den übrigen Komponenten der Steuervorrichtung bedarf. Stattdessen ist es lediglich nötig, in der Koprozessoreinrichtung nur einen vollwertigen Prozessor, hier als Hauptprozessor bezeichnet, bereitzustellen und mit diesem die besagten Eingangssignale von den Sensoreinrichtungen und den Aggregaten der Anlage zu empfangen in einem Speicher für die Koprozessoreinrichtung in der Weise zu speichern, dass die Rechenkerne die gespeicherten Signale verarbeiten können. Danach muss der Hauptprozessor lediglich die Verarbeitung der einzelnen Eingangssignale durch die Rechenkerne auslösen, die dann selbständig auf den gespeicherten Eingangssignalen arbeiten. Die eigentliche Verarbeitung der Eingangssignale, die zum Erzeugen der Stellsignale oder zumindest zu Zwischengrößen für eine weitere Berechnung der Stellsignale führt, wird also durch die Rechenkerne der Koprozessoren erledigt. Der Hauptprozessor ist nur zum Koordinieren der Berechnungen und gegebenenfalls zum Berechnen der Stellsignale aus den Zwischengrößen nötig, was beides eine verhältnismäßig geringe Rechenleistung erfordert. So ist es z. B. möglich, einen Koprozes- sor mit 16 oder mehr Rechenkernen, insbesondere mit mehr als 100 Rechenkernen, mit einem diesen Koprozessor steuernden Hauptprozessor in einer Koprozessoreinrichtung bereitzustellen. Auch zwei oder mehr Koprozessoren lassen sich mit wenig Aufwand bereitstellen. Auf diese Weise ist es möglich, mit nur einem oder in besonderen Fällen einigen wenigen vollwertigen Hauptprozessoren ein Vielfaches der Rechenleistung eines Multiprozessorsystems zu erreichen. The control device according to the invention now additionally has a device designated here as coprocessor device. This comprises at least one coprocessor, which has a multiplicity of computing cores. By a computing kernel, in contrast to a full-fledged processor, and in particular a processor core, is meant that it is an electronic circuit which is set up exclusively for carrying out a limited number of arithmetic operations. The computing cores of the coprocessor may, for example, each be a computation kernel, as used in graphics processors, or a computational kernel for a vector processor or else a computational kernel for a streaming processor. The provision as coprocessor here means that this in contrast to a full-fledged processor is not able to autonomously manage calculation processes, for example by executing an operating system, and to prepare them for processing. The advantage of such a coprocessor in this case is that a large number of processor cores can be provided on a chip of a coprocessor, without requiring a particularly complicated interconnection of the coprocessor with the other components of the controller. Instead, it is only necessary to provide in the coprocessor device only a full processor, referred to herein as the main processor, and to receive with it the said input signals from the sensor devices and the equipment of the system in a memory for the coprocessor device in such a way that the Rulers can process the stored signals. Thereafter, the main processor only has to trigger the processing of the individual input signals by the computing cores, which then work independently on the stored input signals. The actual processing of the input signals, which leads to the generation of the actuating signals or at least to intermediate variables for a further calculation of the actuating signals, is thus done by the computing cores of the coprocessors. The main processor is only necessary to coordinate the calculations and, if necessary, to calculate the control signals from the intermediate quantities, both of which require a relatively low computing power. So it is z. For example, it is possible to provide a coprocessor with 16 or more arithmetic cores, in particular with more than 100 arithmetic cores, with a main processor controlling this coprocessor in a coprocessor device. Two or more coprocessors can be provided with little effort. In this way, it is possible to achieve a multiple of the computing power of a multiprocessor system with only one or in special cases a few full main processors.
Die Verarbeitung der Eingangssignale durch eine erfindungsge- mäße Steuervorrichtung zeichnet sich im einzelnen in folgender Weise aus: In einem Speicher für den Hauptprozessor zum Steuern der Koprozessoren wird zunächst zumindest eine bestimmte Automatisierungsvorschrift gespeichert, die angibt, wie aus wenigstens einem der Eingangssignale wenigstens eines der Stellsignale zu berechnen ist. Die Automatisierungsvorschrift ist in sequentiell und parallel ausführbare Berechnungsvorschriften unterteilt. Hierdurch wird es ermöglicht, durch Betreiben der Rechenkerne die parallel ausführbaren Berechnungsvorschriften in sehr kurzer Zeit auszuführen. The processing of the input signals by a control device according to the invention is characterized in detail in the following manner: In a memory for the main processor for Controlling the coprocessors, at least one specific automation rule is initially stored, which specifies how at least one of the input signals is to be calculated from at least one of the input signals. The automation rule is subdivided into sequential and parallel executable calculation instructions. This makes it possible, by operating the calculation cores, to execute the parallel execution of calculation rules in a very short time.
Gemäß der Automatisierungsvorschrift kann so beispielsweise zumindest eine der Betriebsgrößen der Anlage auf einen jeweiligen, vorgegebenen Sollwert einzuregeln. Insbesondere kann durch eine Automatisierungsvorschrift ein PID-Regler, bevorzugt einschleifiger PID-Regler, für die Betriebsgröße realisiert sein. Mit PID-Regler ist hierbei auch jede Unterklasse gemeint, also etwa ein PI-Regler. Genauso kann durch eine entsprechende Automatisierungsvorschrift erreicht werden, dass durch Betreiben zumindest eines der Rechenkerne eine mo- dellprädiktive Regelung einer Betriebsgröße durchgeführt wird. Da die Rechenkerne für das Ausführen bestimmter arithmetischer Operationen optimiert sind, kann durch eine entsprechende Wahl der Rechenkerne erreicht werden, dass eine solche sehr rechenintensive modellprädiktive Regelung auch innerhalb der Steuervorrichtung realisierbar ist und hierzu nicht, wie im Stand der Technik, ein externer Personalcomputer bereitgestellt werden muss. According to the automation rule, for example, at least one of the operating variables of the system can be adjusted to a respective, predetermined desired value. In particular, an automation regulation can be used to implement a PID controller, preferably a loop-in PID controller, for the operating variable. With PID controller here also every subclass is meant, so about a PI controller. In the same way, it can be achieved by a corresponding automation rule that a model-predictive control of an operating variable is carried out by operating at least one of the calculation cores. Since the calculation cores are optimized for carrying out certain arithmetic operations, it can be achieved by an appropriate choice of the calculation cores that such a very compute-intensive model predictive control can also be implemented within the control device and not, as in the prior art, an external personal computer be provided got to.
Es ist sogar möglich, durch Ausführen einer entsprechenden Automatisierungsvorschrift eine so genannte Scheduling- Optimierung zu realisieren, wie sie bisher ausschließlich in den beschriebenen externen Personalcomputern realisiert werden konnte. Eine solche Scheduling-Optimierung legt fest, ob und wann bestimmte Aggregate der Anlage zu- oder abgeschaltet werden und/oder in welchem Zustand die Aggregate betrieben werden sollen. Der Aggregat-Zustand hängt dabei in der Regel mit der Produktionsfolge zusammen. Die Optimierung der Aggre- gate-Zustände bzw. der Produktionsfolge kann dabei z.B. nach Kriterien der Kosten erfolgen, wobei auch produktionsbedingte Randbedingungen berücksichtigt werden können. Solche Randbedingungen können beispielsweise darin bestehen, dass aus Qualitätsgründen bestimmte Produkte nacheinander produziert werden müssen. Einer solchen Scheduling-Optimierung liegt in der Regel ein mathematisches Optimierungsproblem zugrunde, das nur mit sehr rechenaufwendigen Methoden gelöst werden kann. It is even possible to implement so-called scheduling optimization by executing a corresponding automation rule, as it was hitherto possible to implement exclusively in the described external personal computers. Such scheduling optimization determines whether and when certain aggregates of the plant are to be switched on or off and / or in which state the aggregates are to be operated. The aggregate state usually depends on the production sequence. The optimization of the aggregate states or the production sequence can take place, for example, according to criteria of the costs, whereby also production-related Boundary conditions can be taken into account. Such boundary conditions can be, for example, that for quality reasons, certain products must be produced one after the other. Such a scheduling optimization is usually based on a mathematical optimization problem that can only be solved with very computationally intensive methods.
Die modellprädiktive Regelung und die Scheduling-Optimierung umfassen jeweils sowohl ein mathematisches Modell der Anlage als auch eine vorbestimmte, zu minimierenden Kostenfunktion. Auf Grundlage dieser beiden wird eine Lösung für ein Optimierungsproblem vor einem Betrieb der Anlage durch eine Engineering-Station oder im Betrieb durch den Hauptprozessor ermittelt. Die Lösung wird in sequenziell und parallel ausführbaren Berechnungsvorschriften unterteilt, von denen erstere durch den Hauptprozessor und letztere durch die Rechenkerne ausgeführt werden. Eine entsprechende Aufteilung wird auch für Regelschleifen durchgeführt, wobei die parallel ausführbaren Berechnungsvorschriften der Automatisierungsvorschrift hierbei bevorzugt Matrix- ektor-Multiplikationen umfassen. The model predictive control and the scheduling optimization each include both a mathematical model of the plant and a predetermined cost function to be minimized. Based on these two, a solution to an optimization problem is determined prior to operation of the plant by an engineering station or in operation by the main processor. The solution is divided into sequential and parallel computation rules, the former being executed by the main processor and the latter by the cores. A corresponding division is also carried out for control loops, wherein the parallel-executable calculation instructions of the automation rule in this case preferably include matrix ector multiplications.
Sobald sich die Automatisierungsvorschriften in der erfindungsgemäßen Steuervorrichtung gespeichert sind, ist diese bereit, eine Basisautomatisierung und/oder eine Prozesssteuerung für eine Anlage durchzuführen. Hierzu werden die empfangenen Eingangssignale an die Koprozessoreinrichtung übertragen. Dort werden dann aus den Eingangssignalen die Stellsignale für z.B. die PID-Regelung von den Rechenkernen gemäß den Automatisierungsvorschriften berechnet. Anschließend werden berechneten Stellsignale zu dem Stellausgang der Steuervorrichtung übertragen. As soon as the automation regulations are stored in the control device according to the invention, it is ready to carry out basic automation and / or process control for a system. For this purpose, the received input signals are transmitted to the coprocessor device. There are then from the input signals, the control signals for example. calculates the PID control from the cores according to the automation rules. Subsequently, calculated control signals are transmitted to the control output of the control device.
Die Erfindung weist also den Vorteil auf, dass auf der Grundlage einer großen Anzahl von Rechenkernen eine Steuervorrichtung mit einer Rechenleistung bereitgestellt werden kann, die auch für eine Regelung einer Großanlage und sogar für deren Prozesssteuerung ausreicht. Dennoch ist der Schaltungsaufwand zum Realisieren der Leiterplatten für die Steuervorrichtung sehr gering. Dies wird dadurch erreicht, dass die Rechenleistung nicht auf Grundlage eines externen Personalcomputers oder auf Grundlage eines Multiprozessorsystems vergrößert wird, sondern indem ausschließlich eine große Zahl von Rechenkernen bereitgestellt wird. Um diese Rechenkerne in der Steuervorrichtung betreiben zu können, bedarf es lediglich eines oder weniger Prozessoren zum Steuern der Rechenkerne. The invention thus has the advantage that on the basis of a large number of computing cores, a control device with a computing power can be provided, which is also sufficient for a control of a large system and even for their process control. Nevertheless, the circuit complexity for realizing the circuit boards for the control device very low. This is achieved by not increasing the computing power on the basis of an external personal computer or on the basis of a multiprocessor system, but by providing only a large number of processor cores. In order to be able to operate these calculation cores in the control device, only one or a few processors are required for controlling the calculation cores.
In Bezug auf die Wahl des Typs der Rechenkerne bei der Herstellung der Koprozessoreinrichtung wird besonders bevorzugt durch zumindest einen der Rechenkerne eine SIMD-Methode (SIMD - Single Instruction Multiple Data) realisiert. Vorteil hierbei ist, dass zum einen viele der beschriebenen Automatisierungsvorschriften in einer Weise formuliert werden können, die es erlaubt, eine Vielzahl von Daten mit den gleichen Rechenvorschriften zu prozessieren. Zudem lässt sich mittels der SIMD-Methode die Berechnungsdauer, die zum Berechnen eines Stellsignals aus den Eingangssignalen benötigt wird, noch weiter reduzieren. Eine geringe Antwortszeit ist im Bereich der Anlagenregelung sehr eine wichtige Voraussetzung, da ansonsten die Aggregate nicht schnell genug auf Änderungen im Prozessablauf reagieren können. With regard to the choice of the type of calculation cores in the production of the coprocessing device, a SIMD method (SIMD - Single Instruction Multiple Data) is particularly preferably implemented by at least one of the computing cores. The advantage here is that, on the one hand, many of the described automation instructions can be formulated in a way that allows a large number of data to be processed using the same calculation rules. In addition, the calculation time needed to calculate an actuating signal from the input signals can be further reduced by means of the SIMD method. A short response time is very important in the field of plant control because otherwise the aggregates can not react fast enough to changes in the process flow.
In diesem Zusammenhang sieht eine weitere bevorzugte Ausführungsform der Erfindung vor, dass der Prozessor der Koprozessoreinrichtung, welcher die Rechenkerne steuert, ein Echtzeitbetriebssystem ausführt. Ein solches Echtzeitbetriebssystem weist den Vorteil auf, dass es eine vorbestimmbare Antwortzeit aufweist, sodass die Koprozessoreinrichtung bezüglich der Berechnung der Stellsignale diese Antwortzeit einhält. Mit anderen Worten verhält sich die Koprozessoreinrichtung in der Steuervorrichtung in der Weise deterministisch, dass es nicht zu unvorhergesehenen Verzögerungen bei der Bereitstellung der Stellsignale kommt, da die Zeitdauer von Empfangen eines bestimmten Eingangssignals bis zur Ausgabe des zugehörigen Stellsignals innerhalb einer vorbestimmten Zykluszeit liegt. Mit Zykluszeit ist hier die Periodendauer der Regelzyklen gemeint. Ein weiterer Vorteil der Erfindung besteht darin, dass ein Benutzer nicht in besonderer Weise mit der Ausarbeitung der Automatisierungsvorschriften für die einzelnen Rechenkerne vertraut sein muss, um die erfindungsgemäße Steuervorrichtung bedienen zu können. Um diesen Vorteil zu realisieren, wird gemäß einer Ausführungsform der Erfindung an einer Bedieneinrichtung der Anlage (auch Engineering-Station genannt) lediglich eine Spezifizierung einer Prozesssteuerungs- oder Automatisierungslösung für die Anlage empfangen, wie es auch bei heutigen Steuervorrichtungen üblich ist. Eine Spezifizierung einer Automatisierungslösung bezeichnet hierbei einen Datensatz, den der Benutzer der Bedieneinrichtung festlegt und durch welchen beschrieben ist, in welcher Weise die Aggregate der Anlage zu betreiben sind, um einen Fertigungsprozess (beispielsweise das Abfüllen von Flaschen) oder einen anderen Prozess (beispielsweise den Betrieb eines Kraftwerks) in der gewünschten Weise durch die Steuerungsvorrichtung zu regeln. Auf der Grundlage der Spezifizierung wird dann die Automatisierungslösung durch eine entsprechende Verarbeitungseinheit der Bedieneinrichtung in die einzelnen Automatisierungsvorschriften aufgeteilt. Diese werden dann an die Steuervorrichtung übertragen, wo sie in der beschriebenen Weise zur Programmierung der Rechenkerne in einem Speicher abgelegt werden . In this connection, a further preferred embodiment of the invention provides that the processor of the coprocessor device, which controls the calculation cores, executes a real-time operating system. Such a real-time operating system has the advantage that it has a predeterminable response time, so that the coprocessor device respects this response time with respect to the calculation of the actuating signals. In other words, the coprocessor device in the control device behaves deterministically in such a way that unforeseen delays in the provision of the actuating signals do not occur, since the time duration from receiving a specific input signal to outputting the associated actuating signal is within a predetermined cycle time. By cycle time is meant the period of the control cycles. A further advantage of the invention is that a user does not have to be familiar in any particular way with the elaboration of the automation instructions for the individual processor cores in order to be able to operate the control device according to the invention. In order to realize this advantage, according to one embodiment of the invention, only one specification of a process control or automation solution for the system is received at an operating device of the system (also called engineering station), as is usual in today's control devices. In this case, a specification of an automation solution designates a data record which the user of the operating device specifies and which describes how the units of the installation are to be operated, a production process (for example bottling) or another process (for example operation) a power plant) in the desired manner by the control device. On the basis of the specification, the automation solution is then divided by a corresponding processing unit of the operating device into the individual automation instructions. These are then transmitted to the control device, where they are stored in the manner described for programming the calculation cores in a memory.
Ein Benutzer kann an der Bedieneinrichtung zum Festlegen der Spezifizierung in der Regel einzelne Prozesssteuerungselemen- te, wie etwa eine bestimmte Reglerschleife, nach seinen Bedürfnissen kombinieren, was schließlich die gesamte Spezifizierung ergibt. Die einzelnen Prozesssteuerungselement selbst ändern sich dabei nicht. Zu den einzelnen Elementen können deshalb bereits im Voraus entsprechende Automatisierungsvorschriften bereitgestellt werden. Hat ein Benutzer also die Spezifizierung einer bestimmten Automatisierungslösung beendet, d. h. es steht eine vom Benutzer gewünschte Kombination der einzelnen Elemente der Prozesssteuerung fest, so kann diese Spezifizierung danach z.B. einfach in die Automatisie- rungsvorschriften aufgeteilt werden, indem zu den einzelnen Elementen die jeweiligen Automatisierungsvorschriften an die Steuervorrichtung übertragen werden. A user can typically combine individual process control elements, such as a particular controller loop, at the operator to set the specification, according to his needs, ultimately resulting in the overall specification. The individual process control elements themselves do not change. Therefore, appropriate automation regulations can be provided in advance for the individual elements. If a user has therefore ended the specification of a particular automation solution, ie if a combination of the individual elements of the process control desired by the user is certain, then this specification can then be simply inserted, for example, into the automation system. tion rules are divided by the respective automation regulations are transmitted to the individual elements to the control device.
In Bezug auf die Ausgestaltung der Koprozessoreinrichtung kann vorgesehen sein, dass der Koprozessor auf einer gemeinsamen Platine mit einem Prozessor bzw. Prozessoren des With regard to the configuration of the coprocessor device, provision can be made for the coprocessor to be mounted on a common board with a processor or processors of the coprocessor
Schnittstellenmoduls angeordnet ist. Es ist sogar möglich, die Koprozessoreinrichtung in einen solchen Prozessor des Schnittstellenmoduls zu integrieren. Dies ist beispielsweise durch Verwendung eines entsprechenden IP-Cores (IP - Intel- lectual Property) bei der Herstellung des Schnittstellenmoduls möglich. Der Hauptprozessor der Koprozessoreinrichtung, der den Koprozessor steuert, kann dann ein Prozessor des Schnittstellenmodul sein. Interface module is arranged. It is even possible to integrate the coprocessor device in such a processor of the interface module. This is possible, for example, by using a corresponding IP core (IP - intellectual property) in the production of the interface module. The main processor of the coprocessor device which controls the coprocessor may then be a processor of the interface module.
Eine besonders bevorzugte Ausführungsform der erfindungsgemäßen Steuervorrichtung sieht allerdings vor, dass die Koprozessoreinrichtung als nachrüstbares Modul der Steuervorrichtung ausgebildet ist. Der Hauptprozessor der Koprozessoreinrichtung ist dann über einen internen Kommunikationsbus der Steuervorrichtung mit den Schnittstellenmodul der Steuervorrichtung gekoppelt. Diese Ausführungsform weist den Vorteil auf, dass die Steuervorrichtung selbst zu einem verhältnismäßig günstigen Preis herstellbar ist und die durch die Koprozessoreinrichtung bereitgestellte zusätzliche Rechenleistung lediglich bei Bedarf von einem Benutzer der Steuervorrichtung nachgekauft werden kann. Zudem ist es nicht nötig, unterschiedliche Modelle der Steuervorrichtung mit entsprechend unterschiedlichen Rechenleistungen zu entwickeln. However, a particularly preferred embodiment of the control device according to the invention provides that the coprocessor device is designed as a retrofittable module of the control device. The main processor of the coprocessor device is then coupled via an internal communication bus of the control device to the interface module of the control device. This embodiment has the advantage that the control device itself can be produced at a relatively low price and that the additional computing power provided by the coprocessor device can only be purchased by a user of the control device if necessary. In addition, it is not necessary to develop different models of the control device with correspondingly different computing powers.
Im Zusammenhang mit der eben beschriebenen modularen Bauweise der Steuervorrichtung ist von der Erfindung auch ein entsprechendes Modul einer Steuervorrichtung einer Prozess- und/oder Fertigungsanlage umfasst. Das erfindungsgemäße Modul weist eine Busschnittstelle auf, welche dazu ausgebildet ist, Signale mit einem internen Kommunikationsbus der Steuervorrichtung auszutauschen. Durch das Modul ist, wie beschrieben, zu- mindest ein Koprozessor bereitgestellt, welcher eine Vielzahl von Rechenkernen aufweist. Zudem ist auf dem Modul auch der Hauptprozessor bereitgestellt, welcher die Eingangssignale über die Busschnittstelle empfängt und in einem Speicher des Moduls speichert. Durch den Hauptprozessor werden dann in der beschriebenen Weise die Rechenkerne angesteuert und hierdurch eine Berechnung der Stellsignale aus gespeicherten Eingangssignalen mithilfe der Rechenkerne durchgeführt. Durch den Hauptprozessor werden schließlich auch die berechneten Stellsignale über die Busschnittstelle wieder ausgegeben. In connection with the modular construction of the control device just described, the invention also encompasses a corresponding module of a control device of a process and / or production plant. The module according to the invention has a bus interface, which is designed to exchange signals with an internal communication bus of the control device. Through the module, as described, at least one coprocessor provided, which has a plurality of computing cores. In addition, the main processor is also provided on the module, which receives the input signals via the bus interface and stores them in a memory of the module. By the main processor then the computing cores are driven in the manner described and thereby carried out a calculation of the control signals from stored input signals using the computing cores. Finally, the calculated processor signals are also output via the bus interface by the main processor.
Das erfindungsgemäße Modul weist den Vorteil auf, dass es auch die Möglichkeit eröffnet, in einer Steuervorrichtung aus dem Stand der Technik eine größere Rechenleistung bereitzustellen, indem das Modul über die Busschnittstelle mit dieser Steuervorrichtung gekoppelt wird. Eine besonders günstig herzustellende Ausführungsform des Moduls ergibt sich, wenn als Koprozessor zumindest eine GPU (Graphical Processing Unit - Grafikprozessoreinheit) bereitgestellt ist. Wie bereits beschrieben kann ein Koprozessor dabei als separater Chip auf einer Platine des Moduls oder als Bestandteil eines weiteren Chips, etwa desjenigen, der auch den Prozessor für die Steuerung des Koprozessors umfasst, bereitgestellt sein. The module according to the invention has the advantage that it also opens up the possibility of providing greater computing power in a control device of the prior art by the module being coupled to this control device via the bus interface. An embodiment of the module which is particularly favorable to manufacture results if at least one GPU (Graphical Processing Unit) is provided as coprocessor. As already described, a coprocessor can be provided as a separate chip on a board of the module or as part of another chip, for example that which also includes the processor for the control of the coprocessor.
Die beschriebenen Ausführungsformen der Erfindung beziehen sich sowohl auf das erfindungsgemäße Verfahren als auch auf die Steuervorrichtung und das Modul. The described embodiments of the invention relate both to the method according to the invention and to the control device and the module.
Im Folgenden wird die Erfindung noch einmal anhand von Ausführungsbeispielen konkreter erläutert. Dazu zeigt die einzige Figur eine Großanlage mit einer Steuervorrichtung, die eine bevorzugte Ausführungsform der erfindungsgemäßen Steuervorrichtung ist. Bei den erläuterten Beispielen stellen die beschriebenen Komponenten der Steuervorrichtung jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Steuervorrichtung dar, welche die Steuervorrichtung jeweils auch unabhängig voneinander weiterbilden und damit auch ein- zeln oder in einer anderen als der gezeigten Kombination als Bestandteil der Erfindung anzusehen sind. In the following, the invention will be explained once more in more concrete terms with reference to exemplary embodiments. For this purpose, the single figure shows a large-scale system with a control device, which is a preferred embodiment of the control device according to the invention. In the illustrated examples, the described components of the control device each represent individual features of the control device that are to be considered independently of one another, which also further develop the control device independently of each other and thus also include a control device. or to be regarded as part of the invention in any other than the combination shown.
Die einzige Figur zeigt eine Anlage 10, die eine Fertigungs- anläge, eine Prozessanlage oder auch eine Kombination daraus sein kann. Bei der Anlage kann es sich beispielsweise um ein Walzwerk und eine zugehörige Behandlungslinie, eine Anlage zum Verarbeiten von Lebensmitteln und Getränken, eine Papier- und Zellstoff-Fabrik, ein Kraftwerk, einen Industrieofen, ei- ne Zement-Fabrik, eine Chemieanlage oder eine Raffinerie oder eine petrochemische Anlage handeln. Die Anlage 10 umfasst eine Prozessstrecke 12, eine Steuervorrichtung 14, eine als Bedieneinrichtung 16 bezeichnete Engineering-Station und einen Operatorstand 18. Die Bedieneinrichtung 16 und der Opera- torstand 18 sind dabei optional. Die Prozessstrecke 12 umfasst mehrere Aggregate, die in der Figur der Einfachheit halber mit denselben Bezugszeichen 20 versehen sind. Je nach Art der Anlage kann es sich bei einem Aggregat 20 beispielsweise um ein Förderband, eine Abfüllanlage, einen Kessel, ei- ne Rühranlage, einen Ofen, ein Becken mit Rührwerk handeln. Um einen Gesamtzustand der Prozessstrecke 12 ermitteln zu können, können an und in den Aggregaten 20 Sensoreinrichtungen 22 vorgesehen sein, wie beispielsweise ein Temperaturfühler, eine Kamera, ein Stromwandler, ein Gassensor und weite- re, an sich bekannte Sensoreinheiten für Fertigungs- bzw.The single FIGURE shows a plant 10, which may be a Fertigungs- aläge, a process plant or a combination thereof. The plant may be, for example, a rolling mill and associated treatment line, a food and beverage processing plant, a paper and pulp mill, a power plant, an industrial furnace, a cement factory, a chemical plant or a refinery or a petrochemical plant. The system 10 comprises a process section 12, a control device 14, an engineering station designated as an operating device 16 and an operator station 18. The operating device 16 and the operator station 18 are optional. The process section 12 comprises a plurality of units, which in the figure are provided with the same reference numerals 20 for the sake of simplicity. Depending on the type of installation, an aggregate 20 can be, for example, a conveyor belt, a filling installation, a boiler, an agitator, an oven, a basin with an agitator. To be able to determine an overall state of the process path 12, sensor devices 22 may be provided on and in the units 20, such as, for example, a temperature sensor, a camera, a current transformer, a gas sensor and further sensor units known per se for production or
Prozessanlagen. Des Weiteren können Steuereinheiten 24 einzelner Aggregate dazu ausgelegt sein, einen Betriebszustand des jeweiligen Aggregats 20 in Form eines Datensignal auszugeben. Um den Betriebszustand eines Aggregats 20 zu ändern, kann dieses eine steuerbare Stelleinheit 26 aufweisen, das in Abhängigkeit von einem externen Stellsignal als Aktor wirkt. Eine solche Stelleinrichtung 26 kann beispielsweise ein Elektromotor, eine Heizung, ein steuerbares Ventil, eine Pumpe und/oder eine andere an sich aus der Anlagentechnik be- kannte Stelleinrichtung sein. Auch die Steuereinheiten 24 können z.B. zum An- und Abschalten der Aggregate 20 eingesteuert werden . Die Prozessstrecke 12 wird durch die Steuervorrichtung 14 gesteuert. Die Steuervorrichtung 14 kann beispielsweise in einem Schaltschrank in einer Fabrik, in welcher die Anlage 10 aufgebaut ist, angeordnet sein. Die Steuervorrichtung 14 kann ein Schnittstellenmodul 28, ein Koprozessormodul 30 und ein Kommunikationsmodul 32 aufweisen. Die drei Module 28, 30, 32 können über einen internen Kommunikationsbus 34 miteinander gekoppelt sein, über welchen die drei Module 28, 30, 32 Daten miteinander austauschen können. Bei dem in der Figur gezeigten Beispiel weist das Schnittstellenmodul 28 einen Signaleingang 34 und einen Stellausgang 36 auf. Über den Signaleingang 34 empfängt das SchnittStellenmodul 28 die Signale der Sensoreinheiten 22 und der Steuereinheiten 24 betreffend die momentanen Betriebsgrößen. Der Signaleingang 34 und der Stellausgang 36 können sich auch auf einem separaten weiteren Modul befinden. Process equipment. Furthermore, control units 24 of individual units can be designed to output an operating state of the respective unit 20 in the form of a data signal. In order to change the operating state of an aggregate 20, this may have a controllable actuating unit 26 which acts as an actuator in dependence on an external actuating signal. Such an adjusting device 26 can be, for example, an electric motor, a heater, a controllable valve, a pump and / or another actuating device known per se from plant engineering. The control units 24 can also be controlled for switching on and off the units 20, for example. The process section 12 is controlled by the control device 14. The control device 14 can be arranged, for example, in a control cabinet in a factory in which the system 10 is constructed. The control device 14 may include an interface module 28, a coprocessor module 30 and a communication module 32. The three modules 28, 30, 32 can be coupled to each other via an internal communication bus 34, via which the three modules 28, 30, 32 can exchange data with each other. In the example shown in the figure, the interface module 28 has a signal input 34 and a control output 36. Via the signal input 34, the interface module 28 receives the signals of the sensor units 22 and the control units 24 regarding the current operating variables. The signal input 34 and the control output 36 can also be located on a separate further module.
Über den Stellausgang 36 ist das Schnittstellenmodul 28 mit den Steuereinheiten 24 und den Stelleinheiten 26 gekoppelt. Die Übertragung der Signale zwischen der Steuervorrichtung 14 und der Prozessstrecke 12 kann durch einen externen Kommunikationsbus 38 ermöglicht sein, beispielsweise einen Profinet- Bus . Via the control output 36, the interface module 28 is coupled to the control units 24 and the actuators 26. The transmission of the signals between the control device 14 and the process path 12 may be made possible by an external communication bus 38, for example a Profinet bus.
Über das Kommunikationsmodul 32 ist die Steuervorrichtung 14 über ein Datennetzwerk 40, beispielsweise ein Ethernet- Netzwerk, verbunden. The control device 14 is connected via the communication module 32 via a data network 40, for example an Ethernet network.
Das Koprozessormodul 30 stellt eine Koprozessoreinrichtung dar. Es weist einen Koprozessor 42, einen Hauptprozessor oder kurz Prozessor 44 und einen Speicher 46 auf. Der Prozessor 44 ist über eine Busschnittstelle 48 mit dem internen Bus 34 verbunden. Der Prozessor 44 und der Koprozessor 42 können auf einem gemeinsamen Chip implementiert sein oder als separate Chips auf einer Platine bereitgestellt sein. Das Koprozessormodul 30 kann auch mehrere Koprozessoren 42 aufweisen. Bei einem Koprozessor 42 kann es sich beispielsweise um eine GPU handeln. Bevorzugt weist der Koprozessor 42 mehr als hundert Rechenkerne 50 auf, von denen in der Figur lediglich einige mit einem Bezugszeichen versehen sind. Jedem der Rechen- kerne 50 ist in dem Speicher 46, der beispielsweise ein Random Access Memory (RAM) sein kann, ein Speicherbereich von beispielsweise 10 kB (Kilobytes) bis mehreren MB (Megabytes) zugeordnet. Obwohl es sich bei dem Koprozessor 42 um eine GPU handeln kann, ist dieser dann nicht wie eine GPU ausgebildet, wie sie sich beispielsweise auf einer Grafikkarte eines Personalcomputers befinden kann. Der Koprozessor 42 verbraucht im Verhältnis zu einer gewöhnlichen GPU sehr wenig elektrische Leistung und gibt daher auch wenig Abwärme an seine Umgebung ab. Hierdurch ist es möglich, die Steuervorrichtung 14 in dem Schaltschrank zu betreiben, ohne zusätzliche Kühlmaßnahmen aufgrund der Verwendung des Koprozessormoduls 30 vorzusehen. Dies ist bei dem Koprozessor 42 dadurch ermöglicht, dass bei dessen Herstellung ein IP-Core verwendet wurde, der zwar die Schaltungslogik einer GPU oder eine ähnlich leis- tungsfähigen Koprozessors beschreiben kann, der aber dann dazu genutzt wurde, einen Chip mittels einer Technologie herzustellen, wie sie auch für Prozessoren im Bereich der Anlagensteuerung verwendet wird. Die ermöglicht die Realisierung eines geringen Leistungsverbrauchs und damit einen lüfterlosen Betrieb oder zumindest einen Betrieb bei geringer Belüftung. Auch der Prozessor 44 ist in der beschriebenen Weise auf die Dauernutzung im industriellen Umfeld ausgelegt. The coprocessor module 30 represents a coprocessor device. It has a coprocessor 42, a main processor or, for short, a processor 44 and a memory 46. The processor 44 is connected to the internal bus 34 via a bus interface 48. The processor 44 and the coprocessor 42 may be implemented on a common chip or provided as separate chips on a board. The coprocessor module 30 may also include a plurality of co-processors 42. For example, a coprocessor 42 may be a GPU. Preferably, the coprocessor 42 more than a hundred computing cores 50, of which only a few are provided in the figure with a reference numeral. Each of the computation cores 50 is assigned a memory area of, for example, 10 KB (kilobytes) to several MB (megabytes) in the memory 46, which may be, for example, a random access memory (RAM). Although coprocessor 42 may be a GPU, it is not designed as a GPU, such as may be on a graphics card of a personal computer. The coprocessor 42 consumes very little electrical power relative to an ordinary GPU, and therefore also emits little waste heat to its environment. This makes it possible to operate the control device 14 in the control cabinet without providing additional cooling measures due to the use of the coprocessor module 30. This is made possible in the coprocessor 42 in that an IP core was used in its production, which can indeed describe the circuit logic of a GPU or a similar powerful coprocessor, but which was then used to produce a chip by means of a technology, as it is also used for processors in the field of plant control. This allows the realization of a low power consumption and thus a fanless operation or at least a low ventilation operation. Also, the processor 44 is designed in the manner described for long-term use in an industrial environment.
Durch den Prozessor 44 kann beispielsweise ein Echtzeit- Betriebssystem 52 ausgeführt werden, welches durch ein entsprechendes Betriebsprogramm dafür sorgt, dass von den By the processor 44, for example, a real-time operating system 52 can be executed, which ensures by a corresponding operating program that of the
Schnittstellenmodul 28 Signale empfangen und in dem Speicher 46 gespeichert werden können. Genauso kann durch das Echtzeit-Betriebssystem 52 der Koprozessor 42 gesteuert werden. Das Betriebssystem 52 ist hierdurch dazu in der Lage, empfangene und in dem Speicher 46 abgespeicherte Signale durch die Rechenkerne 50 bearbeiten zu lassen, indem durch den Prozessor 44 entsprechende Steuersignale erzeugt und an den Kopro- zessor 42 ausgegeben werden, In den Speicherbereichen sind für die einzelnen Rechenkerne 50 Arbeitsprogramme abgelegt, welche jeweils eine Automatisierungsvorschrift darstellen. Interface module 28 signals can be received and stored in the memory 46. Likewise, coprocessor 42 may be controlled by real time operating system 52. The operating system 52 is thereby able to process received signals stored in the memory 46 by the computing cores 50 by generating corresponding control signals by the processor 44 and sending them to the coprocessor. processor 42 are output, in the memory areas 50 work programs are stored for the individual cores, which each represent an automation rule.
Die Bedienung der Steuervorrichtung 14 erfolgt durch die Bedieneinrichtung 16, die beispielsweise ein Arbeitsplatzcomputer sein kann. An der Bedieneinrichtung 16 spezifiziert ein Benutzer eine Automatisierungslösung, was im Falle einer Spezifikation von PID-Reglern beispielsweise in Form eines CFC- Plans (CFC - continuous function chart) sein kann. Es sind auch andere graphische oder textbasierte Spezifizierungsmöglichkeiten möglich, wie sie an sich aus dem Stand der Technik bekannt sind oder eine Spezifikation einer Lösung zu einem MPC-Problem (MPC - model predictive control, modellprädiktive Regelung) . The operation of the control device 14 is carried out by the operating device 16, which may be a workstation computer, for example. At the operating device 16, a user specifies an automation solution, which in the case of a specification of PID controllers, for example, can be in the form of a CFC (continuous function chart). Other graphical or text-based specification possibilities are also possible, as are known per se from the prior art, or a specification of a solution to a MPC problem (MPC model-predictive control).
Auf der Grundlage der Spezifikation wurden durch die Bedieneinrichtung 16 automatisch die Arbeitsprogramme für die Rechenkerne 50 erzeugt. Die automatische Umwandlung der Spezifizierung in die Arbeitsprogramme kann je nach Art der Spezifizierung (PID-Regler, Lösung zu einem MPC-Problem) unterschiedlich sein. Für die Automatisierung können z.B. in an sich bekannter Weise entsprechende Algorithmen zur Paralleli- sierung von Programmierungsproblemen verwendet werden. Based on the specification, the operation programs for the calculation cores 50 were automatically generated by the operation device 16. The automatic conversion of the specification into the work programs may vary depending on the type of specification (PID controller, solution to an MPC problem). For automation, e.g. in a manner known per se, corresponding algorithms for the parallelization of programming problems can be used.
Die erstellten Arbeitsprogramme wurden von der Bedieneinrichtung 16 über das Netzwerk 40 und das Kommunikationsmodul 32 an den Prozessor 44 übertragen, dessen Betriebssystem 52 die Arbeitsprogramme dann im Speicher 46 gespeichert hat. The created work programs have been transmitted from the operating device 16 via the network 40 and the communication module 32 to the processor 44, whose operating system 52 has then stored the work programs in the memory 46.
Im Betrieb der Anlage 10 erfolgt ein zyklische Übergabe der Messwerte der Sensoreinheiten 22 und der Prozessgrößen der Steuereinheiten 24 über den Bus 38 an das Schnittstellenmodul 28. Dieses überträgt die Messwerte und Prozessgrößen als Empfangssignale über den internen Bus 34 an den Prozessor 44, wo sie durch das Betriebssystem 52 ebenfalls im Speicher 46 abgespeichert werden. Die zu dem aktuellen Regelzyklus gespeicherten Eingangssignale werden dann im Koprozessormodul 30 verarbeitet, indem das Betriebssystem 52 den Koprozessor 42 dahingehend ansteuert, dass die Rechenkerne 50 gemäß den ihnen zugeordneten Arbeitsprogrammen die Messwerte und Prozessgrößen in dem Speicher 46 verarbeiten und hierdurch Zwischengrößen von Stellsignalen für die Stelleinrichtungen 26 erzeugen. Die Zwischengrößen werden dann dem Prozessor 44 aus dem Speicher 46 ausgelesen und durch Ausführen eines sequenziell auszuführenden Teils der jeweiligen Arbeitsprogramme durch den Prozessor 44 zu gewünschten Stellsignalen kombiniert und über den internen Bus 34 zurück zum Schnittstellenmodul 28 übertragen, wo sie am Stellausgang 36 ausgegeben und über den Bus 38 den Steuereinrichtungen 24 bzw. Stelleinrichtungen 26 zugeführt werden. During operation of the system 10, the measured values of the sensor units 22 and the process variables of the control units 24 are cyclically transferred via the bus 38 to the interface module 28. This transmits the measured values and process variables as received signals via the internal bus 34 to the processor 44, where they pass through the operating system 52 are also stored in the memory 46. The input signals stored for the current control cycle are then stored in the coprocessor module 30 The operating system 52 processes the coprocessor 42 in such a way that the computing cores 50 process the measured values and process variables in the memory 46 in accordance with the work programs assigned to them and thereby generate intermediate variables of actuating signals for the actuating devices 26. The intermediate values are then read out of the memory 46 to the processor 44 and combined by the processor 44 into desired setting signals by executing a sequentially executed part of the respective work programs and transmitted via the internal bus 34 back to the interface module 28 where they are output at the control output 36 and the bus 38 to the control devices 24 and adjusting devices 26 are supplied.
Mittels des Koprozessormoduls 30 ist in der Steuervorrichtung 14 eine derart große Rechenleistung bereitgestellt, dass sie auch für den Fall, dass es sich bei der Anlage 10 um eine Großanlage handelt und/oder zu der Anlage 10 auch eine Prozesssteuerung, insbesondere eine Qualitäts- oder Durchsatzoptimierung, implementiert sein soll, diese Automatisierungsaufgaben von der Steuervorrichtung 14 selbst und nicht durch einen externen PC durchgeführt werden müssen. Indem die Ko- prozessoreinrichtung 30 eine oder mehrere Koprozessoren 42, also etwa GPUs, bereitstellt und diese durch ein echtzeitfä- higes System bestehend aus dem Prozessor 44 mit dem Echtzeit- Betriebssystem 52 betrieben werden, ergibt sich die Möglichkeit, diese Automatisierungsaufgaben auch in einem industriellen Umfeld (geringer Bauraum, wenig Kühlmöglichkeiten) zu realisieren. By means of the coprocessor module 30, such a large computing power is provided in the control device 14 that it is also a process control, in particular a quality or throughput optimization, even if the system 10 is a large-scale system should be implemented, these automation tasks must be performed by the control device 14 itself and not by an external PC. Since the co-processor device 30 provides one or more coprocessors 42, for example GPUs, and these are operated by the real-time operating system 52 through a real-time capable system consisting of the processor 44, this automation task can also be performed in an industrial environment Environment (small space, little cooling options) to realize.
Anstelle oder zusätzlich zu dem Koprozessormodul 30 kann auch vorgesehen sein, einen Koprozessor 54 in das Schnittstellenmodul 28 zu integrieren. Instead of or in addition to the coprocessor module 30, it may also be provided to integrate a coprocessor 54 into the interface module 28.
Nachfolgend werden drei Applikationen näher betrachtet, die veranschaulichen, wie die Anlage 10 mittels des Koprozessormoduls 30 betrieben werden kann. Das erste Beispiel beschreibt die Implementierung einer Vielzahl von einschleifigen PID-Reglern. Die PID-Reglerstruktur wird dabei zunächst als CFC-Plan, wie auch aus dem Stand der Technik bekannt, in der Bedieneinrichtung 16 spezifiziert. Der Benutzer kann hierbei auswählen, dass die spezifizierte PID-Reglerstruktur auf dem Koprozessormodul 30 auszuführen ist. Hierdurch wird die Bedieneinrichtung 16 dazu veranlasst, die Vielzahl der PID-Regler auf dem Koprozessormodul 30 zusammenzufassen. Jeder der PID-Regler definiert dabei das Zusammenwirken einer Sensoreinrichtung 22 oder einer Steuereinrichtung 24 mit eine Stelleinrichtung 26 oder einer Steuereinrichtung 24. Ein einzelner Rechenkern 50 des Koprozessors 42 kann dabei mehr als einen PID-Regler abbilden. Die Aufteilung, wie viele PID-Regler einem Rechenkern 50 zugeordnet werden, kann automatisch erfolgen und kann beispielsweise in Abhängigkeit von der Taktrate erfolgen, mit welcher den einzelnen PID-Reglern die Eingangssignale zugeführt bzw. mit welcher deren Stellsignale ausgegeben werden. In the following, three applications are considered in more detail, which illustrate how the system 10 can be operated by means of the coprocessor module 30. The first example describes the implementation of a large number of single-loop PID controllers. The PID controller structure is first specified in the operating device 16 as CFC plan, as also known from the prior art. The user may hereby choose to execute the specified PID controller structure on the coprocessor module 30. As a result, the operating device 16 is caused to combine the plurality of PID controllers on the coprocessor module 30. Each of the PID controllers defines the interaction of a sensor device 22 or a control device 24 with an actuating device 26 or a control device 24. A single arithmetic core 50 of the coprocessor 42 can image more than one PID controller. The distribution of how many PID controllers are assigned to a computer core 50 can be automatic and can be done, for example, as a function of the clock rate with which the individual PID controllers are supplied with the input signals or with which their control signals are output.
Das zweite Beispiel betrifft eine modellprädiktive Regelung. Der zugehörige MPC-Regler berechnet optimierte Stellgrößen für eine Vielzahl von zu regelnden Betriebsgrößen. Die Werte der Betriebsgrößen werden dabei in einem Prädiktionszeit- fenster unter Verwendung eines Modells für den zu regelnden Prozess vorhergesagt. Auf Grundlage der mittels des Modells prädizierten Betriebsgrößen werden die Stellsignale unter Berücksichtigung gegebener Randbedingungen für den aktuellen Regelungszyklus berechnet. Für gängige Prozessstrecken können lineare Prozessmodelle verwendet werden, welche die Vorgänge in der Prozessstrecke in der Regel ausreichend genau nachbilden. Parameter der Prozessmodelle können fest vorgegeben sein oder auf Grundlage von Messwerten identifiziert werden. Bei heutigen Steuervorrichtungen ist der Einsatz einer MPC- Regelung in der Regel nicht möglich. Die optimierten Stellgrößen müssen durch Lösen eines Optimierungsproblems zu einer Kostenfunktion ermittelt werden, wobei das Optimierungsproblem typischerweise als ein Optimierungsproblem der quadratischen Programmierung (QP - quadratic programming) formuliert ist. Die Lösung eines solchen QP-Problems ist sehr rechenaufwendig und kann erst bei der erfindungsgemäßen Steuervorrichtung mittels der Vielzahl der zeitgleich betreibbaren Rechenkerne 50 soweit beschleunigt werden, dass eine Regelung der Begtriebsgrößen auf Grundlage der MPC-Regelung durch dieThe second example concerns a model predictive control. The associated MPC controller calculates optimized manipulated variables for a large number of operating variables to be controlled. The values of the operating variables are predicted in a prediction time window using a model for the process to be controlled. On the basis of the operating variables predicted by means of the model, the control signals are calculated taking into account given boundary conditions for the current control cycle. For common process lines, linear process models can be used which simulate the processes in the process section with sufficient accuracy. Parameters of the process models can be fixed or identified on the basis of measured values. In today's control devices, the use of MPC control is usually not possible. The optimized manipulated variables must be determined by solving an optimization problem for a cost function, the optimization problem typically being formulated as an optimization problem of quadratic programming (QP) is. The solution of such a QP problem is very computationally intensive and can be accelerated only in the control device according to the invention by means of the plurality of simultaneously operable computing cores 50 so far that a regulation of the Begiebsizes based on the MPC control by the
Steuervorrichtung 14 selbst möglich ist. Um die Eingangssignale, d. h. die Messwerte und die anderen Betriebsgrößen der Prozessstrecke 12 in der Weise aufzubereiten, dass sie von den Rechenkernen 50 gemäß der Regelungsvorschrift der MPC- Regelung verarbeitet werden können, ist in dem Speicher 46 auch ein Programm gespeichert, das bei Ausführung durch den Prozessor 44 eine entsprechende Aufbereitung der Daten bewirkt . Das dritte Beispiel betrifft eine Scheduling-Optimierung für die Produktionsplanung der gesamten Anlage 10. Der Schedu- ling-Optimierer optimiert, wann welche Aggregate zu- oder abgeschaltet bzw. in welchem Zustand die Aggregate betrieben werden sollen. Die Optimierung der Aggregatzustände bzw. der Produktionsfolge erfolgt, wie bereits beschrieben, nach Kriterien der Anlagenoptimierung und kann produktionsbedingte Randbedingungen berücksichtigen. Das Koprozessormodul 30 ermöglicht es hierbei, dass der Scheduling-Optimierung zugrundeliegende Optimierungsproblem einer Kostenfunktion mit aus- reichend hoher Rechengeschwindigkeit während des Betriebs der Anlage zu lösen. In der Regel ist ein solches Optimierungsproblem als ein „Mixed-Integer Linear Programming-Problems" (MILP-Problem) beschrieben. Die Parameter für die Optimierung werden wieder in der beschriebenen Weise über die Bedienein- richtung 16 festgelegt. In der Operator-Station 18 wird die jeweils aktuelle Lösung des Scheduling-Problems visualisiert , d. h. es wird angezeigt, wann welches Aggregat nach dem derzeitigen Stand der Lösung aktiviert bzw. deaktiviert wird oder wann welche Produktionsschritte durchgeführt werden. Über den Operatorstand 18 können dann Randbedingungen im laufenden Betrieb der Anlage 10 verändert werden, d. h. es kann beispielsweise die Produktionsfolge verändert werden. So kann beispielsweise die Produktionsfolge zu ändern sein, weil etwa bestimmte Produktionsmittel noch nicht bereitstehen. Die genannten Randbedingungen werden über das Netzwerk 40 wieder an das Koprozessormodul 30 übertragen. Dort werden sie dann bei einem nächsten Berechnungszyklus der Scheduling-Optimierung berücksichtigt. Control device 14 itself is possible. In order to process the input signals, ie the measured values and the other operating variables of the process path 12, in such a way that they can be processed by the processing cores 50 in accordance with the regulation of the MPC control, a program is also stored in the memory 46 which, when executed by the processor 44 causes a corresponding processing of the data. The third example concerns a scheduling optimization for the production planning of the entire plant 10. The scheduling optimizer optimizes when which aggregates are to be switched on or off or in which state the aggregates are to be operated. As already described, the optimization of the states of aggregation or of the production sequence takes place according to criteria of plant optimization and can take into account production-related boundary conditions. In this case, the coprocessor module 30 makes it possible to solve the optimization problem underlying a scheduling optimization of a cost function with a sufficiently high computing speed during operation of the system. As a rule, such an optimization problem is described as a "mixed-integer linear programming problem" (MILP problem) The parameters for the optimization are set again in the described manner via the operating device 16. In the operator station 18 the respective current solution of the scheduling problem is visualized, ie it is displayed when which unit is activated or deactivated according to the current state of the solution or when which production steps are carried out.On the operator status 18 can then marginal conditions during operation of the system 10 For example, the production sequence can be changed, for example, the production sequence can be changed because, for example, the production sequence can be changed certain means of production are not yet available. The mentioned boundary conditions are transmitted to the coprocessor module 30 via the network 40 again. There they will be considered in a next calculation cycle of the scheduling optimization.
Der Koprozessor 42 muss selbst nicht unbedingt echtzeitfähig sein. Dennoch ist durch die große Rechenleistung, welche durch die Gesamtheit der Rechenkerne 50 realisiert ist, ein quasi deterministisches Reaktionsverhalten gegeben. Mit anderen Worten ist es auch bei dem Koprozessor 42 möglich, auf die Eingangssignale innerhalb einer vorbestimmten maximalen Reaktionszeit entsprechende Stellsignale bereitzustellen. Durch eine Wahl einer entsprechenden Anzahl von Rechenkernen 50 ist es möglich, mittels des Koprozessors 42 Antwortzeiten innerhalb weniger Mikrosekunden bis Millisekunden zu erreichen . The coprocessor 42 itself need not necessarily be real-time capable. Nevertheless, due to the large computing power, which is realized by the totality of the calculation cores 50, there is a quasi-deterministic reaction behavior. In other words, it is also possible in the coprocessor 42 to provide corresponding control signals to the input signals within a predetermined maximum reaction time. By choosing a corresponding number of calculation cores 50, it is possible to achieve response times by means of the coprocessor 42 within a few microseconds to milliseconds.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE201210204358 DE102012204358A1 (en) | 2012-03-20 | 2012-03-20 | Method for operating a process and / or production plant, control device of such a plant and module for the control device |
| DE102012204358.6 | 2012-03-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013139623A1 true WO2013139623A1 (en) | 2013-09-26 |
Family
ID=47891670
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2013/054721 Ceased WO2013139623A1 (en) | 2012-03-20 | 2013-03-08 | Method for operating a process and/or production plant, control device of such a plant and module for the control device |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102012204358A1 (en) |
| WO (1) | WO2013139623A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114116593A (en) * | 2021-11-22 | 2022-03-01 | 珠海泰为电子有限公司 | Control method, device, storage medium and electronic device for low-frequency high-performance chip |
| DE102022103348A1 (en) | 2022-02-14 | 2023-08-17 | Puschner Systems GmbH | Iterative process for managing a manufacturing facility |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2921918A1 (en) * | 2014-03-19 | 2015-09-23 | Siemens Aktiengesellschaft | Smart field device for use in automation and control systems |
| CN104730987B (en) * | 2015-03-19 | 2017-12-01 | 李贞华 | A kind of control system and its control method of full-automatic manipulation massage armchair of inserting coins |
| CN104965472A (en) * | 2015-07-17 | 2015-10-07 | 孙鸿昌 | Intelligent construction site cement weighing and curing control system based on internet of things |
| EP3818476B1 (en) * | 2018-08-03 | 2025-04-02 | Siemens Aktiengesellschaft | Neural logic controllers |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5218709A (en) * | 1989-12-28 | 1993-06-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Special purpose parallel computer architecture for real-time control and simulation in robotic applications |
| US5361367A (en) * | 1991-06-10 | 1994-11-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors |
| US20090210070A1 (en) * | 2007-11-13 | 2009-08-20 | Schultz Ronald E | Industrial controller using shared memory multicore architecture |
| WO2011023203A1 (en) * | 2009-08-24 | 2011-03-03 | Abb Technology Ag | Improved execution of real time applications with an automation controller |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE29605939U1 (en) * | 1996-04-03 | 1997-08-07 | Siemens AG, 80333 München | System for load forecasting, resource planning and momentary optimization in energy generation |
| JP3616556B2 (en) * | 1999-06-29 | 2005-02-02 | 株式会社東芝 | Parallel processor for processing extended instructions |
| US6445963B1 (en) * | 1999-10-04 | 2002-09-03 | Fisher Rosemount Systems, Inc. | Integrated advanced control blocks in process control systems |
| DE10065419B4 (en) * | 2000-12-27 | 2011-01-20 | Siemens Ag | Industrial control with isochronous run-level model |
| DE10213860B4 (en) * | 2001-03-30 | 2009-01-22 | Omron Corporation | Programmable controller |
| DE10155586A1 (en) * | 2001-11-13 | 2003-05-28 | Moeller Gmbh | Technology function platform for incorporation into control unit of an automation system, so that it can be used to control the operation of a specific application assembly in a more flexible manner |
| US7599750B2 (en) * | 2005-12-21 | 2009-10-06 | Pegasus Technologies, Inc. | Model based sequential optimization of a single or multiple power generating units |
| US7756591B2 (en) * | 2006-04-25 | 2010-07-13 | Pegasus Technologies, Inc. | System for optimizing oxygen in a boiler |
-
2012
- 2012-03-20 DE DE201210204358 patent/DE102012204358A1/en not_active Withdrawn
-
2013
- 2013-03-08 WO PCT/EP2013/054721 patent/WO2013139623A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5218709A (en) * | 1989-12-28 | 1993-06-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Special purpose parallel computer architecture for real-time control and simulation in robotic applications |
| US5361367A (en) * | 1991-06-10 | 1994-11-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors |
| US20090210070A1 (en) * | 2007-11-13 | 2009-08-20 | Schultz Ronald E | Industrial controller using shared memory multicore architecture |
| WO2011023203A1 (en) * | 2009-08-24 | 2011-03-03 | Abb Technology Ag | Improved execution of real time applications with an automation controller |
Non-Patent Citations (1)
| Title |
|---|
| STAMATIS KARNOUSKOS ET AL: "Architecting the next generation of service-based SCADA/DCS system of systems", IECON 2011 - 37TH ANNUAL CONFERENCE ON IEEE INDUSTRIAL ELECTRONICS SOCIETY, IEEE, 7 November 2011 (2011-11-07), pages 359 - 364, XP032104464, ISBN: 978-1-61284-969-0, DOI: 10.1109/IECON.2011.6119279 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114116593A (en) * | 2021-11-22 | 2022-03-01 | 珠海泰为电子有限公司 | Control method, device, storage medium and electronic device for low-frequency high-performance chip |
| DE102022103348A1 (en) | 2022-02-14 | 2023-08-17 | Puschner Systems GmbH | Iterative process for managing a manufacturing facility |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102012204358A1 (en) | 2013-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2013139623A1 (en) | Method for operating a process and/or production plant, control device of such a plant and module for the control device | |
| DE102020118259A1 (en) | REAL-TIME CONTROL USING THE DIRECTIVE PREDICTION SIMULATION WITHIN A CONTROL SYSTEM OF A PROCESS PLANT | |
| EP3508930A1 (en) | System and method for control and/or analysis of an industrial process | |
| EP3353609B1 (en) | Module for a technical installation, system and method for carrying out a technical process | |
| EP4546067A2 (en) | Module for a technical installation and method for controlling a technical installation | |
| DE102005055000A1 (en) | Modular avionics system of an aircraft | |
| DE102019204861A1 (en) | MACHINE LEARNING DEVICE; CONTROL DEVICE AND MACHINE LEARNING | |
| DE102013108910B4 (en) | Solenoid valve control device | |
| EP2574997B1 (en) | Method for adjusting an operating status | |
| EP3891564B1 (en) | Integration of a plurality of installation modules each having at least one process-technical unit to form a modularly constructed overall installation | |
| DE102020130130A1 (en) | ENGINE CONTROL DEVICE, NUMERICAL CONTROL DEVICE, ROBOT CONTROL AND INTEGRATED CONTROL SYSTEM | |
| EP2477085B1 (en) | System and method for analysing a time behaviour of the execution of a control program in an industrial control device | |
| EP2946254B1 (en) | Programmable logic controller having reduced latency | |
| EP4198663A1 (en) | Method for distributed calculation of calculation tasks | |
| EP3101500B1 (en) | Control system for a distributed process control of a technical installation and a method for controlling a technical installation | |
| EP3985599B1 (en) | Control of energy networks | |
| EP3000004B1 (en) | Device and method for operating a technical system and method for producing a technical system | |
| EP2341405B1 (en) | Method for operating a machine | |
| EP3548975A1 (en) | Control of a technical process on a multi computing core installation | |
| EP3506026A1 (en) | Method for the computer-assisted prediction of at least one global operating variable of a technical system | |
| WO2024217815A1 (en) | Method and data processing system for operating and simulating a manufacturing system, and manufacturing system | |
| DE202025103391U1 (en) | Robust control techniques with time-varying Markov processes | |
| WO2023110975A1 (en) | Computer-supported simulation of a modular system | |
| EP4357997A1 (en) | Method for determining a production order of production orders of a production plant, production plant system, computer program and electronically readable data carrier | |
| DE102012213063A1 (en) | Control device for a process and / or manufacturing plant |
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: 13709857 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: 13709857 Country of ref document: EP Kind code of ref document: A1 |