WO2020208915A1 - 制御方法および制御装置 - Google Patents

制御方法および制御装置 Download PDF

Info

Publication number
WO2020208915A1
WO2020208915A1 PCT/JP2020/004129 JP2020004129W WO2020208915A1 WO 2020208915 A1 WO2020208915 A1 WO 2020208915A1 JP 2020004129 W JP2020004129 W JP 2020004129W WO 2020208915 A1 WO2020208915 A1 WO 2020208915A1
Authority
WO
WIPO (PCT)
Prior art keywords
diagnostic
unit
diagnosis
memory
data
Prior art date
Application number
PCT/JP2020/004129
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 WO2020208915A1 publication Critical patent/WO2020208915A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components

Definitions

  • the present invention relates to a control device and a control method.
  • a controller equipped with a control device is used, and a control system is constructed.
  • the control device mounted on the controller acquires the state quantities such as current, temperature, and pressure from the field device, and outputs the control data (signal) to the operating device while measuring the state quantities. Control the operating equipment in real time.
  • operating data state quantity
  • IoT Internet of Things
  • control device is equipped with a high-performance CPU (Central Processing Unit), OS (Operating System), application program, etc., and the circuit configuration can be dynamically changed (reconfigurable) FPGA (reconfigurable). Field Programmable Gate Array) is used.
  • CPU Central Processing Unit
  • OS Operating System
  • application program etc.
  • circuit configuration can be dynamically changed (reconfigurable) FPGA (reconfigurable). Field Programmable Gate Array) is used.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2015-106751
  • Patent Document 1 an FPGA in which at least a part of a circuit is dynamically reconstructed, a ROM for storing circuit configuration information for reconstructing at least a part of a circuit in the FPGA, and a circuit configuration stored in the ROM are described.
  • An image processing apparatus having a RAM that can store a copy of information and can be read at a speed higher than that of a ROM is described.
  • at least a part of the FPGA is reconfigured into a circuit that can execute the processing required by the job by using the circuit configuration information according to the job to be executed, and the real-time processing using the RAM is not being executed.
  • the FPGA is reconfigured using the circuit configuration information stored in the RAM, and when real-time processing using the RAM is in progress, the FPGA is reconfigured using the circuit configuration information stored in the ROM. It is stated that it will be reconstructed (see summary).
  • Patent Document 2 in order to shorten the restart time of the FPGA having a built-in CPU, the FPGA configuration device includes a first memory that holds initial configuration data for configuring a startup circuit in the FPGA.
  • the FPGA has a second memory that holds the configuration data for the main circuit for configuring the main circuit, and a data update unit that updates the configuration data for the main circuit based on the state of the FPGA in operation. It is described that the initial configuration data is provided to the FPGA when the power is turned on, and the configuration data for the main circuit is provided in response to the operation of the startup circuit (see summary).
  • Patent Document 1 describes a technique for reconfiguring at least a part of the FPGA into a circuit capable of executing the processing required by the job according to the job to be executed. Further, Patent Document 2 describes a technique for shortening the restart time of an FPGA having a built-in CPU.
  • Patent Document 1 and Patent Document 2 do not describe that a diagnosis is performed using the configured circuit. Further, in Patent Document 1 and Patent Document 2, for example, when an OS or an application program is applied to a control device, a predetermined time is required for diagnosis at startup or restart, so that the reliability as a control device is required. There is no mention of the issue of difficulty in securing the above.
  • the present invention provides a control device and a control method that execute a diagnosis using the configured circuit, shorten the time required for the diagnosis at the time of start-up or restart, and ensure reliability. ..
  • control device of the present invention includes a storage unit and a reconfigurable FPGA (field programmable gate array), and the FPGA constitutes a start control unit at startup or restart.
  • the activation control unit constitutes an FPGA with a diagnostic unit, and the diagnostic unit executes a diagnosis of the storage unit.
  • control method of the present invention is a control method for executing a diagnosis of a storage unit, and a start control unit is configured in an FPGA that can be reconfigured at startup or restart, and the start control unit is in the FPGA.
  • the diagnostic unit constitutes the diagnostic unit, and the diagnostic unit executes the diagnosis of the storage unit.
  • a control device and a control method that perform a diagnosis by using the configured circuit, shorten the time required for the diagnosis at startup and restart, and ensure reliability. be able to.
  • FIG. It is a block diagram explaining the control device 100 which concerns on Example 1.
  • FIG. It is a block diagram explaining the activation control unit 11 which concerns on Example 1.
  • FIG. It is a block diagram explaining the diagnosis unit 12 which concerns on Example 1.
  • FIG. It is a flowchart explaining the control method which concerns on Example 1.
  • FIG. It is a timing chart diagram explaining the flow until the control device is activated. It is a timing chart diagram explaining the flow until the control device which concerns on Example 1 starts.
  • FIG. It is a block diagram explaining the diagnosis transfer part 14 which concerns on Example 2.
  • FIG. It is a timing chart diagram explaining the flow until the control device which concerns on Example 2 starts.
  • It is a block diagram explaining the control device 300 which concerns on Example 3.
  • FIG. It is a block diagram explaining the diagnosis part 16 which concerns on Example 3.
  • FIG. It is a block diagram explaining the control device 400 which concerns on Example 4.
  • FIG. It is a block diagram explaining the parallel diagnosis unit 17 which concerns on Example 4.
  • FIG. It is explanatory drawing explaining the case where the control apparatus which concerns on this Example is applied to a plant P1. It is explanatory drawing explaining the case where the control device which concerns on this Example is applied to a plant P2.
  • control device 100 First, the control device 100 according to the first embodiment will be described.
  • FIG. 1 is a block diagram illustrating a control device 100 according to the first embodiment.
  • the control device 100 described in the first embodiment includes an FPGA (field programmable gate array) 101, a CPU (central processing unit) 2, a memory controller 3, a memory 4 as a storage unit, and a non-volatile memory 5.
  • FPGA field programmable gate array
  • CPU central processing unit
  • memory controller central processing unit
  • memory 4 as a storage unit
  • non-volatile memory 5 non-volatile memory 5.
  • the memory controller 3 is connected to the CPU 2, the memory 4, and the dynamic partial reconstruction unit 181 of the FPGA 101, respectively.
  • the CPU 2 executes various operations and controls for operating the OS and application programs.
  • the non-volatile memory 5 stores data and the like necessary for the FPGA 101 to operate.
  • the memory 4 stores temporary data and the like for operating the OS and application programs.
  • the memory controller 3 executes control for temporarily storing data or the like in the memory 4.
  • FPGA 101 has a start control unit 11 and a dynamic partial reconstruction unit 181.
  • the start control unit 11 is connected to the non-volatile memory 5 and the dynamic partial reconstruction unit 181 respectively.
  • the dynamic partial reconstruction unit 181 is a portion that constitutes a circuit based on an instruction from the start control unit 11.
  • the start control unit 11 has a function of reading bitstream data stored in the non-volatile memory 5 and forming a circuit for FPGA 101, and the start control unit 11 is configured at the time of designing the control device 100. , Will be implemented.
  • the dynamic partial reconstruction unit 181 constitutes the diagnosis unit 12 which is a circuit, and the diagnosis result 91 is output from the diagnosis unit 12 to the outside of the control device 100.
  • the control device 100 described in this embodiment has an FPGA 101 having a start control unit 11 and a dynamic partial reconstruction unit 181, and the FPGA 101 is at startup (hereinafter, also includes “restart”).
  • the activation control unit 11 is configured, the activation control unit 11 configures the diagnosis unit 12 in the dynamic partial reconstruction unit 181 of the FPGA 101, and the diagnosis unit 12 executes the diagnosis of the memory 4.
  • the control device 100 described in this embodiment has a memory 4 and an FPGA 101, and when the FPGA 101 is started, the start control unit 11 and the start control unit 11 configured in the FPGA 101 dynamically partially reconfigure the FPGA 101. It has a diagnostic unit 12 configured in the unit 181 and the diagnostic unit 12 executes the diagnosis of the memory 4.
  • control device 100 described in this embodiment which is equipped with the CPU 2 and the memory 4 and operates the OS and the application program, needs to execute the diagnosis of the memory 4 in order to ensure reliability. However, it does not require a long time to execute the diagnosis of the memory 4, the OS and the application program can be operated at high speed, and the startup time of the control device 100 can be shortened.
  • the startup time of a system such as a plant can be shortened and reliability can be ensured.
  • FIG. 2 is a block diagram illustrating the activation control unit 11 according to the first embodiment.
  • the start control unit 11 has a state transition unit 20, a control signal generation unit 21, a multiplexer 22, a data buffer 23, and an output control unit 24, and is implemented at the time of designing the control device 100.
  • the state transition unit 20 When the power of the control device 100 is turned on, the state transition unit 20 is in a state (mode) of outputting an instruction signal (control signal) for generating the diagnosis unit 12.
  • the control signal generation unit 21 outputs two control signals, a control signal for generating the diagnosis unit 12 and a control signal for instructing the diagnosis result, to the multiplexer 22.
  • the multiplexer 22 is a control signal that generates the diagnostic unit 12 among the two control signals output by the control signal generation unit 21 based on the control signal (control signal that generates the diagnostic unit 12) output by the state transition unit 20. Is output to the non-volatile memory 5 as a circuit generation control signal 70.
  • the data buffer 23 stores the bitstream data 71 for generating the diagnostic unit 12, which is output by the non-volatile memory 5.
  • the bitstream data 71 stored in the data buffer 23 is output to the dynamic partial reconstruction unit 181 as bitstream data 72 via the output control unit 24.
  • the dynamic partial reconstruction unit 181 is composed of the configuration RAM (Random Access Memory) of the FPGA 101.
  • the activation control unit 11 has a data buffer 23 for storing the bitstream data 71 for generating the diagnostic unit 12 and an output control unit 24 for controlling the output of the bitstream data 71.
  • the state transition unit 20 is input with the diagnosis end signal 73 output by the dynamic partial reconstruction unit 181.
  • the value of the diagnosis end signal 73 is "0" when the memory diagnosis is not completed, and "1" when the memory diagnosis is completed.
  • the output control unit 24 sequentially bitstreams the bitstream data 71 stored in the data buffer 23.
  • the data 72 is output to the dynamic partial reconstruction unit 181.
  • control device 100 (FPGA101) described in this embodiment constitutes the diagnostic unit 12 in the dynamic partial reconstruction unit 181.
  • the state (mode) is set to output an instruction signal (control signal) instructing the end of the diagnosis.
  • FIG. 3 is a block diagram illustrating the diagnosis unit 12 according to the first embodiment.
  • the diagnostic unit 12 has a diagnostic area register 30, a diagnostic data generation unit 32, a diagnostic write buffer 34, a diagnostic read buffer 35, and a comparison unit 33.
  • an address to be diagnosed in the memory 4 (for example, address information such as an address or a range, which may be hereinafter referred to as a “diagnosis target address”) is set in advance. .. This address information (diagnosis target address) is input to the diagnostic data generation unit 32 as the diagnostic address 76.
  • address information (diagnosis target address) is set and stored as a fixed value in the diagnosis area register 30 when the control device 100 is designed. Further, the memory controller 3 and the memory 4 can be shared, set, and stored from the software running on the CPU 2.
  • the diagnostic data generation unit 32 diagnoses the memory 4 in the range of the diagnostic address 76 based on the diagnostic target address set by the diagnostic area register 30 when its operation is set at the time of designing the control device 100.
  • a data value (diagnostic data) to be executed is generated and output to the diagnostic write buffer 34.
  • the value of all bits of the data is "0", the value of all the bits of the data is "1", or any other value is set. Can be done.
  • the data value used in the diagnosis may be selected when designing the control device 100.
  • the diagnostic write buffer 34 stores the data value output by the diagnostic data generation unit 32, and outputs this data value as the diagnostic write data 74 to the memory controller 3.
  • the diagnostic light data 74 is written to the memory 4.
  • the memory controller 3 writes (writes) the input data value to the diagnosis target address of the memory 4. After writing, the data value is read (read) from the diagnosis target address of the written memory 4. After reading, the read data value is output to the diagnostic read buffer 35 as diagnostic read data 75. That is, the memory controller 3 writes and reads the data value to the diagnosis target address of the memory 4 with respect to the memory 4.
  • the diagnostic read buffer 35 stores the data value output by the memory controller 3 (read from the memory 4) as the diagnostic read data 75.
  • the diagnostic unit 12 outputs the data value as the diagnostic write data 74 to the memory controller 3, and inputs the data value as the diagnostic read data 75 from the memory controller 3.
  • the data value is output from the diagnostic write buffer 34 via the memory controller 3, is written to the diagnostic target address of the memory 4, is read from the diagnostic target address of the written memory 4, and is read from the diagnostic read buffer. It is output to 35 via the memory controller 3.
  • the comparison unit 33 the read value (data value which is the diagnostic read data 75) stored in the diagnostic read buffer 35 and the write value (data value which is the diagnostic write data 74) stored in the diagnostic write buffer 34 are , Are compared (diagnosed).
  • the diagnosis target address of the memory 4 is operating normally. However, if the write value and the read value do not match (if they do not match), the diagnosis target address of the memory 4 does not operate normally.
  • the value (signal) of the diagnosis result 91 when operating normally, the value (signal) of the diagnosis result 91 outputs "0", and when not operating normally, the value (signal) of the diagnosis result 91 outputs "1". To do.
  • the control method described in this embodiment executes the diagnosis of the memory 4, and at the time of starting, the start control unit 11 is configured in the reconfigurable FPGA 101, and the start control unit 11 diagnoses in the FPGA 101.
  • the unit 12 is configured, and the diagnostic unit 12 executes the diagnosis of the memory 4.
  • FIG. 4 is a flowchart illustrating a control method according to the first embodiment.
  • Step S01 is a step in which the power of the control device 100 is turned on.
  • Step S02 is a step in which the activation control unit 11 configures the diagnostic unit 12 in the dynamic partial reconstruction unit 181.
  • Step S03 is a step of comparing the memory diagnosis address (diagnosis target address) with the OS area.
  • this OS area is a start address or end address of a memory area used by the OS, which is stored in the diagnosis area register 30 of the diagnosis unit 12. That is, the comparison unit 33 compares the write value and the read value of the memory diagnostic address with respect to the OS area.
  • Step S04 is a step of determining whether or not the memory diagnosis of the OS area has been completed. For example, it is determined whether or not the memory diagnostic address exceeds the end address of the OS area. If it does not exceed (NO), it is determined that the memory diagnosis has not been completed, and the process proceeds to step S05. If it exceeds (YES), it is determined that the memory diagnosis has been completed, and the process proceeds to step S07.
  • Step S05 executes the memory diagnosis.
  • Step S06 increases the memory diagnostic address and transitions to step S03.
  • Step S07 is a step of comparing the memory diagnosis address (diagnosis target address) with the application area.
  • the application area is a start address or end address of a memory area used by the application program, which is stored in the diagnosis area register 30 of the diagnosis unit 12. That is, the comparison unit 33 compares the write value and the read value of the memory diagnostic address with respect to the application area.
  • Step S08 is a step of determining whether or not the memory diagnosis of the application area is completed. For example, it is determined whether or not the memory diagnostic address exceeds the end address of the application area. If it does not exceed (NO), it is determined that the memory diagnosis has not been completed, and the process proceeds to step S09. If it exceeds (YES), it is determined that the memory diagnosis has been completed, and the process proceeds to step S11.
  • Step S09 executes the memory diagnosis.
  • Step S10 increases the memory diagnostic address and transitions to step S07.
  • step S11 the OS data is transferred to the memory 4.
  • Step S12 boots the OS.
  • step S13 the application data is transferred to the memory 4.
  • Step S14 starts the application program.
  • control device 100 described in this embodiment is activated.
  • the OS can be started when step S11 is completed, and the application program can be started when step S13 is completed.
  • FIG. 5 is a timing chart diagram for explaining the flow until the control device is activated.
  • control device (comparative example) when the FPGA 101 described in this embodiment is not used is started.
  • this control device (comparative example) a series of steps are processed by the CPU. That is, this control device (comparative example) executes the startup process by the CPU.
  • the horizontal axis represents the time t.
  • the power of the control device (comparative example) is turned on, and the CPU executes the memory diagnosis of the OS area and the application area. That is, the CPU (software) sequentially executes the memory diagnosis.
  • the OS data is transferred to the memory, and then the application data is transferred to the memory.
  • the OS is started, and then the application program is started.
  • FIG. 6 is a timing chart for explaining the flow until the control device according to the first embodiment is activated.
  • the power ON, OS startup, and application program startup are processed by the CPU 2.
  • the memory area diagnostic process and the data transfer process to the memory area are processed by the FPGA 101. That is, the control device 100 is started by the CPU 2 and the FPGA 101.
  • the horizontal axis represents the time t.
  • the power of the control device 100 is turned on, and the diagnostic unit 12 is configured in the dynamic partial reconstruction unit 181 of the FPGA 101.
  • the diagnostic unit 12 executes a memory diagnosis between the OS area and the application area. After completing these memory diagnoses, the OS data is transferred to the memory 4, and then the application data is transferred to the memory 4.
  • the OS is started. Further, after transferring the application data to the memory 4, the application program is started.
  • the diagnostic unit 12 configured in the dynamic partial reconstruction unit 181 of the FPGA 101 executes the memory diagnosis by hardware (according to the hardware, in parallel for each memory lane, that is, for each memory line). perform memory diagnosis) for the time t m from the power oN to the memory diagnosis is finished, as compared with the case of FIG. 5, is reduced. As a result, the time t a up to the time t o and application start-up until the OS start-up is finished is finished is finished is also shortened.
  • the OS can be started after the OS data is transferred to the memory 4, and the application program is started after the application data is transferred to the memory 4.
  • a transfer to the memory 4 of the boot and application data OS can be executed in parallel (simultaneously), the time of the time until the OS startup ends up t o and application startup is completed t a Is further shortened.
  • a memory diagnosis is executed at startup or restart in order to ensure high reliability in a control device or control method in which a CPU 2 and a memory 4 are mounted and an OS or an application program is operated. Even if it is necessary, it is possible to provide a control device and a control method capable of starting an OS or an application program at high speed without spending a long time on memory diagnosis. Then, for example, a control system having high performance corresponding to IoT and high expandability can be realized.
  • control device 200 according to the second embodiment will be described.
  • FIG. 7 is a block diagram illustrating the control device 200 according to the second embodiment.
  • the control device 200 described in this embodiment executes the diagnosis process of the memory area and the data transfer process to the memory area in parallel.
  • the control device 200 described in this embodiment has a diagnostic transfer unit 14 in the dynamic partial reconstruction unit 182 as compared with the control device 100 described in the first embodiment (FIG. 1), and the dual port memory controller 50. And the dual port memory 51 are different.
  • the dual port memory 51 stores temporary data for operating the OS and application programs, allows a plurality of accesses at a time, and can execute a plurality of reads and a plurality of writes at the same time. It is a thing. Further, the dual port memory controller 50 executes control for temporarily storing data or the like in the dual port memory 51.
  • FIG. 8 is a block diagram illustrating the diagnosis transfer unit 14 according to the second embodiment.
  • the diagnostic transfer unit 14 configured in the dynamic partial reconstruction unit 182 of the FPGA 102 has a transfer address generation unit 37, a transfer data buffer 38, and transfer data as compared with the diagnostic unit 12 described in the first embodiment (FIG. 3). The difference is that it has a buffer 39 and a dual port interface 52.
  • the transfer address generation unit 37 inputs the data value generated by the diagnostic data generation unit 32, generates a transfer address (for example, an address), and outputs the generated transfer address to the transfer data buffer 38.
  • the transfer data buffer 38 inputs and stores the OS data (or application data) 88 (bit stream data 72) output by the start control unit 11 and the transfer address output by the transfer address generation unit 37, and stores the OS data 88.
  • the transfer address and the transfer address are output to the transfer data buffer 39.
  • the transfer data buffer 39 inputs and stores the OS data 88 and the transfer address output by the transfer data buffer 38, and outputs the OS data (or application data) 86 to the dual port interface 52.
  • the dual port interface 52 has two sets of memory interfaces, inputs diagnostic write data 74 and OS data 86, and makes diagnostic write data 85 (value of diagnostic write buffer 34) and OS data (or application data) 87 ( The value of the transfer data buffer 39) is output to the dual port memory controller 50.
  • the dual port memory controller 50 outputs the diagnostic read data 75 to the diagnostic read buffer 35.
  • line A, line B, line C, and line D are provided as the OS area. Then, when the line A, the line B, the line C, and the line D are transferred to the dual port memory 50 as the OS data, the line A is diagnosed and the line A is transferred. Then, when the line A is transferred, the line B is diagnosed at the same time, when the line B is transferred, the line C is diagnosed at the same time, and when the line C is transferred, the line D is diagnosed at the same time. Transfer D.
  • the diagnostic process of the application (memory) area and the transfer process of the application data to the dual port memory 50 are the same as the diagnostic process of the OS area and the transfer process of the OS data to the dual port memory 50.
  • the line D is transferred as OS data
  • the line E as the application area can be diagnosed at the same time.
  • control device 200 described in this embodiment can execute the diagnostic process of the memory area and the data transfer process to the memory area in parallel.
  • FIG. 9 is a timing chart for explaining the flow until the control device according to the second embodiment is activated.
  • control device 200 the power ON, OS startup, and application program startup are processed by the CPU 2.
  • the memory area diagnostic process and the data transfer process to the memory area are processed by the FPGA 102. That is, the control device 200 is started by the CPU 2 and the FPGA 102.
  • the horizontal axis represents the time t.
  • the power of the control device 200 is turned on, and the diagnostic transfer unit 14 is configured in the dynamic partial reconstruction unit 182 of the FPGA 102.
  • the diagnostic transfer unit 14 executes a memory diagnosis between the OS area and the application area.
  • the data for each line is transferred to the dual port memory 50 for each line. Then, after transferring the OS data to the dual port memory 50, the OS is started. Further, after transferring the application data to the dual port memory 50, the application program is started.
  • the timing chart diagram described in the present embodiment (FIG. 9) is compared with the timing chart diagram described in the first embodiment (FIG. 6), and the diagnostic transfer unit 14 configured in the dynamic partial reconstruction unit 182 of the FPGA 102.
  • the OS area diagnostic process and the OS data transfer process to the dual port memory 50 overlap, and the application area diagnostic process and the application data transfer process to the dual port memory 50 overlap. The point to make is different.
  • memory diagnosis is performed at startup or restart. Even if it is necessary to execute it, the memory area diagnostic processing and the data transfer processing can be executed in an overlapping manner, and the OS and application programs can be started at high speed. A method can be provided.
  • control device 300 according to the third embodiment will be described.
  • FIG. 10 is a block diagram illustrating the control device 300 according to the third embodiment.
  • control device 300 described in this embodiment When the control device 300 described in this embodiment is equipped with a plurality of CPUs and a plurality of OSs (or application programs), the memory area is given priority and the memory area diagnostic process is executed.
  • the control device 300 described in this embodiment is connected to the memory controller 3 by adding a CPU 6 as compared with the control device 100 described in the first embodiment (FIG. 1), and the diagnostic unit 16 determines the priority. Is different in that it determines.
  • the CPU 6 operates a second OS (or a second application program) having a higher priority than the OS (or application program) that operates on the CPU 2.
  • the priority is determined in consideration of, for example, high real-time performance.
  • FIG. 11 is a block diagram illustrating the diagnosis unit 16 according to the third embodiment.
  • the diagnostic unit 16 configured in the dynamic partial reconstruction unit 183 of the FPGA 103 has a diagnostic area register 31 and a priority area determination unit 36 as compared with the diagnostic unit 12 described in the first embodiment (FIG. 3). Is different.
  • the diagnostic area register (first diagnostic area register) 30 sets the diagnostic address 76 of the memory area used by the OS (or application program) running on the CPU 2. Further, the diagnostic area register (second diagnostic area register) 31 sets the diagnostic address 77 of the memory area used by the second OS (or the second application program) operating in the CPU 6.
  • the priority area determination unit 36 preferentially selects the diagnostic address 77 used by the second OS (or the second application program) from the diagnostic address 76 or the diagnostic address 77. That is, the priority area is determined from the diagnosis area register 30 and the second diagnosis area register 31, and the determination result is output to the diagnosis data generation unit 32.
  • the priority area determination unit 36 causes the diagnostic data generation unit 32 to execute the memory diagnosis of the memory area specified by the diagnostic address 76 after the memory diagnosis of the memory area specified by the diagnostic address 77 is completed. On the other hand, the judgment result is output and instructed.
  • a specific OS or application program is installed in order to realize high reliability in a control device or control method in which a plurality of CPUs, a plurality of OSs or application programs are installed and the OSs or application programs are operated. It is possible to provide a control device and a control method capable of preferentially diagnosing a priority memory area and starting a specific OS or application program at high speed even when the priority is started.
  • control device 400 according to the fourth embodiment will be described.
  • FIG. 12 is a block diagram illustrating the control device 400 according to the fourth embodiment.
  • the control device 400 described in this embodiment executes a memory area diagnostic process when a plurality of memories are mounted.
  • the control device 400 described in this embodiment has a plurality of memories 7, a memory 8, and a memory 9 as compared with the control device 100 described in the first embodiment (FIG. 1), and can be connected to these memories. It is different in that it has a memory controller 10 capable of being able to perform, and the parallel diagnosis unit 17 executes a diagnosis process of a plurality of memory areas of these memories.
  • FIG. 13 for explaining the parallel diagnosis unit 17 according to the fourth embodiment is a block diagram for explaining the parallel diagnosis unit 17 according to the fourth embodiment.
  • the parallel diagnostic unit 17 configured in the dynamic partial reconstruction unit 184 of the FPGA 104 has a plurality of diagnostic units 12, a diagnostic unit 40, and a diagnostic unit 41 as compared with the diagnostic unit 12 described in Example 1 (FIG. 3).
  • a logical product calculation unit 42 that calculates a logical product, and a logical sum calculation unit 43 that calculates a logical sum are different.
  • the diagnostic unit 12, the diagnostic unit 40, and the diagnostic unit 41 have the same configuration as the diagnostic unit 12 described in Example 1 (FIG. 3). Further, the diagnosis unit 12, the diagnosis unit 40, and the diagnosis unit 41 are connected to the memory 7, the memory 8, and the memory 9 via the memory controller 10.
  • the diagnostic unit 12 connects to the memory 7 via the memory controller 10.
  • the diagnostic unit 40 connects to the memory 8 via the memory controller 10.
  • the diagnostic unit 41 connects to the memory 9 via the memory controller 10.
  • the diagnostic unit 12 outputs the diagnostic write data 74 to the memory controller 10 and inputs the diagnostic read data 75 from the memory controller 10.
  • the diagnostic unit 40 outputs the diagnostic write data 80 to the memory controller 10 and inputs the diagnostic read data 81 from the memory controller 10.
  • the diagnostic unit 41 outputs the diagnostic write data 82 to the memory controller 10 and inputs the diagnostic read data 83 from the memory controller 10.
  • diagnosis unit 12 outputs the diagnosis result (signal) 91.
  • diagnosis unit 40 outputs the diagnosis result (signal) 92.
  • diagnosis unit 41 outputs the diagnosis result (signal) 93.
  • diagnosis unit 12 outputs the diagnosis end (signal) 73.
  • diagnosis unit 40 outputs the diagnosis end (signal) 78.
  • diagnosis unit 41 outputs the diagnosis end (signal) 79.
  • the OR unit 43 inputs the diagnosis result 91 output from the diagnosis unit 12, the diagnosis result 92 output from the diagnosis unit 40, and the diagnosis result 93 output from the diagnosis unit 41, and puts them together.
  • the diagnosis result (signal) 94 is output.
  • the value of the diagnostic read data 75 and the value of the diagnostic write data 74 in the diagnostic unit 12 match, it means that the diagnostic target address of the memory 7 is operating normally. However, if these values do not match, the diagnosis target address of the memory 7 is not operating normally. Then, for example, when the operation is normal, the value of the diagnosis result 91 is output as "0", and when the operation is not normal, the value of the diagnosis result 91 is output as "1".
  • diagnosis unit 40 if the value of the diagnosis read data 80 and the value of the diagnosis write data 81 match, the diagnosis target address of the memory 8 is operating normally. However, if these values do not match, the diagnosis target address of the memory 8 is not operating normally. Then, for example, when the operation is normal, the value of the diagnosis result 92 is output as "0", and when the operation is not normal, the value of the diagnosis result 92 is output as "1".
  • diagnosis unit 41 if the value of the diagnosis read data 82 and the value of the diagnosis write data 83 match, the diagnosis target address of the memory 9 is operating normally. However, if these values do not match, the diagnosis target address of the memory 9 is not operating normally. Then, for example, when the operation is normal, the value of the diagnosis result 93 is output as "0", and when the operation is not normal, the value of the diagnosis result 93 is output as "1".
  • the values of the diagnosis result 91, the diagnosis result 92 and the diagnosis result 93 are 0 + 0 + 0 because "0" is output respectively, and the diagnosis is made.
  • the value of the result 94 "0" is output.
  • any of the memory 7, the memory 8 and the memory 9 is not operating normally, "1" is output as the diagnosis result, and therefore "0" is output as the value of the diagnosis result 94. Not done.
  • "0" is output as the values of the diagnosis result 91, the diagnosis result 92, and the diagnosis result 93 when the operation is normal, and the diagnosis result 91 and the diagnosis result 92 are output when the operation is not normal.
  • "1" is output as the value of the diagnosis result 93.
  • the AND calculation unit 42 inputs the diagnosis end 73 output from the diagnosis unit 12, the diagnosis end 78 output from the diagnosis unit 40, and the diagnosis end 79 output from the diagnosis unit 41, and puts them together.
  • the diagnosis end (signal) 84 is output.
  • "0" is output as the values of the diagnosis end 73, the diagnosis end 78, and the diagnosis end 79 when the memory diagnosis is not completed, and the diagnosis is completed when the memory diagnosis is completed.
  • "1" is output for each of the values 73, the end of diagnosis 78, and the end of diagnosis 79.
  • the value of the diagnosis end 84 is output as "0", and all the memories of the memory 7, the memory 8, and the memory 9 are output.
  • "1" is output as the value of the diagnosis end 84.
  • a plurality of memories can be diagnosed in parallel, and an OS or an application program can be started at high speed. Further, by allocating one diagnostic unit to one memory, it is possible to explicitly determine which memory is not operating normally as a result of the diagnosis.
  • FIG. 14 is an explanatory diagram illustrating a case where the control device according to this embodiment is applied to the plant P1.
  • the input / output device 1030 to which the field device 301 and the valve 302 (an example of the operating device) are connected is connected to the controller 1010 via the field network 121. Further, the input / output device 1060 to which the field device 305 and the pump 306 (an example of the operating device) are connected is connected to the controller 1040 via the field network 122.
  • controller 1010 and the controller 1040 are connected to the HMI (Human Machine Interface) 107 and the computer 108 via the control network 124.
  • HMI Human Machine Interface
  • the controller 1010 includes the control device 501 described in the first embodiment and the like, and the controller 1040 contains the control device 502 described in the first embodiment and the like.
  • the HMI 107 and the computer 108 start up. Then, the controller 1010 and the controller 1040 are activated via the control network 124. Then, the input / output device 1030 and the input / output device 1060 are activated via the field network 121 and the field network 122. Then, the field device 301 and the field device 305 are activated.
  • the controller 1010 which receives the start signal via the control network 124, executes the memory diagnosis and the start of the OS and the application program at high speed by the control device 501 built in the controller 1010.
  • the controller 1040 that has received the start signal via the control network 124 executes the memory diagnosis and the start of the OS and the application program at high speed by the control device 502 built in the controller 1040.
  • the memory diagnosis and the startup of the OS and the application program can be accelerated, and the startup of the system such as the plant can be accelerated. Can be done.
  • FIG. 15 for explaining the case where the control device according to the present embodiment is applied to the plant P2 is an explanatory diagram for explaining the case where the control device according to the present embodiment is applied to the plant P2.
  • the plant P2 described in this embodiment is compared with the plant P1 described in Example 5 (FIG. 14). The difference is that the HMI 107 and the computer 108 are connected to the monitoring server 109 via the information network 125. Then, the monitoring server 109 monitors the state of the plant P2 and issues a command in the event of an abnormality or an emergency.
  • a further controller is installed between the input / output device 1030 to which the field device 301 and the valve 302 are connected and the controller 1010, and the controller and the input / output device 1030 form a field network. It may be connected via.
  • a further controller is installed between the input / output device 1060 to which the field device 305 and the pump 306 are connected and the controller 1040, and the controller and the input / output device 1060 are connected via the field network. May be done.
  • the monitoring server 109 is the control device 505
  • the HMI 107 is the control device 503
  • the computer 108 is the control device 504
  • the controller 1010 is the control device 501
  • the controller 1040 is the control device 502.
  • the input / output device 1030 control device 507 and the input / output device 1060 have a control device 508 built-in.
  • control device 505 executes the memory diagnosis of the monitoring server 109 and the startup of the OS and application programs.
  • control device 503 executes the memory diagnosis of the HMI 107 and starts the OS and the application program
  • control device 504 executes the memory diagnosis of the computer 108 and starts the OS and the application program. Will be done.
  • control device 501 executes the memory diagnosis of the controller 1010 and starts the OS and the application program via the control network 124, and the control device 502 executes the memory diagnosis of the controller 1040 and starts the OS and the application program. Is executed.
  • control device 507 executes the memory diagnosis of the input / output device 1030 and starts the OS and the application program via the field network 121
  • control device 508 executes the memory diagnosis of the input / output device 1030 and the input / output device via the field network 122.
  • the memory diagnosis of 1060 and the startup of the OS and application programs are executed.
  • memory diagnosis and OS and application program startup can be speeded up.
  • the startup can be speeded up.
  • the startup can be speeded up with high reliability, the time required for restarting can be shortened, and the system can be restored quickly. It can be realized and better service can be provided.
  • the time required for restarting can be shortened, the system can be quickly restored, and better service can be provided.
  • control devices and control methods described in these examples can be used for various systems such as elevator control systems, railway control systems, automobile control systems, construction machine control systems, and power generation control systems.
  • the present invention is not limited to the above-described embodiment, and includes various modifications.
  • the above-described embodiment describes the control device and the control method in detail and concretely in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to those having all the components described. It is also possible to replace some of the components of one embodiment with some of the components of another embodiment. It is also possible to add the constituent requirements of another embodiment to the constituent requirements of one embodiment. It is also possible to add, delete, or replace some of the other components with respect to some of the components of each embodiment.
  • Control device 101, 200, 300, 400, 501, 502, 503, 504, 505, 507, 508 ...
  • Control device 101, 102, 103, 104 ... FPGA, 2, 6 ... CPU, 3, 10 ... Memory controller, 4, 7, 8, 9 ... memory, 5 ... non-volatile memory, 11 ... start control unit, 12, 16, 40, 41 ... diagnostic unit, 14 ... diagnostic transfer unit, 17 ... parallel diagnostic unit, 181, 182, 183, 184 ... Dynamic partial reconstruction unit, 20 ... state transition unit, 21 ... control signal generation unit, 22 ... multiplexer, 23 ... data buffer, 24 ... output control unit, 30, 31 ... diagnostic area register, 32 ... diagnostic data generation unit, 33 ... Comparison unit, 34 ... Diagnostic write buffer, 35 ...
  • Diagnostic read buffer 36 ... Priority area determination unit, 37 ... Transfer address generation unit, 38, 39 ... Transfer data buffer, 42 ... Logical product calculation unit, 43 ... Logical sum Computational unit, 50 ... dual port memory controller, 51 ... dual port memory, 52 ... dual port interface, 1010, 1040 ... controller, 1030, 1060 ... input / output device, 107 ... HMI, 108 ... computer, 109 ... monitoring server, 301 , 305 ... Field equipment 302 ... Valve, 306 ... Pump, P1, P2 ... Plant.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

