Control device, control system, and control method

The control device employs a cache memory system with periodic control units to ensure timely data access for general-purpose CPUs, addressing compatibility and stability issues in control systems, enabling low-cost, real-time, and expandable control systems.

JP7623917B2Active Publication Date: 2025-01-29HITACHI LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021156111
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-24
Publication Date
2025-01-29
Estimated Expiration
2041-09-24

AI Technical Summary

Technical Problem

Conventional control systems face challenges in maintaining system stability and compatibility when replacing microcomputers with general-purpose CPUs, leading to potential instability and decreased performance due to jitter and tight memory access issues.

Method used

A control device utilizing a cache memory system that temporarily stores data accessed by general-purpose CPUs and I/O devices within the control cycle, with periodic control units managing access through the cache memory to comply with the control cycle, ensuring timely data transfer.

Benefits of technology

The solution enables memory access that complies with control cycles at a low cost, guaranteeing real-time performance and compatibility with conventional I/O processing, thus enhancing the expandability and reliability of control systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007623917000001
    Figure 0007623917000001
  • Figure 0007623917000002
    Figure 0007623917000002
  • Figure 0007623917000003
    Figure 0007623917000003
Patent Text Reader

Abstract

To realize a control system that requires a memory access of a control signal in compliance with a control cycle, at low cost.SOLUTION: A controller 1 has: a cache memory 40 that temporarily stores data used for data access to a memory 11 by an I / O device 90; and a read cycle control unit 20 that after interrupting a period of data access by a general-purpose CPU 12 and causing data to be accessed by the I / O device 90 to be read from the memory 11 into the cache memory 40, accesses the data to be accessed to the I / O device 90 via the cache memory 40 within a control cycle C1 by the I / O device 90.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control device, a control system, and a control method. [Background technology]

[0002] Various control systems that use control devices are being put to practical use in the social infrastructure field, such as water treatment, plants, FA (Factory Automation), steel, and power generation. For example, in water and sewage treatment plants, factories, steel mills, power plants, etc., a control system having multiple control devices connected to the main engine is in charge of processing. The control device executes control calculation processing and performs control by outputting control commands to the main engine as control data (signals).

[0003] To perform such control, there are cases where calculation processing must be completed within the control cycle time set by the control system, and input / output must be made to the I / O (Input / Output). If the output is not made within the time, the system may not be able to operate normally, resulting in losses and the system state may become unstable. For this reason, the control device in such a control system is required to have high-speed memory access.

[0004] Therefore, Patent Document 1 describes a data transfer device that can quickly transfer backlogged data while effectively using the bandwidth of a common bus. That is, claim 1 of Patent Document 1 discloses a data transfer device having the following configuration. A buffer section that temporarily stores data to be transferred to the common bus A write control unit that writes input data to the buffer as transfer data and outputs a notification signal indicating that the input data has been written to the buffer. A read control section that reads the transfer data from the buffer section An interface section that transfers the transfer data read from the buffer section by the read control section to the common bus according to a specified bus protocol. A bandwidth smoothing unit that smoothes the bandwidth of the common bus by controlling the timing at which the read control unit reads the transfer data from the buffer unit based on the notification signal.

[0005] Moreover, claim 1 of Patent Document 2 discloses a processing device that can read data from a cache memory at high speed by having the following configuration. Cache memory that stores multiple pieces of data in multiple memory elements An error detection circuit that detects an error when data is read from the cache memory later than a threshold. A latch circuit that latches (holds) data read from the cache memory when no errors are detected, and latches data read from the cache memory after a waiting period has elapsed when an error is detected. A processing unit core that processes data latched by the latch circuit [Prior art documents] [Patent documents]

[0006] [Patent Document 1] JP 2017-4430 A [Patent Document 2] JP 2013-89171 A Summary of the Invention [Problem to be solved by the invention]

[0007] In recent years, efforts are being made to improve the efficiency of control systems by promoting automation and autonomy in order to deal with future problems such as labor shortages. To this end, studies have begun on calculating more efficient control command values ​​by analyzing data acquired by placing multiple sensors in vast fields using AI (Artificial Intelligence) and other methods. It is hoped that calculations such as AI will be able to be processed on a general-purpose OS (Operating System) running on a general-purpose CPU (Central Processing Unit).

[0008] On the other hand, the microcomputers that perform control processing in conventional control systems are designed to access memory for control signals that comply with the control period, enabling precise control to be performed, such as opening and closing a valve or operating a robot arm, in milliseconds, the control period. Microcontrollers that place importance on real-time performance are designed as dedicated circuits such as ASICs (Application Specific Integrated Circuits), and therefore tend to have higher development and procurement costs than mass-marketed general-purpose CPUs. Also, while microcontrollers, being dedicated components, are good at exchanging control signals, they are not good at general-purpose processing such as collecting large amounts of data, analyzing the collected data, and automating optimal output.

[0009] Therefore, we are considering a hybrid operation in which the conventional microcomputers in the control devices of conventional control systems are replaced with general-purpose CPUs and general-purpose OSs, while other modules that perform I / O processing are reused from the conventional system to maintain compatibility. In this combined type, a general-purpose CPU runs a control program and other programs in the same environment, which can result in a decrease in performance due to the effects of jitter and memory access congestion.

[0010] Therefore, there is a concern that the I / O processing module will not be able to comply with the conventional control cycle via the general-purpose CPU. As a result, compatibility cannot be maintained in a combined control system, and the system state may become unstable. Incidentally, the conventional technologies such as those in Patent Documents 1 and 2 do not assume the use of a general-purpose CPU in combination with a conventional control system. Therefore, even if a conventional microcomputer is replaced with a general-purpose CPU, a mechanism is required to make the general-purpose CPU execute memory access that adheres to the control cycle.

[0011] Therefore, a main object of the present invention is to realize, at low cost, a control system that requires memory access of control signals conforming to a control period. [Means for solving the problem]

[0012] In order to solve the above problems, the control device of the present invention has the following features. The present invention relates to a memory that is occupied in each period by either a general-purpose CPU or an I / O device having a data access period that is determined by the control cycle; a cache memory for temporarily storing data used for data access to the memory by the I / O device; The present invention is characterized in that it has a periodic control unit which interrupts a data access period by the general-purpose CPU, reads data that is the subject of data access by the I / O device from the memory into the cache memory, and then causes the data that is the subject of data access by the I / O device to be accessed by the I / O device via the cache memory within the period of the control period by the I / O device. Other means will be described later. Effect of the Invention

[0013] According to the present invention, a control system that requires memory access for control signals conforming to a control period can be realized at low cost. [Brief description of the drawings]

