WO2022215363A1 - 制御システム及び制御方法 - Google Patents

制御システム及び制御方法 Download PDF

Info

Publication number
WO2022215363A1
WO2022215363A1 PCT/JP2022/006268 JP2022006268W WO2022215363A1 WO 2022215363 A1 WO2022215363 A1 WO 2022215363A1 JP 2022006268 W JP2022006268 W JP 2022006268W WO 2022215363 A1 WO2022215363 A1 WO 2022215363A1
Authority
WO
WIPO (PCT)
Prior art keywords
general
input
operating system
control
output
Prior art date
Application number
PCT/JP2022/006268
Other languages
English (en)
French (fr)
Inventor
輝昭 酒田
祐策 大塚
俊樹 清水
典剛 松本
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2022215363A1 publication Critical patent/WO2022215363A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems

Definitions

  • the present invention relates to control systems and control methods.
  • control systems that perform control with control devices have been put into practical use.
  • a control system having a plurality of control devices connected to a main machine is in charge of processing.
  • This control device executes control arithmetic processing, and performs control by outputting a control command to the main engine as control data (signal).
  • commands for performing such control must be input/output to/from I/O (Input/Output) after the arithmetic processing is completed within the time of the control cycle determined by the control system. be. If it is not output in time, the system may not be able to operate, resulting in losses, and the system may become unstable. Therefore, in such a control system, the control device is required to have real-time capability to complete the processing and output within the time.
  • I/O Input/Output
  • control systems are being considered to improve efficiency by promoting automation and autonomy in order to deal with problems such as future labor shortages.
  • AI Artificial Intelligence
  • studies have begun to calculate more efficient control command values by analyzing the data acquired by arranging multiple sensors in a vast field using AI (Artificial Intelligence).
  • AI Artificial Intelligence
  • it is desired to be able to process arithmetic processing such as AI on a general-purpose OS (Operating System) that runs on a general-purpose CPU (Central Processing Unit).
  • Patent Document 1 describes a storage unit that stores a first OS that is a real-time OS and a second OS that provides a user interface function via a display unit, and an electronic device that operates the first OS.
  • a configuration including a control unit for controlling is disclosed. The control unit described in Patent Document 1 activates the second OS and controls the display unit when the electronic device is operated with the user interface function via the display unit enabled.
  • Patent Document 2 Another conventional technology is the technology described in Patent Document 2.
  • a general-purpose I/F (Interface) Ethernet registered trademark
  • the program executed by the MCU is a real-time OS having a multitasking environment, and the application program is divided into tasks based on differences in time constraints and the like.
  • Patent Document 1 requires the use of dedicated inter-OS communication for data transfer between the first OS and the second OS. There is a problem that it is difficult to apply when it is desired to combine and implement a control device with high real-time performance.
  • Patent Document 2 is a configuration in which an MCU that operates a real-time OS with high real-time characteristics is connected via a general-purpose interface, but a configuration that can execute arithmetic processing such as AI is not assumed. However, there is a problem that it is difficult to achieve both versatility and real-time performance.
  • the real-time property means that processing is completed within a predetermined response time
  • the high real-time property means that the response time is short.
  • the control system of the present invention comprises a first control unit operating in a first operating system and a second operating system. an input/output port connected to the second control unit; and a general purpose interface connecting the first control unit and the second control unit.
  • the second operating system includes a monitoring unit that acquires information of the first operating system via a general-purpose interface, an input/output processing unit that processes input/output at the input/output port, and an input/output processing unit.
  • a general-purpose interface processing unit that transmits and receives data to be output to and from the first control unit via the general-purpose interface.
  • FIG. 1 is a block diagram illustrating a configuration example of a control system according to a first embodiment of the present invention
  • FIG. It is a figure explaining the structural example of the real-time guarantee general-purpose interface part in the control system which concerns on the example of the 1st Embodiment of this invention.
  • 4 is a diagram illustrating an example of a packet configuration of control data flowing between general-purpose I/Fs of the control system according to the first embodiment of the present invention
  • FIG. It is a figure explaining an example of the timing chart explaining operation
  • FIG. 4 is a diagram illustrating an example of a timing chart for describing safety control operations of the control system according to the first embodiment of the present invention
  • FIG. 7 is a block diagram illustrating a configuration example of a control system according to a second embodiment of the present invention
  • FIG. It is a figure explaining an example of the operation
  • FIG. 4 is a diagram illustrating an example of a timing chart for describing safety control operations of the control system according to the first embodiment of the present invention
  • FIG. 7 is a block diagram illustrating a configuration example of a control system according to a second embodiment of the present invention
  • FIG. It is a figure explaining an example of the operation
  • FIG. 4 is a diagram illustrating an example of a timing chart for describing safety control operations of the control system according to the first embodiment of the present invention
  • FIG. 9 is a block diagram illustrating another configuration example of the control system according to the second embodiment of the present invention. It is a figure explaining another example of the operation
  • FIG. 12 is a block diagram illustrating a configuration example of a control system according to a third embodiment of the present invention; FIG. BRIEF DESCRIPTION OF THE DRAWINGS It is a figure explaining an example of the mounting form of the control system based on each embodiment of this invention. It is a figure explaining another example of the implementation form of the control system which concerns on each example of embodiment of this invention. It is a figure explaining another example of the implementation form of the control system which concerns on each example of embodiment of this invention. It is a figure explaining another example of the implementation form of the control system which concerns on each example of embodiment of this invention.
  • FIG. 1 A control system according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 A control system according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 A control system according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 A control system according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 7.
  • FIG. 1 is a block diagram illustrating a configuration example of a control system 1 according to a first embodiment of the invention.
  • the control system 1 shown in FIG. 1 has a configuration in which a first control device 100 and a second control device 200 are connected via a general-purpose communication interface 11 .
  • the first control device 100 includes a general-purpose CPU 110 that is a general-purpose control unit (first control unit).
  • the general-purpose CPU 110 is connected to a general-purpose I/F port 120 as a general-purpose interface processing unit and a memory control unit 150 .
  • a memory 160 is connected to the memory control unit 150 .
  • the general-purpose CPU 110 has an architecture in which a general-purpose OS 130 operates and a general-purpose application 140 is executed by the general-purpose OS 130 .
  • the second control device 200 includes an MCU 210, which is a computer-systemized control unit (second control unit) incorporating a memory and peripheral functions.
  • a general-purpose I/F port 220 and an I/O port 270 are connected to the MCU 210 .
  • General-purpose I/F port 220 is connected to general-purpose I/F port 120 of first control device 100 via communication interface 11 .
  • Ethernet registered trademark
  • the I/O network 12 is connected to the I/O port 270 which is an input/output port.
  • the RTOS 230 is an architecture in which the I/O processing unit 240, the real-time assurance general-purpose interface unit 250, and the general-purpose OS monitoring unit 260 are executed.
  • the I/O processing unit 240 is an input/output processing unit that executes input processing and output processing at the I/O port 270 .
  • a general-purpose application 140 that performs general-purpose processing in the first control device 100 is executed on the general-purpose OS 130 .
  • the processing result of the general-purpose application 140 is transmitted from the general-purpose CPU 110 via the general-purpose I/F port 120 to the general-purpose I/F port 220 of the second control device 200 and transmitted to the MCU 210 .
  • the real-time assurance general-purpose interface unit 250 monitors the timing of outputting the processing result of the general-purpose application 140 to the I/O network 12 .
  • the I/O processing unit 240 executes input/output processing at the I/O port 270 and outputs the processing result of the general-purpose application 140 to the I/O network 12 via the I/O port 270 .
  • the general-purpose OS monitoring unit 260 also determines whether or not an abnormality or failure has occurred in the general-purpose OS 130 of the first control device 100 by reading the processing result of the general-purpose application 140 .
  • the configuration of the control system 1 shown in FIG. 1 assigns general-purpose arithmetic processing to one control device 100 equipped with a general-purpose CPU 110, but a plurality of control devices equipped with a general-purpose CPU are connected. may be configured.
  • FIG. 2 shows a configuration example of the real-time assurance general-purpose interface section 250 of the control system 1 shown in FIG.
  • the real-time assurance general-purpose interface unit 250 is composed of a multiple input data arrival confirmation processing unit 251, a general-purpose CPU trigger processing unit 252, a data reception processing unit 253 from the general-purpose CPU, and an output data timing correction processing unit 254. .
  • the multiple input data arrival confirmation processing unit 251 performs processing for determining whether or not input data from multiple sensors input from the I/O port 270 has arrived. For the determination of the arrival confirmation processing unit 251 of multiple input data, for example, the time determined by the control cycle is used.
  • the general-purpose CPU trigger processing unit 252 performs processing for generating a trigger from the MCU 210 to notify the general-purpose CPU 110 of the start or end of processing.
  • the data reception processing unit 253 from the general-purpose CPU receives the processing result at the RTOS 230 at the timing when the processing result of the general-purpose application 140 is transmitted from the general-purpose CPU 110 to the MCU 210 via the communication interface 11 .
  • the output data timing correction processing unit 254 corrects the timing of outputting the processing result from the MCU 210 to the I/O network 12 via the I/O port 270 . For example, the time determined by the control cycle is used for the judgment of the output data timing correction processing unit 254 .
  • FIG. 3 shows a configuration example of the general-purpose OS monitoring unit 260 of the control system 1 shown in FIG.
  • the general-purpose OS monitoring unit 260 is composed of a response performance monitoring processing unit 261 , a memory abnormality monitoring processing unit 262 and a safety control data generation processing unit 263 .
  • the response performance monitoring processing unit 261 performs processing for measuring the time and throughput required for a response to receive data transmitted from the MCU 210 to the general-purpose CPU 110, monitors the response performance of the general-purpose OS, and monitors the response performance within the allowable range. Determine whether or not there is For the determination by the response performance monitoring processing unit 261, for example, the time determined by the control cycle is used.
  • the memory abnormality monitoring processing unit 262 performs processing for determining whether or not an abnormality has occurred in the memory 160 of the control device 100 .
  • the determination by the memory abnormality monitoring processing unit 262 is performed by, for example, predetermined diagnostic data write and read operations. If it is determined that a defective block has occurred in part of the memory 160, the memory abnormality monitoring processing unit 262 instructs the general-purpose CPU 110 not to use that block.
  • the safety control data generation processing unit 263 determines whether the control data output from the I/O port 270 to the I/O network 12 is safe based on the judgment by the response performance monitoring processing unit 261 and the judgment by the memory abnormality monitoring processing unit 262. Perform processing to set and output a value that will be processed. When it is determined that the processing result sent from the communication interface 11 to the MCU 210 via the general-purpose I/F port 220 is incorrect due to an abnormality in the general-purpose CPU 110 or the memory 160, the MCU 210 generates safety control data. Output to I/O port 270 . When the MCU 210 generates safety control data, the MCU 210 does not use the processing result as the control output.
  • the MCU 210 when the response time of the general-purpose OS is outside the allowable range due to an abnormality in the general-purpose CPU 110 or the memory 160, the MCU 210 generates safety control data, which is predetermined data, and controls the I/O port 270. Output to
  • FIG. 4 shows an example of the packet configuration of control data flowing through the communication interface 11 of the control system 1 shown in FIG.
  • Control data flowing through the communication interface 11 has a header 31 at the beginning, followed by a data section 30, and an FCS (Frame Check Sequence) 39 at the end.
  • FCS 39 is check data obtained as a result of encoding communication frame data.
  • a status 32 indicates whether the state of the general-purpose CPU 110 is normal or abnormal, and a time 33 indicates the time when the general-purpose OS 130 processed.
  • the CPU number 34 represents the number by a number when there are a plurality of general-purpose CPUs 110 .
  • the OS type 35 indicates the type of the general-purpose OS 130
  • the container information 36 indicates the status of the container in operation when the container is running on the general-purpose OS 130.
  • the application calculation data 37 indicates the result of application processing by the general-purpose OS 130 .
  • the safety control data 38 is data that instructs safe control output to the I/O.
  • the data section 30 from the status 32 to the safety control data 38 is not limited to the format shown in FIG. 4, and various formats can be adopted.
  • FIG. 5 is a timing chart showing an example of the operation of the control system 1 according to the first embodiment.
  • the control system 1 performs input processing, arithmetic processing, and output processing within a certain control period.
  • the upper part of the timing chart shown in FIG. 5 shows processing performed by the general-purpose CPU 110 and the general-purpose OS 130 .
  • the lower stage of the timing chart shown in FIG. 5 shows the processing performed by the MCU 210 and RTOS 230 .
  • the input task T1 of the RTOS 230 receives the input group I1.
  • the MCU 210 transmits the data to the operation process P1 of the general-purpose OS 130 via the communication interface 11 .
  • the output reception task T2 of the RTOS 230 receives the output result of the arithmetic process P1 via the communication interface 11, and when all the output results are received, the output task T3 outputs the output group O1.
  • the control cycle C1 ends, the same processing is executed from the input task T4 in the next control cycle C2.
  • the general-purpose OS 130 While the general-purpose OS 130 is running, processing and management processes dedicated to the general-purpose OS are executed separately from the application programs developed by the user. Therefore, unexpected large jitters J1, J2 and J3 may occur. In the example of FIG. 5, the jitters J1 and J3 generated in the general-purpose OS 130 do not overlap with the processing time of the calculation process P1 of the application program. However, when the controller 100 is configured by the general-purpose CPU 110 and the general-purpose OS 130 without using the MCU 210 and the RTOS 230 to operate the system, the general-purpose OS 130 may cause jitter in the input and output timings.
  • FIG. 6 is a timing chart showing another example of the operation of the control system 1 according to the first embodiment.
  • the timing chart of FIG. 6 differs from the timing chart of FIG. 5 in that the output task is executed at the beginning of the control cycle.
  • the upper part of the timing chart in FIG. 6 shows processing performed by the general-purpose CPU 110 and the general-purpose OS 130 .
  • the bottom part of the timing chart in FIG. 6 shows the processing performed by the MCU 210 and RTOS 230 .
  • the output task T3 of the RTOS 230 outputs the output group O1 at the start timing of the control cycle C1.
  • the input task T1 of the RTOS 230 receives the input group I1.
  • the input task T1 of the RTOS 230 is transmitted to the operation process P1 of the general-purpose OS 130 via the communication interface 11 .
  • the output reception task T2 of the RTOS 230 receives the output results from the arithmetic process P1 via the communication interface, and receives all the output results.
  • the control cycle C1 ends, the same processing is executed from the output task T6 in the next control cycle C2.
  • the jitters J1 and J3 generated by the general-purpose OS 130 do not overlap with the processing time of the calculation process P1 of the application program.
  • the jitter J2 occurs during execution of the arithmetic process P1, and there is a delay in the transmission of the last output result to the RTOS 230.
  • FIG. 7 is a timing chart explaining an example of the safety control operation of the control system 1 according to the first embodiment.
  • the timing chart shown in FIG. 7 differs from the timing chart explained in FIG. 5 in that the operation process processing of the general-purpose OS 130 is prolonged and the execution of the output task is delayed.
  • the upper part of the timing chart in FIG. 7 shows processing performed by the general-purpose CPU 110 and the general-purpose OS 130 .
  • the lower part of the timing chart in FIG. 7 shows the processing performed by the MCU 210 and RTOS 230 .
  • the processing of the arithmetic process P1 is delayed due to the occurrence of large jitter J2.
  • the RTOS 230 transmits a response performance monitoring signal from the general-purpose OS monitoring unit 260 and monitors the state of the general-purpose CPU 110 and the state of the general-purpose OS 130 .
  • the output task T3 of the RTOS 230 determines that the output results have not been obtained for the output group O1. , output the output result O1. That is, depending on the function and configuration of the I/O connected to the output destination, it is predetermined whether to output a stop signal, output while holding the previous value, or output a signal instructing degeneracy operation.
  • the MCU 210 and the RTOS 230 determine whether or not to output the safety control data that has been set, and output.
  • the effect of jitter that occurs when the general-purpose CPU 110 and the general-purpose OS 130 are employed is reduced. This makes it possible to improve the real-timeness of the input reception time and the output transmission time. Furthermore, in the control system 1 having the general-purpose OS 130, even if the output result cannot be transmitted at the specified time, the control data that ensures the safety of the control system 1 is output within the time, thereby ensuring safety. becomes possible to build.
  • FIG. 8 to 11 the same parts as those in FIGS. 1 to 7 described in the first embodiment are denoted by the same reference numerals, and redundant description will be omitted.
  • FIG. 8 is a block diagram illustrating a configuration example of the control system 2 according to the second embodiment of the invention.
  • the control system 2 shown in FIG. 8 includes a first control device 100 a having a general purpose CPU 111 , a second control device 200 a having an MCU 210 , and a third control device 100 b having a general purpose CPU 112 .
  • the second control device 200a includes a general-purpose I/F port 221 for communicating with the first control device 100a, and communicates with the general-purpose I/F port 121 of the first control device 100a via the communication interface 11a. conduct.
  • the second control device 200a includes a general-purpose I/F port 222 for communicating with the third control device 100b, and via the general-purpose I/F port 122 of the third control device 100b and the communication interface 11b. communicate.
  • the second control device 200a is different from the second control device 200a described in the first embodiment in that it includes a comparison/collation section 280.
  • the first control device 100a and the third control device 100b have the same configuration, and general-purpose CPUs 111 and 112 execute general-purpose OSs 131 and 132, respectively. Also, high-reliability applications 171 and 172 are executed in the general-purpose OSs 131 and 132, respectively. The two high-reliability applications 171, 172 perform the same processing.
  • Memory control units 151 and 152 are connected to the general-purpose CPUs 111 and 112, respectively, and memories 161 and 162 are connected to the memory control units 151 and 152, respectively.
  • a processing result of the high-reliability application 171 in the first control device 100 a is received by the RTOS 230 of the MCU 210 via the general-purpose I/F port 221 .
  • a processing result of the high-reliability application 172 in the third control device 100 b is received by the RTOS 230 of the MCU 210 via the general-purpose I/F port 222 .
  • the processing results of these two high-reliability applications 171 and 172 are compared in the comparison/collation section 280 . If the two general-purpose CPUs 111 and 112 do not have a failure or the like, the results of comparison by the comparison/collation unit 280 will match. As a result, the second control device 200a detects failures that have occurred in the general-purpose CPUs 111 and 112.
  • FIG. 9 is a timing chart showing an example of the operation of the control system 2 according to the second embodiment of the invention.
  • the control system 2 performs input processing, high-reliability processing, and output processing within a certain control period.
  • the upper part of the timing chart in FIG. 9 shows processing performed by the general-purpose CPU 111 and the general-purpose OS 131 of the first control device 100a.
  • the middle part of the timing chart in FIG. 9 shows the processing performed by the general-purpose CPU 112 and the general-purpose OS 132 of the third control device 100b.
  • the bottom part of the timing chart in FIG. 9 shows the processing performed by the MCU 210 and the RTOS 230 of the second control device 200a.
  • the RTOS 230 accepts the input group I11 in the input task T11.
  • the general-purpose CPU 111 of the first control device 100a transmits the high-reliability process P11 of the general-purpose OS 131 to the MCU 210 via the communication interface 11a.
  • the general-purpose CPU 112 of the third control device 100b transmits the high-reliability process P12 of the general-purpose OS 132 to the MCU 210 via the communication interface 11b.
  • the comparison/collation task T12 of the MCU 210 receives the output results from the high-reliability processes P11 and P12 via the communication interfaces 11a and 11b. Output.
  • the second control device 200a performs the same processing from the input task T14 in the next control cycle C12.
  • the general-purpose OSs 131 and 132 are operating, processing and management processes dedicated to the general-purpose OS are executed separately from application programs developed by the user. Therefore, unexpected large jitter may occur.
  • the jitter J12 delays the result output of the high-reliability process P11
  • the jitter J15 delays the result output of the high-reliability process P12.
  • the comparison and collation task T12 of the RTOS 230 matches the reception timings of the respective output results and then compares them, the comparison results are not erroneously detected due to the mismatch of the output timings of the respective high-reliability processes.
  • FIG. 10 is a block diagram illustrating another configuration example of the control system 2 according to the second embodiment of the present invention.
  • the control system 3 shown in FIG. 10 includes a fourth control device 100c having a general-purpose CPU 113 in addition to the configuration of the control system 2 shown in FIG.
  • the second control device 200b further includes a general-purpose I/F port 223 in addition to the general-purpose I/F ports 221 and 222 already described with reference to FIG.
  • the second control device 200b communicates with the general-purpose I/F port 123 of the fourth control device 100c via the general-purpose I/F port 223 and the communication interface 11c.
  • the second control device 200b includes a majority determination section 290 instead of the comparison/collation section 280 shown in FIG.
  • the first control device 100a, the third control device 100b, and the fourth control device 100c have the same configuration.
  • the general-purpose CPU 113 included in the fourth control device 100 c executes the general-purpose OS 133
  • the general-purpose OS 133 executes the high-reliability application 173 .
  • the three high-reliability applications 171, 172, 173 of the first control device 100a, the third control device 100b, and the fourth control device 100c execute the same processing.
  • a memory control unit 153 is connected to the general-purpose CPU 113
  • a memory 163 is connected to the memory control unit 153 .
  • a processing result of the high-reliability application 173 in the fourth control device 100 c is received by the RTOS 230 of the MCU 210 via the general-purpose I/F port 223 .
  • the processing results of the three high-reliability applications 171, 172, and 173 are compared in the majority decision section 290 to make a majority decision. If there is no failure in each of the general-purpose CPUs 111, 112, 113 of the first control device 100a, the third control device 100b, and the fourth control device 100c, the majority determination results of the majority determination unit 290 are the same. However, if a failure or the like occurs, one of the results will be inconsistent.
  • the majority decision section 290 adopts a number of matching results and outputs the results to the I/O network 12 via the I/O port 270 .
  • FIG. 11 is a timing chart showing an example of the operation of the control system 3 shown in FIG.
  • the control system 3 performs input processing, high-reliability processing, and output processing within a certain control period.
  • the uppermost part of the timing chart in FIG. 11 shows processing performed by the general-purpose CPU 111 and the general-purpose OS 131 of the first control device 100a.
  • the second stage from the top of the timing chart in FIG. 11 shows processing performed by the general-purpose CPU 112 and the general-purpose OS 132 of the third control device 100b.
  • the third stage from the top of the timing chart in FIG. 11 shows processing performed by the general-purpose CPU 113 and the general-purpose OS 133 of the fourth control device 100c.
  • the bottom part of the timing chart in FIG. 11 shows the processing performed by the MCU 210 and the RTOS 230 of the second control device 200b.
  • the RTOS 230 accepts the input group I21 with the input task T21.
  • the second control device 200b sends a high-reliability process P21 of the general-purpose OS 111, a high-reliability process P22 of the general-purpose OS 112, and a high-reliability process P23 of the general-purpose OS 113 through the communication interfaces 11a, 11b, and 11c. submit the execution of
  • the majority decision task T22 of the MCU 210 receives the output results of the highly reliable processes P21, P22 and P23 via the communication interfaces 11a, 11b and 11c. When all the output results are received, the majority decision task T22 performs majority decision processing, and the output task T23 outputs the output group O21. When the control cycle C21 ends, the second control device 200b performs the same processing from the input task T24 in the next control cycle C22.
  • jitter J22 delays the result output of the highly reliable process P21
  • jitter J25 delays the highly reliable process P22 result output
  • jitter J28 delays the highly reliable process P23 result output.
  • the majority decision process is performed after matching the reception timings of the output results, so that the majority result will not be erroneously detected due to a mismatch in the output timings of the high-reliability processes.
  • the verification result is not correct due to a large deviation in the reception timing of the control data packet due to the influence of jitter or the like occurring in the general-purpose OS. and the situation in which the majority result is inconsistent can be avoided.
  • the frequency of erroneous fault detection can be reduced, and a control system with high real-time performance can be realized.
  • FIG. 12 the same parts as those in FIGS. 1 to 7 described in the first embodiment are denoted by the same reference numerals, and redundant description is omitted.
  • FIG. 12 is a block diagram illustrating a configuration example of the control system 4 according to the third embodiment of the invention.
  • the control system 4 shown in FIG. 12 is different from the second control device 200 of the control system 1 shown in FIG.
  • the FCS information overwriting unit 271 receives a control data packet via the general-purpose I/F port 220, and performs processing to rewrite the FCS 39 of the control data packet shown in FIG. 4 when the general-purpose CPU 110 is in an abnormal state. Then, the I/O port 270 transmits to the I/O network 12 the control data packet to which the FCS 39 rewritten by the FCS information overwriting section 271 is added.
  • the second control device 200c having the MCU 210 rewrites the FCS 39 of the control data packet. Processing is performed.
  • the FCS 39 checks to determine that the control data packet is invalid, discards the received control data packet, and secures the control system. can be kept in good condition.
  • the second control device 200c having the MCU 210 it is not necessary for the second control device 200c having the MCU 210 to specify in advance the value of the I/O safety control data 38 (FIG. 4) for keeping the control system safe. Therefore, according to the third embodiment, the safety of the control system can be maintained at low cost.
  • FIG. 13 is a diagram illustrating a first example (implementation example 1) of the implementation mode.
  • a general-purpose CPU 110 and an MCU 210 are arranged inside a chip package 300 mounted on a substrate 301, and one chip package 300 includes the first controller 100 and the second controller shown in FIG. A device 200 is configured.
  • the general-purpose CPU 110 and MCU 210 are connected by the communication interface 11 via general-purpose I/F ports 120 and 220 (not shown).
  • the MCU 210 is connected to the I/O network 12 via an I/O port 270 (not shown).
  • General-purpose CPU 110 is connected to communication network 13 via a general-purpose communication interface.
  • FIG. 14 is a diagram illustrating a second example (implementation example 2) of the implementation mode.
  • a communication network 318 is connected to the general-purpose CPU-equipped unit 311 .
  • An I/O network 317 is connected to the MCU-mounted unit 310 .
  • I/O devices 314 , 315 and 316 are connected to the MCU-mounted unit 310 via this I/O network 317 .
  • FIG. 15 is a diagram illustrating a third example of implementation (implementation example 3).
  • an MCU-equipped dongle 327 having a shape connectable to the general-purpose I/F port 320a is connected to the general-purpose CPU-equipped unit 320 having the general-purpose I/F port 320a.
  • a general-purpose CPU-equipped unit 321 having a general-purpose I/F port 321a is connected to an MCU-equipped dongle 228 having a shape that can be connected to the general-purpose I/F port 321a.
  • An I/O network 326 is connected to the MCU-equipped dongles 327 and 328 , and I/O devices 323 , 324 and 325 are connected to the MCU-equipped dongles 327 and 328 via this I/O network 326 .
  • I/O devices 323 , 324 and 325 are connected to the MCU-equipped dongles 327 and 328 via this I/O network 326 .
  • FIG. 16 is a diagram illustrating a fourth example of implementation (implementation example 4).
  • the control system shown in FIG. 16 adds a general-purpose CPU-equipped unit 331 having a general-purpose I/F port 331a in comparison with the implementation example 4 shown in FIG. The part where the unit 336 is added is different.
  • Each general-purpose I/F port 320a, 321a, 331a is connected to an I/O control integration unit 336 by communication interfaces 333, 334, 335.
  • FIG. By using a general-purpose communication interface in this way, it is possible to implement a control system that can flexibly respond to configuration changes of devices.
  • a control system can be configured in various forms by combining a general-purpose communication interface, a general-purpose CPU, and an MCU.
  • a general-purpose communication interface by separating the I/O input/output control function from the general-purpose CPU and processing it by the MCU, it becomes possible to flexibly implement a control system that requires real-time performance and expandability.
  • new functions can be added to an existing control system at low cost while maintaining real-time performance.
  • the number of general-purpose CPU-equipped units, MCU-equipped units, MCU-equipped dongles, etc. installed is not limited to the number shown in the above-described implementation examples, and may be expanded and arbitrarily set. can be implemented with a number of For example, in the implementation example of FIG. 13, the configuration of FIG. 1 is implemented, but the configurations of FIGS. 8, 10, and 12 may be implemented.
  • FIG. 17 shows an example (application example 1) in which the control system of the present invention is applied to a steel hot-rolling facility.
  • a terminal 500 connected to a control network 600 controls control systems 400, 401 and 402.
  • FIG. The steel heated in the heating furnace 801 is put into the hot rolling equipment 800 .
  • the temperature of heating furnace 801 obtained by temperature sensor 700 is acquired by control system 400 via field bus 601 .
  • the control system 400 incorporates a control device 100A equipped with a general-purpose CPU.
  • the control system 400 controls the PI/O (Programmable Input/Output) 701 and adjusts the rotation speed of the roughing mill 802 .
  • the control system 401 controls the PI/O 702 to adjust the rotation speed and tension of the finishing mill 803 .
  • the temperature of cooling equipment 804 obtained by temperature sensor 703 is obtained by control system 402 .
  • Control system 402 controls PI/O 704 to adjust the speed and direction of winder 805 .
  • the control system 401 which requires high performance and real-time performance, has a configuration in which an MCU-equipped control device 200B and a general-purpose CPU-equipped control device 100B are connected via a general-purpose interface.
  • High-performance processing is executed by the control device 100B, and the processing result is shared with the control device 200B via a general-purpose interface to perform real-time control processing with the PI/O 702 .
  • the control system 402 that controls the winder 805, which is important in refining a fine steel plate, is also required to have high processing performance and real-time capability. Therefore, the control system 402 has a configuration in which a control device 200C equipped with an MCU and a control device 100C equipped with a general-purpose CPU are connected via a general-purpose interface. Temperature data obtained from the temperature sensor 703 is received and calculated by the control device 100C, and the calculation result is shared with the control device 200C via a general-purpose interface, and the control device 200C controls the PI / O 704 in real time. process.
  • control system 400 that controls the temperature sensor 700 and the PI/O 701 is in charge of processing that does not require high real-time performance, processing is performed only by the control device 100A equipped with a general-purpose CPU.
  • FIG. 18 shows an example (application example 2) in which the control system of the present invention is applied to a water plant (water treatment system).
  • the water treatment system shown in FIG. 18 controls control systems 410 , 411 and 412 connected to a control network 611 by an information terminal 510 , a monitoring device 512 and a file server 513 connected to the information network 610 .
  • Control system 410 controls high pressure platen 810 and low pressure platen 811 from PI/O 710 and PI/O 711 respectively via fieldbus 612 .
  • Control system 411 regulates the amount of water pumped by pump 812 and blower 813 through sequencer 712 .
  • the water quality obtained by the water quality meter 814 and the field image data captured by the camera 815 are collected by the sequencer 713 and acquired by the control system 412 via the fieldbus 613 .
  • These control systems 410, 411 and 412 are connected via a control network 611 and share data.
  • the control system 411 that controls the sequencer 712 connected to the pump 812 and blower 813 is required to have high processing performance and real-time performance. Therefore, in the water treatment system having the configuration shown in FIG. 18, the control system 411, which requires high performance and real-time performance, has a configuration in which the MCU-equipped controller 200E and the general-purpose CPU-equipped controller 100E are connected via a general-purpose interface. and The control device 100E executes high-performance processing, shares the processing results with the control device 200E via a general-purpose interface, and performs real-time control processing of input/output with the sequencer 712. FIG.
  • the control system 412 that controls the water quality meter 814 and the camera 815, and the control system 410 that controls the high pressure plate 810 and the low pressure plate 811 are responsible for processing that does not require high real-time performance. Processing is performed by devices 100D and 100F, respectively.
  • FIG. 19 shows an example (application example 3) in which the control system of the present invention is applied to an FA system.
  • the FA system shown in FIG. 19 controls a control system 420 connected to a control network 621 by a server 520 and a monitor terminal 521 connected to an information network 620 .
  • the product placed on the belt conveyor 825 is photographed by a camera 821, shape data is processed by a PLC (Programmable Logic Controller) 720, and the PLC 721 controls a picking robot 822 to place the product at a predetermined position.
  • a conveyor motor 823 controlled by a PLC 722 moves a belt conveyor 825 at a predetermined speed, and a painting robot 824 controlled by the PLC 723 paints the surface of the product.
  • the control system 420 collectively controls the multiple PLCs required to control the belt conveyor 825. Therefore, in order to perform high-quality painting, the control system 420 must perform high-performance and real-time processing. There is Therefore, in the FA system shown in FIG. 19, the control system 420, which requires high performance and real-time performance, has a configuration in which an MCU-equipped control device 200G and a general-purpose CPU-equipped control device 100G are connected via a general-purpose interface. High-performance processing is executed by the control device 100G, and the processing result is transmitted from the control device 200G to the control network 621 in real time via the general-purpose interface to perform distributed control processing.
  • FIG. 20 shows an example (application example 4) in which the control system of the present invention is applied to a power generation control system.
  • overall power generation control is performed by a control system 733 connected to a control network 631 .
  • control data generated by pressing the switch 831 is transmitted to the control device 100J of the control system 730 via the electric control panel 830, and the system is activated.
  • the control system 732 controls the boiler control board 834 which controls the firing boiler 835 and the control system 731 monitors the speed of the rotating turbine 833 via the turbine control board 832 .
  • the control system 731 transmits this monitoring state to the control system 733 via the control network 631, thereby performing overall control.
  • the control system 732 that controls the boiler control panel 834 which is important for safe power generation, requires high availability and safety to keep the boiler operating safely. Therefore, the control system 732 of the power generation control system shown in FIG. 20 employs the configuration of FIG. 10 described in the second embodiment. That is, three controllers 100L, 100M, and 100N equipped with general-purpose CPUs are prepared. Each of the control devices 100L, 100M, and 100N inputs control data from the control network 631, performs calculation, and outputs the calculation result to the control device 200L equipped with the MCU via a communication interface. In the control device 200L equipped with the MCU, majority decision processing is executed.
  • control system 733 which performs monitoring control necessary for safe power generation, is required to have high reliability and safety in order to constantly monitor the power generation system. Therefore, the control system 733 included in the power generation control system shown in FIG. 20 employs the configuration shown in FIG. 8 described in the second embodiment. That is, the control devices 100G and 100H equipped with general-purpose CPUs respectively perform calculations and output to the control device 200G equipped with an MCU via a communication interface, and the control device 200G executes comparison processing.
  • each embodiment of the present invention to a power generation control system that requires high availability as shown in FIG. 20, it is possible to realize a control system with high availability and operating rate.
  • the transfer timing of the control data may be affected by the effects of jitter or the like generated in the general-purpose OS. It is possible to avoid a situation in which the collation result or the majority decision result do not match due to a large deviation in the As a result, the frequency of fault detection errors can be reduced, and a power generation control system with high availability and operating rate can be realized.
  • control system of each embodiment of the present invention are not limited to the application examples shown in FIGS. It can be used in various systems such as machine control systems.
  • the present invention is not limited to the above-described embodiment examples, and includes various modifications.
  • the above-described embodiments are detailed and specific descriptions of the control system and its control method, and are not necessarily limited to those having all the components described.
  • Control device 210... MCU, 220, 221, 222, 223...
  • I/O processing unit 250 real-time assurance general-purpose interface unit 251 arrival confirmation processing unit 252 trigger processing unit 253 data reception processing unit , 254 timing correction processing unit 260 general-purpose OS monitoring unit 261 response performance monitoring processing unit 262 memory abnormality monitoring processing unit 263 safety control data generation processing unit 270 I/O port 271 FCS Information overwriting unit 280 Comparison collation unit 290 Majority determination unit 300 Chip package 301 Substrate 310 MCU mounted unit 311 General purpose CPU mounted unit 312 Power supply unit 313 Backplane 314 I/O device 317 I/O network 318 communication network 319 communication interface 320, 321 general-purpose CPU mounted unit 323 I/O device 326 I/O network 327 MCU mounted dongle , 3