本発明は、構成した回路を使用して、診断を実行し、起動時や再起動時の診断に必要とされる時間を短縮し、信頼性を確保した制御装置を提供する。本発明の制御装置は、記憶部と、再構成可能なFPGA(フィールドプログラマブルゲートアレイ)と、を有し、FPGAは、起動時や再起動時に起動制御部を構成し、起動制御部は、FPGAに、診断部を構成し、診断部が記憶部の診断を実行することを特徴とする。

Description

制御方法および制御装置
 本発明は、制御装置及び制御方法に関する。
 各種の産業分野では、制御装置を搭載するコントローラが使用され、制御システムが構築される。こうした制御システムにおいて、コントローラに搭載される制御装置は、電流、温度、圧力などの状態量をフィールド機器から取得し、こうした状態量を計測しながら、制御データ(信号)を操作機器へ出力し、操作機器をリアルタイムに制御する。
 これにより、流量の調節や状態量が異常になった場合の緊急停止などの所望の動作を実行し、利便性と共に、安全性や信頼性を担保する。
 近年、こうした産業分野では、より良い制御データを操作機器へ出力するため、現実世界に分散配置された大量のフィールド機器から稼働データ(状態量)を収集(計測)し、仮想世界で稼働データを分析し、現実世界へフィードバックするIoT(Internet of Things)への取り組みが実施されている。
 このように制御システムに対して、IoTへの取り組みを実施すると、従来は扱っていなかった稼働データを可視化し、分析し、活用することができ、保守サービスなど、新たな価値を創出することができる。
 一方、制御システムに対して、IoTへの取り組みを実施するためには、フィールド機器から取得する大量の稼動データを、制御システムに実装されるアルゴリズムやAI(Artificial Intelligence)を使用し、処理する必要がある。
 このため、制御装置には、高性能なCPU(Central Processing Unit)、OS(Operating System)、アプリケーションプログラムなどが搭載され、動的に回路構成を変更することができる(再構成可能な)FPGA(Field Programmable Gate Array)が使用される。
 この結果、大容量の記憶部(メモリ)とFPGAとの初期化に伴い、制御システムの起動に長い時間を必要とし、制御システムに求められる信頼性の確保が困難になっている。
 こうした本技術分野の背景技術として、特開2015-106751号公報(特許文献1)がある。この特許文献1には、動的に回路の少なくとも一部が再構成されるFPGAと、FPGAにおいて回路の少なくとも一部を再構成する回路構成情報を記憶するROMと、ROMに記憶された回路構成情報の複製を記憶する、ROMよりも高速に読み出し可能なRAMを有する画像処理装置が記載されている。そして、実行するジョブに応じてFPGAの少なくとも一部を、回路構成情報を使用して、ジョブで必要な処理を実行可能な回路に再構成すると共に、RAMを使用した実時間処理が実行中でないときはRAMに記憶されている回路構成情報を使用してFPGAを再構成し、RAMを使用した実時間処理が実行中であるときはROMに記憶されている回路構成情報を使用してFPGAを再構成することが記載されている(要約参照)。
 また、こうした本技術分野の背景技術として、特開2018-109907号公報(特許文献2)がある。この特許文献2には、CPUを内蔵したFPGAの再起動時間を短縮するため、FPGAのコンフィグレーション装置は、FPGAに起動用回路を構成するための初期コンフィグレーションデータを保持する第1メモリと、FPGAにメイン回路を構成するためのメイン回路用コンフィグレーションデータを保持する第2メモリと、稼働中のFPGAの状態に基づいてメイン回路用コンフィグレーションデータを更新するデータ更新部とを有し、FPGAの電源投入時に初期コンフィグレーションデータをFPGAに提供し、起動用回路の動作に応答してメイン回路用コンフィグレーションデータを提供することが記載されている(要約参照)。
