Control system, communication terminal, and communication method

JPWO2024185100A5Pending Publication Date: 2025-11-25
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025505012
Authority / Receiving Office
JP · JP
Patent Type
Applications
Priority Date
2023-03-08
Filing Date
2023-03-08
Publication Date
2025-11-25

AI Technical Summary

Technical Problem

In systems with multiple controllers, time synchronization via communication requires efficient management to reduce communication load, as existing methods often lead to increased data exchange frequency and potential delays, affecting the reliability and efficiency of control processes.

Method used

A control system that includes a time master for periodic synchronization signal transmission, local controllers for data exchange with the time master, and restriction units to limit the frequency of the first correction process, ensuring data exchange occurs less frequently than synchronization signal transmission, thereby reducing communication load.

Benefits of technology

This approach effectively minimizes communication load for time synchronization, maintaining control process reliability while providing sufficient communication resources for periodic communication, and suppressing deviations in local clocks relative to the time master.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A control system 3 comprises: a time master 101 for periodically transmitting, via a network NW, a synchronization signal for performing time synchronization; and a local controller that is connected via the network NW to the time master 101 and controls a machine 2. The local controller comprises a local clock 311, and a first correction unit 321 that, in accordance with a synchronization signal received via the network NW, exchanges data with the time master 101, including transmission of a response signal to the synchronization signal, that obtains an offset quantity for the local clock 311 with respect to the time master 101, and that performs first correction processing to correct the local clock 311 in accordance with the offset quantity. The control system 3 is furthermore provided with a restriction unit 322, 412 for restricting the frequency of the first correction processing to be less than the frequency of transmission of the synchronization signal.
Need to check novelty before this filing date? Find Prior Art

Description

Control system, communication terminal, and communication method

[0001] The present disclosure relates to a control system, a communication terminal, and a communication method.

