Device control system, device control method, and device control program
The device control system addresses synchronization errors in non-periodic communication by using an acquisition and determination unit to detect errors and an error processing unit to ensure safety and maintain periodic communication.
Patent Information
- Application Number
- JP2024066594
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-04-17
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2041-02-26
AI Technical Summary
Ensuring the safety of synchronization processes in a system, particularly in the context of non-periodic communication between controllers and local devices, is a challenge due to potential synchronization errors that can disrupt periodic communication.
A device control system that includes an acquisition unit for acquiring communication data, a determination unit to detect synchronization errors, and an error processing unit to execute appropriate error processing when such errors occur, ensuring safety by maintaining periodic communication through non-periodic communication.
The system effectively ensures the safety of synchronization processing by detecting and responding to synchronization errors, thereby maintaining reliable operation of the device control system.
Smart Images

Figure 0007738699000001 
Figure 0007738699000002 
Figure 0007738699000003
Abstract
Description
[Technical Field]
[0001] One aspect of the present disclosure relates to a device control system, a device control method, and a device control program. [Background technology]
[0002] Patent Document 1 discloses a system including a robot, a processing device, a robot controller that controls the robot, a processing device controller that controls the processing device, and a programmable logic controller that generates commands for the robot controller and the processing device controller. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-209454 Summary of the Invention [Problem to be solved by the invention]
[0004] In one aspect of the present disclosure, it is desired to ensure the safety of synchronization processes in a system. [Means for solving the problem]
[0005] A device control system according to one aspect of the present disclosure includes an acquisition unit that acquires communication data transmitted by non-periodic communication between a local device and a controller that controls the local device, a determination unit that determines whether a synchronization error, which is an error related to synchronization between the local device and the controller, has occurred based on the communication data, and an error processing unit that executes error processing related to at least one of the local device and the controller when a synchronization error has occurred.
[0006] A device control method according to one aspect of the present disclosure includes the steps of acquiring communication data transmitted by non-periodic communication between a local device and a controller that controls the local device, determining whether a synchronization error has occurred, which is an error related to synchronization between the local device and the controller, based on the communication data, and, if a synchronization error has occurred, executing error processing related to at least one of the local device and the controller.
[0007] A device control program according to one aspect of the present disclosure causes a computer system to perform the following steps: acquiring communication data transmitted by non-periodic communication between a local device and a controller that controls the local device; determining, based on the communication data, whether a synchronization error has occurred, which is an error related to synchronization between the local device and the controller; and, if a synchronization error has occurred, executing error processing related to at least one of the local device and the controller. [Effects of the Invention]
[0008] According to one aspect of the present disclosure, the safety of synchronization processing in a system can be ensured. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of the overall configuration of a device control system. [Figure 2] FIG. 2 is a state transition diagram showing an example of state transition within the device control system. [Figure 3] FIG. 2 is a state transition diagram showing an example of state transition within the device control system. [Figure 4] FIG. 2 is a state transition diagram showing an example of state transition within the device control system. [Figure 5] FIG. 2 is a diagram illustrating an example of a functional configuration of the device control system. [Figure 6] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer used in the device control system. [Figure 7]10 is a flowchart illustrating an example of the operation of the device control system. [Figure 8] 10 is a flowchart illustrating an example of the operation of the device control system. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and redundant description will be omitted.
[0011] [System Overview] FIG. 1 is a diagram showing an example of the overall configuration of a device control system 1 according to an embodiment. The device control system 1 is a mechanism for controlling local devices 3 arranged in a real work environment (i.e., a field). In one example, the device control system 1 includes at least one controller server 2 and at least one local device 3. Each controller server 2 includes at least one virtual controller 10 implemented by software on a computing device of the controller server 2. Each virtual controller 10 controls at least one local device 3 by transmitting commands to the local device 3. With respect to the local device 3, the virtual controller 10 can be said to be a higher-level controller. One virtual controller 10 corresponds to at least one local device 3. Multiple virtual controllers 10 may correspond to one local device 3.
[0012] The equipment control system 1 may include multiple types of local equipment 3. FIG. 1 shows examples of local equipment 3, including a mobile robot 4, a stationary robot 5, an NC machine tool 6, an environmental sensor 7, and a conveyor 8. The mobile robot 4 is an autonomous robot. In one example, the mobile robot 4 includes an automated guided vehicle (AGV) that autonomously travels in response to movement commands and a robot that performs work on a workpiece in response to work commands. The automated guided vehicle may be, for example, an electric AGV (Automated Guided Vehicle). The stationary robot 5 is a robot fixed within the work environment (e.g., to the floor). Both the mobile robot 4 and the stationary robot 5 may be a six-axis vertical articulated robot, a seven-axis redundant robot with an additional joint, a so-called SCARA-type articulated robot, or a so-called parallel link robot. In one example, both the mobile robot 4 and the stationary robot 5 have a tip, to which a tool depending on the processing purpose is attached. Examples of tools include a suction nozzle, a robot hand, a processing tool, and a welding gun. The NC machine tool 6 is a device that performs machining such as cutting on a workpiece in accordance with processing commands. The environmental sensor 7 is a device that acquires information about the work environment in accordance with sensing commands. The environmental sensor 7 may be, for example, a camera that acquires images of the work environment, or a temperature sensor that acquires the temperature of the work environment. The conveyor 8 is a device that transports the workpiece in accordance with transport commands. Examples of the conveyor 8 include a belt conveyor and a roller conveyor.
[0013] In one example, each local device 3 includes a device main body 20 that performs the main function of the local device 3, and a local controller 30 that controls the device main body 20. The local controller 30 controls the device main body 20 according to commands from the virtual controller 10, and transmits responses to the commands to the virtual controller 10. In this example, the local controller 30 is one element of the local device 3. As another example, the local controller 30 itself may exist as a local device 3 in the device control system 1. The local controller 30 that controls the mobile robot 4 or the stationary robot 5 is also called a robot controller.
[0014] In one example, the local device 3 includes at least one of a control target that realizes a motion and an input / output device. In this disclosure, "realizing a motion" means displacing in real space. Displacement includes at least one of a change in position (i.e., movement), a change in attitude, and a change in shape. The displacement may be visible or may occur within the housing of the local device 3 (i.e., invisible). The control target is composed of at least one of the device body 20 and the local controller 30. The input / output device is a device that inputs or outputs information or data and, in one example, maintains a given attitude at a given position without displacing. Both the control target and the input / output device are controlled by the local controller 30 in accordance with commands from the virtual controller 10. In the example of FIG. 1, the mobile robot 4, the stationary robot 5, the NC machine tool 6, and the conveyor 8 are control targets, and the environmental sensor 7 is an input / output device.
[0015] In one example, the virtual controller 10 repeatedly executes a first process for generating a command for controlling the local device 3, and the local device 3 repeatedly executes a second process for executing a process corresponding to the command. In this example, the device control system 1 synchronizes the time between each virtual controller 10 and each local device 3, and causes each local device 3 to operate based on fixed-cycle communication. When fixed-cycle communication is applied, the virtual controller 10 outputs a command at a given cycle, and the local device 3 operates based on the command at that cycle. Furthermore, the local device 3 outputs a response to the virtual controller 10 at that cycle, and the virtual controller 10 receives the response at that cycle.
[0016] In one example, the device control system 1 acquires global time based on an external global clock and performs time synchronization based on the global time. For example, the virtual controller 10 connects to a time server 9 having a global clock via a first communication network Na and acquires global time from the time server 9. The virtual controller 10 and the local devices 3 are connected to each other via a second communication network Nb and perform communication and control based on the time synchronized with the global time. To achieve time synchronization in the device control system 1, various techniques such as Precision Time Protocol (PTP), generalized PTP (gPTP), and Time Sensitive Networking (TSN) may be adopted. The virtual controller 10 may acquire global time using a device or technique other than the time server 9.
[0017] The first communication network Na and the second communication network Nb may be wired networks, wireless networks, or a combination thereof. The first communication network Na and the second communication network Nb may be constructed using a system that includes at least a portion of a mobile communication system. For example, the first communication network Na may be configured using the Internet or a local area network such as Ethernet (registered trademark). The second communication network Nb may be configured using a mobile communication system such as a fifth-generation mobile communication system (5G). For example, the first communication network Na and the second communication network Nb are networks that employ non-periodic communication. Therefore, at least a portion of the non-periodic communication in the second communication network Nb may be configured using a mobile communication system. In this example, the device control system 1 uses the second communication network Nb (i.e., non-periodic communication) to synchronize the time between the virtual controller 10 and the local device 3 and further realizes non-periodic communication. Here, non-periodic communication refers to a communication method in which information communication is performed at regular intervals according to a predetermined format. On the other hand, non-periodic communication refers to a communication method in which the timing of data communication is not necessarily determined.
[0018] For example, the practical application of fifth-generation mobile communication systems (5G) has enabled high-speed wireless communication, increasing the possibility of device control not only via wired communication but also via wireless communication. When the local device 3 includes a robot, the device control system can be realized as a cloud robotics system. On the other hand, when commands and responses are transmitted and received via non-periodic communication such as 5G, various factors within the communication network can cause significant fluctuations in the timing of receiving the command or response, potentially making periodic communication difficult. For example, to improve the reliability of periodic communication in the device control system 1, the virtual controller 10 and the local device 3 transmit and receive communication data to each other, each of which includes a message indicating a command or response and the time at which processing corresponding to the message is to be executed. This time can also be referred to as the message opening time. In this disclosure, this time (opening time) is also referred to as the processing time.
[0019] Assume that the virtual controller 10 repeatedly executes a first process, and the local device 3 repeatedly executes a second process. As at least part of the first process, the virtual controller 10 transmits communication data indicating a processing time to the local device 3 via the second communication network Nb (i.e., by non-periodical communication). As at least part of the second process, the local device 3 references the processing time indicated in the communication data and executes processing corresponding to the communication data at that processing time. This means that the local device 3 buffers the message until the processing time arrives, and only when the processing time arrives does it retrieve the message and execute the processing. This buffering absorbs fluctuations (errors) in the timing of sending and receiving communication data due to non-periodical communication, thereby maintaining periodic communication.
[0020] As described above, time synchronization is performed within the device control system 1, and the processing time is set based on the synchronized time, allowing each virtual controller 10 and each local device 3 to call a message at an appropriate timing. The processing time is used in repeated execution in each of the virtual controller 10 and the local device 3, thereby realizing processing based on periodic communication (periodic control).
[0021] In one example, the device control system 1 executes a given error process when a phenomenon that interferes with the periodic control occurs, i.e., when an error occurs related to synchronization between the virtual controller 10 and the local device 3. In the present disclosure, such an error is also referred to as a synchronization error. The error process is a process for ensuring the safety of the synchronization process in the device control system 1.
[0022] The state transitions of the device control system 1 taking error processing into consideration will be described with reference to Figures 2 to 4. Figures 2 to 4 are all state transition diagrams showing examples of state transitions within the device control system 1.
[0023] FIG. 2 shows the state transitions of individual devices in the device control system 1, such as the controller server 2, virtual controller 10, and local device 3. In this example, when a device is powered on, it enters the "initialization" state, and then transitions to the "normal operation" state upon startup. If a power-off interrupt signal is output from the processor during normal operation, the device transitions to the "shutdown" state. If a stop command is output from the processor during initialization or normal operation, for example for debugging, the device transitions to the "pause" state. A paused device returns to normal operation with a RUN command from the processor, and is shut down with a power-off interrupt signal from the processor. If a fatal error occurs during initialization, normal operation, or pause, the device transitions to the "abnormal termination" state.
[0024] FIG. 3 shows state transitions focusing on the network connection (i.e., communication) between the virtual controller 10 and the local device 3. In this example, when initialization such as parameter setting is completed, the state transitions from “initialization” to “pairing wait.” When pairing is subsequently started, the state transitions from “pairing wait” to “normal communication.” If a first-level communication error occurs in the “normal communication” state, the state transitions to “communication abnormal.” If a second-level communication error (lower than the first level) occurs in the “normal communication” state, the state transitions to “communication warning.” When the communication error is resolved, the state returns to “normal communication.” If a first-level communication error occurs or a second-level communication error continues for a given time period while the state is “communication warning,” the state transitions to “communication abnormal.” When the communication error that caused the “communication abnormal” is resolved, the state transitions to “pairing wait.” If pairing is stopped while the state is “normal communication” or “communication warning,” the state transitions to “pairing wait.” If a stop command is output from the processor for debugging or other purposes during initialization, pairing wait, normal communication, or communication warning, the device will transition to the "pause" state. A paused device will transition to the "pairing wait" state when the processor issues a RUN command.
[0025] The communication error shown in FIG. 3 is an example of a synchronization error. This communication error is an error related to packet transmission between the virtual controller 10 and the local device 3. In one example, communication errors are classified into two types: a first level and a second level. The level of a communication error is an index indicating the degree of seriousness of the communication error. The first level refers to a case where the seriousness of the communication error is a given degree, and the second level refers to a case where the seriousness is lower than the first level. The level of a communication error is used to classify the communication error.
[0026] FIG. 4 shows state transitions focusing on time synchronization between the virtual controller 10 and the local device 3. In this example, when initialization is complete, the state transitions from “Initialization” to “Time Normal.” If a first-level time synchronization error occurs while the state is “Time Normal,” the state transitions to “Time Abnormal.” If a second-level time synchronization error (lower than the first level) occurs while the state is “Time Normal,” the state transitions to “Time Warning.” Once the time synchronization error is resolved, the state returns to “Time Normal.” If a first-level time synchronization error occurs while the state is “Time Warning,” or if a second-level time synchronization error continues for a given period of time, the state transitions to “Time Abnormal.” Time synchronization is a prerequisite for normal operation of the device control system 1. Therefore, if the device control system 1 enters the “Time Abnormal” state, the device control system 1 will not recover unless it is restarted, in consideration of ensuring safety. After it is confirmed that the time abnormality has been resolved, the entire device control system 1 is restarted. The restarted device control system 1 executes initialization of the time synchronization, and only when the initialization is successful does it return to the "time normal" state.
[0027] The time synchronization error shown in FIG. 4 is an example of a synchronization error. This time synchronization error is an error related to the time synchronization between the virtual controller 10 and the local device 3. In one example, time synchronization errors are classified into two types: a first level and a second level. The level of a time synchronization error is an index indicating the degree of seriousness of the time synchronization error. The first level refers to a case where the time synchronization error is at a given level, and the second level refers to a case where the seriousness is lower than the first level. The level of a time synchronization error is used to classify the time synchronization error.
[0028] [System Configuration] The functional configuration of the device control system 1 related to error processing will be described with reference to FIG. 5. FIG. 5 is a diagram illustrating an example of the functional configuration. In this example, a local controller 30 is illustrated as at least a part of the local device 3. The device control system 1 includes functional modules: an acquisition unit 101, a determination unit 102, and an error processing unit 103. The acquisition unit 101 is a functional module that acquires communication data transmitted between the virtual controller 10 and the local controller 30 via the second communication network Nb (non-periodic communication). The determination unit 102 is a functional module that determines whether a synchronization error has occurred between the virtual controller 10 and the local device 3 based on the communication data. The error processing unit 103 is a functional module that executes error processing related to at least one of the virtual controller 10 and the local device 3 when the synchronization error occurs. When a communication error occurs, the error processing unit 103 executes error processing corresponding to the communication error. When a time synchronization error occurs, the error processing unit 103 executes error processing corresponding to the time synchronization error. In the example of FIG. 5, the acquisition unit 101, the determination unit 102, and the error processing unit 103 are implemented in both the virtual controller 10 and the local controller 30.
[0029] In one example, the virtual controller 10 includes a command unit 11, a communication unit 12, a time synchronization unit 13, a determination unit 14, and an error processing unit 15. The command unit 11 is a functional module that generates commands for controlling the local devices 3 and sets processing times corresponding to the commands. The communication unit 12 is a functional module that transmits and receives communication data to and from the local controller 30 via the second communication network Nb. As at least part of this function, the communication unit 12 transmits communication data indicating the commands and the processing times to the local controller 30. The time synchronization unit 13 is a functional module that synchronizes the controller time indicated by a controller clock in the virtual controller 10 with the global time and generates communication data for notifying the local controller 30 of the controller time. The communication unit 12 and the time synchronization unit 13 are both examples of the acquisition unit 101. The determination unit 14 and the error processing unit 15 are examples of the determination unit 102 and the error processing unit 103, respectively.
[0030] In one example, the local controller 30 includes an execution unit 31, a communication unit 32, a time synchronization unit 33, a determination unit 34, and an error processing unit 35. The execution unit 31 is a functional module that references a processing time indicated in communication data and executes processing corresponding to the communication data at the processing time. The communication unit 32 is a functional module that transmits and receives communication data to and from the virtual controller 10 via the second communication network Nb. As at least part of this function, the communication unit 32 receives communication data indicating a command and the processing time. The time synchronization unit 33 is a functional module that synchronizes the local time indicated by a local clock in the local controller 30 with the controller time. The communication unit 32 and the time synchronization unit 33 are both examples of the acquisition unit 101. The determination unit 34 and the error processing unit 35 are examples of the determination unit 102 and the error processing unit 103, respectively.
[0031] In one example, the virtual controller 10 repeatedly generates and transmits communication data indicating a command and a processing time through cooperation between the command unit 11 and the communication unit 12. The local controller 30, through cooperation between the execution unit 31 and the communication unit 32, executes a command at a specified processing time based on the communication data every time it receives the communication data.
[0032] 6 is a diagram showing an example of the hardware configuration of a computer 200 used in the device control system 1. For example, the virtual controller 10 and the local controller 30 are realized using this computer 200.
[0033] The computer 200 includes a circuit 210. The circuit 210 includes a processor 211, a memory 212, a storage 213, a timer 214, an input / output port 215, and a communication port 216. The number of each of these hardware elements may be one or more. The storage 213 stores programs for configuring each functional module on the computer 200. The storage 213 is a computer-readable recording medium such as a hard disk, a non-volatile semiconductor memory, a magnetic disk, or an optical disk. The memory 212 temporarily stores programs loaded from the storage 213, calculation results of the processor 211, and the like. The processor 211 realizes each functional module by executing programs in cooperation with the memory 212. The input / output port 215 inputs and outputs electrical signals to and from a target device 220, such as a device main body, a monitor, or an input device, in response to commands from the processor 211. The input / output port 215 may also serve to supply power to the device main body. The communication port 216 performs data communication with other devices via the communication network N (for example, at least one of the first communication network Na and the second communication network Nb) in accordance with instructions from the processor 211.
[0034] [System Operation] As an example of a device control method according to the present disclosure, an example of the operation of the device control system 1 will be described with reference to FIGS. 7 and 8. FIG. 7 is a flowchart showing an example of the operation of the device control system 1 regarding a communication error as processing flow S1. That is, in one example, the device control system 1 executes processing flow S1. FIG. 8 is a flowchart showing an example of the operation of the device control system 1 regarding a time synchronization error as processing flow S2. That is, in one example, the device control system 1 executes processing flow S2. Basically, processing flows S1 and S2 are common to the virtual controller 10 and the local controller 30. Therefore, unless otherwise specified, the following will be described as processing by the acquisition unit 101, the determination unit 102, and the error processing unit 103.
[0035] (Handling communication errors) Processing related to a communication error will be described with reference to FIG. 7. In step S11, the acquisition unit 101 acquires communication data. The communication data may include a data item indicating a command or a response, may include a processing time, or may include a data item indicating information for time synchronization. In any case, the communication data includes a communication status indicating the order of packets in chronological order. This communication status may be represented by various values such as a counter value, a sending time, or an opening time. Step S11 is executed by the communication unit 12 in the virtual controller 10, and by the communication unit 32 in the local controller 30.
[0036] In step S12, the determination unit 102 determines whether a communication error has occurred based on the communication data. The determination unit 102 may perform this determination process based on communication data for one communication cycle of fixed-cycle communication, or may perform this determination process based on a collection of communication data accumulated over multiple communication cycles of fixed-cycle communication. For example, the determination unit 102 determines whether a communication error has occurred by referring to the communication status of each of one or more packets. If a communication error has not occurred (NO in step S13), no error processing is performed, and the device control system 1 maintains the "normal communication" state. If a communication error has occurred (YES in step S13), the process proceeds to step S14.
[0037] As shown in step S14, the subsequent processing of the device control system 1 differs depending on the level of the communication error (i.e., the type of communication error). The determination unit 102 determines the level (type), and the error processing unit 103 executes error processing according to the determination.
[0038] Various examples of determining a communication error will be described. The determination unit 102 may determine that the communication error is of a first level when an error occurs in a watchdog timer that monitors communication data (packet transmission). A watchdog timer is a timer that periodically monitors the operation of a computer. Alternatively, the determination unit 102 may determine that the communication error is of a second level when a delay or sequence error occurs with respect to a packet representing communication data. A delay refers to a phenomenon in which the reception of communication data (packets) is delayed from a given timing (scheduled timing) to an unacceptable extent. A sequence error refers to a phenomenon in which the arrival order of packets is changed from a specified order (for example, a phenomenon in which a second packet that should be received after a first packet is received before the first packet).
[0039] If the communication error is of the first level, the process proceeds to step S15. In step S15, the error processing unit 103 executes error processing corresponding to the "communication abnormality." For example, the error processing unit 103 may execute error processing according to the type of local device 3. As an example, when a communication error occurs in a type 1 device, the error processing unit 103 may stop the type 1 device, and when a communication error occurs in a type 2 device, the error processing unit 103 may continue operation of the type 2 device. In one example, the type 1 device may be a local device 3 for realizing the motion of a control object. In this case, the error processing unit 103 stops the control object (e.g., a mobile robot 4, a stationary robot 5, an NC machine tool 6, or a conveyor 8) when a communication error occurs. In one example, the type 2 device may be a local device 3 having an input / output device. In this case, when the communication error is of the first level, the error processing unit 103 continues operation of the input / output device.
[0040] When a first level communication error occurs in either the upstream communication or the downstream communication of the second communication network Nb (non-periodic communication), either the virtual controller 10 or the local controller 30 may play a central role in error processing.
[0041] An example of processing when a communication error occurs in upstream communication will be described. In this example, the determination unit 14 and error processing unit 15 of the virtual controller 10 play a central role in error processing. The determination unit 14 determines whether a communication error has occurred in upstream communication based on communication data received by the communication unit 12. If a communication error has occurred, the determination unit 14 further determines the level of the communication error. Receiving communication data by the communication unit 12 corresponds to step S11, and processing by the determination unit 14 based on the communication data corresponds to steps S12 to S14. If the communication error is of a first level, the error processing unit 15 transmits a stop command to the first-type device via the downlink of the second communication network Nb (non-periodic communication). This stop command is a command to stop the first-type device, and transmitting the stop command corresponds to step S15. The first-type device receives the stop command and stops based on the stop command. For example, the local controller 30, which is one element of the first-type device, receives the stop command and stops the device main body 20 in accordance with the stop command.
[0042] An example of processing when a communication error occurs in downstream communication will be described. In this example, the determination unit 34 and error processing unit 35 of the local controller 30 of the first-type device play a central role in error processing. The determination unit 34 determines whether a communication error has occurred in downstream communication based on communication data received by the communication unit 32. If a communication error has occurred, the determination unit 34 further determines the level of the communication error. Receipt of communication data by the communication unit 32 corresponds to step S11, and processing by the determination unit 34 based on the communication data corresponds to steps S12 to S14. If the communication error is of the first level, the error processing unit 35 stops the device main body 20 without executing a command received from the virtual controller 10 but not yet executed. In other words, the error processing unit 35 stops the first-type device in priority to a command from the virtual controller 10. This stopping corresponds to step S15.
[0043] If the corresponding communication error is resolved after error processing corresponding to the "communication abnormality" is executed, the error processing unit 103 may resume pairing between the virtual controller 10 and the local device 3 (e.g., the local controller 30) in response to the resolution. The error processing unit 103 may execute this re-pairing in response to a user input, or may execute it automatically without receiving a user input. When pairing is resumed, the device control system 1 may transition from the "communication abnormality" state to a "pairing waiting" state, and then return to the "normal communication" state.
[0044] If the communication error is of the second level, the process proceeds to step S16. In step S16, the error processing unit 103 executes error processing corresponding to a "communication warning" or a "communication abnormality" based on the duration of the second level. For example, the error processing unit 103 outputs a warning message corresponding to the communication error while maintaining communication between the virtual controller 10 and the local device 3. This is an example of error processing corresponding to a "communication warning." In this case, communication between the virtual controller 10 and the local device 3 remains connected, so that transmission and reception of communication data can also continue. The error processing unit 103 may display the warning message on a display device, output it from a speaker, or transmit it to a given computer such as an administrator terminal. If the second-level communication error continues for a given time period, the error processing unit 103 may execute error processing corresponding to a "communication abnormality" (i.e., the process of step S15). For example, the error processing unit 103 executes the process of step S15 if at least one of a delay and a sequence error in communication data (packet transmission) continues for that time period.
[0045] (Time synchronization error handling) Processing related to a time synchronization error will be described with reference to FIG. 8. In step S21, the acquisition unit 101 acquires communication data related to time synchronization. This communication data also includes a communication status. In one example, step S21 is executed by at least one of the communication unit 12 and the time synchronization unit 13 in the virtual controller 10, and by at least one of the communication unit 32 and the time synchronization unit 33 in the local controller 30.
[0046] In step S22, the determination unit 102 determines whether a time synchronization error has occurred based on the communication data. The determination unit 102 may perform this determination process based on communication data for one communication cycle of fixed-cycle communication, or may perform this determination process based on a collection of communication data accumulated over multiple communication cycles of fixed-cycle communication. For example, the determination unit 102 determines whether a time synchronization error has occurred by referring to the communication status of each of one or more packets or a given message. If a time synchronization error has not occurred (NO in step S23), no error processing is performed, and the device control system 1 maintains the "time normal" state. If a time synchronization error has occurred (YES in step S23), the process proceeds to step S24.
[0047] As shown in step S24, the subsequent processing of the device control system 1 differs depending on the level of the time synchronization error (i.e., the type of the time synchronization error). The determination unit 102 determines the level (type), and the error processing unit 103 executes error processing according to the determination.
[0048] Various examples of determining a time synchronization error will be described. The determination unit 102 may determine that the time synchronization error is level 1 if reception of communication data related to time synchronization times out (i.e., if the time during which the communication data is not received exceeds a given allowable time). Alternatively, the determination unit 102 may determine that the time synchronization error is level 1 if initialization related to time synchronization fails. The determination unit 102 may determine that the time synchronization error is level 1 if the time difference between the controller time of the virtual controller 10 and the local time of the local device 3 is greater than a given threshold, and may determine that the time synchronization error is level 2 if the time difference is within a numerical range equal to or less than the threshold (hereinafter, this numerical range will also be referred to as the "warning range"). The lower limit of the warning range is greater than 0. Alternatively, the determination unit 102 may determine that the time synchronization error is level 2 if the state of the protocol for time synchronization corresponds to a given abnormality.
[0049] If the time synchronization error is at the first level, the process proceeds to step S25. In step S25, the error processing unit 103 executes error processing corresponding to the "time abnormality." For example, the error processing unit 103 stops both the virtual controller 10 and the local device 3. The error processing unit 103 may stop both the virtual controller 10 and the local device 3 so that a manual restart is required. In one example, the error processing unit 105 stops the virtual controller 10, and the error processing unit 35 stops the local device 3.
[0050] If the time synchronization error is of the second level, the process proceeds to step S26. In step S26, the error processing unit 103 executes error processing corresponding to a "time warning" or a "time abnormality" based on the duration of the second level. For example, the error processing unit 103 outputs a warning message corresponding to the determined time synchronization error while continuing time synchronization between the virtual controller 10 and the local device 3. As in the case of a communication error, the warning message can be output using various methods. The error processing unit 103 may execute error processing corresponding to a "time abnormality" (i.e., the process of step S25) when a second-level time processing error continues for a given time width. For example, the error processing unit 103 executes the process of step S25 when a situation in which the time difference between the controller time and the local time is within the warning range occurs continuously for n periods (n is an integer equal to or greater than 2).
[0051] In one example, both process flows S1 and S2 are repeatedly executed at a given cycle. For example, process flow S1 may be repeatedly executed in accordance with the communication cycle of periodic communication. Process flow S2 may be repeatedly executed in accordance with the cycle of time-synchronized processing. The cycles of process flows S1 and S2 may be different from each other or may be the same. Furthermore, the cycles of process flows S1 and S2 may or may not be synchronized.
[0052] As described above with respect to the process flows S1 and S2, the error processing unit 103 may execute different error processes when a communication error occurs and when a time synchronization error occurs. If the determination unit 102 further determines the level of the synchronization error, the error processing unit 103 operates according to the level. In one example, when the synchronization error is a first level, the error processing unit 103 executes error processing corresponding to the first level. In another example, when the synchronization error is a second level, the error processing unit continues synchronization while outputting a warning message corresponding to the synchronization error. In response to the second level continuing for a given time duration, the error processing unit 103 may execute error processing corresponding to the first level. As described above, the device control system 1 executes appropriate error processing for each synchronization error according to the situation.
[0053] [program] Each functional module of device control system 1 is realized by loading a device control program onto processor 211 or memory 212 and having processor 211 execute the program. The device control program includes code for realizing each functional module of device control system 1. Processor 211 operates input / output port 215 or communication port 216 in accordance with the device control program, and executes reading and writing of data from memory 212 or storage 213. Each functional module of device control system 1 is realized by such processing.
[0054] The device control program may be provided by being permanently recorded on a non-transitory recording medium such as a CD-ROM, a DVD-ROM, a semiconductor memory, etc. Alternatively, the device control program may be provided via a communication network as a data signal superimposed on a carrier wave.
[0055] [effect] As described above, a device control system according to one aspect of the present disclosure includes an acquisition unit that acquires communication data transmitted by non-periodic communication between a local device and a controller that controls the local device, a determination unit that determines, based on the communication data, whether a synchronization error has occurred, which is an error related to synchronization between the local device and the controller, and an error processing unit that, when a synchronization error has occurred, executes error processing related to at least one of the local device and the controller.
[0056] A device control method according to one aspect of the present disclosure includes the steps of acquiring communication data transmitted by non-periodic communication between a local device and a controller that controls the local device, determining whether a synchronization error has occurred, which is an error related to synchronization between the local device and the controller, based on the communication data, and, if a synchronization error has occurred, executing error processing related to at least one of the local device and the controller.
[0057] A device control program according to one aspect of the present disclosure causes a computer system to perform the following steps: acquiring communication data transmitted by non-periodic communication between a local device and a controller that controls the local device; determining, based on the communication data, whether a synchronization error has occurred, which is an error related to synchronization between the local device and the controller; and, if a synchronization error has occurred, executing error processing related to at least one of the local device and the controller.
[0058] In this aspect, if a synchronization error occurs in a device control system using non-periodic communication, error processing is executed, thereby ensuring the safety of synchronization processing using non-periodic communication.
[0059] In a device control system according to another aspect, the controller may repeatedly execute a first process, and the local device may repeatedly execute a second process. The controller may include a transmitter that, as at least part of the first process, transmits communication data indicating a processing time based on a controller time of the controller, which is based on time synchronization between the controller and the local device, to the local device via non-periodic communication. The local device may include, as at least part of the second process, an execution unit that references the processing time indicated in the transmitted communication data and executes a process corresponding to the communication data at the processing time. In this case, the execution timing of the process in the local device is set by the processing time based on the controller time, thereby realizing periodic communication. In such a device control system, if a synchronization error occurs, error processing is executed. This ensures the safety of synchronization processing in a device control system that realizes periodic communication over non-periodic communication.
[0060] In a device control system according to another aspect, the synchronization error may include a time synchronization error that is an error related to time synchronization between the controller and the local device, and when a time synchronization error occurs, the error processing unit may execute error processing corresponding to the time synchronization error. Because time synchronization errors that may occur due to the use of non-periodic communication are determined, appropriate error processing can be executed when time synchronization becomes difficult.
[0061] In a device control system according to another aspect, the synchronization error may further include a communication error, which is an error related to packet transmission between the controller and the local device. The error processing unit may execute different error processes when a communication error occurs and when a time synchronization error occurs. In a device control system using non-periodic communication, a time synchronization error and a communication error are essentially different errors. By changing the error process depending on each of these two types of errors, the safety of the device control system can be improved.
[0062] In a device control system according to another aspect, the error processing unit may stop the local device and the controller when a time synchronization error occurs. Stopping the device control system when a time synchronization error occurs can further improve the safety of the system.
[0063] In a device control system according to another aspect, the error processing unit may stop the local device and the controller so that a manual restart is required. Time synchronization, which is important in a device control system, is preferably resumed once reliable recovery has been confirmed. This mechanism can adequately ensure the safety of the device control system.
[0064] In a device control system according to another aspect, the error processing unit may shut down the local device and the controller when a timeout occurs in receiving communication data related to time synchronization. Failure to receive data related to time synchronization can be considered a serious error. Shutting down the device control system in the event of such an error can appropriately ensure the safety of the device control system.
[0065] In a device control system according to another aspect, the error processing unit may shut down the local device and the controller if initialization related to time synchronization fails. Failure to initialize time synchronization means that time synchronization is impossible, which can be considered a serious error. Shutting down the system in the event of such an error can appropriately ensure the safety of the device control system.
[0066] In a device control system according to another aspect, the error processing unit may stop the local device and the controller when a time difference between the controller time of the controller and the local time of the local device is greater than a given threshold. By stopping the system when the time difference affecting time synchronization exceeds a given standard, the safety of the device control system can be appropriately ensured.
[0067] In the device control system according to another aspect, when a communication error occurs, the error processor may execute error processing according to the type of the local device. By executing error processing according to the type of the local device, it is possible to appropriately ensure the safety of the device control system according to the error situation.
[0068] In a device control system according to another aspect, the local devices may include a first-type device and a second-type device. The error processing unit may stop the first-type device when a communication error occurs in the first-type device, and may continue operation of the second-type device when a communication error occurs in the second-type device. By varying the error processing in this way depending on the type of local device, flexible error processing according to the situation becomes possible.
[0069] In a device control system according to another aspect, the first type device may be a device for realizing a motion of a controlled object. When a communication error occurs, the error processing unit may stop the first type device so that the motion does not occur. By stopping the motion that may have an unintended effect on the surrounding area, the safety of the device control system can be reliably ensured.
[0070] In a device control system according to another aspect, the determination unit and the error processing unit may be implemented in the controller. The determination unit may determine whether a communication error has occurred in upstream communication of the non-periodic communication, and the error processing unit may, if a communication error has occurred, send a stop command to the first-type device via downstream communication of the non-periodic communication, and the first-type device may stop based on the stop command. If a communication error has occurred in the upstream communication direction, the first-type device can be reliably stopped by sending the stop command to the first-type device using downstream communication.
[0071] In a device control system according to another aspect, the determination unit and the error processing unit may be implemented in the first-type device. The determination unit may determine whether a communication error has occurred in downstream communication of the non-periodic communication, and the error processing unit may stop the first-type device if a communication error has occurred, giving priority to stopping the first-type device over a command from the controller. With this mechanism, the first-type device can be reliably stopped by autonomously stopping the first-type device if a communication error has occurred in the downstream communication direction.
[0072] In another aspect of the device control system, the second-type device may include an input / output device. The error processing unit may continue operation of the input / output device when a communication error occurs. In this case, the input / output device can continue to operate without issuing unnecessary commands to the input / output device, which does not cause unintended effects on the surrounding area even when a communication error occurs.
[0073] In a device control system according to another aspect, the error processor may execute error processing according to the type of local device when a packet transmission delay continues for a given time duration. This mechanism can appropriately ensure the safety of the device control system against long packet transmission delays.
[0074] In the device control system according to another aspect, when an error occurs in a watchdog timer that monitors packet transmission, the error processor may execute error processing according to the type of local device, thereby appropriately ensuring the safety of the system against watchdog timer errors.
[0075] In a device control system according to another aspect, the error processor may, as at least part of the error processing, resume pairing between the controller and the local device in response to resolution of the communication error. With this mechanism, when the communication error is resolved, the controller and the local device can be reconnected.
[0076] In an equipment control system according to another aspect, the determination unit may further determine a level of the synchronization error. The error processing unit may execute error processing when the synchronization error is at a first level, and may execute error processing in response to the second level continuing for a given time period when the synchronization error is at a second level lower than the first level. When the synchronization error level is relatively low, the error processing is executed based on the duration of that situation, thereby making it possible to balance safety and operation in the operation of the equipment control system.
[0077] In a device control system according to another aspect, if the synchronization error is at a second level, the error processing unit may continue synchronization while outputting a warning message corresponding to the synchronization error. If the error level is relatively low, the error processing unit may maintain synchronization while outputting the warning message, thereby notifying the device control system of a sign of an upcoming serious error before the error occurs.
[0078] In a device control system according to another aspect, at least a part of the non-periodic communication may be configured by a mobile communication system. In this case, safety of the synchronization process can be ensured in a mechanism using the mobile communication system for the non-periodic communication.
[0079] In a device control system according to another aspect, the controller may be a virtual controller implemented on a server. In this case, safety of synchronization processing can be ensured in a mechanism in which the controller is virtualized.
[0080] [Variations] The present disclosure has been described in detail above based on the embodiments. However, the present disclosure is not limited to the above embodiments. Various modifications of the present disclosure are possible without departing from the spirit and scope of the present disclosure.
[0081] The upper controller in the device control system may not be a virtual controller, but may be a device having a dedicated hardware configuration.
[0082] In the present disclosure, the level of a synchronization error can be considered to be convenient information for classifying synchronization errors, and the appliance control system may execute error processing according to the type of synchronization error without using the level.
[0083] In the above example, the virtual controller 10 or the local controller 30 includes a functional module for error processing. In addition to or instead of this, a communication device or a computer included in the second communication network Nb may include the functional module. For example, the communication device or the computer may include at least one of an acquisition unit, a determination unit, and an error processing unit.
[0084] The hardware configuration of the system is not limited to the implementation of each functional module by executing a program. For example, at least some of the functional modules in the above embodiments may be configured with logic circuits specialized for the function, or may be configured with an ASIC (Application Specific Integrated Circuit) that integrates such logic circuits.
[0085] The processing procedure of the method executed by at least one processor is not limited to the examples in the above embodiment. For example, some of the steps (processing) described above may be omitted, or the steps may be executed in a different order. Furthermore, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the steps described above.
[0086] When comparing the magnitude of two numbers within a computer system or computer, either of the two criteria "greater than or equal to" and "greater than" may be used, or either of the two criteria "less than or equal to" and "under." The choice of such criteria does not change the technical significance of the process of comparing the magnitude of two numbers. [Explanation of symbols]
[0087] 1...equipment control system, 2...controller server, 3...local device, 9...time server, 10...virtual controller, 11...command unit, 12...communication unit (acquisition unit), 13...time synchronization unit (acquisition unit), 14...determination unit, 15...error processing unit, 20...device main body, 30...local controller, 31...execution unit, 32...communication unit (acquisition unit), 33...time synchronization unit (acquisition unit), 34...determination unit, 35...error processing unit, 101...acquisition unit, 102...determination unit, 103...error processing unit, Na...first communication network, Nb...second communication network.
Claims
1. an acquisition unit that acquires communication data transmitted by non-periodical communication between a local device and a controller that controls the local device; a determination unit that determines whether or not a synchronization error has occurred, which is an error related to synchronization between the local device and the controller, based on the communication data, and the synchronization error includes a time synchronization error, which is an error related to time synchronization between the controller and the local device, and a communication error, which is an error related to packet transmission between the controller and the local device; and an error processing unit that, when the time synchronization error occurs, executes a time synchronization error process that is an error process corresponding to the time synchronization error, and, when the communication error occurs, executes a communication error process that is an error process different from the time synchronization error process in response to the communication error; An equipment control system comprising:
2. The error processing unit: When the time synchronization error occurs, the local device and the controller are stopped as the time synchronization error processing. When the communication error occurs, an error process according to the type of the local device is executed as the communication error process. The equipment control system according to claim 1 .
3. the error processing unit shuts down the local device and the controller so that a manual restart is required; The equipment control system according to claim 2 .
4. the error processing unit stops the local device and the controller when a timeout occurs in reception of the communication data related to the time synchronization. The device control system according to claim 2 or 3.
5. the error processing unit stops the local device and the controller when the initialization related to the time synchronization fails. The device control system according to any one of claims 2 to 4.
6. the error processing unit stops the local device and the controller when a time difference between a controller time of the controller and a local time of the local device is greater than a given threshold value; The device control system according to any one of claims 2 to 5.
7. the local devices include a first type device and a second type device; The error processing unit When the communication error occurs in the first type device, the first type device is stopped; When the communication error occurs in the second type device, the operation of the second type device is continued. The device control system according to any one of claims 2 to 6.
8. The first type device is a device for realizing a motion of a control target, the error processing unit stops the first type device so that the motion does not occur when the communication error occurs; The equipment control system according to claim 7.
9. the determination unit and the error processing unit are implemented in the controller; the determination unit determines whether the communication error has occurred in uplink communication of the non-fixed periodic communication, the error processing unit transmits a stop command to the first type device via downstream communication of the non-periodic communication when the communication error occurs; the first type device is stopped based on the stop command; 9. The device control system according to claim 7 or 8.
10. the determination unit and the error processing unit are implemented in the first type device, the determination unit determines whether the communication error has occurred in downstream communication of the non-fixed periodic communication; the error processing unit stops the first type device in priority over a command from the controller when the communication error occurs.
9. The device control system according to claim 7 or 8.
11. the second type device has an input / output device, the error processing unit continues operation of the input / output device when the communication error occurs. The device control system according to any one of claims 7 to 10.
12. the error processing unit executes the error processing according to the type of the local device when the delay in the packet transmission continues for a given time width. The device control system according to any one of claims 2 to 11.
13. the error processing unit executes the error processing according to the type of the local device when an error occurs in a watchdog timer that monitors the packet transmission. The device control system according to any one of claims 2 to 12.
14. the error processing unit, as at least a part of the communication error processing, resumes pairing between the controller and the local device in response to resolution of the communication error. The device control system according to any one of claims 1 to 13.
15. The determination unit further determines a level of the synchronization error, The error processing unit If the time synchronization error is a first level, execute the time synchronization error processing; executing the time synchronization error processing in response to the time synchronization error being at a second level lower than the first level and being maintained at the second level for a given time period; If the communication error is of a first level, execute the communication error process; and when the communication error is at a second level lower than the first level, executing the communication error processing in response to the second level continuing for a given time duration. The device control system according to any one of claims 1 to 14.
16. The error processing unit If the time synchronization error is at the second level, outputting a warning message corresponding to the time synchronization error while continuing the time synchronization; If the communication error is at the second level, outputting a warning message corresponding to the communication error while continuing communication between the controller and the local device. The equipment control system according to claim 15.
17. The controller repeatedly executes a first process, The local device repeatedly executes a second process; the controller includes a transmitter that transmits, as at least a part of the first processing, the communication data indicating a processing time based on a controller time of the controller that is based on time synchronization between the controller and the local device, to the local device by the non-periodic communication; the local device includes an execution unit that, as at least a part of the second process, references the processing time indicated in the transmitted communication data and executes the process corresponding to the communication data at the processing time. The device control system according to any one of claims 1 to 16.
18. At least a part of the non-periodic communication is configured by a mobile communication system. The device control system according to any one of claims 1 to 17.
19. The controller is a virtual controller implemented on a server. The device control system according to any one of claims 1 to 18.
20. A device control method executed by a device control system having at least one processor, comprising: acquiring communication data transmitted by non-periodical communication between a local device and a controller that controls the local device; a step of determining whether or not a synchronization error has occurred, which is an error related to synchronization between the local device and the controller, based on the communication data, the synchronization error including a time synchronization error, which is an error related to time synchronization between the controller and the local device, and a communication error, which is an error related to packet transmission between the controller and the local device; When the time synchronization error occurs, a time synchronization error process is executed which is an error process corresponding to the time synchronization error, and when the communication error occurs, a communication error process is executed which is an error process corresponding to the communication error and different from the time synchronization error process; A device control method including:
21. acquiring communication data transmitted by non-periodical communication between a local device and a controller that controls the local device; a step of determining whether or not a synchronization error has occurred, which is an error related to synchronization between the local device and the controller, based on the communication data, the synchronization error including a time synchronization error, which is an error related to time synchronization between the controller and the local device, and a communication error, which is an error related to packet transmission between the controller and the local device; When the time synchronization error occurs, a time synchronization error process is executed which is an error process corresponding to the time synchronization error, and when the communication error occurs, a communication error process is executed which is an error process corresponding to the communication error and different from the time synchronization error process; A device control program that causes a computer to execute the above.
Citation Information
Patent Citations
Motion control system
JP2007226492A
Machining system and control method
JP2019209454A