Abstract

システムとして、第1OSで動作する第1制御ユニットと、第2OSで動作する第2制御ユニットと、第2制御ユニットに接続された入出力ポートと、第1制御ユニットと第2制御ユニットとを接続する汎用インタフェースとを備える。第2OSは、汎用インタフェースを介して第1OSの情報を取得する監視部と、入出力ポートでの入出力を処理する入出力処理部と、入出力処理部で入出力するデータを、汎用インタフェースを介して第1制御ユニットに送受信する汎用インタフェース処理部とを有する。

Description

制御システム及び制御方法
 本発明は、制御システム及び制御方法に関する。
 プラント、鉄鋼、水処理、FA(Factory Automation)、発電などの分野において、制御装置で制御を行う制御システムが各種実用化されている。
 例えば、鉄鋼、上下水処理、工場、発電プラント等の社会インフラ分野では、主機に接続された制御装置を複数有する制御システムが処理を担っている。この制御装置は制御演算処理を実行し、主機に対する制御指令を制御データ(信号)として出力することで制御を行う。
 このような制御を行うための指令は、制御システムで定められている制御周期の時間内に演算処理が完了して、I/O(Input/Output)に対し入出力がなされなければならない場合がある。時間内に出力されない場合、システムが可動できなくなって損失が発生すると共に、システムの状態が不安定になる可能性がある。そのため、こうした制御システムにおいては、制御装置として、時間内に処理を完了して出力するリアルタイム性が要求されている。
 一方で、近年の制御システムでは、将来の労働力不足問題などに対応するために自動化や自律化を進めることによる高効率化が検討されている。そのためには広大なフィールドに複数のセンサ等を配置して取得したデータをAI(Artificial Intelligence)などで分析することで、より高効率な制御指令値を演算する検討が始まっている。更に、汎用性や移植性を高めるためには、AIなどの演算処理を汎用CPU(Central Processing Unit)で動作する汎用OS(Operating System)の上で処理できるようにすることが望まれている。
 従来型の制御システムでは、大量のデータの収集、データの分析及び最適出力の自動化、汎用OSによる制御といったような構成は想定されていなかったため、このような構成やアーキテクチャへ対応できることが今後の制御システムにおいて必要になる。
 こうした要求に応える従来技術として、例えば特許文献1に記載された技術がある。特許文献1には、電子機器において固定時間処理を実現しつつ複雑な機能を実装する構成が記載されている。すなわち、特許文献1には、リアルタイムOSである第1のOS、及び、表示部を介するユーザインタフェース機能を提供する第2のOSを格納する格納部と、第1のOSを動作させて電子機器を制御する制御部とを備える構成が開示されている。
 特許文献1に記載の制御部は、表示部を介するユーザインタフェース機能を有効にして電子機器を動作させる場合に、第2のOSを起動させて表示部を制御するようにしている。
 また別の従来技術として、特許文献2に記載された技術がある。この特許文献2には、2つのMCU(Micro Controller Unit)が相互に接続された分散制御システムにおいて、MCUの接続には汎用I/F(Interface)であるイーサネット(登録商標)が使用される構成が記載されている。ここで、MCUが実行するプログラムは、マルチタスク環境を備えるリアルタイムOSであり、アプリケーションプログラムは時間制約の違い等に基づいてタスクに分割される構成である。