特開2015-106751号公報 特開2018-109907号公報
 特許文献1には、実行するジョブに応じてFPGAの少なくとも一部を、ジョブで必要な処理を実行可能な回路に再構成する技術が記載されている。また、特許文献2には、CPUを内蔵したFPGAの再起動時間を短縮する技術が記載されている。
 しかし、特許文献1及び特許文献2には、構成した回路を使用して、診断を実行することは記載されていない。また、特許文献1及び特許文献2には、例えば、OSやアプリケーションプログラムを制御装置に適用する場合、起動時や再起動時の診断に所定の時間を必要とするため、制御装置としての信頼性の確保が困難になるという課題については記載されていない。
 そこで、本発明は、構成した回路を使用して、診断を実行し、起動時や再起動時の診断に必要とされる時間を短縮し、信頼性を確保した制御装置及び制御方法を提供する。
 上記課題を解決するため、本発明の制御装置は、記憶部と、再構成可能なFPGA(フィールドプログラマブルゲートアレイ)と、を有し、FPGAは、起動時や再起動時に起動制御部を構成し、起動制御部は、FPGAに、診断部を構成し、診断部が記憶部の診断を実行することを特徴とする。
 また、本発明の制御方法は、記憶部の診断を実行する制御方法であって、起動時や再起動時に、再構成可能なFPGAに、起動制御部を構成し、起動制御部は、FPGAに、診断部を構成し、診断部が前記記憶部の診断を実行することを特徴とする。
 本発明によれば、構成した回路を使用して、診断を実行し、起動時や再起動時の診断に必要とされる時間を短縮し、信頼性を確保した制御装置及び制御方法を提供することができる。
 なお、上記した以外の課題、構成及び効果は、下記の実施例の説明により明らかにされる。
