Information processing apparatus, information processing method, information processing program, and process control system

EP4681030A1Pending Publication Date: 2026-01-21YOKOGAWA ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024770318
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-15
Filing Date
2024-02-08
Publication Date
2026-01-21

AI Technical Summary

Technical Problem

Conventional protocol converters face performance degradation and increased data conversion processing delays as the number of field devices with short update cycles increases, making it difficult to maintain efficient control calculation processing in process control systems.

Method used

An information processing apparatus and method that includes a first storage area for control data values and an updating unit which updates control data values not included in the first group based on acquired data from a protocol converter, allowing for efficient control calculation processing by adapting to varying update cycles of field devices.

Benefits of technology

This solution enables efficient control calculation processing by classifying and updating control data values according to their update frequencies, improving controllability and responsiveness in data conversion processing, thus enhancing the overall performance of the process control system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024004272_19092024_PF_FP_ABST
    Figure JP2024004272_19092024_PF_FP_ABST
Patent Text Reader

Abstract

A control controller 30 of an embodiment includes a control input / output memory 31, a control calculation memory 32, and a transfer unit 33. The control input / output memory 31 stores control data values acquired from the protocol converter 20 including at least one control data value included in a first group, and more than one control data value that is not included in the first group. The control calculation memory 32 stores plural pieces of control calculation data respectively corresponding to the control data values. The transfer unit 33 updates a control data value that is a control data value not included in the first group, and that was not updated in a previous cycle based on a control data value acquired from the protocol converter 20 together with the control data value included in the first group out of the control data values stored in the control input / output memory 31 in each cycle.
Need to check novelty before this filing date? Find Prior Art

Description

INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, INFORMATION PROCESSING PROGRAM, AND PROCESS CONTROL SYSTEM

[0001] The present invention relates to an information processing apparatus, an information processing method, an information processing program, and a process control system.

[0002] A process control system that performs monitoring and management of a plant and the like based on process data such as sensor values collected from field devices installed in the plant has been known. For example, the field devices include a temperature sensor, a pressure sensor, a gas concentration sensor, a device that detects an opening degree of a valve, a device that senses a state of a switch (on or off), and the like.

[0003] Moreover, the process data output from a field device is stored in a protocol converter as a process value. The field device updates the process value stored in the protocol converter by outputting data.

[0004] Furthermore, the protocol converter stores a control data value that is obtained by converting the process value in a storage area. The processing by the protocol converter as described is called data conversion processing.

[0005] Moreover, a control controller acquires the data obtained by data conversion processing performed by the protocol converter as control calculation data, and performs control calculation using the acquired control calculation data, to acquire information necessary for monitoring and management of the plant, and the like.

[0006] Japanese Laid-open Patent Publication No. 2021-26717

[0007] However, the conventional control controller has a problem that control calculation processing cannot always be performed efficiently.

[0008] In recent years, with the spread of industrial Ethernet (registered trademark), shortening of the update cycle of process values by field devices (acceleration of update process) is progressing. Moreover, various kinds of field devices are connected to the process control system to collect a wide variety of data, and there are increasing cases that field devices having update cycles of process values significantly different from one another are connected to the same field network. The field network is a communication network including the field devices and the protocol converter.

[0009] As the number of field devices connected to the protocol converter increases, the number of process values subject to data conversion processing by the protocol converter increases. Moreover, as the number of subject process values increases, the performance of data conversion processing by the protocol converter degrades. Furthermore, if the performance of the protocol converter degrades, delay in data conversion processing is more likely to occur.

[0010] For the conventional protocol converters, it is necessary to limit the number of connected units of field devices, to maintain the performance of the data conversion processing based on process values acquired from field device having short update cycles of process values.

[0011] As described, it is difficult to make the conventional protocol converter operate efficiently in a state in which a multitude of field devices including a field device having a short update cycle for process values are connected.

[0012] Suppose the protocol converter supports a configuration in which a multitude of field devices, including field devices having short update cycles for process values, are connected, and performs data conversion processing in such a manner that delays are minimized. In this case, data conversion processing with short cycles are to be conducted. On the other hand, it is difficult to perform control calculation processing while maintaining the performance of the data conversion processing with short cycles.

[0013] In one aspect, it is an object to perform control calculation processing efficiently.

[0014] According to one aspect of embodiments, an information processing apparatus includes: a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group; and an updating unit that updates a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle based on a control data value acquired from a protocol converter, together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

[0015] According to one aspect of embodiments, an information processing method performed by a computer including a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group, the method includes: updating a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle, based on a control data value acquired from a protocol converter together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

[0016] According to one aspect of embodiments, an information processing program causes a computer including a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group to execute: updating a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle, based on a control data value acquired from a protocol converter together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

[0017] According to one aspect of embodiments, a process control system includes: a protocol converter; a plurality of field devices that are installed in a plant and that are connected to the protocol converter; and a control controller that is connected to the protocol converter, wherein the protocol converter updates a control data value based on a plurality of process values updated by the field devices in each cycle, the control controller includes a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group; and an updating unit that updates a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle based on a control data value acquired from a protocol converter, together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

[0018] According to one embodiment, control calculation processing can be performed efficiently.