特開2013-30949号公報 特開2007-249357号公報
 特許文献1に記載される構成は、第1のOSと第2のOSの間でのデータ転送は専用のOS間通信を用いる必要がある構成となるため、様々な種類の汎用OSやリアルタイムOSを組み合わせてリアルタイム性の高い制御装置を実装したい場合に、適用が困難という問題がある。
 また特許文献2に記載される構成は、リアルタイム性の高いリアルタイムOSを動作させるMCUを汎用インタフェースで接続した構成となっているが、AIなどの演算処理を実行できるような構成は想定されておらず、汎用性とリアルタイム性の両立が困難であるという問題がある。
 このように、汎用部品、汎用CPU、汎用OS、汎用インタフェースの採用による拡張性の高い制御システムであって、かつ、高いリアルタイム性を保証可能な制御システム及びその制御方法が望まれていた。なお、ここでのリアルタイム性とは、定められた応答時間内に処理が完了することを指し、高いリアルタイム性とは応答時間が短いことを指している。
 上記課題を解決するために、例えば請求の範囲に記載の構成を採用する。
 本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、本発明の制御システムは、第1のオペレーションシステムで動作する第1の制御ユニットと、第2のオペレーションシステムで動作する第2の制御ユニットと、第2の制御ユニットに接続された入出力ポートと、第1の制御ユニットと第2の制御ユニットとを接続する汎用インタフェースと、を備える。
 そして、第2のオペレーションシステムは、汎用インタフェースを介して第1のオペレーションシステムの情報を取得する監視部と、入出力ポートでの入出力を処理する入出力処理部と、入出力処理部で入出力するデータを、汎用インタフェースを介して第1の制御ユニットに送受信する汎用インタフェース処理部と、を有する。
 本発明によれば、社会インフラなどを制御する制御システムであって、汎用性と拡張性が高く、部品改廃に柔軟に対応可能で、かつ、高いリアルタイム性を保証する制御システムを実現することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本発明の第1の実施の形態例に係る制御システムの構成例を説明するブロック図である。 本発明の第1の実施の形態例に係る制御システムにおけるリアルタイム保証汎用インタフェース部の構成例を説明する図である。 本発明の第1の実施の形態例に係る制御システムにおける汎用OS監視部の構成例を説明する図である。 本発明の第1の実施の形態例に係る制御システムの汎用I/F間を流れる制御データのパケット構成の一例を説明する図である。 本発明の第1の実施の形態例に係る制御システムの動作を説明するタイミングチャートの一例を説明する図である。 本発明の第1の実施の形態例に係る制御システムの動作を説明するタイミングチャートの別の一例を説明する図である。 本発明の第1の実施の形態例に係る制御システムが安全制御動作を説明するタイミングチャートの一例を説明する図である。 本発明の第2の実施の形態例に係る制御システムの構成例を説明するブロック図である。 本発明の第2の実施の形態例に係る制御システムの動作タイミングチャートの一例を説明する図である。 本発明の第2の実施の形態例に係る制御システムの別の構成例を説明するブロック図である。 本発明の第2の実施の形態例に係る制御システムの動作タイミングチャートの別の一例を説明する図である。 本発明の第3の実施の形態例に係る制御システムの構成例を説明するブロック図である。 本発明の各実施の形態例に係る制御システムの実装形態の一例を説明する図である。 本発明の各実施の形態例に係る制御システムの実装形態の別の一例を説明する図である。 本発明の各実施の形態例に係る制御システムの実装形態の別の一例を説明する図である。 本発明の各実施の形態例に係る制御システムの実装形態の別の一例を説明する図である。 本発明の各実施の形態例に係る制御システムを鉄鋼システムに適用した場合の一例を示す図である。 本発明の各実施の形態例に係る制御システムを水処理システムに適用した場合の一例を示す図である。 本発明の各実施の形態例に係る制御システムをFAシステムに適用した場合の一例を示す図である。 本発明の各実施の形態例に係る制御システムを発電制御システムに適用した場合の一例を示す図である。