実施例1に係る制御装置100を説明するブロック図である。 実施例1に係る起動制御部11を説明するブロック図である。 実施例1に係る診断部12を説明するブロック図である。 実施例1に係る制御方法を説明するフローチャート図である。 制御装置が起動するまでの流れを説明するタイミングチャート図である。 実施例1に係る制御装置が起動するまでの流れを説明するタイミングチャート図である。 実施例2に係る制御装置200を説明するブロック図である。 実施例2に係る診断転送部14を説明するブロック図である。 実施例2に係る制御装置が起動するまでの流れを説明するタイミングチャート図である。 実施例3に係る制御装置300を説明するブロック図である。 実施例3に係る診断部16を説明するブロック図である。 実施例4に係る制御装置400を説明するブロック図である。 実施例4に係る並列診断部17を説明するブロック図である。 本実施例に係る制御装置をプラントP1に適用した場合を説明する説明図である。 本実施例に係る制御装置をプラントP2に適用した場合を説明する説明図である。
 以下、図面を参照して、本発明の実施例を説明する。なお、明細書及び図面において、実質的に同一の機能又は構成を有する要素については、同一の符号を付し、説明が重複する場合には、その説明を省略する場合がある。
 まず、実施例1に係る制御装置100を説明する。
 図1は、実施例1に係る制御装置100を説明するブロック図である。
 実施例1に記載する制御装置100は、FPGA(フィールドプログラマブルゲートアレイ)101、CPU(中央演算処理装置)2、メモリコントローラ3、記憶部であるメモリ4、及び、不揮発メモリ5を有する。
 メモリコントローラ3は、CPU2、メモリ4、FPGA101の動的部分再構成部181と、それぞれ接続する。CPU2は、OSやアプリケーションプログラムを動作させるための各種の演算や制御を実行する。不揮発メモリ5は、FPGA101が動作するために必要なデータ等を格納する。メモリ4は、OSやアプリケーションプログラムを動作させるための一時的なデータ等を格納する。メモリコントローラ3は、メモリ4にデータ等を一時的に格納するための制御を実行する。
 FPGA101は、起動制御部11と動的部分再構成部181とを有する。起動制御部11は、不揮発メモリ5、動的部分再構成部181と、それぞれ接続する。動的部分再構成部181は、起動制御部11からの指示に基づき回路を構成する部分である。
 起動制御部11は、不揮発メモリ5に格納されているビットストリームデータを読み込み、FPGA101用の回路を構成する機能を有するものであり、起動制御部11は、制御装置100の設計時に構成が決定され、実装される。
 本実施例では、動的部分再構成部181は、回路である診断部12を構成し、診断部12から制御装置100の外部に、診断結果91が出力される。
 このように、本実施例に記載する制御装置100は、起動制御部11と動的部分再構成部181とを有するFPGA101を有し、FPGA101は、起動時(以下「再起動時」も含む)に、起動制御部11を構成し、起動制御部11が、FPGA101の動的部分再構成部181に、診断部12を構成し、診断部12がメモリ4の診断を実行する。
 そして、本実施例に記載する制御装置100は、メモリ4とFPGA101とを有し、FPGA101は、起動時に、FPGA101に構成する起動制御部11と起動制御部11が、FPGA101の動的部分再構成部181に構成する診断部12とを有し、診断部12がメモリ4の診断を実行する。
 つまり、本実施例に記載する、CPU2とメモリ4とを搭載し、OSやアプリケーションプログラムを動作させる制御装置100は、信頼性を確保するため、メモリ4の診断を実行する必要がある場合であっても、メモリ4の診断の実行に長い時間を必要とせず、高速にOSやアプリケーションプログラムを動作させることができ、制御装置100の起動時間を短縮することができる。
 これにより、例えば、プラントなどのシステムの起動時間を短縮し、信頼性を確保することができる。
 次に、実施例1に係る起動制御部11を説明する。
 図2は、実施例1に係る起動制御部11を説明するブロック図である。
 起動制御部11は、状態遷移部20、制御信号生成部21、マルチプレクサ22、データバッファ23、及び、出力制御部24を有し、制御装置100の設計時に実装される。
 制御装置100の電源がONになると、状態遷移部20は、診断部12を生成する指示信号(制御信号)を出力する状態(モード)になる。制御信号生成部21は、診断部12を生成する制御信号と診断結果を指示する制御信号との2つの制御信号を、マルチプレクサ22に出力する。
 マルチプレクサ22は、状態遷移部20が出力する制御信号(診断部12を生成する制御信号)に基づいて、制御信号生成部21が出力する2つの制御信号のうち、診断部12を生成する制御信号を、回路生成制御信号70として、不揮発メモリ5に出力する。
 データバッファ23は、不揮発メモリ5が出力する、診断部12を生成するためのビットストリームデータ71を、格納する。データバッファ23に格納されるビットストリームデータ71は、出力制御部24を介して、ビットストリームデータ72として、動的部分再構成部181に出力される。
 なお、動的部分再構成部181は、FPGA101のコンフィギュレーションRAM(Random Access Memory)で構成される。
 つまり、起動制御部11は、診断部12を生成するためのビットストリームデータ71を格納するデータバッファ23と、ビットストリームデータ71の出力を制御する出力制御部24と、を有する。
 なお、状態遷移部20は、動的部分再構成部181が出力する診断終了信号73が入力される。ここで、診断終了信号73は、メモリ診断が終了していない場合の値は「0」、メモリ診断が終了している場合の値は「1」となる。
 出力制御部24は、診断終了信号73の値が「1」で無い場合は、つまり、メモリ診断が終了していない場合は、データバッファ23に格納されるビットストリームデータ71を、順次、ビットストリームデータ72として、動的部分再構成部181に出力する。
 これにより、本実施例に記載する制御装置100(FPGA101)は、動的部分再構成部181に、診断部12を構成する。
 メモリ4の診断が終了すると、診断終了を指示する指示信号(制御信号)を出力する状態(モード)になる。
 次に、実施例1に係る診断部12を説明する。
 図3は、実施例1に係る診断部12を説明するブロック図である。
 診断部12は、診断領域レジスタ30、診断データ生成部32、診断ライトバッファ34、診断リードバッファ35、及び、比較部33を有する。
 診断領域レジスタ30には、予め、メモリ4の診断対象となるアドレス(例えば、番地や範囲のようなアドレス情報であり、以下「診断対象アドレス」と称して説明する場合がる)が設定される。このアドレス情報(診断対象アドレス)は、診断アドレス76として、診断データ生成部32に入力される。
 なお、診断領域レジスタ30には、制御装置100の設計時に、固定値としてアドレス情報(診断対象アドレス)が設定され、格納される。また、CPU2で動作するソフトウェアから、メモリコントローラ3とメモリ4とを共有して設定し、格納することもできる。
 診断データ生成部32は、制御装置100の設計時に、その動作が設定され、診断領域レジスタ30が設定する診断対象アドレスに基づいて、診断アドレス76の範囲を対象に、メモリ4に対して診断を実行するデータ値(診断データ)を生成し、診断ライトバッファ34に出力する。
 ここで診断を実行するデータ値(診断データ)としては、データの全ビットの値が「0」であったり、データの全ビットの値が「1」であったり、そのほか任意の値を設定したりすることができる。なお、制御装置100の設計時に、診断で使用するデータ値を選択しておいてもよい。
 診断ライトバッファ34は、診断データ生成部32が出力するデータ値を格納し、このデータ値を、診断ライトデータ74として、メモリコントローラ3に出力する。診断ライトデータ74は、メモリ4へライトされる。
 なお、メモリコントローラ3は、入力したデータ値を、メモリ4の診断対象アドレスに、ライトする(書く)。ライトした後、ライトしたメモリ4の診断対象アドレスから、データ値をリードする(読む)。リードした後、リードしたデータ値を、診断リードデータ75として、診断リードバッファ35に出力する。つまり、メモリコントローラ3は、メモリ4に対して、メモリ4の診断対象アドレスに、データ値を、ライトし、リードする。
 診断リードバッファ35は、メモリコントローラ3が出力する(メモリ4からリードした)データ値を、診断リードデータ75として、格納する。
 つまり、診断部12は、データ値を、診断ライトデータ74としてメモリコントローラ3に出力し、診断リードデータ75としてメモリコントローラ3から入力する。
 このように、データ値は、診断ライトバッファ34から、メモリコントローラ3を経由して出力され、メモリ4の診断対象アドレスにライトされ、ライトされたメモリ4の診断対象アドレスからリードされ、診断リードバッファ35に、メモリコントローラ3を経由して出力される。
 そして、比較部33では、診断リードバッファ35に格納されるリード値(診断リードデータ75であるデータ値)と、診断ライトバッファ34に格納されるライト値(診断ライトデータ74であるデータ値)と、を比較(診断)する。
 ライト値とリード値とが、一致している場合は、メモリ4の診断対象アドレスは、正常に動作していることになる。しかし、ライト値とリード値とが、一致していない場合(不一致である場合)は、メモリ4の診断対象アドレスは、正常に動作していないことになる。
 例えば、正常に動作している場合には、診断結果91の値(信号)は「0」を、正常に動作していない場合には、診断結果91の値(信号)は「1」を出力する。
 次に、実施例1に係る制御方法を説明する。
 本実施例に記載する制御方法は、メモリ4の診断を実行するものであって、起動時に、再構成可能なFPGA101に、起動制御部11を構成し、起動制御部11は、FPGA101に、診断部12を構成し、診断部12がメモリ4の診断を実行するものである。
 図4は、実施例1に係る制御方法を説明するフローチャート図である。
 ステップS01は、制御装置100の電源がONになるステップである。
 ステップS02は、起動制御部11が、動的部分再構成部181に、診断部12を構成するステップである。
 ステップS03は、メモリ診断アドレス(診断対象アドレス)をOS用領域と比較するステップである。例えば、このOS用領域は、診断部12が有する診断領域レジスタ30に格納される、OSが使用するメモリ領域の開始アドレスや終了アドレスなどである。つまり、比較部33にて、OS用領域について、メモリ診断アドレスのライト値とリード値とを比較する。
 ステップS04は、OS用領域のメモリ診断が終了したか否かを判定するステップである。例えば、メモリ診断アドレスが、OS用領域の終了アドレスを越えているか否かを判定する。超えていない場合(NO)は、メモリ診断が終了していないと判定し、ステップS05に遷移する。超えている場合(YES)は、メモリ診断が終了していると判定し、ステップS07に遷移する。
 ステップS05は、メモリ診断を実行する。
 ステップS06は、メモリ診断アドレスを増加させ、ステップS03に遷移する。
 ステップS07は、メモリ診断アドレス(診断対象アドレス)をアプリケーション用領域と比較するステップである。例えば、アプリケーション用領域は、診断部12が有する診断領域レジスタ30に格納される、アプリケーションプログラムが使用するメモリ領域の開始アドレスや終了アドレスなどである。つまり、比較部33にて、アプリケーション用領域について、メモリ診断アドレスのライト値とリード値とを比較する。
 ステップS08は、アプリケーション用領域のメモリ診断が終了したか否かを判定するステップである。例えば、メモリ診断アドレスが、アプリケーション用領域の終了アドレスを越えているか否か判定する。