[0014] [Figure 1] FIG. 2 is a configuration diagram of a control device according to the first embodiment. [Diagram 2] FIG. 4 is a configuration diagram of a read cycle control unit of the control device according to the first embodiment. [Diagram 3] FIG. 11 is a configuration diagram showing a first example of a read cycle designation unit according to the first embodiment. [Figure 4] FIG. 11 is a configuration diagram showing a second example of the read cycle designation unit according to the first embodiment. [Diagram 5] FIG. 2 is a configuration diagram of a write cycle control unit of the control device according to the first embodiment. [Figure 6] FIG. 11 is a configuration diagram showing a first example of a write cycle designation unit according to the first embodiment. [Figure 7] FIG. 11 is a configuration diagram showing a second example of the write cycle designation unit according to the first embodiment. [Figure 8] 4 is a timing chart in a control device of a comparative example. [Figure 9] 2 is a timing chart illustrating an example of an operation of the control device of FIG. 1 according to the first embodiment. [Figure 10] FIG. 11 is a configuration diagram of a control device according to a second embodiment. [Figure 11] FIG. 11 is a configuration diagram of a read cycle control unit according to the second embodiment. [Figure 12] FIG. 11 is a configuration diagram of a write cycle control unit according to the second embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of a timing chart in a control device of a comparative example. [Figure 14] 10 is a timing chart illustrating an example of an operation of the control device according to the second embodiment. [Figure 15] FIG. 11 is a configuration diagram of a control device according to a third embodiment. [Figure 16] 13 is a timing chart illustrating an example of an operation of the control device according to the third embodiment. [Figure 17] FIG. 13 is a configuration diagram of a control device according to a fourth embodiment. [Figure 18] FIG. 13 is a configuration diagram of a control device according to a fifth embodiment. [Figure 19]13 is a timing chart illustrating an example of the operation of the control device according to the fifth embodiment. [Figure 20] FIG. 2 is a configuration diagram showing an implementation example of a control device according to each embodiment. [Figure 21] FIG. 1 is a configuration diagram showing an application example 1 in which the control device of each embodiment is applied to a water plant (water treatment system). [Figure 22] FIG. 11 is a configuration diagram showing an application example 2 in which the control device of each embodiment is applied to an FA system. [Diagram 23] FIG. 11 is a configuration diagram showing an application example 3 in which the control device of each embodiment is applied to a hot rolling facility of a steelmaking system. [Figure 24] FIG. 11 is a configuration diagram showing an application example 4 in which the control device of each embodiment is applied to a power generation control system. [Diagram 25] FIG. 2 is a configuration diagram showing a control device of a comparative example. [Figure 26] FIG. 2 is a configuration diagram showing a control device of a comparative example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] Each embodiment of the present invention will be described below. EXAMPLES

[0016] FIG. 1 is a configuration diagram of a control device 1A according to the first embodiment. The control device 1A includes a memory 11, a general-purpose CPU 12, a read interface 13, a write interface 14, a bus interface 16, a bus 18, an I / O module 19, and a cache memory 40. The bus interface 16 connects the cache memory 40 to a bus 18. The bus 18 connects the bus interface 16 and an I / O module 19. The I / O module 19 performs input / output with an I / O device 90, periodically performs write processing to the memory 11, and periodically performs read processing from the memory 11.

[0017] Data used for control by the I / O device 90 is stored in the memory 11. A general-purpose OS runs on the general-purpose CPU 12, and the general-purpose OS executes general-purpose applications. The general-purpose CPU 12 reads and writes data by accessing the memory 11 connected thereto. The cache memory 40 temporarily stores data in the memory 11. By having the I / O module 19 access the cache memory 40 instead of accessing the memory 11, the data access time can be reduced.

[0018] The cache memory 40 functions as a read cache by reading data in the memory 11 as data in the cache memory 40. The read interface 13 is a path for data in the read cache. The I / O module 19 reads the data in the cache memory 40 by notifying the cache memory 40 of a read request for reading the data in the cache memory 40 into the I / O module 19.

[0019] Moreover, the cache memory 40 functions as a write cache by writing data in the cache memory 40 as data in the memory 11. The write interface 14 is a data path for the write cache. The I / O module 19 writes data to the cache memory 40 by notifying the cache memory 40 of a write request for writing its own data to the cache memory 40.

[0020] The first embodiment is characterized in that it includes a read cycle control unit 20 and a write cycle control unit 30 as cycle control units in order to cause the I / O module 19 to execute memory access of a control signal conforming to a control cycle. The read cycle control unit 20 controls the control cycle when the I / O device 90 performs read processing on the general-purpose CPU 12. The read cycle control unit 20 and the general-purpose CPU 12 are connected via a read interface 13, and the read cycle control unit 20 and the cache memory 40 are also connected. The write cycle control unit 30 controls the control cycle when the I / O device 90 performs write processing on the general-purpose CPU 12. The write cycle control unit 30 and the general-purpose CPU 12 are connected via a write interface 14, and the write cycle control unit 30 and the cache memory 40 are also connected.

[0021] 2 is a configuration diagram of the read cycle control unit 20A of the control device 1 A. The read cycle control unit 20A has a read cycle designation unit 21, a read request timing generation circuit 22, and an AND gate 23. When a read request signal 21D is input from the I / O module 19 via the cache memory 40, the read cycle designation unit 21 outputs a read cycle instruction signal 22D using that timing as a trigger. The read request signal 21D is a read request for the I / O device 90 to read the read data signal 24D (control data) from the memory 11. The read cycle instruction signal 22D is a signal that instructs the general-purpose CPU 12 on the control cycle when performing the read process of the read data signal 24D.

[0022] The read request timing generation circuit 22 generates a read request timing signal 23D based on the read cycle instruction signal 22D and outputs it to the general-purpose CPU 12. The read request timing signal 23D is a signal that notifies the general-purpose CPU 12 of the timing of the read process that complies with the control cycle of the read cycle instruction signal 22D. The read request timing signal 23D is also a control signal that causes the data to be accessed to be read from the memory 11 to the cache memory 40. By receiving the read request timing signal 23D, the general-purpose CPU 12 identifies (the storage address of) the read data signal 24D to be read from the memory 11, and stores it in the cache memory 40 by the control period.

[0023] In addition, upon storing the read data signal 24D in the cache memory 40, the general-purpose CPU 12 notifies the read cycle control unit 20A of a read data enable signal 25D notifying that the read data signal 24D can be read from the cache memory 40. The AND gate 23 generates the logical product of the read data enable signal 25D and the read cycle instruction signal 22D as a read data timing enable signal 26D. The read data timing enable signal 26D is a signal that notifies the I / O module 19 that the read data signal 24D can be read from the cache memory 40 and that the current time is within the control cycle indicated by the read cycle instruction signal 22D.

[0024] As a result, the I / O module 19 can read the read data signal 24D from the cache memory 40 within the control period upon receipt of the read data timing enable signal 26D notified within the control period. In other words, upon receiving the read data timing enable signal 26D, the I / O module 19 can reliably (without a cache miss) read the desired read data signal 24D from the cache memory 40 by a cache hit.

