Controller, control system and control method

EP4689816A1Pending Publication Date: 2026-02-11YOKOGAWA ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
EP2024778696
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-30
Filing Date
2024-02-06
Publication Date
2026-02-11

AI Technical Summary

Technical Problem

In communication systems where multiple controllers interact, a controller that becomes unable to communicate can hinder communication with other capable controllers, leading to waiting times and delayed processes.

Method used

A controller sorts connection information into destination groups based on the destination controller, allowing for collective station-to-station connections and reducing the impact of unresponsive controllers on communication by enabling parallel communication with capable controllers.

Benefits of technology

This approach reduces waiting times for communication with capable controllers, ensuring that the inability of one controller to communicate does not significantly affect the overall system's performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024003937_03102024_PF_FP_ABST
    Figure JP2024003937_03102024_PF_FP_ABST
Patent Text Reader

Abstract

A controller 10 includes a processor 11. The processor 11 generates destination information associating connection information, generated by an engineering apparatus 40 and corresponding to station-to-station connection to be performed taking another controller 10 as a destination, with the other controller that is the destination of the station-to-station connection. The processor 11 acquires a plurality of pieces of the connection information. The processor 11 sorts connection information, among the plurality of pieces of connection information, corresponding to station-to-station connection with an identical destination into a destination group based on the destination information, each destination group corresponding to the other controller that is the destination of the station-to-station connection. The processor 11 performs the station-to-station connection corresponding to the connection information sorted into each destination group collectively, taking the respective controller corresponding to the destination group as the destination.
Need to check novelty before this filing date? Find Prior Art

Description

CONTROLLER, CONTROL SYSTEM AND CONTROL METHODCROSS-REFERENCE TO RELATED APPLICATION

[0001] The present application claims priority to Japanese Patent Application No. 2023-056326 filed on March 30, 2023, the entire contents of which are incorporated herein by reference.

[0002] The present disclosure relates to a controller, a control system, and a control method.Background

[0003] Systems that enable information sharing among a large number of control stations (controllers) are known. For example, see Patent Literature (PTL) 1.

[0004] PTL 1: JP 2009-26063 ASummary

[0005] (Technical Problem) Suppose that when one controller communicates with each controller in a plurality of other controllers, some of the controllers with which the one controller communicates become unable to communicate. Under this assumption, when communicating with each of the other controllers sequentially, the controller ends up waiting for a response from a controller that has become unable to communicate. While waiting for a response from the controller that has become unable to communicate, the controller is not able to communicate with the other controllers that are still able to communicate. In other words, the controller that is unable to communicate affects communication with the controllers that are able to communicate.

[0006] In light of these points, the present disclosure aims to provide a controller, a control system, and a control method that can reduce the effect of a controller that is unable to communicate on communication by a controller that is able to communicate. (Solution to Problem)

[0007] (1) A controller according to several embodiments includes a processor. The processor generates destination information associating connection information, generated by an engineering apparatus and corresponding to station-to-station connection to be performed taking a respective controller in a plurality of other controllers as a destination, with the respective controller in the plurality of other controllers that is the destination of the station-to-station connection. The processor acquires a plurality of pieces of the connection information. The processor sorts connection information, among the plurality of pieces of connection information, corresponding to station-to-station connection with an identical destination into a destination group based on the destination information, each destination group corresponding to the respective controller in the plurality of other controllers that is the destination of the station-to-station connection. The processor performs the station-to-station connection corresponding to the connection information sorted into each destination group collectively, taking the respective controller corresponding to the destination group as the destination. As a result of the station-to-station connection being sorted into destination groups by destination, the effect of a controller that is unable to communicate on communication by a controller that is able to communicate is reduced as compared to the case in which station-to-station connection is not sorted by destination.

[0008] (2) In the controller of (1), in a case in which, for connection information that is not associated with another controller in the destination information, the processor newly acquires information specifying another controller that is the destination of station-to-station connection corresponding to the connection information that is not associated with another controller, the processor may be configured to associate the connection information that is not associated with another controller with the newly acquired information specifying another controller. As a result of associating connection information that is not associated with another controller with information specifying the controller that is the destination of station-to-station connection corresponding to the connection information, the connection information will be sorted into a destination group the next time the station-to-station connection corresponding to the connection information is performed.

[0009] (3) In the controller of (1) or (2), in a case in which station-to-station connection corresponding to connection information associated with the another controller is updated, the processor may be configured to remove association, in the destination information, of the another controller with the connection information corresponding to the updated station-to-station connection. Removal of the association of the controller with the connection information corresponding to the updated station-to-station connection prevents connection information corresponding to station-to-station connection having a different controller as the destination from being mixed into the destination group.

[0010] (4) In the controller of any one of (1) to (3), the processor may be configured to generate a link that sequentially connects connection information associated with one other controller among the plurality of pieces of connection information. By linking the connection information, the processor can reduce the operational load to perform station-to-station connection collectively for the same destination.

[0011] (5) In the controller of (4), in a case in which station-to-station connection corresponding to the connection information connected to the link is updated, the processor may be configured to connect connection information connected previous to the connection information corresponding to the updated station-to-station connection and connection information connected following the connection information corresponding to the updated station-to-station connection to unlink the connection information corresponding to the updated station-to-station connection. By operating as described above, the processor can reconnect a link by changing only the previous link of the connection information corresponding to the updated station-to-station connection. As a result, the processor can easily respond to updates to the station-to-station connection corresponding to the connection information connected to the link.

[0012] (6) In the controller of any one of claims (1) to (5), the processor may be configured to sort connection information corresponding to station-to-station connection having a first controller as a destination into a first destination group and sort connection information corresponding to station-to-station connection having a second controller as a destination into a second destination group. The processor may be configured to perform the station-to-station connection corresponding to the connection information sorted into the first destination group and the station-to-station connection corresponding to the connection information sorted into the second destination group in parallel to communicate with the first controller and the second controller in parallel. As a result of communication with the first controller being separated from communication with the second controller, an inability to communicate by the first controller or the second controller can be prevented from affecting communication by the other.