[0019] Fig. 1 is a diagram illustrating a configuration example of a process control system according to a first embodiment.Fig. 2 is a diagram explaining data conversion processing.Fig. 3 is a diagram explaining I / O scan processing.Fig. 4 is a diagram explaining I / O scan processing.Fig. 5 is a diagram explaining control calculation processing.Fig. 6 is a diagram explaining control calculation processing.Fig. 7 is a diagram explaining I / O scan processing.Fig. 8 is a diagram explaining control calculation processing.Fig. 9 is a flowchart illustrating a flow of I / O scan processing.Fig. 10 is a flowchart illustrating a flow of basic I / O scan processing.Fig. 11 is a flowchart illustrating a flow of control calculation processing.Fig. 12 is a flowchart illustrating a flow of basic control calculation processing.Fig. 13 is a diagram explaining a hardware configuration example.

[0020] Hereinafter, embodiments of an information processing apparatus, an information processing method, an information processing program, and a process control system disclosed in the present application will be explained in detail with reference to the drawings. The embodiments explained herein are not intended to limit the present invention. Moreover, identical reference symbols are assigned to identical components, and duplicated explanation is omitted as appropriate. Furthermore, the respective embodiments can be combined within a range not causing a contradiction. Moreover, the control controller is one example of an information processing apparatus.

[0021] A configuration of a process control system of a first embodiment will be explained by using Fig. 1. Fig. 1 is a diagram illustrating a configuration example of the process control system according to the first embodiment.

[0022] As illustrated in Fig. 1, a process control system 1 includes field devices 10, a protocol converter 20, a control controller 30, an operation monitoring terminal 40, and a device managing unit 50.

[0023] The field devices 10 are installed in a plant. The number of the field devices 10 is not limited to the one illustrated in Fig. 1.

[0024] The plant is, for example, an oil plant, a petrochemical plant, a chemical plant, or a gas plant. These plant produces products such as liquefied natural gas (LNG), resins (plastics, nylon, and the like), and chemical products when the plant is in operation.

[0025] Moreover, the plant has factory facilities, machinery facilities, production facilities, power generation facilities, storage facilities, and facilities at a wellhead for extracting oil, natural gas, and the like. Additionally, in the plant, equipment for producing products is installed.

[0026] The field device 10 acquires information relating to a condition of the plant. For example, the field device 10 is a temperature sensor, a pH sensor, a velocity sensor, an acceleration sensor, a pressure sensor, a gas concentration sensor, a device to detect an opening degree of valve, a device to detect a status (on or off) of a switch, and the like.

[0027] The field device 10 transmits sensor values or detection results to the protocol converter 20 as process data in a predetermined communication protocol. For example, the field device 10 is connected to the protocol converter 20 through a coaxial cable including a connector, such as RJ45, and an optical fiber. The field device 10 transmits the process data to the protocol converter 20 by a 4-20 mA analog signal.

[0028] The protocol converter 20 stores the process data received from the field device 10 as a process value. The process value stored in the protocol converter 20 is updated each time the protocol converter 20 receives process data from the field device 10.

[0029] The protocol converter 20 performs data conversion processing. That is, the protocol converter 20 converts the process value to a control data value by protocol conversion. For example, when the communication protocol between the field device 10 and the protocol converter 20 is a 4-20 mA analog signal, the process value is a value indicating 4-20 mA analog signal. The protocol converter 20 converts the process value into a value indicating a digital signal of an Ethernet protocol. The communication protocol converted into is determined according to a communication protocol between the protocol converter 20 and the control controller 30.

[0030] The protocol converter 20 transmits a control data value acquired by the data conversion processing to the control controller 30 by a predetermined communication protocol (for example, the Ethernet protocol).

[0031] The control controller 30 performs calculation to convert the received control data value into a format usable in the operation monitoring terminal 40 or the device managing unit 50. The control controller 30 transmits data obtained by calculation to the operation monitoring terminal 40 or the device managing unit 50. Moreover, the control controller 30 may return the data obtained by calculation to the protocol converter 20. Furthermore, the calculation processing by the control controller 30 is called control calculation processing.

[0032] For example, consider a case where the communication protocol between the field device 10 and the protocol converter 20 is a 4-20 mA analog signal, and the process value is 12 mA. In this case, the process value indicates a temperature from 0℃ to 100℃ acquired by the field device 10. As one example, the control controller 30 performs calculation, (100℃-0℃)×(12 mA / (4 mA+20 mA))=50℃. The control controller 30 notifies that the temperature was 50℃ to the operation monitoring terminal 40 or the device managing unit 50.

[0033] The operation monitoring terminal 40 is a terminal to monitor conditions of equipment of the plant. The device managing unit 50 is a device to operate the respective devices including the field device 10.

[0034] Data Conversion Processing Data conversion processing by the protocol converter 20 and related processing will be explained.

[0035] First, as illustrated in Fig. 2, the field devices 10 update the process value stored in the protocol converter 20 by transmitting process data to the protocol converter 20 in respectively determined cycles. Fig. 2 is a diagram explaining the data conversion processing.

[0036] Data A1, data B1, data C1, data D1, data E1, and data F1 are all process data, and are transmitted by the respective different field devices 10. The single field device 10 may transmit multiple pieces of process data.