[0025] FIG. 3 is a configuration diagram showing a first example of the read cycle designation unit 21. As shown in FIG. The read cycle designation unit 21 in FIG. 2 is configured as a read cycle designation unit 21A having a read cycle designation register 21A1. The read cycle designation register 21A1 is a register in which a value is set by the register interface 21D2, and outputs a read cycle instruction signal 22D based on the set value. The register interface 21D2 has a predetermined bit width, such as 8 bits, 16 bits, 32 bits, or 64 bits, and receives information about the read request signal 21D (such as the type of signal and the control period of the signal) input thereto by an administrator.

[0026] FIG. 4 is a configuration diagram showing a second example of the read cycle designation unit 21. As shown in FIG. The read cycle designation unit 21 in FIG. 2 is configured as a read cycle designation unit 21B having a cycle counter 21B1, a first buffer 21B2, a second buffer 21B3, a difference calculation circuit 21B4, and a read cycle designation register 21B5. The cycle counter 21B1 is triggered by the timing when the read request signal 21D becomes valid, and stores the current count value in the first buffer 21B2, and starts incrementing the count number according to the clock frequency of the circuit.

[0027] The cycle counter 21B1 stores the current count value in the second buffer 21B3 at the timing when the read request signal 21D becomes valid again. The difference calculation circuit 21B4 calculates the difference between the count value of the first buffer 21B2 and the count value of the second buffer 21B3, and sets the difference in the read cycle designation register 21B5. The read cycle designation register 21B5 outputs the set value as the read cycle instruction signal 22D.

[0028] 5 is a configuration diagram of the write cycle control unit 30A of the control device 1 A. The write cycle control unit 30A has a write cycle designation unit 31, a write response timing generation circuit 32, and an AND gate 33. The write cycle control unit 30A receives input of a write data signal 31D (control data), which is data in the cache memory 40, and a write request signal 32D from the I / O module 19 via the cache memory 40. The write request signal 32D is a write request for the I / O device 90 to write the write data signal 31D to the cache memory 40 (and memory 11).

[0029] The AND gate 33 generates a logical AND of the write request signal 32D and the write cycle instruction signal 34D as a write data timing enable signal 36D. The write cycle instruction signal 34D is a signal that instructs the general-purpose CPU 12 on the control cycle when performing the write process of the write data signal 31D. The write data timing enable signal 36D is a signal that notifies the general-purpose CPU 12 that the write data signal 31D can be read from the cache memory 40 and that the current time is within the control cycle indicated by the write cycle instruction signal 34D.

[0030] The write cycle designation unit 31 receives a write acknowledge signal 33D, which is a response to a write request signal 32D (or a write data timing enable signal 36D), from the general-purpose CPU 12. The write cycle designation unit 31 outputs a write cycle instruction signal 34D, triggered by the timing at which the write acknowledge signal 33D becomes valid.

[0031] The write response timing generation circuit 32 generates a write acknowledge timing signal 35D from the write cycle instruction signal 34D and outputs it to the outside, such as the cache memory 40. The write acknowledge timing signal 35D is a signal that notifies the outside (the general-purpose CPU 12, the cache memory 40, etc.) of the timing of the write process that complies with the control cycle of the write cycle instruction signal 34D. The write acknowledge timing signal 35D is also a control signal that causes the I / O device 90 to write the data that is the subject of the data access to the cache memory 40. By receiving the write acknowledge timing signal 35D, the general-purpose CPU 12 identifies (the storage address in the cache memory 40 of) the write data signal 31D to be written to the memory 11, and responds with a write acknowledge signal 33D within the control period.

[0032] This allows the general-purpose CPU 12, upon receipt of the write data timing enable signal 36D notified within the control period, to read the write data signal 31D from the cache memory 40 within the control period and to respond with the write acknowledge signal 33D within the control period. In other words, upon receiving the write data timing enable signal 36D, the general-purpose CPU 12 can read the desired write data signal 31D from the cache memory 40 reliably (without a cache miss) by making a cache hit.

[0033] FIG. 6 is a diagram showing a configuration of a first example of the write cycle designation unit 31. As shown in FIG. The write cycle designation unit 31A has a write cycle designation register 31A1. The write cycle designation register 31A1 has a predetermined bit width, for example, 8 bits, 16 bits, 32 bits, or 64 bits. When a value is set in the write cycle designation register 31A1 from the general-purpose CPU 12 or the like via a register interface 32D2 that is aligned with a predetermined bit width, the write cycle designation register 31A1 outputs the set value as a write cycle instruction signal 34D.

[0034] FIG. 7 is a diagram showing a configuration of a second example of the write cycle designation unit 31. As shown in FIG. The write cycle designation unit 31B includes a cycle counter 31B1 and , B FF31B2 and , B FF31B3 and ,difference Dividing circuit 31B4 and ,La and a byte cycle designation register 31B5. The cycle counter 31B1 is triggered by the timing when the write request signal 32D becomes valid to store the current count value in the buffer 31B2 and start incrementing the count number according to the clock frequency of the circuit. The cycle counter 31B1 stores the current count value in the buffer 31B3 when the write request signal 32D becomes valid again.

[0035] The difference calculation circuit 31B4 calculates the difference between the count value of the buffer 31B2 and the count value of the buffer 31B3, and sets the result in the write cycle designation register 31B5. The write cycle designation register 31B5 outputs the set value as a write cycle instruction signal 34D.

[0036] Fig. 25 is a configuration diagram showing a control device of a comparative example. The control device 1F of Fig. 25 omits the read cycle control unit 20A, the write cycle control unit 30A, the cache memory 40, the read interface 13, and the write interface 14 compared to the control device 1A of Fig. 1. Therefore, the control device 1F has a configuration in which a general-purpose CPU 12 and a bus interface 16 are connected.

[0037] Fig. 8 is a timing chart 2A in the control device 1F of Fig. 25. In the control device 1F, the I / O device 90 reads data from the memory 11 connected to the general-purpose CPU 12 within a certain control period. The top row "Memory" of the timing chart 2A indicates devices that exclusively occupy the memory 11, and in this case, the general-purpose CPU 12 and the I / O device 90. The middle row "I / O" in timing chart 2A indicates that the I / O device 90 outputs a read request (read request signal 21D in FIG. 2, abbreviated as "RR") and receives read data (read data signal 24D in FIG. 2, abbreviated as "RD") via memory 11. The bottom row of the timing chart 2A, “Control Period”, indicates the control period (time limit for each period) when the I / O device 90 accesses the memory 11.

[0038] In the control cycle C1, the time required for memory access is within the time limit. In other words, after the general-purpose CPU 12 occupies the memory 11, no other device occupies the memory 11, and when the I / O device 90 outputs a read request (RR1), the I / O device 90 occupies the memory 11, receives the read data (RD1), and falls within the period of the control cycle C1.

[0039] In control cycle C2, the time required for memory access does not comply with the time limit. Here, the general-purpose CPU 12 running the general-purpose OS does not finish processing within the specified time. Therefore, even if a read request (RR2) is output from the I / O device 90, the memory 11 can not be occupied until control cycle C3 has started. In other words, the read data (RD2) could not be received within the period of control cycle C2. In such cases, depending on the control system, the conventional process of completing input and output within the control period may not be performed, which may result in the system failing or falling into a dangerous state.