[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.

[0003] Japanese Patent Application Laid-Open No. 2019-209454

[0004] In a system having multiple controllers, time synchronization via communication may be required. The present disclosure provides a control system that is effective in reducing the communication load for time synchronization.

[0005] A control system according to one aspect of the present disclosure includes a time master that periodically transmits a synchronization signal via a network for time synchronization, and a controller that is connected to the time master via the network and controls a machine, wherein the controller has a local clock and a first correction unit that exchanges data with the time master in response to the synchronization signal received via the network, including transmitting a response signal to the synchronization signal, obtains the amount of deviation of the local clock from the time master, and performs a first correction process to correct the local clock in accordance with the amount of deviation, and the control system further includes a limiting unit that limits the frequency of the first correction process to be less than the frequency of transmitting the synchronization signal.

[0006] A communication terminal according to another aspect of the present disclosure includes a terminal communication unit that receives a synchronization signal periodically transmitted by a time master, transmits the synchronization signal to a controller having a local clock, receives a response signal to the synchronization signal transmitted by the controller for data exchange to obtain the deviation amount of the local clock relative to the time master, and transmits the response signal to the time master; and a restriction unit that blocks the response signal before it is received by the time master, thereby restricting the completion of data exchange, so that the frequency of the first correction process is less than the frequency of transmitting the synchronization signal.

[0007] A communication method according to yet another aspect of the present disclosure includes receiving a synchronization signal periodically transmitted by a time master via a network, exchanging data with the time master in response to the synchronization signal, including transmitting a response signal to the synchronization signal, obtaining the amount of deviation of the local clock relative to the time master, performing a first correction process to correct the local clock in accordance with the amount of deviation, and limiting the frequency of the first correction process to be less than the frequency of transmitting the synchronization signal.

[0008] According to the present disclosure, it is possible to provide a control system that is effective in reducing the communication load for time synchronization.

[0009] 1 is a schematic diagram illustrating a machine system including a control system; FIG. 1 is a schematic diagram illustrating a configuration of a robot; FIG. 2 is a block diagram illustrating a functional configuration of a control system; FIG. 3 is a block diagram illustrating a configuration for performing time synchronization in a control system; FIG. 4 is a sequence chart illustrating a time synchronization sequence of a host clock; FIG. 5 is a sequence chart illustrating a time synchronization sequence of a local clock; FIG. 6 is a block diagram illustrating a modified example of a configuration for performing time synchronization; FIG. 7 is a sequence chart illustrating a modified example of a time synchronization sequence of a local clock; FIG. 8 is a block diagram illustrating a hardware configuration of a control system; FIG. 9 is a block diagram illustrating a hardware configuration of a control system; FIG. 10 is a flowchart illustrating a time synchronization procedure of a host clock; FIG. 11 is a flowchart illustrating a time synchronization procedure of a local clock; FIG. 12 is a flowchart illustrating a restriction procedure of a first correction process; FIG. 13 is a flowchart illustrating a modified example of the time synchronization procedure of a local clock; FIG. 14 is a flowchart illustrating a modified example of the time synchronization procedure of a local clock; FIG. 15 is a flowchart illustrating a further modified example of the time synchronization procedure of a local clock; FIG. 16 is a flowchart illustrating a procedure for changing the transmission frequency of a synchronization signal; FIG. 17 is a flowchart illustrating a host control procedure; FIG. 18 is a flowchart illustrating a local control procedure.

[0010] Hereinafter, the embodiments will be described in detail with reference to the drawings. In the description, the same elements or elements having the same functions are denoted by the same reference numerals, and redundant description will be omitted.

[0011] [System] The machine system 1 shown in FIG. 1 is a system including a plurality of machines 2. An example of the machine system 1 is a production system in which a product is produced through cooperation between the plurality of machines 2. The machine system 1 includes a plurality of machines 2 and a control system 3. (Machine) The plurality of machines 2 perform processing steps on one or more workpieces to produce the product. A workpiece is a tangible object that each of the plurality of machines 2 handles to form at least a part of the product. For example, the workpiece may be a part to be assembled into the product, an intermediate product formed by assembling parts, or the final completed product itself.

[0012] The multiple machines 2 include a robot. The multiple machines 2 may further include a machine other than a robot. Examples of machines other than a robot include, but are not limited to, a transport device that transports a workpiece, a device that adjusts the position and posture of a workpiece to be worked on by a robot, and a machine tool that processes a workpiece. Any structure is included in the multiple machines 2 as long as it is capable of performing at least a part of the processing steps.

[0013] In the example of Fig. 1, the multiple machines 2 include two robots 2A and two transport devices 2B. The robot 2A is a vertical articulated robot, and as shown in Fig. 2, has an articulated arm 10 and an end effector 50. The end effector 50 acts on a workpiece. Examples of the end effector 50 include a hand that grips a workpiece, a suction nozzle that picks up a workpiece, a welding torch that welds a workpiece, or a screw tightening tool that tightens a screw on a workpiece.

[0014] The articulated arm 10 is connected to an end effector 50 and changes the position and orientation of the end effector 50 through the operation of the articulated arms. For example, the articulated arm 10 includes a base 11, a pivoting unit 12, a first arm 13, a second arm 14, a swinging unit 15, a third arm 17, a tip 18, and actuators 41, 42, 43, 44, 45, and 46. The base 11 is disposed around the periphery of a robot arm 5A. The pivoting unit 12 is provided on the base 11 so as to pivot about a vertical axis 21. The first arm 13 is connected to the pivoting unit 12 so as to pivot about an axis 22 that intersects (e.g., is perpendicular to) the axis 21. The intersection may also be in a twisted relationship, such as a three-dimensional intersection. The second arm 14 is connected to the tip of the first arm 13 so as to pivot about an axis 23 that is substantially parallel to the axis 22. The second arm 14 includes a swinging unit 15 and a rotating unit 16. The swinging unit 15 is connected to the tip of the first arm 13 and extends along an axis 24 that intersects (e.g., is perpendicular to) the axis 23. The rotating unit 16 is connected to the tip of the swinging unit 15 so as to rotate about the axis 24 and extends further along the axis 24. The third arm 17 is connected to the tip of the rotating unit 16 so as to swing about an axis 25 that intersects (e.g., is perpendicular to) the axis 24. The tip 18 is connected to the tip of the third arm 17 so as to rotate about an axis 26 that intersects (e.g., is perpendicular to) the axis 25. A work tool such as a hand, a suction nozzle, or a welding torch is attached to the tip 18.

[0015] Thus, the multi-joint arm 10 has a joint 31 connecting the base 11 and the swivel 12, a joint 32 connecting the swivel 12 and the first arm 13, a joint 33 connecting the first arm 13 and the second arm 14, a joint 34 connecting the swinging part 15 and the swivel 16 in the second arm 14, a joint 35 connecting the swivel 16 and the third arm 17, and a joint 36 connecting the third arm 17 and the tip 18.

[0016] The actuators 41, 42, 43, 44, 45, and 46 include, for example, electric motors and reducers, and drive the joints 31, 32, 33, 34, 35, and 36, respectively. For example, the actuator 41 rotates the rotating unit 12 around the axis 21, the actuator 42 swings the first arm 13 around the axis 22, the actuator 43 swings the second arm 14 around the axis 23, the actuator 44 rotates the rotating unit 16 around the axis 24, the actuator 45 swings the third arm 17 around the axis 25, and the actuator 46 rotates the tip end 18 around the axis 26.

[0017] The configuration of the articulated arm 10 can be changed as needed. For example, the articulated arm 10 may be a seven-axis redundant robot in which one more joint is added to the six-axis configuration described above, or may be a so-called SCARA type articulated robot.

[0018] 1, the base 11 of the robot 2A may be capable of autonomous travel. An example of the self-traveling base 11 is an electric automated guided vehicle (AGV).

[0019] The transport device 2B is a device that transports workpieces. The transport device 2B is, for example, an electric unmanned transport vehicle that has an end effector 50 that supports the workpieces.

[0020] (Control System) The control system 3 controls a plurality of machines 2. The control system 3 has a control server 100 and a plurality of local controllers 300. Each local controller 300 communicates with the control server 100 via a network NW and controls the machine 2 in cooperation with the control server 100.

[0021] For example, each local controller 300 communicates with the control server 100 via a communication system 4. The communication system 4 configures a non-periodic network between the control server 100 and the multiple local controllers 300. For example, the communication system 4 configures a wireless communication network based on a fifth-generation mobile communication system (5G).

[0022] For example, the communication system 4 has a base station device 200 and a plurality of communication terminals 400 which are mobile stations. The base station device 200 communicates with a control server 100 via a wired communication network NW1, and forms a wireless communication network NW2 between the base station device 200 and the plurality of communication terminals 400. The plurality of communication terminals 400 communicate with a plurality of local controllers 300 via wired communication, respectively. With the above configuration, a network NW including the wired communication network NW1 and the wireless communication network NW2 is formed between the plurality of controllers 110 and the plurality of local controllers 300.

[0023] Through communication via the communication system 4, the local controller 300 and the control server 100 repeat a set of control processing, including obtaining feedback data from the machine 2, generating command data based on the feedback data, and controlling the machine 2 based on the command data, at a predetermined control period. The control server 100 receives feedback data from the local controller 300 via the communication system 4, generates command data based on the feedback data, and transmits the command data to the local controller 300 via the communication system 4. The local controller 300 receives command data from the control server 100 via the communication system 4, controls the machine 2 based on the command data, obtains feedback data from the machine 2, and transmits the feedback data to the control server 100 via the communication system 4. In this way, the control server 100 and the local controller 300 exchange control data (feedback data and command data) via the communication system 4. In order to repeat the control processing at a fixed period, the exchange of control data needs to be performed by fixed-period communication.

[0024] In order to perform periodic communication with the control server 100, the local controller 300 exchanges control data with the control server 100, for which periodic timing is specified, and controls the machine 2 using the control data at the specified timing.

[0025] For example, the local controller 300 adds feedback timing information specifying periodic timing to feedback data acquired from the machine 2 and transmits the data to the control server 100. The control server 100 generates command data for the machine 2 using the feedback data at the timing specified by the feedback timing information, adds command timing information specifying periodic timing to the generated command data, and transmits the command data to the local controller 300. Hereinafter, the timing specified by the feedback timing information will be referred to as "feedback timing." The local controller 300 controls the machine 2 using the command data at the timing specified by the command timing information and acquires feedback data from the machine 2. Hereinafter, the timing specified by the command timing information will be referred to as "command timing." By repeating the above procedure between the control server 100 and the local controller 300, the feedback data and the command data are each used at periodic timing. If the feedback timing is considered to be the actual timing for receiving the feedback data and the command timing is considered to be the actual timing for receiving the command data, then the exchange of the feedback data and the command data is essentially performed by periodic communication.

[0026] 3, the control server 100 has, as its functional configuration, a host clock 111 and a plurality of controllers 110. Each of the plurality of controllers 110 has a communication unit 112, a standby buffer 113, a reading unit 114, and a control and calculation unit 115. The host clock 111 generates host time. For example, the host clock 111 counts clock pulses and generates host time based on the count result and the cycle of the clock pulses.

[0027] In order to perform periodic communication via the non-periodic network NW, the communication unit 112 exchanges control data, for which periodic timing is specified, with the local controller 300. For example, the communication unit 112 receives feedback data, to which feedback timing information is assigned, from the base station device 200 and stores (makes the waiting buffer 113 store) the feedback data.

[0028] The reading unit 114 reads the feedback data from the waiting buffer 113 at the feedback timing based on the host time and the feedback timing information.

[0029] The control calculation unit 115 generates command data using feedback data at the feedback timing specified by the feedback timing information based on the host clock 111. For example, the control calculation unit 115 generates command data based on the feedback data read by the reading unit 114. For example, the control calculation unit 115 performs a proportional calculation, a proportional-integral calculation, or a proportional-integral-differential calculation on the deviation between the target operation and the operation of the machine 2 represented by the feedback data to calculate command data representing a target output (e.g., a target torque or a target current). The control calculation unit 115 adds the command timing information to the generated command data. The control calculation unit 115 causes the communication unit 112 to transmit the command data with the added command timing information to the base station device 200. The command data transmitted by the communication unit 112 is then transmitted to the communication terminal 400 by the base station device 200.

[0030] The local controller 300 has, as its functional configuration, a local clock 311, a communication unit 312, a standby buffer 313, a read unit 314, and a control unit 315. The local clock 311 generates local time synchronized with host time. For example, the local clock 311 counts clock pulses and generates local time based on the count result and the cycle of the clock pulses.

[0031] To perform periodic communication via the non-periodic network NW, the communication unit 312 exchanges control data, for which periodic timing is specified, with the controller 110. For example, the communication unit 312 receives command data, to which command timing information is assigned, from the communication terminal 400 and stores (makes the waiting buffer 313 store) the command data.

[0032] The reading unit 314 reads the command data from the standby buffer 313 at the command timing based on the local time and the command timing information.

[0033] The control unit 315 controls the machine 2 using the command data at the timing specified by the command timing information based on the local clock 311. For example, the control unit 315 controls the machine 2 based on the command data read by the reading unit 314. For example, the control unit 315 controls the machine 2 with an output corresponding to the target output, and acquires feedback data indicating the operation results of the machine 2 from the machine 2. The control unit 315 adds the feedback timing information to the acquired feedback data. The control unit 315 causes the communication unit 312 to transmit the feedback data with the added feedback timing information to the communication terminal 400. The feedback data transmitted by the communication unit 312 is transmitted to the base station device 200 by the communication terminal 400.

[0034] According to the configuration exemplified above, there may be variations in the delay time between the transmission of feedback data by the local controller 300 and the reception of the feedback data by the controller 110. Even if there are variations in the delay time, the received feedback data is read at the timing determined by the feedback timing information. Therefore, the feedback data can be read in synchronization with the control period without being affected by the variations in the delay time.

[0035] Furthermore, there may be variations in the delay time between when the controller 110 transmits the command data and when the local controller 300 receives the command data. Even if there are variations in the delay time, the received command data is read at the timing determined by the command timing information. Therefore, the command data can be read in synchronization with the control period without being affected by the variations in the delay time.

[0036] Therefore, the exchange of control data between the controller 110 and the local controller 300 is essentially performed by periodic communication. To continue periodic communication, it is necessary to maintain synchronization between the host clock 111 and the local clock 311 (synchronization between host time and local time).

[0037] 4, the control system 3 further includes a time master 101 for maintaining synchronization between the host clock 111 and the local clock 311. The time master 101 generates a reference time. The control server 100 and the local controller 300 are connected to the time master 101 via a network NW. For example, the control server 100 can communicate with the time master 101 via a wired communication network NW1, and the local controller 300 can communicate with the time master 101 via the wired communication network NW1 and the wireless communication network NW2.

[0038] The time master 101 is a grand master that generates a reference time through communication with, for example, a Global Navigation Satellite System (GNSS). The time master 101 may be a network switch that also functions as a boundary clock.

[0039] The time master 101 periodically transmits a synchronization signal via the network NW for time synchronization with a reference time. The time master 101 may be configured to include transmission time information of the synchronization signal represented by the reference time in the synchronization signal and transmit it. The time master 101 may be configured to transmit the transmission time information following the synchronization signal without including the transmission time information in the synchronization signal itself. Furthermore, when the time master 101 receives a response signal to the synchronization signal, it may further transmit reception time information of the response signal and transmission time information of the reception time information. The time master 101 may transmit the reception time information and transmission time information simultaneously or separately.

[0040] The controller 110 further includes a correction unit 121. The correction unit 121 corrects the host clock 111 (host time) so as to synchronize with the time master 101 (reference time). For example, the correction unit 121 corrects the host clock 111 so as to synchronize with the time master 101 using a sequence defined by a time synchronization protocol such as IEEE 1588 / IEEE 802.1AS / IEEE 802.1AS Rev.

[0041] For example, in response to a synchronization signal received from the time master 101 via the network NW, the correction unit 121 exchanges data with the time master 101, including transmitting a response signal in response to the synchronization signal, to obtain the amount of deviation of the host clock 111 (host time) from the time master 101 (reference time), and corrects the host clock 111 in accordance with the amount of deviation. For example, the data exchange includes transmitting a response signal in response to the synchronization signal and receiving reception time information of the response signal transmitted by the time master 101 in response to the response signal. The correction unit 121 obtains the amount of deviation by performing a time synchronization sequence that includes performing the above data exchange and calculating the amount of deviation based on the difference between the time indicated by the reception time information and the time when the response signal was transmitted.

[0042] The "response signal" is a signal transmitted from the correction unit 121 to the time master 101 after receiving a synchronization signal in accordance with the time synchronization protocol. An example of the "response signal" is the Pdelay_Req signal in the time synchronization protocol. When the time master 101 transmits the Pdelay_Req signal, the "response signal" may be a Pdelay_Resp signal transmitted in response to the Pdelay_Req signal.

[0043] The correction unit 121 may further acquire transmission time information of the reception time information, and calculate the amount of deviation based on the difference between the time when the reception time information was received and the time indicated by the transmission time information.

[0044] 5, for example, the time master 101 transmits a synchronization signal including transmission time information to the correction unit 121 at time t1. The correction unit 121 receives the synchronization signal at time t2 and transmits a response signal to the time master 101 at time t3. The time master 101 receives the response signal at time t4 and transmits reception time information (information at time t4) and transmission time information (information at time t5) expressed in reference time at time t5.

[0045] The correction unit 121 calculates the deviation based on the difference between time t6 when the reception time information was received and time t5 indicated by the transmission time information, and the difference between time t4 indicated by the reception time information and time t3 when the response signal was transmitted. For example, the correction unit 121 calculates the deviation ΔT using the following formula: ΔT={(t6-t5)+(t4-t3)} / 2 (1) The correction unit 121 corrects the host clock 111 to eliminate the deviation ΔT. For example, the correction unit 121 corrects the host clock 111 to generate a time obtained by subtracting the deviation ΔT from the host time before correction.

[0046] 4 , the local controller 300 further includes a first correction unit 321. The first correction unit 321 corrects the local clock 311 (local time) so as to synchronize with the time master 101 (reference time). For example, the first correction unit 321 corrects the host clock 111 so as to synchronize with the time master 101 using a sequence defined by a time synchronization protocol such as IEEE 1588 / IEEE 802.1AS / IEEE 802.1AS Rev.

[0047] For example, in response to a synchronization signal received from the time master 101 via the network NW, the first correction unit 321 exchanges data with the time master 101, including transmitting a response signal in response to the synchronization signal, obtains the amount of deviation of the local clock 311 (local time) from the time master 101 (reference time), and performs a first correction process to correct the local clock 311 in accordance with the amount of deviation. For example, the data exchange includes transmitting a response signal in response to the synchronization signal and receiving reception time information of the response signal transmitted by the time master 101 in response to the response signal. The first correction unit 321 obtains the amount of deviation by performing a time synchronization sequence that includes performing the above data exchange via the communication system 4 and calculating the amount of deviation based on the difference between the time indicated by the reception time information and the time when the response signal was transmitted.

[0048] The first correction unit 321 may further acquire the transmission time information of the reception time information, and calculate the amount of deviation based on the difference between the time when the reception time information was received and the time indicated by the transmission time information.

[0049] For example, as shown in FIG. 6 , the time master 101 transmits a synchronization signal including transmission time information to the communication system 4 at time t1. The communication system 4 transmits the received synchronization signal to the first correction unit 321. The first correction unit 321 receives the synchronization signal at time t2 and transmits a response signal to the communication system 4 at time t3. The communication system 4 transmits the received response signal to the time master 101. The time master 101 receives the response signal at time t4 and transmits reception time information (information at time t4) and transmission time information (information at time t5) expressed in reference time to the communication system 4 at time t5. The communication system 4 transmits the received reception time information and transmission time information to the first correction unit 321.

[0050] The first correction unit 321 calculates the deviation amount based on the difference between time t6 when the reception time information was received and time t5 indicated by the transmission time information, and the difference between time t4 indicated by the reception time information and time t3 when the response signal was transmitted. For example, the first correction unit 321 calculates the deviation amount ΔT using the above formula (1). The first correction unit 321 performs the first correction process to eliminate the deviation amount ΔT. For example, the first correction unit 321 corrects the local clock 311 to generate a time obtained by subtracting the deviation amount ΔT from the local time before correction.

[0051] In this way, the time synchronization sequence of the local time is performed by data exchange via the communication system 4. Therefore, if the time synchronization sequence of the local time is performed every time a synchronization signal is transmitted, the communication load on the communication system 4 will increase. Therefore, the control system 3 may further include a limiting unit that limits the frequency of the time synchronization sequence (the frequency of the first correction process) to be less than the frequency of transmitting the synchronization signal. Because data exchange for the first correction process is performed less frequently than the frequency of transmitting the synchronization signal, the frequency of communication for time correction is reduced.

[0052] The restriction unit may be provided in each of the multiple communication terminals 400. For example, as shown in FIG. 4 , the communication terminal 400 has a terminal communication unit 411 and a restriction unit 412. The terminal communication unit 411 communicates with the base station device 200. For example, the terminal communication unit 411 receives a synchronization signal periodically transmitted by the time master 101, transmits it to the local controller 300, and receives a response signal transmitted by the local controller 300, and transmits it to the time master 101.

[0053] The limiting unit 412 limits the frequency of the first correction process to be less than the frequency of transmission of the synchronization signal. For example, the limiting unit 412 blocks the response signal before it is received by the time master 101, limiting the completion of data exchange so that the frequency of the first correction process is less than the frequency of transmission of the synchronization signal. If the limiting unit 412 blocks the response signal, the response signal is not received by the time master 101, as in the time synchronization sequence of the second and third cycles in FIG. 6 , and therefore reception time information from the time master 101 is not transmitted, and data exchange is not completed. By using the configuration in which the limiting unit 412 blocks the response signal, the communication load for time synchronization can be reduced even if the first correction unit 321 is not configured to reduce the frequency of transmission of the response signal.

[0054] For example, the restriction unit 412 counts the number of times a synchronization signal is received, and if the number of times it is received is a multiple of a predetermined number greater than or equal to two, it transmits a response signal to the base station device 200, and if the number of times it is received is not a multiple of the predetermined number, it blocks the response signal and does not transmit it to the base station device 200.

[0055] If the synchronization signal has identification information (hereinafter referred to as a "synchronization ID"), the restriction unit 412 may determine whether to block the response signal based on the synchronization ID. By utilizing the synchronization ID, it is easy to perform regular restriction of the response signal.

[0056] For example, the restriction unit 412 filters the synchronization ID to extract a periodically repeating numerical value from the synchronization ID. If the extracted numerical value is a predetermined value, the restriction unit 412 transmits a response signal to the base station device 200. If the extracted numerical value is not the predetermined value, the restriction unit 412 blocks the response signal and does not transmit it to the base station device 200.

[0057] The limiting units 412 of the communication terminals 400 may limit the frequency of the first correction process so that the local controllers 300 exchange data at different times. This makes it possible to share the time master 101 for the correction process in the local controllers 300 while suppressing an increase in communication load.

[0058] For example, the restriction units 412 of the plurality of communication terminals 400 may block, at mutually different timings, response signals from the corresponding local controllers 300. For example, each of the restriction units 412 of the plurality of communication terminals 400 may hold a unique predetermined value that does not overlap with the restriction units 412 of the other communication terminals 400, and transmit a response signal to the base station device 200 if the numerical value extracted from the synchronization ID is the unique predetermined value, and may block the response signal and not transmit it to the base station device 200 if the numerical value is not the unique predetermined value.

[0059] The restriction unit may be provided in each of the multiple local controllers 300. For example, as shown in FIG. 7 , each of the multiple local controllers 300 may further include a restriction unit 322. The restriction unit 322 restricts the start of data exchange by the first correction unit 321 so as to limit the frequency of the first correction process. When the restriction unit 322 restricts the start of data exchange by the first correction unit 321, as in the time synchronization sequence of the second and third cycles in FIG. 8 , no response signal is transmitted from the first correction unit 321, and thus data exchange does not start. With the configuration in which the restriction unit 322 restricts the start of data exchange, the communication load for time synchronization can be reduced even when a communication system 4 is used in which the first correction unit 321 receives all synchronization signals and the time master 101 receives all response signals transmitted by the first correction unit 321 (for example, a communication system 4 in which the communication terminal 400 does not include a restriction unit 412).

[0060] For example, the restriction unit 322 counts the number of times a synchronization signal is received, and if the number of times it is received is a multiple of a predetermined number greater than or equal to two, it causes the first correction unit 321 to send a response signal to the communication terminal 400, and if the number of times it is received is not a multiple of the predetermined number, it does not cause the first correction unit 321 to send a response signal to the communication terminal 400.

[0061] The restriction unit 322 may determine, based on the synchronization ID of the synchronization signal described above, whether to cause the first correction unit 321 to transmit a response signal to the communication terminal 400. By utilizing the synchronization ID, it is possible to easily perform regular restriction on the response signal.

[0062] For example, the restriction unit 322 filters the synchronization ID to extract a periodically repeating numerical value from the synchronization ID. If the extracted numerical value is a predetermined value, the restriction unit 322 causes the first correction unit 321 to transmit a response signal to the communication terminal 400. If the extracted numerical value is not the predetermined value, the restriction unit 322 does not cause the first correction unit 321 to transmit a response signal to the communication terminal 400.

[0063] With the configuration in which the local controller 300 includes the limiting unit 322, the frequency of the first correction process can be adjusted more flexibly based on the amount of deviation obtained by the first correcting unit 321, etc.

[0064] For example, the first correction unit 321 may repeat the first correction process at a first frequency to gradually reduce the amount of deviation, and when the amount of deviation has decreased to the point where a predetermined condition is satisfied, the limiting unit 322 may set a second frequency that is lower than the first frequency based on the amount of deviation and a predetermined allowable amount of deviation, and limit the frequency of the first correction process to the second frequency. This makes it easy to achieve both control of the amount of deviation based on the allowable amount of deviation and reduction in communication load.

[0065] The first frequency is, for example, the frequency of transmitting the synchronization signal. An example of the predetermined condition is that the deviation amount becomes substantially constant. An example of the deviation amount becoming substantially constant is that the difference between the deviation amount and the deviation amount in the previous first correction process is below a predetermined threshold. A substantially constant deviation amount means a deviation amount that occurs in the transmission cycle of the synchronization signal. For example, the limiting unit 322 calculates the time until the deviation amount reaches the allowable deviation amount based on the substantially constant deviation amount and the transmission cycle of the synchronization signal, and sets the second frequency so that the first correction process is repeated at a cycle shorter than the calculated time.

[0066] When the limiting unit 322 starts limiting the frequency of the first correction process, the time master 101 may limit the frequency of transmission of the synchronization signal to match the frequency of the first correction process. For example, when the limiting unit 322 starts limiting the frequency of the first correction process to the second frequency, the time master 101 may change the frequency of transmission of the synchronization signal from the first frequency to the second frequency. By also limiting the frequency of transmission of the synchronization signal, the communication load can be further reduced. After the limiting of the frequency of transmission of the synchronization signal starts, the limiting unit 322 causes the first correction unit 321 to transmit a response signal to the communication terminal 400 each time a synchronization signal is received.

[0067] The limiting units 322 of the multiple local controllers 300 may limit the frequency of the first correction process so that the multiple local controllers 300 exchange data at different times. This allows the time master 101 to be shared for the correction processes of the multiple local controllers 300 while suppressing an increase in communication load.

[0068] For example, the limiting units 322 of the multiple local controllers 300 may, at different timings, limit the start of data exchange by the first correcting unit 321. For example, each of the limiting units 322 of the multiple local controllers 300 may hold a unique predetermined value that does not overlap with the limiting units 322 of the other local controllers 300, and may cause the first correcting unit 321 to transmit a response signal to the communication terminal 400 if the numerical value extracted from the synchronization ID is the unique predetermined value, and may not cause the first correcting unit 321 to transmit a response signal to the communication terminal 400 if the numerical value is not the unique predetermined value.

[0069] The local controller 300 may be configured to further execute a second correction process that corrects the local clock 311 at a timing different from that of the first correction process, based on the deviation amount obtained in the data exchange for the first correction process. For example, as shown in FIG. 7 , the local controller 300 may further include a second correction unit 323.

[0070] The second correction unit 323 acquires information about the amount of deviation from the first correction unit 321 and performs the second correction process at a timing different from that of the first correction process. By effectively utilizing the amount of deviation obtained in the data exchange for the first correction process, it is possible to suppress the increase in deviation during periods when the first correction process is not performed. Therefore, it is possible to reduce the frequency of the first correction process, thereby reducing the communication load, and to suppress the deviation of the local clock 311 from the time master 101.

[0071] The second correction unit 323 may execute the second correction process based on the deviation amount that satisfies the predetermined condition after the frequency of the first correction process is switched from the first frequency to the second frequency. When the deviation amount decreases to the point where the predetermined condition is satisfied, the correlation between the deviation amount and the amount by which the local clock 311 should be corrected in the second correction process becomes high. Therefore, by executing the second correction process after the frequency of the first correction process is switched from the first frequency to the second frequency, it is possible to further reduce the deviation of the local clock 311 from the time master 101.

[0072] For example, the second correction unit 323 may perform the second correction process at the timing when a synchronization signal is received, using the same correction amount as the deviation amount that satisfies the predetermined condition. When the second correction process is performed at the timing when a synchronization signal is received, the correlation between the amount by which the local clock 311 should be corrected in the second correction process and the deviation amount that satisfies the predetermined condition becomes even stronger. For example, if the deviation amount is substantially constant, the amount by which the local clock 311 should be corrected in the second correction process at the timing when a synchronization signal is received is substantially the same as the deviation amount. Therefore, the deviation of the local clock 311 from the time master 101 can be further suppressed.

[0073] The second correction unit 323 may set the execution timing of the second correction process based on the amount of deviation that satisfies a predetermined condition and a predetermined allowable amount of deviation, and execute the second correction process at the set execution timing. This makes it easy to control the amount of deviation based on the allowable amount of deviation (for example, to suppress the amount of deviation so as not to exceed the allowable amount of deviation).

[0074] For example, the second correction unit 323 may calculate the time until the deviation reaches an allowable deviation based on the deviation that has become substantially constant and the transmission period of the synchronization signal, and set the execution timing so that the second correction process is repeated at a period shorter than the calculated time. The allowable deviation for setting the execution timing of the second correction process may be one period of the clock pulse in the local clock 311. In this case, the deviation is kept below the resolution of the local clock 311, so that it is possible to maintain a state in which there is substantially no deviation of the local clock 311 from the time master 101.

[0075] In the first correction process that the restriction unit 322, 412 is scheduled to cause the first correction unit 321 to execute in response to the synchronization signal, if a response signal is not transmitted within a predetermined time from the time the synchronization signal is received, the restriction unit 322, 412 may restrict reception of the response signal by the time master 101. The predetermined time is, for example, the time obtained by subtracting a predetermined margin from the transmission cycle of the synchronization signal. The margin is set appropriately taking into account fluctuations in data transmission time, etc.

[0076] For example, if a response signal that was scheduled to be transmitted by the terminal communication unit 411 in response to a synchronization signal received by the terminal communication unit 411 is received by the terminal communication unit 411 after a predetermined time has elapsed since the time the synchronization signal was received by the terminal communication unit 411, the restriction unit 412 may stop the transmission of the response signal by the terminal communication unit 411. This prevents the delayed response signal from being received by the time master 101.

[0077] If the response signal that the first correction unit 321 was scheduled to transmit in response to the synchronization signal received by the first correction unit 321 is not transmitted by the first correction unit 321 even after a predetermined time has elapsed since the first correction unit 321 received the synchronization signal, the restriction unit 322 may stop the first correction unit 321 from transmitting the response signal. This prevents the delayed response signal from being received by the time master 101.

[0078] The control system 3 may further include a device other than the local controller 300, and the other device may be connected to the wireless communication network NW2 via the communication terminal 400. The other device may include a local clock 311, a first correction unit 321, and a second correction unit 323. Examples of the other device include a data collection device that collects data in time series from a sensor or the like, a data processing terminal such as a personal computer or a tablet computer, and operator work assistance equipment such as AR glasses.

[0079] Furthermore, one communication terminal 400 may be shared by a plurality of devices.

[0080] FIG. 9 is a block diagram illustrating an example of the hardware configuration of the control system 3. As shown in FIG. 9 , the control server 100 includes a circuit 190. The circuit 190 includes a processor 191, a memory 192, a storage 193, and a communication port 194. The storage 193 is configured with one or more non-volatile memory devices such as a flash memory or a hard disk. The storage 193 stores a program for configuring the control server 100 to configure multiple controllers 110. The memory 192 is configured with one or more volatile memory devices such as a random access memory. The memory 192 temporarily stores a program loaded from the storage 193. The processor 191 is configured with one or more computing devices such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). The processor 191 executes the program loaded in the memory 192 to configure the control server 100 to configure multiple controllers 110. The calculation results by the processor 191 are temporarily stored in the memory 192. In response to a request from the processor 191, the communication port 194 communicates with the time master 101 and the base station device 200 via the wired communication network NW1.