超えていない場合(NO)は、メモリ診断が終了していないと判定し、ステップS09に遷移する。超えている場合(YES)は、メモリ診断が終了していると判定し、ステップS11に遷移する。
 ステップS09は、メモリ診断を実行する。
 ステップS10は、メモリ診断アドレスを増加させ、ステップS07に遷移する。
 ステップS11は、OSデータをメモリ4へ転送する。
 ステップS12は、OSを起動する。
 ステップS13は、アプリケーションデータをメモリ4へ転送する。
 ステップS14は、アプリケーションプログラムを起動する。
 これらの一連のステップを経て、本実施例に記載する制御装置100は起動する。なお、ステップS11が終了した時点でOSは起動することができ、ステップS13が終了した時点でアプリケーションプログラムは起動することができる。
 次に、タイミングチャート図を使用して、制御装置が起動するまでの流れを説明する。
 図5は、制御装置が起動するまでの流れを説明するタイミングチャート図である。
 まず、本実施例に記載するFPGA101を使用しない場合の制御装置(比較例)が起動するまでの流れを説明する。この制御装置(比較例)は、一連のステップを、CPUによって処理する。つまり、この制御装置(比較例)は、CPUによって起動処理を実行する。なお、図5において、横軸は、時刻tを表現する。
 制御装置(比較例)の電源がONになり、CPUはOS用領域とアプリケーション用領域とのメモリ診断を実行する。つまり、CPU(ソフトウェア)によって、逐次的にメモリ診断が実行される。
 これらメモリ診断が終了した後、OSデータをメモリへ転送し、その後、アプリケーションデータをメモリへ転送する。システムの起動に必要なこれら一連のステップが終了した後、つまり、これらデータのメモリへの転送が終了した後、OSを起動し、その後、アプリケーションプログラムを起動する。
 図5において、電源ONからメモリ診断が終了するまでの時間をt、電源ONからOS起動が終了するまでの時間をt、電源ONからアプリケーション起動が終了するまでの時間をtとする。一般的に、OSやアプリケーションプログラムが使用するメモリ領域のサイズは大きく、メモリ領域の診断時間tに多くの時間を必要とする傾向がある。
 図6は、実施例1に係る制御装置が起動するまでの流れを説明するタイミングチャート図である。
 次に、本実施例に記載するFPGA101を使用する場合の制御装置100が起動するまでの流れを説明する。
 この制御装置100は、電源ON、OS起動やアプリケーションプログラム起動は、CPU2によって処理される。しかし、メモリ領域の診断処理とメモリ領域へのデータの転送処理とは、FPGA101によって処理される。つまり、制御装置100は、CPU2及びFPGA101によって、起動処理が実行される。なお、図6において、横軸は、時刻tを表現する。
 制御装置100の電源がONになり、FPGA101の動的部分再構成部181に、診断部12が構成される。この診断部12によって、OS用領域とアプリケーション用領域とのメモリ診断を実行する。これらメモリ診断が終了した後、OSデータをメモリ4へ転送し、その後、アプリケーションデータをメモリ4へ転送する。
 そして、OSデータをメモリ4へ転送した後に、OSを起動する。また、アプリケーションデータをメモリ4へ転送した後に、アプリケーションプログラムを起動する。
 図6において、電源ONからメモリ診断が終了するまでの時間をt、電源ONからOS起動が終了するまでの時間をt、電源ONからアプリケーション起動が終了するまでの時間をtとする。
 本実施例では、FPGA101の動的部分再構成部181に構成される診断部12によって、ハードウェアによるメモリ診断を実行する(ハードウェアにより、メモリのレーン毎、つまりメモリのライン毎に、並列的にメモリ診断を実行する)ため、電源ONからメモリ診断が終了するまでの時間tが、図5の場合と比較して、短縮される。これにより、OS起動が終了するまでの時間t及びアプリケーション起動が終了するまでの時間tも短縮される。
 また、本実施例では、OSデータをメモリ4へ転送した後に、OSを起動することができ、アプリケーションデータをメモリ4へ転送した後に、アプリケーションプログラムを起動する。つまり、OSの起動とアプリケーションデータのメモリ4への転送とを並列(同時)に実行することができ、OS起動が終了するまでの時間をt及びアプリケーション起動が終了するまでの時間をtが更に短縮される。
 本実施例によれば、CPU2とメモリ4とを搭載し、OSやアプリケーションプログラムを動作させる制御装置や制御方法において、高い信頼性を確保するために、起動時や再起動時にメモリ診断を実行する必要がある場合であっても、メモリ診断に長い時間をかけることなく、高速にOSやアプリケーションプログラムを起動させることができる制御装置や制御方法を提供することができる。そして、例えば、IoTに対応した性能が高く、拡張性が高い制御システムを実現することができる。
 まず、実施例2に係る制御装置200を説明する。
 図7は、実施例2に係る制御装置200を説明するブロック図である。
 本実施例に記載する制御装置200は、メモリ領域の診断処理とメモリ領域へのデータの転送処理とを並列に実行する。
 本実施例に記載する制御装置200は、実施例1(図1)に記載する制御装置100と比較して、動的部分再構成部182に診断転送部14を構成し、デュアルポートメモリコントローラ50とデュアルポートメモリ51とを有する点が相違する。
 デュアルポートメモリ51は、OSやアプリケーションプログラムを動作させるための一時的なデータ等を格納するものであり、一度に複数のアクセスを許可し、複数の読み取りや複数の書き込みを同時に実行することができるものである。また、デュアルポートメモリコントローラ50は、デュアルポートメモリ51にデータ等を一時的に格納するための制御を実行するものである。
 次に、実施例2に係る診断転送部14を説明する。
 図8は、実施例2に係る診断転送部14を説明するブロック図である。
 FPGA102の動的部分再構成部182に構成される診断転送部14は、実施例1(図3)に記載する診断部12と比較して、転送アドレス生成部37、転送データバッファ38、転送データバッファ39、及び、デュアルポートインタフェース52を有する点が相違する。
 転送アドレス生成部37は、診断データ生成部32が生成するデータ値を入力し、転送アドレス(例えば、番地)を生成し、生成される転送アドレスを転送データバッファ38に出力する。
 転送データバッファ38は、起動制御部11が出力するOSデータ(又はアプリケーションデータ)88(ビットストリームデータ72)と転送アドレス生成部37が出力する転送アドレスとを入力し、格納し、OSデータ88と転送アドレスとを転送データバッファ39に出力する。
 転送データバッファ39は、転送データバッファ38が出力するOSデータ88と転送アドレスとを入力し、格納し、OSデータ(又はアプリケーションデータ)86をデュアルポートインタフェース52に出力する。
 デュアルポートインタフェース52は、2組のメモリインタフェースを有し、診断ライトデータ74とOSデータ86とを入力し、診断ライトデータ85(診断ライトバッファ34の値)とOSデータ(又はアプリケーションデータ)87(転送データバッファ39の値)とをデュアルポートメモリコントローラ50に出力する。
 そして、デュアルポートメモリコントローラ50は、診断リードデータ75を診断リードバッファ35に出力する。
 つまり、本実施例では、OS用(メモリ)領域の診断処理とデュアルポートメモリ50へのOSデータの転送処理について、例えば、OS用領域として、ラインA、ラインB、ラインC、ラインDを有し、OSデータとして、ラインA、ラインB、ラインC、ラインDをデュアルポートメモリ50に転送する場合、ラインAを診断し、ラインAを転送する。そして、ラインAを転送する際に、ラインBを同時に診断し、ラインBを転送する際に、ラインCを同時に診断し、ラインCを転送する転送の際に、ラインDを同時に診断し、ラインDを転送する。
 また、アプリケーション用(メモリ)領域の診断処理とデュアルポートメモリ50へのアプリケーションデータの転送処理も、OS用領域の診断処理とデュアルポートメモリ50へのOSデータの転送処理と、同様である。
 なお、OSデータとしてラインDを転送する際に、アプリケーション用領域としてのラインEを同時に診断することもできる。
 これにより、本実施例に記載する制御装置200は、メモリ領域の診断処理とメモリ領域へのデータの転送処理とを並列に実行することができる。
 図9は、実施例2に係る制御装置が起動するまでの流れを説明するタイミングチャート図である。
 次に、本実施例に記載するFPGA102を使用する場合の制御装置200が起動するまでの流れを説明する。
 この制御装置200は、電源ON、OS起動やアプリケーションプログラム起動は、CPU2によって処理される。しかし、メモリ領域の診断処理とメモリ領域へのデータの転送処理とは、FPGA102によって処理される。つまり、制御装置200は、CPU2及びFPGA102によって、起動処理が実行される。なお、図9において、横軸は、時刻tを表現する。
 制御装置200の電源がONになり、FPGA102の動的部分再構成部182に、診断転送部14が構成される。この診断転送部14によって、OS用領域とアプリケーション用領域とのメモリ診断を実行する。
 これら領域のライン毎のメモリ診断が終了した後、ライン毎のデータをデュアルポートメモリ50へライン毎に転送する。そして、OSデータをデュアルポートメモリ50へ転送した後に、OSを起動する。また、アプリケーションデータをデュアルポートメモリ50へ転送した後に、アプリケーションプログラムを起動する。
 本実施例(図9)に記載するタイミングチャート図は、実施例1(図6)に記載するタイミングチャート図と比較して、FPGA102の動的部分再構成部182に構成される診断転送部14によって、OS用領域の診断処理とデュアルポートメモリ50へのOSデータの転送処理とをオーバーラップさせ、また、アプリケーション用領域の診断処理とデュアルポートメモリ50へのアプリケーションデータの転送処理とをオーバーラップさせる点が相違する。
 図9において、電源ONからメモリ診断が終了するまでの時間をt、電源ONからOS起動が終了するまでの時間をt、電源ONからアプリケーション起動が終了するまでの時間をtとする。これら時間は、実施例1と比較して、いずれの時間も短縮される。
 本実施例によれば、CPU2とデュアルポートメモリ50とを搭載し、OSやアプリケーションプログラムを動作させる制御装置や制御方法において、高い信頼性を確保するために、起動時や再起動時にメモリ診断を実行する必要がある場合であっても、メモリ領域の診断処理とデータの転送処理とを、オーバーラップさせて実行することができ、高速にOSやアプリケーションプログラムを起動させることができる制御装置や制御方法を提供することができる。
 まず、実施例3に係る制御装置300を説明する。
 図10は、実施例3に係る制御装置300を説明するブロック図である。
 本実施例に記載する制御装置300は、複数のCPU及び複数のOS(又はアプリケーションプログラム)を搭載する場合において、メモリ領域に優先度を付加して、メモリ領域の診断処理を実行する。
 本実施例に記載する制御装置300は、実施例1(図1)に記載する制御装置100と比較して、CPU6を追加して、メモリコントローラ3と接続し、診断部16にて、優先度を判定する点が相違する。
 例えば、CPU6は、CPU2で動作するOS(又はアプリケーションプログラム)よりも優先度の高い第2のOS(又は第2のアプリケーションプログラム)を、動作させるものである。なお、優先度は、例えば、リアルタイム性の高さなどを考慮して、判定される。
 次に、実施例3に係る転送部16を説明する。
 図11は、実施例3に係る診断部16を説明するブロック図である。
 FPGA103の動的部分再構成部183に構成される診断部16は、実施例1(図3)に記載する診断部12と比較して、診断領域レジスタ31と優先領域判定部36とを有する点が相違する。
 診断領域レジスタ(第一の診断領域レジスタ)30は、CPU2で動作するOS(又はアプリケーションプログラム)が使用するメモリ領域の診断アドレス76を設定する。また、診断領域レジスタ(第二の診断領域レジスタ)31は、CPU6で動作する第2のOS(又は第2のアプリケーションプログラム)が使用するメモリ領域の診断アドレス77を設定する。
 優先領域判定部36は、診断アドレス76又は診断アドレス77の中から、第2のOS(又は第2のアプリケーションプログラム)が使用する診断アドレス77を優先して選択する。つまり、診断領域レジスタ30と第二の診断領域レジスタ31とから優先領域を判定し、その判定結果を、診断データ生成部32に、出力する。
 そして、優先領域判定部36は、診断アドレス77で指定されたメモリ領域のメモリ診断が終了した後に、診断アドレス76で指定されたメモリ領域のメモリ診断を実行するように、診断データ生成部32に対して、判定結果を出力し、指示する。
 本実施例によれば、複数のCPU、複数のOSやアプリケーションプログラムを搭載し、OSやアプリケーションプログラムを動作させる制御装置や制御方法において、高い信頼性を実現するために、特定のOSやアプリケーションプログラムを優先して起動させる場合であっても、優先するメモリ領域を、優先して診断し、特定のOSやアプリケーションプログラムを高速に起動させることができる制御装置や制御方法を提供することができる。
 まず、実施例4に係る制御装置400を説明する。
 図12は、実施例4に係る制御装置400を説明するブロック図である。
 本実施例に記載する制御装置400は、複数のメモリを搭載する場合において、メモリ領域の診断処理を実行する。
 本実施例に記載する制御装置400は、実施例1(図1)に記載する制御装置100と比較して、複数のメモリ7、メモリ8、メモリ9を有し、これらメモリと接続することができるメモリコントローラ10を有し、並列診断部17にて、複数のこれらメモリのメモリ領域の診断処理を実行する点が相違する。
 次に、実施例4に係る並列診断部17を説明する
 図13は、実施例4に係る並列診断部17を説明するブロック図である。
 FPGA104の動的部分再構成部184に構成される並列診断部17は、実施例1(図3)に記載する診断部12と比較して、複数の診断部12、診断部40、診断部41、論理積を演算する論理積演算部42、論理和を演算する論理和演算部43を有する点が相違する。
 診断部12、診断部40、診断部41は、実施例1(図3)に記載する診断部12と同様の構成である。また、診断部12、診断部40、診断部41は、メモリコントローラ10を介して、メモリ7、メモリ8、メモリ9と接続する。
 つまり、診断部12は、メモリコントローラ10を介して、メモリ7と接続する。同様に、診断部40は、メモリコントローラ10を介して、メモリ8と接続する。同様に、診断部41は、メモリコントローラ10を介して、メモリ9と接続する。
 そして、診断部12は、メモリコントローラ10に診断ライトデータ74を出力し、メモリコントローラ10から診断リードデータ75を入力する。同様に、診断部40は、メモリコントローラ10に診断ライトデータ80を出力し、メモリコントローラ10から診断リードデータ81を入力する。同様に、診断部41は、メモリコントローラ10に診断ライトデータ82を出力し、メモリコントローラ10から診断リードデータ83を入力する。
 また、診断部12は診断結果(信号)91を出力する。同様に、診断部40は診断結果(信号)92を出力する。同様に、診断部41は診断結果(信号)93を出力する。
 また、診断部12は診断終了(信号)73を出力する。同様に、診断部40は診断終了(信号)78を出力する。同様に、診断部41は診断終了(信号)79を出力する。
 論理和演算部43は、診断部12から出力される診断結果91、診断部40から出力される診断結果92、及び、診断部41から出力される診断結果93を入力し、これらをまとめて、診断結果(信号)94を出力する。
 診断部12にて、診断リードデータ75の値と診断ライトデータ74の値とが、一致している場合は、メモリ7の診断対象アドレスは、正常に動作していることになる。しかしこれら値が一致しない場合は、メモリ7の診断対象アドレスは、正常に動作していないことになる。そして、例えば、正常に動作している場合には、診断結果91の値は「0」を、正常に動作していない場合には、診断結果91の値は「1」を出力する。
 同様に、診断部40にて、診断リードデータ80の値と診断ライトデータ81の値とが、一致している場合は、メモリ8の診断対象アドレスは、正常に動作していることになる。しかしこれら値が一致しない場合は、メモリ8の診断対象アドレスは、正常に動作していないことになる。そして、例えば、正常に動作している場合には、診断結果92の値は「0」を、正常に動作していない場合には、診断結果92の値は「1」を出力する。
 同様に、診断部41にて、診断リードデータ82の値と診断ライトデータ83の値とが、一致している場合は、メモリ9の診断対象アドレスは、正常に動作していることになる。しかしこれら値が一致しない場合は、メモリ9の診断対象アドレスは、正常に動作していないことになる。そして、例えば、正常に動作している場合には、診断結果93の値は「0」を、正常に動作していない場合には、診断結果93の値は「1」を出力する。
 メモリ7、メモリ8、メモリ9の全てが、正常に動作している場合は、診断結果91、診断結果92、診断結果93の値は、それぞれ「0」が出力されるため、0+0+0となり、診断結果94の値は「0」が出力される。一方、メモリ7、メモリ8、メモリ9のいずれかが、正常に動作していない場合は、いずれかの診断結果は「1」が出力されるため、診断結果94の値は「0」が出力されない。
 本実施例では、正常に動作している場合、診断結果91、診断結果92、診断結果93の値はそれぞれ「0」が出力され、正常に動作していない場合、診断結果91、診断結果92、診断結果93の値はそれぞれ「1」が出力される。そして、メモリ7、メモリ8、メモリ9の全てが、正常に動作している場合は、診断結果94の値は「0」が出力され、メモリ7、メモリ8、メモリ9のいずれかが、正常に動作していない場合は、診断結果94の値は「1」が出力される。
 また、図示はしないが、診断結果91、診断結果92、診断結果93から、どのメモリ(メモリ7、メモリ8、メモリ9)が正常に動作していないかを判定することができる。
 論理積演算部42は、診断部12から出力される診断終了73、診断部40から出力される診断終了78、及び、診断部41から出力される診断終了79を入力し、これらをまとめて、診断終了(信号)84を出力する。
 本実施例では、メモリ診断が終了していない場合は、診断終了73、診断終了78、診断終了79の値は、それぞれ「0」が出力され、メモリ診断が終了している場合は、診断終了73、診断終了78、診断終了79の値は、それぞれ「1」が出力される。
 このため、メモリ7、メモリ8、メモリ9のいずれかのメモリ診断が終了していない場合は、診断終了84の値は「0」が出力され、メモリ7、メモリ8、メモリ9の全てのメモリ診断が終了している場合は、診断終了84の値は「1」が出力される。
 本実施例によれば、CPUと複数のメモリとを搭載する制御装置や制御方法において、複数のメモリを並列に診断することができ、OSやアプリケーションプログラムを高速に起動させることができる。また、1つのメモリに対して1つの診断部を割り当てることにより、診断の結果、どのメモリが正常に動作していないかを明示的に判定することができる。
 ここで、本実施例に係る制御装置をプラントP1に適用した場合を説明する。
 図14は、本実施例に係る制御装置をプラントP1に適用した場合を説明する説明図である。
 本実施例に記載するプラントP1は、フィールド機器301とバルブ302(操作機器の一例)とが接続される入出力装置1030が、フィールドネットワーク121を介して、コントローラ1010と接続する。また、フィールド機器305とポンプ306(操作機器の一例)とが接続される入出力装置1060が、フィールドネットワーク122を介して、コントローラ1040と接続する。
 また、コントローラ1010及びコントローラ1040は、制御ネットワーク124を介して、HMI(ヒューマンマシンインタフェース:Human Machine Interface)107及びコンピュータ108と接続する。
 コントローラ1010には、実施例1等に記載される制御装置501が内蔵され、また、コントローラ1040には、実施例1等に記載される制御装置502が内蔵される。
 本実施例において、プラントP1を起動させる場合を、説明する。
 システムの電源がONになると、HMI107とコンピュータ108とが起動する。そして、制御ネットワーク124を介して、コントローラ1010及びコントローラ1040が起動する。そして、フィールドネットワーク121及びフィールドネットワーク122を介して、入出力装置1030及び入出力装置1060が起動する。そして、フィールド機器301及びフィールド機器305が起動する。
 ここで、制御ネットワーク124を介して、起動信号を受信したコントローラ1010は、コントローラ1010に内蔵される制御装置501により、メモリ診断とOSやアプリケーションプログラムの起動を高速に実行する。同様に、制御ネットワーク124を介して、起動信号を受信したコントローラ1040は、コントローラ1040に内蔵される制御装置502により、メモリ診断とOSやアプリケーションプログラムの起動を高速に実行する。
 本実施例によれば、複数のコントローラやコンピュータで構成されるプラントなどのシステムにおいて、メモリ診断とOSやアプリケーションプログラムの起動を高速化することができ、プラントなどのシステムの起動を高速化することができる。
 そして、プラントなどのシステムに停電や瞬停などが発生した場合であっても、起動を高い信頼性で、高速化することができ、再稼働にかかる時間を短縮することができ、システムの迅速な復旧が実現でき、より良いサービスを提供することができる。
 ここで、本実施例に係る制御装置をプラントP2に適用した場合を説明する
 図15は、本実施例に係る制御装置をプラントP2に適用した場合を説明する説明図である。
 本実施例に記載するプラントP2は、実施例5(図14)に記載するプラントP1と比較して、
 HMI107とコンピュータ108とが、情報ネットワーク125を介して、監視サーバ109と接続する点が相違する。そして、監視サーバ109が、プラントP2の状態を監視し、異常時や緊急時に指令を発する。
 なお、図示はしないが、フィールド機器301やバルブ302が接続される入出力装置1030と、コントローラ1010との間に、更なるコントローラを設置し、このコントローラと入出力装置1030とは、フィールドネットワークを介して、接続されてもよい。同様に、フィールド機器305やポンプ306が接続される入出力装置1060と、コントローラ1040との間に、更なるコントローラを設置し、このコントローラと入出力装置1060とは、フィールドネットワークを介して、接続されてもよい。
 そして、本実施例に記載するプラントP2は、監視サーバ109が制御装置505を、HMI107が制御装置503を、コンピュータ108が制御装置504を、コントローラ1010が制御装置501を、コントローラ1040が制御装置502を、入出力装置1030制御装置507を、入出力装置1060が、制御装置508を、それぞれを内蔵している。
 本実施例において、プラントP2を起動させる場合を、説明する。
 システムの電源がONになると、制御装置505により、監視サーバ109のメモリ診断とOSやアプリケーションプログラムの起動が実行される。
 そして、情報ネットワーク125を介して、制御装置503により、HMI107のメモリ診断とOSやアプリケーションプログラムの起動が実行され、また、制御装置504により、コンピュータ108のメモリ診断とOSやアプリケーションプログラムの起動が実行される。
 次に、制御ネットワーク124を介して、制御装置501により、コントローラ1010のメモリ診断とOSやアプリケーションプログラムの起動が実行され、また、制御装置502により、コントローラ1040のメモリ診断とOSやアプリケーションプログラムの起動が実行される。
 次に、フィールドネットワーク121を介して、制御装置507により、入出力装置1030のメモリ診断とOSやアプリケーションプログラムの起動が実行され、また、フィールドネットワーク122を介して、制御装置508により、入出力装置1060のメモリ診断とOSやアプリケーションプログラムの起動が実行される。
 本実施例によれば、複数のコントローラ、コンピュータ、サーバなどで構成されるプラントなどのシステムにおいて、メモリ診断とOSやアプリケーションプログラムの起動を高速化することができる。特に、複数の装置(入出力装置、コントローラ、HMIやコンピュータ、サーバなど)が階層化され、ネットワークで接続されるシステムであっても、その起動を高速化することができる。
 そして、システムに停電や瞬停などが発生した場合であっても、起動を高い信頼性で、高速化することができ、再稼働にかかる時間を短縮することができ、システムの迅速な復旧が実現でき、より良いサービスを提供することができる。
 更に、システムが広域に分散して設置される場合であっても、再稼働にかかる時間を短縮することができ、システムの迅速な復旧が実現でき、より良いサービスを提供することができる。
 なお、これら実施例に記載する制御装置及び制御方法は、エレベーター制御システム、鉄道制御システム、自動車制御システム、建設機械制御システム、発電制御システムなど、種々のシステムに使用することができる。
 また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために、制御装置及び制御方法を、詳細かつ具体的に、説明したものであり、必ずしも説明した全ての構成要素を有するものに限定されない。また、ある実施例の構成要件の一部を、他の実施例の構成要素の一部に置き換えることが可能である。また、ある実施例の構成要件に他の実施例の構成要件を加えることも可能である。また、各実施例の構成要件の一部について、他の構成要素の一部を、追加、削除、置換をすることも可能である。
 100、200、300、400、501、502、503、504、505、507、508…制御装置、101、102、103、104…FPGA、2、6…CPU、3、10…メモリコントローラ、4、7、8、9…メモリ、5…不揮発メモリ、11…起動制御部、12、16、40、41…診断部、14…診断転送部、17…並列診断部、181、182、183、184…動的部分再構成部、20…状態遷移部、21…制御信号生成部、22…マルチプレクサ、23…データバッファ、24…出力制御部、30、31…診断領域レジスタ、32…診断データ生成部、33…比較部、34…診断ライトバッファ、35…診断リードバッファ、36…優先領域判定部、37…転送アドレス生成部、38、39…転送データバッファ、42…論理積演算部、43…論理和演算部、50…デュアルポートメモリコントローラ、51…デュアルポートメモリ、52…デュアルポートインタフェース、1010、1040…コントローラ、1030、1060…入出力装置、107…HMI、108…コンピュータ、109…監視サーバ、301、305…フィールド機器302…バルブ、306…ポンプ、P1、P2…プラント。