[0040] Fig. 9 is a timing chart 2B for explaining an example of the operation of the control device 1A of Fig. 1. The control device 1A reads data from the memory 11 connected by the I / O device 90 to the general-purpose CPU 12 within a certain control period. The first, third, and fourth rows from the top of the timing chart 2B are as explained in Fig. 8. Here, in the timing charts 2A and 2B, the timing at which a read request (RR) is output from the I / O device 90 is the same. The second row of the timing chart 2B, "Cache Memory", shows the data contents in the cache memory 40, and these data contents are controlled by the read cycle control unit 20A and the write cycle control unit 30A.

[0041] In the control cycle C1, the time required for memory access is within the time limit. In other words, since no device occupies the memory 11 after the general-purpose CPU 12 occupies the memory 11, the read cycle control unit 20A stores the read data (RD1) for the I / O device 90 in the cache memory 40. Since the read data (RD1) is stored in the cache memory 40 at the time the read request (RR1) is output from the I / O device 90, the I / O device 90 receives the read data (RD1) within the control period C1.

[0042] Even in the control cycle C2, the time required for memory access is within the time limit. Here, the general-purpose CPU 12 running the general-purpose OS does not finish processing within the specified time. However, the read cycle control unit 20A judges the read cycle and interrupts the access timing of the general-purpose CPU 12 to store the read data (RD2) of the I / O device 90 in the cache memory 40. In other words, the read cycle control unit 20A interrupts the period of data access by the general-purpose CPU 12, reads the data that is the target of data access by the I / O device 90 from the memory 11 into the cache memory 40, and then causes the data that is the target of data access to be accessed by the I / O device 90 via the cache memory 40 within the period of the control cycle C1 by the I / O device 90.

[0043] The details of the process of interrupting the access timing of the general-purpose CPU 12 are as shown in Fig. 2. That is, the general-purpose CPU 12 recognizes the interruption of the access timing by the read request timing signal 23D received from the read cycle control unit 20A. The general-purpose CPU 12 then prioritizes memory access by the I / O device 90 over its own memory access.

[0044] As a result, the read data (RD2) is stored in the cache memory 40 at the time the read request (RR2) is output from the I / O device 90, so that the read data (RD2) is received within the period of the control cycle C2. Even in control cycle C3, the time required for memory access is within the time limit.

[0045] As described above, according to the first embodiment, in implementing a highly scalable control system by adopting a general-purpose CPU 12 and a general-purpose OS, a control device 1A can be provided that can guarantee real-time performance by utilizing timing compatibility of I / O processing of conventional modules. Below, we will explain Examples 2 to 5 (control devices 1B to 1E). Even if the components (e.g., memory 11) of the control device 1A are not shown in the control devices 1B to 1E, the components of the control device 1A may also be included in the control devices 1B to 1E. EXAMPLES

[0046] Fig. 10 is a configuration diagram of a control device 1B according to Example 2. In the control device 1B, an I / O module 19 for connecting a second I / O device 92, which is a second device, is added to the control device 1A in Fig. 1 in addition to the I / O module 19 for connecting a first I / O device 91, which is a first device. Furthermore, the read cycle control unit 20A and the write cycle control unit 30A of the control unit 1A correspond to a second I / O device 92, while the read cycle control unit 20B and the write cycle control unit 30B of the control unit 1B correspond to a second I / O device 92.

[0047] FIG. 11 is a configuration diagram of the read cycle control unit 20B. Compared to the read cycle control unit 20A in FIG. 2, the read cycle control unit 20B further includes a second read cycle designation unit 21B and a read module arbitration circuit 24 that arbitrates access between a plurality of I / O devices.

[0048] When a read request signal 21D is input from the second I / O device 92 via the I / O module 19 and the cache memory 40, the read cycle designation unit 21B outputs a read cycle instruction signal 22D to the read module arbitration circuit 24 using that timing as a trigger. The read module arbitration circuit 24 outputs a read cycle instruction signal 22D when triggered by the timing when the read request signal 21D of each of the read cycle designation sections 21 and 21B becomes valid. Other processing units and signals in the read cycle control unit 20B are as described with reference to FIG.

[0049] FIG. 12 is a configuration diagram of the write cycle control unit 30B. Compared to the write cycle control unit 30A in FIG. 5, the write cycle control unit 30B further includes a second write cycle designation unit 31B and a write module arbitration circuit 34 that arbitrates access between multiple I / O devices. When a write request signal 32D is input from the second I / O device 92 via the I / O module 19 and cache memory 40, the write cycle designation unit 31B outputs a write cycle instruction signal 34D to the read module arbitration circuit 24 using that timing as a trigger.

[0050] The write module arbitration circuit 34 outputs a write data timing enable signal 36D to the general-purpose CPU 12 at a timing when a write request signal 32D from the first I / O device 91 or the second I / O device 92 is valid and a write cycle instruction signal 34D from the write cycle designation unit 31 or the write cycle designation unit 31B is valid. The write module arbitration circuit 34 is triggered by the timing when the write acknowledge signal 33D becomes valid and outputs a write cycle instruction signal 34D to the write response timing generation circuit 32. The write response timing generation circuit 32 generates a write acknowledge timing signal 35D from the write cycle instruction signal 34D and outputs it to an external device such as a cache memory 40. Other processing units and signals in the write cycle designation unit 31B are as described with reference to FIG.

[0051] FIG. 26 is a configuration diagram showing a control device of a comparative example. A control device 1G in FIG. 26 omits the read cycle control unit 20A, the write cycle control unit 30A, the cache memory 40, the read interface 13, and the write interface 14 from the control device 1A in FIG. On the other hand, similar to FIG. 10, the control device 1G of FIG. 26 adds an I / O module 19 to which a second second I / O device 92 is connected in addition to the I / O module 19 to which a first first I / O device 91 is connected.

[0052] FIG. 13 is a diagram showing an example of a timing chart 2C in the control device 1G. The first I / O device 91 reads data from the memory 11 connected to the general-purpose CPU 12 within a fixed period of a first control cycle C1-C3. The second I / O device 92 writes data to the memory 11 connected to the general-purpose CPU 12 within a fixed period of second control cycles C11, C12. The second control cycles C11, C12 are longer than the first control cycles C1-C3.

[0053] The first row "Memory" of timing chart 2C indicates the devices that have exclusive occupancy of memory 11, which in this case are the general-purpose CPU 12, the first I / O device 91, and the second I / O device 92. The second row “first I / O” of the timing chart 2C indicates that the first I / O device 91 outputs a read request (RR) and receives read data (RD) via the memory 11. The third row "2nd I / O" of timing chart 2C indicates that the second I / O device 92 transfers write data (write data signal 31D in Figure 5, abbreviated as "WD") to the memory 11 and receives a write acknowledge (write acknowledge signal 33D in Figure 5, abbreviated as "WA"). The fourth row “First control period” of the timing chart 2C indicates the control period when the first I / O device 91 accesses the memory 11. The fifth row “Second control period” of the timing chart 2C indicates the control period when the second I / O device 92 accesses the memory 11.