[0037] The transmission speed of the data A1 and the data B1 is high compared to that of the data D1, the data E1, and the data F1. The high transmission speed implies a high frequency of transmitting process data, that is, a short cycle of transmitting process data.

[0038] For example, the cycle in which the data A1 and the data B1 are transmitted is approximately 1 ms to 10 ms. Moreover, for example, the cycle in which the data D1, the data E1, and the data F1 are transmitted is 100 ms or longer.

[0039] As illustrated in Fig. 1, the protocol converter 20 includes a cache memory 21, an interface memory 22, and a transfer unit 23.

[0040] The cache memory 21 and the interface memory 22 are implemented by a volatile or a non-volatile storage device. The cache memory 21 and the interface memory 22 may be physically different storage areas of a storage device. Moreover, the storage area may be referred to also as storage unit, storage device, or the like.

[0041] The transfer unit 23 is implemented by an arithmetic device, such as a central processing unit (CPU). The transfer unit 23 is one example of an updating unit.

[0042] The cache memory 21 stores multiple process values that are updated by the field device 10, including one or more process values included in a high-speed data group and multiple process values not included in the high-speed data group.

[0043] As illustrated in Fig. 2, the cache memory 21 stores data A2, data B2, data C2, data D2, data E2, and data F2. The data A2, the data B2, the data C2, the data D2, the data E2, and the data F2 are updated (overwritten) by the data A1, the data B1, the data C1, the data D1, the data E1, and the data F1 transmitted by the respective field devices 10.

[0044] Moreover, as described previously, the data A1 and the data B1 are transmitted in a short cycle. In this example, the data A2 and the data B2 that are process values corresponding to the data A1 and the data B1 are included in the high-speed data group. That is, the cache memory 21 stores a process value that is at least one process value included in the high-speed data group, and is updated at higher frequency than process values that are not included in the high-speed data group (included in basic data group).

[0045] The data C2, the data D2, the data E2, and the data F2 are not included in the high-speed data group. The data C2, the data D2, the data E2, and the data F2 are included in the basic data group.

[0046] The transfer unit 23 performs data conversion processing in each cycle. The cycle in which the transfer unit 23 performs the data conversion processing is approximately 10 ms to 20 ms. In this case, the cycle in which the transfer unit 23 performs the data conversion processing is longer than a cycle in which a process value in the high-speed data group is updated, and is shorter than a cycle in which a process data in a low-speed data group is updated.

[0047] The interface memory 22 stores control data values corresponding respectively to multiple process values. As illustrated in Fig. 2, the interface memory 22 stores data A3, data B3, data C3, data D3, data E3, and data F3 that are control data values. The data A3, the data B3, the data C3, the data D3, the data E3, and the data F3 correspond to the data A2, the data B2, the data C2, the data D2, the data E2, and the data F2, which are process values, respectively.

[0048] In the data conversion processing, the transfer unit 23 updates, in each cycle, a control data value that is a control data value corresponding to a process value not included in the high-speed data group and that was not updated in a previous cycle together with a control data value corresponding to a process value of the high-speed data group, out of control data values stored in the interface memory 22. The process value not included in the high-speed data group is a process value included in the basic data group.

[0049] Moreover, in the data conversion processing, the transfer unit 23 stores (updates) a value obtained by converting a communication protocol of a process value stored in the cache memory 21 in the interface memory 22 as a control data value.

[0050] For example, the transfer unit 23 performs the data conversion processing with respect to a part of the process values of the basic data group together with the process value of the high-speed data group in an i-th cycle (i is a positive integer). The transfer unit 23 performs the data conversion processing with respect to a part of process values of the basic data group that are not subject in the i-th cycle, together with the process value of the high-speed data group in the i+1-th cycle.

[0051] As described, the transfer unit 23 performs the data conversion processing in every cycle with respect to a process value of the high-speed data group having high update frequency, and performs the data conversion processing every second cycle or at frequency lower than that with respect to a process value of the basic data group having low update frequency.

[0052] I / O Scan Processing and Control Calculation Processing I / O scan processing and the control calculation processing performed by the control controller 30 will be explained.

[0053] As illustrated in Fig. 1, the control controller 30 includes a control input / output memory 31, a control calculation memory 32, and a transfer unit 33.

[0054] The control input / output memory 31 and the control calculation memory 32 are implemented by a volatile or a non-volatile storage device. The control input / output memory 31 and the control calculation memory 32 may be storage areas in a storage device physically different from each other. Moreover, the control input / output memory 31 and the control calculation memory 32 may be a logical storage area arranged in the storage device. The control input / output memory 31 is one example of a first storage area. Moreover, the control calculation memory 32 is one example of a second storage area. Furthermore, the storage area may be referred to also as storage unit, storage device, or the like.

[0055] The transfer unit 33 is implemented by an arithmetic device, such as CPU. The transfer unit 33 is one example of an updating unit.

[0056] The transfer unit 33 performs I / O scan processing. The I / O scan processing is processing of reading a control data value stored in the interface memory 22 by the control controller 30. The transfer unit 33 acquires, in the I / O scan processing, the data A3, the data B3, the data C3, the data D3, the data E3, and the data F3 as data A4, data B4, data C4, data D4, data E4, and data F4, which are the control calculation data.