[0081] The base station device 200 includes a circuit 290. The circuit 290 includes a processor 291, a memory 292, a storage 293, and a communication port 294. The storage 293 is configured with one or more non-volatile memory devices such as a flash memory or a hard disk. The storage 293 stores programs that cause the base station device 200 to execute communications between the time master 101 and the control server 100, and communications between the base station device 200 and multiple communication terminals 400. The memory 292 is configured with one or more volatile memory devices such as a random access memory. The memory 292 temporarily stores programs loaded from the storage 293. The processor 291 is configured with one or more computing devices such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). The processor 291 executes programs loaded into the memory 292, causing the base station device 200 to communicate with the time master 101 and the control server 100, and with multiple communication terminals 400. The calculation results by the processor 291 are temporarily stored in the memory 292. The communication port 294 communicates with the time master 101 and the control server 100 via the wired communication network NW1 in response to a request from the processor 291. The antenna 295 transmits and receives signals for wireless communication with the multiple communication terminals 400 in response to a request from the processor 291.

[0082] As shown in FIG. 10 , the communication terminal 400 includes a circuit 490. The circuit 490 includes a processor 491, a memory 492, a storage 493, an antenna 494, and a communication port 495. The storage 493 is configured with one or more non-volatile memory devices such as a flash memory or a hard disk. The storage 493 stores a program for configuring the above-mentioned functional blocks in the communication terminal 400. The antenna 494 transmits and receives signals for wireless communication with the base station device 200 in response to a request from the processor 491. The communication port 495 communicates with the local controller 300 in response to a request from the processor 491.