Claims (7)

  1.  記憶部と、再構成可能なフィールドプログラマブルゲートアレイと、を有し、前記フィールドプログラマブルゲートアレイは、起動時に起動制御部を構成し、前記起動制御部は、前記フィールドプログラマブルゲートアレイに、診断部を構成し、前記診断部が前記記憶部の診断を実行することを特徴とする制御装置。
  2.  前記起動制御部は、前記診断部を生成するためのビットストリームデータを格納するデータバッファと、前記ビットストリームデータの出力を制御する出力制御部と、を有することを特徴とする請求項1に記載する制御装置。
  3.  前記診断部は、前記記憶部の診断対象アドレスを設定する診断領域レジスタと、前記診断領域レジスタが設定する診断対象アドレスに基づいて、診断データを生成する診断データ生成部と、前記記憶部へライトする診断ライトデータを格納する診断ライトバッファと、前記記憶部からリードした診断リードデータを格納する診断リードバッファと、前記診断ライトデータと前記診断リードデータとを比較する比較部と、を有することを特徴とする請求項1に記載する制御装置。
  4.  前記記憶部は、デュアルポートメモリであり、前記起動制御部は、診断転送部を構成し、前記診断転送部は、前記記憶部の診断を実行することを特徴とする請求項1に記載する制御装置。
  5.  前記診断部は、第一の診断領域レジスタと、第二の診断領域レジスタと、を有し、前記第一の診断領域レジスタと前記第二の診断領域レジスタとから優先領域を判定し、前記診断データ生成部に、その判定結果を出力する優先領域判定部と、を有することを特徴とする請求項3に記載する制御装置。
  6.  前記記憶部は、複数の記憶部であり、前記起動制御部は、並列診断部を構成し、前記並列診断部は、前記複数の記憶部の診断を実行することを特徴とする請求項1に記載する制御装置。
  7.  記憶部の診断を実行する制御方法であって、
     起動時に、再構成可能なフィールドプログラマブルゲートアレイに、起動制御部を構成し、前記起動制御部は、前記フィールドプログラマブルゲートアレイに、診断部を構成し、前記診断部が前記記憶部の診断を実行することを特徴とする制御方法。