[0013] (7) A control system according to several embodiments includes the controller according to any one of (1) to (6), and an operation monitoring apparatus configured to store connection information corresponding to station-to-station connection performed taking each controller in the plurality of other controllers as a destination and transmit information identifying another controller that is the destination of the station-to-station connection corresponding to the connection information to the controller.

[0014] (8) The control system of (7) may further include an engineering apparatus. The engineering apparatus may be configured to notify the controller in a case in which a functional block corresponding to the station-to-station connection is updated. As a result of the engineering apparatus notifying the controller of an update to the functional block corresponding to the station-to-station connection, the processor is less likely to miss a possible change in the destination of the station-to-station connection. Consequently, connection information corresponding to station-to-station connection that has a different controller as the destination can be prevented from being mixed into the destination group.

[0015] (9) A control method according to several embodiments includes a processor generating destination information associating connection information, generated by an engineering apparatus and corresponding to station-to-station connection to be performed taking a respective controller in a plurality of other controllers as a destination, with the respective controller in the plurality of other controllers that is the destination of the station-to-station connection, acquiring a plurality of pieces of the connection information, sorting connection information, among the plurality of pieces of connection information, corresponding to station-to-station connection with an identical destination into a destination group based on the destination information, each destination group corresponding to the respective controller in the plurality of other controllers that is the destination of the station-to-station connection, and performing the station-to-station connection corresponding to the connection information sorted into each destination group collectively, taking the respective controller corresponding to the destination group as the destination. (Advantageous Effect)

[0016] With the controller, control system, and control method according to the present disclosure, the waiting time for communication with a controller that is able to communicate is reduced.

[0017] In the accompanying drawings: FIG. 1 is a block diagram illustrating an example configuration of a control system according to an embodiment of the present disclosure; FIG. 2 is a diagram representing an example of control logic to be executed by a controller as connection information; FIG. 3 is a block diagram illustrating an example of data connection between controllers; FIG. 4 is a block diagram illustrating an example of operations to access data between controllers; FIG. 5 is a block diagram illustrating an example configuration in a case in which one controller is stopped in the control system; FIG. 6 is a diagram illustrating the grouping of connection information corresponding to station-to-station connection in a controller according to a comparative example; FIG. 7 is a diagram illustrating the mixing of connection information corresponding to station-to-station connection that has a plurality of other controllers as destinations in the first group in FIG. 5; FIG. 8 is a diagram illustrating an example of the grouping of connection information corresponding to station-to-station connection in a controller according to an embodiment of the present disclosure; and FIG. 9 is a flowchart illustrating an example of the procedures of a control method according to an embodiment of the present disclosure.DETAILED DESCRIPTION

[0018] (Configuration Example of Control System 1) As illustrated in FIG. 1, a control system 1 according to an embodiment of the present disclosure includes a controller 10, an operation monitoring apparatus 30, an engineering apparatus 40, and a control network 80. The controller 10 is also referred to as a control station or a Field Control Station (FCS). The operation monitoring apparatus 30 is also referred to as a HIS (Human Interface Station).

[0019] The controller 10 includes a processor 11 and a communication interface 12.

[0020] The processor 11 may, for example, be configured to include a central processing unit (CPU), dedicated circuitry, or the like. The processor 11 may be configured to include a memory such as a semiconductor memory or an electromagnetic storage medium. The memory may be configured integrally with the processor 11 or may be configured separately from the processor 11.

[0021] The communication interface 12 may include a wired or wireless communication device that connects to the control network 80. The communication device may include a communication interface such as Local Area Network (LAN), EthernetÒ(Ethernet is a registered trademark in Japan, other countries, or both), RS-232C, or RS-485. The communication device is not limited to these examples and may be configured to include various other communication interfaces. The communication interface 12 communicates with the communication interface 12 of other controllers 10 via the control network 80. The communication interface 12 may be configured to include a communication driver. The communication interface 12 may include a plurality of communication channels.

[0022] The operation monitoring apparatus 30 includes a storage area from which other devices, such as the controller 10 or the engineering apparatus 40, can read data indirectly and a storage area to which data can be written. Specifically, the operation monitoring apparatus 30 includes a memory area that can be read by other devices, such as the controller 10 or the engineering apparatus 40, via an interface with the operation monitoring apparatus 30 and a memory area that can be written to by other devices, such as the controller 10 or the engineering apparatus 40, via an interface with the operation monitoring apparatus 30. The operation monitoring apparatus 30 may include a storage area that other devices can read from and write to via an interface.

[0023] The operation monitoring apparatus 30 and the engineering apparatus 40 may, for example, be configured to include a server. The respective functions of the operation monitoring apparatus 30 and the engineering apparatus 40 may be realized as functions executed by separate apparatuses or as functions executed within a single apparatus.

[0024] (Operation Example of Control System 1) In the control system 1 according to an embodiment of the present disclosure, the engineering apparatus 40 is used to perform the task of building an application tailored to a system, plant, or the like to be controlled by the control system 1. The application includes control logic to be executed by the controller 10. The control logic includes elements that represent functional blocks and elements that represent relationships between functional blocks. For example, in the case of PID control of the water level in a tank, the functional blocks include an input element that inputs a signal from a level meter, a functional block that performs PID control, and an output element that outputs a signal to open or close a valve that regulates the flow rate to the tank. In this case, as the relationships between the functional blocks, the control logic includes reading, by the functional block that executes PID control, the input signal from the functional block that inputs the signal from the level meter, and outputting, by the functional block that executes PID control, the result of PID calculation based on the input signal from the level meter as a signal to open or close the valve that adjusts the flow rate to the tank. The functional blocks and their relationships are not limited to the examples described above.