[0083] The local controller 300 includes a circuit 390. The circuit 390 includes a processor 391, a memory 392, a storage 393, a communication port 394, and a drive circuit 395. The processor 391 and the storage 393 are configured with one or more non-volatile memory devices such as flash memory or a hard disk. The storage 393 stores programs for configuring the above-mentioned functional blocks in the local controller 300. The communication port 394 communicates with the communication terminal 400 in response to a request from the processor 391. The drive circuit 395 outputs drive power to the machine 2 and acquires feedback data from the machine 2 in response to a request from the processor 391. The hardware configuration shown above is merely an example and can be modified as appropriate. For example, the base station device 200 may be incorporated into the control server 100, and the communication terminal 400 may be incorporated into the local controller 300.

[0084] [Control Procedure] Next, an example of a control procedure for the machine 2 by the control system 3 will be described. This procedure includes a host clock synchronization procedure, a local clock synchronization procedure, a host control procedure, and a local control procedure. These procedures are executed in parallel with each other. Each procedure will be described below.

[0085] (Procedure for Synchronizing Host Clocks) As shown in Fig. 11 , the control server 100 first executes step S01. In step S01, the correction unit 121 checks whether the communication unit 112 has received a synchronization signal from the time master 101. If it is determined in step S01 that the synchronization signal has been received, the control server 100 executes step S02. In step S02, the correction unit 121 transmits a response signal to the time master 101.