[0054] Here, in the first control cycle C1, after the general-purpose CPU 12 occupies the memory 11, no other device occupies the memory 11. Therefore, when the first I / O device 91 outputs a read request (RR1), the first I / O device 91 occupies the memory 11. Therefore, the first I / O device 91 can receive the read data (RD1) within the period of the control cycle C1.

[0055] Furthermore, in the control cycle C11, when the write data (WD1) is output from the second I / O device 92 to the memory 11, the general-purpose CPU 12 occupies the memory 11. Furthermore, the general-purpose CPU 12 occupies the memory 11 even when a read request (RR2) is output from the first I / O device 91 in the control cycle C2.

[0056] As a result, the write acknowledge (WA1) for the write data (WD1) does not arrive in time for the control cycle C11, and is returned in the next control cycle C12. On the other hand, the next write data (WD2) from the second I / O device 92 can be transmitted within the period of the control cycle C12. Moreover, the read data (RD2) in response to the read request (RR2) from the first I / O device 91 does not arrive in time for control cycle C2, and is received in the next control cycle C3.

[0057] Furthermore, there are cases where the I / O cannot perform the next process unless it receives a write acknowledge (WA1) for the write data (WD1).In such cases, depending on the control system, the system may fail or fall into a dangerous state because it is no longer possible to complete the conventional process of completing input and output within the control cycle.

[0058] FIG. 14 is a timing chart 2D for explaining an example of the operation of the control device 1B. Timing chart 2D adds a row for the cache memory 40 to timing chart 2C. The rows for the cache memory 40 are as explained in Fig. 9, but in Fig. 14, the area for read data (RD) is in the upper row, and the area for write data (WD) is in the lower row. In other words, the cache memory 40 has a storage area for each I / O device 90. In the timing charts 2C and 2D, the timing at which a read request (RR) is output from the first I / O device 91 is the same. In the timing charts 2C and 2D, the timing at which write data (WD) is output from the second I / O device 92 is the same.

[0059] Here, in the first control cycle C1, after the general-purpose CPU 12 occupies the memory 11, no other device occupies the memory 11. Therefore, the read cycle control unit 20B stores the read data (RD1) for the first I / O device 91 in the cache memory 40. The read data (RD1) is stored in the cache memory 40 at the time when the read request (RR1) is output from the first I / O device 91. Therefore, the first I / O device 91 can receive the read data (RD1) within the period of the control cycle C1.

[0060] Furthermore, in the control cycle C11, the write cycle control unit 30B stores the write data (WD1) in the cache memory 40 at the timing when the write data (WD1) is output from the second I / O device 92 to the memory 11. Therefore, the second I / O device 92 can receive the write acknowledge (WA1) within the period of the control cycle C11. In the control cycle C12, the write cycle control unit 30B transfers the write data (WD1) of the second I / O device 92 to the memory 11 at the timing when the general-purpose CPU 12 no longer occupies the memory 11.

[0061] In the control cycle C2, the general-purpose CPU 12 running the general-purpose OS does not finish within the specified processing time. However, the read cycle control unit 20B judges the read cycle, interrupts the access timing of the general-purpose CPU 12, and stores the read data (RD2) of the first I / O device 91 in the cache memory 40. Therefore, since the read data (RD2) is stored in the cache memory 40 at the time the read request (RR2) is output from the I / O, the first I / O device 91 can receive the read data (RD2) within the control period C2. Similarly, for control cycles C3 and after, read access and write access are executed within each control cycle.

[0062] According to the control device 1B of the second embodiment, even when multiple conventional I / O modules 19 are connected, real-time performance can be guaranteed due to the timing compatibility of the I / O processing of the conventional modules. Therefore, a highly scalable control system can be implemented by adopting a general-purpose CPU 12 and a general-purpose OS. Although the second embodiment shows an example in which there are two pairs of I / O devices and I / O modules, there may be three or more pairs. EXAMPLES

[0063] FIG. 15 is a configuration diagram of a control device 1C according to the third embodiment. Compared to the control device 1B of Figure 10, the control device 1C differs in that the cache memory 40 is a first cache memory 41, the second I / O device is a third I / O device 93, and the I / O module 19 that performs input / output with the third I / O device 93 has a second cache memory 42. The second cache memory 42 temporarily stores the data in the first cache memory 41 .

[0064] FIG. 16 is a timing chart 2E for explaining an example of the operation of the control device 1C. In the control device 1C, the first I / O device 91 reads data from the general-purpose CPU 12 within a certain control period. Also, the third I / O device 93, which has a longer control period than the first I / O device 91, writes data to the general-purpose CPU 12.

[0065] The first row of the timing chart 2E, "First cache memory", is the data content of the first cache memory 41. The upper side shows the read access controlled by the read cycle control unit 20B, and the lower side shows the write access controlled by the write cycle control unit 30B. The second row “first I / O” of the timing chart 2E indicates that the first I / O device 91 outputs a read request (RR) and receives read data (RD) via the first cache memory 41.

[0066] The third row of the timing chart 2E, "second cache memory", is the data content of the second cache memory 42, which is controlled by the write cycle control unit 30B. The fourth row "Third I / O" of the timing chart 2E indicates that the third I / O device 93 transfers write data (WD) to the second cache memory 42 and receives a write acknowledge (WA). The fifth line of the timing chart 2E, “First control period”, indicates the control period when the first I / O device 91 accesses the first cache memory 41. The sixth line of the timing chart 2E, “Second control period”, indicates the control period when the third I / O device 93 accesses the second cache memory 42.

[0067] Here, in the first control cycle C11, the write data (WD1) is stored in the second cache memory 42 when the write data (WD1) is output from the third I / O device 93 to the second cache memory 42. Therefore, a write acknowledge (WA1) can be received within the period of the control cycle C11. At this point, the write data (WD1) is not stored in the first cache memory 41.

[0068] In the control cycle C1, a read request (RR1) is output from the first I / O device 91 to the first cache memory 41. After receiving the read data (RD1), the write data (WD1) is stored in the first cache memory 41. Thereafter, the write data (WD1) is written to the general-purpose CPU 12. Read access and write access are executed in the same manner for control periods C2, C12, C3 and thereafter.

[0069] According to the control device 1C of this embodiment 3, the read cycle control unit 20B and the write cycle control unit 30B cause the data to be accessed by each I / O device 90 to be accessed via the cache memory 40 or the second cache memory 42 within a period such as control period C1, C11 by each I / O device 90. As a result, even if the conventional I / O module 19 has a storage device such as the second cache memory 42 inside, real-time performance can be guaranteed due to the timing compatibility of the I / O processing of the conventional module. Therefore, a highly scalable control system can be implemented by adopting a general-purpose CPU 12 and a general-purpose OS. Although the third embodiment shows an example in which there is one I / O module having a cache memory, there may be two or more I / O modules. Furthermore, although the third embodiment shows an example in which there are two I / O modules, there may be three or more I / O modules. EXAMPLES