[0025] Functional blocks may correspond to station-to-station connection. A functional block that corresponds to station-to-station connection is a functional block that requires the controller 10 to set or refer to data stored in another controller 10 that is the destination of the station-to-station connection. The destination of the station-to-station connection is the other controller 10 that stores the data that the controller 10 sets or refers to. Although the control logic is described below as including only functional blocks corresponding to station-to-station connection as elements, the control logic may include functional blocks that do not correspond to station-to-station connection.

[0026] As illustrated in FIG. 2, the functional blocks in the control logic that correspond to station-to-station connection are represented as connection information for the sake of convenience. The connection information includes information representing the station-to-station connection to which the functional block corresponds (for example, a string such as “TAG001_102” or “TAGmmm_102”) and information representing data to be set or referred to by the station-to-station connection (for example, “.PV”). Therefore, the connection information is information corresponding to the station-to-station connection. The connection information is generated by the engineering apparatus 40. The generated connection information is loaded, as detailed information on the connection block, by the controller in which the connection block exists, and the connection information is stored in a database in the controller.

[0027] The controller 10 acquires elements of the control logic from the engineering apparatus 40. Specifically, the controller 10 acquires the functional blocks corresponding to the station-to-station connection as connection information corresponding to the station-to-station connection.

[0028] The controller 10 stores the connection information corresponding to the acquired station-to-station connection in a memory within the controller 10. In the present embodiment, the controller 10 collectively acquires the connection information corresponding to each of a plurality of station-to-station connections. The number of pieces of connection information acquired collectively is appropriately determined according to hardware specifications and the like.

[0029] The controller 10 cannot recognize the destination of station-to-station connection just by acquiring the connection information corresponding to the station-to-station connection. Therefore, the controller 10 queries the operation monitoring apparatus 30 for the destination of the station-to-station connection corresponding to the acquired connection information. Since the operation monitoring apparatus 30 recognizes the other controller 10 to be the destination of the station-to-station connection, the operation monitoring apparatus 30 notifies the controller 10 of the destination of the station-to-station connection in response to the query from the controller 10. The controller 10 recognizes the other controller 10 to be the destination of the station-to-station connection by the notification from the operation monitoring apparatus 30 and performs the station-to-station connection.

[0030] Suppose that there are two controllers 10, distinguished as controller 110 and controller 120, as illustrated in FIG. 3. The controller 110 and the controller 120 are each configured in the same manner as the controller 10 and each include the processor 11 and the communication interface 12. The controller 110 includes a functional block 111 that stores first data D1. The controller 120 includes a functional block 121 that stores second data D2.

[0031] The processor 11 of the controller 110 executes a functional block 112 for setting the second data D2 in a case in which an element of control logic acquired from the engineering apparatus 40 is a functional block for setting the second data D2. Since the second data D2 is not stored in the controller 110 itself, the functional block 112 queries the operation monitoring apparatus 30 as to which controller 10 stores the second data D2 and acquires information identifying the other controller 10 in which the second data D2 is stored. Also, since the functional block that sets the second data D2 corresponds to station-to-station connection, a connection block 113 is generated between the functional block 112 that sets the second data D2 and the functional block 121 that stores the second data D2. The connection block 113 is also referred to as a station-to-station connection block or ADL. The connection block 113 transmits data to the controller 120 to be set in the data storage block 121 of the controller 120. The processor 11 of the controller 120 sets the second data D2, received from the controller 110 via the connection block 113, in the data storage block 121.

[0032] The processor 11 of the controller 120 executes a functional block 122 for referring to the first data D1 in a case in which an element of control logic acquired from the engineering apparatus 40 is a functional block for referring to the first data D1. Since the first data D1 is not stored in the controller 120 itself, the functional block 122 queries the operation monitoring apparatus 30 as to which controller 10 stores the first data D1 and acquires information identifying the other controller 10 in which the first data D1 is stored. Also, since the functional block that refers to the first data D1 corresponds to station-to-station connection, a connection block 123 is generated between the functional block 122 that refers to the first data D1 and the functional block 111 that stores the first data D1. The connection block 123 is also referred to as a station-to-station connection block or ADL. The controller 120 queries the controller 110 via the connection block 123 as to the value of the first data D1 stored in the functional block 111. The processor 11 of the controller 110 reads the value of the first data D1 stored in the functional block 111 and transmits the value to the controller 120. The functional block 122 of the controller 120 can be referred to by acquiring the first data D1 from the controller 110 via the connection block 123.

[0033] When executing station-to-station connection, the controller 10 can perform parallel processing to communicate with a plurality of other controllers 10 using each of a plurality of communication channels of the communication interface 12. The processor 11 of the controller 10 sorts the connection information acquired from the engineering apparatus 40 into groups corresponding to each communication channel and performs the station-to-station connection with the other controllers 10 in parallel on each communication channel. The number of groups is determined according to the number of communication channels. The number of pieces of connection information to be sorted into each group may be appropriately determined according to the hardware configuration, such as the memory capacity.

[0034] The processor 11 of the controller 10 causes a first task and a second task to operate. The first task acquires connection information from the engineering apparatus 40 and sorts the acquired connection information into groups. The second task performs station-to-station connection, corresponding to the connection information sorted into each group by the first task, in parallel using the communication channel corresponding to each group. The second task outputs the result of performance of the station-to-station connection to the first task. For example, in a case in which the station-to-station connection is a functional block that refers to data, the second task outputs the value of the referenced data or the like to the first task. For example, in a case in which the station-to-station connection is a functional block that sets data, the second task outputs information, such as a report on whether the data setting is complete, to the first task. After the first task acquires, from the second task, the result of performance of the station-to-station connection corresponding to all of the connection information sorted into groups, the first task acquires new connection information from the engineering apparatus 40 and performs the station-to-station connection in a case in which unacquired connection information exists. The connection information does not have to be acquired from the engineering apparatus 40 each time. For example, instead of the connection information being acquired from the engineering apparatus 40 each time, the connection information that is loaded from the engineering apparatus 40 and stored in the database in each controller may be used.