[0086] If it is determined in step S01 that a synchronization signal has not been received, the control server 100 executes step S03. In step S03, the correction unit 121 checks whether the communication unit 112 has received the reception time information and the transmission time information from the time master 101. If it is determined in step S03 that the reception time information and the transmission time information have been received, the control server 100 executes step S04. In step S04, the correction unit 121 calculates the amount of deviation as described above, and corrects the host clock 111 based on the calculated amount of deviation.

[0087] After steps S02 and S04, the control server 100 returns the process to step S01. If it is determined in step S03 that the reception time information and transmission time information have not been received, the control server 100 returns the process to step S01 without executing steps S02 and S04. The control server 100 repeatedly executes the above process.

[0088] (Local clock synchronization procedure) This procedure includes receiving a synchronization signal periodically transmitted by the time master 101 via the network NW, exchanging data with the time master 101 in response to the synchronization signal, including transmitting a response signal to the synchronization signal, obtaining the amount of deviation of the local clock 311 from the time master 101, performing a first correction process to correct the local clock 311 in accordance with the amount of deviation, and limiting the frequency of the first correction process to be less than the frequency of transmitting the synchronization signal.

[0089] For example, this procedure includes a synchronization procedure for the local clock 311 performed by the local controller 300 and a restriction procedure performed by the communication terminal 400. FIG. 12 is a flowchart illustrating the synchronization procedure for the local clock 311 performed by the local controller 300. As shown in FIG. 12 , the local controller 300 first executes step S11. In step S11, the first correction unit 321 checks whether the communication unit 312 has received a synchronization signal from the time master 101. If it is determined in step S11 that the synchronization signal has been received, the local controller 300 executes step S12. In step S12, the first correction unit 321 transmits a response signal to the time master 101.

[0090] If it is determined in step S11 that a synchronization signal has not been received, the local controller 300 executes step S13. In step S13, the first correction unit 321 checks whether the communication unit 312 has received the reception time information and transmission time information from the time master 101. If it is determined in step S13 that the reception time information and transmission time information have been received, the local controller 300 executes step S14. In step S14, the first correction unit 321 calculates the amount of deviation as described above, and corrects the local clock 311 by a first correction process based on the calculated amount of deviation.

