Remote-control device, control device, remote-control system, and control method
The remote control system addresses instability due to communication delays by using identifiers to maintain signal order, ensuring stable control operations in wide-area networks.
Patent Information
- Application Number
- PCT/JP2024/015244
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-25
- Filing Date
- 2024-04-17
- Publication Date
- 2025-01-30
AI Technical Summary
Remote control systems face instability due to communication delays in wide-area networks, which can disrupt the orderly execution of control operations.
A remote control device processes multiple signals sent via multiple transmission routes, using an identifier to determine the order of input values and execute control programs only when the order is preserved, ensuring stable control operations through asynchronous communication.
This approach allows for stable and orderly control operations even in the presence of communication delays, by using identifiers to manage signal order and reduce the impact of network latency.
Smart Images

Figure JP2024015244_30012025_PF_FP_ABST
Abstract
Description
Remote control device, control device, remote control system, and control method
[0001] FIELD Embodiments of the present invention relate to a remote control device, a control device, a remote control system, and a control method.
[0002] In a typical control system, all components are installed on-site, and the control programs created by users are also stored in on-site devices. In recent years, with the increasing demand for remote control and remote management, it is expected that remote control devices will execute control programs via wide-area networks.
[0003] Patent No. 3269792
[0004] However, depending on the control content, it may be necessary to adopt asynchronous communication from the perspective of real-time performance. In this case, communication delays in the wide-area network may prevent control calculations from continuing in order.
[0005] In order to solve such problems, an object of this embodiment is to provide a remote control device, a control device, a remote control system, and a control method that enable more stable control via a network.
[0006] According to this embodiment, a remote control device that processes the same multiple signals transmitted via a network having multiple transmission paths includes a communication unit, a control order determination unit, and a control program execution unit. The communication unit asynchronously receives multiple signals associated with identifiers. The control order determination unit determines whether the order of input values included in the signals is a predetermined order based on the identifiers. If the control order determination unit determines that the order is the predetermined order, the control program execution unit executes a control program for a control device that uses the input values.
[0007] Control via the network can be performed more stably.
[0008] FIG. 1 is a diagram showing an example of the configuration of a remote control system according to a first embodiment. A block diagram showing an example of the configuration of a remote control device and a control device. A diagram showing an example of a processing sequence between the remote control device and the control device. A block diagram showing an example of the configuration of a remote control device and a control device according to a second embodiment. A diagram showing an example of a processing sequence according to the second embodiment. A block diagram showing an example of the configuration of a remote control device and a control device according to a third embodiment. A diagram showing an example of a processing sequence according to the second embodiment. A block diagram showing an example of the configuration of a remote control system according to a fourth embodiment. A flowchart showing an example of the determination processing of a periodic time determination unit. An example sequence of a remote control system according to the fourth embodiment. A flowchart showing an example of the determination processing of a periodic time determination unit according to a second modification of the fourth embodiment. A diagram showing an example sequence of a remote control system according to a second modification of the fourth embodiment.
[0009] Hereinafter, a remote control device, a control device, a remote control system, and a control method according to embodiments of the present invention will be described in detail with reference to the drawings. Note that the embodiments described below are examples of embodiments of the present invention, and the present invention should not be interpreted as being limited to these embodiments. Furthermore, in the drawings referred to in this embodiment, identical parts or parts having similar functions are given the same or similar symbols, and repeated explanations thereof may be omitted. Furthermore, for convenience of explanation, the dimensional ratios of the drawings may differ from the actual ratios, and some components may be omitted from the drawings.
[0010] (First embodiment) (Configuration) Fig. 1 is a diagram showing an example of the configuration of a remote control system 100 according to the first embodiment. As shown in Fig. 1, the remote control system 100 is a system capable of controlling an actuator 5, which is an example of a field device, via a wide area network 2. This remote control system 100 includes a remote control device 1, a plurality of control devices 3, a plurality of sensors 4, and a plurality of actuators 5.
[0011] The remote control device 1 includes, for example, a CPU (Central Processing Unit), memory (a first input memory 14 and a first output memory 15, which will be described later), and the like. The CPU of the remote control device 1 executes various control processes, for example, by executing programs stored in the memory. The remote control device 1 generates a control signal (output information) for controlling the actuator 5 based on a process variable (input information) of the sensor 4 received from the control device 3 via the wide area network 2. The remote control device 1 then transmits the control signal to the actuator 5 via the wide area network 2 and the control device 3. In this manner, the remote control device 1 can control multiple actuators 5 via the wide area network 2. In this embodiment, information included in a signal transmitted from the control device 3 to the wide area network 2 may be referred to as input information, and information included in a signal transmitted from the remote control device 1 to the wide area network 2 may be referred to as output information. In this embodiment, a process variable is used as an example of input information, but this is not intended to be limiting. Similarly, a control signal is used as an example of output information, but this is not intended to be limiting.
[0012] The wide area network 2 is a network having multiple communication paths. The wide area network 2 is, for example, the Internet, but is not limited to this. For example, a local communication line such as a local area network (LAN), a wide area wired communication line such as a wide area network (WAN), or a wireless communication line conforming to a communication standard such as 3G (Generation), 4G, or 5G may be used.
[0013] The control device 3 is disposed at a site where the field devices are disposed, and includes, for example, a CPU, memory (a second input memory 33 and a second output memory 34, which will be described later), etc. The CPU of the control device 3 executes various control processes, for example, by executing programs stored in the memory. The control device 3 transmits input information from the sensor 4, such as process variables, to the remote control device 1 via the wide area network 2. The control device 3 also receives output information from the remote control device 1, such as control signals, via the wide area network 2, and outputs the information to the actuator 5.
[0014] The sensor 4 outputs various process variables required for controlling the actuator 5 to the control device 3. The actuator 5 is a control device that is driven in accordance with a control signal from the remote control device 1 input from the control device 3. Note that, although the current control device in this embodiment is the actuator 5, this is not limited to this. For example, the control device may be a robot arm, a drive motor, a control valve, a monitoring camera, etc. In this way, the control device may be any device that is controlled by a control signal, which is output information, in accordance with the process variable, which is input information from the sensor 4. Furthermore, the number of devices in the control device 3 is not limited to two, but may be one or three or more. Furthermore, multiple control devices 3, sensors 4, and actuators 5 may be located at the same site or at different sites. The performance of the multiple control devices 3, sensors 4, and actuators 5 may be different from each other or may be uniform.
[0015] Referring again to the wide area network 2, in this embodiment, the communication between the remote control device 1 and the control device 3 is important for controlling field devices, and therefore real-time performance is important. For this reason, the remote control device 1 and the control device 3 transmit data to each other, for example, asynchronously. For example, UDP (User Datagram Protocol) is used for such communication.
[0016] When a control signal is sent from the remote control device 1, for example, the UDP header of the IP packet is provided with the following information: the source port is used to identify the remote control device 1 that is the sender; the destination port is used to identify the control device 3 that is the destination; the data length of the control signal; a checksum; etc. The source port and destination port are used to determine the control device 3 that is using the control signal. The data length is used to know the length of the data of the sent control signal, and the checksum is used to check that the data of the received control signal is not missing or has been illegally rewritten.
[0017] When a process quantity is sent from the control device 3, for example, the UDP header of the IP packet is assigned with the identification information of the sending control device 3 as the source port, the identification information of the destination remote control device 1 as the destination port, the data length of the process quantity, a checksum, an identifier indicating the order in which the process quantity is sent, and the like.
[0018] As described above, the wide area network 2 has multiple communication paths between the remote control device 1 and the control device 3, and different communication delays may occur for each communication path. For this reason, as described below, the control device 3 assigns an identifier indicating the same transmission order to the same process amount and transmits multiple IP packets asynchronously. That is, IP packets according to this embodiment are transmitted redundantly. These redundantly generated multiple IP packets are likely to be transmitted between the remote control device 1 and the control device 3 via different communication paths. Therefore, even if the communication delay of some communication paths is large, the other communication paths are likely to transmit packets in a shorter time. As a result, the influence of communication delays in the wide area network 2 is suppressed statistically as the number of packets transmitted redundantly increases.
[0019] Note that, although UDP (User Datagram Protocol) is used for communication according to this embodiment, this is not limiting. For example, a communication protocol that allows asynchronous communication can be used. The format of the transmitted data is also not limited to IP packets. For example, any signal containing information necessary for control may be used. For example, a signal transmitted from the control device 3 may contain identification information of the source control device 3, identification information of the destination remote control device 1, the data length of the process amount, and an identifier indicating the transmission order. Similarly, a signal transmitted from the remote control device 1 may contain identification information of the source remote control device 1, identification information of the destination remote control device 3, and the data length of the control signal. Furthermore, the header format of the IP packet is not limited to a UDP header. Furthermore, each functional block of the remote control device 1 and the control device 3 may operate on a virtual container or a virtual machine.
[0020] 2 is a block diagram showing an example of the configuration of the remote control device 1 and the control device 3. The remote control device 1 has a first communication unit 11, a control program execution unit 12, a first control order determination unit 13, a first input memory 14, and a first output memory 15. The control device 3 has a second communication unit 31, a second identifier assignment unit 32, a second input memory 33, and a second output memory 34.
[0021] First, we will explain an example of the configuration of the remote control device 1. The first communication unit 11 of the remote control device 1 asynchronously communicates with the second communication unit 31 of the control device 3. As described above, for example, UDP (User Datagram Protocol) is used for communication between the first communication unit 11 and the second communication unit 31.
[0022] The first communication unit 11 receives an IP packet via the wide area network 2. The first communication unit 11 checks whether the source port and destination port of the IP packet match the setting information stored in the first input memory 14 and whether the process amount data is missing or has been improperly rewritten using a checksum, and then stores the IP packet in the first input memory 14. More specifically, during this check, the first communication unit 11 determines whether the source port and destination port, which are individual information for each of the multiple control devices 3, match the setting information. This allows the remote control device 1 to change the control process content for each source port. In other words, the remote control device 1 executes independent control processes for each of the multiple control devices 3. The first input memory 14 stores, for example, programs, setting values, and information received via the first communication unit 11. The first output memory 15 stores, for example, information transmitted via the first communication unit 11.
[0023] The first control order determination unit 13 has a memory element. When new data is stored in the first input memory 14, the first control order determination unit 13 reads the source port and an identifier indicating the transmission order from the new data and determines whether the data is in a predetermined order. That is, the first control order determination unit 13 determines whether the data is stored for the first time from the source port that transmitted the new data. If the data is stored for the first time, the first control order determination unit 13 outputs a control notification including information about the storage area for the new data to the control program execution unit 12.
[0024] More specifically, when outputting a control notification, the first control order determination unit 13 stores the read identifier in a storage element for each source port. Next, when new data is stored in the first input memory 14, the first control order determination unit 13 reads an identifier indicating the transmission order from the new data, compares it with the identifier for each source port stored in the storage element, and if the values are different, determines that the data is being stored for the first time. On the other hand, if the values are the same, the first control order determination unit 13 determines that the data is already stored. Note that at startup, the first control order determination unit 13 stores, for example, null as an initial value in the storage element.
[0025] When a control notification from the first control order determination unit 13 is input, the control program execution unit 12 executes a process of reading the process variables stored in the first input memory 14, using the information on the storage area included in the control notification. Then, the control program execution unit 12 generates a control signal using the read process variables and stores the control signal in the first output memory 15.
[0026] Let us refer again to the first communication unit 11. When a control signal generated by the control program execution unit 12 is newly stored in the first output memory 15, the first communication unit 11 reads the control signal from the first output memory 15. Then, the first communication unit 11 generates an IP packet including the control signal and transmits it to the control device 3, which is the source of the process amount, via the wide area network 2. In other words, the first communication unit 11 generates an IP packet with the source port of the process amount as the destination port.
[0027] Next, a description will be given of an example configuration of the control device 3. When new process amount data is input from the sensor 4, the second communication unit 31 stores the process amount in the second input memory 33 and sends an input notification including information about the storage area where the process amount data is stored to the second identifier assignment unit 32.
[0028] When an input notification including information about a storage area is input, the second identifier assigning unit 32 stores the process amount data of the area and an identifier indicating the transmission order in the second output memory 34. The identifier indicating the transmission order of the process amount according to this embodiment is, for example, a serial number that is counted up for each input notification that is a notification signal, or a timestamp indicating the time when the input notification was received.
[0029] Referring again to the second communication unit 31, the second communication unit 31 generates a plurality of IP packets, each including data on the process amount stored in the second output memory 34 and an identifier indicating the transmission order, and transmits the IP packets to the remote control device 1 via the wide area network 2.
[0030] The second communication unit 31 also stores the received IP packet in the second output memory 34 after checking that the source port and destination port match the setting information and that the process amount data is not missing or has been improperly rewritten using a checksum. Then, the second communication unit 31 reads a control signal from the IP packet and outputs it to the actuator 5. The second input memory 33 stores, for example, a program, setting values, and information input from the sensor 4. The second output memory 34 stores, for example, information to be output to the sensor 4.
[0031] (Operation) Fig. 3 is a diagram showing an example of a processing sequence between the remote control device 1 and the control device 3. An example of a processing sequence according to the first embodiment will be described using Fig. 3 while referring to Fig. 2. As shown in Fig. 3, the processing sequence according to the first embodiment is an example of a sequence in which control processing for the actuator 5 is calculated in order without synchronizing processing between the remote control device 1 and the control device 3. In other words, a series of processing steps T1, T2, T3, and T4 are each performed independently and periodically.
[0032] (Process T1) Process T1 is a process of communication between the control device 3 and the sensors 4 / actuators 5, and a process of assigning identifiers necessary for order determination. The second communication unit 31 of the control device 3 stores the input information received from the sensors 4 in the second input memory 33 (t10). The second communication unit 31 then transmits an input notification indicating that an input has been received to the second identifier assigning unit 32 (t12). Upon receiving the input notification, the second identifier assigning unit 32 assigns an identifier necessary for order determination and a sender identifier that distinguishes the control device 3, and stores the identifiers in the second input memory 33 (t14). The identifier that distinguishes the control device is a number assigned to uniquely distinguish between multiple control devices 3.
[0033] (Process T2) Process T2 is a process for transmitting the contents of the second input memory 33 of the control device 3 to the remote control device 1. The second communication unit 31 of the control device 3 reads the input value and identifier from the second input memory 33 and transmits them to the remote control device 1 (t20). The first communication unit 11 of the remote control device 1, which has received the input value and identifier, stores the received values in the first input memory 14 (t22).
[0034] (Process T3) Process T3 is a process for executing the control program in order in the remote control device 1. The first control order determination unit 13 reads the identifiers from the first input memory 14 and performs a control order determination for each identifier that distinguishes the control device (t30). The first control order determination unit 13 makes a determination based on the stored identifiers and the read identifiers. If the identifiers are serial numbers, it determines whether the order is correct, and if the identifiers are timestamps, it determines whether the period is correct.
[0035] If the first control order determination unit 13 determines that the sequence or cycle is correct, it stores the read identifier as the last calculated identifier (t32) and transmits a control notification to the control program execution unit 12 to notify the execution of a control calculation (t34). Upon receiving the control notification, the control program execution unit 12 reads the input values from the first input memory 14, executes the control calculation, and stores the output values in the first output memory 15 (t35).
[0036] (Process T3') Process T3' is a process in which no control calculation is performed. If the stored identifier and the read identifier are the same, the first control order determination unit 13 determines that no control calculation is to be performed (t30) and does not send a control notification. If it is determined that no control calculation is to be performed, T3 becomes the process represented by T3'. That is, in process T3', the first control order determination unit 13 maintains the value of the identifier and does not send a control notification.
[0037] (Process T4) Process T4 is a process for transmitting the contents of the first output memory 15 of the remote control device 1 to the control device 3. When a new control signal is stored, the first communication unit 11 of the remote control device 1 reads the control signal (output value) from the first output memory 15 and transmits it to the control device 3 (t40). The second communication unit 31 of the control device 3, which has received the control signal (output value), stores the output value in the second output memory 34 (t42). After checking the sender information and the data, the second communication unit 31 reads the output value, which is the control signal, from the second output memory 34 and outputs it to the actuator 5.
[0038] In this way, by performing the processes T1, T2, T3, and T4 independently and periodically, the remote control device 1 can repeatedly perform the control calculations in the correct order even via the wide area network 2.
[0039] (Effects) As described above, according to this embodiment, the second identifier assigning unit 32 assigns an identifier necessary for order determination and an identifier that distinguishes the control device 3, and transmits a plurality of transmission signals including process quantities that are input values from the sensors 4 to the remote control device 1 via the wide area network 2. This allows the remote control device 1 to use only the process quantity that is first received using the identifier necessary for order determination for control. Therefore, even if different communication delays occur for each communication path on the wide area network 2, it is possible to continue executing control calculations in order while suppressing communication delays between the remote control device 1 and the control device 3.
[0040] Second Embodiment The remote control system 100 according to the second embodiment differs from the remote control system 100 according to the first embodiment in that the control device 3 also determines the transmission order. The differences from the remote control system 100 according to the first embodiment will be described below.
[0041] 4 is a block diagram showing an example of the configuration of the remote control device 1 and the control device 3 according to the second embodiment. The control device 3 according to the second embodiment differs from the control device 3 according to the first embodiment in that it further includes a second control order determination unit 35.
[0042] For example, when control signals are sent redundantly, if the control signals have a fixed value, such as a valve opening of 10 degrees, the effect on the control of the actuator 5 is limited even if the control device 3 receives multiple control signals. On the other hand, if the control signal increases the valve opening by a fixed value, such as increasing the valve opening by 2 degrees, processing the same multiple control signals by the control device 3 will result in erroneous control. Therefore, in this embodiment, the second control order determination unit 35 performs the order determination.
[0043] The second control order determination unit 35 has a memory element. When new data is stored in the second output memory 34, the second control order determination unit 35 stores the stored time in the memory element. The second control order determination unit 35 calculates the difference between the first time previously stored in the memory element and the second time currently stored, and when the difference exceeds a predetermined value, determines that the control signal is a new one.
[0044] The remote control device 1 transmits the same control signal multiple times via the wide area network 2. The time interval between receiving these same control signals and the time interval between receiving the next control signal are on a different order of time. For example, the remote control device 1 transmits the control signal calculated this time when the control period of the remote control device 1 has elapsed since the time when the previously calculated control signal was transmitted. Therefore, although there is variation due to delays in the wide area network 2, the difference between the first time stored last time and the second time stored this time is a value that reflects the control period. As a result, the second control order determination unit 35 calculates the difference between the first time stored last time and the second time stored this time in the memory element, and if the difference exceeds a predetermined value, it can determine that the control signal is a new control signal.
[0045] For example, the second control order determination unit 35 is notified in advance of the control period of the remote control device 1 from the remote control device 1. Alternatively, the second control order determination unit 35 may calculate the control period of the remote control device 1 from the reception time (timestamp) of the received signal of the remote control device 1.
[0046] (Operation) Fig. 5 is a diagram showing an example of a processing sequence according to the second embodiment. The example of the processing sequence according to the second embodiment will be described using Fig. 5 while referring to Fig. 4. As shown in Fig. 4, the processing sequence according to the first embodiment is a sequence in which control is calculated in order without synchronization. That is, the series of processes T1, T2, T3, T4, T5, and T5' differs in that an order determination is included in the output process to the actuator 5, and the processes are separated as T5 and T5'.
[0047] (Process T5) Process T5 is a process for outputting control signals in order in the control device 3. When saving new data in the second output memory 34, the second communication unit 31 of the control device 3 outputs an input notification including the storage area and reception time of the new data to the second control order determination unit 35 (t50).
[0048] The second control order determination unit 35 calculates the difference between the first time previously stored in the memory element and the second time currently stored, and if the difference exceeds a predetermined value, determines that the control signal is a new one (t52). If the second control order determination unit 35 determines that the control signal is a new one, it stores the second time as the first time in the memory element (t54). Then, the second control order determination unit 35 outputs an output reflection notification to the second communication unit 31 (t56). When the second communication unit 31 receives the output reflection notification, it outputs the control signal stored in the second output memory 34 to the actuator 5 (t58).
[0049] (Process T5') Process T5' is a process that does not output a control signal. The difference between the first time previously stored in the memory element and the second time currently stored is calculated, and if the difference does not exceed a predetermined value, it is determined that the control signal is the same (t52). The second control order determination unit 35 determines not to output a control signal and outputs an output non-reflection notice to the second communication unit 31 (t56a). When the output non-reflection notice is input, the second communication unit 31 waits without responding.
[0050] (Effects) As described above, according to this embodiment, the second control order determination unit 35 determines the order of control signals. As a result, when the remote control device 1 transmits multiple transmission signals including the same control signal to the control device 3 via the wide area network 2, it becomes possible to use only the first received control signal for control. Therefore, even when different communication delays occur in the communication path of the wide area network 2, it is possible to continue executing the control signals in order while suppressing communication delays between the remote control device 1 and the control device 3.
[0051] (Third embodiment) The remote control system 100 according to the third embodiment differs from the remote control system 100 according to the second embodiment in that an identifier required for order determination is also assigned to the control signal transmitted by the remote control device 1. The following describes the differences from the remote control system 100 according to the second embodiment.
[0052] (Configuration) Fig. 6 is a block diagram showing an example configuration of a remote control device 1 and a control device 3 according to the third embodiment. The remote control device 1 according to the third embodiment differs from the remote control device 1 according to the second embodiment in that it further includes a first identifier assigning unit 16. The first identifier assigning unit 16 of the remote control device 1 assigns an identifier indicating the transmission order to the output value of the first output memory 15. The identifier is, for example, a serial number that counts up for each output notification, or a timestamp indicating the time when the output notification was received.
[0053] The control device 3 according to the third embodiment differs from the control device 3 according to the second embodiment in that it further includes a second control order determination unit 35 a. The second control order determination unit 35 a according to the third embodiment is capable of determining the order using an identifier in addition to the processing functions of the second control order determination unit 35 according to the second embodiment.
[0054] That is, when new data is stored in the second output memory 34, the second control order determination unit 35a reads the source port and an identifier indicating the transmission order from the new data and determines whether the data is in the predetermined order. That is, the second control order determination unit 35a determines whether the new data is the first data stored from the source port that transmitted the new data. If the data is the first data stored, the second control order determination unit 35a outputs an output reflection notification including information about the storage area for the new data to the second communication unit 31. As a result, the second communication unit 31 outputs a control signal included in the new data to the actuator 5.
[0055] More specifically, when outputting an output reflection notification, the second control order determination unit 35a stores the read identifier in a storage element. Next, when new data is stored in the second output memory 34, the second control order determination unit 35a reads an identifier indicating the transmission order from the new data, compares it with the identifier stored in the storage element, and determines that the data is being stored for the first time if the values are different. On the other hand, when the values are the same, the second control order determination unit 35a determines that the data is already stored.
[0056] (Operation) Fig. 7 is a diagram showing an example of a processing sequence according to the second embodiment. An example of a processing sequence according to the third embodiment will be described using Fig. 7 while referring to Fig. 6. Processes equivalent to those in the first or second embodiment will be assigned the same numbers, and descriptions thereof may be omitted.
[0057] As shown in FIG. 6 , the processing sequence according to the first embodiment is a sequence in which control operations are performed in order without synchronization. That is, the series of processes T1, T2, T3, T4a, T5a, and T5a′ are each performed independently and periodically. The processing sequence T4a according to the second embodiment differs from the processing sequence T4 according to the first embodiment in that it adds a process for assigning an identifier required for determining the order to the control signal transmitted by the remote control device 1, and separates the output process to the actuator 5 as T5a and T5a′. Note that the series of processes T1, T2, and T3 are equivalent to the processing sequence according to the first embodiment, and therefore will not be described here.
[0058] (Process T4a) Process T4a is a process for assigning an identifier of transmission order to the contents of the first output memory 15 of the remote control device 1 and transmitting the same to the control device 3. When the control program execution unit 12 of the remote control device 1 executes a calculation to generate a control signal and stores the control signal in the first output memory 15, it outputs an output notification including the storage area of the control signal to the first identifier assignment unit 16 (t44).
[0059] When the output notification is input, the first identifier assigning unit 16 assigns an identifier indicating the transmission order to the control signal and stores it in the first output memory 15 (t46). The first communication unit 11 of the remote control device 1 reads the control signal and the identifier from the first output memory 15 and transmits them to the control device 3. For example, the first communication unit 11 generates multiple IP packets including the control signal stored in the first output memory 15 and the identifier indicating the transmission order, and outputs them to the control device 3 via the wide area network 2 (t40). The second communication unit 31 of the control device 3 stores the input information received from the remote control device 1 in the second output memory 34 (t42).
[0060] (Process T5a) Process T5a is a process for outputting control signals in order in the control device 3. When saving new data in the second output memory 34, the second communication unit 31 of the control device 3 outputs an input notification including a storage area for the new data to the second control order determination unit 35a (t50a).
[0061] The second control order determination unit 35a reads an identifier from the data newly input to the second output memory 34 and performs a control order determination (t52a). The second control order determination unit 35 stores the identifier used at the last determination and performs a determination based on the stored identifier and the read identifier. If the identifier is a serial number, it determines whether the data is in order, and if the identifier is a timestamp, it determines whether the data is in periodic order.
[0062] If the second control order determination unit 35a determines that the control is performed in order or according to the cycle, it updates the read identifier as the last determined identifier (t54a) and outputs an output reflection notification to the second communication unit 31 to notify that the control signal has been reflected (t56). Upon receiving the output reflection notification, the second communication unit 31 reads the control signal from the second output memory 34 and outputs it to the actuator 5 (t58).
[0063] (Process T5a') Process T5a' is a process that does not output a control signal. If the stored identifier and the read identifier are the same, the second control order determination unit 35a determines that a control signal will not be output and does not output an output reflection notification. If it is determined that a control signal will not be output, T5 becomes the process represented by T5'. That is, in process T5', the second control order determination unit 35a maintains the value of the identifier and does not output an output reflection notification.
[0064] (Effects) As described above, according to this embodiment, the first identifier assigning unit 16 assigns an identifier necessary for determining the order, and multiple transmission signals including control signals are transmitted to the control device 3 via the wide area network 2. This allows the control device 3 to use only the control signal that is first received using the identifier necessary for determining the order for control. Therefore, even if different communication delays occur in the communication paths of the wide area network 2, it is possible to continue executing control signals in order while suppressing communication delays between the remote control device 1 and the control device 3.
[0065] (Fourth embodiment) The remote control system 100 according to the fourth embodiment differs from the remote control system 100 according to the first embodiment in that it is possible to adjust the control period of processes T2 to T4 and execute the control process. The differences from the remote control system 100 according to the first embodiment will be described below.
[0066] (Configuration) Fig. 8 is a block diagram showing an example configuration of a remote control system 100 according to the fourth embodiment. As shown in Fig. 8, the control device 3 according to the fourth embodiment differs from the remote control system 100 according to the first embodiment in that it further includes a cycle time determination unit 36.
[0067] 3, the process T1 and the process T2 are performed in independent control cycles, which may result in a discrepancy between the number of process variables input from the sensor 4 and the number of process variables transmitted from the second communication unit 31.
[0068] The second identifier assigning unit 32 counts up the serial number of the identifier in the control cycle of the process T1. Meanwhile, in the process T2, the second communication unit 31 transmits the latest identifier stored in the second input memory 33 and the process amount corresponding to the latest identifier in the cycle of the process T2.
[0069] If the control periods of process T1 and process T2 are completely the same, the serial numbers of the identifiers assigned in process T1 are all used in order as the serial numbers of the identifiers used for transmission by the second communication unit 31. On the other hand, if the control period of process T2 is longer than the control period of process T1, missing numbers will occur in the serial numbers of the identifiers used for transmission by the second communication unit 31. In other words, a situation may arise in which the second communication unit 31 does not transmit some of the process amounts output by the sensor 4.
[0070] Therefore, the cycle time determination unit 36 determines the difference in control cycle between the process T1 and the process T2 using the serial number of the identifier assigned in the process T1 and the serial number of the identifier assigned in the process T2.
[0071] 9 is a flowchart showing an example of the determination process of the periodic time determination unit 36. Here, an example will be described in which the periodic time determination unit 36 stores the serial number of the transmitted identifier in the second input memory 33.
[0072] First, the periodic time determination unit 36 reads the identifier (first identifier) previously transmitted in process T2 and the identifier (second identifier) currently transmitted from the second input memory 33 (step S1). Next, the periodic time determination unit 36 determines whether the difference between the previously transmitted identifier and the currently transmitted identifier is different from the count-up value of the identifier assigned in process T1 (step S2). For example, if the count-up value of the identifier assigned in process T1 increases by one, such as 103, 104, 105, and 106, and the previously transmitted identifier in process T2 was 103 and the currently transmitted identifier is 106, the difference is 3, and it is determined that a discrepancy has occurred.
[0073] If the periodic time determination unit 36 determines that there is a discrepancy in the count-up (Yes in step S2), this means that the periodic time of process T2 is long, and the periodic time determination unit 36 shortens the periodic time of process T2 so as to shorten the discrepancy (step S3). On the other hand, if there is no discrepancy in the count-up (No in step S2), the periodic time determination unit 36 maintains the periodic time of process T2. Note that, in addition to the serial number, a timestamp indicating the time at which the input notification was received may also be used as an identifier required for order determination. The discrepancy may also be calculated from the time of the timestamp.
[0074] Next, the cycle time determination unit 36 stores the currently transmitted identifier (second identifier) as the previously transmitted identifier (first identifier) in the second input memory 33 (step S4), and ends the process.
[0075] The cycle time determination unit 36 can calculate the change in the cycle time for process T2 by comparing the number of identifiers assigned in process T1 during a predetermined past period with the number of identifiers assigned in process T2 during the same period. For example, if the number of identifiers assigned in process T1 is 10 and the number of identifiers assigned in process T2 during the same period is 5, then increasing the control cycle for process T2 by (5 / 10) = 0.5 times will result in an equivalent control cycle.
[0076] 10 is a diagram showing an example of a sequence of the remote control system 100 according to the fourth embodiment. Processes similar to those already described are given the same numbers and descriptions thereof may be omitted. Process T1 is equivalent to the sequence example according to the first embodiment.
[0077] (Process T2a) Process T2a is process T2 according to the first embodiment, plus a determination process by the cycle time determination unit 36. The cycle time determination unit 36 determines the difference between the control period of process T1 and the control period of process T2a, and if there is a discrepancy, shortens the control period of process T2a (t24). Then, upon completing adjustment of the control period of process T2a, the cycle time determination unit 36 outputs a transmission notification to the second communication unit 31 (t26). Then, processes t20 and t22 are executed in the same manner as process T2 according to the first embodiment.
[0078] (Process T3a) Process T3a is process T3 according to the first embodiment, plus a period determination process by the first control order determination unit 13. The first control order determination unit 13 determines the difference between the control period of process T2a and the control period of process T3a, and if there is a discrepancy, shortens the control period of process T3a (t38). Similar to the determination process by the period time determination unit 36, the first control order determination unit 13 shortens the control period of process T3a if there is a discrepancy between the count-up value of the identifier stored in the input memory and the count-up value of the identifier stored in the memory element when the control calculation was performed. Then, processes t30 to t36 are executed in the same manner as process T3 according to the first embodiment.
[0079] (Process T3a') Process T3a' is process T3' according to the first embodiment plus a determination process by the first control order determination unit 13. The sequence (t38) is the same as the sequence (t38) of process T3a. That is, the difference between the control period of process T2a and the control period of process T3a is determined, and if there is a difference, the control period of process T3a is shortened, and then a control order determination is performed (t30).
[0080] (Process T4b) Process T4b is process T4 according to the first embodiment, plus a period determination process by the first control order determination unit 13. The first control order determination unit 13 determines the difference between the control period of process T2a and the control period of process T4b, and if there is a discrepancy, shortens the control period of process T4b (t44). Similar to the determination process by the period time determination unit 36, the first control order determination unit 13 shortens the control period of process T4b if there is a discrepancy between the count-up value of the identifier stored in the input memory and the count-up value of the identifier stored in the memory element when the control calculation was performed. Then, upon completing the adjustment determination of the control period of process T4b, the first control order determination unit 13 outputs a transmission notification to the first communication unit 11 (t46). Then, processes t40 and t42 are executed, similar to process T3 according to the first embodiment.
[0081] (Effects) As described above, according to this embodiment, the remote control system 100 adjusts the control cycles of the processes T2a, T3a, T3a', and T4b' to execute the control processes. This makes it possible to repeatedly execute the control calculations in the correct order while reducing the process values that are not transmitted to the remote control device 1.
[0082] (Modification 2 of Fourth Embodiment) The remote control system 100 according to Modification 2 of the fourth embodiment differs from the remote control system 100 according to the fourth embodiment in that the control period of the process T2a can be changed to be longer. The differences from the remote control system 100 according to the fourth embodiment will be described below.
[0083] 11 is a flowchart showing an example of the determination process of the periodic time determination unit 36 according to the second modification of the fourth embodiment. The same processes as those in the determination process of the periodic time determination unit 36 according to the second modification of the fourth embodiment (see FIG. 9) are denoted by the same numbers S1, S2, and S3, and the description thereof may be omitted.
[0084] If the cycle time determination unit 36 determines that there is no discrepancy in the count-up (No in step S2), this means that the cycle time of process T2 is long, and the cycle time of process T2 is shortened to shorten the discrepancy (step S3). On the other hand, if there is no discrepancy in the count-up (No in step S2), the cycle time determination unit 36 performs an identifier equality comparison to determine whether the serial number assigned in process T1 and the serial number assigned in process T2a are the same (step S5). If the serial numbers are the same (Yes in step S5), this means that the cycle time of T2a is short, and the cycle time of T2a is lengthened (step S6).
[0085] Next, the cycle time determination unit 36 stores the currently transmitted identifier in the second input memory 33 as the previously transmitted identifier (step S4), and ends the process.
[0086] 12 is a diagram showing an example of a sequence of the remote control system 100 according to the second modification of the fourth embodiment. Processes similar to those already described are given the same numbers, and their explanations may be omitted. Process T1 is the same as the sequence example according to the first embodiment.
[0087] (Process T2b) Process T2b is a process that adds a determination process by the cycle time determination unit 36 according to Modification 2 of the fourth embodiment. The cycle time determination unit 36 determines the difference between the control period of process T1 and the control period of process T2a. If a difference is found, the cycle time determination unit 36 shortens the control period of process T2a. If no difference is found in the count-up, the cycle time determination unit 36 extends the control period of process T2a (t24a). After completing the adjustment of the control period of process T2b, the cycle time determination unit 36 outputs a transmission notification including information about the control period of process T2b to the second communication unit 31 (t26). The second communication unit 31 then transmits the control period of process T2b and then executes processes t20 and t22.
[0088] (Process T3b) Process T3b is a process that adds a period determination process using the control period of process T2b. The first control order determination unit 13 determines the difference between the control period of process T2b and the control period of process T3b, and if the control period of process T3b differs from the control period of process T2b, changes the control period of process T3b and records it in the first output memory 15 (t38a). Then, processes t30 to t36 are executed in the same way as process T3 according to the first embodiment.
[0089] (Process T3b') Process T3b' is a process that adds a period determination process using the control period of process T2b. The sequence (t38a) is the same as the sequence (t38a) of process T3b. That is, if the control period is different, the control period of process T3b is changed and then the control sequence determination is performed (t30).
[0090] (Process T4c) Process T4c is a process that adds a period determination process using the control period of process T2b. The first control order determination unit 13 determines the difference between the control period of process T2a and the control period of process T4c, and if they differ, changes the control period of process T4c (t44a). Then, after completing the adjustment determination of the control period of process T4b, the first control order determination unit 13 records the control period of process T4c in the first output memory 15 and outputs a transmission notification to the first communication unit 11 (t46). Then, the first communication unit 11 first notifies the control period of process T2b and executes processes t40 and t42 in the same manner as process T3 according to the first embodiment.
[0091] (Effects) As described above, according to this embodiment, the remote control system 100 executes control processing by adjusting the control periods of processing T2a, processing T3a, processing T3a', and processing T4b' so that they are the same. This makes it possible to repeatedly execute control calculations in order while reducing process values that are not transmitted to the remote control device 1. Furthermore, the cycle times of the communication processing between the remote control device 1 and the control device 3 and the calculation processing in the remote control device 1 can be adjusted to appropriate cycle times without becoming too short.
[0092] Although several embodiments have been described above, these embodiments are presented only as examples and are not intended to limit the scope of the invention. The novel devices, methods, and programs described in this specification can be embodied in various other forms. Furthermore, various omissions, substitutions, and modifications can be made to the forms of the devices, methods, and programs described in this specification without departing from the spirit of the invention.
[0093] 1: Remote control device, 2: Wide area network, 3: Control device, 4: Sensor, 5: Actuator, 11: First communication unit, 12: Control program execution unit, 13: First control order determination unit, 31: Second communication unit, 32: Second identifier assignment unit, 35, 35a: Second control order determination unit, 36: Periodic time determination unit, 100: Remote control system.
Claims
1. A remote control device that processes multiple identical signals transmitted via a network having multiple transmission paths, comprising: a first communication unit that asynchronously receives the multiple signals associated with an identifier; a first control order determination unit that determines whether the order of input values included in the signals is a predetermined order based on the identifier; and a control program execution unit that executes a control program for a control device using the input values when the first control order determination unit determines that the order is the predetermined order.
2. The remote control device according to claim 1, wherein the signal is also associated with a transmission source identifier indicating a transmission source, and the first control order determination unit determines whether or not the predetermined order is met based also on the transmission source identifier.
3. The remote control device according to claim 2, wherein the first control order determination unit changes the control period of at least one of the first control order determination unit and the control program execution unit based on the order in which the identifiers are received.
4. A remote control device as described in claim 1, wherein the first control order determination unit stores a first identifier among the identifiers associated with the signal when the control program execution unit executes an operation, and the first control order determination unit determines whether the predetermined order is met by comparing the first identifier with a second identifier associated with the signal currently received by the first communication unit.
5. A remote control device as described in claim 4, wherein the first control order determination unit changes the control period of at least one of the first control order determination unit and the control program execution unit based on the difference between the first identifier and the second identifier.
6. A remote control device as described in claim 2, wherein the first control order determination unit changes the control period of at least one of the first control order determination unit and the control program execution unit based on the control period of the sender transmitted via the network.
7. A control device comprising: a second identifier assignment unit that assigns an identifier required for order determination to an input value from a sensor that outputs a value indicating the state of a control device; and a second communication unit that asynchronously transmits multiple signals, each of which has the same identifier associated with the input value, via a network having multiple transmission paths.
8. The control device according to claim 7, wherein the second identifier assigning unit also associates a source identifier indicating a source of transmission.
9. The control device described in claim 7, further comprising a periodic time determination unit that adjusts the control period in which the second identifier assignment unit assigns the identifier and the control period in which the second communication unit transmits the signal, based on the order in which the second identifier assignment unit assigns the identifiers and the order in which the identifiers associated with the signals transmitted by the second communication unit are assigned.
10. The control device according to claim 9, wherein the cycle time determination unit shortens or extends the control cycle during which the second communication unit transmits the signal.
11. A remote control system that executes control processing via a network having multiple transmission paths, comprising: a control device; and a remote control device, wherein the control device has: a second identifier assignment unit that assigns an identifier required for order determination to an input value from a sensor that outputs a value indicating a state of a control device; and a second communication unit that asynchronously transmits multiple signals, each of which has the same identifier associated with the input values, via the network, and the remote control device has: a first communication unit that asynchronously receives the multiple signals; a first control order determination unit that determines whether the order of the input values included in the signals is a predetermined order based on the identifier; and a control program execution unit that executes a control program for the control device using the input values when the first control order determination unit determines that the order is the predetermined order.
12. The remote control system described in claim 11, wherein the first communication unit asynchronously transmits multiple identical control signals generated by executing a control program of the control device using the input values via the network, and the control device outputs the first control signal received among the multiple identical control signals to the control device.
13. A control method for processing the same multiple signals transmitted via a network having multiple transmission paths, comprising: a communication step of asynchronously receiving the multiple signals associated with identifiers; a control order determination step of determining, based on the identifiers, whether the order of input values contained in the signals is a predetermined order; and a control program execution step of executing a control program for a control device using the input values when it is determined that the order is the predetermined order.
14. A control method comprising: an identifier assignment step of assigning an identifier required for order determination to an input value from a sensor that outputs a value indicating the state of a control device; and a communication step of asynchronously transmitting multiple signals, each having the same identifier associated with the input value, via a network having multiple transmission paths.
Citation Information
Patent Citations
Asynchronous network type control system, process management method in this system, and recording medium recording process management program
JP3269792B2
Remote monitoring system and state monitoring method
JP2007133686A
Control system and control program
JP2014178852A
Communication network and wide-area monitoring and control system
JP2022124911A