[0035] When acquiring connection information from the engineering apparatus 40 and sorting the connection information into a group, the first task does not recognize the destination of the station-to-station connection corresponding to the connection information. The second task acquires the destination of the station-to-station connection from the operation monitoring apparatus 30 and performs the station-to-station connection. In other words, although the first task cannot recognize the destination of station-to-station connection corresponding to newly acquired connection information, the first task can recognize the destination of station-to-station connection corresponding to already acquired connection information. Specifically, the first task associates the destination, recognized when the second task performs station-to-station connection, with already acquired connection information corresponding to that station-to-station connection. By the destination being associated with the already acquired connection information, the first task can recognize the destination of the station-to-station connection corresponding to that connection information.

[0036] The operations of the functional block 122 whereby the controller 120 refers to the first data D1 stored in the controller 110 are now described based on the block diagram illustrated in FIG. 4. The second task of the controller 120 queries the operation monitoring apparatus 30 for the location in which the first data D1 is stored, as indicated by the dashed line (1). The operation monitoring apparatus 30 transmits information identifying that the first data D1 is stored in the controller 110 to the second task of the controller 120, as indicated by the dashed line (2). The functional block 122 of the controller 120 queries the controller 110 for information such as the value or string of the first data D1, as indicated by the dashed line (3). The processor 11 of the controller 110 returns to the controller 120 the information, such as the value or string of the first data D1, stored in the functional block 111 of the controller 110, as indicated by the dashed line (4). By the above operations, the controller 120 can refer to information stored in the controller 110, such as the value or string of the first data D1, by performing station-to-station connection between the controller 110 and the controller 120.

[0037] <Case of a Controller 10 Becoming Unable to Communicate> As described above, a plurality of controllers 10 can refer to and set data stored in other controllers 10 by performing station-to-station connection with each other. Here, the controller 10 that is the destination of the station-to-station connection may become unable to communicate due to failure or other reasons. The processor 11 of the controller 10 may determine that there is no response from another controller 10 that is the destination of the station-to-station connection in a case in which no response is received after waiting for a predetermined time to elapse after transmitting a request, such as to set or refer to data, to the other controller 10 that is the destination of the station-to-station connection. The predetermined time may be set according to the configuration of the control system 1. The predetermined time may be set to 20 seconds, for example. The processor 11 of the controller 10 may determine that the controller 10 is unable to communicate in a case in which there is no response from the other controller 10. In a case in which it is determined that the controller 10 that is the destination of the station-to-station connection is unable to communicate, the processor 11 of the controller 10 may output a report, as the result of performance of the station-to-station connection, indicating that the station-to-station connection could not be performed.

[0038] For example, suppose that the control system 1 is divided into a first domain 61 and a second domain 62, which are connected by a control network 80 via a gateway 70, as illustrated in FIG. 5. The gateway 70 controls the communication of the control network 80 between the first domain 61 and the second domain 62. The first domain 61 includes a controller 101, a controller 102, a controller 103, and an operation monitoring apparatus 301. The second domain 62 includes a controller 201, a controller 202, and an operation monitoring apparatus 302. Each of controllers 101, 102, 103, 201, 202 includes a processor 11 and a communication interface 12 and is configured similarly to the controller 10. Each of the operation monitoring apparatuses 301, 302 is configured similarly to the operation monitoring apparatus 30. In the example in FIG. 4, the processor 11 of the controller 101 performs station-to-station connection with each of the other controllers 102, 103, 201, 202.

[0039] If the controller 201 were to become unable to communicate, then station-to-station connection between the controller 101 and each of the controllers 102, 103, 202 will be successfully performed, but station-to-station connection between the controller 101 and the controller 201 will not be performed. The controller 101 must wait for a predetermined amount of time to confirm that there is no response from the controller 201.

[0040] Here, the first task of the processor 11 of the controller 101 acquires the connection information for the control logic illustrated in FIG. 2 and sorts the connection information into groups. The first task sorts the connection information corresponding to station-to-station connections with the same destination into the same group. To put it another way, the first task does not sort the connection information corresponding to station-to-station connections with different destinations into the same group.

[0041] To perform the station-to-station connection, corresponding to the connection information sorted into each group, between the controller 101 and each of the other controllers 102, 103, 201, 202, the second task of the controller 101 uses the communication interface 12 of the controller 101 and communicates with any of the other controllers 102, 103, 201, 202.

[0042] As described above, the connection information corresponding to station-to-station connections with the same destination is sorted into the same group. In this case, the second task only needs to communicate with one destination when performing station-to-station connection corresponding to the connection information sorted into one group. For example, in a case in which the destination of the station-to-station connection corresponding to the connection information sorted into a certain group is unified in the controller 102, the second task may maintain a connection with the controller 102 using a single communication channel. This enables continued performance of station-to-station connection with the controller 102 as the destination.

[0043] As a comparative example, there may be mixed destinations for station-to-station connections corresponding to the connection information sorted into each group, as illustrated in FIG. 6. For example, “TAG001_102.PV” is connection information corresponding to station-to-station connection having the controller 102 as the destination. “TAG002_103.PV” is connection information corresponding to station-to-station connection having the controller 103 as the destination. If the connection information is sorted into groups in the order in which it was acquired from the engineering apparatus 40, different destinations for the station-to-station connections corresponding to the connection information will be mixed together within one group.

[0044] In FIG. 6, the rectangles representing connection information are distinguished by different hatching for each destination of the station-to-station connection corresponding to the connection information. The first group includes a mixture of connection information corresponding to station-to-station connection having controllers 102, 103, 201, 202, respectively, as destinations. The second group includes a mixture of connection information corresponding to station-to-station connection having controllers 102, 202, respectively, as destinations. The Nthgroup includes a mixture of connection information corresponding to station-to-station connection having controllers 201, 202, respectively, as destinations.