[第1の実施の形態例]
 以下、本発明の第1の実施の形態例に係る制御システムを、図1から図7を参照して説明する。
 図1は、本発明の第1の実施の形態例に係る制御システム1の構成例を説明するブロック図である。
 図1に示す制御システム1は、第1の制御装置100と第2の制御装置200とが、汎用の通信インタフェース11で接続された構成となっている。
 第1の制御装置100は、汎用の制御ユニット(第1の制御ユニット)である汎用CPU110を備える。汎用CPU110には、汎用インタフェース処理部である汎用I/Fポート120と、メモリ制御部150とが接続される。メモリ制御部150には、メモリ160が接続される。
 汎用CPU110は、汎用OS130が動作し、汎用OS130により汎用アプリケーション140が実行されるアーキテクチャとなっている。
 第2の制御装置200は、メモリや周辺機能が組み込まれてコンピュータシステム化された制御ユニット(第2の制御ユニット)であるMCU210を備える。MCU210には、汎用I/Fポート220及びI/Oポート270が接続される。汎用I/Fポート220は、通信インタフェース11を介して、第1の制御装置100の汎用I/Fポート120と接続される。汎用I/Fポート120、220に接続される通信インタフェース11としては、例えばイーサネット(登録商標)が使用される。
 入出力ポートであるI/Oポート270には、I/Oネットワーク12が接続される。
 RTOS230は、I/O処理部240、リアルタイム保証汎用インタフェース部250及び汎用OS監視部260が実行されるアーキテクチャである。I/O処理部240は、I/Oポート270での入力処理及び出力処理を実行する入出力処理部である。
 図1に示す制御システム1において、第1の制御装置100で汎用的な処理を行う汎用アプリケーション140が、汎用OS130上で実行される。そして、汎用アプリケーション140の処理結果は、汎用CPU110から汎用I/Fポート120を介して、第2の制御装置200の汎用I/Fポート220に送信され、MCU210に伝送される。
 リアルタイム保証汎用インタフェース部250は、汎用アプリケーション140の処理結果をI/Oネットワーク12に出力するタイミングを監視する。
 I/O処理部240は、I/Oポート270での入出力処理を実行するものであり、汎用アプリケーション140の処理結果を、I/Oポート270を介してI/Oネットワーク12に出力する。
 また汎用OS監視部260は、第1の制御装置100の汎用OS130に異常や故障などが発生しているか否かを、汎用アプリケーション140の処理結果を読み取ることで判断する。
 なお、図1に示す制御システム1の構成は、汎用の演算処理を、汎用CPU110を搭載した1台の制御装置100に割り当てたものであるが、汎用CPUを搭載した制御装置を複数台接続した構成にしてもよい。
 図2は、図1に示す制御システム1のリアルタイム保証汎用インタフェース部250の構成例を示す。
 リアルタイム保証汎用インタフェース部250は、複数入力データの到着確認処理部251、汎用CPUへのトリガ処理部252、汎用CPUからのデータ受信処理部253、及び出力データのタイミング補正処理部254によって構成される。
 複数入力データの到着確認処理部251は、I/Oポート270から入力される複数のセンサなどの入力データが到着しているか否かを判定する処理を行う。複数入力データの到着確認処理部251の判定には、例えば制御周期で定めた時刻などが使用される。
 汎用CPUへのトリガ処理部252は、MCU210から汎用CPU110に対して処理の開始や終了を知らせるトリガを発生させる処理を行う。
 汎用CPUからのデータ受信処理部253は、汎用アプリケーション140の処理結果が汎用CPU110から通信インタフェース11を介してMCU210に送信されてきたタイミングで、RTOS230にて処理結果を受信する処理を行う。
 出力データのタイミング補正処理部254は、処理結果をMCU210からI/Oポート270を介してI/Oネットワーク12へ出力するタイミングを補正する処理を行う。なお、出力データのタイミング補正処理部254の判定には、例えば制御周期で定めた時刻などが使用される。
 図3は、図1に示す制御システム1の汎用OS監視部260の構成例を示す。
 汎用OS監視部260は、応答性能監視処理部261、メモリ異常監視処理部262、及び安全制御データ生成処理部263によって構成される。
 応答性能監視処理部261は、MCU210から汎用CPU110に対して送信したデータを受信するまでの応答に要した時間やスループットを測定する処理を行い、汎用OSの応答性能を監視し、許容範囲内であるか否かを判定する。応答性能監視処理部261の判定には、例えば制御周期で定めた時刻などが使用される。
 メモリ異常監視処理部262は、制御装置100のメモリ160で異常が発生しているか否かを判定する処理を行う。メモリ異常監視処理部262の判定は、例えば予め定めた診断用データのライト動作とリード動作によって行われる。そして、メモリ160の一部で不良ブロックが発生していると判断した場合は、メモリ異常監視処理部262は、そのブロックを使用しないようにする指示処理を汎用CPU110に対して行う。
 安全制御データ生成処理部263は、応答性能監視処理部261での判定やメモリ異常監視処理部262での判断に基づいて、I/Oポート270からI/Oネットワーク12へ出力する制御データが安全処理となるような値を設定して出力する処理を行う。汎用CPU110やメモリ160の異常により、通信インタフェース11から汎用I/Fポート220を介してMCU210に送信された処理結果が正しくないと判定された場合には、MCU210は、安全制御データを生成してI/Oポート270へ出力する。MCU210が安全制御データを生成した場合には、MCU210は、処理結果を制御の出力として用いない。つまり、汎用CPU110やメモリ160の異常により、汎用OSでの応答時間が許容範囲外であった場合に、MCU210は、予め定められたデータである、安全制御データを生成してI/Oポート270へ出力する。
 図4は、図1に示す制御システム1の通信インタフェース11を流れる制御データのパケット構成の一例を示す。
 通信インタフェース11を流れる制御データは、先頭のヘッダ31に続いて、データ部30を有し、最後尾にFCS(Frame Check Sequence)39を有する。FCS39は、通信フレームデータを符号化した結果として得られるチェックデータである。
 データ部30には、ステータス32、時刻33、CPU番号34、OS種別35、コンテナ情報36、アプリ演算データ37、及び安全制御データ38が配置される。
 ステータス32は、汎用CPU110の状態が正常か異常かを示し、時刻33は、汎用OS130で処理した時刻を示す。CPU番号34は、汎用CPU110が複数の場合にその番号を数字で表したものである。
 また、OS種別35は、汎用OS130の種類を示し、コンテナ情報36は、汎用OS130でコンテナを実行している場合、動作中のコンテナの状態を示す。アプリ演算データ37は、汎用OS130でアプリケーションが処理した結果を示す。安全制御データ38は、I/Oに対して安全な制御出力を指示するデータである。
 なお、ステータス32から安全制御データ38までのデータ部30については、図4に示すフォーマットに限定されることなく、様々なフォーマットを採ることができる。
 図5は、第1の実施の形態例に係る制御システム1の動作の一例を示すタイミングチャートである。
 図5に示す例では、制御システム1は、一定の制御周期の期間内に、入力処理、演算処理、出力処理を行う。
 図5に示すタイミングチャートの上段は、汎用CPU110と汎用OS130で行う処理を示す。図5に示すタイミングチャートの下段は、MCU210とRTOS230で行う処理を示す。
 制御周期C1の開始タイミングで、RTOS230の入力タスクT1は、入力群I1を受け付ける。受け付け完了後、MCU210は、通信インタフェース11を介して汎用OS130の演算プロセスP1に送信する。
 RTOS230の出力受付タスクT2は、演算プロセスP1による出力結果を、通信インタフェース11を介して受信し、全ての出力結果を受信すると、出力タスクT3により出力群O1を出力する。制御周期C1が終了すると、次の制御周期C2にて入力タスクT4から同様の処理が実行される。
 ここで、汎用OS130の動作中には、ユーザが開発したアプリケーションプログラムとは別に、汎用OS専用の処理や管理プロセスが実行されている。そのため、予想していない大きなジッタJ1、J2及びJ3が発生することがある。図5の例では、汎用OS130で発生したジッタJ1及びJ3はアプリケーションプログラムの演算プロセスP1の処理時刻とは重複していない。しかし、MCU210とRTOS230を使用せずに汎用CPU110と汎用OS130によって制御装置100を構成してシステムを動作させる場合には、入力及び出力のタイミングに汎用OS130のジッタが発生することがある。
 図6は、第1の実施の形態例に係る制御システム1の動作の別の例を示すタイミングチャートである。
 図6のタイミングチャートは、図5で説明したタイミングチャートと比較して、制御周期の先頭で出力タスクを実行する部分が異なっている。図6のタイミングチャートの上段は、汎用CPU110と汎用OS130で行う処理を示す。図6のタイミングチャートの下段は、MCU210とRTOS230で行う処理を示す。
 図6の例の場合、制御周期C1の開始タイミングで、RTOS230の出力タスクT3は、出力群O1を出力する。次に入力群I1をRTOS230の入力タスクT1で受け付ける。
 RTOS230の入力タスクT1の受け付け完了後、RTOS230の入力タスクT1は、通信インタフェース11を介して汎用OS130の演算プロセスP1に送信する。RTOS230の出力受付タスクT2は、演算プロセスP1による出力結果を、通信インタフェースを介して受信し、全ての出力結果を受信する。制御周期C1が終了すると、次の制御周期C2にて出力タスクT6から同様の処理が実行される。
 ここで、汎用OS130で発生したジッタJ1及びJ3は、アプリケーションプログラムの演算プロセスP1の処理時刻とは重複していない。ジッタJ2は演算プロセスP1の実行中に発生し、最後の出力結果のRTOS230への送信に遅れが発生しているが、制御周期C1が終了するまでに出力結果がRTOS230へ送信されていればよいため、時間に余裕を持たせることができる。
 図7は、第1の実施の形態例に係る制御システム1の安全制御動作の一例を説明するタイミングチャートである。
 図7に示したタイミングチャートは、図5で説明したタイミングチャートと比較して、汎用OS130の演算プロセス処理が長期化し、出力タスクの実行が遅れている部分が異なっている。図7のタイミングチャートの上段は、汎用CPU110と汎用OS130で行う処理を示す。図7のタイミングチャートの下段は、MCU210とRTOS230で行う処理を示す。
 汎用OS130の演算プロセスP1において、最初の出力結果が通信インタフェース11を介してRTOS230に送信された後、大きなジッタJ2の発生により演算プロセスP1の処理が滞っている。RTOS230は、汎用OS監視部260から応答性能監視信号を送信し、汎用CPU110の状態と汎用OS130の状態を監視する。
 汎用OS130から正常な応答が無く、制御周期C1の時間内に出力結果が揃わない場合には、RTOS230の出力タスクT3は、出力群O1に対して出力結果が得られなかったことを判断して、出力結果O1を出力する。すなわち、出力先に接続しているI/Oの機能や構成などに応じて、停止信号を出力するか、前値保持のまま出力するか、縮退動作を指示する信号を出力するか、予め定めてあった安全制御データを出力するか、等をMCU210とRTOS230で判断して出力する。
 以上説明したように、第1の実施の形態例によれば、高い汎用性とリアルタイム性が要求される制御システム1において、汎用CPU110と汎用OS130を採用した場合に発生するジッタの影響を軽減することで、入力受付時刻と出力送信時刻のリアルタイム性を向上させることが可能になる。
 また更に、汎用OS130を有する制御システム1において、定められた時刻に出力結果を送信できない場合でも、制御システム1の安全を担保する制御データを時間内に出力することで、安全性を担保するシステムを構築することが可能になる。
