Remote control device, control device, remote control system, and control method
By employing asynchronous communication and identifier sequence judgment in the remote control system, the problem of control signals not being executed in sequence due to wide area network communication delays is solved, resulting in a more stable control effect.
Patent Information
- Application Number
- CN202480048410.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-25
- Filing Date
- 2024-04-17
- Publication Date
- 2026-02-24
AI Technical Summary
In remote control systems, communication delays in wide area networks can cause control signals to fail to execute sequentially, affecting the stability and real-time performance of the control.
By employing asynchronous communication between the remote control device and the control device, and using identifiers to sequentially determine and process signals, the execution of the control program is ensured to proceed in the prescribed order.
It enables more stable control in a wide area network environment, reduces the impact of communication delay on the control process, and ensures the sequential execution of control signals.
Smart Images

Figure CN121569249A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to a remote control device, a control device, a remote control system, and a control method. Background Technology
[0002] In typical control systems, all components are located on-site, and user-created control programs are stored on on-site equipment. In recent years, with the expectation of remote control and management, it has been envisioned that remote control devices would execute control programs via a wide area network.
[0003] Existing technical documents: Patent documents: Patent Document 1: Japanese Patent No. 3269792 Summary of the Invention
[0004] The problem that the invention aims to solve However, depending on the control requirements and from a real-time perspective, asynchronous communication should be considered. In this case, due to communication delays on the wide area network, it may be impossible to continue control operations sequentially.
[0005] To address this issue, the objective of this embodiment is to provide a remote control device, control device, remote control system, and control method that can perform more stable control via a network.
[0006] Methods for solving problems According to this embodiment, a remote control device is provided that processes multiple identical signals transmitted via a network having multiple transmission paths. It includes a communication unit, a control sequence determination unit, and a control program execution unit. The communication unit asynchronously receives multiple signals associated with identifiers. The control sequence determination unit determines, based on the identifiers, whether the order of input values contained in the signals is a predetermined order. If the control sequence determination unit determines that the order is predetermined, the control program execution unit executes a control program for a control device using the input values.
[0007] Invention Effects It enables more stable control via the network. Attached Figure Description
[0008] Figure 1 This is a diagram illustrating an example of the configuration of the remote control system according to the first embodiment.
[0009] Figure 2 This is a block diagram illustrating an example of the configuration of a remote control device and a control device.
[0010] Figure 3 A diagram illustrating a remote control device and an example of a processing sequence of the control device.
[0011] Figure 4 This is a block diagram illustrating an example of the configuration of the remote control device and the control device according to the second embodiment.
[0012] Figure 5 This is a diagram illustrating an example of the processing sequence in the second embodiment.
[0013] Figure 6 This is a block diagram illustrating an example of the configuration of the remote control device and the control device according to the third embodiment.
[0014] Figure 7 This is a diagram illustrating an example of the processing sequence in the second embodiment.
[0015] Figure 8 This is a block diagram illustrating a configuration example of the remote control system according to the fourth embodiment.
[0016] Figure 9 This is a flowchart illustrating an example of the judgment and processing of the periodic time determination unit.
[0017] Figure 10 This is a sequence example of a remote control system according to the fourth embodiment.
[0018] Figure 11 This is a flowchart illustrating an example of the judgment processing of the cycle time determination unit in Modification 2 of the fourth embodiment.
[0019] Figure 12 This is a diagram illustrating a sequence example of a remote control system according to a variation of the fourth embodiment, Example 2. Detailed Implementation
[0020] Hereinafter, a remote control device, control device, remote control system, and control method according to embodiments of the present invention will be described in detail with reference to the accompanying drawings. Furthermore, the embodiments shown below are examples of embodiments of the present invention, and the present invention is not limited to these embodiments. Additionally, in the accompanying drawings referenced in these embodiments, the same reference numerals or similar reference numerals are used to label the same parts or parts having the same function, and sometimes repeated descriptions are omitted. Furthermore, for ease of explanation, sometimes the scale of the drawings differs from the actual scale, and sometimes a part of a component is omitted from the drawings.
[0021] (First Implementation) (constitute) Figure 1 This is a diagram illustrating a configuration example of the remote control system 100 according to the first embodiment. (See diagram below.) Figure 1 As shown, the remote control system 100 is a system capable of controlling an actuator 5, an example of a field device, via a wide area network 2. The remote control system 100 includes a remote control device 1, multiple control devices 3, multiple sensors 4, and multiple actuators 5.
[0022] The remote control device 1 includes, for example, a CPU (Central Processing Unit), memory (first input memory 14 and first output memory 15 described later). The CPU of the remote control device 1 performs various control processes, for example, by executing programs stored in the memory. Based on the process quantity (input information) of the sensor 4 received from the control device 3 via the wide area network 2, the remote control device 1 generates control signals (output information) for controlling the actuator 5. Furthermore, the remote control device 1 sends the control signals to the actuator 5 via the wide area network 2 and the control device 3. Thus, the remote control device 1 can control multiple actuators 5 via the wide area network 2. In this embodiment, the information contained in the signal sent from the control device 3 to the wide area network 2 is sometimes referred to as input information, and the information contained in the signal sent from the remote control device 1 to the wide area network 2 is sometimes referred to as output information. In this embodiment, process quantities are used as an example of input information, but the embodiment is not limited to this. Similarly, control signals are used as an example of output information, but the embodiment is not limited to this.
[0023] Wide Area Network 2 (WAN 2) is a network with multiple communication paths. WAN 2 is, for example, the Internet, but is not limited to it. For example, it can also use local communication lines such as LAN (Local Area Network), wide-area wired communication lines such as WAN (Wide Area Network), or wireless communication lines based on communication standards such as 3G (Generation), 4G, and 5G.
[0024] The control device 3 is located at a site equipped with field devices, and includes, for example, a CPU and memory (the second input memory 33 and the second output memory 34 described later). The CPU of the control device 3 performs various control processes, for example, by executing programs stored in the memory. The control device 3 transmits, for example, process quantities that are input information from the sensor 4, to the remote control device 1 via the wide area network 2. Furthermore, the control device 3 receives, for example, control signals that are output information from the remote control device 1, via the wide area network 2, and outputs them to the actuator 5.
[0025] Sensor 4 outputs various process quantities required for the control of actuator 5 to control device 3. Actuator 5 is a control device driven according to the control signal input from remote control device 1 via control device 3. While actuator 5 is the current control device in this embodiment, it is not limited to it. For example, the control device could be a robotic arm, drive motor, control valve, monitoring camera, etc. Thus, the control device can be, for example, any device controlled by a control signal as output information based on the process quantities input as information from sensor 4. Furthermore, the number of devices in control device 3 is not limited to two; it can be one or more. Multiple control devices 3, sensors 4, and actuators 5 can be configured in the same location or in different locations. The performance of multiple control devices 3, sensors 4, and actuators 5 can be different or uniform.
[0026] When referring again to WAN 2, the communication between the remote control device 1 and the control device 3 in this embodiment controls the field equipment, thus emphasizing real-time performance. Therefore, the remote control device 1 and the control device 3 send data to each other asynchronously, for example. In such communication, UDP (User Datagram Protocol) is used, for example.
[0027] When a control signal is sent from the remote control device 1, for example, the UDP header of the IP packet may include identification information of the remote control device 1 (as the source port), identification information of the control device 3 (as the destination port), the data length of the control signal, and a checksum. The source port and destination port are used for judgment by the control device 3 using the control signal. Furthermore, the data length is used to determine the length of the data in the sent control signal, and the checksum is used to check that the data in the delivered control signal is not missing or has not been illegally modified.
[0028] When sending process quantities from the control device 3 side, for example, the UDP header of the IP data packet is given identification information of the control device 3 as the sending source port, identification information of the remote control device 1 as the sending destination port, the data length of the process quantity, the checksum, and an identifier indicating the sending order of the process quantity.
[0029] In the wide area network 2, as described above, there are multiple communication paths between the remote control device 1 and the control device 3, and different communication delays may occur for each communication path. Therefore, as described later, the control device 3 assigns an identifier indicating the same transmission order to the same process quantity and transmits multiple IP data packets asynchronously. That is, the IP data packets of this embodiment are transmitted redundantly. The probability that these redundantly generated multiple IP data packets are transmitted between the remote control device 1 and the control device 3 via different communication paths increases. Therefore, even if the communication delay of some communication paths increases, the probability of transmission in a shorter time in other communication paths increases. Thus, probabilistically, as the number of redundantly transmitted data packets increases, the impact of communication delay in the wide area network 2 is suppressed.
[0030] Furthermore, while this embodiment uses UDP (User Datagram Protocol) for communication, it is not limited to this. For example, communication protocols capable of asynchronous communication can be used. The form of data transmission is also not limited to IP packets. For example, any signal containing information required for control can be used. For instance, the transmission signal from the control device 3 side can include the identification information of the source control device 3, the identification information of the destination remote control device 1, the data length of the process quantity, and an identifier indicating the transmission order. Similarly, for example, the transmission signal from the remote control device 1 side can include the identification information of the source remote control device 1, the identification information of the destination control device 3, and the data length of the control signal. Additionally, the header format of the IP packet is not limited to a UDP header. Furthermore, the functional blocks of the remote control device 1 and the control device 3 can also operate on a virtual container or a virtual machine.
[0031] Figure 2 This is a block diagram illustrating an example configuration of a remote control device 1 and a control device 3. The remote control device 1 includes a first communication unit 11, a control program execution unit 12, a first control sequence determination unit 13, a first input memory 14, and a first output memory 15. The control device 3 includes a second communication unit 31, a second identifier assignment unit 32, a second input memory 33, and a second output memory 34.
[0032] First, an example of the configuration of the remote control device 1 will be described. The first communication unit 11 of the remote control device 1 communicates asynchronously with the second communication unit 31 of the control device 3. In the communication between the first communication unit 11 and the second communication unit 31, UDP (User Datagram Protocol) is used, for example, as described above.
[0033] The first communication unit 11 receives IP data packets via the wide area network 2. After verifying that the source and destination ports of the IP data packets match the setting information stored in the first input memory 14, and after checking that the process quantity data is not missing or illegally altered, the first communication unit 11 stores the IP data packets in the first input memory 14. More specifically, during this check, the first communication unit 11 determines whether the individual information of each of the multiple control devices 3—namely, the source and destination ports—matches the setting information. Thus, the remote control device 1 can change the control processing content according to each source port. That is, the remote control device 1 executes independent control processing for each of the multiple control devices 3. Furthermore, 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.
[0034] The first control sequence determination unit 13 has a storage element. When new data is stored in the first input memory 14, the first control sequence determination unit 13 reads the transmission source port and the identifier indicating the transmission order from the new data and determines whether it is in the prescribed order. That is, the first control sequence determination unit 13 determines whether the data is stored for the first time from the transmission source port that transmitted the new data. If it is the data being stored for the first time, a control notification containing information about the storage area containing the new data is output to the control program execution unit 12.
[0035] More specifically, when the output control notification is received, the first control sequence determination unit 13 stores the read identifiers in the storage element according to the transmission source port. Next, when new data is stored in the first input memory 14, the first control sequence determination unit 13 reads the identifiers indicating the transmission order from the new data and compares them with the identifiers of each transmission source port stored in the storage element. If the values are different, it is determined that the data is being stored for the first time. On the other hand, if the values are the same, the first control sequence determination unit 13 determines that the data has already been stored. Furthermore, at startup, the first control sequence determination unit 13 stores, for example, empty data as an initial value in the storage element.
[0036] When the control program execution unit 12 receives a control notification from the first control sequence determination unit 13, it uses the information in the storage area contained in the control notification to perform processing of the process quantities stored in the first input memory 14. Furthermore, the control program execution unit 12 uses the read process quantities to generate control signals and stores them in the first output memory 15.
[0037] Referring again to the first communication unit 11, when the 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. Furthermore, the first communication unit 11 generates an IP data packet containing the control signal and sends it via the wide area network 2 to the control device 3, which is the source of the process quantity. That is, the first communication unit 11 uses the source port of the process quantity as the destination port to generate the IP data packet.
[0038] Next, an example of the configuration of the control device 3 will be described. When new process quantity data is input from the sensor 4, the second communication unit 31 stores the process quantity in the second input memory 33 and notifies the second identifier assignment unit 32 of the input notification containing information of the stored storage area.
[0039] When the second identifier assignment unit 32 receives an input notification containing information from the storage area, it stores the data of the process quantity in that area and an identifier indicating the transmission order in the second output memory 34. In this embodiment, the identifier indicating the transmission order of the process quantity is, for example, a consecutive number incremented according to each input notification as a notification signal, or a timestamp indicating the moment the input notification was received.
[0040] Referring again to the second communication unit 31, the second communication unit 31 generates multiple IP packets containing process data stored in the second output memory 34 and identifiers indicating the transmission order, and transmits them to the remote control device 1 via the wide area network 2.
[0041] Furthermore, after the second communication unit 31 confirms that the source and destination ports match the settings and that the process quantity data is not missing or illegally altered through checksum verification, it stores the received IP data packets in the second output memory 34. It also reads control signals from the IP data packets and outputs them to the actuator 5. Additionally, the second input memory 33 stores, for example, programs, setting values, and information input from the sensor 4. The second output memory 34 stores, for example, information output to the sensor 4.
[0042] (effect) Figure 3 This is a diagram illustrating an example of the processing sequence of remote control device 1 and control device 3. (Refer to...) Figure 2 Use Figure 3 Let's illustrate an example of the processing sequence in the first embodiment. For example... Figure 3 As shown, the processing sequence of the first embodiment is an example of a sequence in which the control processing for the actuator 5 is performed sequentially without synchronous processing of the remote control device 1 and the control device 3. That is, a series of processes T1, T2, T3, and T4 are each performed independently and periodically.
[0043] (Process T1) Process T1 involves assigning identifiers required for communication between the control device 3 and the sensor 4 and actuator 5, as well as 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). Then, the second communication unit 31 sends an input notification indicating input to the second identifier assignment unit 32 (t12). Upon receiving the input notification, the second identifier assignment unit 32 assigns the identifiers required for sequence determination and a source identifier to distinguish the control device 3, and stores them in the second input memory 33 (t14). Furthermore, the identifier to distinguish the control device is a number assigned to uniquely differentiate between multiple control devices 3.
[0044] (Process T2) Process T2 is the process of sending 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 of the second input memory 33 and sends them to the remote control device 1 (t20). The first communication unit 11 of the remote control device 1, upon receiving the input value and identifier, stores the received value in the first input memory 14 (t22).
[0045] (Process T3) Process T3 is used to execute the control program sequentially in the remote control device 1. The first control sequence determination unit 13 reads the identifier from the first input memory 14 and performs a control sequence determination (t30) according to each identifier that distinguishes the control device. The first control sequence determination unit 13 makes a determination based on the stored identifier and the read identifier. If it is a consecutive number, it determines whether it is in order; if it is a timestamp, it determines whether it is in periodic order.
[0046] When the first control sequence determination unit 13 determines that the control is performed sequentially or periodically, it stores the read identifier as the last calculated identifier (t32) and sends a control notification to the control program execution unit 12 to notify the implementation of the control operation (t34). Upon receiving the control notification, the control program execution unit 12 reads the input value from the first input memory 14, performs the control operation, and saves the output value in the first output memory 15 (t35).
[0047] (Process T3') Process T3' is a process in which no control operation is performed. If the stored identifier is the same as the read identifier, the first control sequence determination unit 13 determines that no control operation will be performed (t30) and does not send a control notification. In the case where no control operation is performed, T3 becomes the process represented by T3'. That is, in process T3', the first control sequence determination unit 13 maintains the value of the identifier and does not send a control notification.
[0048] (Process T4) Process T4 is the process of sending the contents of the first output memory 15 of the remote control device 1 to the control device 3. When the first communication unit 11 of the remote control device 1 stores a new control signal, it reads the control signal (output value) from the first output memory 15 and sends it to the control device 3 (t40). Upon receiving the control signal (output value), the second communication unit 31 of the control device 3 saves the output value in the second output memory 34 (t42). Furthermore, the second communication unit 31 reads the information of the transmitting source from the second output memory 34 and outputs it to the actuator 5. After data checking, it reads the output value as a control signal from the second output memory 34 and outputs it to the actuator 5.
[0049] In this way, by independently and periodically implementing the processing of T1, T2, T3, and T4, even remote control device 1 via wide area network 2 can repeatedly perform control operations in sequence.
[0050] (Effect) As explained above, according to this embodiment, the second identifier assignment unit 32 assigns an identifier required for sequence determination and an identifier for distinguishing the control device 3, and transmits multiple transmission signals containing the input value (process quantity) from the sensor 4 to the remote control device 1 via the wide area network 2. Therefore, the remote control device 1 can use only the initially received process quantity for control based on the identifier required for sequence determination. Thus, even if different communication delays occur in each communication path of the wide area network 2, communication delays between the remote control device 1 and the control device 3 can be suppressed, and control operations can continue to be executed sequentially.
[0051] (Second Implementation) The difference between the remote control system 100 of the second embodiment and the remote control system 100 of the first embodiment is that the transmission order is also determined on the control device 3 side. The differences from the remote control system 100 of the first embodiment will be explained below.
[0052] (constitute) Figure 4 This is a block diagram illustrating an example configuration of the remote control device 1 and the control device 3 according to the second embodiment. The control device 3 of the second embodiment differs from the control device 3 of the first embodiment in that it also includes a second control sequence determination unit 35.
[0053] For example, in the case of redundantly sending control signals, if the control signal is a fixed value, such as a valve opening of 10 degrees, then even if the control device 3 receives multiple control signals, the impact on the control of the actuator 5 is limited. On the other hand, if the control signal is, for example, a control that increases the valve opening by a certain value each time, such as increasing the valve opening by 2 degrees, then if the control device 3 processes multiple identical control signals, it will result in miscontrol. Therefore, in this embodiment, the second control sequence determination unit 35 performs sequence determination.
[0054] The second control sequence determination unit 35 has a storage element. When storing new data in the second output memory 34, the second control sequence determination unit 35 stores the storage time in the storage element. The second control sequence determination unit 35 calculates the difference between the first time previously stored in the storage element and the second time currently stored, and determines that a new control signal is generated when the difference exceeds a predetermined value.
[0055] Remote control device 1 transmits multiple identical control signals via wide area network 2. The interval between receiving these identical control signals differs from the interval between receiving the next control signal. For example, remote control device 1 transmits the currently calculated control signal after a control cycle has elapsed since the last time the previously calculated control signal was transmitted. Therefore, a deviation occurs due to the delay of wide area network 2, but the difference between the previously stored first moment and the currently stored second moment becomes a value reflecting the control cycle. Consequently, the second control sequence determination unit 35 calculates the difference between the previously stored first moment and the currently stored second moment in the storage element, and if the difference exceeds a predetermined value, it can determine that it is a new control signal.
[0056] For example, the second control sequence determination unit 35 receives a notification from the remote control device 1 in advance regarding the control cycle of the remote control device 1. Alternatively, the second control sequence determination unit 35 may also calculate the control cycle of the remote control device 1 based on the reception time (timestamp) of the received signal from the remote control device 1.
[0057] (effect) Figure 5 This is a diagram illustrating an example of the processing sequence in the second embodiment. (Refer to...) Figure 4 Use Figure 5 An example of the processing sequence in the second embodiment will be described. For example... Figure 4 As shown, the processing sequence of the first embodiment is a sequence controlled by sequential operation without synchronous processing. That is, a series of processes T1, T2, T3, T4, T5, T5' are processed in sequence judgment in the output processing of the actuator 5, but they are separated into T5, T5'.
[0058] (Processing T5) Processing T5 is used to sequentially output control signals in the control device 3. When the second communication unit 31 of the control device 3 saves new data to the second output memory 34, it outputs the storage area containing the new data and the input notification of the receiving time to the second control sequence determination unit 35 (t50).
[0059] The second control sequence determination unit 35 calculates the difference between the first moment previously stored in the storage element and the second moment currently stored. If the difference exceeds a predetermined value, it determines that it is a new control signal (t52). When the second control sequence determination unit 35 determines that it is a new control signal, it stores the second moment as the first moment in the storage element (t54). Furthermore, the second control sequence determination unit 35 outputs an output feedback notification to the second communication unit 31 (t56). When the second communication unit 31 receives the input / output feedback notification, it outputs the control signal stored in the second output memory 34 to the actuator 5 (t58).
[0060] (Process T5') The process of processing T5' is to not output a control signal. The difference between the first moment previously stored in the memory element and the second moment currently stored is calculated. If the difference does not exceed a predetermined value, it is determined to be the same control signal (t52). The second control sequence determination unit 35 determines that no control signal will be output and outputs an output non-response notification to the second communication unit 31 (t56a). When the second communication unit 31 receives the output non-response notification, it does not respond and remains in standby mode.
[0061] (Effect) As explained above, according to this embodiment, the second control sequence determination unit 35 determines the order of the control signals. Therefore, when the remote control device 1 sends multiple transmission signals containing the same control signal to the control device 3 via the wide area network 2, only the first received control signal can be used for control. Thus, even if different communication delays occur in the communication path of the wide area network 2, communication delays between the remote control device 1 and the control device 3 can be suppressed, and the control signals can continue to be executed sequentially.
[0062] (Third implementation method) The difference between the remote control system 100 of the third embodiment and the remote control system 100 of the second embodiment is that the control signals sent by the remote control device 1 are also assigned identifiers required for sequential judgment. The differences from the remote control system 100 of the second embodiment will be explained below.
[0063] (constitute) Figure 6This is a block diagram illustrating a configuration example of the remote control device 1 and control device 3 according to the third embodiment. The remote control device 1 of the third embodiment differs from the remote control device 1 of the second embodiment in that it further includes a first identifier assignment unit 16. The first identifier assignment 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 may be, for example, a consecutive number incremented according to each output notification, or a timestamp indicating the time when the output notification was received.
[0064] The control device 3 of the third embodiment differs from the control device 3 of the second embodiment in that it also includes a second control sequence determination unit 35a. In addition to the processing functions of the second control sequence determination unit 35 of the second embodiment, the second control sequence determination unit 35a of the third embodiment is also capable of performing sequence determination using identifiers.
[0065] That is, when the second control sequence determination unit 35a stores new data in the second output memory 34, it reads the new data from the transmission source port and the identifier indicating the transmission order, and determines whether it is in the prescribed order. Specifically, the second control sequence determination unit 35a determines whether the data is being stored for the first time from the transmission source port that has transmitted new data. If it is being stored for the first time, it outputs an output reflection notification containing information about the storage area containing the new data to the second communication unit 31. As a result, the second communication unit 31 outputs the control signals contained in the new data to the actuator 5.
[0066] More specifically, when the second control sequence determination unit 35a outputs an output response notification, it stores the read identifier in a storage element. Next, when storing new data in the second output memory 34, the second control sequence determination unit 35a reads an identifier indicating the transmission order from the new data and compares it with the identifier stored in the storage element. If the values are different, it determines that the data is being stored for the first time. On the other hand, if the values are the same, the second control sequence determination unit 35a determines that the data has already been stored.
[0067] (effect) Figure 7 This is a diagram illustrating an example of the processing sequence in the second embodiment. (Refer to...) Figure 6 Use Figure 7 The processing sequence of the third embodiment will be described as an example. Sometimes, the same reference numerals are used for processes equivalent to those in the first or second embodiment, and the description is omitted.
[0068] like Figure 6As shown, the processing sequence of the first embodiment is a sequence controlled by sequential operation without synchronous processing. That is, a series of processes T1, T2, T3, T4a, T5a, and T5a' are each implemented independently and periodically. The processing sequence T4a of the second embodiment differs from the processing sequence T4a of the first embodiment in that the control signal sent from the remote control device 1 is also processed to assign the identifier required for sequence determination, and the output processing to the actuator 5 is separated into T5a and T5a'. Furthermore, the series of processes T1, T2, and T3 are the same as the processing sequence of the first embodiment, so the description is omitted.
[0069] (Processing T4a) Process T4a is a process for assigning an identifier of the transmission order to the contents of the first output memory 15 of the remote control device 1 and sending it to the control device 3. When the control program execution unit 12 of the remote control device 1 performs the generation operation of the control signal and stores it in the first output memory 15, it outputs the output notification of the storage area containing the control signal to the first identifier assignment unit 16 (t44).
[0070] When notified by an input / output signal, the first identifier assignment 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 sends them to the control device 3. For example, the first communication unit 11 generates multiple IP data packets containing the control signal and the identifier indicating the transmission order, stored in the first output memory 15, 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).
[0071] (Processing T5a) Processing T5a is used to sequentially output control signals in the control device 3. When the second communication unit 31 of the control device 3 saves new data to the second output memory 34, it outputs an input notification of the storage area containing the new data to the second control sequence determination unit 35a (t50a).
[0072] The second control sequence determination unit 35a reads the identifier from the data newly input to the second output memory 34 and performs control sequence determination (t52a). The second control sequence determination unit 35a stores the identifier at the time of the last determination and makes a determination based on the stored identifier and the read identifier. If it is a consecutive number, it determines whether it is in sequence; if it is a timestamp, it determines whether it is in periodic order.
[0073] When the second control sequence determination unit 35a determines that the control is in sequence or in a cycle, it updates the read identifier to the identifier of the last determination (t54a) and outputs an output response notification (t56) to the second communication unit 31 to notify the control signal. When the second communication unit 31 receives the input / output response notification, it reads the control signal from the second output memory 34 and outputs it to the actuator 5 (t58).
[0074] (Processing T5a') Processing T5a' is a process where no control signal is output. If the stored identifier is the same as the read identifier, the second control sequence determination unit 35a determines that no control signal will be output and therefore does not output an output response notification. When it is determined that no control signal will be output, T5 becomes the process represented by T5'. That is, in process T5', the second control sequence determination unit 35a maintains the value of the identifier and does not output an output response notification.
[0075] (Effect) As explained above, according to this embodiment, an identifier required for sequence determination is assigned to the first identifier assignment unit 16, and multiple transmission signals including control signals are transmitted to the control device 3 via the wide area network 2. Therefore, the control device 3 can use only the initially received control signal for control based on the identifier required for sequence determination. Thus, even if different communication delays occur in the communication path of the wide area network 2, communication delays between the remote control device 1 and the control device 3 can be suppressed, and control signals can continue to be executed sequentially.
[0076] (Fourth Implementation) The remote control system 100 of the fourth embodiment differs from the remote control system 100 of the first embodiment in that it can adjust the control cycle of processing T2 to T4 to perform control processing. The differences from the remote control system 100 of the first embodiment will be explained below.
[0077] (constitute) Figure 8 This is a block diagram illustrating a configuration example of the remote control system 100 according to the fourth embodiment. For example... Figure 8 As shown, the difference between the remote control system 100 of the first embodiment and the control device 3 of the fourth embodiment is that the control device 3 also has a periodic time determination unit 36.
[0078] When referring again Figure 3 At the same time, processes T1 and T2 are processed with independent control cycles. Therefore, the number of process quantities input from sensor 4 may deviate from the number of process quantities sent from the second communication unit 31.
[0079] The second identifier assignment unit 32 increments the consecutive numbers of identifiers during the control cycle of process T1. On the other hand, during process T2, the second communication unit 31 transmits the latest identifier stored in the second input memory 33 and the process quantity corresponding to the latest identifier during the cycle of process T2.
[0080] If the control cycles of processing T1 and processing T2 are completely identical, then the consecutive numbers of the identifiers assigned in processing T1 are sequentially used as the consecutive numbers of the identifiers used by the second communication unit 31 in transmission. On the other hand, if the control cycle of processing T2 is longer than the control cycle of processing T1, then a missing number may occur in the consecutive numbers of the identifiers used by the second communication unit 31 in transmission. That is, it is possible that the second communication unit 31 will not transmit a portion of the process quantity output by the sensor 4.
[0081] Therefore, the cycle time determination unit 36 uses the consecutive numbers of the identifiers assigned in process T1 and the consecutive numbers of the identifiers assigned in process T2 to determine the deviation of the control cycle between process T1 and process T2.
[0082] (effect) Figure 9 This is a flowchart illustrating an example of the judgment processing of the cycle time determination unit 36. Here, we will describe an example where the cycle time determination unit 36 stores the consecutive numbers of the transmitted identifiers in the second input memory 33.
[0083] First, the cycle time determination unit 36 reads the identifier (first identifier) previously sent in process T2 and the identifier (second identifier) currently sent from the second input memory 33 (step S1). Next, the cycle time determination unit 36 determines whether the difference between the previously sent identifier and the currently sent identifier deviates from the increment count value of the identifier assigned in process T1 (step S2). For example, if the increment count value of the identifier assigned in process T1 increases by 1 each time, such as 103, 104, 105, 106, then if the identifier previously sent in process T2 is 103 and the identifier currently sent is 106, the difference is 3, and it is determined that a deviation has occurred.
[0084] If the cycle time determination unit 36 determines that there is a deviation in the increment count ("Yes" in step S2), it means that the cycle time for processing T2 is too long, and it shortens the cycle time for processing T2 to reduce the deviation (step S3). On the other hand, if the cycle time determination unit 36 does not deviate in the increment count ("No" in step S2), it maintains the cycle time for processing T2. Furthermore, as the identifier required for the sequence determination, not only consecutive numbers can be used, but also a timestamp indicating the moment the input notification was received can be used. The deviation can also be calculated based on the timestamp.
[0085] Next, the cycle time determination unit 36 stores the identifier (second identifier) sent this time as the identifier (first identifier) sent last time in the second input memory 33 (step S4), and ends the processing.
[0086] Furthermore, 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 during a past specified 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 the control cycle of process T2 can be set to (5 / 10) = 0.5 times, thus achieving an equivalent control cycle.
[0087] Figure 10 This diagram illustrates a sequence example of the remote control system 100 according to the fourth embodiment. Processes identical to those already described are sometimes labeled with the same numbers and their descriptions are omitted. Process T1 is the same as the sequence example of the first embodiment.
[0088] (Processing T2a) Process T2a is a process that adds a periodicity determination unit 36 to the process T2 of the first embodiment. The periodicity determination unit 36 determines the difference between the control period of process T1 and the control period of process T2a, and shortens the control period of process T2a (t24) if a deviation exists. Furthermore, the periodicity determination unit 36 sends a notification output to the second communication unit 31 (t26) when the adjustment of the control period of process T2a ends. Processes t20 and t22 are executed in the same manner as in the process T2 of the first embodiment.
[0089] (Processing T3a) Process T3a is a process in which the cycle determination process of the first control sequence determination unit 13 is added to process T3 in the first embodiment. The first control sequence determination unit 13 determines the difference between the control cycle of process T2a and the control cycle of process T3a, and shortens the control cycle of process T3a (t38) if a deviation exists. Similar to the determination process of the cycle time determination unit 36, if there is a deviation between the increment count value of the identifier stored in the input memory and the increment count value of the identifier stored in the storage element when the control operation is performed, the first control sequence determination unit 13 shortens the control cycle of process T3a. Furthermore, processes t30 to t36 are executed in the same manner as process T3 in the first embodiment.
[0090] (Processing T3a') Processing T3a' is the process after adding the judgment processing of the first control sequence judgment unit 13 to processing T3' in the first embodiment. The sequence (t38) is the same as the sequence (t38) of processing T3a. That is, the difference between the control cycle of processing T2a and the control cycle of processing T3a is judged, and if there is a deviation, the control cycle of processing T3a is shortened before the control sequence judgment (t30) is performed.
[0091] (Processing T4b) Process T4b is a process that adds a period determination process of the first control sequence determination unit 13 to process T4 in the first embodiment. The first control sequence determination unit 13 determines the difference between the control period of process T2a and the control period of process T4b, and shortens the control period of process T4b (t44) if a deviation exists. Similar to the determination process of the period time determination unit 36, if there is a deviation between the increment count value of the identifier stored in the input memory and the increment count value of the identifier stored in the storage element when the control operation is performed, the first control sequence determination unit 13 shortens the control period of process T4b. Furthermore, when the adjustment determination of the control period of process T4b ends, the first control sequence determination unit 13 sends a notification output to the first communication unit 11 (t46). Furthermore, processes t40 and t42 are executed in the same manner as process T3 in the first embodiment.
[0092] (Effect) As explained above, according to this embodiment, the remote control system 100 adjusts the control cycle of processes T2a, T3a, T3a', and T4b' to perform control processing. This reduces the number of process values not sent to the remote control device 1 and allows control operations to be performed repeatedly in sequence.
[0093] (Modification 2 of the fourth embodiment) The remote control system 100 of the fourth embodiment (modification 2) differs from the remote control system 100 of the fourth embodiment in that it can also be modified in the direction of extending the control cycle of processing T2a. The differences from the remote control system 100 of the fourth embodiment will be explained below.
[0094] (effect) Figure 11 This is a flowchart illustrating an example of the determination process of the periodicity determination unit 36 in Modification 2 of the fourth embodiment. Sometimes, the determination process of the periodicity determination unit 36 in Modification 2 of the fourth embodiment (see...) Figure 9 The same treatments are labeled with the same numbers S1, S2, and S3, and the explanation is omitted.
[0095] If the cycle time determination unit 36 determines that the increment count has not deviated (No in step S2), it means that the cycle time of process T2 is long, and it shortens the cycle time of process T2 to reduce the deviation (step S3). On the other hand, if the cycle time determination unit 36 determines that the increment count has not deviated (No in step S2), it performs an identifier equality comparison, which determines whether the consecutive numbers assigned in process T1 are the same as the consecutive numbers assigned in process T2a (step S5). If they are the same consecutive numbers (Yes in step S5), it means that the cycle time of T2a is short, and therefore the cycle time of T2a is extended (step S6).
[0096] Next, the cycle time determination unit 36 stores the identifier of this transmission as the identifier of the previous transmission in the second input memory 33 (step S4) and ends the process.
[0097] Figure 12 This diagram illustrates a sequence example of the remote control system 100 according to a variation 2 of the fourth embodiment. Processes identical to those already described are sometimes labeled with the same numbers and their descriptions are omitted. Process T1 is the same as the sequence example of the first embodiment.
[0098] (Processing T2b) Processing T2b is a post-processing operation following the determination by the cycle time determination unit 36 of the fourth embodiment, modified Example 2. The cycle time determination unit 36 determines the difference between the control cycle of processing T1 and the control cycle of processing T2a. If a deviation exists, it shortens the control cycle of processing T2a; if the deviation cannot be confirmed by incremental counting, it increases the control cycle of processing T2a (t24a). Furthermore, when the adjustment of the control cycle of processing T2b is complete, the cycle time determination unit 36 outputs a transmission notification containing information about the control cycle of processing T2b to the second communication unit 31 (t26). The second communication unit 31 then transmits the control cycle of processing T2b and executes t20 and t22.
[0099] (Processing T3b) Process T3b is a process that adds a cycle determination process using the control cycle of process T2b. The first control sequence determination unit 13 determines the difference between the control cycle of process T2b and the control cycle of process T3b. If the control cycle of process T3b is different from the control cycle of process T2b, the control cycle of process T3b is changed and recorded in the first output memory 15 (t38a). Furthermore, processes t30 to t36 are executed in the same manner as process T3 in the first embodiment.
[0100] (Processing T3b') Process T3b' is a process that adds a periodic judgment process using the control cycle of process T2b. The sequence (t38a) is the same as the sequence (t38a) of process T3b. That is, when the control cycle is different, after changing the control cycle of process T3b, a control sequence judgment (t30) is performed.
[0101] (Processing T4c) Process T4c is a process that adds a cycle determination process using the control cycle of process T2b. The first control sequence determination unit 13 determines the difference between the control cycle of process T2a and the control cycle of process T4c, and changes the control cycle of process T4c (t44a) depending on the situation. Furthermore, when the adjustment determination of the control cycle of process T4b ends, the first control sequence determination unit 13 records the control cycle of process T4c in the first output memory 15 and outputs a transmission notification to the first communication unit 11 (t46). Furthermore, the first communication unit 11 first notifies the control cycle of process T2b, and executes processes t40 and t42 in the same way as process T3 in the first embodiment.
[0102] (Effect) As explained above, according to this embodiment, the remote control system 100 adjusts the control cycles of processing T2a, processing T3a, processing T3a', and T4b' to be the same, thereby executing control processing. This reduces the number of process values not sent to the remote control device 1 and allows control operations to be performed repeatedly in sequence. Furthermore, the cycle time for communication processing between the remote control device 1 and the control device 3, and for the computation processing within the remote control device 1, is not made too short and can be adjusted to an appropriate cycle time.
[0103] Several embodiments have been described above, but these embodiments are merely examples and are not intended to limit the scope of the invention. The new apparatus, method, and procedure described in this specification can be implemented in various other ways. Furthermore, various omissions, substitutions, and modifications can be made to the apparatus, method, and procedure described in this specification without departing from the spirit of the invention.
[0104] Explanation of reference numerals in the attached figures: 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 sequence determination unit, 31: Second communication unit, 32: Second identifier assignment unit, 35, 35a: Second control sequence determination unit, 36: Periodic time determination unit, 100: Remote control system.
Claims
1. A remote control device for processing multiple identical signals transmitted via a network having multiple transmission paths, wherein, have: The first communication unit asynchronously receives the plurality of signals associated with the identifier; The first control sequence determination unit determines, based on the identifier, whether the order of the input values contained in the signal is a predetermined order; as well as The control program execution unit executes the control program of the control device that uses the input value when the first control sequence determination unit determines that the predetermined sequence is met.
2. The remote control device according to claim 1, wherein, The signal is also associated with a source identifier representing the source of transmission. The first control sequence determination unit further determines whether the specified sequence is followed based on the sending source identifier.
3. The remote control device according to claim 2, wherein, The first control sequence determination unit changes the control cycle of at least one of the first control sequence determination unit and the control program execution unit based on the receiving order of the identifier.
4. The remote control device according to claim 1, wherein, The first control sequence determination unit stores the first identifier among the identifiers associated with the signal, which is the identifier used by the control program execution unit during calculation. The first control sequence determination unit compares the first identifier with the second identifier to determine whether it is the prescribed sequence, and the second identifier is associated with the signal received by the first communication unit this time.
5. The remote control device according to claim 4, wherein, The first control sequence determination unit changes the control cycle of at least one of the first control sequence determination unit and the control program execution unit based on the difference between the first identifier and the second identifier.
6. The remote control device according to claim 2, wherein, The first control sequence determination unit changes the control cycle of at least one of the first control sequence determination unit and the control program execution unit based on the control cycle of the transmission source transmitted via the network.
7. A control device, wherein, have: The second identifier assignment unit assigns an identifier required for sequential judgment to the input value from the sensor, wherein the sensor outputs a value representing the state of the control device; as well as The second communication unit asynchronously transmits multiple signals that associate the same identifier with the input value via a network having multiple transmission paths.
8. The control device according to claim 7, wherein, The second identifier assignment section will also establish an association with the sender identifier representing the sender.
9. The control device according to claim 7, wherein, It also has: The cycle time determination unit adjusts the control cycle of the identifier assigned by the second identifier assignment unit and the control cycle of the signal sent by the second communication unit based on the assignment order of the identifier assigned by the second identifier assignment unit and the assignment order of the identifier associated with the signal sent by the second communication unit.
10. The control device according to claim 9, wherein, The cycle time determination unit shortens or lengthens the control cycle for the second communication unit to transmit the signal.
11. A remote control system that performs control processing via a network having multiple transmission paths, wherein, Equipped with control devices and remote control devices, The control device has: The second identifier assignment unit assigns an identifier required for sequential judgment to the input value from the sensor, wherein the sensor outputs a value representing the state of the control device; as well as The second communication unit asynchronously transmits multiple signals via the network that associate the same identifier with the input value. The remote control device has: The first communication unit receives the multiple signals asynchronously; The first control sequence determination unit determines, based on the identifier, whether the order of the input values contained in the signal is a predetermined order; as well as The control program execution unit executes the control program of the control device that uses the input value when the first control sequence determination unit determines that the predetermined sequence is met.
12. The remote control system according to claim 11, wherein, The first communication unit asynchronously transmits multiple identical control signals generated by executing the control program of the control device using the input values via the network. The control device outputs the first received control signal from a plurality of identical control signals to the control equipment.
13. A control method for processing multiple identical signals transmitted via a network having multiple transmission paths, wherein, The following steps are required: The communication step involves asynchronously receiving the plurality of signals associated with the identifier; The control order determination step determines whether the order of the input values contained in the signal is a predetermined order based on the identifier. as well as The control program execution steps include executing the control program of the control device that uses the input value if the predetermined sequence is determined.
14. A control method, wherein, The following steps are required: The identifier assignment step assigns the identifiers required for sequential judgment to the input values from the sensors, and the sensor outputs a value representing the state of the control device; as well as The communication step involves asynchronously transmitting multiple signals that associate the same identifier with the input value via a network with multiple transmission paths.