[0057] As described previously, the data A3 and the data B3 are control data values corresponding to the process values included in the high-speed data group. Moreover, the data C3, the data D3, the data E3, and the data F3 are control data values corresponding to the process values included in the basic data group.

[0058] That is, the update frequency of the data A3 and the data B3 is high compared to the update frequency of the data C3, the data D3, the data E3, and the data F3. In other words, the update cycle of the data A3 and the data B3 is short compared to the update cycle of the data C3, the data D3, the data E3, and the data F3.

[0059] The control input / output memory 31 includes at least one piece of control calculation data subject to high-speed control calculation and multiple pieces of control calculation data not subject to the high-speed control calculation. The control calculation data of the control input / output memory 31 is acquired from the protocol converter 20.

[0060] As illustrated in Fig. 2, the control input / output memory 31 stores the data A4, the data B4, the data C4, the data D4, the data E4, and the data F4. The data A4, the data B4, the data C4, the data D4, the data E4, and the data F4 are updated (overwritten) by the data A3, the data B3, the data C3, the data D3, the data E3, and the data F3 that are acquired respectively by the I / O scan processing.

[0061] That is, the control input / output memory 31 stores control calculation data that is at least one of control calculation data subject to the high-speed control calculation, and that is updated at higher frequency than multiple pieces of control calculation data not subject to the high-speed control calculation. The control data value subject to the high-speed control calculation is one example of a control data value of a first group.

[0062] The data C4, the data D4, the data E4, and the data F4 are not subject to the high-speed control calculation. The data C4, the data D4, the data E4, and the data F4 are subject to the basic control calculation.

[0063] The transfer unit 33 performs the I / O scan processing in each cycle. Moreover, the transfer unit 33 transfers the control calculation data from the control input / output memory 31 to the control calculation memory 32 in each cycle, and performs calculation processing with respect to the transferred control calculation data. The data transfer from the control input / output memory 31 to the control calculation memory 32 and the calculation processing are called control calculation processing together.

[0064] As illustrated in Fig. 2, the control calculation memory 32 stores control calculation data A5, control calculation data B5, control calculation data C5, control calculation data D5, control calculation data E5, and control calculation data F5 that have been transferred. The control calculation data A5, the control calculation data B5, the control calculation data C5, the control calculation data D5, the control calculation data E5, and the control calculation data F5 correspond to the data A4, the data B4, the data C4, the data D4, the data E4, and the data F4 of the transfer source, respectively.

[0065] In the I / O scan processing, the transfer unit 33 performs, in each cycle, I / O scan processing with respect to a control data value that is not subject to high-speed I / O scan and that was not subjected to I / O scan processing in a previous cycle out of the control data values stored in the control input / output memory 31, together with a control data value subject to the high-speed I / O scan. The control data value not subject to the high-speed I / O scan is a control data value subject to basic I / O scan. The I / O scan processing is processing to update a control data value stored in the control input / output memory 31 based on a control data value acquired from the protocol converter 20.

[0066] For example, the transfer unit 33 performs the I / O scan processing with respect to a part of control data values subject to the basic I / O scan, together with the control data values subject to the high-speed I / O scan in a j-th cycle (j is a positive integer). The transfer unit 33 performs, in the j+1 cycle, the I / O scan processing with respect to a part of control data values subject to the basic I / O scan, which was not subject thereto in the j-th cycle, together with the control data value subject to the high-speed I / O scan.

[0067] Moreover, in the control calculation processing, the transfer unit 33 performs, in each cycle, control calculation processing with respect to control calculation data that is not subject to high-speed control calculation, and that was not subjected to the control calculation processing in a previous cycle out of control calculation data stored in the control calculation memory 32, together with control calculation data subject to the high-speed control calculation. The control calculation data not subject to the high-speed control calculation is control calculation data subject to the basic control calculation. The control calculation data subject to the high-speed control calculation is control calculation data corresponding to a control data value of the first group.

[0068] For example, the transfer unit 33 performs the control calculation processing with respect to a part of control calculation data subject to the basic control calculation in a k-th cycle (k is a positive integer), together with the control calculation data subject to the high-speed control calculation. The transfer unit 33 performs, in a k+1 cycle, the control calculation processing with respect to a part of the control calculation data subject to the basic control calculation, which was not subject thereto in the k-th cycle, together with the control calculation data subject to the high-speed control calculation.

[0069] The cycle in which the transfer unit 33 performs the I / O scan processing and the control calculation processing is, for example, approximately 10 ms to 20 ms. Moreover, the cycles of the data conversion processing, the I / O scan processing, and the control calculation processing may be synchronous, or may be asynchronous. Furthermore, for example, in the control calculation processing, the transfer unit 33 performs calculation to convert a format of updated control calculation data out of the control calculation data stored in the control calculation memory 32 in each cycle.

[0070] In the following, specific examples of the respective processing will be explained, assuming that the cycles of the data conversion processing, the I / O scan processing, and the control calculation processing are synchronous. First, as illustrated in Fig. 2, it is assumed that the data conversion processing in the k-th cycle has been performed.

[0071] Fig. 3 and Fig. 4 are diagrams explaining the I / O scan processing in the k-th cycle. As illustrated in Fig. 3, the transfer unit 33 performs the I / O scan processing with respect to the data A3 and the data B3 subject to the high-speed I / O scan in the k-th cycle, to update the data A4 and the data B4. "*" indicates data that is updated by the high-speed I / O scan, or that is a subject of the high-speed control calculation.