PCT/JP2020/004129 2019-04-12 2020-02-04 制御方法および制御装置 WO2020208915A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-076171 2019-04-12
JP2019076171A JP7185587B2 (ja) 2019-04-12 2019-04-12 制御方法および制御装置

Publications (1)

Publication Number Publication Date
WO2020208915A1 true WO2020208915A1 (ja) 2020-10-15

Family

ID=72751969

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004129 WO2020208915A1 (ja) 2019-04-12 2020-02-04 制御方法および制御装置

Country Status (2)

Country Link
JP (1) JP7185587B2 (ja)
WO (1) WO2020208915A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209623A (ja) * 2005-01-31 2006-08-10 Denso Corp マイクロコンピュータ
JP2008097246A (ja) * 2006-10-11 2008-04-24 Fuji Xerox Co Ltd 情報処理装置、情報処理装置の動作方法およびプログラム
JP2016181106A (ja) * 2015-03-24 2016-10-13 富士通株式会社 情報処理装置、およびプログラム
JP2017512350A (ja) * 2014-03-08 2017-05-18 ディアマンティ インコーポレイテッド 集中型ネットワーキング及びストレージのための方法及びシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209623A (ja) * 2005-01-31 2006-08-10 Denso Corp マイクロコンピュータ
JP2008097246A (ja) * 2006-10-11 2008-04-24 Fuji Xerox Co Ltd 情報処理装置、情報処理装置の動作方法およびプログラム
JP2017512350A (ja) * 2014-03-08 2017-05-18 ディアマンティ インコーポレイテッド 集中型ネットワーキング及びストレージのための方法及びシステム
JP2016181106A (ja) * 2015-03-24 2016-10-13 富士通株式会社 情報処理装置、およびプログラム