[0070] FIG. 17 is a configuration diagram of a control device 1D according to the fourth embodiment. Compared to the control device 1A of FIG. 1, the control device 1D further includes a general-purpose CPU data synchronization unit 20C and an I / O data synchronization unit 30C, and the inside of the cache memory 40 is divided into a plurality of access spaces 43a, 43b, 43c, 44a, 44b, and 44c.

[0071] The access spaces 43a, 43b, and 43c are a first area for data access by the general-purpose CPU 12, and the access spaces 43a, 43b, and 43c are a second area for data access by the I / O device 90 having an operating frequency lower than that of the general-purpose CPU 12. The access spaces 43a, 44a marked "CPU → I / O" are areas for storing read data from the general-purpose CPU 12 to the I / O device 90. The access spaces 43a, 44a marked "I / O → CPU" are areas for storing write data from the I / O device 90 to the general-purpose CPU 12.

[0072] The general-purpose CPU data synchronization unit 20C transfers the contents of the access spaces 43a, 43b, and 43c to the access spaces 44a, 44b, and 44c at the timing of a read cycle instruction signal 22D output from the read cycle designation unit 21. The I / O data synchronization unit 30C transfers the contents of the access spaces 44a, 44b, and 44c to the access spaces 43a, 43b, and 43c at the timing of a write cycle instruction signal 34D output from the write cycle designation unit 31. These transfer processes move data between the first area and the second area, thereby controlling the data movement between the I / O device 90 and the general-purpose CPU 12.

[0073] According to the control device 1D of the fourth embodiment, the general-purpose CPU 12 and the I / O module 19 can access each device via the cache memory while guaranteeing real-time performance, without taking into consideration the difference in operating frequency. In addition, in implementing a highly scalable control system by adopting a general-purpose CPU 12 and a general-purpose OS, there is processing of the general-purpose CPU 12 that operates at a high operating frequency and I / O processing of the conventional I / O module 19 that operates at a low operating frequency. EXAMPLES

[0074] FIG. 18 is a configuration diagram of a control device 1E according to the fifth embodiment. 1, the control device 1E adds a module access timing arbitration unit 17 and time-shares the inside of the cache memory 40 into two access spaces 45. In other words, in the cache memory 40, storage areas for each I / O device 90 are set in a time-shared manner. The access space 45 marked "CPU → 1st I / O" is an area for storing read data from the general-purpose CPU 12 to the first I / O device 91. The access space 45 marked "4th I / O → CPU" is an area for storing write data from the fourth I / O device 94 to the general-purpose CPU 12. In other words, the same access space 45 is used in a time-sharing manner.

[0075] A module access timing arbitration unit 17 connected to the bus interface 16 is connected to the general-purpose CPU 12 via the read interface 13 and write interface 14 , and is further connected to a cache memory 40 . The module access timing arbitration unit 17 receives the read cycle instruction signal 22D from the read cycle designation unit 21 and stores the read data in the access space 45. The module access timing arbitration unit 17 receives the write cycle instruction signal 34 D from the write cycle designation unit 31 and stores the write data in the access space 45 .

[0076] FIG. 19 is a timing chart 2F for explaining an example of the operation of the control device 1E. The first I / O device 91 reads data from the general-purpose CPU 12 within fixed control periods C1, C2, and C3. The fourth I / O device 94 reads data from the general-purpose CPU 12 within fixed control periods C21 and C22. The control periods C1, C2, and C3 and the control periods C21 and C22 have the same length but different timing.

[0077] The first row of timing chart 2F, "Timing Arbitration," indicates the devices whose access timing is arbitrated by the module access timing arbitration unit 17 under control of the read period designation unit 21 and the write period designation unit 31; in this case, this corresponds to the first I / O device 91 and the fourth I / O device 94. The second row “cache memory” of the timing chart 2F indicates the data contents of the access space 95 of the cache memory 40, and is controlled by the read cycle designation unit 21 and the write cycle designation unit 31.

[0078] The third row "first I / O" of the timing chart 2F indicates that the first I / O device 91 outputs a read request (RR) and receives read data (RD). The fourth row "4th I / O" of the timing chart 2F indicates that the fourth I / O device 94 outputs a read request (RR) and receives read data (RD). The fifth line of timing chart 2F, “First control period”, indicates the control period when the first I / O device 91 accesses the cache memory 40. The sixth line of timing chart 2F, “Fourth control period”, indicates the control period when the fourth I / O device 94 accesses the cache memory 40.

[0079] Here, in the first half of the first control cycle C1, the arbitrated first I / O device 91 uses the cache memory space and stores the read data (RD1) for the first I / O device 91 in the cache memory 40. At the time when the read request (RR1) is output from the first I / O device 91, the read data (RD1) is stored in the cache memory 40. Therefore, the first I / O device 91 can receive the read data (RD1) within the period of the control cycle C1.

[0080] Furthermore, in the first half of the control cycle C21, the arbitrated fourth I / O device 94 uses the cache memory space and stores the read data (RD4) for the fourth I / O device 94 in the cache memory 40. At the time when the read request (RR4) is output from the fourth I / O device 94, the read data (RD4) is stored in the cache memory 40. Therefore, the fourth I / O device 94 can receive the read data (RD4) within the period of the control cycle C21. Read access is executed in the same manner for control periods C2, C22, C3 and thereafter.

[0081] According to this embodiment 5, the read period designation unit 21 and the write period designation unit 31 cause the I / O device 90 to access the data to be accessed via the cache memory 40 within the control periods C1 and C21 by each I / O device 90. This makes it possible to reduce the capacity of the cache memory required for accessing the I / O of conventional modules in the implementation of a highly scalable control system using a general-purpose CPU 12 and a general-purpose OS. Therefore, it is possible to provide a low-cost, low-power control device 1E that guarantees real-time performance through timing compatibility. In the fifth embodiment, the control cycles of the two I / O modules are the same, but they may be different. Furthermore, in the fifth embodiment, the control cycles of the two I / O modules are the same, but they may be three or more.

[0082] Next, application examples of the control devices 1A to 1E according to the embodiments described above will be described. 20 is a configuration diagram showing an implementation example of the control devices 1A to 1E. The control device 200 is configured by inserting various modules into a plurality of slots 221, 222, and 223 connected to a backplane 220. A CPU module 210 , which is a device equipped with a general-purpose CPU 12 , and I / O modules 211 and 212 having the functions of the I / O module 19 are mounted on a backplane 220 .

[0083] An interface is implemented from the CPU module 210, the I / O module 211, and the I / O module 212. Generally, a power supply module is also required when implementing such a control device, but this is omitted in the example of FIG. As shown in each embodiment, by connecting a module equipped with a general-purpose CPU 12 and a module equipped with I / O control, it is possible to configure the control device in various forms.