[0091] After steps S12 and S14, the local controller 300 returns the process to step S11. If it is determined in step S13 that the reception time information and transmission time information have not been received, the local controller 300 returns the process to step S11 without executing steps S12 and S14. The local controller 300 repeatedly executes the above process.

[0092] 13 is a flowchart illustrating a restriction procedure performed by communication terminal 400. As shown in FIG. 13, communication terminal 400 first executes step S21. In step S21, restriction unit 412 checks whether or not terminal communication unit 411 has received a synchronization signal from time master 101. If it is determined in step S21 that terminal communication unit 411 has received a synchronization signal, communication terminal 400 executes steps S22 and S23. In step S22, restriction unit 412 determines whether or not to block a response signal to the synchronization signal received by terminal communication unit 411.

[0093] For example, the restriction unit 412 filters the synchronization ID, extracts a periodically repeating numerical value from the synchronization ID, and turns off the block flag if the extracted numerical value is a predetermined value, and turns on the block flag if the numerical value is not the predetermined value.

[0094] In step S23, the terminal communication unit 411 transfers the synchronization signal to the local controller 300. If in step S21 the terminal communication unit 411 determines that it has not received a synchronization signal from the time master 101, the communication terminal 400 executes step S24. In step S24, the restriction unit 412 checks whether the terminal communication unit 411 has received a response signal from the local controller 300. If in step S24 it is determined that a response signal has been received, the communication terminal 400 executes step S25.

[0095] In step S25, the restriction unit 412 determines whether to block the response signal. For example, the restriction unit 412 determines that blocking is not necessary when the block flag is off, and determines that blocking is necessary when the block flag is on.

[0096] If it is determined in step S25 that blocking is not necessary, communication terminal 400 executes step S26. In step S26, restriction unit 412 causes terminal communication unit 411 to transfer a response signal to base station device 200. If it is determined in step S25 that blocking is necessary, communication terminal 400 executes step S27. In step S27, restriction unit 412 causes terminal communication unit 411 to block the response signal. For example, restriction unit 412 stops transfer of the response signal from terminal communication unit 411 to base station device 200.

[0097] After steps S23, S26, and S27, communication terminal 400 returns the process to step S21. If it is determined in step S24 that a response signal has not been received, communication terminal 400 returns the process to step S21 without executing steps S23, S26, and S27. Communication terminal 400 repeats the above procedure.

[0098] As described above, both the synchronization procedure and the restriction procedure of the local clock 311 may be performed by the local controller 300. FIG. 14 is a flowchart illustrating a procedure in which the local controller 300 performs both the synchronization procedure and the restriction procedure of the local clock 311. As shown in FIG. 14 , the local controller 300 first executes step S31. In step S31, the first correction unit 321 checks whether the communication unit 312 has received a synchronization signal from the time master 101. If it is determined in step S31 that the synchronization signal has been received, the local controller 300 executes step S32. In step S32, the first correction unit 321 transmits a response signal to the time master 101. Thereafter, the local controller 300 returns the process to step S31.

[0099] If it is determined in step S31 that a synchronization signal has not been received, the local controller 300 executes step S33. In step S33, the first correction unit 321 checks whether the communication unit 312 has received the reception time information and transmission time information from the time master 101. If it is determined in step S33 that the reception time information and transmission time information have been received, the local controller 300 executes step S34. In step S34, the first correction unit 321 calculates the amount of deviation as described above, and corrects the local clock 311 by a first correction process based on the calculated amount of deviation.

[0100] Next, the local controller 300 executes step S35. In step S35, the local controller 300 checks whether the deviation amount has become substantially constant. If it is determined in step S35 that the deviation amount has not become constant, the local controller 300 returns the process to step S31. If it is determined in step S33 that the reception time information and transmission time information have not been received, the local controller 300 returns the process to step S31 without executing steps S33 and S34. Thereafter, the local clock 311 is corrected by the first correction process each time a synchronization signal is received until the deviation amounts become uniform.

[0101] If it is determined in step S35 that the deviation amount has become substantially constant, the local controller 300 executes step S41 as shown in FIG. 15 . In step S41, the limiting unit 322 sets a second frequency that is lower than the first frequency based on the deviation amount and a predetermined allowable deviation amount, and limits the frequency of the first correction process to the second frequency. For example, the limiting unit 322 sets the above-mentioned predetermined value (the predetermined value for comparison with the numerical value extracted from the synchronization ID) so that the frequency of the first correction process becomes the second frequency.

[0102] Next, the communication terminal 400 executes step S42, in which the first correction unit 321 checks whether the communication unit 312 has received a synchronization signal from the time master 101.

[0103] If it is determined in step S42 that a synchronization signal has been received, the local controller 300 executes step S43. In step S43, the restriction unit 322 determines whether or not a response signal needs to be transmitted. For example, the restriction unit 322 filters the synchronization ID to extract a periodically repeating numerical value from the synchronization ID, and determines that transmission of a response signal is necessary if the extracted numerical value is a predetermined value, and determines that transmission of a response signal is not necessary if the numerical value is not the predetermined value.

[0104] If it is determined in step S43 that a response signal needs to be transmitted, the local controller 300 executes step S44, in which the restriction unit 322 causes the first correction unit 321 to transmit a response signal to the time master 101.

[0105] If it is determined in step S43 that transmission of a response signal is not necessary, the local controller 300 executes step S45. In step S45, the second correction unit 323 corrects the local clock 311 by the second correction process.

[0106] If it is determined in step S42 that a synchronization signal has not been received, the local controller 300 executes step S46. In step S46, the first correction unit 321 checks whether the communication unit 312 has received the reception time information and transmission time information from the time master 101. If it is determined in step S46 that the reception time information and transmission time information have been received, the local controller 300 executes step S47. In step S47, the first correction unit 321 calculates the amount of deviation as described above, and corrects the local clock 311 by a first correction process based on the calculated amount of deviation.

[0107] After steps S44, S45, and S47, the local controller 300 returns the process to step S42. If it is determined in step S46 that the reception time information and transmission time information have not been received, the local controller 300 returns the process to step S42 without executing steps S44, S45, and S47. Thereafter, steps S42 to S47 are repeated.

[0108] After the deviation amount becomes substantially constant, the local controller 300 may execute the second correction process by determining the execution timing so that the second correction process is performed before the deviation amount exceeds the allowable deviation amount. For example, as shown in FIG. 16 , the local controller 300 executes step S51, which is the same as step S41, and then executes step S52. In step S52, the second correction unit 323 sets the execution cycle of the second correction process so that the second correction process is performed before the deviation amount exceeds the allowable deviation amount.

[0109] Next, the local controller 300 executes step S53. In step S53, the first correction unit 321 checks whether the communication unit 312 has received a synchronization signal from the time master 101, similar to step S42.

[0110] If it is determined in step S53 that the synchronization signal has been received, the local controller 300 executes step S54. In step S54, similarly to step S43, the restriction unit 322 determines whether or not a response signal needs to be transmitted.

[0111] If it is determined in step S54 that a response signal needs to be transmitted, the local controller 300 executes step S55. In step S55, the restriction unit 322 causes the first correction unit 321 to transmit a response signal to the time master 101, similar to step S44.

[0112] Thereafter, the local controller 300 returns the process to step S53. If it is determined in step S54 that transmission of a response signal is not necessary, the local controller 300 returns the process to step S53 without executing step S55.

[0113] If it is determined in step S53 that the communication unit 312 has not received a synchronization signal, the local controller 300 executes step S56. In step S56, similar to step S46, the first correction unit 321 checks whether the communication unit 312 has received the reception time information and transmission time information from the time master 101. If it is determined in step S56 that the reception time information and transmission time information have been received, the local controller 300 executes steps S57 and S58. In step S57, similar to step S47, the first correction unit 321 calculates the deviation amount as described above and corrects the local clock 311 by the first correction process based on the calculated deviation amount. In step S58, the second correction unit 323 stores the current time as the reference time of the elapsed time.