[0045] In the comparative example, the second task of the processor 11 in the controller 101 performs station-to-station connection corresponding to the connection information sorted into the first group and uses one communication channel of the communication interface 12 as the communication channel corresponding to the first group to perform station-to-station connection sequentially with each of the other controllers 102, 103, 201, 202. The second task organizes, by destination, the station-to-station connection corresponding to the connection information sorted into the first group, as illustrated in FIG. 7, and then performs the station-to-station connection with each of the controllers 102, 103, 201, 202 sequentially.

[0046] Suppose that the controller 201 is unable to communicate. During the station-to-station connection with the controller 201, the second task needs to wait a predetermined period of time to confirm a lack of response from the controller 201, i.e., that the controller 201 is unable to communicate. The second task can complete the performance of station-to-station connection corresponding to the connection information sorted into the first group by acquiring the result of performance of the station-to-station connection corresponding to all of the connection information sorted into the first group.

[0047] Here, the communication channel corresponding to the first group continues to be used by the second task until performance of the station-to-station connection corresponding to all of the connection information sorted into the first group is completed. Furthermore, the next connection information cannot be sorted into the first group. Therefore, station-to-station connection using the communication channel corresponding to the first group stops while the second task waits for a response from the controller 201 that is a destination of the station-to-station connection corresponding to all the connection information sorted into the first group. In a case in which there remains station-to-station connection whose destination is the controllers 102, 103, 202, which are able to communicate, the performance of that station-to-station connection is delayed due to the controller 201 that is unable to communicate.

[0048] By contrast, in the control system 1 according to the present embodiment, the processor 11 of the controller 10 sorts the connection information into groups so that the destinations of the station-to-station connections corresponding to the connection information sorted into a group are all aligned to the same controller 10. The alignment, to the same controller 10, of the destinations of station-to-station connections corresponding to the connection information sorted into a group avoids a situation in which, due to another controller 10 being unable to communicate, a delay occurs in the execution of a process having a controller 10 that is able to communicate as the destination.

[0049] As described above, the groups into which the connection information is sorted are associated with communication channels. In the present embodiment, it is assumed that the number of communication channels in the communication interface 12 of the controller 101 is N. In this case, by sorting the connection information into N groups from the first group to the Nthgroup, the processor 11 of the controller 101 can associate each group with one communication channel and perform station-to-station connection corresponding to the connection information sorted into each group in parallel.

[0050] An example of operations of the control system 1 according to the present embodiment is described below.

[0051] The processor 11 of the controller 10 acquires a plurality of pieces of the connection information from the engineering apparatus 40. The processor 11 cannot determine the destination of the station-to-station connection corresponding to the connection information at the stage in which the connection information is acquired from the engineering apparatus 40.

[0052] The processor 11 queries the operation monitoring apparatus 30 for the destination of the station-to-station connection whose destination has not been determined. The operation monitoring apparatus 30 transmits information to the controller 10 identifying the other controller 10 that is the destination of the station-to-station connection for which the query was received. The processor 11 determines the destination of the station-to-station connection whose destination has not been determined based on the information received from the operation monitoring apparatus 30 and performs the station-to-station connection with the controller 10 of that destination.

[0053] The processor 11 generates destination information so that the destination can be determined when the station-to-station connection corresponding to the connection information is next performed. The destination information is information that associates the connection information corresponding to the station-to-station connection whose destination could not be determined with the other controller 10 that was determined as the destination of the station-to-station connection whose destination could not be determined. As a result of the station-to-station connection corresponding to connection information acquired by the processor 11 from the engineering apparatus 40 being performed once, the connection information is associated with the controller 10 that is the destination of the station-to-station connection corresponding to that connection information in the destination information. The processor 11 can determine the destination of the station-to-station connection by referring to the destination information during the second or subsequent performance of the station-to-station connection.

[0054] In the case of acquiring connection information, the processor 11 confirms whether a destination is associated with the connection information in the destination information. In a case in which a destination is associated with the connection information, the processor 11 sorts connection information corresponding to station-to-station connection for which the destination is the same controller 10 into a destination group that is one group among a first group to an Nthgroup. The destination group is a group set for sorting connection information corresponding to station-to-station connection whose destination is the same controller 10. The processor 11 may set any of the first through Nthgroups as the destination group.

[0055] The processor 11 performs the station-to-station connection corresponding to the connection information sorted into a destination group collectively, taking the controller 10 corresponding to that destination group as the destination.

[0056] In a case in which no destination is associated with the connection information, the processor 11 may sort the connection information into one of the first through Nthgroups as an unidentified group. The unidentified group is a group that is set for sorting connection information not associated with a destination. The processor 11 may set any of the first through Nthgroups as the unidentified group. Although it is not possible for connection information corresponding to station-to-station connections with different destinations to be mixed together in a destination group, it is possible for connection information corresponding to station-to-station connections with different destinations to be mixed together in the unidentified group.

[0057] The processor 11 queries the operation monitoring apparatus 30 as to the destination for each piece of connection information sorted into the unidentified group and sequentially performs the station-to-station connection with the controller 10 that is the destination of the station-to-station connection corresponding to each piece of connection information. The processor 11 can recognize the destination of the station-to-station connection for which the destination could not be determined by querying the operation monitoring apparatus 30 as to the destination of the station-to-station connection for which the destination could not be determined. The processor 11 may generate destination information that associates the controller 10 recognized as the destination of the station-to-station connection with the connection information corresponding to the station-to-station connection for which the destination could not be determined. In other words, in a case in which, for connection information that is not associated with another controller 10 in the destination information, the processor 11 newly acquires information specifying another controller 10 that is the destination of station-to-station connection corresponding to that connection information, the processor 11 may associate the connection information that is not associated with another controller 10 with the newly acquired information specifying another controller 10. As a result of associating connection information that is not associated with another controller 10 with information specifying the controller 10 that is the destination of station-to-station connection corresponding to the connection information, the connection information will be sorted into a destination group the next time the station-to-station connection corresponding to the connection information is performed.