[0072] Furthermore, the transfer unit 33 performs the data I / O scan processing with respect to the data C3 and the data D3 subject to the basic I / O scan in the k-th cycle, to update the data C4 and the data D4.

[0073] Fig. 5 and Fig. 6 are diagrams explaining the control calculation processing in the k-th cycle. As illustrated in Fig. 5, the transfer unit 33 performs the control calculation processing with respect to the date A4 and the data B4 subject to the high-speed control calculation in the k-th cycle, to update the control calculation data A5 and the control calculation data B5. Moreover, at this time, the protocol converter 20 performs the data conversion processing.

[0074] Furthermore, the transfer unit 33 performs control calculation processing with respect to the data C4 and the data D4 subject to the basic control calculation in the k-th cycle, to update the control calculation data C5 and the control calculation data D5.

[0075] Similarly to Fig. 3, the transfer unit 33 performs the I / O scan processing with respect to the data A3 and the data B3 subject to the high-speed I / O scan in the k+1-th cycle, to update the data A4 and the data B4.

[0076] As illustrated in Fig. 7, the transfer unit 33 performs the I / O scan processing with respect to the data E3 and the data F3 subject to the basic I / O scan in the k+1-th cycle, to update the data E4 and the data F4. Fig. 7 is a diagram explaining the I / O scan processing in the k+1-th cycle.

[0077] Similarly to Fig. 5, the transfer unit 33 performs the control calculation processing with respect to the data A4 and the data B4 subject to the high-speed control calculation in the k+1-th cycle, to update the control calculation data A5 and the control calculation data B5. Moreover, at this time, the protocol converter 20 performs the data conversion processing.

[0078] As illustrated in Fig. 8, furthermore, the transfer unit 33 performs the control calculation processing with respect to the data E4 and the data F4 subject to the basic control calculation in the k+1-th cycle, to update the control calculation data E5 and the control calculation data F5. Fig. 8 is a diagram explaining the control calculation processing in the k+1-th cycle.

[0079] As described, the transfer unit 33 performs the high-speed I / O scan processing, the high-speed control calculation processing, and the high-speed data conversion processing in every cycle, and performs the basic I / O scan processing, the basic control calculation processing, and the basic data conversion processing every two cycles or at frequency lower than that.

[0080] A flow of the I / O scan processing by the control controller 30 will be explained by using Fig. 9. Fig. 9 is a flowchart illustrating a flow of the I / O scan processing.

[0081] First, as illustrated in Fig. 9, the control controller 30 updates the entire region subject to the high-speed I / O scan (step S11). That is, the control controller 30 performs the I / O scan processing with respect to the data A3 and the data B3 subject to the high-speed I / O scan. The control controller 30 updates the data A4 and the data B4.

[0082] Next, the control controller 30 acquires a previous end region of the basic I / O scan (step S12). The previous end region is information to identify a control value subject to the basic I / O scan that was a subject to data conversion in one cycle before.

[0083] Subsequently, the control controller 30 performs the basic I / O scan processing, that is, the I / O scan processing with respect to a control data value subject to the basic I / O scan (step S13). Details of step S13 will be explained later.

[0084] The control controller 30 saves an end region of the basic I / O scan processing (step S14).

[0085] The control controller 30 performs the processing from step S11 to step S14 in each cycle. The end region saved at step S14 is acquired at step S12 in a following cycle.

[0086] An area in which the end region is stored (one example of a third storage area) may be any storage area of a storage device equipped in the control controller 30, and it may be identical to the cache memory 21 and the interface memory 22, or may be different therefrom.

[0087] As explained herein, the control controller 30 (the transfer unit 33) stores an end region of the basic I / O scan processing in the storage area in each cycle. The end region of the basic I / O scan processing is one example of information to identify an updated control data value that is a control data value not included in the subject of the high-speed scan, out of the control data values.

[0088] Moreover, the control controller 30 (transfer unit 33) updates, in each cycle, a control data value to which next order to the control data value identified based on the previous end region is designated out of the control data values, together with a control data value subject to the high-speed I / O scan.

[0089] The control data values subject to the basic I / O scan have a sequence designated in order of the data C4, the data D4, the data E4, and the data F4. Moreover, the order after the data F4 returns to the beginning. That is, the control data value coming next to the data F4 in order is the data C4.

[0090] In this case, the control controller 30 updates the control data value next to the control data value that is identified based on the previous end region in order. For example, when the control data value identified based on the previous end region is the data D4, the control controller 30 updates the data E4.

[0091] Fig. 10 is a flowchart illustrating a flow of the basic I / O scan processing (step S13 in Fig. 9). As illustrated in Fig. 10, the control controller 30 checks whether end data (for example, the data F4) has been updated in the previous basic I / O scan processing (step S131).

[0092] When the end data has been updated by the previous basic I / O scan processing (step S131: YES), the control controller 30 starts update by the I / O scan from a head region (for example, the data C4) (step S132).

[0093] When the end data has not been updated by the previous basic I / O scan processing (step S131: NO), the control controller 30 starts update by the I / O scan from the following region (step S133).