[第2の実施の形態例]
 次に、本発明の第2の実施の形態例に係る制御システムを、図8から図11を参照して説明する。図8から図11において、第1の実施の形態例で説明した図1から図7と同一の箇所には同一符号を付し、重複説明は省略する。
 図8は、本発明の第2の実施の形態例に係る制御システム2の構成例を説明するブロック図である。
 図8に示す制御システム2は、汎用CPU111を有する第1の制御装置100aと、MCU210を有する第2の制御装置200aに加えて、汎用CPU112を有する第3の制御装置100bを備える。
 第2の制御装置200aは、第1の制御装置100aと通信するための汎用I/Fポート221を備え、第1の制御装置100aの汎用I/Fポート121と通信インタフェース11aを介して通信を行う。また、第2の制御装置200aは、第3の制御装置100bと通信するための汎用I/Fポート222を備え、第3の制御装置100bの汎用I/Fポート122と通信インタフェース11bを介して通信を行う。
 さらに、第2の制御装置200aは、比較照合部280を備える点が、第1の実施の形態例で説明した第2の制御装置200aと相違する。
 第1の制御装置100aと第3の制御装置100bは、それぞれ同一の構成であり、それぞれの汎用CPU111、112は、汎用OS131、132を実行する。また、それぞれの汎用OS131、132では、高信頼アプリケーション171、172が実行される。2つの高信頼アプリケーション171、172は、同一の処理を実行する。
 また、それぞれの汎用CPU111、112には、メモリ制御部151、152が接続され、それぞれのメモリ制御部151、152には、メモリ161、162が接続される。
 第1の制御装置100aでの高信頼アプリケーション171の処理結果は、汎用I/Fポート221を介してMCU210のRTOS230で受信される。第3の制御装置100bでの高信頼アプリケーション172の処理結果は、汎用I/Fポート222を介してMCU210のRTOS230で受信される。
 この2つの高信頼アプリケーション171、172の処理結果は、比較照合部280において比較される。2つの汎用CPU111、112に故障などが発生していなければ、比較照合部280での照合結果は一致するが、故障などが発生した場合は照合結果が不一致になる。これにより、第2の制御装置200aは、汎用CPU111、112で生じた障害を検出する。
 図9は、本発明の第2の実施の形態例に係る制御システム2の動作の一例を示すタイミングチャートである。
 図9に示す例では、制御システム2は、一定の制御周期の期間内に、入力処理、高信頼処理、出力処理を行う。
 図9のタイミングチャートの上段は、第1の制御装置100aの汎用CPU111と汎用OS131で行う処理を示す。図9のタイミングチャートの中段は、第3の制御装置100bの汎用CPU112と汎用OS132で行う処理を示す。図9のタイミングチャートの最下段は、第2の制御装置200aのMCU210とRTOS230で行う処理を示している。
 制御周期C11の開始タイミングで、RTOS230は、入力群I11を入力タスクT11で受け付ける。入力タスクT11における受け付け完了後、第1の制御装置100aの汎用CPU111は、通信インタフェース11aを介して汎用OS131の高信頼プロセスP11をMCU210に送信する。また、第3の制御装置100bの汎用CPU112は、通信インタフェース11bを介して汎用OS132の高信頼プロセスP12をMCU210に送信する。
 MCU210の比較照合タスクT12は、高信頼プロセスP11及びP12による出力結果を通信インタフェース11a、11bを介して受信し、全ての出力結果を受信すると比較照合処理を行い、出力タスクT13により出力群O11を出力する。制御周期C11における処理が終了すると、第2の制御装置200aは、次の制御周期C12にて入力タスクT14から同様の処理を行う。
 ここで、汎用OS131、132の動作中は、ユーザが開発したアプリケーションプログラムとは別に、汎用OS専用の処理や管理プロセスが実行されている。そのため、予想していない大きなジッタ発生することがある。
 図9の例では、ジッタJ12により高信頼プロセスP11の結果出力が遅れ、ジッタJ15により高信頼プロセスP12の結果出力が遅れる。ここで、RTOS230の比較照合タスクT12により、それぞれの出力結果の受信タイミングを合わせてから比較されるので、各高信頼プロセスの出力タイミングの不一致により、比較結果が誤って検出されることがない。
 図10は、本発明の第2の実施の形態例に係る制御システム2の別の構成例を説明するブロック図である。
 図10に示す制御システム3は、図8に示す制御システム2の構成に加えて、さらに汎用CPU113を有する第4の制御装置100cを備える。
 第2の制御装置200bは、既に図8で説明した汎用I/Fポート221、222に加えて、さらに汎用I/Fポート223を備える。第2の制御装置200bは、汎用I/Fポート223と通信インタフェース11cを介して、第4の制御装置100cの汎用I/Fポート123と通信を行う。
 さらに、第2の制御装置200bは、図8に示す比較照合部280の代わりに、多数決判定部290を備える。
 第1の制御装置100aと第3の制御装置100bと第4の制御装置100cは、それぞれ同一の構成である。第4の制御装置100cが備える汎用CPU113では、汎用OS133が実行され、汎用OS133で高信頼アプリケーション173が実行される。第1の制御装置100aと第3の制御装置100bと第4の制御装置100cの3つの高信頼アプリケーション171、172、173は、同一の処理を実行する。
 また、汎用CPU113には、メモリ制御部153が接続され、メモリ制御部153には、メモリ163が接続される。
 第4の制御装置100cでの高信頼アプリケーション173の処理結果は、汎用I/Fポート223を介してMCU210のRTOS230で受信される。
 3つの高信頼アプリケーション171、172、173の処理結果は、多数決判定部290において比較され、多数決判定がなされる。
 第1の制御装置100aと第3の制御装置100bと第4の制御装置100cの各汎用CPU111、112、113に故障などが発生していなければ、多数決判定部290での多数決判定結果は一致するが、故障などが発生した場合はいずれかの結果が不一致となる。多数決判定部290では、一致している多数の結果が採用されて、I/Oポート270を介してI/Oネットワーク12に結果が出力される。
 図11は、図10に示す制御システム3の動作の一例を示すタイミングチャートである。
 図11に示す例では、制御システム3は、一定の制御周期の期間内に、入力処理、高信頼処理、出力処理を行う。
 図11のタイミングチャートの最上段は、第1の制御装置100aの汎用CPU111と汎用OS131で行う処理を示す。図11のタイミングチャートの上から2段目は、第3の制御装置100bの汎用CPU112と汎用OS132で行う処理を示す。図11のタイミングチャートの上から3段目は、第4の制御装置100cの汎用CPU113と汎用OS133で行う処理を示す。図11のタイミングチャートの最下段は、第2の制御装置200bのMCU210とRTOS230で行う処理を示す。
 制御周期C21の開始タイミングで、RTOS230は、入力群I21を入力タスクT21で受け付ける。入力タスクT21による受け付け完了後、第2の制御装置200bは、通信インタフェース11a、11b、11cを介して汎用OS111の高信頼プロセスP21、汎用OS112の高信頼プロセスP22、及び汎用OS113の高信頼プロセスP23の実行を送信する。
 MCU210の多数決判定タスクT22は、高信頼プロセスP21、P22及びP23による出力結果を、通信インタフェース11a、11b、11cを介して受信する。そして、全ての出力結果を受信すると、多数決判定タスクT22は多数決判定処理を行い、出力タスクT23により出力群O21を出力する。制御周期C21が終了すると、第2の制御装置200bは、次の制御周期C22にて入力タスクT24から同等の処理を行う。
 ここで、それぞれの汎用OS111、112、113の動作中は、ユーザが開発したアプリケーションプログラムとは別に、汎用OS専用の処理やプロセスが実行されている。そのため、予想していない大きなジッタ発生することがある。例えば、図11の例では、ジッタJ22により高信頼プロセスP21の結果出力が遅れ、ジッタJ25により高信頼プロセスP22の結果出力が遅れ、ジッタJ28により高信頼プロセスP23の結果出力が遅れている。ここで、RTOS230の多数決判定タスクT22では、出力結果の受信タイミングを合わせてから多数決処理するので、各高信頼プロセスの出力タイミングの不一致により多数決結果が誤って検出されてしまうことがない。
 この第2の実施の形態例によれば、汎用CPUで故障が発生していなくても、汎用OSで発生したジッタなどの影響により制御データパケットの受信タイミングに大きなずれが生じたことで照合結果や多数決結果が不一致となる状況を回避できる。これにより、高信頼が必要とされる制御システムにおいて、障害の誤検出頻度を低下させ、リアルタイム性の高い制御システムを実現することができる。