[0084] Furthermore, by adopting the same connection interface as conventional control devices for the backplane, etc., it is possible to use conventional modules as they are while connecting them to new modules such as a general-purpose CPU 12 to achieve gradual functional expansion. The number of CPU modules, I / O modules, etc., installed in each embodiment is not limited to the numbers described above, but can be expanded to any number.

[0085] Next, application examples 1 to 4 in which the control device according to each embodiment is applied to the control of various facilities such as a plant will be described with reference to FIGS. FIG. 21 is a configuration diagram showing a first application example in which the control devices 1A to 1E are applied to a water plant (water treatment system). By applying the control devices 1A to 1E to the control devices 410 and 411, a water treatment system that requires scalability and real-time compatibility can be realized. The I / O device 90 (which may be the first I / O device 91 to the fourth I / O device 94, the same applies below) is applied to the I / O devices 710 and 711 and the sequencers 712 and 713. The I / O module 19 is applied to the I / O modules 910, 911, and 912.

[0086] In the water treatment system, control devices 410 and 411 connected to a control network 611 are controlled by an information terminal 510 , a monitoring device 512 , and a file server 513 connected to an information network 610 .

[0087] The control device 410 controls the high-voltage board 810 and the low-voltage board 811 from the PI / O device 710 and the PI / O device 711, respectively, via the field bus 612. The control device 411 adjusts the amount of water pumped by the pump 812 and the blower 813 via the sequencer 712. In addition, the water quality obtained by the water quality meter 814 and the field image data taken by the camera 815 are collected by the sequencer 713 and acquired by the control device 411. These control devices 410, 411 are connected via a control network 611 and share data.

[0088] Here, in order to perform water treatment efficiently, the CPU module 310 of the control device 410 and the CPU module 311 of the control device 411 adopt a general-purpose CPU 12 and a general-purpose OS, and are configured to enable data sharing between devices via the control network 611. On the other hand, the control device 411 must perform a compatible operation with the conventional output process in order to control the conventional sequencer 712 connected to the pump 812 and the blower 813. Also, the control device 411 must perform a compatible operation with the conventional input process in order to control the conventional sequencer 713 that controls the water quality meter 814 and the camera 815.

[0089] Furthermore, since the control device 410 controls the conventional PI / O device 710 and PI / O device 711 connected to the high-voltage board 810 and the low-voltage board 811 via the field bus 612, it is necessary to perform operations compatible with conventional input / output processing. 21, in order to achieve both high versatility and scalability as well as compatibility with conventional treatment, control devices 410 and 411 of the present invention are applied. Functions requiring versatility and scalability are executed by CPU modules 310 and 311, and functions requiring compatibility are executed by I / O modules 910, 911, and 912.

[0090] FIG. 22 is a configuration diagram showing a second application example in which the control devices 1A to 1E are applied to an FA system. The FA system controls a control device 420 by a server 520 and a monitoring terminal 521 connected to an information network 620. By applying the control devices 1A to 1E to the control device 420, an FA system that requires scalability and real-time compatibility can be realized. By applying the control devices 1A to 1E to the control device 420, a water treatment system that requires scalability and real-time compatibility can be realized. The I / O device 90 is applied to PLCs (Programmable Logic Controllers) 720 to 723. The I / O module 19 is applied to I / O modules 920 and 921.

[0091] Products placed on the belt conveyor 825 are photographed by a camera 821 and their shape data is processed by a PLC 720, which then controls a picking robot 822 to place the products in a predetermined position. The belt conveyor 825 is rotated at a predetermined speed by a conveyor motor 823 controlled by a PLC 722, and a painting robot 824 controlled by the PLC 723 paints the surfaces of the products.

[0092] In this FA system, the multiple PLCs required for controlling the belt conveyor 825 are collectively controlled by the control device 420, so in order to perform high-quality painting, the control device 420 needs to be capable of high-performance, real-time processing.

[0093] 22 has a configuration in which a CPU module 320 equipped with a general-purpose CPU 12 is connected to I / O modules 920 and 921 via a backplane. High-performance processing is executed by the CPU module 320, and the processing results are transmitted from the I / O module 920 to the PLCs 720 and 721 in real time while maintaining compatibility with the processing timing, thereby performing distributed control. Similarly, the I / O module 921 transmits the results to the PLCs 722 and 723 in real time while maintaining compatibility with the processing timing, thereby performing distributed control.

[0094] FIG. 23 is a configuration diagram showing an application example 3 in which the control devices 1A to 1E are applied to a hot rolling facility of an iron and steel system. In the hot rolling equipment, a terminal 500 connected to a control network 600 controls the control devices 400, 401, and 402. Steel heated in a heating furnace 801 is fed into the hot rolling equipment 800. The temperature of the heating furnace 801 obtained by a temperature sensor 700 is acquired by the control device 400. The control devices 1A to 1E, when applied to the control devices 400-402, can realize a water treatment system that requires scalability and real-time compatibility. The I / O device 90 is applied to PI / O devices (Programmable Input / Output) 701, 702, and 704, and temperature sensors 700 and 703. The I / O module 19 is applied to I / O modules 900-902.

[0095] The control device 400 controls the PI / O device 701 to adjust the rotation speed of the roughing mill 802. The control device 401 controls the PI / O device 702 to adjust the rotation speed and tension of the finishing mill 803. The temperature of the cooling equipment 804 obtained by the temperature sensor 703 is acquired by the control device 402. The control device 402 controls the PI / O device 704 to adjust the rotation speed and direction of the winder 805.

[0096] Here, in order to produce high-quality steel plate, the CPU module 300 of the control device 400, the CPU module 301 of the control device 401, and the CPU module 302 of the control device 402 each employ a general-purpose CPU 12 and a general-purpose OS, and are configured so that the terminal 500 can acquire the status of the hot rolling equipment 800 via the control network 600.

[0097] On the other hand, the control device 400 needs to perform a compatible operation with conventional input / output processing in order to control a conventional PI / O device 701 connected to a roughing mill 802. Also, the control device 401 needs to perform a compatible operation with conventional input / output processing in order to control a conventional PI / O device 702 connected to a finishing mill 803. Furthermore, the control device 402 needs to perform a compatible operation with conventional input / output processing in order to control a conventional PI / O device 704 connected to a winding machine 805.

[0098] Therefore, functions that require versatility and expandability are executed by the CPU modules 300, 301, and 302, respectively, and functions that require real-time compatibility are executed by the I / O modules 900, 901, and 902, respectively. This will enable the realization of steel systems that require versatility, scalability, and real-time compatibility.

[0099] 24 is a configuration diagram showing a fourth application example in which the control devices 1A to 1E are applied to a power generation control system. In the power generation control system, a terminal 501 connected to a control network 631 controls the entire power generation. By applying the control devices 1A to 1E to the control devices 730-732, a water treatment system that requires scalability and real-time compatibility can be realized. The I / O device 90 is applied to an electrical control panel 830, a turbine control panel 832, and a boiler control panel 834. The I / O module 19 is applied to I / O modules 930-932.