[0094] The control controller 30 updates the control data value to which order next to the control data value identified based on the previous end region is designated as the following region. For example, when the data (the previous end region) updated last in the previous time is the data D4, the data E4 corresponds to the following region.

[0095] The control controller 30 determines whether update of further next region is possible (step S134). For example, when the data E4 has been updated at step S133, the control controller 30 determines whether the data F4 is updatable.

[0096] When update of the following region is possible (step S134: YES), the control controller 30 returns to step S133 and repeats the processing. On the other hand, when update of the following region is not possible (step S134: NO), the control controller 30 ends the processing.

[0097] A procedure of the determination (step S134) by the control controller 30 at step S134 will be explained. First, the control controller 30 is assumed to have acquired a cycle T10 of the data conversion processing by the control controller 30.

[0098] The control controller 30 acquires time T11 that has been required from steps S11 and S12 in Fig. 9 to step S133 in Fig. 10 in the current cycle. At this time, step S133 can have been repeated to be performed several times. The time T11 includes time required for performing step S133 once or more times.

[0099] Moreover, the control controller 30 acquires time T12 that is required when step S133 is further performed. The control controller 30 may estimate the time T12 based on past records, or may acquire a fixed value that is determined as the time T12 in advance.

[0100] When T11+T12<T10, the control controller 30 determines that update of a following region is possible (step S134: YES). On the other hand, when T11+T12>=T10, the control controller 30 determines that update of a following region is not possible (step S134: NO). Thus, the control controller 30 can complete the I / O scan processing for one cycle within a cycle of the data conversion processing.

[0101] A flow of the control calculation processing by the control controller 30 will be explained by using Fig. 10. Fig. 10 is a flowchart illustrating a flow of the control calculation processing.

[0102] First, as illustrated in Fig. 10, the control controller 30 updates the entire region subject to the high-speed control calculation (step S21). That is, the control controller 30 performs the control calculation processing with respect to the data A4 and the data B4 subject to the high-speed control calculation. The control controller 30 updates the control calculation data A5 and the control calculation data B5.

[0103] Next, the control controller 30 acquires the previous end region of the basic control calculation (step S22). The previous end region is information to identify a control data value subject to the basic control calculation that was subjected to the data conversion in the previous cycle.

[0104] Subsequently, the control controller 30 performs the basic control calculation processing, that is the control calculation processing with respect to a control data value subject to the basic control calculation (step S23). Details of step S23 will be explained later.

[0105] The control controller 30 saves the end region of the basic control calculation processing (step S24).

[0106] The control controller 30 performs the processing from step S21 to step S24 in each cycle. The end region saved at step S24 is acquired at step S22 of the following cycle.

[0107] The area in which the end region is stored (one example of the third storage area) may be any storage area of a storage device equipped in the control controller 30, and it may be identical to the cache memory 21 and the interface memory 22, or may be different therefrom.

[0108] As explained herein, the control controller 30 (the transfer unit 33) stores an end region of the basic control calculation processing in the storage area in each cycle. The end region of the basic control calculation processing is one example of information to identify updated control calculation data that is control calculation data not included in the subject of the high-speed control calculation out of the control calculation data.

[0109] Moreover, the control controller 30 (the transfer unit 33) updates, in each cycle, control calculation data to which next order to the control calculation data identified based on the previous end region is designated out of the control calculation data, together with control calculation data subject to the high-speed control calculation.

[0110] The control calculation data subject to the basic control calculation have a sequence designated in order of the control calculation data C5, the control calculation data D5, the control calculation data E5, and the control calculation data F5. Moreover, the order after the control calculation data F5 returns to the beginning. That is, the control data value coming next to the control calculation data F5 in order is the control calculation data C5.

[0111] In this case, the control controller 30 updates the control calculation data next to the control calculation data that is identified based on the previous end region in order. For example, when the control calculation data identified based on the previous end region is the control calculation data D5, the control controller 30 updates the control calculation data E5.

[0112] Fig. 12 is a flowchart illustrating a flow of the basic control calculation processing (step S23 in Fig. 11). As illustrated in Fig. 12, the control controller 30 checks whether end data (for example, the data F4) has been updated in the previous basic control calculation processing (step S231).

[0113] When the end data has been updated by the previous basic control calculation processing (step S231: YES), the control controller 30 starts update by the control calculation from a head region (for example, the data C4) (step S232).

[0114] When the end data has not been updated by the previous basic control calculation processing (step S231: NO), the control controller 30 starts update by the control calculation from the following region (step S233).

[0115] The control controller 30 updates the control calculation data to which order next to the control calculation data identified based on the previous end region is designated as the following region. For example, when the data (the previous end region) updated last in the previous time is the control calculation data D5, the control calculation data E5 corresponds to the following region.

[0116] The control controller 30 determines whether update of further next region is possible (step S234). For example, when the control calculation data E5 has been updated at step S233, the control controller 30 determines whether the control calculation data F5 is updatable.

[0117] When update of the next region is possible (step S234: YES), the control controller 30 returns to step S233 and repeats the processing. On the other hand, when update of the next region is not possible (step S234: NO), the control controller 30 ends the processing.