[0058] After completing performance of the station-to-station connection corresponding to all the connection information sorted into a destination group, the processor 11 may sort new connection information into that group. The processor 11 may newly sort connection information corresponding to station-to-station connection having the same controller 10 as the destination into the group already set as the destination group and thus continue to use the destination group corresponding to the same controller 10. The processor 11 may set a group already set as a destination group to be a destination group corresponding to a different controller 10 and may newly sort connection information corresponding to station-to-station connection having the different controller 10 as the destination into that group. The processor 11 may set a group already set as a destination group to be an unidentified group and may newly sort connection information not associated with another controller 10 into that group.

[0059] For example, the processor 11 may sort the connection information acquired from the engineering apparatus 40 into a plurality of destination groups, including a first group to an Nthgroup, as illustrated in FIG. 8. In the example in FIG. 8, the processor 11 sets the first group as the destination group corresponding to the controller 102 and sorts the connection information corresponding to station-to-station connection having the controller 102 as the destination into the first group. The processor 11 sets the second group as the destination group corresponding to the controller 103 and sorts the connection information corresponding to station-to-station connection having the controller 103 as the destination into the second group. The processor 11 sets the third group as the destination group corresponding to the controller 201 and sorts the connection information corresponding to station-to-station connection having the controller 201 as the destination into the third group. The processor 11 sets the Nthgroup as the destination group corresponding to the controller 202 and sorts the connection information corresponding to station-to-station connection having the controller 202 as the destination into the Nthgroup.

[0060] Suppose that the controller 201 is unable to communicate. The processor 11 attempts to communicate with the controller 201 to perform the station-to-station connection corresponding to the connection information sorted into the third group. However, the processor 11 does not receive a response from the controller 201, which is unable to communicate, and thus cannot perform the station-to-station connection with the controller 201. Suppose, on the other hand, that the controllers 102, 103, 202 are able to communicate. The processor 11 can successfully communicate with each of the controllers 102, 103, 202, which are able to communicate, in order to perform the station-to-station connection corresponding to the connection information sorted into the first group, the second group, and the Nthgroup. Therefore, delays in station-to-station connection with each of the controllers 102, 103, 202, which are able to communicate, due to the controller 201, which is unable to communicate, can be avoided.

[0061] The processor 11 may perform station-to-station connection corresponding to the connection information sorted into each group as a parallel process to communicate with a plurality of other controllers using the communication channel corresponding to each group. For example, in a case in which the processor 11 acquires connection information corresponding to station-to-station connection having a first controller as a destination and connection information corresponding to station-to-station connection having a second controller as a destination, the processor 11 may sort the connection information corresponding to station-to-station connection having the first controller as a destination into a first destination group and sort the connection information corresponding to station-to-station connection having the second controller as a destination into a second destination group. The first controller and the second controller are names given for convenience to distinguish the controllers 10. The first destination group and second destination group are names given for convenience to distinguish the destination groups. The processor 11 may communicate with the first controller on a first communication channel to perform the station-to-station connection corresponding to the connection information sorted into the first destination group. The processor 11 may communicate with the second controller on a second communication channel to perform the station-to-station connection corresponding to the connection information sorted into the second destination group. In other words, the processor 11 can perform the station-to-station connection in parallel by communicating with each of the first controller and the second controller in parallel respectively on the first communication channel and the second communication channel.

[0062] As a result of the communication channel for communicating with the first controller being separated from the communication channel for communicating with the second controller, an inability to communicate by the first controller or the second controller can be prevented from affecting communication by the other.

[0063] <Flowchart Example> Below, an example of operations whereby the processor 11 of the controller 10 sorts connection information by destination of the station-to-station connection corresponding to that connection information and performs the station-to-station connection with the controller that is the destination will be described. The processor 11 of the controller 10 may, for example, execute a control method including the example procedures of the flowchart illustrated in FIG. 9. The control method may be implemented as a control program to be executed by the processor 11 of the controller 10. The control program may be stored on a non-transitory computer readable medium.

[0064] The processor 11 determines, based on the destination information, whether connection information is associated with a controller 10 that is the destination of the station-to-station connection corresponding to that connection information (step S1). In other words, the processor 11 determines whether the destination of the connection information is known. In a case in which the connection information is not associated with a controller 10 (step S1: NO), the processor 11 sorts the connection information into an unidentified group (step S2). In a case in which the connection information is associated with a controller 10 (step S1: YES), the processor 11 sorts that connection information into a destination group corresponding to the controller 10 that is the destination of the station-to-station connection corresponding to that connection information (step S3).

[0065] The processor 11 performs the station-to-station connection corresponding to the connection information sorted into the unknown group or the destination group (step S4). The processor 11 determines whether the station-to-station connection was successful (step S5). Specifically, the processor 11 may determine that the station-to-station connection was successful in a case in which the processor 11 successfully communicated with the controller that is the destination of the station-to-station connection. For example, the processor 11 may determine that the station-to-station connection was successful in a case in which a return code from the communication driver is SUCCEED. Conversely, the processor 11 may determine that the station-to-station connection failed in a case in which the return code from the communication driver indicates that the communication timed out.