[0100] In this power generation control system, when a switch 831 is pressed, control data is sent to a control device 730 via an electric control panel 830, and the system is started. When the system is started, a control device 732 controls a boiler control panel 834 that controls a combustion boiler 835, and the control device 731 monitors the rotation speed of a rotating turbine 833 via a turbine control panel 832. The control device 731 transmits the status of these devices to a terminal 501 via a control network 631, thereby performing overall control.

[0101] Here, in order to safely perform efficient power generation while being environmentally friendly, the CPU module 330 of the control device 730, the CPU module 331 of the control device 731, and the CPU module 332 of the control device 732 each adopt a general-purpose CPU 12 and a general-purpose OS, and are configured to enable data sharing between the switch 831, the turbine 833, and the boiler 835 via the control network 631.

[0102] On the other hand, the control device 730 needs to perform a compatible operation with the conventional input processing in order to control a conventional electric control panel 830 connected to a switch 831. Also, the control device 731 needs to perform a compatible operation with the conventional input / output processing in order to control a conventional turbine control panel 832 connected to a turbine 833. Furthermore, the control device 732 needs to perform a compatible operation with the conventional input / output processing in order to control a conventional boiler control panel 834 connected to a boiler 835.

[0103] Therefore, functions that require versatility are executed by the CPU modules 330, 331, and 332, respectively, and functions that require real-time compatibility are executed by the I / O modules 930, 931, and 932, respectively. This makes it possible to realize a power generation control system that requires versatility, real-time compatibility, and high safety. In addition, application examples of the control system of each embodiment are not limited to Application Examples 1 to 4 described above, and can be used in various systems, such as an elevator control system, a railway control system, an automobile control system, and a construction machinery control system.

[0104] The control devices 1A to 1E of the present invention described above can guarantee real-time performance that adheres to the control period by using the timing compatibility of I / O processing of conventional modules in a low-cost control system that employs a general-purpose CPU or a general-purpose OS. Note that real-time performance here means that processing is completed within a set response time, and high real-time performance means a short response time.

[0105] This makes it easier to realize control devices that are highly versatile and scalable and that guarantee real-time I / O processing for conventional modules in control systems that control social infrastructure, etc., and it makes it possible to realize control systems that can be gradually expanded from conventional control systems to highly versatile and scalable control systems.

[0106] It should be noted that the present invention is not limited to the above-described embodiment, but includes various modified examples. For example, the above-described embodiment has been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to the embodiment having all of the described configurations. In addition, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, it is possible to add, remove, or replace a part of the configuration of each embodiment with another configuration. In addition, the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, each of the above configurations and functions may be realized in software by a processor interpreting and executing a program that realizes each function.

[0107] Information such as programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC (Integrated Circuit) card, an SD card, a DVD (Digital Versatile Disc), etc. The cloud can also be used. In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. In reality, it can be considered that almost all components are connected to each other. Furthermore, the communication means connecting the devices is not limited to wireless LAN, but may be changed to wired LAN or other communication means. [Explanation of symbols]

[0108] 1 Control device 11. Memory 12 General-purpose CPU 13 Lead Interface 14 Light Interface 16 Bus Interface 17 Module access timing arbitration unit 18 Bus 19 I / O Modules 20 Read cycle control section (cycle control section) 20C General-purpose CPU data synchronization unit (data synchronization unit) 21 Read cycle specification section 22 Read request timing generation circuit 23 AND Gate 24 Reed module arbitration circuit 30 Write cycle control section (cycle control section) 30C I / O data synchronization section (data synchronization section) 31 Write cycle specification section 32 Write response timing generation circuit 33 AND Gate 34 Light module arbitration circuit 40 Cache Memory 41 First cache memory 42 Second cache memory 90 I / O Devices 91 1st I / O device 92 2nd I / O device 93 3rd I / O device 94 4th I / O device

Claims

1. a memory that is occupied in each period by either data access by a general-purpose CPU or data access by an I / O device with a defined control period; a cache memory for temporarily storing data used for data access to the memory by the I / O device; and a cycle control unit that interrupts a data access period by the general-purpose CPU, reads data to be accessed by the I / O device from the memory into the cache memory, and then causes the I / O device to access the data to be accessed via the cache memory within the control period by the I / O device. Control device.

2. a plurality of I / O devices are present, and the cache memory has a storage area for each of the I / O devices; The cycle control unit causes the I / O device to access data to be accessed via the cache memory within the control cycle of each of the I / O devices. The control device according to claim 1 .

3. the control device further includes a second cache memory for temporarily storing data in the cache memory; The cycle control unit causes the I / O device to access data to be accessed via the cache memory or the second cache memory within the control cycle of each of the I / O devices. The control device according to claim 2.

4. the cache memory has a first area for data access by the general-purpose CPU and a second area for data access by the I / O device having an operating frequency lower than that of the general-purpose CPU, and a data synchronization unit that controls data movement between the I / O device and the general-purpose CPU by moving data between the first area and the second area in accordance with a control signal output from the cycle control unit during the control cycle. The control device according to claim 1 .

5. a plurality of I / O devices are present, and a storage area for each of the I / O devices is set in the cache memory in a time-sharing manner; The cycle control unit causes the I / O device to access data to be accessed via the cache memory within the control cycle of each of the I / O devices. The control device according to claim 1 .

6. The cycle control unit issues a control signal for reading data to be accessed from the memory to the cache memory within a period designated by a control cycle instruction signal. The control device according to claim 1 .

7. The cycle control unit issues a control signal to notify the general-purpose CPU that the data to be accessed is in a readable state from the cache memory and that the current time is within a period designated by an instruction signal for the control cycle. The control device according to claim 1 .

8. The cycle control unit generates an instruction signal for the control cycle by referring to a register in which a value is set through a register interface. The control device according to claim 6 or 7.

9. The cycle control unit generates an instruction signal for the control cycle based on a count value measured by a cycle counter from when a data access request is received from the I / O device until when the next data access request is received. The control device according to claim 6 or 7.

10. A system comprising the control device according to any one of claims 1 to 5 and the I / O device. Control system.

11. The control device includes a memory, a cache memory, and a cycle control unit. In the memory, either data access by a general-purpose CPU or data access with a defined control cycle by an I / O device is performed in each period, and the memory is occupied by the general-purpose CPU, the cache memory temporarily stores data used for data access to the memory by the I / O device; The cycle control unit interrupts a data access period by the general-purpose CPU, reads data to be accessed by the I / O device from the memory to the cache memory, and then causes the I / O device to access the data to be accessed via the cache memory within the control cycle by the I / O device. Control methods.

Citation Information

Patent Citations

  • Hierarchical memory system

    JP2004326633A

  • Data transfer device, data transfer method, and computer device

    JP2008112403A

  • METHOD AND APPARATUS FOR SIMULTANEOUS CACHE FILL IN SOFTWARE AND HARDWARE

    JP2009508179A

  • Signal processing apparatus

    JP2013003058A

  • Arithmetic processing unit

    JP2013089171A