[第3の実施の形態例]
 次に、本発明の第3の実施の形態例に係る制御システムを、図12を参照して説明する。図12において、第1の実施の形態例で説明した図1から図7と同一の箇所には同一符号を付し、重複説明は省略する。
 図12は、本発明の第3の実施の形態例に係る制御システム4の構成例を説明するブロック図である。
 図12に示す制御システム4は、第2の制御装置200cが、図1で示した制御システム1の第2の制御装置200と比較して、FCS情報上書き部271を備える点で相違する。
 FCS情報上書き部271は、汎用I/Fポート220を介して制御データパケットを受信し、汎用CPU110が異常状態であった場合に、図4で示した制御データパケットのFCS39を書き換える処理を行う。そして、I/Oポート270は、FCS情報上書き部271により書き換えられたFCS39が付加された制御データパケットをI/Oネットワーク12へ送信する。
 この第3の実施の形態例によれば、第1の制御装置100の汎用CPU110及び汎用OS130で異常状態が発生した場合に、MCU210を有する第2の制御装置200cによって制御データパケットのFCS39を書き換える処理が実行される。これにより、I/Oネットワーク12を介して制御データパケットを受信するI/O装置側では、FCS39のチェックで不正な制御データパケットと判別され、受信した制御データパケットが破棄され、制御システムを安全な状態に保つことが可能となる。この場合、MCU210を有する第2の制御装置200cが予め制御システムを安全に保つためのI/Oの安全制御データ38(図4)の値を予め指定する必要がない。このため、第3の実施の形態例によれば、低コストに制御システムの安全を維持することができる。