[0114] If it is determined in step S56 that the reception time information and transmission time information have not been received, the local controller 300 executes step S61. In step S61, the second correction unit 323 checks whether it is time to execute the second correction process. For example, in step S61, the second correction unit 323 checks whether the elapsed time from the reference time is a multiple of the execution cycle of the second correction process.

[0115] If it is determined in step S61 that it is time to execute the second correction process, the local controller 300 executes step S62. In step S62, the second correction unit 323 corrects the local clock 311 through the second correction process. After steps S58 and S62, the local controller 300 returns the process to step S53. If it is determined in step S61 that it is not time to execute the second correction process, the local controller 300 returns the process to step S53 without executing steps S57, S58, and S62. Thereafter, steps S53 to S62 are repeated.

[0116] As described above, when the limiting unit 322 starts limiting the frequency of the first correction process, the time master 101 may limit the transmission frequency of the synchronization signal to match the frequency of the first correction process. For example, the time master 101 executes steps S71 and S72 as shown in FIG. 17 . In step S71, the time master 101 waits for the reception frequency of the response signal to become the second frequency. In step S72, the time master 101 changes the transmission frequency of the synchronization signal from the first frequency to the second frequency. As a result, after the limiting of the transmission frequency of the synchronization signal starts, the limiting unit 322 causes the first correction unit 321 to transmit a response signal to the communication terminal 400 every time a synchronization signal is received.

[0117] (Host Control Procedure) As shown in Fig. 18, the control server 100 executes step S81. In step S81, the reading unit 114 checks whether the host time is a multiple of the control period.

[0118] If it is determined in step S81 that the host time is not a multiple of the control period, the control server 100 executes step S82. In step S82, the communication unit 112 acquires feedback data from the base station device 200 and converts the feedback timing information into the number of cycles of the control period from the current time to the feedback timing. The communication unit 112 stores the feedback data, including the feedback timing information converted into the number of cycles, in the standby buffer 113. Thereafter, the control server 100 returns the process to step S81.

[0119] If it is determined in step S81 that the host time is a multiple of the control period, the control server 100 executes steps S83, S84, S85, S86, and S87. In step S83, the reading unit 114 counts down the feedback timing information for all feedback data stored in the standby buffer 113.

[0120] In step S84, the reading unit 114 reads feedback data whose feedback timing information is zero from the standby buffer 113. In step S85, the control calculation unit 115 generates command data based on the feedback data read by the reading unit 114.

[0121] In step S86, the control and calculation unit 115 adds command timing information to the generated command data. In step S87, the control and calculation unit 115 causes the communication unit 112 to transmit the command data with the command timing information added to the base station device 200. After step S87, the control server 100 returns the process to step S81. The control server 100 repeatedly executes the above procedure.

[0122] (Local Control Procedure) As shown in Fig. 19, the local controller 300 executes step S91. In step S91, the read unit 314 checks whether the local time is a multiple of the control period.

[0123] If it is determined in step S91 that the local time is not a multiple of the control period, the local controller 300 executes step S92. In step S92, the communication unit 312 acquires command data from the communication terminal 400 and converts the command timing information into the number of cycles of the control period from the current time to the command timing. The communication unit 312 stores the command data, including the command timing information converted into the number of cycles, in the standby buffer 313. The local controller 300 then returns the process to step S91.

[0124] If it is determined in step S91 that the local time is a multiple of the control period, the local controller 300 executes steps S93, S94, S95, S96, and S97. In step S93, the reading unit 314 counts down the command timing information for all command data stored in the standby buffer 313.

[0125] In step S94, the reading unit 314 reads out command data whose command timing information is zero from the standby buffer 313. In step S95, the control unit 315 controls the machine 2 based on the command data read out by the reading unit 314, and acquires the above-mentioned feedback data from the machine 2.

[0126] In step S96, the control unit 315 adds feedback timing information to the acquired feedback data. In step S97, the control unit 315 causes the communication unit 312 to transmit the feedback data with the added feedback timing information to the communication terminal 400. After step S97, the local controller 300 returns the process to step S91. The local controller 300 repeatedly executes the above procedure.

[0127] [Summary] The above-described exemplary embodiment includes the following configuration: (1) A control system 3 includes a time master 101 that periodically transmits a synchronization signal for time synchronization via a network NW, and a local controller connected to the time master 101 via the network NW and controlling a machine 2. The local controller includes a local clock 311 and a first correction unit 321 that exchanges data with the time master 101 in response to a synchronization signal received via the network NW, including transmitting a response signal to the synchronization signal, obtains the amount of deviation of the local clock 311 from the time master 101, and performs a first correction process to correct the local clock 311 in accordance with the amount of deviation. The control system 3 further includes a limiting unit 322, 412 that limits the frequency of the first correction process to be less than the frequency of transmission of the synchronization signal. According to this control system 3, data exchange for the first correction process is performed less frequently than the frequency of transmission of the synchronization signal, thereby reducing the frequency of communication for time correction. This is therefore effective in reducing the communication load for time synchronization.

[0128] (2) The control system 3 according to (1), wherein the limiting unit 412 blocks the response signal transmitted from the first corrector 321 before the time master 101 receives it, so as to limit the frequency of the first correction process, thereby limiting the completion of data exchange by the first corrector 321. Even if the first corrector 321 is not configured to reduce the frequency of transmitting the response signal, the communication load for time synchronization can be reduced.

[0129] (3) The control system 3 according to (2), wherein the restriction unit 412 determines whether to block a response signal to a synchronization signal based on identification information contained in the synchronization signal. Utilizing the identification information makes it easy to regularly restrict the response signal.

[0130] (4) The control system 3 according to (1), wherein the limiting unit 322 limits the start of data exchange by the first corrector 321 so as to limit the frequency of the first correction process. Even when a communication system is used in which the first corrector 321 receives all of the synchronization signals transmitted from the time master 101 and all of the response signals transmitted by the first corrector 321, the communication load for time synchronization can be reduced.

[0131] (5) The control system 3 according to any one of (1) to (4), wherein the limiting unit 322, 412 limits reception of a response signal by the time master 101 if a response signal is not transmitted within a predetermined time from the time of reception of the synchronization signal in the first correction process that the first correction unit 321 is scheduled to execute in response to the synchronization signal. This can prevent a momentary increase in communication load due to a delayed response signal and a response signal to the next synchronization signal.

[0132] (6) The control system 3 according to any one of (1) to (5), wherein the local controller has a communication unit 312 that exchanges control data with the application, the control data having a specified periodic timing, in order to perform periodic communication with the application via the non-periodic network NW, and a control unit 315 that controls the machine 2 using the control data at the specified timing based on the local clock 311. Highly reliable periodic communication can be performed based on the local clock 311 that is time-synchronized with the time master 101. Reducing the communication load for time synchronization can also provide more communication resources for periodic communication.

[0133] (7) The control system 3 according to (4), wherein the local controller further includes a second correction unit 323 that performs a second correction process to correct the local clock 311 at a timing different from that of the first correction process, based on the deviation amount obtained in the data exchange for the first correction process. By effectively utilizing the deviation amount obtained in the data exchange for the first correction process, it is possible to suppress the increase in deviation during periods when the first correction process is not performed. Therefore, it is possible to reduce the communication load by reducing the frequency of the first correction process, while suppressing the deviation of the local clock 311 relative to the time master 101.

[0134] (8) The control system 3 described in (7) is configured such that the first correction unit 321 repeats the first correction process at a first frequency to gradually reduce the deviation, the limiting unit 322 switches the frequency of the first correction process to a second frequency lower than the first frequency when the deviation has decreased to a level that satisfies a predetermined condition, and the second correction unit 323 executes the second correction process based on the deviation that satisfies the predetermined condition after the frequency of the first correction process is switched from the first frequency to the second frequency. When the deviation has decreased to a level that satisfies the predetermined condition, the correlation between the deviation and the amount by which the local clock 311 should be corrected in the second correction process becomes high. Therefore, by executing the second correction process after the frequency of the first correction process is switched from the first frequency to the second frequency, the deviation of the local clock 311 relative to the time master 101 can be further reduced.