[0118] A procedure of the determination (step S234) by the control controller 30 at step S234 will be explained. First, the control controller 30 is assumed to have acquired a cycle T20 of the I / O scan processing by the control controller 30.

[0119] The control controller 30 acquires time T21 that has been required from steps S21 and S22 in Fig. 11 to step S233 in Fig. 12 in the current cycle. At this time, step S233 can have been repeated to be performed several times. The time T21 includes time required for performing step S233 once or more times.

[0120] Moreover, the control controller 30 acquires time T22 that is required when step S233 is further performed. The control controller 30 may estimate the time T22 based on past records, or may acquire a fixed value that is determined as the time T22 in advance.

[0121] When T21+T22<T20, the control controller 30 determines that update of a following region is possible (step S234: YES). On the other hand, when T21+T22>=T20, the control controller 30 determines that update of a following region is not possible (step S234: NO). Thus, the control controller 30 can complete THE control calculation processing for one cycle within a cycle of the I / O scan processing.

[0122] Effects As explained so far, the control controller 30 (information processing apparatus) of the embodiment includes the control input / output memory 31 and the transfer unit 33. The control input / output memory 31 stores at least one control data value included in the first group and more than one control data value not included in the first group. The transfer unit 33 updates, in each cycle, a control data value that is not included in the first group and that was not updated in a previous cycle, based on a control data value acquired from the protocol converter 20 out of the control data values stored in the control input / output memory 31 together with the control data value included in the first group out of the control data values stored in the control input / output memory 31.

[0123] As described, the control data values are classified into those subject to the I / O scan processing in every cycle, and those subject to the I / O scan processing in every two cycles or at frequency lower than that. Thus, the control controller 30 can adapt the I / O scan processing to data conversion processing with a shorter cycle when a field device having a short update cycle is connected to the protocol converter 20 and controllability and responsiveness in the data conversion processing are improved, to improve the efficiency of the control calculation processing following the I / O scan processing.

[0124] The control calculation memory 32 stores control calculation data corresponding to each of the control data values stored in the control input / output memory 31. The transfer unit 33 performs calculation to convert a format of updated control calculation data out of the control calculation data stored in the control input / output memory 31 in each cycle. Thus, the control controller 30 can convert information acquired from a field device into a state usable by other devices.

[0125] The transfer unit 33 stores information to identify an updated control data value that is a control data value not included in the first group out of the control data values stored in the control input / output memory 31, in the third storage area, and updates a control data value to which next order to the control data value identified based on the information stored in the third storage area is designated out of the control data values stored in the control input / output memory 31, together with the control data value of the first group in each cycle.

[0126] Moreover, the transfer unit 33 stores information to identify updated control calculation data that is control calculation data corresponding to the control data value not included in the first group out of the control calculation data stored in the control calculation memory 32, in the third storage area, and updates control calculation data to which next order to the control calculation data identified based on the information stored in the third storage area is designated out of the control calculation data stored in the control calculation memory 32, together with the control calculation data corresponding to the control data value of the first group in each cycle.

[0127] As described, the control controller 30 can perform the I / O scan processing and the control calculation processing efficiently by storing control data values and control calculation data updated in each cycle.

[0128] System The processing procedure, the control procedure, specific names and information including various kinds of data and parameters described in the above document and the drawings can be changed arbitrarily unless otherwise specified.

[0129] Moreover, the respective components of the respective devices illustrated are of functional concept, and it is not necessarily required to be configured physically as illustrated. That is, specific forms of distribution and integration of the respective devices are not limited to the ones illustrated. Specifically, all or some thereof can be configured to be distributed or integrated functionally or physically in arbitrary units according to various kinds of loads, usage conditions, and the like. Moreover, the protocol converter 20 may include a function of the control controller 30.

[0130] Furthermore, as for the respective processing functions performed by the respective devices, all or an arbitrary part thereof can be implemented by a CPU and a computer program that is analyzed and executed by the CPU, or can be implemented as hardware by wired logic.

[0131] Hardware Next, a hardware configuration example of the control controller 30 will be explained. Fig. 13 is a diagram explaining a hardware configuration example. As illustrated in Fig. 13, the control controller 30 includes a communication device 30a, a hard disk drive (HDD) 30b, a memory 30c, and a processor 30d. Moreover, the respective components illustrated in Fig. 13 are connected to one another through a bus or the like.

[0132] The communication device 30a is a network interface card or the like, and performs communication with other servers. The HDD 30b stores a program to operate the functions illustrated in Fig. 1 and a DB.

[0133] The processor 30d reads the program that implements processing similar to that of the respective processing units illustrated in Fig. 1 from the HDD 30b or the like and expands it to the memory 30c, to thereby operate processes to implement the respective functions explained in Fig. 1 and the like. For example, this process performs functions similar to those of the respective processing units included in the control controller 30. Specifically, the processor 30d reads out a program having functions similar to those of the transfer unit 33 from the HDD 30b or the like. The processor 30d performs the process to perform the processing similar to that of the transfer unit 33.

[0134] As described, the control controller 30 operates as an information processing apparatus that performs an information processing method by reading a program. Moreover, the control controller 30 can implement functions similar to the embodiment described above by reading the program described above from a recording medium by a medium reader device, and by executing the read program described above also. Programs in other embodiments are not limited to be executed by the control controller 30. For example, the present invention can be applied similarly also to a case in which the program is executed by other computers or servers, or a case in which the program is executed by these in cooperation.