[各実施の形態例に係る制御システムの実装形態]
 次に、ここまで説明した本発明の各実施の形態例に係る制御システムの実装形態(実装例1から実装例4)を、図13から図16を用いて説明する。
 図13は、実装形態の第1の例(実装例1)を示す図である。
 図13に示す制御システムは、基板301に実装されたチップパッケージ300の内部に汎用CPU110とMCU210が配置され、1つのチップパッケージ300に、図1に示す第1の制御装置100と第2の制御装置200とが構成される。
 チップパッケージ300の内部で、汎用CPU110とMCU210とは、汎用I/Fポート120及び220(不図示)を介して通信インタフェース11により接続されている。MCU210には、I/Oポート270(不図示)を介してI/Oネットワーク12に接続されている。汎用CPU110は、汎用の通信インタフェースを介して通信ネットワーク13に接続されている。このように汎用の通信インタフェースを用いることで、制御システムは、SoC(Systems on Chip)としての実装が可能である。
 図14は、実装形態の第2の例(実装例2)を示す図である。
 図14に示す制御システムは、汎用CPUを搭載した装置である汎用CPU搭載ユニット311と、MCUを搭載した装置であるMCU搭載ユニット310が、汎用I/Fポート120及び220を介して通信インタフェース319により接続されている。これらの汎用CPU搭載ユニット311とMCU搭載ユニット310は、電源ユニット312とともにバックプレーン313に実装されている。
 汎用CPU搭載ユニット311には通信ネットワーク318が接続されている。MCU搭載ユニット310にはI/Oネットワーク317が接続される。このI/Oネットワーク317を経由して、MCU搭載ユニット310には、I/O装置314、315及び316が接続されている。このように汎用の通信インタフェースを用いることで、汎用CPU搭載ユニット311が通信ネットワーク処理を行い、MCU搭載ユニット310がI/O装置と入出力制御を行う実装構成を採ることが可能である。
 図15は、実装形態の第3の例(実装例3)を示す図である。
 図15に示す制御システムでは、汎用I/Fポート320aを有する汎用CPU搭載ユニット320に対し、その汎用I/Fポート320aに接続できる形状のMCU搭載ドングル327が接続される。同様に、汎用I/Fポート321aを有する汎用CPU搭載ユニット321に対し、その汎用I/Fポート321aに接続できる形状のMCU搭載ドングル228が接続される。
 MCU搭載ドングル327及び328には、I/Oネットワーク326が接続され、このI/Oネットワーク326を経由してMCU搭載ドングル327及び328にI/O装置323、324及び325が接続されている。このように汎用I/Fポート320a、321aを介した構成とすることで、MCUを搭載した装置であるMCU搭載ドングル327、328によってI/O装置と入出力制御を行う実装を採ることが可能である。
 図16は、実装形態の第4の例(実装例4)を示す図である。
 図16に示す制御システムは、図15に示す実装例4と比較して、汎用I/Fポート331aを有する汎用CPU搭載ユニット331を追加し、MCU搭載ドングルの機能を集約したI/O制御統合ユニット336を追加した部分が異なっている。各汎用I/Fポート320a、321a、331aは、通信インタフェース333、334、335によりI/O制御統合ユニット336に接続される。
 このように汎用の通信インタフェースを用いることで、機器の構成変更に柔軟に対応可能な制御システムの実装が可能となる。
 図13から図16に示す実装形態に示すように、汎用の通信インタフェースと汎用CPUとMCUとを組み合わせて、様々な形態で制御システムを構成することができる。ここで、I/Oの入出力制御機能を汎用CPUから分離しMCUで処理させることで、リアルタイム性と拡張性が要求される制御システムを柔軟に実装することが可能になる。
 さらに、汎用の通信インタフェースを用いるため、既設の制御システムに対し、リアルタイム性を維持しながら新機能などを低コストで追加することができる。
 なお、図13から図16に示す実装形態における汎用CPU搭載ユニット、MCU搭載ユニット、MCU搭載ドングルなどの設置数は、上述の実装例で示した数に限定されるものではなく、拡張して任意の数で実装することができる。例えば図13の実装例は、図1の構成を実装する場合としたが、図8、図10、図12の構成を実装してもよい。
[各実施の形態例に係る制御システムをプラントなどの制御に適用した例]
 次に、本発明の各実施の形態例に係る制御システムをプラントなどの各種設備の制御に適用した例(適用例1から適用例4)を、図17から図20を用いて説明する。
 図17は、本発明の制御システムを鉄鋼の熱延設備に適用した場合の例(適用例1)を示す。
 図17に示す熱延設備は、制御ネットワーク600に接続された端末500が制御システム400、401及び402の制御を行う。
 加熱炉801で熱された鋼は熱延設備800に投入される。温度センサ700によって得られた加熱炉801の温度は、フィールドバス601を経由して制御システム400で取得される。制御システム400には、汎用CPU搭載の制御装置100Aが内蔵されている。
 制御システム400は、PI/O(Programmable Input/Output)701を制御し、粗圧延機802の回転数を調整する。制御システム401は、PI/O702を制御し、仕上圧延機803の回転数や張力を調整する。温度センサ703によって得られた冷却設備804の温度は、制御システム402で取得される。制御システム402は、PI/O 704を制御し、巻取機805の回転数や方向を調整する。
 ここで、品質の良い鋼板を精製する上で重要となる仕上圧延機803を制御する制御システム401には、高い処理性能とリアルタイム性が要求される。そのため図17に示す鉄鋼システムでは、高性能とリアルタイム性能が要求される制御システム401は、MCU搭載の制御装置200Bと汎用CPU搭載の制御装置100Bを汎用インタフェースで接続した構成としている。
 高性能な処理を制御装置100Bで実行するとともに、その処理結果を、汎用インタフェースを介して制御装置200Bと共有し、PI/O702とリアルタイムな制御処理を行う。
 また、精巧な鋼板を精製する上で重要となる巻取機805を制御する制御システム402についても高い処理性能とリアルタイム性が要求される。そのため制御システム402は、MCU搭載の制御装置200Cと汎用CPU搭載の制御装置100Cを汎用インタフェースで接続した構成としている。温度センサ703から得られた温度データを制御装置100Cで受信して演算し、その演算結果を、汎用インタフェースを介して制御装置200Cと共有し、制御装置200Cは、PI/O704に対しリアルタイムに制御処理を行う。
 温度センサ700及びPI/O701を制御する制御システム400は、ここでは高いリアルタイム性が不要な処理を担っているため、汎用CPUを搭載した制御装置100Aのみで処理を行う。
 本発明の各実施の形態例を、図17に示すような高い処理性能とリアルタイム性が要求される鉄鋼システムに適用することで、専用装置を用意することなく汎用部品と汎用インタフェースの活用によって実現でき、かつ低コストで提供することができる。
 図18は、本発明の制御システムを水プラント(水処理システム)に適用した場合の例(適用例2)を示す。
 図18に示す水処理システムは、情報ネットワーク610に接続された情報端末510、監視装置512、ファイルサーバ513により、制御ネットワーク611に接続された制御システム410、411及び412の制御を行う。
 制御システム410は、フィールドバス612を介してPI/O710とPI/O711から高圧盤810及び低圧盤811をそれぞれ制御する。
 制御システム411は、シーケンサ712を介してポンプ812とブロワ813によって送り出す水量を調節する。
 水質計814で得られた水質とカメラ815が撮影したフィールド画像データは、シーケンサ713で収集され、フィールドバス613を介して制御システム412で取得される。
 これらの制御システム410、411及び412は、制御ネットワーク611を介して接続され、データを共有する。
 ここで、品質の高い水処理を行う上で、ポンプ812とブロワ813に接続するシーケンサ712を制御する制御システム411には、高い処理性能とリアルタイム性が要求される。そのため、図18に示す構成の水処理システムでは、高性能とリアルタイム性能が要求される制御システム411は、MCU搭載の制御装置200Eと汎用CPU搭載の制御装置100Eとを、汎用インタフェースで接続した構成としている。高性能な処理を制御装置100Eで実行するとともに、その処理結果を、汎用インタフェースを介して制御装置200Eと共有し、シーケンサ712と入出力のリアルタイムな制御処理を行う。
 水質計814とカメラ815を制御する制御システム412、及び高圧盤810と低圧盤811を制御する制御システム410は、ここでは高いリアルタイム性が不要な処理を担っているため、汎用CPUを搭載した制御装置100D及び100Fによりそれぞれ処理を行う。
 本発明の各実施の形態例を、図18に示すような高い処理性能とリアルタイム性が要求される水処理システムに適用することで、水処理システムの制御システムを、専用装置を用意することなく汎用部品と汎用インタフェースの活用によって実現でき、かつ低コストで提供することができる。
 図19は、本発明の制御システムをFAシステムに適用した場合の例(適用例3)を示す。
 図19に示すFAシステムは、情報ネットワーク620に接続されたサーバ520と監視端末521により、制御ネットワーク621に接続された制御システム420の制御を行う。
 ベルトコンベア825に載せられた製品はカメラ821で撮影されて形状データがPLC(Programmable Logic Controller)720で処理され、PLC721がピッキングロボット822を制御し所定の位置に配置する。PLC722が制御するコンベアモータ823によってベルトコンベア825が所定の速度で移動し、PLC723が制御する塗装ロボット824が製品の表面を塗装する。
 このFAシステムでは、ベルトコンベア825の制御に必要な複数のPLCを制御システム420で一括制御しているため、高品質な塗装を行うには、制御システム420で高性能かつリアルタイムな処理を行う必要がある。
 そのため図19に示すFAシステムでは、高性能とリアルタイム性が要求される制御システム420は、MCU搭載の制御装置200Gと、汎用CPU搭載の制御装置100Gとを汎用インタフェースで接続した構成としている。高性能な処理を制御装置100Gで実行するとともに、その処理結果を、汎用インタフェースを介して制御装置200Gからリアルタイムに制御ネットワーク621に送信して分散制御処理を行う。
 本発明の各実施の形態例を、図19に示すような高い処理性能とリアルタイム性が要求されるFAシステムに適用することで、専用装置を用意することなく汎用部品と汎用インタフェースの活用によって実現でき、かつ低コストで提供することができる。
 図20は、本発明の制御システムを発電制御システムに適用した場合の例(適用例4)を示す。
 図20に示す発電制御システムは、制御ネットワーク631に接続された制御システム733により全体の発電制御が行われる。
 この発電制御システムでは、スイッチ831が押されたことによる制御データは電気制御盤830を介して制御システム730の制御装置100Jに送信され、システムが起動する。システムが起動すると、制御システム732が、燃焼するボイラ835を制御するボイラ制御盤834を制御し、制御システム731が、回転するタービン833の回転数を、タービン制御盤832を介して監視する。制御システム731は、この監視状態を、制御ネットワーク631を介して制御システム733に伝えることで全体の制御が行われる。
 ここで、安全に発電をする上で重要となるボイラ制御盤834を制御する制御システム732には、ボイラを安全に動作させ続けるための高い可用性と安全性が要求される。そのため、図20に示す発電制御システムの制御システム732では、第2の実施の形態例で説明した図10の構成を採用している。
 すなわち、汎用CPUを搭載した3台の制御装置100L、100M及び100Nを用意する。そして、それぞれの制御装置100L、100M及び100Nが、それぞれ制御ネットワーク631から制御データを入力して演算を行い、MCUを搭載した制御装置200Lに対して通信インタフェースを介して演算結果を出力する。MCUを搭載した制御装置200Lでは、多数決判定処理が実行される。
 また、安全に発電をする上で必要な監視制御を行う制御システム733には、発電システムを常時監視し続けるための高い信頼性と安全性が要求される。そのため、図20に示す発電制御システムが備える制御システム733では、第2の実施の形態例で説明した図8の構成を採用している。
 すなわち、汎用CPUを搭載した制御装置100G及び100Hがそれぞれ演算を行い、MCUを搭載した制御装置200Gに対して通信インタフェースを介して出力し、制御装置200Gで比較照合処理が実行される。
 本発明の各実施の形態例を、図20に示すような高い可用性が要求される発電制御システムに適用することで、可用性と稼働率の高い制御システムを実現することができる。すなわち、複数の装置で同一演算を行った出力を比較照合または多数決処理を行う場合に、汎用CPUで故障が発生していなくても、汎用OSで発生したジッタなどの影響により制御データの転送タイミングに大きなずれが生じたことで照合結果や多数決結果が不一致となる状況を回避できる。これにより、障害の誤検出頻度を低下させ、可用性と稼働率の高い発電制御システムを実現することができる。
 なお、本発明の各実施の形態例の制御システムの適用例は、図17から図20に示す適用例に限定されるものではなく、例えば、エレベーター制御システム、鉄道制御システム、自動車制御システム、建設機械制御システムなど、種々のシステムに使用することができる。
 また、本発明は上記した実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態例は本発明を分かりやすく説明するために、制御システム及びその制御方法を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成要素を有するものに限定されない。また、ある実施の形態例の構成要件の一部を、他の実施の形態例の構成要素の一部に置き換えることが可能である。また、ある実施の形態例の構成要件に他の実施の形態例の構成要件を加えることも可能である。また、各実施の形態例の構成要件の一部について、他の実施の形態の構成要素の一部に、追加、削除、置換をすることも可能である。
 1,2,3,4…制御システム、11,11a,11b,11c…通信インタフェース12…I/Oネットワーク、13…通信ネットワーク、30…データ部、31…ヘッダ、32…ステータス、33…時刻、34…CPU番号、35…OS種別、36…コンテナ情報、37…アプリ演算データ、38…安全制御データ、39…FCS、100,100A,100a,100B,100b,100C,100c,100D,100E,100G,100J,100L…制御装置、110,111,112,113…汎用CPU、120,121,122,123…汎用I/Fポート、140…汎用アプリケーション、150,151,153…メモリ制御部、160,161,163…メモリ、171,172,173…高信頼アプリケーション、200,200a,200b,200c,200B,200C,200E,200G,200L…制御装置、210…MCU、220,221,222,223…汎用I/Fポート、228…MCU搭載ドングル、230…RTOS、240…I/O処理部、250…リアルタイム保証汎用インタフェース部、251…到着確認処理部、252…トリガ処理部、253…データ受信処理部、254…タイミング補正処理部、260…汎用OS監視部、261…応答性能監視処理部、262…メモリ異常監視処理部、263…安全制御データ生成処理部、270…I/Oポート、271…FCS情報上書き部、280…比較照合部、290…多数決判定部、300…チップパッケージ、301…基板、310…MCU搭載ユニット、311…汎用CPU搭載ユニット、312…電源ユニット、313…バックプレーン、314…I/O装置、317…I/Oネットワーク、318…通信ネットワーク、319…通信インタフェース、320,321…汎用CPU搭載ユニット、323…I/O装置、326…I/Oネットワーク、327…MCU搭載ドングル、331…汎用CPU搭載ユニット、333…通信インタフェース、336…I/O制御統合ユニット、400,401,402,410,411412,420…制御システム、500…端末、510…情報端末、512…監視装置、513…ファイルサーバ、520…サーバ、521…監視端末、600…制御ネットワーク、601…フィールドバス、610…情報ネットワーク、611…制御ネットワーク、612,613…フィールドバス、620…情報ネットワーク、621,631…制御ネットワーク、700,703…温度センサ、712,713…シーケンサ、730,731,732,733…制御システム、800…熱延設備、801…加熱炉、802…粗圧延機、803…仕上圧延機、804…冷却設備、805…巻取機、810…高圧盤、811…低圧盤、812…ポンプ、813…ブロワ、814…水質計、815,821…カメラ、822…ピッキングロボット、823…コンベアモータ、824…塗装ロボット、825…ベルトコンベア、830…電気制御盤、831…スイッチ、832…タービン制御盤、833…タービン、834…ボイラ制御盤、835…ボイラ