[0066] In a case in which the station-to-station connection was successful (step S5: YES), the processor 11 determines whether the connection information corresponding to the station-to-station connection that was performed is associated with a controller 10 in the destination information (step S6). In a case in which the connection information corresponding to the station-to-station connection that was performed is not associated with a controller 10 in the destination information (step S6: NO), the processor 11 acquires, as the destination of the station-to-station connection that was performed, the destination obtained by querying the operation monitoring apparatus 30 when the station-to-station connection was executed (step S7). In the destination information, the processor 11 associates the connection information corresponding to the station-to-station connection that was performed with the controller 10 that is the destination of the station-to-station connection corresponding to that connection information (step S8). After executing the procedure in step S8, the processor 11 ends execution of the procedures of the flowchart in FIG. 9. In a case in which the connection information corresponding to the station-to-station connection that was performed is associated with a controller 10 in the destination information (step S6: YES), the processor 11 terminates the procedures of the flowchart in FIG. 9 without performing the procedures for associating the controller 10 with the connection information corresponding to the station-to-station connection that was performed.

[0067] In a case in which the station-to-station connection was not successful (step S5: NO), the processor 11 removes the association between the connection information corresponding to the station-to-station connection that was performed and the controller 10 that is the destination of that station-to-station connection (step S9). After executing the procedure in step S9, the processor 11 ends execution of the procedures of the flowchart in FIG. 9.

[0068] <Summary> As described above, the control system 1 according to the present embodiment sorts, for each destination of station-to-station connection, the connection information corresponding to that station-to-station connection into a destination group corresponding to the destination. Consequently, even if there exists a controller 10 that is unable to communicate, a delay in communication for station-to-station connection or the like with the controller 10 that is unable to communicate is less like to occur than in the case of not sorting the connection information by destination of the station-to-station connection as in the comparative example. In other words, the effect of a controller 10 that is unable to communicate on communication by a controller 10 that is able to communicate is reduced.

[0069] (Other Embodiment) An example configuration of a control system 1 according to another embodiment is described below.

[0070] <Operations in Case of Station-to-Station Connection Being Updated by Engineering Apparatus 40> In the control system 1, the engineering apparatus 40 may accept operation input from the user and update a station-to-station connection based on the user input. Updating a station-to-station connection may change the destination of that station-to-station connection. In a case of updating a station-to-station connection, the engineering apparatus 40 may notify the controller 10 which station-to-station connection was updated. Based on the notification of the update to the station-to-station connection, the processor 11 of the controller 10 determines whether the connection information corresponding to the updated station-to-station connection is associated with a controller 10 in the destination information.

[0071] In a case in which the station-to-station connection corresponding to connection information associated with another controller 10 in the destination information is updated, the processor 11 may remove the association of the other controller 10 with the connection information corresponding to the updated station-to-station connection.

[0072] In a case in which a station-to-station connection is updated, the destination of that station-to-station connection may change to a different controller 10. If the controller 10 that is the destination of the station-to-station connection before updating is associated with the connection information corresponding to the updated station-to-station connection, then when the connection information corresponding to the updated station-to-station connection is sorted into a destination group, connection information corresponding to station-to-station connection having different controllers 10 as the destinations may be mixed together. Therefore, removal of the association of the controller 10 with the connection information corresponding to the updated station-to-station connection prevents connection information corresponding to station-to-station connection having a different controller 10 as the destination from being mixed into the destination group. Furthermore, as a result of the engineering apparatus 40 notifying the controller 10 of an update to the station-to-station connection, the processor 11 of the controller 10 is less likely to miss a possible change in the destination of the station-to-station connection. Consequently, connection information corresponding to station-to-station connection that has a different controller 10 as the destination can be prevented from being mixed into the destination group.

[0073] <Operations in Case of Destination of Station-to-Station Connection Changing Despite Station-to-Station Connection Not Being Updated> In a case in which the engineering apparatus 40 updates the station-to-station connection as described above, the engineering apparatus 40 notifies the controller 10 of the update to the station-to-station connection. However, despite the engineering apparatus 40 not having updated the station-to-station connection, the destination of the station-to-station connection may change. For example, if the controller 101 performs station-to-station connection corresponding to connection information represented as “TAG001_102.PV”, and the location of “TAG001_102” moves from the controller 102 to the controller 103, then just the destination of the station-to-station connection changes, despite the station-to-station connection not being updated. In this case, a configuration may be adopted so that when the controller 101 performs station-to-station connection corresponding to the connection information represented as “TAG001_102.PV”, the “TAG001_102.PV” is sorted into the group having the controller 103 as the destination instead of the group having the controller 102 as the destination.

[0074] First, the controller 101 successfully performs station-to-station connection corresponding to the connection information represented as “TAG001_102.PV” when the location of “TAG001_102” is controller 102. The controller 101 then associates, in the destination information, the connection information represented as “TAG001_102.PV” with the controller 102 that is the destination of the station-to-station connection corresponding to that connection information. Even if the location of “TAG001_102” moves from the controller 102 to the controller 103, the controller 101 is not notified of this change in location of the “TAG001_102.PV”. As a result of the controller 101 being unaware of the change in location of “TAG001_102”, the station-to-station connection corresponding to the connection information represented as “TAG001_102.PV” is processed with the controller 102 as the destination. However, since the actual location of “TAG001_102” has moved to the controller 103, the performance of this station-to-station connection fails.

[0075] In a case in which the station-to-station connection fails, the controller 101 removes the association between the connection information represented as “TAG001_102.PV” and the controller 102. This operation corresponds to the case of a determination of NO in step S5 and the execution of the procedure in step S9 in the flowchart of FIG. 9, described above.

[0076] In a case in which the controller 101 next performs station-to-station connection corresponding to the connection information represented as “TAG001_102.PV”, the station-to-station connection is performed without a destination associated with the connection information, and the controller 101 queries the operation monitoring apparatus 30 as to the location of “TAG001_102”. The controller 101 recognizes that the controller 103 is the location of “TAG001_102.PV” by the information from the operation monitoring apparatus 30 and newly associates, in the destination information, the connection information represented as “TAG001_102.PV” with the controller 103 that is the destination of the station-to-station connection corresponding to that connection information.