Also Published As

Publication number Publication date
JP7185587B2 (ja) 2022-12-07
JP2020173692A (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
EP1980943B1 (en) System monitor device control method, program, and computer system
US7774785B2 (en) Cluster code management
CN110874261B (zh) 可用性系统、方法和存储有程序的存储介质
JP6850331B2 (ja) マルチノードストレージシステムにおけるファームウェアアップグレード方法
US8151021B1 (en) Upgrading software on a cluster of computerized devices
JP4820095B2 (ja) マルチプロセッサシステムにおけるハイパートランスポートルーティングテーブルをプログラミングするための方法及びシステム
US7069467B2 (en) System and method for data multiplexing
US7996715B2 (en) Multi nodal computer system and method for handling check stops in the multi nodal computer system
US20080195836A1 (en) Method or Apparatus for Storing Data in a Computer System
CN110622130B (zh) 可配置的本地异构计算环境中的高容量、低延迟数据处理
WO2019121516A1 (en) Seamless and safe upgrade of software intensive systems during operation
CN112199240B (zh) 一种节点故障时进行节点切换的方法及相关设备
CN114531373A (zh) 节点状态检测方法、节点状态检测装置、设备及介质
CN116266150A (zh) 一种业务恢复方法、数据处理单元及相关设备
WO2020208915A1 (ja) 制御方法および制御装置
WO2024098907A1 (zh) 固态硬盘访问控制方法、装置、计算机设备和存储介质
JP6135403B2 (ja) 情報処理システム、情報処理システムの障害処理方法
US11055263B2 (en) Information processing device and information processing system for synchronizing data between storage devices
CN108984602B (zh) 一种数据库控制方法和数据库系统
JP2006146709A (ja) 更新制御プログラム、更新制御方法および更新制御装置
JP2010231295A (ja) 解析システム
JP4232589B2 (ja) 二重化コントローラ、その等値化モード決定方法
WO2018179739A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN117608494B (zh) 云计算集群的存储方法及系统
RU2810634C2 (ru) Способ повышения надежности систем хранения данных и соответствующее устройство

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

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

Country of ref document: EP

Kind code of ref document: A1