Claims (7)

  1.  第1のオペレーションシステムで動作する第1の制御ユニットと、
     第2のオペレーションシステムで動作する第2の制御ユニットと、
     前記第2の制御ユニットに接続された入出力ポートと、
     前記第1の制御ユニットと前記第2の制御ユニットとを接続する汎用インタフェースと、を備え、
     前記第2のオペレーションシステムは、
     前記汎用インタフェースを介して前記第1のオペレーションシステムの情報を取得する監視部と、
     前記入出力ポートでの入出力を処理する入出力処理部と、
     前記入出力処理部で入出力するデータを、前記汎用インタフェースを介して前記第1の制御ユニットに送受信する汎用インタフェース処理部と、を有する
     制御システム。
  2.  前記汎用インタフェース処理部は、前記入出力ポートから入力される入力データの到着確認処理と、前記第1のオペレーションシステムへプロセス開始を伝えるトリガ処理と、前記第1のオペレーションシステムからの複数データの受信確認処理と、前記入出力ポートへ出力する出力データの出力タイミングの変更処理とを行う
     請求項1に記載の制御システム。
  3.  前記第2のオペレーションシステムが備える監視部は、前記第1のオペレーションシステムの応答性能を監視し、許容範囲内であるか否かを判定する判定処理を行う
     請求項2に記載の制御システム。
  4.  前記判定処理で、前記第1のオペレーションシステムの応答時間が許容範囲外であったと前記監視部が判定した場合に、前記第2のオペレーションシステムが、予め定められたデータを前記入出力ポートに対して出力する
     請求項3に記載の制御システム。
  5.  さらに、第3のオペレーションシステムで動作する第3の制御ユニットを備え、
     前記汎用インタフェースは、前記第2の制御ユニットと前記第3の制御ユニットとを接続し、
     前記第2のオペレーションシステムは、前記汎用インタフェースを介して受信する前記第1のオペレーションシステムによるデータと前記第3のオペレーションシステムによるデータとを比較照合する比較照合部を有する
     請求項1に記載の制御システム。
  6.  第1のオペレーションシステムで動作する第1の制御ユニットと、
     第2のオペレーションシステムで動作する第2の制御ユニットと、
     前記第2の制御ユニットに接続された入出力ポートと、
     前記第1の制御ユニットと前記第2の制御ユニットとを接続する汎用インタフェースと、を備えた制御システムに適用される制御方法であり、
     前記第2のオペレーションシステムは、前記入出力ポートからの入力を受け付ける入力タスクを実行し、
     前記入力タスクの処理後に前記汎用インタフェースを介して前記第1のオペレーションシステムに前記入力タスクで受け付けた入力を送信し、
     前記第1のオペレーションシステムが演算プロセスを実行しているタイミングで、前記第2のオペレーションシステムは、演算結果を受け付けるタスクを実行し、
     前記第1のオペレーションシステムは、前記演算プロセスの演算結果を、前記汎用インタフェースを介して前記第2のオペレーションシステムに送信し、
     前記第2のオペレーションシステムは、前記演算結果を前記入出力ポートへ出力する出力タスクを実行する
     制御方法。
  7.  前記制御システムは、さらに、第3のオペレーションシステムで動作する第3の制御ユニットを備え、前記汎用インタフェースは、前記第2の制御ユニットと前記第3の制御ユニットとを接続する構成とし、
     前記第2のオペレーションシステムは、前記入出力ポートからの入力を受け付ける入力タスクを実行し、
     前記入力タスクの処理後に前記汎用インタフェースを介して前記第1のオペレーションシステム及び前記第3のオペレーションシステムにそれぞれ前記入出力ポートからの入力を送信し、
     前記第1のオペレーションシステム及び前記第3のオペレーションシステムがそれぞれ演算プロセスを実行しているタイミングで、前記第2のオペレーションシステムは比較照合データを受け付けるタスクを実行し、
     前記第1のオペレーションシステム及び前記第3のオペレーションシステムでの演算プロセスの演算結果を、それぞれ前記汎用インタフェースを介して前記第2のオペレーションシステムに送信し、
     前記第2のオペレーションシステムは、前記演算結果の受信を確認した後に、比較照合処理を行い、照合結果に基づいて前記入出力ポートへ出力する出力タスクを実行する
     請求項6に記載の制御方法。
PCT/JP2022/006268 2021-04-07 2022-02-16 制御システム及び制御方法 WO2022215363A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021065475A JP2022160940A (ja) 2021-04-07 2021-04-07 制御システム及び制御方法
JP2021-065475 2021-04-07

Publications (1)

Publication Number Publication Date
WO2022215363A1 true WO2022215363A1 (ja) 2022-10-13

Family

ID=83546333

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006268 WO2022215363A1 (ja) 2021-04-07 2022-02-16 制御システム及び制御方法

Country Status (2)

Country Link
JP (1) JP2022160940A (ja)
WO (1) WO2022215363A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358106A (ja) * 2001-05-31 2002-12-13 Omron Corp 安全コントローラ
WO2015025367A1 (ja) * 2013-08-20 2015-02-26 株式会社小松製作所 建設機械用コントローラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358106A (ja) * 2001-05-31 2002-12-13 Omron Corp 安全コントローラ
WO2015025367A1 (ja) * 2013-08-20 2015-02-26 株式会社小松製作所 建設機械用コントローラ

Also Published As

Publication number Publication date
JP2022160940A (ja) 2022-10-20

Similar Documents

Publication Publication Date Title
JP5916716B2 (ja) 自動化作業セルを制御するための方法
JP6382225B2 (ja) 制御システム
DK2569130T4 (en) Procedure for controlling an automated work cell
WO2001067194A1 (fr) Robot, systeme robotique et procede de commande robotisee
US20130132059A1 (en) Multiple plc simulation system
US20130274900A1 (en) Alternative synchronization connections between redundant control devices
CN104690726B (zh) 一种空间机械臂运动控制系统
US10678231B2 (en) Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities
WO2022215363A1 (ja) 制御システム及び制御方法
US10244043B1 (en) Management system for a plant facility and method for managing a plant facility
CN112296995B (zh) 机器人协作搬运系统
CN107153351A (zh) 作动器的冗余控制系统以及用于其冗余控制的方法
JP4993208B2 (ja) 産業用コントローラ用機器
JP4899615B2 (ja) 二重化プログラマブルコントローラの等値化方式
CN116490829A (zh) 用于控制具有控制冗余的自动化系统的方法以及自动化系统
Kaiser et al. Modular control architecture for reconfigurable fabrication systems for prefabrication in construction
US8572291B2 (en) Electronic board and system comprising a plurality of such boards
US11513490B2 (en) I/O mesh architecture for a safety instrumented system
US20220121179A1 (en) Control system and control method therefor
JP4558111B2 (ja) 三重系フォールトトレラントシステムのデータ変更方法
US20110125321A1 (en) Method And Device For Controlling Manipulators
CN112276976B (zh) 基于云控平台的功能机器人控制系统
US20110314258A1 (en) Method and apparatus for operating a programmable logic controller (plc) with decentralized, autonomous sequence control
Wilkening et al. Modular System Architecture for Large Multi-Axis Motion Control Systems in Automation
WO2022180805A1 (ja) 機器制御システム、機器制御方法、および機器制御プログラム

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: 22784348

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: 22784348

Country of ref document: EP

Kind code of ref document: A1