[0077] <Determination of Destination by Linking> In the above-described embodiment, the processor 11 generates destination information that associates each piece of connection information with the controller 10 that is the destination of the station-to-station connection corresponding to the connection information. In another embodiment, the processor 11 may generate links that connect, in order, the connection information corresponding to station-to-station connection having a certain controller 10 as the destination. A link represents a connection between two pieces of information.

[0078] For example, among the connection information not yet sorted into groups, as illustrated in FIG. 8, the processor 11 may generate a link connecting “TAG004_102.PV”, which is connection information corresponding to station-to-station connection having the controller 102 as the destination, to “TAG001_102.PV”, which is connection information corresponding to station-to-station connection having the controller 102 as the destination. The processor 11 can follow the link to acquire connection information corresponding to station-to-station connection for the same destination.

[0079] When the destination information associates each piece of connection information with the controller 10 that is the destination of station-to-station connection corresponding to that piece of connection information, the processor 11 needs to determine, sequentially, the destination associated with the connection information in the destination information in order to acquire the connection information corresponding to station-to-station connection for the same destination. By following links, the processor 11 can omit the determination of whether connection information is associated with a different destination. By generating links that sequentially connect the connection information, the processor 11 can thereby reduce the operational load for acquiring connection information corresponding to station-to-station connection for the same destination.

[0080] In a case in which the station-to-station connection corresponding to one piece of connection information among connection information connected by links is updated, the processor 11 may connect the connection information connected by a link previous to the connection information corresponding to the updated station-to-station connection and the connection information connected by a link following the connection information corresponding to the updated station-to-station connection to unlink the connection information corresponding to the updated station-to-station connection. In other words, a link can be reconnected by changing only the previous link of the connection information corresponding to the updated station-to-station connection. The processor 11 can thereby easily respond to an update of the station-to-station connection even in the case of generating sequential links for the connection information.

[0081] Embodiments of the present disclosure have been described with reference to the drawings, but specific configurations are not limited to these embodiments, and a variety of modifications may be made without departing from the spirit and scope thereof.

[0082] 1 Control system 10, 101, 102, 103, 110, 120, 201, 202 Controller 11 Processor 12 Communication interface 30, 301, 302 Operation monitoring apparatus 40 Engineering apparatus 61 First domain 62 Second domain 70 Gateway 80 Control network 111, 121 Functional block (D1: first data, D2: second data) 112 Functional block 113, 123 Connection block 122 Functional block

Claims

1. A controller comprising: a processor configured to generate destination information associating connection information, generated by an engineering apparatus and corresponding to station-to-station connection to be performed taking a respective controller in a plurality of other controllers as a destination, with the respective controller in the plurality of other controllers that is the destination of the station-to-station connection, acquire a plurality of pieces of the connection information, sort connection information, among the plurality of pieces of connection information, corresponding to station-to-station connection with an identical destination into a destination group based on the destination information, each destination group corresponding to the respective controller in the plurality of other controllers that is the destination of the station-to-station connection, and perform the station-to-station connection corresponding to the connection information sorted into each destination group collectively, taking the respective controller corresponding to the destination group as the destination.

2. The controller according to claim 1, wherein in a case in which, for connection information that is not associated with another controller in the destination information, the processor newly acquires information specifying another controller that is the destination of station-to-station connection corresponding to the connection information that is not associated with another controller, the processor is configured to associate the connection information that is not associated with another controller with the newly acquired information specifying another controller.

3. The controller according to claim 2, wherein in a case in which station-to-station connection corresponding to connection information associated with the another controller is updated, the processor is configured to remove association, in the destination information, of the another controller with the connection information corresponding to the updated station-to-station connection.

4. The controller according to any one of claims 1 to 3, wherein the processor is configured to generate a link that sequentially connects connection information associated with one other controller among the plurality of pieces of connection information.

5. The controller according to claim 4, wherein in a case in which station-to-station connection corresponding to the connection information connected to the link is updated, the processor is configured to connect connection information connected previous to the connection information corresponding to the updated station-to-station connection and connection information connected following the connection information corresponding to the updated station-to-station connection to unlink the connection information corresponding to the updated station-to-station connection.

6. The controller according to any one of claims 1 to 3, wherein the processor is configured to sort connection information corresponding to station-to-station connection having a first controller as a destination into a first destination group, sort connection information specifying station-to-station connection having a second controller as a destination into a second destination group, and perform the station-to-station connection corresponding to the connection information sorted into the first destination group and the station-to-station connection corresponding to the connection information sorted into the second destination group in parallel to communicate with the first controller and the second controller in parallel.

7. A control system comprising the controller according to any one of claims 1 to 3, and an operation monitoring apparatus configured to store connection information corresponding to station-to-station connection performed taking each controller in the plurality of other controllers as a destination and transmit information identifying another controller that is the destination of the station-to-station connection corresponding to the connection information to the controller.

8. The control system according to claim 7, further comprising an engineering apparatus, wherein the engineering apparatus is configured to notify the controller in a case in which a functional block corresponding to the station-to-station connection is updated.

9. A control method to be executed by a processor, the control method comprising: generating destination information associating connection information, generated by an engineering apparatus and corresponding to station-to-station connection to be performed taking a respective controller in a plurality of other controllers as a destination, with the respective controller in the plurality of other controllers that is the destination of the station-to-station connection; acquiring a plurality of pieces of the connection information; sorting connection information, among the plurality of pieces of connection information, corresponding to station-to-station connection with an identical destination into a destination group based on the destination information, each destination group corresponding to the respective controller in the plurality of other controllers that is the destination of the station-to-station connection; and performing the station-to-station connection corresponding to the connection information sorted into each destination group collectively, taking the respective controller corresponding to the destination group as the destination.

Citation Information

Patent Citations

  • Safety control system

    JP2009026063A