[0135] This program can be distributed through a network such as the Internet. Furthermore, this program can be recorded on a computer-readable recording medium, such as a hard disk, a flexible disk (FD), a CD-ROM, a magneto optical disk (MO), and a digital versatile disk (DVD), and can be executed by being read by a computer from the recording medium.

[0136] Some examples of combinations of the disclosed technical features are described in the following.

[0137] (1) An information processing apparatus comprising: a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group; and an updating unit that updates a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle based on a control data value acquired from a protocol converter, together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle. (2) The information processing apparatus according to (1), further comprising a second storage area that stores control calculation data corresponding to each of the control data values stored in the first storage area, wherein the updating unit updates control calculation data corresponding to a control data value that is not included in the first group out of the control calculation data stored in the second storage area, and that was not updated in a previous cycle, together with the control calculation data corresponding to the control data value of the first group out of the control calculation data stored in the second storage area in each cycle. (3) The information processing apparatus according to (2), wherein the updating unit performs calculation to convert a format of the updated control calculation data out of the control calculation data stored in the second storage area in each cycle. (4) The information processing apparatus according to any one of (1) to (3), wherein the updating unit stores, in a third storage area, information to identify an updated control data value that is a control data value not included in the first group out of the control data values stored in the first storage area, and updates a control data value to which next order to the control data value identified based on the information stored in the third storage area is designated, together with the control data value of the first group out of the control data values stored in the first storage area in each cycle. (5) The information processing apparatus according to (2) or (3), wherein the updating unit stores, in a third storage area, information to identify an updated control calculation data value that is control calculation data corresponding to a control data value not included in the first group out of the control calculation data stored in the second storage area, and updates control calculation data to which next order to the control calculation data identified based on the information stored in the third storage area is designated, together with the control calculation data corresponding to the control data value of the first group out of the control calculation data stored in the second storage area in each cycle. (6) An information processing method performed by a computer including a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group, the method comprising: updating a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle, based on a control data value acquired from a protocol converter together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle. (7) An information processing program that causes a computer including a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group to execute: updating a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle, based on a control data value acquired from a protocol converter together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle. (8) A process control system comprising: a protocol converter; a plurality of field devices that are installed in a plant and that are connected to the protocol converter; and a control controller that is connected to the protocol converter, wherein the protocol converter updates a control data value based on a plurality of process values updated by the field devices in each cycle, the control controller includes a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group; and an updating unit that updates a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle based on a control data value acquired from a protocol converter, together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

[0138] 1 Process control system 10 Field device 20 Protocol converter 21 Cache memory 22 Interface memory 23, 33 Transfer Unit 30 Control controller 30a Communication device 30b HDD 30c Memory 30d Processor 31 Control input / output memory 32 Control calculation memory 40 Operation monitoring terminal 50 Device managing unit

Claims

1. An information processing apparatus comprising: a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group; and an updating unit that updates a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle based on a control data value acquired from a protocol converter, together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

2. The information processing apparatus according to claim 1, further comprising a second storage area that stores control calculation data corresponding to each of the control data values stored in the first storage area, wherein the updating unit updates control calculation data corresponding to a control data value that is not included in the first group out of the control calculation data stored in the second storage area, and that was not updated in a previous cycle, together with the control calculation data corresponding to the control data value of the first group out of the control calculation data stored in the second storage area in each cycle.

3. The information processing apparatus according to claim 2, wherein the updating unit performs calculation to convert a format of the updated control calculation data out of the control calculation data stored in the second storage area in each cycle.

4. The information processing apparatus according to claim 1, wherein the updating unit stores, in a third storage area, information to identify an updated control data value that is a control data value not included in the first group out of the control data values stored in the first storage area, and updates a control data value to which next order to the control data value identified based on the information stored in the third storage area is designated, together with the control data value of the first group out of the control data values stored in the first storage area in each cycle.

5. The information processing apparatus according to claim 2, wherein the updating unit stores, in a third storage area, information to identify an updated control calculation data value that is control calculation data corresponding to a control data value not included in the first group out of the control calculation data stored in the second storage area, and updates control calculation data to which next order to the control calculation data identified based on the information stored in the third storage area is designated, together with the control calculation data corresponding to the control data value of the first group out of the control calculation data stored in the second storage area in each cycle.

6. An information processing method performed by a computer including a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group, the method comprising: updating a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle, based on a control data value acquired from a protocol converter together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

7. An information processing program that causes a computer including a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group to execute: updating a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle, based on a control data value acquired from a protocol converter together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.

8. A process control system comprising: a protocol converter; a plurality of field devices that are installed in a plant and that are connected to the protocol converter; and a control controller that is connected to the protocol converter, wherein the protocol converter updates a control data value based on a plurality of process values updated by the field devices in each cycle, the control controller includes a first storage area that stores at least one control data value included in a first group, and a plurality of control data values that are not included in the first group; and an updating unit that updates a control data value that is a control value not included in the first group out of the control data values stored in the first storage area and that was not updated in a previous cycle based on a control data value acquired from a protocol converter, together with the control data value included in the first group out of the control data values stored in the first storage area in each cycle.