[0135] (9) The control system 3 according to (8), wherein the second correction unit 323 performs the second correction process at the timing of receiving the synchronization signal. When the second correction process is performed at the timing of receiving the synchronization signal, the correlation between the amount by which the local clock 311 should be corrected in the second correction process and the deviation amount that satisfies the predetermined condition becomes even stronger. Therefore, the deviation of the local clock 311 from the time master 101 can be further reduced.

[0136] (10) The control system 3 according to (8) or (9), wherein the second correction unit 323 sets the execution timing of the second correction process based on the deviation amount that satisfies a predetermined condition and a predetermined allowable deviation amount, and executes the second correction process at the set execution timing. This makes it easy to control the deviation amount based on the allowable deviation amount (for example, to suppress the deviation amount so as not to exceed the allowable deviation amount).

[0137] (11) The control system 3 according to any one of (4) to (10), wherein the first correction unit 321 repeats the first correction process at a first frequency to gradually reduce the deviation amount, and the limiting unit 322, when the deviation amount has decreased to a level that satisfies a predetermined condition, sets a second frequency that is lower than the first frequency based on the deviation amount and a predetermined allowable deviation amount, and limits the frequency of the first correction process to the second frequency. This makes it easy to achieve both control of the deviation amount based on the allowable deviation amount and reduction in communication load.

[0138] (12) The control system 3 according to any one of (4) to (11), wherein the first correction unit 321 repeats the first correction process at the same frequency as the transmission frequency of the synchronization signal to gradually reduce the amount of deviation, the limiting unit 322 starts limiting the frequency of data exchange when the amount of deviation has reduced to a level that satisfies a predetermined condition, and the time master 101 limits the transmission frequency of the synchronization signal to match the frequency of the first correction process when the limiting unit 322 starts limiting the frequency of data exchange. By also limiting the transmission frequency of the synchronization signal, the communication load can be further reduced.

[0139] (13) The control system 3 according to any one of (1) to (12), further comprising a plurality of local controllers including a local controller, each of the plurality of local controllers having a local clock 311 and a first correction unit 321, and a limiting unit 322, 412 limiting the frequency of the first correction process so that the plurality of local controllers exchange data at different times. The time master 101 can be shared for the correction process in the plurality of local controllers while suppressing an increase in communication load.

[0140] (13) A communication terminal including: a terminal communication unit 411 that receives a synchronization signal periodically transmitted by the time master 101, transmits it to a local controller having a local clock 311, receives a response signal to the synchronization signal transmitted by the local controller for data exchange to obtain the deviation amount of the local clock 311 relative to the time master 101, and transmits it to the time master 101; and a restriction unit 412 that blocks the response signal before it is received by the time master 101, thereby restricting the completion of the data exchange, so that the frequency of the first correction process is less than the frequency of transmitting the synchronization signal.

[0141] (14) A communication method including receiving a synchronization signal periodically transmitted by the time master 101 via the network NW, exchanging data with the time master 101 in response to the synchronization signal, including transmitting a response signal to the synchronization signal, obtaining the amount of deviation of the local clock 311 from the time master 101, performing a first correction process to correct the local clock 311 in accordance with the amount of deviation, and limiting the frequency of the first correction process to be less than the frequency of transmitting the synchronization signal. Although the embodiments have been described above, the present disclosure is not necessarily limited to the above-described embodiments, and various modifications are possible without departing from the spirit and scope of the present disclosure.

[0142] 2...machine, 3...control system, NW...network, 311...local clock, 312...communication unit, 315...control unit, 101...time master, 321...first correction unit, 322, 412...limitation unit, 323...second correction unit.

Claims

1. A control system comprising: a time master that periodically transmits a synchronization signal for time synchronization via a network; and a controller that is connected to the time master via the network and controls a machine, wherein the controller has: a local clock; and a first correction unit that, in response to the synchronization signal received via the network, exchanges data with the time master, including transmitting a response signal to the synchronization signal, obtains the amount of deviation of the local clock from the time master, and performs a first correction process to correct the local clock in accordance with the amount of deviation, wherein the control system further comprises a limiting unit that limits the frequency of the first correction process to be less than the frequency of transmitting the synchronization signal.

2. A control system as described in claim 1, wherein the limiting unit blocks the response signal transmitted from the first correction unit before it is received by the time master so as to limit the frequency of the first correction process, thereby limiting the completion of the data exchange by the first correction unit.

3. A control system according to claim 2, wherein said restriction section determines whether or not to block said response signal to said synchronization signal based on identification information contained in said synchronization signal.

4. The control system according to claim 1, wherein said limiting section limits the initiation of said data exchange by said first correcting section so as to limit the frequency of said first correcting process.

5. A control system as described in any one of claims 1 to 4, wherein the restriction unit restricts reception of the response signal by the time master when the response signal is not transmitted within a predetermined time from the time of reception of the synchronization signal in the first correction process that is planned to be executed by the first correction unit in response to the synchronization signal.

6. A control system as claimed in any one of claims 1 to 4, wherein the controller has: a communication unit that exchanges control data, the periodic timing of which is specified, with the application in order to perform periodic communication with the application via the non-periodic network; and a control unit that controls the machine using the control data at the specified timing based on the local clock.

7. The control system according to claim 4, wherein the controller further comprises a second correction unit that performs a second correction process to correct the local clock at a timing different from that of the first correction process based on the deviation amount obtained in the data exchange for the first correction process.

8. The control system described in claim 7, wherein the first correction unit repeats the first correction process at a first frequency to gradually reduce the amount of deviation; the limiting unit switches the frequency of the first correction process to a second frequency lower than the first frequency when the amount of deviation has decreased to the point where a predetermined condition is satisfied; and the second correction unit executes the second correction process based on the amount of deviation that satisfies the predetermined condition after the frequency of the first correction process is switched from the first frequency to the second frequency.

9. The control system according to claim 8, wherein the second correction unit performs the second correction process at the timing when the synchronization signal is received.

10. The control system according to claim 8, wherein the second correction unit sets an execution timing of the second correction process based on the deviation amount that satisfies the specified condition and a predetermined allowable deviation amount, and executes the second correction process at the set execution timing.

11. The control system of claim 4, wherein the first correction unit repeats the first correction process at a first frequency to gradually reduce the amount of deviation, and the limiting unit, when the amount of deviation has decreased to the point where a predetermined condition is satisfied, sets a second frequency lower than the first frequency based on the amount of deviation and a predetermined allowable amount of deviation, and limits the frequency of the first correction process to the second frequency.

12. The control system described in claim 4, wherein the first correction unit repeats the first correction process at the same frequency as the transmission frequency of the synchronization signal to gradually reduce the amount of deviation; the restriction unit starts to restrict the frequency of the data exchange when the amount of deviation has decreased to the point where a predetermined condition is satisfied; and the time master restricts the frequency of the transmission of the synchronization signal to match the frequency of the first correction process when the restriction unit starts to restrict the frequency of the data exchange.

13. A control system according to any one of claims 1 to 4, comprising a plurality of controllers including the controller, each of the plurality of controllers having the local clock and the first correction unit, and the limiting unit limiting the frequency of the first correction process so that the plurality of controllers perform the data exchange at different times from one another.

14. A communications terminal comprising: a terminal communication unit that receives a synchronization signal periodically transmitted by a time master, transmits it to a controller having a local clock, receives a response signal to the synchronization signal transmitted by the controller for data exchange to obtain the amount of deviation of the local clock from the time master, and transmits it to the time master; and a restriction unit that blocks the response signal before it is received by the time master, thereby restricting the completion of the data exchange, so as to make the frequency of the data exchange less than the frequency of transmission of the synchronization signal.

15. A communication method comprising: receiving a synchronization signal periodically transmitted by a time master via a network; exchanging data with the time master in response to the synchronization signal, including transmitting a response signal to the synchronization signal, to obtain an amount of deviation of a local clock relative to the time master, and performing a first correction process to correct the local clock in accordance with the amount of deviation; and limiting the frequency of the first correction process to be less than the frequency of transmitting the synchronization signal.