Remote control device, control device, remote control system, and control method
Patent Information
- Application Number
- JP2023121007
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-25
- Publication Date
- 2025-12-19
AI Technical Summary
Existing remote control systems face instability due to communication delays in wide area networks, which can disrupt the orderly execution of control calculations.
A remote control device and system that processes multiple signals through asynchronous communication using identifiers to ensure order, with components like a communication unit, control order determining unit, and control program execution unit, allowing for stable control over networks by using UDP and redundant IP packets.
Ensures stable control operations despite varying communication delays by using identifiers to maintain order and redundancy, ensuring control signals are executed correctly and in sequence.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] FIELD An embodiment of the present invention relates to a remote control device, a control device, a remote control system, and a control method. [Background technology]
[0002] In a general control system, all components are installed on-site, and the control programs created by users are also stored in devices on-site. In recent years, with the demand for remote control and remote management, it is expected that a remote control device will execute the control program via a wide area network. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 3269792 Summary of the Invention [Problem to be solved by the invention]
[0004] However, depending on the content of control, it may be necessary to adopt asynchronous communication from the viewpoint of real-time performance. In such a case, there is a possibility that the control calculations may not be continued in order due to communication delays in the wide area network.
[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. [Means for solving the problem]
[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 identifier. The control program execution unit executes a control program for a control device that uses the input values when the control order determination unit determines that the order is the predetermined order. Effect of the Invention
[0007] Control via the network can be performed more stably. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a remote control system according to a first embodiment. [Diagram 2] FIG. 2 is a block diagram showing an example of the configuration of a remote control device and a control device. [Diagram 3] FIG. 4 is a diagram showing an example of a processing sequence between the remote control device and the control device. [Figure 4] FIG. 11 is a block diagram showing an example of the configuration of a remote control device and a control device according to a second embodiment. [Diagram 5] FIG. 11 is a diagram showing an example of a processing sequence according to the second embodiment. [Figure 6] FIG. 13 is a block diagram showing an example of the configuration of a remote control device and a control device according to a third embodiment. [Figure 7] FIG. 11 is a diagram showing an example of a processing sequence according to the second embodiment. [Figure 8] FIG. 13 is a block diagram showing an example of the configuration of a remote control system according to a fourth embodiment. [Figure 9] 11 is a flowchart showing an example of a determination process of a cycle time determination unit. [Figure 10] 13 is a sequence example of the remote control system according to the fourth embodiment. [Figure 11] 13 is a flowchart showing an example of a determination process of a cycle time determination unit according to a second modification of the fourth embodiment. [Figure 12] FIG. 23 is a diagram showing an example of a sequence of a remote control system according to a second modification of the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, a remote control device, a control device, a remote control system, and a control method according to an embodiment of the present invention will be described in detail with reference to the drawings. Note that the embodiment shown below is an example of an embodiment of the present invention, and the present invention is not limited to these embodiments. In addition, in the drawings referred to in this embodiment, the same parts or parts having similar functions are given the same or similar symbols, and repeated explanations may be omitted. In addition, the dimensional ratios of the drawings may differ from the actual ratios for the convenience of explanation, and some of the configurations may be omitted from the drawings.
[0010] (First embodiment) (composition) 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. The 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 (Censral Processing Unit), a memory (a first input memory 14 and a first output memory 15 described later), and the like. The CPU of the remote control device 1 executes various control processes by, for example, executing a program stored in the memory. The remote control device 1 generates a control signal (output information) for controlling the actuator 5 based on a process amount (input information) of the sensor 4 received from the control device 3 via the wide area network 2. Then, the remote control device 1 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 a plurality of actuators 5 via the wide area network 2. Note that, 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 addition, in this embodiment, a process amount is used as an example of input information, but is not limited thereto. Similarly, a control signal is used as an example of output information, but is not limited thereto.
[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 LAN (Local Area Network), a wide area wired communication line such as a WAN (Wide Area Network), or a wireless communication line of 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, a memory (a second input memory 33 and a second output memory 34 described later), and the like. The CPU of the control device 3 executes various control processes, for example, by executing a program stored in the memory. The control device 3 transmits input information of the sensor 4, for example, a process amount, 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, for example, a control signal, via the wide area network 2, and outputs it to the actuator 5.
[0014] The sensor 4 outputs various process quantities required for controlling the actuator 5 to the control device 3. The actuator 5 is a control device that drives according to a control signal of the remote control device 1 input from the control device 3. Note that the current control device in this embodiment is the actuator 5, but 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 a device that is controlled by a control signal that is output information according to a process quantity that is input information of the sensor 4. In addition, the number of devices of the control device 3 is not limited to two, and may be one or three or more. In addition, the multiple control devices 3, sensors 4, and actuators 5 may be arranged 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 unified.
[0015] Referring again to the wide area network 2, in the communication between the remote control device 1 and the control device 3 according to this embodiment, emphasis is placed on real-time performance in order to control field devices. 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 source port as identification information of the remote control device 1, the destination port as identification information of the control device 3, the data length of the control signal, a checksum, etc. The source port and destination port are used to determine the control device 3 side that uses the control signal. The data length is used to know the length of the data of the control signal that was sent, and the checksum is used to check that the data of the delivered control signal is not missing or has been illegally rewritten.
[0017] When a process amount is transmitted from the control device 3, for example, the UDP header of the IP packet is provided with identification information of the source control device 3 as the source port, identification information of the destination remote control device 1 as the destination port, the data length of the process amount, a checksum, an identifier indicating the order in which the process amount was transmitted, and the like.
[0018] As described above, the wide area network 2 has a plurality of communication paths between the remote control device 1 and the control device 3, and there is a possibility that a different communication delay occurs for each communication path. For this reason, as described later, the control device 3 side assigns an identifier indicating the same transmission order to the same process amount and transmits a plurality of IP packets asynchronously. That is, the IP packets according to this embodiment are transmitted redundantly. These redundantly generated plurality of IP packets are more likely to be transmitted between the remote control device 1 and the control device 3 via different communication paths. For this reason, even if the communication delay of some communication paths becomes large, the other communication paths are more likely to transmit in a shorter time. As a result, the influence of the communication delay in the wide area network 2 is suppressed in terms of probability as the number of packets transmitted redundantly increases.
[0019] In addition, the communication according to the present embodiment uses UDP (User Datagram Protocol), but is not limited thereto. For example, it is possible to use a communication protocol that allows asynchronous communication. The format of the transmission data is not limited to IP packets. For example, it is sufficient if it is a signal that includes information required for control. For example, the transmission signal from the control device 3 side may include identification information of the control device 3 as the source, identification information of the remote control device 1 as the destination, the data length of the process amount, and an identifier indicating the transmission order. Similarly, for example, the transmission signal from the remote control device 1 side may include identification information of the remote control device 1 as the source, identification information of the remote control device 3 as the destination, and the data length of the control signal. In addition, 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, a configuration example of the remote control device 1 will be described. The first communication unit 11 of the remote control device 1 asynchronously communicates with the second communication unit 31 of the control device 3. For example, UDP (User Datagram Protocol) is used for communication between the first communication unit 11 and the second communication unit 31 as described above.
[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 illegally rewritten by 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 makes it possible for the remote control device 1 to change the control process content for each source port. That is, the remote control device 1 executes an independent control process for each of the multiple control devices 3. The first input memory 14 stores, for example, a program, a setting value, 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 storage element. When new data is stored in the first input memory 14, the first control order determination unit 13 reads an identifier indicating the source port and the transmission order from the new data and determines whether or not the data is in a predetermined order. That is, the first control order determination unit 13 determines whether or not the new data is data stored for the first time from the source port that transmitted the new data. If the new data is data stored for the first time, the first control order determination unit 13 outputs a control notification including information about the storage area of 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 determines that the data is stored for the first time if the values are different. On the other hand, if the values are the same, the first control order determination unit 13 determines that the data is already stored. 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 amount 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 amount, and stores it in the first output memory 15.
[0026] Let us refer to the first communication unit 11 again. 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 executes reading of 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 transmission source of the process amount, via the wide area network 2. That is, the first communication unit 11 generates an IP packet with the transmission source port of the process amount as the destination port.
[0027] Next, a configuration example of the control device 3 will be described. 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 notifies the second identifier assignment unit 32 of an input notification including information on the memory area where the process amount data is stored.
[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 the present 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 of 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 checks that the source port and destination port match the setting information and that the process amount data is not missing or has been illegally rewritten by a checksum, and then stores the received IP packet in the second output memory 34. 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, a setting value, and information input from the sensor 4. The second output memory 34 stores, for example, information to be output to the sensor 4.
[0031] (action) Fig. 3 is a diagram showing an example of a processing sequence between the remote control device 1 and the control device 3. The processing sequence example 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. That is, a series of processing 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 sensor 4 / actuator 5, and a process of assigning an identifier required for sequence determination. The second communication unit 31 of the control device 3 stores the input information received from the sensor 4 in the second input memory 33 (t10). After that, the second communication unit 31 transmits an input notification indicating that an input has been received to the second identifier assignment unit 32 (t12). The second identifier assignment unit 32, which has received the input notification, assigns an identifier required for sequence determination and a sender identifier for distinguishing the control device 3, and stores the identifier in the second input memory 33 (t14). The identifier for distinguishing 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 the 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 receives the input value and the 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 sequence in the remote control device 1. The first control sequence determination unit 13 reads the identifiers from the first input memory 14, and executes a control sequence determination for each identifier that distinguishes the control device (t30). The first control sequence determination unit 13 performs a determination based on the stored identifier and the read identifier. If it is a serial number, it determines whether it is in sequence, and if it is a timestamp, it determines whether it is in periodicity.
[0035] If the first control order determination unit 13 determines that the sequence or period 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 saves the output values in the first output memory 15 (t35).
[0036] (Treatment T3') Process T3' is a process in which a control calculation is not performed. If the stored identifier and the read identifier are the same, the first control order determination unit 13 determines that a control calculation is not to be performed (t30) and does not send a control notification. If it is determined that a control calculation is not to be performed, T3 becomes a 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). In addition, the second communication unit 31 checks the information of the sender and the data, and then 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 via the wide area network 2 can repeatedly perform the control calculations in the correct order.
[0039] (effect) As described above, according to this embodiment, the second identifier assigning unit 32 assigns an identifier necessary for sequence determination and an identifier for distinguishing the control device 3, and transmits a plurality of transmission signals including process amounts, which are input values from the sensor 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 amount first received by the identifier necessary for sequence determination for control. Therefore, even if a communication delay that differs for each communication path of the wide area network 2 occurs, the communication delay between the remote control device 1 and the control device 3 can be suppressed and the control calculation can be continuously executed in order.
[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 following describes the differences from the remote control system 100 according to the first embodiment.
[0041] (composition) 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 transmitted redundantly, if the control signal is 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, in the case of control in which the valve opening is increased by a fixed value, such as an increase in the valve opening of 2 degrees, if the control device 3 processes the same multiple control signals, erroneous control will result. 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 it is a new control signal.
[0044] The remote control device 1 transmits the same control signal multiple times via the wide area network 2. The reception intervals of these same control signals and the reception interval of the next control signal are of different order of time intervals. 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 control signal calculated last time was transmitted. Therefore, although there is variation due to the delay of 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 in the storage element and the second time stored this time, and when the difference exceeds a predetermined value, it can determine that it 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 reception signal of the remote control device 1.
[0046] (action) 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 processing. That is, the series of processing T1, T2, T3, T4, T5, and T5' differs in that order determination is inserted into the output processing to the actuator 5, and the processing is 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 storage element and the second time currently stored, and if the difference exceeds a predetermined value, determines that it is a new control signal (t52). If the second control order determination unit 35 determines that it is a new control signal, it stores the second time as the first time in the storage element (t54). Then, the second control order determination unit 35 outputs an output reflection notification to the second communication unit 31 (t56). When the output reflection notification is input, the second communication unit 31 outputs the control signal stored in the second output memory 34 to the actuator 5 (t58).
[0049] (Processing T5') Process T5' is a process that does not output a control signal. The difference between the first time previously stored in the storage 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 that a control signal should not be output, and outputs an output non-reflection notification to the second communication unit 31 (t56a). When the output non-reflection notification is input, the second communication unit 31 waits without responding.
[0050] (effect) As described above, according to this embodiment, the second control order determination unit 35 determines the order of the control signals. This makes it possible for the remote control device 1 to use only the first received control signal for control when transmitting multiple transmission signals including the same control signal to the control device 3 via the wide area network 2. 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 the correct 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 a 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] (composition) 6 is a block diagram showing an example of the configuration of the remote control device 1 and the 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 is counted 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 35a. The second control order determination unit 35a according to the third embodiment is capable of determining an order using an identifier, in addition to the processing function 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 or not the data is in a predetermined order. That is, the second control order determination unit 35a determines whether or not the new data is data stored for the first time from the source port that transmitted the new data. If the new data is data stored for the first time, 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 the 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 stored for the first time if the values are different. On the other hand, the second control order determination unit 35a determines that the data is already stored if the values are the same.
[0056] (action) Fig. 7 is a diagram showing a processing sequence example according to the second embodiment. A processing sequence example according to the third embodiment will be described using Fig. 7 while referring to Fig. 6. The same processes as those in the first or second embodiment are denoted by 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 is calculated in order without synchronization. That is, a 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 a process of adding an identifier required for sequence determination to the control signal transmitted by the remote control device 1 side is added, and the output process to the actuator 5 is separated 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 a description thereof will be omitted.
[0058] (Process T4a) Process T4a is a process for assigning a transmission order identifier 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 generation calculation of 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 out 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 a plurality of 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) The 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 executes 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 it is a serial number, it determines whether the order is correct, and if it is a timestamp, it determines whether the period is correct.
[0062] If the second control order determination unit 35a determines that the control is in order or in accordance with the period, 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 the second communication unit 31 of the reflection of the control signal (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] (effect) As described above, according to this embodiment, the first identifier assigning unit 16 assigns an identifier required for sequence determination, and transmits a plurality of transmission signals including a control signal 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 with the identifier required for sequence determination for control. Therefore, even if different communication delays occur in the communication path of the wide area network 2, it is possible to continue executing the control signals in the correct sequence 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 the control cycle of the processes T2 to T4 can be adjusted to execute the control process. The differences from the remote control system 100 according to the first embodiment will be described below.
[0066] (composition) Fig. 8 is a block diagram showing a configuration example 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 again, the process T1 and the process T2 are performed in independent control cycles. Therefore, a discrepancy may occur between the number of process amounts input from the sensor 4 and the number of process amounts 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 period of the process T1 and the control period of the process T2 are completely the same, the serial numbers of the identifiers assigned in the 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 the process T2 is longer than the control period of the process T1, there will be missing numbers in the serial numbers of the identifiers used for transmission by the second communication unit 31. That is, a state may occur in which the second communication unit 31 does not transmit part of the process amount 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] (action) 9 is a flowchart showing an example of the determination process of the cycle time determination unit 36. Here, an example in which the cycle time determination unit 36 stores the serial number of the transmitted identifier in the second input memory 33 will be described.
[0072] First, the periodic time determination unit 36 reads out 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 1 each time, such as 103, 104, 105, and 106, and the identifier previously transmitted in process T2 was 103 and the identifier currently transmitted is 106, then it is determined that the difference is 3 and a difference is generated.
[0073] When 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 shortens the periodic time of process T2 so as to shorten the discrepancy (step S3). On the other hand, when 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 be used as an identifier required for sequence determination. The discrepancy may be calculated from the time of the timestamp.
[0074] Next, the cycle time determination unit 36 stores the currently transmitted identifier (second identifier) in the second input memory 33 as the previously transmitted identifier (first identifier) (step S4), and ends the process.
[0075] The cycle time determination unit 36 can calculate the change in the cycle time of process T2 by comparing the number of identifiers assigned in process T1 in a predetermined past period with the number of identifiers assigned in process T2 in 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 in the same period is 5, then the control cycle of process T2 can be multiplied by (5 / 10) = 0.5 to obtain an equivalent control cycle.
[0076] 10 is a diagram showing a sequence example of the remote control system 100 according to the fourth embodiment. Processes similar to those already described are given the same numbers and may not be described. Process T1 is equivalent to the sequence example according to the first embodiment.
[0077] (Process T2a) The process T2a is a process in which a determination process of the cycle time determination unit 36 is added to the process T2 according to the first embodiment. The cycle time determination unit 36 determines the difference between the control period of the process T1 and the control period of the process T2a, and shortens the control period of the process T2a if there is a difference (t24). Then, when the adjustment of the control period of the process T2a is completed, 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 the process T2 according to the first embodiment.
[0078] (Process T3a) The process T3a is a process in which a period determination process of the first control order determination unit 13 is added to the process T3 according to the first embodiment. The first control order determination unit 13 determines the difference between the control period of the process T2a and the control period of the process T3a, and if there is a discrepancy, shortens the control period of the process T3a (t38). As in the determination process of the period time determination unit 36, the first control order determination unit 13 shortens the control period of the 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 is performed. Then, processes t30 to t36 are executed in the same manner as the process T3 according to the first embodiment.
[0079] (Processing T3a') Process T3a' is a process in which a judgment process of the first control order judgment unit 13 is added to process T3' according to the first embodiment. The sequence (t38) is similar to 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 judged, and if there is a difference, the control period of process T3a is shortened and then a control order judgment is performed (t30).
[0080] (Process T4b) The process T4b is a process in which the period determination process of the first control order determination unit 13 is added to the process T4 according to the first embodiment. The first control order determination unit 13 determines the difference between the control period of the process T2a and the control period of the process T4b, and if there is a discrepancy, shortens the control period of the process T4b (t44). As in the determination process of the period time determination unit 36, the first control order determination unit 13 shortens the control period of the 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 storage element when the control calculation is performed. Then, when the adjustment determination of the control period of the process T4b is completed, the first control order determination unit 13 outputs a transmission notification to the first communication unit 11 (t46). Then, the process t40 and t42 are executed in the same manner as the process T3 according to the first embodiment.
[0081] (effect) 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 the fourth embodiment) The remote control system 100 according to the second modification 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] (action) 11 is a flowchart showing an example of the determination process of the periodic time determination unit 36 according to the modification 2 of the fourth embodiment. The same processes as those in the determination process (see FIG. 9) of the periodic time determination unit 36 according to the modification 2 of the fourth embodiment are denoted by the same numbers S1, S2, and S3, and the description thereof may be omitted.
[0084] When 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 the process T2 is long, and the cycle time of the process T2 is shortened so as to shorten the discrepancy (step S3). On the other hand, when 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 given in the process T1 is the same as the serial number given in the process T2a (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 a sequence example of the remote control system 100 according to the second modification of the fourth embodiment. The same processes as those already described are given the same numbers and the description thereof may be omitted. Process T1 is equivalent to the sequence example according to the first embodiment.
[0087] (Process T2b) The process T2b is a process to which a determination process of the cycle time determination unit 36 according to the second modification of the fourth embodiment is added. The cycle time determination unit 36 determines the difference between the control period of the process T1 and the control period of the process T2a, and if there is a discrepancy, shortens the control period of the process T2a, and if no discrepancy is confirmed in the count-up, increases the control period of the process T2a (t24a). Then, when the adjustment of the control period of the process T2b is completed, the cycle time determination unit 36 outputs a transmission notification including information on the control period of the process T2b to the second communication unit 31 (t26). Then, the second communication unit 31 transmits the control period of the process T2b, and then executes 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] (Processing 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, when 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) The process T4c is a process that adds a period determination process using the control period of the process T2b. The first control order determination unit 13 determines the difference between the control period of the process T2a and the control period of the process T4c, and if they are different, changes the control period of the process T4c (t44a). Then, when the first control order determination unit 13 finishes the adjustment determination of the control period of the process T4b, it records the control period of the 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 the process T2b, and executes processes t40 and t42 in the same manner as the process T3 according to the first embodiment.
[0091] (effect) As described above, according to this embodiment, the remote control system 100 adjusts the control periods of the processes T2a, T3a, T3a', and T4b' to be the same, and executes 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. In addition, the cycle time of the communication process between the remote control device 1 and the control device 3 and the calculation process in the remote control device 1 can be adjusted to an appropriate cycle time 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 device, method, and program described in this specification can be embodied in various other forms. In addition, various omissions, substitutions, and modifications can be made to the forms of the device, method, and program described in this specification without departing from the gist of the invention. [Explanation of symbols]
[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. 1. A remote control device that processes identical signals transmitted over a network having multiple transmission paths, comprising: a first communication unit that asynchronously receives the plurality of signals associated with identifiers; a first control order determination unit that determines whether the order of input values included in the signal is a predetermined order based on the identifier; a control program execution unit that executes a control program for a control device using the input value when the first control order determination unit determines that the control order is the predetermined order; Equipped with A source identifier indicating the source of the signal is also associated with the signal, the first control order determination unit determines whether the predetermined order is met based on the transmission source identifier; The first control order determination unit changes a control period of at least one of the first control order determination unit and the control program execution unit based on the order of receiving the identifiers.
2. 1. A remote control device that processes identical signals transmitted over a network having multiple transmission paths, comprising: a first communication unit that asynchronously receives the plurality of signals associated with identifiers; a first control order determination unit that determines whether the order of input values included in the signal is a predetermined order based on the identifier; a control program execution unit that executes a control program for a control device using the input value when the first control order determination unit determines that the control order is the predetermined order; Equipped with the first control order determination unit stores a first identifier, among the identifiers associated with the signal, used when the control program execution unit executed a calculation; 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; The first control order determination unit changes a control period of at least one of the first control order determination unit and the control program execution unit based on a difference between the first identifier and the second identifier.
3. 2. The remote control device according to claim 1, 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.
4. a second identifier assigning unit that assigns an identifier required for determining the order to an input value from a sensor that outputs a value indicating the state of the control device; a second communication unit that asynchronously transmits a plurality of signals, each of which has the same identifier associated with the input value, via a network having a plurality of transmission paths; Equipped with based on an assignment order in which the second identifier assignment unit assigns the identifiers and an assignment order of the identifiers associated with the signals transmitted by the second communication unit, The control device further includes a cycle time determination unit that adjusts a control cycle in which the second identifier assignment unit assigns the identifier and a control cycle in which the second communication unit transmits the signal.
5. The control device according to claim 4 , wherein the second identifier assigning unit also associates a source identifier indicating a source of transmission.
6. The control device according to claim 4 , wherein the cycle time determination unit shortens or extends a control cycle in which the second communication unit transmits the signal.