WO2019163443A1 - 通信システム、通信装置および通信方法 - Google Patents

通信システム、通信装置および通信方法 Download PDF

Info

Publication number
WO2019163443A1
WO2019163443A1 PCT/JP2019/002983 JP2019002983W WO2019163443A1 WO 2019163443 A1 WO2019163443 A1 WO 2019163443A1 JP 2019002983 W JP2019002983 W JP 2019002983W WO 2019163443 A1 WO2019163443 A1 WO 2019163443A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
slave
master
adjustment value
communication
Prior art date
Application number
PCT/JP2019/002983
Other languages
English (en)
French (fr)
Inventor
光宏 米田
成憲 澤田
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to US16/643,586 priority Critical patent/US11095382B2/en
Priority to EP19757701.8A priority patent/EP3758271A4/en
Priority to CN201980004261.1A priority patent/CN111052669B/zh
Publication of WO2019163443A1 publication Critical patent/WO2019163443A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0673Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/14Monitoring arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33252Real time synchronous transmission, model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0004Initialisation of the receiver
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present disclosure relates to a communication system in which a plurality of communication devices are connected to a network, the communication device, and a communication method.
  • control devices such as PLCs (programmable controllers) are prevalent.
  • PLCs programmable controllers
  • Such a control device transmits and receives data to and from one or more devices via a bus or a network.
  • Patent Document 1 discloses a method of monitoring time synchronization in a communication system including a time master and one or more time slaves connected via a network. Is disclosed.
  • the time synchronization monitoring method disclosed in Patent Document 1 employs a high-precision time synchronization protocol called PTP (Precision Time Protocol) defined in IEEE (Institute of Electrical and Electronics Engineers) 1588.
  • PTP Precision Time Protocol
  • time synchronization packets are periodically exchanged between the time master and the time slave, and the time of the time slave is corrected based on information obtained in the process.
  • the time master cannot determine whether or not the time synchronization of the time slave has been completed.
  • Patent Document 1 information indicating the time at which the time slave transmits the packet is included in the time synchronization packet transmitted from the time slave to the time master.
  • the time master can determine whether or not the time synchronization of the time slave is completed based on the difference between the time when the packet is received and the time when the packet is transmitted.
  • P2P Peer to Peer
  • P2P Peer to Peer
  • two adjacent communication devices have a relationship between a master and a slave and execute time synchronization processing.
  • each communication device uses the Peer delay mechanism, each communication device measures the delay time between communication devices located adjacent to the master side, and corrects the time of its own device based on the measured delay time. .
  • the time master receives the time synchronization packet including time information from the latest time slave, and It can be determined whether the time synchronization of the time slave is completed. On the other hand, since time synchronization packets are not exchanged with other time slaves that are not directly connected to the time master, the time master determines whether or not the time synchronization of other time slaves has been completed. Can not do it. As a result, for example, after the communication system is turned on, the time master cannot determine the timing at which data transmission can be started with a plurality of time slaves.
  • the communication system is a communication system in which a plurality of communication devices are connected to a network.
  • the plurality of communication devices include a time master having a master clock for managing the time of the communication system, and a plurality of time slaves each having a slave clock synchronized with the master clock.
  • Each of the plurality of time slaves has synchronization means for synchronizing time with other communication devices connected adjacent to the master side on the network, and the time synchronization accuracy of the own device obtained by the synchronization means.
  • Communication means for notifying the time master of the time synchronization information shown.
  • the time master can determine whether or not time synchronization between the own device and the plurality of time slaves is complete based on the time synchronization information notified from each time slave. .
  • data transmission can be started at the timing when time synchronization is completed in the entire communication system. Therefore, the data transmission can be started more quickly than the configuration in which the data transmission is started at the timing when the set time has elapsed after the communication system is turned on.
  • the time master can monitor the time synchronization accuracy of each of the plurality of time slaves based on the time synchronization information notified from each time slave. When a time lag occurs during this period, data transmission can be stopped immediately. Therefore, it is possible to avoid the possibility that the timing at which the time slave acquires the input data and outputs the output data varies depending on the time difference.
  • the synchronization unit corrects the time of the own device using the difference between the time of the other communication device and the time of the own device as a time adjustment value.
  • the communication means notifies the time master of the time adjustment value as time synchronization information.
  • each time slave can notify the time master of the time synchronization information of the own device using the time adjustment value used in the time synchronization processing of the own device.
  • the communication means receives the time adjustment value from another communication device connected adjacent to the slave side on the network.
  • the communication means transfers the time adjustment value having a larger absolute value among the received time adjustment value and the time adjustment value of the own device to another communication device.
  • the maximum value among the time adjustment values of a plurality of time slaves that is, the worst value of the time synchronization accuracy can be notified to the time master. Therefore, the time master can determine whether or not the time synchronization of the plurality of time slaves has been completed based on the worst value of the time synchronization accuracy.
  • the communication means receives the time adjustment value from another communication device connected adjacent to the slave side on the network.
  • the communication means transfers the received time adjustment value and the time adjustment value of the own device to another communication device.
  • the time adjustment values of all the time slaves can be notified to the time master. Therefore, the time master can determine whether or not all the time synchronizations of the plurality of time masters have been completed based on the notified time synchronization information.
  • the communication means receives the time adjustment value from another communication device connected adjacent to the slave side on the network, and the sum of the received time adjustment value and the time adjustment value of the own device Transfer the value to another communication device.
  • the time master can be notified of the time difference between each time slave and the time master.
  • the time master can determine whether or not the time synchronization of the plurality of time slaves has been completed based on the time difference between the own device and each time slave.
  • the synchronization unit periodically executes time synchronization processing for correcting the time of the own device by exchanging time synchronization packets with other communication devices.
  • the communication means stores the time adjustment value to be transferred to the other communication device in the time synchronization packet transmitted to the other communication device.
  • the communication means can be realized by using the existing time synchronization sequence by including the time synchronization information in the time synchronization packet transmitted to the communication device located on the master side. According to this, in order to realize the communication means, it is possible to prevent an increase in the number of packets exchanged between the communication apparatuses during the execution of the time synchronization process.
  • the time master is a control device that manages data transmission in the network.
  • Each of the plurality of time slaves is a device that executes data transmission in accordance with a command from the control device.
  • the control device determines whether or not the time synchronization with the plurality of devices is completed based on the time synchronization information notified from the plurality of devices, and determines that the time synchronization is completed. Start data transmission within.
  • the control device in the communication system functions as a time master
  • the control device immediately starts data transmission when it is determined that time synchronization of a plurality of devices functioning as time slaves has been completed. can do.
  • one time slave of the plurality of time slaves is a control device that manages data transmission in the network.
  • Each of the remaining time slaves and time masters excluding the one time slave is a device that executes data transmission in accordance with a command from the control device.
  • the time master determines whether time synchronization with the plurality of time slaves is completed based on time synchronization information notified from the plurality of time slaves, and notifies the control device of the determination result. When it is determined from the determination result that the time synchronization has been completed, the control device starts data transmission in the network.
  • the control device starts data transmission promptly according to the determination result of time synchronization completion notified from the device. be able to.
  • one time slave of the plurality of time slaves is a control device that manages data transmission in the network.
  • Each of the remaining time slaves and time masters excluding the one time slave is a device that executes data transmission in accordance with a command from the control device.
  • the time master transfers time synchronization information notified from a plurality of time slaves to the control device.
  • the control device determines whether time synchronization with a plurality of devices is completed based on the time synchronization information, and starts data transmission in the network when it is determined that time synchronization is completed. .
  • the control device determines completion of time synchronization based on time synchronization information transferred from the device. Data transmission can be started immediately.
  • the synchronization unit periodically executes time synchronization processing for correcting the time of the own device by exchanging time synchronization packets with other communication devices.
  • the communication means notifies the time master of time synchronization information after execution of the time synchronization processing.
  • the communication device is a communication device that is network-connected to the communication system.
  • the communication device has a slave clock that is time-synchronized with a master clock that manages the time of the communication system, and is used for time synchronization with other communication devices connected adjacent to the master side on the network.
  • the time master can determine whether or not the time synchronization between the own device and the plurality of communication devices is completed based on the time synchronization information notified from each communication device. .
  • data transmission can be started at the timing when time synchronization is completed in the entire communication system.
  • the time master can monitor the time synchronization accuracy of each of the plurality of communication devices based on the time synchronization information notified from each communication device. When a time lag occurs during this period, data transmission can be stopped immediately. Therefore, it is possible to avoid the possibility that the communication device acquires the input data and outputs the output data depending on the time difference.
  • the communication method is a communication method in a communication system in which a plurality of communication devices are connected to a network.
  • the plurality of communication devices include a time master having a master clock for managing the time of the communication system, and a plurality of time slaves each having a slave clock synchronized with the master clock.
  • the communication method includes a step in which each of the plurality of time slaves synchronizes time with another communication device connected adjacent to the master side on the network, and each of the plurality of time slaves And notifying the time master of time synchronization information indicating the time synchronization accuracy.
  • the time master can determine whether or not the time synchronization between the own device and the plurality of time slaves is complete based on the time synchronization information notified from each time slave. .
  • data transmission can be started at the timing when time synchronization is completed in the entire communication system.
  • the time master can monitor the time synchronization accuracy of each of the plurality of time slaves based on the time synchronization information notified from each time slave. When a time lag occurs during this period, data transmission can be stopped immediately. Therefore, it is possible to avoid the possibility that the timing at which the time slave acquires the input data and outputs the output data varies depending on the time difference.
  • a communication system in which a plurality of communication devices are connected to a network, it can be determined that time synchronization is completed between the plurality of communication devices.
  • FIG. 24 is a diagram schematically illustrating a first configuration example of a communication system to which the communication unit illustrated in FIG. 23 is applied. It is a figure which shows typically the 2nd structural example of the communication system with which the communication means shown in FIG. 23 is applied.
  • FIG. 1 is a diagram schematically showing a configuration of a communication system 1 according to the present embodiment.
  • the communication system 1 is a communication system in which a plurality of communication devices (control device 100, devices 200A to 200C) are connected to a network 2.
  • the plurality of communication devices include a time master and a plurality of time slaves.
  • Each of the time master and the plurality of time slaves has timers that are time synchronized with each other.
  • the time master has a timer that functions as a “master clock” that manages the time of the communication system 1, and functions as a “slave clock” that a time slave connected to the network has in accordance with a synchronization procedure in the time synchronization protocol. Synchronize the timer.
  • control device 100 functions as a time master, and the devices 200A to 200C function as time slaves.
  • the control device 100 transmits and receives data to and from the devices 200A to 200C via the network 2.
  • the control device 100 manages data transmission in the network.
  • Devices 200A to 200C perform data transmission in accordance with a command from control device 100.
  • the network of the communication system 1 includes a control device 100 that controls a manufacturing apparatus, a production facility, and the like, and is configured to satisfy a requirement conforming to a so-called industrial network or industrial network.
  • a communication system 1 in which a plurality of communication devices time-synchronized with each other is connected to the network is employed. That is, the transmission / reception timings are time-synchronized among a plurality of communication devices constituting the network of the communication system 1. More specifically, each of a plurality of communication devices constituting the network has a time-synchronized timer (or a counter that is synchronously incremented or decremented), and these time-synchronized timers or According to the counter, each communication device determines the timing of data transmission or reception.
  • the control device 100 has a timer 101, and the devices 200A to 200C have timers 201A to 201C, respectively.
  • the timer 101 of the control device 100 functions as a “master clock”, and the timers of the devices 200A to 200C synchronize timing with reference to the master clock. Due to the synchronization between the timers, in the communication system 1, the data transmission timings and the like can be matched with each other.
  • a time synchronization function is implemented in each time slave in order to realize time synchronization between the time master and a plurality of time slaves.
  • each time slave has a function for correcting the timer of its own device with reference to the timer of the communication device connected adjacent to the master side on the network.
  • the device 200 ⁇ / b> A has a timer 101 (master clock) of the control device 100 for time synchronization with the control device 100 connected adjacent to the master side. Is used as a reference, the time of the timer 201A (slave clock) of the device itself is corrected. Specifically, the device 200A periodically executes time synchronization processing for exchanging time synchronization packets with the control device 100, and based on the information obtained in the process, the timer 101 and its own device The difference from the timer 201A is calculated. Then, the device 200A corrects the timer 201A of its own device using this difference as a time adjustment value.
  • the device 200B periodically executes the time synchronization process described above with the device 200A connected adjacent to the master side.
  • the device 200B calculates a difference between the timer 201A of the device 200A and the timer 201B of the own device, and corrects the timer 201B of the own device using the difference as a time adjustment value.
  • the device 200C periodically executes the time synchronization process described above with the device 200B connected adjacent to the master side.
  • the device 200C calculates a difference between the timer 201B of the device 200B and the timer 201C of the own device, and corrects the timer 201C of the own device using the difference as a time adjustment value.
  • the timer (slave clock) can be time-synchronized with the timer 101 (master clock) of the control device 100.
  • the time master can determine whether or not the time synchronization of a plurality of time slaves has been completed. Can not. Therefore, after the communication system 1 is turned on, the time master cannot determine the timing at which data transmission can be started with a plurality of time slaves.
  • a time sufficiently longer than the time actually spent for time synchronization processing is set, and a configuration is adopted in which data transmission is started after the set time has elapsed after the power is turned on. Can do. According to this, it is guaranteed that data transmission is executed in a state where time synchronization is completed. However, there is a concern that it takes more time than necessary to start data transmission after the power is turned on.
  • each of the plurality of time slaves has “communication means” for notifying the time master of time synchronization information indicating the time synchronization accuracy of the slave clock of the own device.
  • the time synchronization information is notified from each of the devices 200A to 200C to the control device 100 which is the time master. Therefore, the control apparatus 100 can determine whether or not the time synchronization between the own apparatus and each device is completed based on the time synchronization information notified from the devices 200A to 200C.
  • data transmission can be started at the timing when time synchronization is completed in the entire communication system 1. Therefore, it is possible to start data transmission more quickly than the configuration in which data transmission is started at the timing when the set time has elapsed after the power is turned on.
  • the control device 100 can monitor the time synchronization accuracy of each of the devices 200A to 200C based on the time synchronization information notified from the devices 200A to 200C. When a time lag occurs between the two, data transmission can be stopped immediately. Therefore, it is possible to avoid the possibility that the timing at which the device acquires the input data and outputs the output data varies depending on the occurrence of the time lag.
  • FIG. 1 is a diagram schematically showing a configuration of a communication system 1 according to the present embodiment.
  • the control device 100 and a plurality of devices 200A to 200C (hereinafter, may be collectively referred to as “device 200”) are connected to the network 2.
  • the devices 200A to 200C are sequentially connected in a daisy chain, for example.
  • the connection form between the device 200 of the network 2 and the control apparatus 100 is a line type, but is not limited to the line type.
  • other connection forms including a ring type, a bus type, or a star type may be used.
  • both the control device 100 and the devices 200A to 200C can be regarded as “communication devices having a data transfer function”.
  • each of the control device 100 and the devices 200A to 200C transfers data (hereinafter referred to as one transfer unit data) transferred over the network from other adjacent communication devices. Is also referred to as a “frame”.),
  • the incoming frame is transferred to another adjacent communication device connected as necessary. If the received frame is addressed to the own apparatus, the received frame is processed by the apparatus itself that has received the frame without being transferred to another communication apparatus.
  • the control device 100 corresponds to an industrial controller that controls controlled objects such as various equipment and devices provided in a manufacturing apparatus or a production line (hereinafter also referred to as “field”).
  • the control device 100 is also referred to as a “control master”.
  • the control device 100 is a kind of computer that executes control calculations, and may be typically embodied as a PLC (programmable controller).
  • Control objects such as sensors and actuators can be connected to the control device 100 directly or via the network 2.
  • these control targets can be connected to the control apparatus 100 via the device 200 and the network 2.
  • Each of the devices 200 includes an input device that acquires a field signal, and an output device or an actuator that performs some action on the field in accordance with an instruction from the control device 100.
  • Device 200 corresponds to one embodiment of a “control slave” controlled by a control master.
  • the network 2 provides input and device control as main functions.
  • the network 2 corresponds to a “field network” in a narrow sense.
  • “field network” is also referred to as “field bus”, but for the sake of simplicity, in the following description, network 2 may include both “field network” and “field bus”. It is a concept.
  • the control calculation executed in the control apparatus 100 includes processing (input processing) for collecting data collected or generated in the device 200 (hereinafter also referred to as “input data”), data such as instructions for the device 200 (hereinafter referred to as “input data”). (Also referred to as “output data”). (Processing for generating), processing for transmitting the generated output data to the target device 200 (output processing), and the like.
  • a support device 500 can be connected to the control device 100.
  • the support apparatus 500 is an apparatus that supports necessary preparations for the control apparatus 100 to manage the network 2 and preparations necessary for controlling a control target.
  • the support apparatus 500 provides, for example, a setting environment for setting parameters (configuration) of the device 200 connected to the control apparatus 100 in connection with the management of the network 2.
  • the support device 500 may include a PC (personal computer) in which a setting tool that provides a setting environment or the like is installed.
  • the support device 500 is provided separately from the control device 100, but the support device 500 may be provided integrally with the control device 100. That is, the function of the support device 500 can be built in the control device 100.
  • the device 200 includes an actuator that gives some physical action to the field, an input / output device that exchanges information with the field, and the like.
  • Data is exchanged between the control device 100 and the device 200 via the network 2, and the exchanged data is updated at a very short cycle of the order of several hundreds ⁇ sec to several tens of msec. Become.
  • control system data data used for control of a manufacturing apparatus or production facility
  • other data different from the control system data can be transmitted.
  • the other data includes, for example, data called “information system data” or “control information system data”. These are data that require a certain degree of punctuality, although high-speed real-time performance is not required, such as control system data.
  • the control system data includes, for example, servo command values, encoder values, sensor ON / OFF values, and the like. Since the control system data is used for controlling the manufacturing apparatus or the production facility, it is transmitted from the control apparatus 100 at a constant communication cycle. In the communication system 1, it is necessary to reliably guarantee this communication cycle.
  • the network 2 employs a bus or network that performs fixed-cycle communication that guarantees the arrival time of data.
  • known protocols such as EtherCAT (registered trademark), which is an example of a machine control network, and EtherNet / IP (registered trademark), which is an industrial open network in which a control protocol is implemented on a general-purpose Ethernet (registered trademark). You may employ
  • FIG. 2 is a schematic diagram showing an example of a hardware configuration of communication system 1 according to the present embodiment.
  • the control device 100 may typically be configured based on a PLC.
  • control apparatus 100 includes a processor 102, a memory 104, a storage 106, and a network controller 110 as main components.
  • Control device 100 further includes an interface (I / F) that communicates with support device 500.
  • the storage 106 stores a system program 107 for controlling each part of the control device 100 and a user application program 108 designed according to the control target.
  • the processor 102 reads out the system program 107 and the user application program 108 stored in the storage 106 to the memory 104 and executes them, thereby realizing various processes including processes described below.
  • the memory 104 includes a volatile storage device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory).
  • the network controller 110 provides an interface for the control device 100 to exchange data with each device 200 via the network 2.
  • the network controller 110 includes a reception circuit (Rx) 111, a reception buffer 112, a transmission / reception controller 113, a transmission buffer 114, a transmission circuit (Tx) 115, and a timer 101 as main components.
  • the receiving circuit 111 receives a frame transmitted on the network controller 110 at a fixed period, and writes the data stored in the received frame to the receiving buffer 112.
  • the transmission / reception controller 113 sequentially reads the reception frames written in the reception buffer 112.
  • the transmission / reception controller 113 extracts only data necessary for processing in the control device 100 from the read frame and outputs the data to the processor 102.
  • the transmission / reception controller 113 sequentially writes data or frames to be transmitted to the device 200 in the transmission buffer 114 in accordance with a command from the processor 102.
  • the transmission circuit 115 sequentially sends the data stored in the transmission buffer 114 to the network 2 in synchronization with the cycle in which frames are transmitted on the network controller 110.
  • the timer 101 may also be a grand master that generates a pulse serving as a reference for timing for instructing transmission of a communication frame from the transmission / reception controller 113.
  • the device 200 implements various functions necessary for realizing control of various facilities and apparatuses by the communication system 1.
  • each of the devices 200 is responsible for collecting field information from a control target facility or apparatus and outputting a command signal to the control target facility or apparatus.
  • Each of the devices 200 includes a processor 202, a memory 204, a storage 206, and a communication circuit 210 as main components.
  • the communication circuit 210 processes a frame transmitted through the network 2. That is, when the communication circuit 210 receives any frame via the network 2, the communication circuit 210 performs data writing to the received frame and / or data reading from the frame, and then to the device 200 positioned next on the network 2. Transfer the frame.
  • the communication circuit 210 includes a reception circuit (Rx) 211, a transmission / reception controller 212, a transmission circuit (Tx) 213, and a timer 201.
  • the reception circuit 211 and the transmission circuit 213 are parts physically connected to the network 2, receive a frame transmitted on the network 2 according to a command from the transmission / reception controller 212, process the reception frame, and after processing Are sent to the network 2.
  • the transmission / reception controller 212 writes data to and / or reads data from a frame transmitted on the network 2.
  • the timer 201 generates a reference clock such as a command output timing by the transmission / reception controller 212 or a processing execution timing by the device 200.
  • Time synchronization function In the communication system 1 shown in FIG. 1, the control device 100 has a timer 101, and the devices 200A to 200D have timers 201A to 201C, respectively.
  • the timer 101 of the control device 100 functions as a master clock, and the timers of the devices 200A to 200C synchronize the timing with reference to the master clock, so that the data transmission timing and the like can be matched with each other in the communication system 1.
  • a high-accuracy time synchronization protocol such as IEEE 1588, IEEE 802.1AS, IEEE 802.1AS-Rev can be adopted.
  • PTP Precision Time Protocol
  • IEEE 1588 defines PTP (Precision Time Protocol).
  • PTP can be applied to a communication system including a time master M having a master clock and a time slave S having a slave clock.
  • time synchronization packets are regularly exchanged between the time master M and the time slave S, and the time of the slave clock of the time slave S is corrected based on information obtained in the process.
  • FIG. 3 is a sequence diagram illustrating an example of the PTP time synchronization process.
  • the time master M and the time slave S are linked to realize time synchronization between the master clock and the slave clock.
  • T2 T1 + OFFSET + D M / S (2)
  • the time master M transmits a time synchronization packet (Follow_Up message) to the time slave S.
  • the Follow_Up message includes information indicating the time T1 when the Sync message is transmitted from the time master M.
  • the time slave S records time T1 and time T2.
  • the time slave S transmits a time synchronization packet (Delay_Req message) to the time master M.
  • the time master M transmits a time synchronization packet (Delay_Resp message) to the time slave S.
  • the Delay_Resp message includes information indicating the time T4 when the Delay_Req message is received.
  • the time slave S receives the Delay_Resp message, it can confirm that the time master M has received the Delay_Req message, and therefore records the time T3 and the time T4.
  • T4 T3-OFFSET + DS / M (3)
  • the time slave S records times T1, T2, T3, and T4 (that is, four time stamps).
  • D M / S D S / M )
  • the time slave S is based on the equations (2) and (3).
  • OFFSET can be calculated by the following equation (4).
  • IEEE 1588 further defines a delay management function called a transparent clock.
  • Transparent clocks include E2E (End to End) transparent clocks and P2P (Peer to Peer) transparent clocks.
  • the E2E transparent clock is a method in which a time stamping function is installed in the input unit and output unit of each switch arranged between the time master M and the time slave S, and the packet passing time of each switch is measured and corrected. is there.
  • the E2E transparent clock measures the delay time between the time master M and the time slave S using the Delay request-Delay response mechanism shown in FIG.
  • the P2P transparent clock is a system in which two adjacent communication devices are in a relationship between a master and a slave and the clocks are synchronized.
  • the P2P transparent clock measures the delay time between each peer using the Peer delay mechanism.
  • the time master M and the time slaves S1 to S3 are sequentially connected in a daisy chain.
  • the control device 100 corresponds to the time master M
  • the devices 200A to 200C correspond to the time slaves S1 to S3, respectively.
  • Each of the time master M and the time slaves S1 to S3 has ports P1 and P2.
  • Each of the ports P1 and P2 can be designated as either a master port or a slave port.
  • one of the ports P1 and P2 in the time master M is designated as a master port, and the other port is an upper network or another control on the same network. It may be connected to the device (see FIG. 24).
  • the connection form of the time master M and the time slaves S1 to S3 is a ring type, both the ports P1 and P2 of the time master M are designated as master ports.
  • the user can specify which communication device of a plurality of communication devices constituting the communication system 1 functions as a master clock. Alternatively, it can be automatically specified using a master clock selection algorithm.
  • the ports P1 and P2 of the time slaves S1 to S3 can be designated by the user. Or it can designate automatically based on the topology information of the communication system 1 designed with the tool.
  • the time synchronization process using the P2P transparent clock is executed to time-synchronize the slave clocks of the time slaves S1 to S3 with the master clock of the time master M.
  • FIG. 5 is a sequence diagram showing an example of time synchronization processing using a P2P transparent clock.
  • the switches SW1 and SW2 are network switches having a P2P transparent clock function.
  • the switches SW1 and SW2 are connected adjacently on the network.
  • the switch SW2 is located adjacent to the master side of the switch SW1.
  • a time synchronization packet is periodically exchanged between the switch SW1 and the switch SW2, and the clock time of the switch SW1 is corrected based on information obtained in the process.
  • the switch SW1 transmits a time synchronization packet (Pdelay_Req message) to the switch SW2.
  • Pdelay_Req message a time synchronization packet
  • the relationship between the time T1 when the switch SW1 transmits the Pdelay_Req message, the time T2 when the switch SW2 receives the Pdelay_Req message, and the delay time D1 / 2 in the direction from the switch SW1 to the switch SW2 is expressed by the following equation (6). Holds.
  • the switch SW2 transmits a time synchronization packet (Pdelay_Resp message) to the switch SW1.
  • the Pdelay_Resp message includes information indicating the time T2 when the switch SW2 receives the Pdelay_Req message.
  • the switch SW1 records time T1 and time T2.
  • the switch SW2 transmits a time synchronization packet (Pdelay_Resp_followup message) to the switch SW1.
  • the Pdelay_Resp_followup message includes information indicating time T3 when the switch SW2 transmits the Pdelay_Resp message.
  • the switch SW1 records time T3 when the Pdelay_Resp_followup message is transmitted and time T4 when the Pdelay_Resp_followup message is received.
  • T4 T3- ⁇ T + D 2/1 (7)
  • the switch SW1 records times T1, T2, T3, and T4 (that is, four time stamps).
  • D 1/2 D 2/1
  • the delay time D can be calculated by the following equation (8).
  • the difference ⁇ T between the clock time of the switch SW1 and the clock time of the switch SW can be calculated by the following equation (9).
  • the switch SW1 uses the difference ⁇ T as a time adjustment value to correct the clock of its own device.
  • the time slave S ⁇ b> 1 executes the time synchronization processing shown in FIG. 5 with the time master M connected to the slave port, thereby obtaining the time of the clock (master clock) possessed by the time master M.
  • the difference ⁇ T with respect to the clock (slave clock) time of the own device is calculated.
  • the time slave S1 corresponds to the switch SW1
  • the time master M corresponds to the switch SW2.
  • the time difference ⁇ T of the time slave S1 with respect to the time of the time master M is represented as “ ⁇ T M ⁇ 1 ”.
  • the time slave S1 corrects the time of its own timer using the difference ⁇ T M ⁇ 1 as the time adjustment value.
  • the time slave S2 calculates the time difference ⁇ T by executing the time synchronization process shown in FIG. 5 with the time slave S1 connected to the slave port.
  • the time slave S2 corresponds to the switch SW1 in FIG. 4, and calculates a difference ⁇ T between the clock time of the time slave S1 and the clock time of the own device.
  • the time slave S2 corresponds to the switch SW1
  • the time slave S1 corresponds to the switch SW2.
  • the difference ⁇ T of the time of the time slave S2 with respect to the time of the time slave S1 is expressed as “ ⁇ T 1-2 ”.
  • Time slave S2 is the difference [Delta] T 1-2 as a time adjustment value is the time correction of the clock of the apparatus.
  • the time slave S3 performs the time synchronization process shown in FIG. 5 with the time slave S2 connected to the slave port, thereby making a difference between the clock time of the time slave S2 and the clock time of the own device. ⁇ T is calculated.
  • the time slave S3 corresponds to the switch SW1
  • the time slave S2 corresponds to the switch SW2.
  • the difference ⁇ T of the time of the time slave S3 with respect to the time of the time slave S2 is represented as “ ⁇ T 2-3 ”.
  • Time slave S3 is the difference [Delta] T 2-3 as a time adjustment value is the time correction of the clock of the apparatus.
  • each of the plurality of communication devices uses the difference ⁇ T between the clock time of the communication device connected adjacent to the master side and the clock time of the own device as the time adjustment value, and sets the clock of the own device to the time.
  • the time synchronization is finally realized between the time master M and all the time slaves S1 to S3.
  • the time master M cannot determine whether or not the time synchronization of each time slave S has been completed, and can start transmission of control system data after the communication system 1 is turned on. The timing cannot be determined.
  • control system data A configuration for starting transmission can be employed. According to this, it is guaranteed that the transmission of the control system data is executed in the state where the time synchronization is completed. However, there is a concern that it takes more time than necessary to start transmission of control system data after turning on the power.
  • the sequence for monitoring the slave clock of the time slave S does not exist in the time master M during execution of data transmission. Therefore, when a time lag occurs between the master clock of the time master M and the slave clock of the time slave S, this cannot be detected.
  • the time slave S transmits a Delay_Req message to a time synchronization packet (Delay_Req message) transmitted to the time master M.
  • Delay_Req message a time synchronization packet transmitted to the time master M.
  • a technique for including information indicating the time T3 is disclosed. According to this technique, the time master M determines whether the time difference for monitoring (T4 ⁇ T3), which is the difference between the time T3 and the time T4, is within a predetermined allowable range. It can be determined whether or not the time synchronization of the slave S has been completed.
  • the time master M receives a time synchronization packet including time information from the latest time slave S1. Thus, it can be determined whether or not the time synchronization of the time slave S1 is completed. However, since the time synchronization packet is not exchanged between the time master M and the time slaves S2 and S3, the time master M determines whether or not the time synchronization of each of the time slaves S2 and S3 is completed. Can not do it.
  • the time slave S has “communication means” for notifying the time master M of information (time synchronization information) indicating the time synchronization accuracy of the slave clock of its own device.
  • the time master M can determine whether or not the time synchronization of the time slaves S1 to S3 is completed based on the time synchronization information notified from each of the time slaves S1 to S3.
  • FIG. 6 is a diagram schematically showing a configuration example 1 of the communication means according to the present embodiment.
  • the communication means according to the present embodiment is configured to notify the time adjustment value ⁇ T used for time correction of the slave clock of its own device as time synchronization information.
  • time slave S3 executes time synchronization processing (see FIG. 5) with time slave S2, thereby allowing time difference S of time slave S3 relative to the time of time slave S2 2-3. Is calculated.
  • the time slave S3 notifies the time slave S2 of the calculated time adjustment value ⁇ T 2-3 .
  • Time slave S2 is by performing a time synchronization process with the time slaves S1, calculates a time difference [Delta] T 1-2 times slave S2 for time of the time slave S1.
  • the time slave S2 compares the time adjustment value ⁇ T 2-3 received from the time slave S3 with the calculated time adjustment value ⁇ T 1-2 .
  • the time slave S2 compares the absolute value
  • the larger absolute value (hereinafter also referred to as “maximum time adjustment value ⁇ Tmax”) is selected.
  • the maximum time adjustment value in the time slave S2 is ⁇ Tmax2, the maximum time adjustment value ⁇ Tmax2 is given by the following equation (10).
  • the time slave S2 notifies the time slave S1 of the maximum time adjustment value ⁇ Tmax2.
  • ⁇ Tmax2 Max ⁇
  • the time slave S1 performs time synchronization processing with the time master M, thereby calculating a time difference ⁇ T M ⁇ 1 of the time slave S1 with respect to the time of the time master M.
  • the time slave S1 compares the maximum time adjustment value ⁇ Tmax2 received from the time slave S2 with the absolute value
  • the maximum time adjustment value ⁇ Tmax1 in the time slave S1 is assumed, the maximum time adjustment value ⁇ Tmax1 is given by the following equation (11).
  • the time slave S1 notifies the time master M of the maximum time adjustment value ⁇ Tmax1.
  • ⁇ Tmax1 Max ⁇
  • the maximum time adjustment value ⁇ Tmax1 can be expressed as the following equation (12).
  • ⁇ Tmax1 Max ⁇
  • the time master M has the maximum time among the absolute values of the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , ⁇ T M ⁇ 1 of the time slaves S1 to S3.
  • the adjustment value ⁇ Tmax1 is notified.
  • the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the maximum time adjustment value ⁇ Tmax1. Specifically, the time master M sets a threshold for determining whether or not the time synchronization is completed to a value obtained by dividing the allowable time accuracy determined in advance in the communication system 1 by the maximum number of paths.
  • the maximum number of paths is equivalent to the total number of transmission paths existing between the time master M and the terminal time slave S (corresponding to the time slave S3 in the example of FIG. 6). In the example of FIG. 6, the maximum number of paths is 3. Therefore, the threshold is set to an allowable time accuracy / 3. For example, when the allowable time accuracy is 1 ⁇ s, the threshold is set to 0.333 ⁇ s.
  • a time difference is generated between the time master M and the terminal time slave S3 by adding the differences ⁇ T of the time slaves S. Therefore, in each time slave S, even if the time difference ⁇ T between other adjacent communication devices is smaller than the allowable time accuracy, the allowable time accuracy is between the time master M and the terminal time slave S3. There may be a time difference exceeding. Therefore, by setting the threshold for determining completion of time synchronization to a value obtained by dividing the allowable time accuracy by the maximum number of paths, the time difference between the time master M and the time slave S3 is smaller than the allowable time accuracy. Judgment conditions for time synchronization completion.
  • the time master M compares the maximum time adjustment value ⁇ Tmax1 with the threshold value, and determines that the time synchronization of the time slaves S1 to S3 is completed when the maximum time adjustment value ⁇ Tmax1 is smaller than the threshold value. When it is determined that the time synchronization has been completed, the time master M starts transmission of control system data between the time slaves S1 to S3. On the other hand, when the maximum time adjustment value ⁇ Tmax1 is larger than the threshold value, the time master M determines that the time synchronization of the time slaves S1 to S3 is not completed, and does not start transmission of control system data.
  • the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • FIG. 7 is a sequence diagram showing a time synchronization process including the configuration example 1 of the communication unit according to the present embodiment.
  • time slave S3 transmits a Pdelay_Req message to time slave S2.
  • the time slave S3 stores the time adjustment value ⁇ T 2-3 calculated in the previous time synchronization process in the Pdelay_Req message transmitted to the time slave S2.
  • the time slave S2 When receiving the Pdelay_Req message, the time slave S2 extracts the time adjustment value ⁇ T 2-3 stored in the Pdelay_Req message. The time slave S2 transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S3. Time slave S3, calculates a time adjustment value [Delta] T 2-3, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T 2-3 which calculated.
  • Time slave S2 is a time adjustment value [Delta] T 2-3 received from the time the slave S3, and a time adjustment value [Delta] T 1-2 calculated in the previous time synchronization processing by substituting the equation (10), the maximum time An adjustment value ⁇ Tmax2 is calculated.
  • the time slave S2 stores the calculated maximum time adjustment value ⁇ Tmax2 in the Pdelay_Req message transmitted to the time slave S1.
  • the time slave S1 When receiving the Pdelay_Req message, the time slave S1 extracts the maximum time adjustment value ⁇ Tmax2 stored in the Pdelay_Req message. The time slave S1 transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S2.
  • Time slave S2 is to calculate a time adjustment value [Delta] T 1-2, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T 1-2 calculated.
  • the time slave S1 substitutes the maximum time adjustment value ⁇ Tmax2 received from the time slave S2 and the time adjustment value ⁇ T M ⁇ 1 calculated in the previous time synchronization process into the equation (11), thereby obtaining the maximum time adjustment value. ⁇ Tmax1 is calculated.
  • the time slave S1 stores the calculated maximum time adjustment value ⁇ Tmax1 in the Pdelay_Req message transmitted to the time master M.
  • the time master M When receiving the Pdelay_Req message, the time master M extracts the maximum time adjustment value ⁇ Tmax1 stored in the Pdelay_Req message. The time master M transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S1. Time slaves S1 calculates the time adjustment value [Delta] T M-1, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T M-1 for calculated.
  • the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the maximum time adjustment value ⁇ Tmax1 received from the time slave S1.
  • the time master M determines that the time synchronization of the time slaves S1 to S3 has been completed, and the time master M is synchronized with the time slaves S1 to S3. Control system data transmission starts.
  • the existing time synchronization sequence can be used.
  • Communication means can be realized. According to this, in order to realize the communication means, it is possible to prevent an increase in the number of packets exchanged between the communication apparatuses during the execution of the time synchronization process.
  • FIG. 8 is a flowchart showing a processing procedure by the time slave S configuring the communication system 1 according to the present embodiment.
  • FIG. 8 shows a processing procedure by one time slave Si (1 ⁇ i ⁇ 3) among a plurality of time slaves S1 to S3 (S3 corresponds to a terminal slave) sequentially connected to the time master M. Yes.
  • the flowchart shown in FIG. 8 is executed at a predetermined cycle.
  • time slave Si transmits a time synchronization packet (Pdelay_Req message) to the master side node (corresponding to time slave S (i-1) or time master M) (step S01). .
  • the time slave Si stores the maximum time adjustment value ⁇ Tmaxi in the Pdelay_Req message.
  • the time slave Si records the time T1 at which the Pdelay_Req message is transmitted (see FIG. 6).
  • the time slave Si receives a time synchronization packet (Pdelay_Resp message) from the master side node (step S02).
  • the Pdelay_Resp message includes time T2 when the master side node receives the Pdelay_Req message.
  • the time slave Si records time T2.
  • the time slave Si further receives a time synchronization packet (Pdelay_Resp followup message) from the master side node (step S03).
  • the Pdelay_Resp followup message includes time T3 when the master side node transmits the Pdelay_Resp message.
  • the time slave Si records time T3 and time T4 when the Pdelay_Resp message is received.
  • the time slave Si calculates a time difference (time adjustment value) ⁇ T of the time slave Si with respect to the time of the master side node based on the four times T1, T2, T3, and T4 (step S04).
  • the time slave Si corrects the clock time of its own device using the time adjustment value ⁇ T (step S05).
  • the time slave Si receives a time synchronization packet (Pdelay_Req message) from the slave side node (corresponding to the time slave S (i + 1)) (step S06).
  • the Pdelay_Req message stores the maximum time adjustment value ⁇ Tmax (i + 1) calculated by the slave side node.
  • the time slave Si compares the absolute value
  • the time slave Si sets the selected absolute value to the maximum time adjustment value ⁇ Tmaxi.
  • the time slave Si stores the set maximum time adjustment value ⁇ Tmaxi in a time synchronization packet (Pdelay_Req message) transmitted to the master side node in the next time synchronization processing. Therefore, the updated maximum time adjustment value ⁇ Tmaxi is notified to the master side node (step S01).
  • each of the time slaves S1 to Sn notifies the master side node of the maximum time adjustment value ⁇ Tmaxi, so that the time slave S1 finally notifies the time master M of the maximum time adjustment value ⁇ Tmax1. Is done.
  • FIG. 9 is a flowchart showing a processing procedure by the time master M constituting the communication system 1 according to the present embodiment. The flowchart shown in FIG. 9 is executed at a predetermined cycle.
  • time master M receives a time synchronization packet (Pdelay_Req message) from the slave side node (time slave S1) (step S11).
  • the Pdelay_Req message stores the maximum time adjustment value ⁇ Tmax1 calculated by the time slave S1.
  • the time master M transmits a time synchronization packet (Pdelay_Resp message) to the time slave S1 (step S12).
  • the Pdelay_Resp message includes a time T2 when the time master M receives the Pdelay_Req message.
  • the time master M further transmits a time synchronization packet (Pdelay_Resp followup message) to the time slave S1 (step S13).
  • the Pdelay_Resp followup message includes time T3 when the time master M transmits the Pdelay_Resp message.
  • the time master M compares the maximum time adjustment value ⁇ Tmax1 received from the time slave S1 with a threshold value (allowable time accuracy / maximum number of passes) (step S14).
  • a threshold value allowable time accuracy / maximum number of passes
  • the time master M determines that the time synchronization of the time slaves S1 to S3 is completed, and the control system data with the time slaves S1 to S3. Is transmitted (step S15).
  • the time master M further determines whether or not transmission of control system data is being executed (step S16). If transmission of control system data is being executed (YES in S16), the time master M stops transmission of control system data (step S17). On the other hand, if transmission of control system data is not being executed (NO in S16), time master M does not start transmission of control system data.
  • FIG. 10 is a diagram schematically illustrating a configuration example 2 of the communication unit according to the present embodiment. Also in this configuration example, as in the configuration example 1, the communication unit is configured to notify the time adjustment value ⁇ T used for time correction of the slave clock of the own device as the time synchronization information.
  • the time the slave S3 is time synchronization between time slave S2 (FIG. 5) to the execution time of the difference [Delta] T 2-3 times slave S3 for time of the time slave S2 Is calculated.
  • the time slave S3 notifies the time slave S2 of the calculated time adjustment value ⁇ T 2-3 .
  • Time slave S2 is by performing a time synchronization process with the time slaves S1, calculates a time difference [Delta] T 1-2 times slave S2 for time of the time slave S1.
  • the time slave S2 notifies the time slave S1 of the time adjustment value ⁇ T 2-3 received from the time slave S3 and the calculated time adjustment value ⁇ T 1-2 .
  • the time slave S1 performs time synchronization processing with the time master M, thereby calculating a time difference ⁇ T M ⁇ 1 of the time slave S1 with respect to the time of the time master M.
  • the time slave S1 notifies the time master M of ⁇ T 2-3 , ⁇ T 1-2 and the time adjustment value ⁇ T M-1 received from the time slave S2.
  • the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , and ⁇ T M ⁇ 1 . Specifically, the time master M adds the time adjustment values ⁇ T 1-2 and ⁇ T M ⁇ 1 to thereby add the time difference of the time slave S2 to the time of the time master M (time adjustment value) ⁇ T M-2 Is calculated.
  • the time adjustment value ⁇ T M ⁇ 2 is given by the following equation (13).
  • ⁇ T M-2 ⁇ T 1-2 + ⁇ T M-1 (13)
  • the time master M further adds the time adjustment values ⁇ T 2-3 , ⁇ T 1-2, and ⁇ T M ⁇ 1 to thereby add a time difference (time adjustment value) ⁇ T M of the time slave S3 to the time of the time master M.
  • -3 is calculated.
  • the time adjustment value ⁇ T M ⁇ 3 is given by the following equation (14).
  • ⁇ T M-3 ⁇ T 2-3 + ⁇ T 1-2 + ⁇ T M-1 (14)
  • the time master M selects the time adjustment value ⁇ T M ⁇ 1 , ⁇ T M ⁇ 2 , ⁇ T M ⁇ 3 having the largest absolute value.
  • the time master M sets the absolute value of the selected time adjustment value to the maximum time adjustment value ⁇ TMmax.
  • the maximum time adjustment value ⁇ TMmax is given by the following equation (15).
  • ⁇ TMmax Max ⁇
  • the time master M compares the maximum time adjustment value ⁇ TMmax with the allowable time accuracy, and determines that the time synchronization of the time slaves S1 to S3 is completed when the maximum time adjustment value ⁇ TMmax is smaller than the allowable time accuracy. When it is determined that the time synchronization has been completed, the time master M starts transmission of control system data between the time slaves S1 to S3.
  • the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • FIG. 11 is a flowchart showing a processing procedure by the time slave S constituting the communication system 1 according to the present embodiment.
  • FIG. 11 shows a processing procedure by one time slave Si (1 ⁇ i ⁇ 3) among a plurality of time slaves S1 to S3 (S3 corresponds to a terminal slave) sequentially connected to the time master M. Yes.
  • the flowchart shown in FIG. 11 is obtained by replacing steps S01 and S06 with steps S01A and S06A, respectively, as compared with the flowchart shown in FIG.
  • time slave Si transmits a time synchronization packet (Pdelay_Req message) to the master side node (corresponding to time slave S (i-1) or time master M) (step S01A).
  • the time slave Si stores the time adjustment value ⁇ T of its own device and the time adjustment value ⁇ T received from the slave side node (corresponding to the time slave S (i + 1)) in the Pdelay_Req message.
  • the time slave Si records the time T1 at which the Pdelay_Req message is transmitted (see FIG. 6).
  • the time slave Si receives a time synchronization packet (Pdelay_Resp message) from the master side node (step S02).
  • the time slave Si further receives a time synchronization packet (Pdelay_Resp followup message) from the master side node (step S03).
  • the time slave Si calculates a time difference (time adjustment value) ⁇ T of the time slave Si with respect to the time of the master side node based on the four times T1, T2, T3, and T4 (step S04).
  • the time slave Si corrects the clock time of its own device using the time adjustment value ⁇ T (step S05).
  • the time slave Si receives a time synchronization packet (Pdelay_Req message) from the slave side node (step S06A).
  • the Pdelay_Req message stores the time adjustment value ⁇ T at the slave side node.
  • the time adjustment value ⁇ T in the slave side node includes the time adjustment values ⁇ T of all the time slaves S located on the slave side relative to the own device.
  • the time slave Si stores the received time adjustment value ⁇ T and its own time adjustment value ⁇ T in a time synchronization packet (Pdelay_Req message) transmitted to the master side node in the next time synchronization processing. Therefore, the updated time adjustment value ⁇ T is notified to the master side node (step S01A).
  • each of the time slaves S1 to Sn notifies the master side node of the time adjustment value ⁇ T, so that finally all the time adjustment values ⁇ T of the time slaves S1 to S3 are converted to the time master M. Will be notified.
  • FIG. 12 is a flowchart showing a processing procedure by the time master M constituting the communication system 1 according to the present embodiment.
  • the flowchart shown in FIG. 12 is obtained by replacing step S11 with step S11A and adding steps S18 to S20 as compared with the flowchart of FIG.
  • time master M receives a time synchronization packet (Pdelay_Req message) from the slave side node (time slave S1) (step S11A).
  • Pdelay_Req message a time synchronization packet
  • time slave S1 step S11A
  • time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , ⁇ T M ⁇ 1 of the time slaves S1 to S3 are stored.
  • the time master M transmits a time synchronization packet (Pdelay_Resp message) to the time slave S1 (step S12).
  • the time master M further transmits a time synchronization packet (Pdelay_Resp followup message) to the time slave S1 (step S13).
  • the time master M compares the time of the time slaves S2 and S3 with respect to the time of the time master M based on the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 and ⁇ T M ⁇ 1 received from the time slave S1.
  • (Time adjustment values) ⁇ T M ⁇ 2 and ⁇ T M ⁇ 3 are calculated (step S18).
  • the time master M obtains the maximum absolute value (maximum time adjustment value ⁇ TMmax) of the calculated time adjustment values ⁇ T M ⁇ 3 , ⁇ T M ⁇ 2 and ⁇ T M ⁇ 1 (step S19).
  • the time master M compares the maximum time adjustment value ⁇ TMmax with the allowable time accuracy (step S20).
  • the time master M determines that the time synchronization of the time slaves S1 to S3 is completed, and controls between the time slaves S1 to S3.
  • System data transmission is executed (step S15).
  • the time master M further determines whether or not the transmission of control system data is being executed (step S16). . If transmission of control system data is being executed (YES in S16), the time master M stops transmission of control system data (step S17). On the other hand, if transmission of control system data is not being executed (NO in S16), time master M does not start transmission of control system data.
  • FIG. 13 is a diagram schematically illustrating a configuration example 3 of the communication unit according to the present embodiment. Also in this configuration example, as in the configuration examples 1 and 2, the communication unit is configured to notify the time adjustment value ⁇ T used for time correction of the slave clock of its own device as the time synchronization information.
  • time slave S3 executes time synchronization processing (FIG. 6) with time slave S2, thereby obtaining a difference ⁇ T 2-3 in time of time slave S3 with respect to the time of time slave S2. calculate.
  • the time slave S3 notifies the time slave S2 of the calculated time adjustment value ⁇ T 2-3 .
  • Time slave S2 is by performing a time synchronization process with the time slaves S1, calculates a time difference [Delta] T 1-2 times slave S2 for time of the time slave S1.
  • the time slave S2 adds the time adjustment value ⁇ T 2-3 received from the time slave S3 and the calculated time adjustment value ⁇ T 1-2 .
  • the time slave S2 notifies the time slave S1 of the total value ( ⁇ T 2-3 + ⁇ T 1-2 ) and the time adjustment value ⁇ T 1-2 .
  • the time slave S1 performs time synchronization processing with the time master M, thereby calculating a time difference ⁇ T M ⁇ 1 of the time slave S1 with respect to the time of the time master M.
  • the time slave S1 adds the total value ( ⁇ T 2-3 + ⁇ T 1-2 ) received from the time slave S2 and the time adjustment value ⁇ T M ⁇ 1 .
  • the time slave S1 also adds the time adjustment value ⁇ T 1-2 received from the time slave S2 and the time adjustment value ⁇ T M-1 .
  • the time slave S1 notifies the time master M of the total value ( ⁇ T 2-3 + ⁇ T 1-2 + ⁇ T M-1 ), ( ⁇ T 1-2 + ⁇ T M-1 ) and the time adjustment value ⁇ T M-1 .
  • the total value ( ⁇ T 2 ⁇ 3 + ⁇ T 1-2 + ⁇ T M ⁇ 1 ) is obtained as a difference (time adjustment value) ⁇ T M ⁇ 3 of the time of the time slave S3 with respect to the time of the time master M by the equation (14) Equivalent to.
  • the total value ( ⁇ T 1-2 + ⁇ T M ⁇ 1 ) corresponds to the difference (time adjustment value) ⁇ T M ⁇ 2 of the time of the time slave S2 with respect to the time of the time master M by the equation (13).
  • the time master M uses the equation (15) to set the time adjustment value ⁇ T M ⁇ 1 , ⁇ T M ⁇ 2 , ⁇ T M ⁇ 3 having the largest absolute value as the maximum time adjustment value ⁇ TMmax.
  • the time master M compares the maximum time adjustment value ⁇ TMmax with the allowable time accuracy, and determines that the time synchronization of the time slaves S1 to S3 is completed when the maximum time adjustment value ⁇ TMmax is smaller than the allowable time accuracy.
  • the time master M starts transmission of control system data between the time slaves S1 to S3.
  • the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • FIG. 14 is a flowchart showing a processing procedure by the time slave S configuring the communication system 1 according to the present embodiment.
  • FIG. 14 shows a processing procedure by one time slave Si (1 ⁇ i ⁇ 3) among a plurality of time slaves S1 to S3 (S3 corresponds to a terminal slave) sequentially connected to the time master M. Yes.
  • the flowchart shown in FIG. 14 replaces steps S01 and S06 with steps S01B and S06B, respectively, and adds step S08.
  • time slave Si transmits a time synchronization packet (Pdelay_Req message) to the master side node (corresponding to time slave S (i-1) or time master M) (step S01B). .
  • the time slave Si adds the time adjustment value ⁇ T of its own device and the time adjustment value ⁇ T of its own device and the time adjustment value ⁇ T received from the slave side node (corresponding to the time slave S (i + 1)) to the Pdelay_Req message. Is stored.
  • the time slave Si records the time T1 at which the Pdelay_Req message is transmitted (see FIG. 6).
  • the time slave Si receives a time synchronization packet (Pdelay_Resp message) from the master side node (step S02).
  • the time slave Si further receives a time synchronization packet (Pdelay_Resp followup message) from the master side node (step S03).
  • the time slave Si calculates a time difference (time adjustment value) ⁇ T of the time slave Si with respect to the time of the master side node based on the four times T1, T2, T3, and T4 (step S04).
  • the time slave Si corrects the clock time of its own device using the time adjustment value ⁇ T (step S05).
  • the time slave Si receives a time synchronization packet (Pdelay_Req message) from the slave side node (step S06B).
  • the Pdelay_Req message stores the time adjustment value ⁇ T at the slave side node and the sum of the time adjustment value ⁇ T calculated at the slave side node.
  • the time slave Si adds the received time adjustment value ⁇ T and the time adjustment value ⁇ T of its own device (step S08).
  • the time slave Si stores the total value and the time adjustment value ⁇ T of its own device in a time synchronization packet (Pdelay_Req message) transmitted to the master side node in the next time synchronization processing. Therefore, the updated time adjustment value ⁇ T and the summed value are notified to the master side node (step S01B).
  • FIG. 15 is a flowchart showing a processing procedure by the time master M constituting the communication system 1 according to the present embodiment.
  • the flowchart shown in FIG. 15 is obtained by replacing Step S11 with Step S11B and adding Steps S19 and S20 as compared with the flowchart of FIG.
  • time master M receives a time synchronization packet (Pdelay_Req message) from the slave side node (time slave S1) (step S11B).
  • the Pdelay_Req message stores time adjustment values ⁇ T M ⁇ 3 , ⁇ T M ⁇ 2 and ⁇ T M ⁇ 1 which are differences between the time of the time master M and the times of the time slaves S1 to S3.
  • the time master M transmits a time synchronization packet (Pdelay_Resp message) to the time slave S1 (step S12).
  • the time master M further transmits a time synchronization packet (Pdelay_Resp followup message) to the time slave S1 (step S13).
  • the time master M obtains the maximum absolute value (maximum time adjustment value ⁇ TMmax) of the time adjustment values ⁇ T M ⁇ 3 , ⁇ T M ⁇ 2 and ⁇ T M ⁇ 1 received from the time slave S1 (step S19). Subsequently, the time master M compares the maximum time adjustment value ⁇ TMmax with the allowable time accuracy (step S20). When the maximum time adjustment value ⁇ TMmax is smaller than the allowable time accuracy (when YES is determined in S20), the time master M determines that the time synchronization of the time slaves S1 to S3 is completed, and controls between the time slaves S1 to S3. System data transmission is executed (step S15).
  • the time master M further determines whether or not the transmission of control system data is being executed (step S16). . If transmission of control system data is being executed (YES in S16), the time master M stops transmission of control system data (step S17). On the other hand, if transmission of control system data is not being executed (NO in S16), time master M does not start transmission of control system data.
  • FIG. 16 is a sequence diagram showing a time synchronization process including the fourth example of the communication means according to the present embodiment.
  • time slave S3 exchanges time synchronization packets with time slave S2, and based on information obtained in the process.
  • a time adjustment value ⁇ T 2-3 is calculated.
  • the time slave S3 corrects the time of the slave clock of the time slave S3 using the calculated time adjustment value ⁇ T 2-3 .
  • Time slave S2 is then exchanges the time synchronization packet between the time the slave S1, and calculates the time adjustment value [Delta] T 1-2 based on the information obtained in the process.
  • Time slave S2 is using the time adjustment value [Delta] T 1-2 calculated performs time correction of slave clock time slave S2.
  • the time slave S1 exchanges time synchronization packets with the time master M, and calculates a time adjustment value ⁇ T M ⁇ 1 based on information obtained in the process.
  • the time slave S1 corrects the time of the slave clock of the time slave S1 using the calculated time adjustment value ⁇ TM -1 .
  • the time master M inquires of each of the time slaves S1 to S3 about the time adjustment value ⁇ T.
  • Each time slave S notifies the time master M of the time adjustment value ⁇ T of its own device in response to the inquiry.
  • the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , and ⁇ T M ⁇ 1 . Specifically, the time master M adds the time adjustment values ⁇ T 1-2 and ⁇ T M ⁇ 1 to thereby add the time difference of the time slave S2 to the time of the time master M (time adjustment value) ⁇ T M-2 Is calculated. The time master M further adds the time adjustment values ⁇ T 2-3 , ⁇ T 1-2, and ⁇ T M ⁇ 1 to thereby add a time difference (time adjustment value) ⁇ T M of the time slave S3 to the time of the time master M. -3 is calculated.
  • the time master M selects the time adjustment value ⁇ T M ⁇ 1 , ⁇ T M ⁇ 2 , ⁇ T M ⁇ 3 having the largest absolute value.
  • the time master M sets the absolute value of the selected time adjustment value to the maximum time adjustment value ⁇ TMmax.
  • the time master M compares the maximum time adjustment value ⁇ TMmax with the allowable time accuracy, and determines that the time synchronization of the time slaves S1 to S3 is completed when the maximum time adjustment value ⁇ TMmax is smaller than the allowable time accuracy.
  • the time master M starts transmission of control system data between the time slaves S1 to S3.
  • the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • the communication means of each time slave S is configured to notify the time master M of the time adjustment value ⁇ T of the own device obtained by the processing after the time synchronization processing is executed.
  • the time synchronization packet and the data indicating the time adjustment value ⁇ T collide on the network. There is a concern that it may end up. According to this configuration example, it is possible to prevent such a collision from occurring.
  • FIG. 17 is a sequence diagram showing time synchronization processing including the fifth example of the communication means according to the present embodiment.
  • time slave S3 exchanges time synchronization packets with time slave S2, and based on information obtained in the process.
  • a time adjustment value ⁇ T 2-3 is calculated.
  • the time slave S3 corrects the time of the slave clock of the time slave S3 using the calculated time adjustment value ⁇ T 2-3 .
  • Time slave S2 is then exchanges the time synchronization packet between the time the slave S1, and calculates the time adjustment value [Delta] T 1-2 based on the information obtained in the process.
  • Time slave S2 is using the time adjustment value [Delta] T 1-2 calculated performs time correction of slave clock time slave S2.
  • the time slave S1 exchanges time synchronization packets with the time master M, and calculates a time adjustment value ⁇ T M ⁇ 1 based on information obtained in the process.
  • the time slave S1 corrects the time of the slave clock of the time slave S1 using the calculated time adjustment value ⁇ TM -1 .
  • each of the time slaves S1 to S3 After executing the time synchronization process, each of the time slaves S1 to S3 notifies the time master M of the time adjustment value ⁇ T of its own device.
  • the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , and ⁇ T M ⁇ 1 .
  • the time master M has a time difference (time adjustment value) ⁇ T M ⁇ 2 of the time slave S2 relative to the time of the time master M and a time difference (time adjustment) of the time slave S3 relative to the time of the time master M. Value) ⁇ T M ⁇ 3 is calculated.
  • the time master M selects the time adjustment value ⁇ T M ⁇ 1 , ⁇ T M ⁇ 2 , ⁇ T M ⁇ 3 having the largest absolute value.
  • the time master M sets the absolute value of the selected time adjustment value to the maximum time adjustment value ⁇ TMmax.
  • the time master M compares the maximum time adjustment value ⁇ TMmax with the allowable time accuracy, and determines that the time synchronization of the time slaves S1 to S3 is completed when the maximum time adjustment value ⁇ TMmax is smaller than the allowable time accuracy.
  • the time master M starts transmission of control system data between the time slaves S1 to S3.
  • the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • the communication unit notifies the time master M of the time adjustment value ⁇ T of the own device obtained by the processing after the time synchronization processing is executed. Configured. Therefore, it is possible to prevent the time synchronization packet and the data indicating the time adjustment value ⁇ T from colliding on the network during execution of the time synchronization processing.
  • the configuration in which the time synchronization processing of the time slaves S1 to S3 is executed at the same timing is described.
  • the timing of executing the time synchronization processing is between the time slaves. May be different.
  • the time master M can determine the completion of time synchronization at the timing when the time synchronization information of all the time slaves S is collected.
  • FIG. 18 is a schematic diagram illustrating a time synchronization function provided by the first modification of the communication system 1 according to the present embodiment.
  • the time slave S2 corresponds to the control device 100 (control master), and the time master M and the time slaves S1 and S3 correspond to the devices 200A to 200C, respectively.
  • Each of the time slaves S1 to S3 notifies the time master M of the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , ⁇ T M ⁇ 1 calculated in the time synchronization processing shown in FIG.
  • the configuration example 1 of the communication means shown in FIG. 6 is applied to each time slave S. Therefore, the device 200 functioning as the time master M is notified of the maximum time adjustment value ⁇ Tmax1.
  • the device 200 which is the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the maximum time adjustment value ⁇ Tmax1 by executing the processing procedure shown in FIG.
  • the device 200 notifies the determination result to the control device 100 (control master) that functions as the time slave S2.
  • the control device 100 When it is determined that the time synchronization of the time slaves S1 to S3 is completed, the control device 100 starts transmission of control system data with the devices 200A to 200C. On the other hand, when it is determined that the time synchronization of the time slaves S1 to S3 is not completed, the control device 100 does not start transmission of control system data. When it is determined that the time synchronization between the time master M and the time slaves S1 to S3 is broken during the execution of data transmission, the control device 100 controls the devices 200A to 200C. Stop transmission of system data. According to this, in the data transmission in the communication system 1 shown in FIG. 1, the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • FIG. 19 is a sequence diagram showing time synchronization processing in Modification 1 of the communication system 1 according to the present embodiment.
  • time slave S3 transmits a Pdelay_Req message to time slave S2.
  • the time slave S3 stores the time adjustment value ⁇ T 2-3 calculated in the previous time synchronization process in the Pdelay_Req message transmitted to the time slave S2.
  • the time slave S2 When receiving the Pdelay_Req message, the time slave S2 extracts the time adjustment value ⁇ T 2-3 stored in the Pdelay_Req message. The time slave S2 transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S3. Time slave S3, calculates a time adjustment value [Delta] T 2-3, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T 2-3 which calculated.
  • Time slave S2 is a time adjustment value [Delta] T 2-3 received from the time the slave S3, and a time adjustment value [Delta] T 1-2 calculated in the previous time synchronization processing by substituting the equation (10), the maximum time An adjustment value ⁇ Tmax2 is calculated.
  • the time slave S2 stores the calculated maximum time adjustment value ⁇ Tmax2 in the Pdelay_Req message transmitted to the time slave S1.
  • the time slave S1 When receiving the Pdelay_Req message, the time slave S1 extracts the maximum time adjustment value ⁇ Tmax2 stored in the Pdelay_Req message. The time slave S1 transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S2.
  • Time slave S2 is to calculate a time adjustment value [Delta] T 1-2, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T 1-2 calculated.
  • the time slave S1 substitutes the maximum time adjustment value ⁇ Tmax2 received from the time slave S2 and the time adjustment value ⁇ T M ⁇ 1 calculated in the previous time synchronization process into the equation (11), thereby obtaining the maximum time adjustment value. ⁇ Tmax1 is calculated.
  • the time slave S1 stores the calculated maximum time adjustment value ⁇ Tmax1 in the Pdelay_Req message transmitted to the time master M.
  • the time master M When receiving the Pdelay_Req message, the time master M extracts the maximum time adjustment value ⁇ Tmax1 stored in the Pdelay_Req message. The time master M transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S1. Time slaves S1 calculates the time adjustment value [Delta] T M-1, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T M-1 for calculated.
  • the time master M determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the maximum time adjustment value ⁇ Tmax1 received from the time slave S1.
  • the time master M determines that the time synchronization of the time slaves S1 to S3 is completed, and the determination result is transmitted to the control device 100 ( To the control master).
  • the control device 100 starts transmission of control system data with the time slaves S1 to S3.
  • the time master M determines that the time synchronization of the time slaves S1 to S3 is not completed, and notifies the control device 100 (control master) of the determination result.
  • the control device 100 does not start transmission of control system data.
  • the control device 100 stops transmission of control system data.
  • FIG. 20 is a schematic diagram illustrating a time synchronization function provided by the second modification of the communication system 1 according to the present embodiment.
  • the time slave S2 corresponds to the control device 100
  • the time master M and the time slaves S1, S3 correspond to the devices 200A to 200C, respectively.
  • Each of the time slaves S1 to S3 notifies the time master M of the time adjustment values ⁇ T 2-3 , ⁇ T 1-2 , ⁇ T M ⁇ 1 calculated in the time synchronization processing shown in FIG.
  • the configuration example 1 of the communication means shown in FIG. 6 is applied to each time slave S.
  • the device 200 functioning as the time master M is notified of the maximum time adjustment value ⁇ Tmax1.
  • the time master M transfers the notified maximum time adjustment value ⁇ Tmax1 to the control device 100 (control master).
  • the control device 100 determines whether or not the time synchronization of the time slaves S1 to S3 is completed based on the maximum time adjustment value ⁇ Tmax1 by executing the processing procedure shown in FIG.
  • the control device 100 starts transmission of control system data with the devices 200A to 200C.
  • the control device 100 does not start transmission of control system data.
  • the control device 100 controls the devices 200A to 200C. Stop transmission of system data. According to this, in the data transmission in the communication system 1 shown in FIG. 1, the control device 100 can manage the transmission / reception timings of the control system data of the plurality of devices 200A to 200C.
  • FIG. 21 is a sequence diagram showing time synchronization processing in the second modification of the communication system 1 according to the present embodiment.
  • time slave S3 transmits a Pdelay_Req message to time slave S2.
  • the time slave S3 stores the time adjustment value ⁇ T 2-3 calculated in the previous time synchronization process in the Pdelay_Req message transmitted to the time slave S2.
  • the time slave S2 When receiving the Pdelay_Req message, the time slave S2 extracts the time adjustment value ⁇ T 2-3 stored in the Pdelay_Req message. The time slave S2 transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S3. Time slave S3, calculates a time adjustment value [Delta] T 2-3, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T 2-3 which calculated.
  • Time slave S2 is a time adjustment value [Delta] T 2-3 received from the time the slave S3, and a time adjustment value [Delta] T 1-2 calculated in the previous time synchronization processing by substituting the equation (10), the maximum time An adjustment value ⁇ Tmax2 is calculated.
  • the time slave S2 stores the calculated maximum time adjustment value ⁇ Tmax2 in the Pdelay_Req message transmitted to the time slave S1.
  • the time slave S1 When receiving the Pdelay_Req message, the time slave S1 extracts the maximum time adjustment value ⁇ Tmax2 stored in the Pdelay_Req message. The time slave S1 transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S2.
  • Time slave S2 is to calculate a time adjustment value [Delta] T 1-2, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T 1-2 calculated.
  • the time slave S1 substitutes the maximum time adjustment value ⁇ Tmax2 received from the time slave S2 and the time adjustment value ⁇ T M ⁇ 1 calculated in the previous time synchronization process into the equation (11), thereby obtaining the maximum time adjustment value. ⁇ Tmax1 is calculated.
  • the time slave S1 stores the calculated maximum time adjustment value ⁇ Tmax1 in the Pdelay_Req message transmitted to the time master M.
  • the time master M When receiving the Pdelay_Req message, the time master M extracts the maximum time adjustment value ⁇ Tmax1 stored in the Pdelay_Req message. The time master M transmits a Pdelay_Resp message and a Pdelay_Resp_followup message to the time slave S1. Time slaves S1 calculates the time adjustment value [Delta] T M-1, corrects the time of the slave clock of the own apparatus by using the time adjustment value [Delta] T M-1 for calculated.
  • the time master M transfers the maximum time adjustment value ⁇ Tmax1 received from the time slave S1 to the control device 100 (control master). Based on maximum time adjustment value ⁇ Tmax1, control device 100 determines whether or not time synchronization of time slaves S1 to S3 has been completed. When the maximum time adjustment value ⁇ Tmax1 is smaller than the threshold, the control device 100 determines that the time synchronization of the time slaves S1 to S3 is completed, and starts transmission of control system data with the time slaves S1 to S3. .
  • the control device 100 determines that the time synchronization of the time slaves S1 to S3 is not completed, and does not start transmission of control system data. When data transmission is being executed, the control device 100 stops transmission of control system data.
  • FIG. 22 is a diagram schematically showing a configuration of Modification 3 of the communication system 1 according to the present embodiment.
  • a time master M and a plurality of time slaves S1 to S5 are connected to the network 2.
  • Each of time master M and time slaves S3 to S5 has ports P1 and P2.
  • Each of the time slaves S1 and S2 has ports P1 to P4.
  • Port P1 of time slave S1 is connected to port P2 of time master M
  • port P2 of time slave S1 is connected to port P2 of time slave S3
  • port P3 of time slave S1 is connected to port P1 of time slave S2.
  • the Port P2 of time slave S2 is connected to port P2 of time slave S4, and port P3 of time slave S2 is connected to port P1 of time slave S5.
  • the time synchronization process using the P2P transparent clock is executed to synchronize the slave clocks of the time slaves S1 to S5 with the master clock of the time master M.
  • the time slave S1 performs a time synchronization process shown in FIG. 5 with the time master M connected to the port P1 (slave port), whereby a clock (master clock) possessed by the time master M is obtained. And the difference ⁇ T M ⁇ 1 between the time of the device and the time of the clock (slave clock) of the device itself is calculated. The time slave S1 corrects the time of its own timer using the difference ⁇ T M ⁇ 1 as the time adjustment value.
  • the time slave S2 executes the time synchronization process shown in FIG. 5 with the time slave S1 connected to the port P1 (slave port), thereby the clock time of the time slave S1 and the clock time of the own device.
  • ⁇ T 1-2 is calculated.
  • the time slave S2 uses the difference ⁇ T 2-1 as a time adjustment value to correct the clock of its own device.
  • the time slave S3 executes the time synchronization process shown in FIG. 5 with the time slave S1 connected to the port P2 (slave port), thereby the clock time of the time slave S1 and the clock of the own device.
  • a difference ⁇ T 1-3 with the time is calculated.
  • Time slave S3 is the difference [Delta] T 1-3 as a time adjustment value is the time correction of the clock of the apparatus.
  • the time slave S4 executes the time synchronization process shown in FIG. 5 with the time slave S2 connected to the port P2 (slave port), thereby the clock time of the time slave S2 and the clock of the own device. A difference ⁇ T 2-4 from the time is calculated. The time slave S4 corrects the clock of its own device using the difference ⁇ T 2-4 as the time adjustment value.
  • the time slave S5 executes the time synchronization processing shown in FIG. 5 with the time slave S2 connected to the port P1 (slave port), thereby the clock time of the time slave S2 and the clock of the own device. A difference ⁇ T 2-5 from the time is calculated. The time slave S5 corrects the clock of its own device using the difference ⁇ T 2-5 as the time adjustment value.
  • each of the time slaves S1 to S5 uses the difference ⁇ T between the clock time of the communication device connected adjacent to the master side and the clock time of the own device as a time adjustment value, and sets the clock of the own device. By correcting the time, the time synchronization is finally realized between the time master M and all the time slaves S1 to S5.
  • the time synchronization of the entire communication system 1 is completed, it becomes possible to start transmission of control system data between a plurality of communication devices.
  • Each of the time slaves S1 to S5 has “communication means” for notifying the time master M of the time synchronization information of its own slave clock. According to this, the time master M can determine whether or not the time synchronization with the time slaves S1 to S3 is completed based on the time synchronization information notified from each of the time slaves S1 to S5. .
  • FIG. 23 is a diagram schematically illustrating a configuration example of communication means of each slave in the communication system 1 illustrated in FIG.
  • the communication means of each slave is configured to notify the time adjustment value ⁇ T used for time correction of the slave clock of its own device as time synchronization information.
  • time slave S4 calculates a time difference ⁇ T 2-4 of time slave S4 with respect to the time of time slave S2 by executing time synchronization processing with time slave S2.
  • the time slave S4 notifies the calculated time adjustment value ⁇ T 2-4 to the time slave S2.
  • the time slave S5 calculates a time difference ⁇ T 2-5 of the time slave S5 with respect to the time of the time slave S2 by executing time synchronization processing with the time slave S2.
  • the time slave S5 notifies the calculated time adjustment value ⁇ T 2-5 to the time slave S2.
  • Time slave S2 is by performing a time synchronization process with the time slaves S1, calculates a time difference [Delta] T 1-2 times slave S2 for time of the time slave S1.
  • the time slave S2 compares the time adjustment value ⁇ T 2-4 received from the time slave S4, the time adjustment value ⁇ T 2-5 received from the time slave S5, and the calculated time adjustment value ⁇ T 1-2 .
  • the time the slave S2 is the absolute value of the time adjustment value ⁇ T 2-4
  • the maximum time adjustment value ⁇ Tmax2 is given by the following equation (16).
  • the time slave S2 notifies the time slave S1 of the maximum time adjustment value ⁇ Tmax2.
  • ⁇ Tmax2 Max ⁇
  • the time slave S3 calculates a time difference ⁇ T 1-3 between the time of the time slave S3 and the time of the time slave S3 by executing time synchronization processing with the time slave S1.
  • the time slave S3 notifies the time slave S1 of the calculated time adjustment value ⁇ T 1-3 .
  • Time Slave S1 performs time synchronization processing with the time master M, thereby calculating a time difference ⁇ T M ⁇ 1 of the time slave S1 with respect to the time of the time master M.
  • Time Slave S1 is the maximum time adjustment value ⁇ Tmax2 received from time slave S2, the absolute value of the time adjustment value ⁇ T 1-3
  • the maximum time adjustment value ⁇ Tmax1 is given by the following equation (17).
  • the time slave S1 notifies the time master M of the maximum time adjustment value ⁇ Tmax1.
  • ⁇ Tmax1 Max ⁇
  • the maximum time adjustment value ⁇ Tmax1 can be expressed as the following equation (18).
  • ⁇ Tmax1 Max ⁇
  • the time master M includes time adjustment values ⁇ T 2-4 , ⁇ T 2-5 , ⁇ T 1-2 , ⁇ T 1-3 , ⁇ T M ⁇ 1 of the time slaves S1 to S5. The one having the largest absolute value is notified to the time master M as the maximum time adjustment value ⁇ Tmax1.
  • the time master M determines whether the time synchronization of the time slaves S1 to S5 is completed based on the maximum time adjustment value ⁇ Tmax1.
  • the time master M sets a threshold for determining whether or not the time synchronization is completed to a value obtained by dividing the allowable time accuracy predetermined in the communication system 1 by the maximum number of paths. In the example of FIG. 22, the maximum number of paths is 3. Therefore, the threshold is set to an allowable time accuracy / 3.
  • the time master M compares the maximum time adjustment value ⁇ Tmax1 with the threshold value, and determines that the time synchronization of the time slaves S1 to S5 is completed when the maximum time adjustment value ⁇ Tmax1 is smaller than the threshold value. When it is determined that the time synchronization has been completed, the time master M starts transmission of control system data between the time slaves S1 to S5. On the other hand, when the maximum time adjustment value ⁇ Tmax1 is larger than the threshold value, the time master M determines that the time synchronization of the time slaves S1 to S5 has not been completed, and does not start transmission of control system data.
  • the time master M also synchronizes the time between the time master M and the time slaves S1 to S5 when the maximum time adjustment value ⁇ Tmax1 notified to the time master M exceeds the threshold during execution of data transmission. Is determined to have failed, and transmission of control data is stopped. According to this, in the data transmission in the communication system 1 shown in FIG. 22, the control apparatus 100 can stably manage the transmission / reception timings of the control system data of the plurality of devices 200.
  • FIG. 24 is a diagram schematically illustrating a first configuration example of the communication system 1 to which the connection mode illustrated in FIG. 22 is applied.
  • the communication system 1 includes a plurality of control devices 100A and 100B and a plurality of devices 200A to 200D.
  • Devices 200A and 200B are star-connected to the network 2 (field network) connected to the control device 100A, and devices 200C and 200D are star-connected to the network 2 connected to the control device 100B.
  • Each of the control devices 100A and 100B functions as a control master that manages data transmission in the network 2.
  • Each of devices 200A to 200D functions as a control slave that performs data transmission in accordance with a command from the corresponding control device 100.
  • the control device 100A and the control device 100B are connected via the network 3.
  • the network 3 is a control level network, and constructs a link capable of transmitting data between the control devices 100A and 100B.
  • the network 2 provides information transmission related to the control system as a main function.
  • time synchronization is performed between the control device 100 connected to each network 2 and the plurality of devices 200, and time synchronization is performed between the plurality of control devices 100A to 100D.
  • the plurality of devices 200A to 200D connected to the different control devices 100 are time-synchronized with each other.
  • one of the timers 101A and 101B included in each of the control devices 100A and 100B is caused to function as a master clock (time master M) of the entire communication system 1.
  • time master M time master M
  • the timer 101A of the control device 100A is set to the master clock.
  • the timers of the remaining control device 100B and the plurality of devices 200A to 200D are time-synchronized with the master clock of the time master M.
  • the time synchronization process using the P2P transparent clock is executed to synchronize the slave clock of each time slave S with the master clock of the time master M.
  • the control devices 100A and 100B and the devices 200A to 200D can be time synchronized with each other.
  • Each time slave S performs time synchronization processing with other communication devices connected adjacent to the master side, and also transmits time accuracy information of its own device (time adjustment value of its own device) to the time master M.
  • the control device 100A determines whether or not the time synchronization of all the time slaves S (the control device 100B and the devices 200A to 200D) has been completed. When it is determined that the time synchronization is completed, the control device 100A starts transmission of control system data among the plurality of time slaves S.
  • each of the control devices 100A and 100B connected to the network 3 receives data between the plurality of devices 200 via the network 2 on the basis of the timer time synchronized with the other control devices. Transmission can be managed. Therefore, the timing of collecting input data or the timing of transmitting output data can be synchronized between the control devices 100A and 100B. In addition, the timing for exchanging data between the control devices 100A and 100B can be synchronized with each other. As a result, since the control timing can be synchronized among the plurality of devices 200A to 200D, cooperative control of the plurality of devices 200A to 200D can be realized.
  • FIG. 25 is a diagram schematically illustrating a second configuration example of the communication system 1 to which the connection mode illustrated in FIG. 22 is applied.
  • the communication system 1 includes a plurality of control devices 100A to 100D, a plurality of devices 200A to 200J, and a plurality of switches 600A and 600B.
  • Devices 200A and 200B are sequentially connected in a daisy chain to network 2 (field network) connected to control device 100A, and devices 200C to 200E are daisy chained in network 2 connected to control device 100B. Connected sequentially.
  • Devices 200F to 200H are sequentially connected in a daisy chain to the network 2 connected to the control device 100C, and devices 200I and 200J are sequentially connected in a daisy chain to the network 2 connected to the control device 100D. .
  • Each of the control devices 100A to 100D functions as a control master that manages data transmission in the network 2.
  • Each of devices 200A to 200J functions as a control slave that performs data transmission in accordance with a command from the corresponding control device 100.
  • the control devices 100A and 100B are connected to the switch 600A via the network 3.
  • the control devices 100C and 100D are connected to the switch 600B via the network 3.
  • the switch 600A and the switch 600B are connected to each other.
  • the switch 600A has a timer 601A
  • the switch 600B has a timer 601B.
  • the network 3 is a control level network and constructs a link capable of transmitting data between the control devices 100A to 100D.
  • the network 2 provides information transmission related to the control system as a main function.
  • the control device 100 connected to each network 2 and the plurality of devices 200 are time-synchronized, and the plurality of control devices 100A to 100D and the plurality of switches 600A and 600B.
  • the time is synchronized with each other.
  • any one of the timers 101A to 101D, 601A and 601B included in each of the control devices 100A to 100D and the switches 600A and 600B is caused to function as a master clock (time master M) of the entire communication system 1.
  • the timer 101A of the control device 100A is set to the master clock.
  • the remaining control devices 100B to 100D and the timers of the switches 600A and 600B are time-synchronized with the master clock of the time master.
  • each time slave S (the control devices 100B to 100D and the switches 600A and 600B) is included in the master clock of the time master M by executing the time synchronization processing using the P2P transparent clock. Synchronize the slave clock. Thereby, the control devices 100A to 100D and the switches 600A and 600B can be time-synchronized with each other.
  • each of the control devices 100A to 100D executes the time synchronization process with the device 200 connected via the network 2.
  • This time synchronization process uses a time synchronization protocol different from the time synchronization process described above, depending on the network 2.
  • EtherCAT registered trademark
  • EtherCAT registered trademark
  • each time slave S performs time synchronization processing with another communication device connected adjacent to the master side, and also includes time accuracy information of its own device (time of its own device).
  • the adjustment value) is notified to the control device 100A which is the time master M.
  • the control device 100A determines whether or not the time synchronization of all the time slaves S is completed based on the time synchronization information notified from each time slave S (the control devices 100B to 100D and the switches 600A and 600B). When it is determined that the time synchronization is completed, the control device 100A starts transmission of control system data among the plurality of time slaves S.
  • each of the control devices 100A to 100D connected to the network 3 receives data between the plurality of devices 200 via the network 2 on the basis of the time of the timer synchronized with the other control devices. Transmission can be managed. Therefore, it is possible to synchronize the timing of collecting input data or the timing of transmitting output data among the control devices 100A to 100D. In addition, the timing for exchanging data between the control devices 100A to 100D can be synchronized with each other. As a result, since the control timing can be synchronized among the plurality of devices 200A to 200J, cooperative control of the plurality of devices 200A to 200J can be realized.
  • the plurality of communication devices include: A time master (M) having a master clock for managing the time of the communication system; Each including a plurality of time slaves (S1-S3) having a slave clock time-synchronized with the master clock;
  • Each of the plurality of time slaves is Synchronizing means for synchronizing time with other communication devices connected adjacent to the master side on the network,
  • the synchronization unit corrects the time of the own device using a difference between the time of the other communication device and the time of the own device as a time adjustment value ( ⁇ T), The communication system according to Configuration 1, wherein the communication unit notifies the time master of the time adjustment value as the time synchronization information.
  • the communication means receives the time adjustment value from another communication device connected adjacent to the slave side on the network, and among the received time adjustment value and the time adjustment value of the own device, The communication system according to Configuration 2, wherein the time adjustment value having a larger absolute value is transferred to the other communication device.
  • the communication unit receives the time adjustment value from another communication device connected adjacent to the slave side on the network, and receives the received time adjustment value and the time adjustment value of the own device as the other The communication system of the structure 2 which transfers to the communication apparatus of.
  • the communication means receives the time adjustment value from another communication device connected adjacent to the slave side on the network, and the sum of the received time adjustment value and the time adjustment value of the own device The communication system according to Configuration 2, wherein a value is transferred to the other communication device.
  • the synchronization means periodically executes time synchronization processing for correcting the time of the own device by exchanging a packet for time synchronization with the other communication device,
  • the communication system according to any one of configurations 3 to 5, wherein the communication unit stores the time adjustment value to be transferred to the other communication device in a time synchronization packet to be transmitted to the other communication device.
  • the time master is a control device that manages data transmission in the network;
  • Each of the plurality of time slaves is a device that performs data transmission according to a command from the time master,
  • the control device determines whether or not time synchronization is completed with the plurality of devices based on the time synchronization information notified from a plurality of devices, and when it is determined that the time synchronization is completed.
  • the communication system according to any one of configurations 1 to 6, wherein data transmission in the network is started.
  • One time slave of the plurality of time slaves is a control device that manages data transmission in the network;
  • Each of the remaining time slaves and the time master excluding the one time slave is a device that executes data transmission in accordance with a command from the control device,
  • the time master determines whether time synchronization with the plurality of time slaves is completed based on the time synchronization information notified from the plurality of time slaves, and sends a determination result to the control device.
  • One time slave of the plurality of time slaves is a control device that manages data transmission in the network;
  • Each of the remaining time slaves and the time master excluding the one time slave is a device that executes data transmission in accordance with a command from the control device,
  • the time master transfers the time synchronization information notified from the plurality of time slaves to the control device,
  • the control device determines whether or not time synchronization is completed with a plurality of devices based on the synchronization information, and determines that the time synchronization is completed, and performs data transmission in the network.
  • the communication system according to any one of configurations 1 to 6, which starts.
  • the synchronization means periodically executes time synchronization processing for correcting the time of the own device by exchanging a packet for time synchronization with the other communication device,
  • the communication system according to Configuration 1 or 2 wherein the communication unit notifies the master device of the time synchronization information after the execution of the time synchronization process.
  • a communication device network-connected to a communication system wherein the communication device has a slave clock time-synchronized with a master clock that manages the time of the communication system, Synchronizing means for synchronizing time with other communication devices connected adjacent to the master side on the network, A communication unit for notifying the time master having the master clock of time synchronization information indicating the time synchronization accuracy of the own device obtained by the synchronization unit;
  • a communication method in a communication system in which a plurality of communication devices are connected to a network The plurality of communication devices include: A time master having a master clock for managing the time of the communication system; Each including a plurality of time slaves having a slave clock time synchronized to the master clock; Each of the plurality of time slaves synchronizes time with other communication devices connected adjacent to the master side on the network; Each of the plurality of slave devices notifies the time master of time synchronization information indicating the time synchronization accuracy of the device itself.
  • each of the plurality of time slaves has “communication means” for notifying the time master of time synchronization information indicating the time synchronization accuracy of the slave clock of the own device.
  • the time master can determine whether or not the time synchronization between the own device and the plurality of time slaves is completed based on the time synchronization information notified from each time slave.
  • data transmission can be started at the timing when time synchronization is completed in the entire communication system 1. Therefore, it is possible to start data transmission more quickly than the configuration in which data transmission is started at the timing when the set time has elapsed after the power is turned on.
  • the time master can monitor the time synchronization accuracy of each of the plurality of time slaves based on the time synchronization information notified from each time slave.
  • a time lag occurs during this period, data transmission can be stopped immediately. Therefore, it is possible to avoid the possibility that the timing at which the time slave acquires the input data and outputs the output data varies depending on the time difference.
  • 1 communication system 2 networks, 100, 100A to 100D control device, 101, 101A to 101D, 201A to 201J, 601A, 601B timer, 200A to 200J device, M time master, S1 to S5 time slave, 102, 202 processor, 104, 204 memory, 106, 206 storage, 107 system program, 108 user application program, 110 network controller, 111, 211 reception circuit, 112 reception buffer, 113, 212 transmission / reception controller, 115, 213 transmission circuit, 210 communication circuit, 500 Support device, 600A, 600B switch.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本開示の一例に係る通信システムは、ネットワークに複数の通信装置が接続された通信システムである。複数の通信装置は、通信システムの時刻を管理するマスタクロックを有する時刻マスタと、各々が、マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブとを含む。複数の時刻スレーブの各々は、ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を時刻マスタへ通知するための通信手段とを含む。

Description

通信システム、通信装置および通信方法
 本開示は、ネットワークに複数の通信装置が接続された通信システム、その通信装置および通信方法に関する。
 様々なFA(Factory Automation)を実現するための主たるコンポーネントとして、PLC(プログラマブルコントローラ)などの制御装置が普及している。このような制御装置は、1または複数のデバイスとの間でバスまたはネットワークを介してデータを送受信する。
 複数のデバイスがバスまたはネットワークを介して接続される場合、データが伝送されることによる遅延が生じる。このような伝送遅延の大きさはデバイスが接続される位置に応じてばらつく。このような遅延時間のばらつきに依存して、デバイスが入力データを取得する、および、出力データを出力するタイミングもばらつく可能性がある。
 このような課題に対して、特開2016-116143号公報(特許文献1)は、時刻マスタとネットワークを介して接続される1または複数の時刻スレーブとを備える通信システムにおける時刻同期を監視する方法を開示する。特許文献1に開示される時刻同期監視方法は、IEEE(Institute of Electrical and Electronics Engineers)1588に規定されているPTP(Precision Time Protocol)という高精度時刻同期プロトコルを採用している。PTPでは、時刻マスタと時刻スレーブとの間で定期的に時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて、時刻スレーブの時刻を補正する。
特開2016-116143号公報
 しかしながら、PTPには、時刻スレーブの時刻同期精度を時刻マスタに通知するシーケンスが存在しないため、時刻マスタは、時刻スレーブの時刻同期が完了したか否かを判定することができない。
 そのため、特許文献1では、時刻スレーブから時刻マスタに送信する時刻同期用パケットに、時刻スレーブが当該パケットを送信した時刻を示す情報を含ませる。これにより、時刻マスタが、当該パケットを受信した時刻と、当該パケットを送信した時刻との差分に基づいて、時刻スレーブの時刻同期が完了したか否かを判定することを可能としている。
 ここで、PTPの接続形態としては、P2P(Peer to Peer)がある。P2Pでは、隣接する2つの通信装置がマスタとスレーブとの関係になって時刻同期処理を実行する。P2Pでは、Peer delayメカニズムを用いて、各通信装置がマスタ側に隣接して位置する通信装置との間の遅延時間を計測し、計測された遅延時間に基づいて、自装置の時刻を補正する。
 特許文献1に開示される時刻同期監視方法を、P2Pを用いた時刻同期処理に適用した場合、時刻マスタは、直近の時刻スレーブから時刻情報を含んだ時刻同期用パケットを受信することで、当該時刻スレーブの時刻同期が完了したか否かを判定することができる。一方で、時刻マスタと直接接続されていない他の時刻スレーブとの間では時刻同期用パケットの遣り取りが行なわれないため、時刻マスタは、他の時刻スレーブの時刻同期が完了したか否かを判定することができない。その結果、例えば、通信システムの電源投入後において、時刻マスタは、複数の時刻スレーブとの間でデータ伝送を開始することができるタイミングを判断することができない。
 したがって、複数の通信装置の間で時刻同期が完了したことを判断することが可能な通信システムの提供が要望されている。
 本開示の一例に係る通信システムは、ネットワークに複数の通信装置が接続された通信システムである。複数の通信装置は、通信システムの時刻を管理するマスタクロックを有する時刻マスタと、各々が、マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブとを含む。複数の時刻スレーブの各々は、ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を時刻マスタへ通知するための通信手段とを含む。
 本開示によれば、時刻マスタは、各時刻スレーブから通知される時刻同期情報に基づいて、自装置と複数の時刻スレーブとの間の時刻同期が完了しているか否かを判定することができる。この結果、通信システム全体において時刻同期が完了したタイミングで、データ伝送を開始することができる。したがって、通信システムの電源投入後、設定時間が経過したタイミングでデータ伝送を開始する構成に比べて、より迅速にデータ伝送を開始することができる。また、データ伝送の実行中、時刻マスタは、各時刻スレーブから通知される時刻同期情報に基づいて、複数の時刻スレーブの各々の時刻同期精度を監視することができるため、いずれかの時刻スレーブとの間に時刻ずれが発生したときには直ちにデータの伝送を停止することができる。したがって、時刻ずれに依存して、時刻スレーブが入力データを取得する、および、出力データを出力するタイミングがばらつく可能性を回避することができる。
 上述の開示において、同期手段は、他の通信装置の時刻と自装置の時刻との差分を時刻調整値として、自装置の時刻を補正する。通信手段は、時刻同期情報として、時刻調整値を時刻マスタへ通知する。
 この開示によれば、各時刻スレーブは、自装置の時刻同期処理で使用した時刻調整値を利用して、時刻マスタに自装置の時刻同期情報を通知することができる。
 上述の開示において、通信手段は、ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から時刻調整値を受信する。通信手段は、受信した時刻調整値および自装置の時刻調整値のうち、その絶対値が大きい方の時刻調整値を他の通信装置へ転送する。
 この開示によれば、複数の時刻スレーブの時刻調整値のうちの最大値、すなわち、時刻同期精度の最悪値を、時刻マスタに通知することができる。したがって、時刻マスタは、時刻同期精度の最悪値に基づいて、複数の時刻スレーブの時刻同期が完了したか否かを判定することができる。
 上述の開示において、通信手段は、ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から時刻調整値を受信する。通信手段は、受信した時刻調整値および自装置の時刻調整値を他の通信装置へ転送する。
 この開示によれば、全ての時刻スレーブの時刻調整値を時刻マスタに通知することができる。したがって、時刻マスタは、通知された時刻同期情報に基づいて、複数の時刻マスタの全ての時刻同期が完了しているか否かを判定することができる。
 上述の開示において、通信手段は、ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から時刻調整値を受信し、受信した時刻調整値と自装置の時刻調整値との合計値を他の通信装置へ転送する。
 この開示によれば、各時刻スレーブと時刻マスタとの間の時刻差を、時刻マスタに通知することができる。時刻マスタは、自装置と各時刻スレーブとの時刻差に基づいて、複数の時刻スレーブの時刻同期が完了したか否かを判定することができる。
 上述の開示において、同期手段は、他の通信装置との間で時刻同期用パケットを遣り取りすることにより、自装置の時刻を補正する時刻同期処理を定期的に実行する。通信手段は、他の通信装置へ送信する時刻同期用パケット内に、他の通信装置へ転送する時刻調整値を格納する。
 この開示によれば、マスタ側に位置する通信装置に送信する時刻同期用パケットに時刻同期情報を含めることで、既存の時刻同期シーケンスを利用して、通信手段を実現することができる。これによると、通信手段を実現するために、時刻同期処理の実行中に通信装置間で遣り取りされるパケットが増えてしまうことを防止することができる。
 上述の開示において、時刻マスタは、ネットワーク内のデータ伝送を管理する制御装置である。複数の時刻スレーブの各々は、制御装置からの指令に従ってデータ伝送を実行するデバイスである。制御装置は、複数のデバイスから通知される時刻同期情報に基づいて、複数のデバイスとの間で時刻同期が完了したか否かを判定し、時刻同期が完了したと判定されたときに、ネットワーク内のデータ伝送を開始する。
 この開示によれば、通信システムにおける制御装置が時刻マスタとして機能することにより、制御装置は、時刻スレーブとして機能する複数のデバイスの時刻同期が完了したと判定されると、速やかにデータ伝送を開始することができる。
 上述の開示において、複数の時刻スレーブのうちの1つの時刻スレーブは、ネットワーク内のデータ伝送を管理する制御装置である。上記1つの時刻スレーブを除いた残りの時刻スレーブおよび時刻マスタの各々は、制御装置からの指令に従ってデータ伝送を実行するデバイスである。時刻マスタは、複数の時刻スレーブから通知される時刻同期情報に基づいて、複数の時刻スレーブとの間で時刻同期が完了したか否かを判定し、判定結果を制御装置に通知する。制御装置は、判定結果から時刻同期が完了したと判定されたときに、ネットワーク内のデータ伝送を開始する。
 この開示によれば、通信システムにおける制御装置以外のデバイスが時刻マスタとして機能する構成においても、制御装置は、当該デバイスから通知される、時刻同期完了の判定結果に従って、速やかにデータ伝送を開始することができる。
 上述の開示において、複数の時刻スレーブのうちの1つの時刻スレーブは、ネットワーク内のデータ伝送を管理する制御装置である。上記1つの時刻スレーブを除いた残りの時刻スレーブおよび時刻マスタの各々は、制御装置からの指令に従ってデータ伝送を実行するデバイスである。時刻マスタは、複数の時刻スレーブから通知される時刻同期情報を制御装置へ転送する。制御装置は、時刻同期情報に基づいて、複数のデバイスとの間で時刻同期が完了したか否かを判定し、時刻同期が完了したと判定されたときに、ネットワーク内のデータ伝送を開始する。
 この開示によれば、通信システムにおける制御装置以外のデバイスが時刻マスタとして機能する構成においても、制御装置は、当該デバイスから転送される時刻同期情報に基づいて時刻同期の完了が判定されると、速やかにデータ伝送を開始することができる。
 上述の開示において、同期手段は、他の通信装置との間で時刻同期用パケットを遣り取りすることにより、自装置の時刻を補正する時刻同期処理を定期的に実行する。通信手段は、時刻同期処理の実行後において、時刻同期情報を時刻マスタへ通知する。
 この開示によれば、時刻同期処理の実行中に、ネットワーク上において、時刻同期用パケットと、時刻同期情報を示すデータとが衝突してしまうことを防止することができる。
 本開示の一例に係る通信装置は、通信システムにネットワーク接続される通信装置である。通信装置は、通信システムの時刻を管理するマスタクロックに時刻同期したスレーブクロックを有しており、ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を、マスタクロックを有する時刻マスタへ通知するための通信手段とを含む。
 この開示によれば、時刻マスタは、各通信装置から通知される時刻同期情報に基づいて、自装置と複数の通信装置との間の時刻同期が完了しているか否かを判定することができる。この結果、通信システム全体において時刻同期が完了したタイミングで、データ伝送を開始することができる。また、データ伝送の実行中、時刻マスタは、各通信装置から通知される時刻同期情報に基づいて、複数の通信装置の各々の時刻同期精度を監視することができるため、いずれかの通信装置との間に時刻ずれが発生したときには直ちにデータの伝送を停止することができる。したがって、時刻ずれに依存して、通信装置が入力データを取得する、および、出力データを出力するタイミングがばらつく可能性を回避することができる。
 本開示の一例に係る通信方法は、ネットワークに複数の通信装置が接続された通信システムにおける通信方法である。複数の通信装置は、通信システムの時刻を管理するマスタクロックを有する時刻マスタと、各々が、マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブとを含む。通信方法は、複数の時刻スレーブの各々が、ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するステップと、記複数の時刻スレーブの各々が、自装置の時刻同期精度を示す時刻同期情報を時刻マスタへ通知するステップとを備える。
 この開示によれば、時刻マスタは、各時刻スレーブから通知される時刻同期情報に基づいて、自装置と複数の時刻スレーブとの間の時刻同期が完了しているか否かを判定することができる。この結果、通信システム全体において時刻同期が完了したタイミングで、データ伝送を開始することができる。また、データ伝送の実行中、時刻マスタは、各時刻スレーブから通知される時刻同期情報に基づいて、複数の時刻スレーブの各々の時刻同期精度を監視することができるため、いずれかの時刻スレーブとの間に時刻ずれが発生したときには直ちにデータの伝送を停止することができる。したがって、時刻ずれに依存して、時刻スレーブが入力データを取得する、および、出力データを出力するタイミングがばらつく可能性を回避することができる。
 本開示の一例によれば、ネットワークに複数の通信装置が接続された通信システムにおいて、複数の通信装置の間で時刻同期が完了したことを判断することができる。
本実施の形態に係る通信システムの構成を模式的に示す図である。 本実施の形態に従う通信システムのハードウェア構成の一例を示す模式図である。 PTPの時刻同期処理の一例を示すシーケンス図である。 P2Pトランスペアレントクロックを用いた時刻同期処理の一例を示す概念図である。 P2Pトランスペアレントクロックを用いた時刻同期処理の一例を示すシーケンス図である。 本実施の形態に係る通信手段の構成例1を模式的に示す図である。 本実施の形態に係る通信手段の構成例1を含む時刻同期処理を示すシーケンス図である。 本実施の形態に係る通信システムを構成する時刻スレーブによる処理手順を示すフローチャートである。 本実施の形態に係る通信システムを構成する時刻マスタによる処理手順を示すフローチャートである。 本実施の形態に係る通信手段の構成例2を模式的に示す図である。 本実施の形態に係る通信システムを構成する時刻スレーブによる処理手順を示すフローチャートである。 本実施の形態に係る通信システムを構成する時刻マスタによる処理手順を示すフローチャートである。 本実施の形態に係る通信手段の構成例3を模式的に示す図である。 本実施の形態に係る通信システムを構成する時刻スレーブによる処理手順を示すフローチャートである。 本実施の形態に係る通信システムを構成する時刻マスタによる処理手順を示すフローチャートである。 本実施の形態に係る通信手段の第4例を含む時刻同期処理を示すシーケンス図である。 本実施の形態に係る通信手段の第5例を含む時刻同期処理を示すシーケンス図である。 本実施の形態に係る通信システムの変形例1が提供する時刻同期機能を示す模式図である。 本実施の形態に係る通信システムの変形例1における時刻同期処理を示すシーケンス図である。 本実施の形態に係る通信システムの変形例2が提供する時刻同期機能を示す模式図である。 本実施の形態に係る通信システムの変形例2における時刻同期処理を示すシーケンス図である。 本実施の形態に係る通信システムの変形例3の構成を模式的に示す図である。 図22に示す通信システムにおける各時刻スレーブの通信手段の構成例を模式的に示す図である。 図23に示す通信手段が適用される通信システムの第1の構成例を模式的に示す図である。 図23に示す通信手段が適用される通信システムの第2の構成例を模式的に示す図である。
 以下、図面を参照しつつ、本発明に従う各本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各本実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
 <A.適用例>
 まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る通信システム1の構成を模式的に示す図である。
 本実施の形態に係る通信システム1は、ネットワーク2に複数の通信装置(制御装置100、デバイス200A~200C)が接続された通信システムである。
 複数の通信装置は、時刻マスタと、複数の時刻スレーブとを含む。時刻マスタおよび複数の時刻スレーブの各々は、互いに時刻同期されたタイマを有している。時刻マスタは、通信システム1の時刻を管理する「マスタクロック」として機能するタイマを有しており、時刻同期プロトコルにおける同期手順に従って、ネットワーク接続されている時刻スレーブが有する「スレーブクロック」として機能するタイマを時刻同期する。
 図1に示す例においては、制御装置100は時刻マスタとして機能し、デバイス200A~200Cは時刻スレーブとして機能する。制御装置100は、ネットワーク2を介してデバイス200A~200Cとの間でデータを送受信する。制御装置100は、ネットワーク内のデータ伝送を管理する。デバイス200A~200Cは、制御装置100からの指令に従ってデータ伝送を行なう。
 本実施の形態に係る通信システム1のネットワークは、製造装置や生産設備などを制御する制御装置100を含むものであり、いわゆる産業用ネットワークまたは産業用ネットワークに準拠する要件を充足するように構成される。そのような要件の1つとして、送信元から送出したデータが宛先に到着する時刻が保証される。
 このような宛先への到着時刻を保証するために、互いに時刻同期された複数の通信装置がネットワーク接続された通信システム1が採用される。つまり、通信システム1のネットワークを構成する複数の通信装置の間では送受信タイミングが時刻同期されている。より具体的には、ネットワークを構成する複数の通信装置の各々は、時刻同期されたタイマ(あるいは、同期してインクリメントまたはデクリメントされるカウンタ)を有しており、それらの時刻同期されたタイマまたはカウンタに従って、各通信装置がデータの送信または受信のタイミングを決定する。
 図1に示す例においては、制御装置100はタイマ101を有しており、デバイス200A~200Cはタイマ201A~201Cをそれぞれ有している。例えば、制御装置100のタイマ101が「マスタクロック」として機能し、デバイス200A~200Cのタイマがこのマスタクロックを基準としてタイミングを同期させる。このようなタイマ間の同期によって、通信システム1において、データの伝送タイミングなどを互いに一致させることができる。
 本実施の形態に係る通信システム1は、時刻マスタおよび複数の時刻スレーブとの間で時刻同期を実現するために、各時刻スレーブに時刻同期機能が実装されている。この時刻同期機能として、各時刻スレーブは、ネットワーク上においてマスタ側に隣接して接続される通信装置の有するタイマを基準として、自装置の有するタイマを補正するための機能を有している。
 具体的には、図1に示す通信システム1において、デバイス200Aは、マスタ側に隣接して接続される制御装置100との間で時刻同期するために、制御装置100のタイマ101(マスタクロック)を基準として、自装置のタイマ201A(スレーブクロック)の時刻を補正する。具体的には、デバイス200Aは、制御装置100との間で時刻同期用パケットを遣り取りする時刻同期処理を定期的に実行し、その過程で得られた情報に基づいて、タイマ101と自装置のタイマ201Aとの差分を計算する。そして、デバイス200Aは、この差分を時刻調整値として自装置のタイマ201Aを補正する。
 デバイス200Bは、マスタ側に隣接して接続されるデバイス200Aとの間で上述した時刻同期処理を定期的に実行する。デバイス200Bは、デバイス200Aのタイマ201Aと自装置のタイマ201Bとの差分を計算し、その差分を時刻調整値として自装置のタイマ201Bを補正する。
 デバイス200Cは、マスタ側に隣接して接続されるデバイス200Bとの間で上述した時刻同期処理を定期的に実行する。デバイス200Cは、デバイス200Bのタイマ201Bと自装置のタイマ201Cとの差分を計算し、その差分を時刻調整値として自装置のタイマ201Cを補正する。
 以上説明したように、通信システム1においては、隣接して接続される2つの通信装置がマスタとスレーブとの関係になって時刻同期処理を実行することにより、最終的にデバイス200A~200Cの各々のタイマ(スレーブクロック)を、制御装置100のタイマ101(マスタクロック)に時刻同期させることができる。
 しかしながら、上記の時刻同期処理では、各時刻スレーブの時刻同期精度を時刻マスタに通知するシーケンスが存在しないため、時刻マスタは、複数の時刻スレーブの時刻同期が完了したか否かを判定することができない。そのため、通信システム1の電源投入後において、時刻マスタは、複数の時刻スレーブとの間でデータ伝送を開始することができるタイミングを判断することができない。
 これには、例えば、実際に時刻同期処理に費やされる時間よりも十分に長い時間を設定しておき、電源投入後、この設定時間が経過した後において、データ伝送を開始する構成を採用することができる。これによると、時刻同期が完了した状態でデータ伝送が実行されることが保証される。しかしながら、電源が投入されてからデータ伝送を開始するまでに必要以上に時間がかかってしまうことが懸念される。
 また、上記の時刻同期処理では、データ伝送の実行中において、時刻マスタが時刻スレーブの時刻同期精度を監視するシーケンスが存在しない。そのため、時刻マスタのマスタクロックと時刻スレーブのスレーブクロックとの間に時刻ずれが発生した際に、これを検出することができない。
 そこで、本実施の形態に従う通信システム1では、複数の時刻スレーブの各々は、自装置のスレーブクロックの時刻同期精度を示す時刻同期情報を時刻マスタへ通知するための「通信手段」を有する。これによると、図1に示す構成例においては、時刻マスタである制御装置100には、デバイス200A~200Cの各々から時刻同期情報が通知されることになる。したがって、制御装置100は、デバイス200A~200Cから通知された時刻同期情報に基づいて、自装置と各デバイスとの間の時刻同期が完了しているか否かを判断することができる。この結果、通信システム1全体において時刻同期が完了したタイミングで、データ伝送を開始することができる。したがって、電源投入後、設定時間が経過したタイミングでデータ伝送を開始する構成に比べて、より迅速にデータ伝送を開始することが可能となる。
 また、データ伝送の実行中、制御装置100は、デバイス200A~200Cから通知された時刻同期情報に基づいて、デバイス200A~200Cの各々の時刻同期精度を監視することができるため、いずれかのデバイスとの間に時刻ずれが発生したときには直ちにデータの伝送を停止することができる。よって、時刻ずれの発生に依存して、デバイスが入力データを取得する、および、出力データを出力するタイミングがばらつく可能性を回避することができる。
 <B.通信システムの全体構成例>
 まず、本実施の形態に従う通信システム1の全体構成について説明する。図1は、本実施の形態に係る通信システム1の構成を模式的に示す図である。
 図1に示す構成例においては、ネットワーク2には、制御装置100および複数のデバイス200A~200C(以下、「デバイス200」と総称することもある。)が接続される。デバイス200A~200Cは、例えばデイジーチェーンで順次接続されている。図1では、ネットワーク2のデバイス200と制御装置100との接続形態は、ライン型としているが、ライン型に限定されない。例えば、リング型、バス型またはスター型を含む他の接続形態であってもよい。
 通信システム1のネットワーク内においては、制御装置100およびデバイス200A~200Cは、いずれも「データ転送機能を有する通信装置」とみなすことができる。図1に示す例においては、制御装置100およびデバイス200A~200Cの各々は、隣接して接続されている他の通信装置から、ネットワーク上を転送されるデータ(以下では、1つの転送単位のデータを「フレーム」とも称す。)を受信すると、当該入来したフレームを必要に応じて、隣接して接続されている別の他の通信装置へ転送する機能を有している。なお、受信されたフレームが自装置宛てである場合には、当該受信したフレームを他の通信装置へ転送されることなく、当該フレームを受信した装置自体で当該フレームが処理される。
 制御装置100は、製造装置または生産ライン(以下、「フィールド」とも称す。)に備えられる各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。以下では、制御装置100を「制御マスタ」とも称す。制御装置100は、制御演算を実行する一種のコンピュータであり、典型的には、PLC(プログラマブルコントローラ)として具体化されてもよい。
 制御装置100には、センサ、アクチュエータといった制御対象が直接またはネットワーク2を介して接続され得る。本実施の形態では、図1に示すように、これら制御対象はデバイス200およびネットワーク2を介して制御装置100に接続され得る。
 デバイス200の各々は、フィールド信号を取得する入力デバイス、および、制御装置100からの指示に従ってフィールドに対して何らかのアクションを行なう出力デバイスあるいはアクチュエータを含む。デバイス200は、制御マスタによって制御される「制御スレーブ」の一実施例に対応する。ネットワーク2は、入力およびデバイス制御を主たる機能として提供する。ネットワーク2は、狭義の「フィールドネットワーク」に相当する。一般的に「フィールドネットワーク」は、「フィールドバス」とも称されるが、説明の簡単化のため、以下の説明においては、ネットワーク2は、「フィールドネットワーク」および「フィールドバス」の両方を含み得る概念である。
 制御装置100において実行される制御演算は、デバイス200において収集または生成されたデータ(以下、「入力データ」とも称す。)を収集する処理(入力処理)、デバイス200に対する指令などのデータ(以下、「出力データ」とも称す。)を生成する処理(演算処理)、生成した出力データを対象のデバイス200へ送信する処理(出力処理)などを含む。
 また、制御装置100には、サポート装置500が接続され得る。サポート装置500は、制御装置100がネットワーク2を管理するための必要な準備、および制御対象を制御するために必要な準備などを支援する装置である。サポート装置500は、ネットワーク2の管理に関連して、例えば制御装置100に接続されるデバイス200のパラメータ(コンフィギュレーション)を設定するための設定環境などを提供する。サポート装置500は、設定環境などを提供する設定ツールがインストールされたPC(パーソナルコンピュータ)などを含み得る。
 なお、図1に示す通信システム1においては、サポート装置500は、制御装置100と別体として備えられるが、サポート装置500は、制御装置100に一体的に備えられてもよい。すなわち、サポート装置500が有する機能は、制御装置100に内蔵され得る。
 ネットワーク2には、任意のデバイス200を接続することができる。デバイス200は、フィールドに対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。
 ネットワーク2を介して制御装置100とデバイス200との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数100μsecオーダ~数10msecオーダのごく短い周期で更新されることになる。
 <C.伝送されるデータと通信性能>
 図1に示すネットワーク2においては、基本的には、製造装置または生産設備の制御に用いられるデータ(以下、「制御系データ」と総称することもある。)が周期的に伝送される。また、ネットワーク2においては、制御系データと異なる他のデータも伝送され得る。他のデータは、例えば「情報系データ」または「制御情報系データ」と称するデータを含む。これらは、制御系データのような高速なリアルタイム性が要求されないものの、ある程度の定時性が求められるデータである。
 制御系データは、例えば、サーボ指令値、エンコーダ値、センサのON/OFF値などが挙げられる。制御系データは、製造装置または生産設備の制御に用いられるため、制御装置100から一定の通信周期で伝送される。通信システム1では、この通信周期を確実に保証する必要がある。
 本実施の形態に係るネットワーク2は、データの到達時間が保証される、定周期通信を行なうバスまたはネットワークを採用することが好ましい。例えば、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)などの公知のプロトコルに係るネットワークを採用してもよい。
 <D.ハードウェア構成>
 図2は、本実施の形態に従う通信システム1のハードウェア構成の一例を示す模式図である。制御装置100は、典型的には、PLCをベースとして構成されてもよい。
 図2を参照して、制御装置100は、主たるコンポーネントとして、プロセッサ102と、メモリ104と、ストレージ106と、ネットワークコントローラ110とを含む。制御装置100は、サポート装置500と通信するI/F(Interface)をさらに含む。
 ストレージ106には、制御装置100の各部を制御するためのシステムプログラム107、および制御対象などに応じて設計されるユーザアプリケーションプログラム108が格納される。プロセッサ102は、ストレージ106に格納されているシステムプログラム107およびユーザアプリケーションプログラム108をメモリ104に読み出して実行することで、後述するような処理を含む各種処理を実現する。メモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置からなる。
 ネットワークコントローラ110は、制御装置100がネットワーク2を介して各デバイス200との間でデータを遣り取りするためのインターフェイスを提供する。ネットワークコントローラ110は、主たるコンポーネントとして、受信回路(Rx)111と、受信バッファ112と、送受信コントローラ113と、送信バッファ114と、送信回路(Tx)115と、タイマ101とを含む。
 受信回路111は、ネットワークコントローラ110上を定周期で伝送されるフレームを受信して、その受信したフレームに格納されているデータを受信バッファ112に書込む。送受信コントローラ113は、受信バッファ112に書込まれた受信フレームを順次読出す。送受信コントローラ113は、当該読出されたフレームから、制御装置100での処理に必要なデータのみを抽出し、プロセッサ102へ出力する。送受信コントローラ113は、プロセッサ102からの指令に従って、デバイス200へ送信すべきデータあるいはフレームを送信バッファ114へ順次書込む。送信回路115は、ネットワークコントローラ110上をフレームが伝送される周期に同期して、送信バッファ114に格納されているデータを順次ネットワーク2へ送出する。タイマ101は、送受信コントローラ113から通信フレームの送信などを指示するタイミングの基準となるパルスを発生するグランドマスタでもあり得る。
 図2を参照して、デバイス200は、通信システム1による様々な設備や装置の制御を実現するために必要な各種機能を実現する。典型的には、デバイス200の各々は、制御対象の設備や装置などからのフィールド情報の収集や、制御対象の設備や装置などへの指令信号の出力を司る。デバイス200の各々は、主たるコンポーネントとして、プロセッサ202と、メモリ204と、ストレージ206と、通信回路210とを含む。通信回路210は、ネットワーク2を伝送されるフレームを処理する。すなわち、通信回路210は、ネットワーク2を介して何らのフレームを受信すると、当該受信したフレームに対するデータ書込みおよび/またはフレームからのデータ読出しを行ない、その後、ネットワーク2上において次に位置するデバイス200へ当該フレームを転送する。
 より具体的には、通信回路210は、受信回路(Rx)211と、送受信コントローラ212と、送信回路(Tx)213と、タイマ201とを含む。受信回路211および送信回路213は、ネットワーク2と物理的に接続される部位であり、送受信コントローラ212からの指令に従って、ネットワーク2上を伝送されるフレームを受信し、受信フレームを処理し、処理後のフレームをネットワーク2に送出する。送受信コントローラ212は、ネットワーク2上を伝送されるフレームに対するデータ書込みおよび/または当該フレームからのデータ読出しを行なう。タイマ201は、送受信コントローラ212による指令出力のタイミングまたはデバイス200による処理の実行のタイミングなどの基準となるクロックを発生する。これにより、制御装置100および各デバイス200を含む複数の通信装置を、互いに時刻同期させることができる。
 <E.時刻同期機能>
 図1に示す通信システム1において、制御装置100はタイマ101を有し、デバイス200A~200Dはタイマ201A~201Cをそれぞれ有している。制御装置100のタイマ101がマスタクロックとして機能し、デバイス200A~200Cのタイマがマスタクロックを基準としてタイミングを同期させることで、通信システム1において、データの伝送タイミングなどを互いに一致させることができる。
 通信システム1における通信装置間の時刻同期は、例えばIEEE1588、IEEE802.1AS,IEEE802.1AS-Revなどの高精度時刻同期プロトコルを採用することができる。
 高精度時刻同期プロトコルとして、例えば、IEEE1588には、PTP(Precision Time Protocol)が規定されている。PTPは、マスタクロックを持つ時刻マスタMと、スレーブクロックを持つ時刻スレーブSとを含む通信システムに適用され得る。PTPでは、時刻マスタMと時刻スレーブSとの間で定期的に時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて、時刻スレーブSのスレーブクロックの時刻補正を行なう。
 図3は、PTPの時刻同期処理の一例を示すシーケンス図である。図3に示すシーケンス図においては、時刻マスタMと時刻スレーブSとが連係することにより、マスタクロックとスレーブクロックとの間の時刻同期が実現される。
 図3において、時刻マスタMのマスタクロックの持つ時刻Tと、時刻スレーブSのスレーブクロックの持つ時刻Tとの差分であるOFFSETは、一般に次式(1)で表わされる。
 OFFSET=T-T  …(1)
 最初に、時刻マスタMは、時刻スレーブSへ時刻同期用パケット(Syncメッセージ)を送信する。時刻マスタMがSyncメッセージを送信した時刻T1、時刻スレーブSがSyncメッセージを受信した時刻T2、および時刻マスタMから時刻スレーブSへの方向の遅延時間DM/Sの間には、次式(2)の関係が成り立つ。
 T2=T1+OFFSET+DM/S  …(2)
 次に、時刻マスタMは、時刻スレーブSへ時刻同期用パケット(Follow_Upメッセージ)を送信する。Follow_Upメッセージは、時刻マスタMからSyncメッセージを送信した時刻T1を示す情報を含んでいる。時刻スレーブSは、時刻T1と時刻T2とを記録する。
 次に、時刻スレーブSは、時刻マスタMへ時刻同期パケット(Delay_Reqメッセージ)を送信する。時刻マスタMは、Delay_Reqメッセージを受信すると、時刻スレーブSに時刻同期用パケット(Delay_Respメッセージ)を送信する。Delay_Respメッセージは、Delay_Reqメッセージを受信した時刻T4を示す情報を含んでいる。時刻スレーブSは、Delay_Respメッセージを受信すると、時刻マスタMがDelay_Reqメッセージを受信したことを確認できるため、時刻T3と時刻T4とを記録する。
 時刻スレーブSがDelay_Reqメッセージを送信した時刻T3、時刻マスタMがDelay_Reqメッセージを受信した時刻T4、および時刻スレーブSから時刻マスタMへの方向の遅延時間DS/Mの間には、次式(3)の関係が成り立つ。
 T4=T3-OFFSET+DS/M  …(3)
 時刻スレーブSは、時刻T1,T2,T3,T4(すなわち、4つのタイムスタンプ)を記録している。ここで、双方向の遅延時間DM/S、DS/Mが等しいと仮定すると(DM/S=DS/M)、時刻スレーブSは、式(2),(3)に基づいて、次式(4)によりOFFSETを算出できる。
 OFFSET={(T2-T4)-(T1-T3)}/2  …(4)
 このようなPTPの時刻同期処理は、双方向の遅延時間が等しい場合は成り立つが、途中にスイッチ等を経由している場合、双方向の遅延時間は異なるために誤差を生じる。双方向の遅延時間の差によって生じる誤差を解決するためにIEEE1588では、さらに、トランスペアレントクロック(Transparent Clock)と呼ばれる遅延管理機能が定義されている。
 トランスペアレントクロックには、E2E(End to End)トランスペアレントクロックと、P2P(Peer to Peer)トランスペアレントクロックとがある。E2Eトランスペアレントクロックは、時刻マスタMと時刻スレーブSとの間に配置される各スイッチの入力部および出力部にタイムスタンプ付与機能を設置し、各スイッチのパケット通過時間を計測して補正する方式である。E2Eトランスペアレントクロックは、図3に示したDelay request-Delay responseメカニズムを用いて、時刻マスタMと時刻スレーブSとの間で遅延時間を計測する。
 一方、P2Pトランスペアレントクロックは、図4に示すように、隣接する2つの通信装置がマスタとスレーブとの関係になって時計を合わせていく方式である。P2Pトランスペアレントクロックは、Peer delayメカニズムを用いて、各ピア間で遅延時間を計測する。図4の例では、時刻マスタMおよび時刻スレーブS1~S3がデイジーチェーンで順次接続されている。図1に示す通信システム1においては、制御装置100が時刻マスタMに対応し、デバイス200A~200Cが時刻スレーブS1~S3にそれぞれ対応する。
 時刻マスタMおよび時刻スレーブS1~S3の各々は、ポートP1,P2を有する。ポートP1,P2の各々は、マスタポートおよびスレーブポートのいずれかに指定され得るる。
 ただし、制御装置100を時刻マスタMとして機能させる場合には、時刻マスタMにおけるポートP1,P2の一方のポートがマスタポートに指定され、他方のポートが上位ネットワークまたは、同一ネットワーク上の他の制御装置に接続されることがある(図24参照)。あるいは、時刻マスタMおよび時刻スレーブS1~S3の接続形態がリング型である場合には、時刻マスタMのポートP1,P2はいずれもマスタポートに指定される。
 なお、通信システム1を構成する複数の通信装置のうちのどの通信装置のタイマをマスタクロックとして機能させるかについては、ユーザが指定することができる。あるいは、マスタクロック選出アルゴリズムを用いて自動的に指定することができる。時刻スレーブS1~S3の各々のポートP1,P2は、ユーザが指定することができる。あるいは、ツールで設計された通信システム1のトポロジー情報に基づいて、自動的に指定することができる。
 本実施の形態に係る通信システム1では、P2Pトランスペアレントクロックを用いた時刻同期処理を実行することにより、時刻マスタMのマスタクロックに時刻スレーブS1~S3の各々のスレーブクロックを時刻同期させる。
 図5は、P2Pトランスペアレントクロックを用いた時刻同期処理の一例を示すシーケンス図である。図5に示すシーケンス図において、スイッチSW1,SW2は、P2Pトランスペアレントクロック機能を有するネットワークスイッチである。スイッチSW1,SW2は、ネットワーク上において隣接して接続される。図5では、スイッチSW2は、スイッチSW1のマスタ側に隣接して位置するものとする。スイッチSW1とスイッチSW2との間で定期的に時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて、スイッチSW1のクロックの時刻補正を行なう。
 図5において、スイッチSW1のクロックの持つ時刻TS1と、スイッチSW2のクロックの持つ時刻TS2との差分をΔTとすると、ΔTは次式(5)で表される。
 ΔT=TS2-TS1  …(5)
 最初に、スイッチSW1は、スイッチSW2へ時刻同期用パケット(Pdelay_Reqメッセージ)を送信する。スイッチSW1がPdelay_Reqメッセージを送信した時刻T1、スイッチSW2がPdelay_Reqメッセージを受信した時刻T2、およびスイッチSW1からスイッチSW2への方向の遅延時間D1/2の間には、次式(6)の関係が成り立つ。
 T2=T1+ΔT+D1/2  …(6)
 次に、スイッチSW2は、スイッチSW1へ時刻同期用パケット(Pdelay_Respメッセージ)を送信する。Pdelay_Respメッセージは、スイッチSW2がPdelay_Reqメッセージを受信した時刻T2を示す情報を含んでいる。スイッチSW1は、時刻T1と時刻T2とを記録する。
 次に、スイッチSW2は、スイッチSW1へ時刻同期用パケット(Pdelay_Resp_followupメッセージ)を送信する。Pdelay_Resp_followupメッセージは、スイッチSW2がPdelay_Respメッセージを送信した時刻T3を示す情報を含んでいる。スイッチSW1は、Pdelay_Resp_followupメッセージを送信した時刻T3と、Pdelay_Resp_followupメッセージを受信した時刻T4とを記録する。
 スイッチSW2がPdelay_Resp_followupメッセージを送信した時刻T3、スイッチSW1がPdelay_Resp_followupメッセージを受信した時刻T4、およびスイッチSW2からスイッチSW1への方向の遅延時間D2/1の間には、次式(7)の関係が成り立つ。
 T4=T3-ΔT+D2/1  …(7)
 スイッチSW1は、時刻T1,T2,T3,T4(すなわち、4つのタイムスタンプ)を記録している。ここで、双方向の遅延時間D1/2、D2/1が等しいと仮定すると(D1/2=D2/1)、遅延時間Dを次式(8)により算出できる。
 D={(T4-T1)-(T3-T2)}/2  …(8)
 さらに、式(6),(8)に基づいて、スイッチSW1の持つクロックの時刻とスイッチSWの持つクロックの時刻との差分ΔTを次式(9)により算出できる。スイッチSW1は、差分ΔTを時刻調整値として、自装置のクロックの時刻補正を行なう。
 ΔT=(T2-T1)-{(T4-T1)-(T3-T2)}/2  …(9)
 図4に戻って、時刻スレーブS1は、スレーブポートに接続される時刻マスタMとの間で図5に示す時刻同期処理を実行することにより、時刻マスタMが持つクロック(マスタクロック)の時刻と自装置の持つクロック(スレーブクロック)の時刻との差分ΔTを算出する。この場合、図5のシーケンス図において、時刻スレーブS1はスイッチSW1に対応し、時刻マスタMはスイッチSW2に対応する。以下の説明では、時刻マスタMの時刻に対する時刻スレーブS1の時刻の差分ΔTを「ΔTM-1」と表す。時刻スレーブS1は、差分ΔTM-1を時刻調整値として、自装置のタイマを時刻補正する。
 時刻スレーブS2は、スレーブポートに接続される時刻スレーブS1との間で図5に示す時刻同期処理を実行することにより、時刻スレーブS1が時刻差ΔTを計算する。時刻スレーブS2は図4のスイッチSW1に対応し、時刻スレーブS1が持つクロックの時刻と自装置のクロックの時刻との差分ΔTを算出する。この場合、図5のシーケンス図において、時刻スレーブS2はスイッチSW1に対応し、時刻スレーブS1はスイッチSW2に対応する。以下の説明では、時刻スレーブS1の時刻に対する時刻スレーブS2の時刻の差分ΔTを「ΔT1-2」と表す。時刻スレーブS2は、差分ΔT1-2を時刻調整値として、自装置のクロックを時刻補正する。
 時刻スレーブS3は、スレーブポートに接続される時刻スレーブS2との間で図5に示す時刻同期処理を実行することにより、時刻スレーブS2が持つクロックの時刻と自装置が持つクロックの時刻との差分ΔTを計算する。この場合、図5のシーケンス図において、時刻スレーブS3はスイッチSW1に対応し、時刻スレーブS2はスイッチSW2に対応する。以下の説明では、時刻スレーブS2の時刻に対する時刻スレーブS3の時刻の差分ΔTを「ΔT2-3」と表す。時刻スレーブS3は、差分ΔT2-3を時刻調整値として、自装置のクロックを時刻補正する。
 このように、複数の通信装置の各々が、マスタ側に隣接して接続される通信装置のクロックの時刻と自装置のクロックの時刻との差分ΔTを時刻調整値として、自装置のクロックを時刻補正することにより、最終的に、時刻マスタMと全ての時刻スレーブS1~S3との間で時刻同期が実現される。通信システム1全体の時刻同期が完了することにより、複数の通信装置の間で制御系データの伝送を開始することが可能となる。
 しかしながら、図5に示す時刻同期処理には、各時刻スレーブSの時刻同期精度を時刻マスタMに通知するシーケンスが存在しない。このため、時刻マスタMは、各時刻スレーブSの時刻同期が完了したか否かを判定することができず、通信システム1の電源投入後などにおいて、制御系データの伝送を開始することができるタイミングを判断することができない。
 これには、例えば、実際に時刻同期処理に費やされる時間よりも十分に長い時間を設定しておき、通信システム1の電源を投入してからこの設定時間が経過した時点で、制御系データの伝送を開始する構成を採用することができる。これによると、時刻同期が完了した状態で制御系データの伝送が実行されることが保証される。しかしながら、電源を投入してから制御系データの伝送を開始するまでに必要以上に時間がかかってしまうことが懸念される。
 また、データ伝送の実行中において、時刻マスタMには、時刻スレーブSのスレーブクロックを監視するシーケンスが存在しない。そのため、時刻マスタMのマスタクロックと時刻スレーブSのスレーブクロックとの間に時刻ずれが発生した際に、これを検出することができない。
 ここで、特許文献1には、図3に示したE2Eトランスペアレントクロックを用いた時刻同期処理において、時刻スレーブSは、時刻マスタMに送信する時刻同期用パケット(Delay_Reqメッセージ)に、Delay_Reqメッセージを送信した時刻T3を示す情報を含ませる技術が開示されている。この技術によれば、時刻マスタMは、時刻T3と時刻T4との差分である監視用時刻差分(T4-T3)が予め決められた許容範囲内であるか否かを判定することにより、時刻スレーブSの時刻同期が完了したか否かを判定することができる。
 この特許文献1の技術を、図5に示すP2Pトランスペアレントクロックを用いた時刻同期処理に適用した場合、時刻マスタMは、直近の時刻スレーブS1から時刻情報を含んだ時刻同期用パケットを受信することで、時刻スレーブS1の時刻同期が完了したか否かを判定することができる。しかしながら、時刻マスタMと時刻スレーブS2,S3との間では時刻同期用パケットの遣り取りが行なわれないため、時刻マスタMは、時刻スレーブS2、S3の各々の時刻同期が完了したか否かを判定することができない。
 そこで、本実施の形態に従う通信システム1では、時刻スレーブSは、自装置のスレーブクロックの時刻同期精度を示す情報(時刻同期情報)を時刻マスタMへ通知するための「通信手段」を有する。これによると、時刻マスタMは、時刻スレーブS1~S3の各々から通知される時刻同期情報に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定することができる。
 <F.通信手段>
 以下では、本実施の形態に係る通信システム1において、時刻スレーブSが有する通信手段の構成例について説明する。
 (f1.通信手段の構成例1)
 図6は、本実施の形態に係る通信手段の構成例1を模式的に示す図である。本実施の形態に係る通信手段は、時刻同期情報として、自装置のスレーブクロックの時刻補正に用いた時刻調整値ΔTを通知するように構成される。
 図6を参照して、時刻スレーブS3は、時刻スレーブS2との間で時刻同期処理(図5参照)を実行することにより、時刻スレーブS2の時刻に対する時刻スレーブS3の時刻の差分ΔT2-3を算出する。時刻スレーブS3は、算出した時刻調整値ΔT2-3を時刻スレーブS2へ通知する。
 時刻スレーブS2は、時刻スレーブS1との間で時刻同期処理を実行することにより、時刻スレーブS1の時刻に対する時刻スレーブS2の時刻の差分ΔT1-2を算出する。時刻スレーブS2は、時刻スレーブS3より受信した時刻調整値ΔT2-3と、算出した時刻調整値ΔT1-2とを比較する。具体的には、時刻スレーブS2は、時刻調整値ΔT2-3の絶対値|ΔT2-3|と、時刻調整値ΔT1-2の絶対値と|ΔT1-2|とを比較し、大きい方の絶対値(以下、「最大時刻調整値ΔTmax」とも称す。)を選択する。時刻スレーブS2における最大時刻調整値をΔTmax2とすると、最大時刻調整値ΔTmax2は次式(10)で与えられる。時刻スレーブS2は、最大時刻調整値ΔTmax2を時刻スレーブS1へ通知する。
 ΔTmax2=Max{|ΔT2-3|,|ΔT1-2|}  …(10)
 時刻スレーブS1は、時刻マスタMとの間で時刻同期処理を実行することにより、時刻マスタMの時刻に対する時刻スレーブS1の時刻の差分ΔTM-1を算出する。時刻スレーブS1は、時刻スレーブS2より受信した最大時刻調整値ΔTmax2と、時刻調整値ΔTM-1の絶対値|ΔTM-1|とを比較し、大きい方の絶対値(最大時刻調整値ΔTmax)を選択する。時刻スレーブS1における最大時刻調整値ΔTmax1とすると、最大時刻調整値ΔTmax1は次式(11)で与えられる。時刻スレーブS1は、最大時刻調整値ΔTmax1を時刻マスタMへ通知する。
 ΔTmax1=Max{|ΔTM-1|,ΔTmax2}  …(11)
 ここで、式(10),(11)によると、最大時刻調整値ΔTmax1は次式(12)のように表わすことができる。
 ΔTmax1=Max{|ΔT2-3|,|ΔT1-2|,|ΔTM-1|}  …(12)
 式(12)から分かるように、時刻マスタMには、時刻スレーブS1~S3の時刻調整値ΔT2-3,ΔT1-2,ΔTM-1の絶対値のうち最も大きいものが、最大時刻調整値ΔTmax1として通知されることになる。
 時刻マスタMは、最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。具体的には、時刻マスタMは、時刻同期が完了したか否かを判定するための閾値を、通信システム1において予め定められた許容時刻精度を最大パス数で除算した値に設定する。この最大パス数とは、時刻マスタMと末端の時刻スレーブS(図6の例では時刻スレーブS3に相当)との間に存在する伝送経路の総数に値する。図6の例では、最大パス数は3となる。したがって、閾値は許容時刻精度/3に設定される。例えば、許容時刻精度を1μsとした場合、閾値は0.333μsに設定される。
 図6の例では、時刻マスタMと末端の時刻スレーブS3との間には、各時刻スレーブSの差分ΔTを足し合わせた時刻差が生じる。そのため、各時刻スレーブSにおいて、隣接して接続される他の通信装置との時刻の差分ΔTが許容時刻精度より小さくても、時刻マスタMと末端の時刻スレーブS3との間には許容時刻精度を超える時刻差が発生している可能性がある。そこで、時刻同期の完了を判定するための閾値を、許容時刻精度を最大パス数で除算した値とすることで、時刻マスタMと時刻スレーブS3との時刻差が許容時刻精度より小さいことを、時刻同期完了の判定条件としている。
 時刻マスタMは、最大時刻調整値ΔTmax1と上記閾値とを比較し、最大時刻調整値ΔTmax1が閾値より小さい場合、時刻スレーブS1~S3の時刻同期が完了したと判定する。時刻マスタMは、時刻同期が完了したと判定されると、時刻スレーブS1~S3の間で制御系データの伝送を開始する。一方、最大時刻調整値ΔTmax1が閾値より大きい場合、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了していないと判定し、制御系データの伝送を開始しないこととする。
 通信システム1において、時刻同期処理は定期的に実行されるため、各時刻スレーブSの時刻同期情報も時刻マスタMに定期的に通知されることになる。したがって、時刻マスタMは、データ伝送の実行中において、時刻スレーブS1~S3の時刻同期精度を監視することができる。時刻スレーブS1~S3のいずれか1つと時刻マスタMとの間で時刻ずれが発生したことによって、時刻マスタMに通知される最大時刻調整値ΔTmax1が閾値を超えた場合、時刻マスタMは、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断し、制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを安定的に管理することができる。
 図7は、本実施の形態に係る通信手段の構成例1を含む時刻同期処理を示すシーケンス図である。
 図7を参照して、通信システム1において時刻同期処理が開始されると、時刻スレーブS3は、時刻スレーブS2に対して、Pdelay_Reqメッセージを送信する。時刻スレーブS3は、時刻スレーブS2に送信するPdelay_Reqメッセージに、前回の時刻同期処理で算出された時刻調整値ΔT2-3を格納する。
 時刻スレーブS2は、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている時刻調整値ΔT2-3を抽出する。時刻スレーブS2は、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS3に送信する。時刻スレーブS3は、時刻調整値ΔT2-3を算出し、算出した時刻調整値ΔT2-3を用いて自装置のスレーブクロックの時刻を補正する。
 時刻スレーブS2は、時刻スレーブS3より受信した時刻調整値ΔT2-3と、前回の時刻同期処理で算出された時刻調整値ΔT1-2とを式(10)に代入することにより、最大時刻調整値ΔTmax2を算出する。時刻スレーブS2は、時刻スレーブS1に送信するPdelay_Reqメッセージに、算出した最大時刻調整値ΔTmax2を格納する。
 時刻スレーブS1は、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている最大時刻調整値ΔTmax2を抽出する。時刻スレーブS1は、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS2に送信する。時刻スレーブS2は、時刻調整値ΔT1-2を算出し、算出した時刻調整値ΔT1-2を用いて自装置のスレーブクロックの時刻を補正する。
 時刻スレーブS1は、時刻スレーブS2より受信した最大時刻調整値ΔTmax2と、前回の時刻同期処理で算出された時刻調整値ΔTM-1とを式(11)に代入することにより、最大時刻調整値ΔTmax1を算出する。時刻スレーブS1は、時刻マスタMに送信するPdelay_Reqメッセージに、算出した最大時刻調整値ΔTmax1を格納する。
 時刻マスタMは、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている最大時刻調整値ΔTmax1を抽出する。時刻マスタMは、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS1に送信する。時刻スレーブS1は、時刻調整値ΔTM-1を算出し、算出した時刻調整値ΔTM-1を用いて自装置のスレーブクロックの時刻を補正する。
 時刻マスタMは、時刻スレーブS1より受信した最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。時刻マスタMは、最大時刻調整値ΔTmax1が閾値(=許容時刻精度/最大パス数)より小さい場合、時刻スレーブS1~S3の時刻同期が完了していると判定し、時刻スレーブS1~S3との間で制御系データの伝送を開始する。
 図7に示すように、マスタ側に位置する通信装置に送信する時刻同期用パケット(Pdelay_Reqメッセージ)に時刻同期情報(時刻調整値ΔT)を含めることで、既存の時刻同期シーケンスを利用して、通信手段を実現することができる。これによると、通信手段を実現するために、時刻同期処理の実行中に通信装置間で遣り取りされるパケットが増えてしまうことを防止することができる。
 図8は、本実施の形態に係る通信システム1を構成する時刻スレーブSによる処理手順を示すフローチャートである。図8では、時刻マスタMに順次接続される複数の時刻スレーブS1~S3(S3は末端のスレーブに相当)のうちの1つの時刻スレーブSi(1≦i≦3)による処理手順が示されている。図8に示すフローチャートは所定周期で実行される。
 図8を参照して、時刻スレーブSiは、マスタ側ノード(時刻スレーブS(i-1)または時刻マスタMに相当)に対して、時刻同期用パケット(Pdelay_Reqメッセージ)を送信する(ステップS01)。時刻スレーブSiは、Pdelay_Reqメッセージに、最大時刻調整値ΔTmaxiを格納する。時刻スレーブSiは、Pdelay_Reqメッセージを送信した時刻T1を記録する(図6参照)。
 続いて、時刻スレーブSiは、マスタ側ノードから時刻同期用パケット(Pdelay_Respメッセージ)を受信する(ステップS02)。Pdelay_Respメッセージは、マスタ側ノードがPdelay_Reqメッセージを受信した時刻T2を含んでいる。時刻スレーブSiは、時刻T2を記録する。
 時刻スレーブSiは、さらに、マスタ側ノードから時刻同期用パケット(Pdelay_Resp followupメッセージ)を受信する(ステップS03)。Pdelay_Resp followupメッセージは、マスタ側ノードがPdelay_Respメッセージを送信した時刻T3を含んでいる。時刻スレーブSiは、時刻T3および、Pdelay_Respメッセージを受信した時刻T4を記録する。
 次に、時刻スレーブSiは、4つの時刻T1,T2,T3,T4に基づいて、マスタ側ノードの時刻に対する時刻スレーブSiの時刻の差分(時刻調整値)ΔTを算出する(ステップS04)。時刻スレーブSiは、時刻調整値ΔTを用いて、自装置のクロックの時刻を補正する(ステップS05)。
 次に、時刻スレーブSiは、スレーブ側ノード(時刻スレーブS(i+1)に相当)から、時刻同期用パケット(Pdelay_Reqメッセージ)を受信する(ステップS06)。Pdelay_Reqメッセージには、スレーブ側ノードで算出された最大時刻調整値ΔTmax(i+1)が格納されている。
 時刻スレーブSiは、時刻調整値ΔTの絶対値|ΔT|と、最大時刻調整値ΔTmax(i+1)とを比較し、大きい方の絶対値を選択する。時刻スレーブSiは、選択した絶対値を、最大時刻調整値ΔTmaxiに設定する。時刻スレーブSiは、設定した最大時刻調整値ΔTmaxiを、次回の時刻同期処理においてマスタ側ノードに送信する時刻同期用パケット(Pdelay_Reqメッセージ)に格納する。したがって、更新された最大時刻調整値ΔTmaxiがマスタ側ノードに通知されることになる(ステップS01)。
 図8に示す処理手順に従って、時刻スレーブS1~Snの各々がマスタ側ノードに最大時刻調整値ΔTmaxiを通知することにより、最終的に、時刻スレーブS1から時刻マスタMに最大時刻調整値ΔTmax1が通知される。
 図9は、本実施の形態に係る通信システム1を構成する時刻マスタMによる処理手順を示すフローチャートである。図9に示すフローチャートは所定周期で実行される。
 図9を参照して、時刻マスタMは、スレーブ側ノード(時刻スレーブS1)から時刻同期用パケット(Pdelay_Reqメッセージ)を受信する(ステップS11)。Pdelay_Reqメッセージには、時刻スレーブS1で算出された最大時刻調整値ΔTmax1が格納されている。
 時刻マスタMは、時刻スレーブS1へ時刻同期用パケット(Pdelay_Respメッセージ)を送信する(ステップS12)。Pdelay_Respメッセージは、時刻マスタMがPdelay_Reqメッセージを受信した時刻T2を含んでいる。
 時刻マスタMは、さらに、時刻スレーブS1へ時刻同期用パケット(Pdelay_Resp followupメッセージ)を送信する(ステップS13)。Pdelay_Resp followupメッセージは、時刻マスタMがPdelay_Respメッセージを送信した時刻T3を含んでいる。
 続いて、時刻マスタMは、時刻スレーブS1より受信した最大時刻調整値ΔTmax1と、閾値(許容時刻精度/最大パス数)とを比較する(ステップS14)。最大時刻調整値ΔTmax1が閾値より小さい場合(S14のYES判定時)、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了したと判定し、時刻スレーブS1~S3との間で制御系データの伝送を実行する(ステップS15)。
 一方、最大時刻調整値ΔTmax1が閾値以上である場合(S14のNO判定時)、時刻マスタMは、さらに、制御系データの伝送を実行中であるか否かを判定する(ステップS16)。制御系データの伝送を実行中であれば(S16のYES判定時)、時刻マスタMは、制御系データの伝送を停止する(ステップS17)。一方、制御系データの伝送を実行していなければ(S16のNO判定時)、時刻マスタMは、制御系データの伝送を開始しない。
 (f2.通信手段の構成例2)
 図10は、本実施の形態に係る通信手段の構成例2を模式的に示す図である。本構成例においても構成例1と同様に、通信手段は、時刻同期情報として、自装置のスレーブクロックの時刻補正に用いた時刻調整値ΔTを通知するように構成される。
 図10を参照して、時刻スレーブS3は、時刻スレーブS2との間で時刻同期処理(図5参照)を実行することにより、時刻スレーブS2の時刻に対する時刻スレーブS3の時刻の差分ΔT2-3を算出する。時刻スレーブS3は、算出した時刻調整値ΔT2-3を時刻スレーブS2へ通知する。
 時刻スレーブS2は、時刻スレーブS1との間で時刻同期処理を実行することにより、時刻スレーブS1の時刻に対する時刻スレーブS2の時刻の差分ΔT1-2を算出する。時刻スレーブS2は、時刻スレーブS3より受信した時刻調整値ΔT2-3と、算出した時刻調整値ΔT1-2とを時刻スレーブS1へ通知する。
 時刻スレーブS1は、時刻マスタMとの間で時刻同期処理を実行することにより、時刻マスタMの時刻に対する時刻スレーブS1の時刻の差分ΔTM-1を算出する。時刻スレーブS1は、時刻スレーブS2より受信したΔT2-3,ΔT1-2と、時刻調整値ΔTM-1とを時刻マスタMへ通知する。
 時刻マスタMは、時刻調整値ΔT2-3,ΔT1-2,ΔTM-1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。具体的には、時刻マスタMは、時刻調整値ΔT1-2およびΔTM-1を足し合わせることにより、時刻マスタMの時刻に対する時刻スレーブS2の時刻の差分(時刻調整値)ΔTM-2を算出する。時刻調整値ΔTM-2は、次式(13)で与えられる。
 ΔTM-2=ΔT1-2+ΔTM-1  …(13)
 時刻マスタMは、さらに、時刻調整値ΔT2-3,ΔT1-2およびΔTM-1を足し合わせることにより、時刻マスタMの時刻に対する時刻スレーブS3の時刻の差分(時刻調整値)ΔTM-3を算出する。時刻調整値ΔTM-3は、次式(14)で与えられる。
 ΔTM-3=ΔT2-3+ΔT1-2+ΔTM-1  …(14)
 次に、時刻マスタMは、時刻調整値ΔTM-1,ΔTM-2,ΔTM-3のうち絶対値が最も大きいものを選択する。時刻マスタMは、選択した時刻調整値の絶対値を最大時刻調整値ΔTMmaxに設定する。最大時刻調整値ΔTMmaxは、次式(15)で与えられる。
 ΔTMmax=Max{|ΔTM-3|,|ΔTM-2|,|ΔTM-1|}  …(15)
 時刻マスタMは、最大時刻調整値ΔTMmaxと許容時刻精度とを比較し、最大時刻調整値ΔTMmaxが許容時刻精度より小さい場合、時刻スレーブS1~S3の時刻同期が完了したと判定する。時刻マスタMは、時刻同期が完了したと判定されると、時刻スレーブS1~S3の間で制御系データの伝送を開始する。一方、最大時刻調整値ΔTMmaxが許容時刻精度より大きい場合、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了していないと判定し、制御系データの伝送を開始しないこととする。なお、データ伝送の実行中において、最大時刻調整値ΔTMmaxが許容時刻精度を超えた場合、時刻マスタMは、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断し、制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを安定的に管理することができる。
 図11は、本実施の形態に係る通信システム1を構成する時刻スレーブSによる処理手順を示すフローチャートである。図11では、時刻マスタMに順次接続される複数の時刻スレーブS1~S3(S3は末端のスレーブに相当)のうちの1つの時刻スレーブSi(1≦i≦3)による処理手順が示されている。図11に示すフローチャートは、図8に示したフローチャートと比較して、ステップS01,S06をステップS01A,S06Aにそれぞれ置き換えたものである。
 図11を参照して、時刻スレーブSiは、マスタ側ノード(時刻スレーブS(i-1)または時刻マスタMに相当)に対して、時刻同期用パケット(Pdelay_Reqメッセージ)を送信する(ステップS01A)。時刻スレーブSiは、Pdelay_Reqメッセージに、自装置の時刻調整値ΔTと、スレーブ側ノード(時刻スレーブS(i+1)に相当)より受信した時刻調整値ΔTとを格納する。時刻スレーブSiは、Pdelay_Reqメッセージを送信した時刻T1を記録する(図6参照)。
 続いて、時刻スレーブSiは、マスタ側ノードから時刻同期用パケット(Pdelay_Respメッセージ)を受信する(ステップS02)。時刻スレーブSiは、さらに、マスタ側ノードから時刻同期用パケット(Pdelay_Resp followupメッセージ)を受信する(ステップS03)。時刻スレーブSiは、4つの時刻T1,T2,T3,T4に基づいて、マスタ側ノードの時刻に対する時刻スレーブSiの時刻の差分(時刻調整値)ΔTを算出する(ステップS04)。時刻スレーブSiは、時刻調整値ΔTを用いて、自装置のクロックの時刻を補正する(ステップS05)。
 次に、時刻スレーブSiは、スレーブ側ノードから、時刻同期用パケット(Pdelay_Reqメッセージ)を受信する(ステップS06A)。Pdelay_Reqメッセージには、スレーブ側ノードにおける時刻調整値ΔTが格納されている。スレーブ側ノードにおける時刻調整値ΔTは、自装置よりもスレーブ側に位置する全ての時刻スレーブSの時刻調整値ΔTを含んでいる。時刻スレーブSiは、受信した時刻調整値ΔTおよび、自装置の時刻調整値ΔTを、次回の時刻同期処理においてマスタ側ノードに送信する時刻同期用パケット(Pdelay_Reqメッセージ)に格納する。したがって、更新された時刻調整値ΔTがマスタ側ノードに通知されることになる(ステップS01A)。
 図11に示す処理手順に従って、時刻スレーブS1~Snの各々がマスタ側ノードに時刻調整値ΔTを通知することにより、最終的に、時刻スレーブS1~S3の全ての時刻調整値ΔTが時刻マスタMに通知される。
 図12は、本実施の形態に係る通信システム1を構成する時刻マスタMによる処理手順を示すフローチャートである。図12に示すフローチャートは、図9のフローチャートと比較して、ステップS11をステップS11Aに置き換えるとともに、ステップS18~S20を追加したものである。
 図12を参照して、時刻マスタMは、スレーブ側ノード(時刻スレーブS1)から時刻同期用パケット(Pdelay_Reqメッセージ)を受信する(ステップS11A)。Pdelay_Reqメッセージには、時刻スレーブS1~S3の時刻調整値ΔT2-3,ΔT1-2,ΔTM-1が格納されている。
 時刻マスタMは、時刻スレーブS1へ時刻同期用パケット(Pdelay_Respメッセージ)を送信する(ステップS12)。時刻マスタMは、さらに、時刻スレーブS1へ時刻同期用パケット(Pdelay_Resp followupメッセージ)を送信する(ステップS13)。
 次に、時刻マスタMは、時刻スレーブS1より受信した時刻調整値ΔT2-3,ΔT1-2,ΔTM-1に基づいて、時刻マスタMの時刻に対する時刻スレーブS2,S3の時刻の差分(時刻調整値)ΔTM-2,ΔTM-3を算出する(ステップS18)。続いて、時刻マスタMは、算出した時刻調整値ΔTM-3,ΔTM-2,ΔTM-1の絶対値の最大値(最大時刻調整値ΔTMmax)を求める(ステップS19)。
 次に、時刻マスタMは、最大時刻調整値ΔTMmaxと、許容時刻精度とを比較する(ステップS20)。最大時刻調整値ΔTMmaxが許容時刻精度より小さい場合(S20のYES判定時)、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了したと判定し、時刻スレーブS1~S3との間で制御系データの伝送を実行する(ステップS15)。
 一方、最大時刻調整値ΔTMmaxが許容時刻精度以上である場合(S20のNO判定時)、時刻マスタMは、さらに、制御系データの伝送を実行中であるか否かを判定する(ステップS16)。制御系データの伝送を実行中であれば(S16のYES判定時)、時刻マスタMは、制御系データの伝送を停止する(ステップS17)。一方、制御系データの伝送を実行していなければ(S16のNO判定時)、時刻マスタMは、制御系データの伝送を開始しない。
 (f3.通信手段の構成例3)
 図13は、本実施の形態に係る通信手段の構成例3を模式的に示す図である。本構成例においても構成例1,2と同様に、通信手段は、時刻同期情報として、自装置のスレーブクロックの時刻補正に用いた時刻調整値ΔTを通知するように構成される。
 図13を参照して、時刻スレーブS3は、時刻スレーブS2との間で時刻同期処理(図6)を実行することにより、時刻スレーブS2の時刻に対する時刻スレーブS3の時刻の差分ΔT2-3を算出する。時刻スレーブS3は、算出した時刻調整値ΔT2-3を時刻スレーブS2へ通知する。
 時刻スレーブS2は、時刻スレーブS1との間で時刻同期処理を実行することにより、時刻スレーブS1の時刻に対する時刻スレーブS2の時刻の差分ΔT1-2を算出する。時刻スレーブS2は、時刻スレーブS3より受信した時刻調整値ΔT2-3と算出した時刻調整値ΔT1-2とを足し合わせる。時刻スレーブS2は、合算値(ΔT2-3+ΔT1-2)と時刻調整値ΔT1-2とを時刻スレーブS1へ通知する。
 時刻スレーブS1は、時刻マスタMとの間で時刻同期処理を実行することにより、時刻マスタMの時刻に対する時刻スレーブS1の時刻の差分ΔTM-1を算出する。時刻スレーブS1は、時刻スレーブS2より受信した合計値(ΔT2-3+ΔT1-2)と、時刻調整値ΔTM-1とを足し合わせる。時刻スレーブS1は、また、時刻スレーブS2より受信した時刻調整値ΔT1-2と、時刻調整値ΔTM-1とを足し合わせる。時刻スレーブS1は、合算値(ΔT2-3+ΔT1-2+ΔTM-1),(ΔT1-2+ΔTM-1)と、時刻調整値ΔTM-1とを時刻マスタMへ通知する。
 ここで、合計値(ΔT2-3+ΔT1-2+ΔTM-1)は、式(14)により、時刻マスタMの時刻に対する時刻スレーブS3の時刻の差分(時刻調整値)ΔTM-3に相当する。合算値(ΔΔT1-2+ΔTM-1)は、式(13)により、時刻マスタMの時刻に対する時刻スレーブS2の時刻の差分(時刻調整値)ΔTM-2に相当する。
 時刻マスタMは、式(15)を用いて、時刻調整値ΔTM-1,ΔTM-2,ΔTM-3のうち絶対値が最も大きいものを最大時刻調整値ΔTMmaxに設定する。時刻マスタMは、最大時刻調整値ΔTMmaxと許容時刻精度とを比較し、最大時刻調整値ΔTMmaxが許容時刻精度より小さい場合、時刻スレーブS1~S3の時刻同期が完了したと判定する。時刻マスタMは、時刻同期が完了したと判定されると、時刻スレーブS1~S3の間で制御系データの伝送を開始する。一方、最大時刻調整値ΔTMmaxが許容時刻精度より大きい場合、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了していないと判定し、制御系データの伝送を開始しないこととする。なお、データ伝送の実行中において、最大時刻調整値ΔTMmaxが許容時刻精度を超えた場合、時刻マスタMは、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断し、制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを安定的に管理することができる。
 図14は、本実施の形態に係る通信システム1を構成する時刻スレーブSによる処理手順を示すフローチャートである。図14では、時刻マスタMに順次接続される複数の時刻スレーブS1~S3(S3は末端のスレーブに相当)のうちの1つの時刻スレーブSi(1≦i≦3)による処理手順が示されている。図14に示すフローチャートは、図8に示したフローチャートと比較して、ステップS01,S06をステップS01B,S06Bにそれぞれ置き換えるとともに、ステップS08を追加したものである。
 図14を参照して、時刻スレーブSiは、マスタ側ノード(時刻スレーブS(i-1)または時刻マスタMに相当)に対して、時刻同期用パケット(Pdelay_Reqメッセージ)を送信する(ステップS01B)。時刻スレーブSiは、Pdelay_Reqメッセージに、自装置の時刻調整値ΔTおよび、自装置の時刻調整値ΔTとスレーブ側ノード(時刻スレーブS(i+1)に相当)より受信した時刻調整値ΔTとの合算値を格納する。時刻スレーブSiは、Pdelay_Reqメッセージを送信した時刻T1を記録する(図6参照)。
 続いて、時刻スレーブSiは、マスタ側ノードから時刻同期用パケット(Pdelay_Respメッセージ)を受信する(ステップS02)。時刻スレーブSiは、さらに、マスタ側ノードから時刻同期用パケット(Pdelay_Resp followupメッセージ)を受信する(ステップS03)。時刻スレーブSiは、4つの時刻T1,T2,T3,T4に基づいて、マスタ側ノードの時刻に対する時刻スレーブSiの時刻の差分(時刻調整値)ΔTを算出する(ステップS04)。時刻スレーブSiは、時刻調整値ΔTを用いて、自装置のクロックの時刻を補正する(ステップS05)。
 次に、時刻スレーブSiは、スレーブ側ノードから、時刻同期用パケット(Pdelay_Reqメッセージ)を受信する(ステップS06B)。Pdelay_Reqメッセージには、スレーブ側ノードにおける時刻調整値ΔTと、スレーブ側ノードで算出された時刻調整値ΔTの合算値とが格納されている。時刻スレーブSiは、受信した時刻調整値ΔTと自装置の時刻調整値ΔTとを加算する(ステップS08)。時刻スレーブSiは、合算値および自装置の時刻調整値ΔTを、次回の時刻同期処理においてマスタ側ノードに送信する時刻同期用パケット(Pdelay_Reqメッセージ)に格納する。したがって、更新された時刻調整値ΔTおよび合算値がマスタ側ノードに通知されることになる(ステップS01B)。
 図14に示す処理手順に従って、スレーブ側ノードから送信される時刻調整値ΔTの合算値に、自装置の時刻調整値ΔTを加算した合算値をマスタ側ノードに通知することにより、最終的に、時刻マスタMの時刻と時刻スレーブS1~S3の各々の時刻との差分(時刻調整値)ΔTM-1,ΔTM-2,ΔTM-3が時刻マスタMに通知される。
 図15は、本実施の形態に係る通信システム1を構成する時刻マスタMによる処理手順を示すフローチャートである。図15に示すフローチャートは、図9のフローチャートと比較して、ステップS11をステップS11Bに置き換えるとともに、ステップS19,S20を追加したものである。
 図15を参照して、時刻マスタMは、スレーブ側ノード(時刻スレーブS1)から時刻同期用パケット(Pdelay_Reqメッセージ)を受信する(ステップS11B)。Pdelay_Reqメッセージには、時刻マスタMの時刻と時刻スレーブS1~S3の各々の時刻との差分である時刻調整値ΔTM-3,ΔTM-2,ΔTM-1が格納されている。
 時刻マスタMは、時刻スレーブS1へ時刻同期用パケット(Pdelay_Respメッセージ)を送信する(ステップS12)。時刻マスタMは、さらに、時刻スレーブS1へ時刻同期用パケット(Pdelay_Resp followupメッセージ)を送信する(ステップS13)。
 時刻マスタMは、時刻スレーブS1より受信した時刻調整値ΔTM-3,ΔTM-2,ΔTM-1の絶対値の最大値(最大時刻調整値ΔTMmax)を求める(ステップS19)。続いて、時刻マスタMは、最大時刻調整値ΔTMmaxと、許容時刻精度とを比較する(ステップS20)。最大時刻調整値ΔTMmaxが許容時刻精度より小さい場合(S20のYES判定時)、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了したと判定し、時刻スレーブS1~S3との間で制御系データの伝送を実行する(ステップS15)。
 一方、最大時刻調整値ΔTMmaxが許容時刻精度以上である場合(S20のNO判定時)、時刻マスタMは、さらに、制御系データの伝送を実行中であるか否かを判定する(ステップS16)。制御系データの伝送を実行中であれば(S16のYES判定時)、時刻マスタMは、制御系データの伝送を停止する(ステップS17)。一方、制御系データの伝送を実行していなければ(S16のNO判定時)、時刻マスタMは、制御系データの伝送を開始しない。
 (f4.通信手段の構成例4)
 図16は、本実施の形態に係る通信手段の第4例を含む時刻同期処理を示すシーケンス図である。
 図16を参照して、通信システム1において時刻同期処理が開始されると、時刻スレーブS3は、時刻スレーブS2との間で時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて時刻調整値ΔT2-3を算出する。時刻スレーブS3は、算出した時刻調整値ΔT2-3を用いて、時刻スレーブS3のスレーブクロックの時刻補正を行なう。
 時刻スレーブS2は、時刻スレーブS1との間で時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて時刻調整値ΔT1-2を算出する。時刻スレーブS2は、算出した時刻調整値ΔT1-2を用いて、時刻スレーブS2のスレーブクロックの時刻補正を行なう。
 時刻スレーブS1は、時刻マスタMとの間で時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて時刻調整値ΔTM-1を算出する。時刻スレーブS1は、算出した時刻調整値ΔTM-1を用いて、時刻スレーブS1のスレーブクロックの時刻補正を行なう。
 時刻同期処理を実行した後、時刻マスタMは、時刻スレーブS1~S3の各々に対して、時刻調整値ΔTを問い合わせる。各時刻スレーブSは、問い合わせに応答して、自装置の時刻調整値ΔTを時刻マスタMに通知する。
 時刻マスタMは、時刻調整値ΔT2-3,ΔT1-2,ΔTM-1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。具体的には、時刻マスタMは、時刻調整値ΔT1-2およびΔTM-1を足し合わせることにより、時刻マスタMの時刻に対する時刻スレーブS2の時刻の差分(時刻調整値)ΔTM-2を算出する。時刻マスタMは、さらに、時刻調整値ΔT2-3,ΔT1-2およびΔTM-1を足し合わせることにより、時刻マスタMの時刻に対する時刻スレーブS3の時刻の差分(時刻調整値)ΔTM-3を算出する。
 次に、時刻マスタMは、時刻調整値ΔTM-1,ΔTM-2,ΔTM-3のうち絶対値が最も大きいものを選択する。時刻マスタMは、選択した時刻調整値の絶対値を最大時刻調整値ΔTMmaxに設定する。時刻マスタMは、最大時刻調整値ΔTMmaxと許容時刻精度とを比較し、最大時刻調整値ΔTMmaxが許容時刻精度より小さい場合、時刻スレーブS1~S3の時刻同期が完了したと判定する。時刻マスタMは、時刻同期が完了したと判定されると、時刻スレーブS1~S3の間で制御系データの伝送を開始する。一方、最大時刻調整値ΔTMmaxが許容時刻精度より大きい場合、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了していないと判定し、制御系データの伝送を開始しないこととする。なお、データ伝送の実行中において、最大時刻調整値ΔTMmaxが許容時刻精度を超えた場合、時刻マスタMは、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断し、制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを安定的に管理することができる。
 本構成例では、各時刻スレーブSの通信手段は、時刻同期処理が実行された後に、当該処理で得られた自装置の時刻調整値ΔTを時刻マスタMに通知するように構成される。時刻同期処理の実行中に各時刻スレーブSが時刻調整値ΔTを時刻マスタMに通知する構成とした場合、ネットワーク上において、時刻同期用パケットと、時刻調整値ΔTを示すデータとが衝突してしまう虞が懸念される。本構成例によれば、このような衝突が発生することを防止することができる。
 (f5.通信手段の構成例5)
 図17は、本実施の形態に係る通信手段の第5例を含む時刻同期処理を示すシーケンス図である。
 図17を参照して、通信システム1において時刻同期処理が開始されると、時刻スレーブS3は、時刻スレーブS2との間で時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて時刻調整値ΔT2-3を算出する。時刻スレーブS3は、算出した時刻調整値ΔT2-3を用いて、時刻スレーブS3のスレーブクロックの時刻補正を行なう。
 時刻スレーブS2は、時刻スレーブS1との間で時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて時刻調整値ΔT1-2を算出する。時刻スレーブS2は、算出した時刻調整値ΔT1-2を用いて、時刻スレーブS2のスレーブクロックの時刻補正を行なう。
 時刻スレーブS1は、時刻マスタMとの間で時刻同期用パケットを遣り取りし、その過程で得られた情報に基づいて時刻調整値ΔTM-1を算出する。時刻スレーブS1は、算出した時刻調整値ΔTM-1を用いて、時刻スレーブS1のスレーブクロックの時刻補正を行なう。
 時刻同期処理を実行した後、時刻スレーブS1~S3の各々は、自装置の時刻調整値ΔTを時刻マスタMに通知する。時刻マスタMは、時刻調整値ΔT2-3,ΔT1-2,ΔTM-1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。具体的には、時刻マスタMは、時刻マスタMの時刻に対する時刻スレーブS2の時刻の差分(時刻調整値)ΔTM-2および、時刻マスタMの時刻に対する時刻スレーブS3の時刻の差分(時刻調整値)ΔTM-3を算出する。
 次に、時刻マスタMは、時刻調整値ΔTM-1,ΔTM-2,ΔTM-3のうち絶対値が最も大きいものを選択する。時刻マスタMは、選択した時刻調整値の絶対値を最大時刻調整値ΔTMmaxに設定する。時刻マスタMは、最大時刻調整値ΔTMmaxと許容時刻精度とを比較し、最大時刻調整値ΔTMmaxが許容時刻精度より小さい場合、時刻スレーブS1~S3の時刻同期が完了したと判定する。時刻マスタMは、時刻同期が完了したと判定されると、時刻スレーブS1~S3の間で制御系データの伝送を開始する。一方、最大時刻調整値ΔTMmaxが許容時刻精度より大きい場合、時刻マスタMは、時刻スレーブS1~S3の時刻同期が完了していないと判定し、制御系データの伝送を開始しないこととする。なお、データ伝送の実行中において、最大時刻調整値ΔTMmaxが許容時刻精度を超えた場合、時刻マスタMは、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断し、制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを安定的に管理することができる。
 本構成例によれば、上述した構成例4と同様に、通信手段は、時刻同期処理が実行された後に、当該処理で得られた自装置の時刻調整値ΔTを時刻マスタMに通知するように構成される。したがって、時刻同期処理の実行中、ネットワーク上において、時刻同期用パケットと、時刻調整値ΔTを示すデータとが衝突することを防止することができる。
 なお、上述した通信手段の構成例1~5においては、時刻スレーブS1~S3の時刻同期処理が互いに等しいタイミングで実行される構成について説明したが、時刻同期処理を実行するタイミングが時刻スレーブ間で異なっていてもよい。この場合、時刻マスタMは、全ての時刻スレーブSの時刻同期情報が収集されたタイミングで、時刻同期の完了を判定することができる。
 <G.通信システムの変形例>
 図1に示す通信システム1においては、制御装置100(制御マスタ)を時刻マスタとして機能させる構成例について説明したが、制御装置100を他の通信装置に時刻同期させるようにしてもよい。このとき、他の通信装置が時刻マスタとして機能し、制御装置100(制御マスタ)が時刻スレーブとして機能することになる。例えば、図1に示す通信システム1において、デバイス200A~200Cのうちの1つのデバイス200を時刻マスタとして機能させる構成例について説明する。
 (g1.通信システム1の変形例1)
 図18は、本実施の形態に係る通信システム1の変形例1が提供する時刻同期機能を示す模式図である。
 図18に示す構成例では、時刻スレーブS2が制御装置100(制御マスタ)に対応し、時刻マスタMおよび時刻スレーブS1,S3がデバイス200A~200Cにそれぞれ対応する。時刻スレーブS1~S3の各々は、図7に示す時刻同期処理において算出された時刻調整値ΔT2-3,ΔT1-2,ΔTM-1を時刻マスタMへ通知する。図18では、各時刻スレーブSには、図6に示した通信手段の構成例1が適用される。したがって、時刻マスタMとして機能するデバイス200には、最大時刻調整値ΔTmax1が通知される。
 時刻マスタMであるデバイス200は、図9に示す処理手順を実行することにより、最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。デバイス200は、判定結果を時刻スレーブS2として機能する制御装置100(制御マスタ)に通知する。
 制御装置100は、時刻スレーブS1~S3の時刻同期が完了したと判定された場合、デバイス200A~200Cとの間で制御系データの伝送を開始する。一方、時刻スレーブS1~S3の時刻同期が完了していないと判定された場合、制御装置100は、制御系データの伝送を開始しないこととする。なお、データ伝送の実行中において、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断された場合には、制御装置100は、デバイス200A~200Cとの間の制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを安定的に管理することができる。
 図19は、本実施の形態に係る通信システム1の変形例1における時刻同期処理を示すシーケンス図である。
 図19を参照して、通信システム1において時刻同期処理が開始されると、時刻スレーブS3は、時刻スレーブS2に対して、Pdelay_Reqメッセージを送信する。時刻スレーブS3は、時刻スレーブS2に送信するPdelay_Reqメッセージに、前回の時刻同期処理で算出された時刻調整値ΔT2-3を格納する。
 時刻スレーブS2は、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている時刻調整値ΔT2-3を抽出する。時刻スレーブS2は、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS3に送信する。時刻スレーブS3は、時刻調整値ΔT2-3を算出し、算出した時刻調整値ΔT2-3を用いて自装置のスレーブクロックの時刻を補正する。
 時刻スレーブS2は、時刻スレーブS3より受信した時刻調整値ΔT2-3と、前回の時刻同期処理で算出された時刻調整値ΔT1-2とを式(10)に代入することにより、最大時刻調整値ΔTmax2を算出する。時刻スレーブS2は、時刻スレーブS1に送信するPdelay_Reqメッセージに、算出した最大時刻調整値ΔTmax2を格納する。
 時刻スレーブS1は、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている最大時刻調整値ΔTmax2を抽出する。時刻スレーブS1は、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS2に送信する。時刻スレーブS2は、時刻調整値ΔT1-2を算出し、算出した時刻調整値ΔT1-2を用いて自装置のスレーブクロックの時刻を補正する。
 時刻スレーブS1は、時刻スレーブS2より受信した最大時刻調整値ΔTmax2と、前回の時刻同期処理で算出された時刻調整値ΔTM-1とを式(11)に代入することにより、最大時刻調整値ΔTmax1を算出する。時刻スレーブS1は、時刻マスタMに送信するPdelay_Reqメッセージに、算出した最大時刻調整値ΔTmax1を格納する。
 時刻マスタMは、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている最大時刻調整値ΔTmax1を抽出する。時刻マスタMは、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS1に送信する。時刻スレーブS1は、時刻調整値ΔTM-1を算出し、算出した時刻調整値ΔTM-1を用いて自装置のスレーブクロックの時刻を補正する。
 時刻マスタMは、時刻スレーブS1より受信した最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。時刻マスタMは、最大時刻調整値ΔTmax1が閾値(=許容時刻精度/最大パス数)より小さい場合、時刻スレーブS1~S3の時刻同期が完了していると判定し、判定結果を制御装置100(制御マスタ)に通知する。制御装置100は、時刻スレーブS1~S3との間で制御系データの伝送を開始する。
 一方、時刻マスタMは、最大時刻調整値ΔTmax1が閾値より大きい場合、時刻スレーブS1~S3の時刻同期が完了していないと判定し、判定結果を制御装置100(制御マスタ)に通知する。制御装置100は、制御系データの伝送を開始しない。データ伝送の実行中である場合、制御装置100は、制御系データの伝送を停止する。
 (g2.通信システム1の変形例2)
 図20は、本実施の形態に係る通信システム1の変形例2が提供する時刻同期機能を示す模式図である。
 図20に示す構成例では、図18に示す構成例と同様に、時刻スレーブS2が制御装置100に対応し、時刻マスタMおよび時刻スレーブS1,S3がデバイス200A~200Cにそれぞれ対応する。時刻スレーブS1~S3の各々は、図7に示す時刻同期処理において算出された時刻調整値ΔT2-3,ΔT1-2,ΔTM-1を時刻マスタMへ通知する。図20では、各時刻スレーブSには、図6に示した通信手段の構成例1が適用される。時刻マスタMとして機能するデバイス200には、最大時刻調整値ΔTmax1が通知される。
 本変形例では、時刻マスタMは、通知された最大時刻調整値ΔTmax1を制御装置100(制御マスタ)に転送する。制御装置100は、図9に示す処理手順を実行することにより、最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。制御装置100は、時刻スレーブS1~S3の時刻同期が完了したと判定された場合、デバイス200A~200Cとの間で制御系データの伝送を開始する。一方、時刻スレーブS1~S3の時刻同期が完了していないと判定された場合、制御装置100は、制御系データの伝送を開始しないこととする。なお、データ伝送の実行中において、時刻マスタMと時刻スレーブS1~S3との間の時刻同期が破綻したものと判断された場合には、制御装置100は、デバイス200A~200Cとの間の制御系データの伝送を停止する。これによると、図1に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200A~200Cの制御系データの送受信のタイミングを管理することができる。
 図21は、本実施の形態に係る通信システム1の変形例2における時刻同期処理を示すシーケンス図である。
 図21を参照して、通信システム1において時刻同期処理が開始されると、時刻スレーブS3は、時刻スレーブS2に対して、Pdelay_Reqメッセージを送信する。時刻スレーブS3は、時刻スレーブS2に送信するPdelay_Reqメッセージに、前回の時刻同期処理で算出された時刻調整値ΔT2-3を格納する。
 時刻スレーブS2は、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている時刻調整値ΔT2-3を抽出する。時刻スレーブS2は、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS3に送信する。時刻スレーブS3は、時刻調整値ΔT2-3を算出し、算出した時刻調整値ΔT2-3を用いて自装置のスレーブクロックの時刻を補正する。
 時刻スレーブS2は、時刻スレーブS3より受信した時刻調整値ΔT2-3と、前回の時刻同期処理で算出された時刻調整値ΔT1-2とを式(10)に代入することにより、最大時刻調整値ΔTmax2を算出する。時刻スレーブS2は、時刻スレーブS1に送信するPdelay_Reqメッセージに、算出した最大時刻調整値ΔTmax2を格納する。
 時刻スレーブS1は、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている最大時刻調整値ΔTmax2を抽出する。時刻スレーブS1は、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS2に送信する。時刻スレーブS2は、時刻調整値ΔT1-2を算出し、算出した時刻調整値ΔT1-2を用いて自装置のスレーブクロックの時刻を補正する。
 時刻スレーブS1は、時刻スレーブS2より受信した最大時刻調整値ΔTmax2と、前回の時刻同期処理で算出された時刻調整値ΔTM-1とを式(11)に代入することにより、最大時刻調整値ΔTmax1を算出する。時刻スレーブS1は、時刻マスタMに送信するPdelay_Reqメッセージに、算出した最大時刻調整値ΔTmax1を格納する。
 時刻マスタMは、Pdelay_Reqメッセージを受信すると、Pdelay_Reqメッセージに格納されている最大時刻調整値ΔTmax1を抽出する。時刻マスタMは、Pdelay_RespメッセージおよびPdelay_Resp_followupメッセージを時刻スレーブS1に送信する。時刻スレーブS1は、時刻調整値ΔTM-1を算出し、算出した時刻調整値ΔTM-1を用いて自装置のスレーブクロックの時刻を補正する。
 時刻マスタMは、時刻スレーブS1より受信した最大時刻調整値ΔTmax1を制御装置100(制御マスタ)へ転送する。制御装置100は、最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S3の時刻同期が完了したか否かを判定する。制御装置100は、最大時刻調整値ΔTmax1が閾値より小さい場合、時刻スレーブS1~S3の時刻同期が完了していると判定し、時刻スレーブS1~S3との間で制御系データの伝送を開始する。
 一方、制御装置100は、最大時刻調整値ΔTmax1が閾値より大きい場合、時刻スレーブS1~S3の時刻同期が完了していないと判定し、制御系データの伝送を開始しない。データ伝送の実行中である場合、制御装置100は、制御系データの伝送を停止する。
 (g3.通信システムの変形例3)
 図1に示す通信システム1においては、ネットワーク2に、時刻マスタM(制御装置100)および時刻スレーブS1~S3(デバイス200A~200C)がデイジーチェーンで順次接続されている構成例について説明したが、ネットワーク2の時刻マスタMと時刻スレーブS1~S3との接続形態は、これに限定されない。例えば、ネットワーク2の時刻マスタMと時刻スレーブS1~S3との接続形態がスター型とした構成例について説明する。
 図22は、本実施の形態に係る通信システム1の変形例3の構成を模式的に示す図である。図22に示す構成例において、ネットワーク2には、時刻マスタMおよび複数の時刻スレーブS1~S5が接続される。時刻マスタMおよび時刻スレーブS3~S5の各々は、ポートP1,P2を有する。時刻スレーブS1,S2の各々は、ポートP1~P4を有する。時刻スレーブS1のポートP1は時刻マスタMのポートP2に接続され、時刻スレーブS1のポートP2は時刻スレーブS3のポートP2に接続され、時刻スレーブS1のポートP3は時刻スレーブS2のポートP1に接続される。時刻スレーブS2のポートP2は時刻スレーブS4のポートP2に接続され、時刻スレーブS2のポートP3は時刻スレーブS5のポートP1に接続される。
 図22に示す構成例においても、P2Pトランスペアレントクロックを用いた時刻同期処理を実行することにより、時刻マスタMの有するマスタクロックに各時刻スレーブS1~S5の有するスレーブクロックを時刻同期させる。
 具体的には、時刻スレーブS1は、ポートP1(スレーブポート)に接続される時刻マスタMとの間で図5に示す時刻同期処理を実行することにより、時刻マスタMが持つクロック(マスタクロック)の時刻と自装置の持つクロック(スレーブクロック)の時刻との差分ΔTM-1を算出する。時刻スレーブS1は、差分ΔTM-1を時刻調整値として、自装置のタイマを時刻補正する。
 時刻スレーブS2は、ポートP1(スレーブポート)に接続される時刻スレーブS1との間で図5に示す時刻同期処理を実行することにより、時刻スレーブS1が持つクロックの時刻と自装置のクロックの時刻との差分ΔT1-2を算出する。時刻スレーブS2は、差分ΔT2-1を時刻調整値として、自装置のクロックを時刻補正する。
 時刻スレーブS3は、ポートP2(スレーブポート)に接続される時刻スレーブS1との間で図5に示す時刻同期処理を実行することにより、時刻スレーブS1が持つクロックの時刻と自装置が持つクロックの時刻との差分ΔT1-3を算出する。時刻スレーブS3は、差分ΔT1-3を時刻調整値として、自装置のクロックを時刻補正する。
 時刻スレーブS4は、ポートP2(スレーブポート)に接続される時刻スレーブS2との間で図5に示す時刻同期処理を実行することにより、時刻スレーブS2が持つクロックの時刻と自装置が持つクロックの時刻との差分ΔT2-4を算出する。時刻スレーブS4は、差分ΔT2-4を時刻調整値として、自装置のクロックを時刻補正する。
 時刻スレーブS5は、ポートP1(スレーブポート)に接続される時刻スレーブS2との間で図5に示す時刻同期処理を実行することにより、時刻スレーブS2が持つクロックの時刻と自装置が持つクロックの時刻との差分ΔT2-5を算出する。時刻スレーブS5は、差分ΔT2-5を時刻調整値として、自装置のクロックを時刻補正する。
 このように、時刻スレーブS1~S5の各々が、マスタ側に隣接して接続される通信装置のクロックの時刻と自装置のクロックの時刻との差分ΔTを時刻調整値として、自装置のクロックを時刻補正することにより、最終的に、時刻マスタMと全ての時刻スレーブS1~S5との間で時刻同期が実現される。通信システム1全体の時刻同期が完了することにより、複数の通信装置の間で制御系データの伝送を開始することが可能となる。
 時刻スレーブS1~S5の各々は、自装置のスレーブクロックの時刻同期情報を時刻マスタMへ通知するための「通信手段」を有する。これによると、時刻マスタMは、時刻スレーブS1~S5の各々から通知される時刻同期情報に基づいて、時刻スレーブS1~S3との間の時刻同期が完了したか否かを判定することができる。
 図23は、図22に示す通信システム1における各スレーブの通信手段の構成例を模式的に示す図である。各スレーブの通信手段は、時刻同期情報として、自装置のスレーブクロックの時刻補正に用いた時刻調整値ΔTを通知するように構成される。
 図23を参照して、時刻スレーブS4は、時刻スレーブS2との間で時刻同期処理を実行することにより、時刻スレーブS2の時刻に対する時刻スレーブS4の時刻の差分ΔT2-4を算出する。時刻スレーブS4は、算出した時刻調整値ΔT2-4を時刻スレーブS2へ通知する。
 時刻スレーブS5は、時刻スレーブS2との間で時刻同期処理を実行することにより、時刻スレーブS2の時刻に対する時刻スレーブS5の時刻の差分ΔT2-5を算出する。時刻スレーブS5は、算出した時刻調整値ΔT2-5を時刻スレーブS2へ通知する。
 時刻スレーブS2は、時刻スレーブS1との間で時刻同期処理を実行することにより、時刻スレーブS1の時刻に対する時刻スレーブS2の時刻の差分ΔT1-2を算出する。時刻スレーブS2は、時刻スレーブS4より受信した時刻調整値ΔT2-4と、時刻スレーブS5より受信した時刻調整値ΔT2-5と、算出した時刻調整値ΔT1-2とを比較する。具体的には、時刻スレーブS2は、時刻調整値ΔT2-4の絶対値|ΔT2-4|と、時刻調整値ΔT2-5の絶対値|ΔT2-5|と、時刻調整値ΔT1-2の絶対値と|ΔT1-2|とを比較し、最も大きい絶対値(最大時刻調整値ΔTmax2)を選択する。最大時刻調整値ΔTmax2は次式(16)で与えられる。時刻スレーブS2は、最大時刻調整値ΔTmax2を時刻スレーブS1へ通知する。
 ΔTmax2=Max{|ΔT2-4|,|ΔT2-5|,|ΔT1-2|}  …(16)
 時刻スレーブS3は、時刻スレーブS1との間で時刻同期処理を実行することにより、時刻スレーブS1の時刻に対する時刻スレーブS3の時刻の差分ΔT1-3を算出する。時刻スレーブS3は、算出した時刻調整値ΔT1-3を時刻スレーブS1へ通知する。
 時刻スレーブS1は、時刻マスタMとの間で時刻同期処理を実行することにより、時刻マスタMの時刻に対する時刻スレーブS1の時刻の差分ΔTM-1を算出する。時刻スレーブS1は、時刻スレーブS2より受信した最大時刻調整値ΔTmax2と、時刻調整値ΔT1-3の絶対値|ΔT1-3|と、時刻調整値ΔTM-1の絶対値|ΔTM-1|とを比較し、最も大きい絶対値(最大時刻調整値ΔTmax1)を選択する。最大時刻調整値ΔTmax1は次式(17)で与えられる。時刻スレーブS1は、最大時刻調整値ΔTmax1を時刻マスタMへ通知する。
 ΔTmax1=Max{|ΔTM-1|,|ΔT1-3|,ΔTmax2}  …(17)
 ここで、式(16),(17)よると、最大時刻調整値ΔTmax1は次式(18)のように表わすことができる。
 ΔTmax1=Max{|ΔT2-4|,|ΔT2-5|,|ΔT1-2|,|ΔT1-3|,|ΔTM-1|}  …(18)
 式(18)から分かるように、時刻マスタMには、時刻スレーブS1~S5の時刻調整値ΔT2-4,ΔT2-5,ΔT1-2,ΔT1-3,ΔTM-1のうち絶対値が最も大きいものが、最大時刻調整値ΔTmax1として時刻マスタMに通知されることになる。
 時刻マスタMは、最大時刻調整値ΔTmax1に基づいて、時刻スレーブS1~S5の時刻同期が完了したか否かを判定する。時刻マスタMは、時刻同期が完了したか否かを判定するための閾値を、通信システム1において予め定められた許容時刻精度を最大パス数で除算した値に設定する。図22の例では最大パス数は3となる。したがって、閾値は許容時刻精度/3に設定される。
 時刻マスタMは、最大時刻調整値ΔTmax1と上記閾値とを比較し、最大時刻調整値ΔTmax1が閾値より小さい場合、時刻スレーブS1~S5の時刻同期が完了したと判定する。時刻マスタMは、時刻同期が完了したと判定されると、時刻スレーブS1~S5の間で制御系データの伝送を開始する。一方、最大時刻調整値ΔTmax1が閾値より大きい場合、時刻マスタMは、時刻スレーブS1~S5の時刻同期が完了していないと判定し、制御系データの伝送を開始しないこととする。
 時刻マスタMは、また、データ伝送の実行中に、時刻マスタMに通知される最大時刻調整値ΔTmax1が閾値を超えた場合には、時刻マスタMと時刻スレーブS1~S5との間の時刻同期が破綻したものと判断し、制御系データの伝送を停止する。これによると、図22に示す通信システム1におけるデータ伝送において、制御装置100は、複数のデバイス200の制御系データの送受信のタイミングを安定的に管理することができる。
 図24は、図22に示される接続形態が適用された通信システム1の第1の構成例を模式的に示す図である。
 図24に示す第1の構成例においては、通信システム1は、複数の制御装置100A,100Bと、複数のデバイス200A~200Dとを備える。制御装置100Aに接続されるネットワーク2(フィールドネットワーク)には、デバイス200A,200Bがスター接続されており、制御装置100Bに接続されるネットワーク2には、デバイス200C,200Dがスター接続されている。制御装置100A,100Bの各々は、ネットワーク2内のデータ伝送を管理する制御マスタとして機能する。デバイス200A~200Dの各々は、対応する制御装置100からの指令に従ってデータ伝送を行なう制御スレーブとして機能する。
 制御装置100Aと制御装置100Bとは、ネットワーク3を介して接続される。ネットワーク3は、コントロールレベルのネットワークであり、制御装置100Aおよび100B間でデータを伝送できるリンクを構築する。ネットワーク2は、制御系に係る情報の伝送を主たる機能として提供する。
 図24に示す第1の構成例においては、各ネットワーク2に接続される制御装置100と複数のデバイス200との間を時刻同期させるとともに、複数の制御装置100A~100Dの間で時刻同期をとることにより、互いに異なる制御装置100に接続される複数のデバイス200A~200Dを互いに時刻同期させる。これにより、互いに異なる制御装置100に接続される複数のデバイス200を連係して動作させることが可能となる。
 図24に示す例においては、制御装置100A,100Bがそれぞれ有するタイマ101A,101Bのいずれかを、通信システム1全体のマスタクロック(時刻マスタM)として機能させる。一例として、図24では、制御装置100Aのタイマ101Aがマスタクロックに設定される。そして、残りの制御装置100Bおよび複数のデバイス200A~200Dのタイマ(時刻スレーブS1~S5に相当)を、この時刻マスタMのマスタクロックに時刻同期させる。
 図24に示す構成例においても、P2Pトランスペアレントクロックを用いた時刻同期処理を実行することにより、時刻マスタMの有するマスタクロックに各時刻スレーブSの有するスレーブクロックを時刻同期させる。これにより、制御装置100A,100Bおよびデバイス200A~200Dを互いに時刻同期させることができる。
 各時刻スレーブSは、マスタ側に隣接して接続される他の通信装置との間で時刻同期処理を実行するとともに、自装置の時刻精度情報(自装置の時刻調整値)を、時刻マスタMである制御装置100Aに通知する。制御装置100Aは、各時刻スレーブSから通知される時刻同期情報に基づいて、全ての時刻スレーブS(制御装置100Bおよびデバイス200A~200D)の時刻同期が完了したか否かを判定する。制御装置100Aは、時刻同期が完了したと判定されると、複数の時刻スレーブSの間で制御系データの伝送を開始する。
 これによると、ネットワーク3に接続される制御装置100A,100Bの各々は、他の制御装置と互いに時刻同期されたタイマの時刻を基準として、ネットワーク2を介して複数のデバイス200との間のデータ伝送を管理することができる。したがって、制御装置100A,100Bの間で、入力データを収集するタイミングまたは出力データを送信するタイミングを互いに同期させることができる。また、制御装置100A,100Bの間でデータを遣り取りするタイミングを互いに同期させることができる。この結果、複数のデバイス200A~200Dの間で制御タイミングを同期させることができるため、複数のデバイス200A~200Dの協調制御を実現することができる。
 図25は、図22に示される接続形態が適用された通信システム1の第2の構成例を模式的に示す図である。
 図25に示す第2の構成例においては、通信システム1は、複数の制御装置100A~100Dと、複数のデバイス200A~200Jと、複数のスイッチ600A,600Bとを備える。
 制御装置100Aに接続されるネットワーク2(フィールドネットワーク)には、デバイス200A,200Bがデイジーチェーンで順次接続されており、制御装置100Bに接続されるネットワーク2には、デバイス200C~200Eがデイジーチェーンで順次接続されている。制御装置100Cに接続されるネットワーク2には、デバイス200F~200Hがデイジーチェーンで順次接続されており、制御装置100Dに接続されるネットワーク2にはデバイス200I,200Jがデイジーチェーンで順次接続されている。
 制御装置100A~100Dの各々は、ネットワーク2内のデータ伝送を管理する制御マスタとして機能する。デバイス200A~200Jの各々は、対応する制御装置100からの指令に従ってデータ伝送を行なう制御スレーブとして機能する。
 制御装置100A,100Bは、ネットワーク3を介してスイッチ600Aに接続される。制御装置100C,100Dは、ネットワーク3を介してスイッチ600Bに接続される。スイッチ600Aとスイッチ600Bとは互いに接続されている。スイッチ600Aはタイマ601Aを有しており、スイッチ600Bはタイマ601Bを有している。
 ネットワーク3は、コントロールレベルのネットワークであり、制御装置100A~100D間でデータを伝送できるリンクを構築する。ネットワーク2は、制御系に係る情報の伝送を主たる機能として提供する。
 図25に示す第2の構成例においては、各ネットワーク2に接続される制御装置100と複数のデバイス200との間を時刻同期させるとともに、複数の制御装置100A~100Dおよび複数のスイッチ600A,600Bの間で時刻同期をとることにより、互いに異なる制御装置100に接続される複数のデバイス200A~200Jを互いに時刻同期させる。これにより、互いに異なる制御装置100に接続される複数のデバイス200を連係して動作させることが可能となる。
 図25に示す例においては、制御装置100A~100Dおよびスイッチ600A,600Bがそれぞれ有するタイマ101A~101D,601Aおよび601Bのいずれかを、通信システム1全体のマスタクロック(時刻マスタM)として機能させる。一例として、図25では、制御装置100Aのタイマ101Aがマスタクロックに設定される。そして、残りの制御装置100B~100Dおよびスイッチ600A,600Bのタイマ(時刻スレーブS1~S5に相当)を、この時刻マスタのマスタクロックに時刻同期させる。
 図25に示す構成例においても、P2Pトランスペアレントクロックを用いた時刻同期処理を実行することにより、時刻マスタMの有するマスタクロックに各時刻スレーブS(制御装置100B~100Dおよびスイッチ600A,600B)の有するスレーブクロックを時刻同期させる。これにより、制御装置100A~100Dおよびスイッチ600A,600Bを互いに時刻同期させることができる。
 上記時刻同期処理が完了すると、制御装置100A~100Dの各々は、ネットワーク2を介して接続されるデバイス200との間で時刻同期処理を実行する。この時刻同期処理は、ネットワーク2に応じて、上述した時刻同期処理とは異なる時刻同期プロトコルが用いられる。例えば、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)が採用され得る。
 第2の構成例においても、各時刻スレーブSは、マスタ側に隣接して接続される他の通信装置との間で時刻同期処理を実行するとともに、自装置の時刻精度情報(自装置の時刻調整値)を、時刻マスタMである制御装置100Aに通知する。制御装置100Aは、各時刻スレーブS(制御装置100B~100Dおよびスイッチ600A,600B)から通知される時刻同期情報に基づいて、全ての時刻スレーブSの時刻同期が完了したか否かを判定する。制御装置100Aは、時刻同期が完了したと判定されると、複数の時刻スレーブSの間で制御系データの伝送を開始する。
 これによると、ネットワーク3に接続される制御装置100A~100Dの各々は、他の制御装置と互いに時刻同期されたタイマの時刻を基準として、ネットワーク2を介して複数のデバイス200との間のデータ伝送を管理することができる。したがって、制御装置100A~100Dの間で、入力データを収集するタイミングまたは出力データを送信するタイミングを互いに同期させることができる。また、制御装置100A~100Dの間でデータを遣り取りするタイミングを互いに同期させることができる。この結果、複数のデバイス200A~200Jの間で制御タイミングを同期させることができるため、複数のデバイス200A~200Jの協調制御を実現することができる。
 <H.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
 ネットワーク(2)に複数の通信装置(M,S1~S3)が接続された通信システム(1)であって、
 前記複数の通信装置は、
 前記通信システムの時刻を管理するマスタクロックを有する時刻マスタ(M)と、
 各々が、前記マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブ(S1~S3)とを含み、
 前記複数の時刻スレーブの各々は、
 前記ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、
 前記同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を前記時刻マスタへ通知するための通信手段とを含む、通信システム。
[構成2]
 前記同期手段は、前記他の通信装置の時刻と自装置の時刻との差分を時刻調整値(ΔT)として、自装置の時刻を補正し、
 前記通信手段は、前記時刻同期情報として、前記時刻調整値を前記時刻マスタへ通知する、構成1に記載の通信システム。
[構成3]
 前記通信手段は、前記ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から前記時刻調整値を受信し、受信した前記時刻調整値および自装置の前記時刻調整値のうち、その絶対値が大きい方の前記時刻調整値を前記他の通信装置へ転送する、構成2に記載の通信システム。
[構成4]
 前記通信手段は、前記ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から前記時刻調整値を受信し、受信した前記時刻調整値および自装置の前記時刻調整値を前記他の通信装置へ転送する、構成2に記載の通信システム。
[構成5]
 前記通信手段は、前記ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から前記時刻調整値を受信し、受信した前記時刻調整値と自装置の前記時刻調整値との合計値を前記他の通信装置へ転送する、構成2に記載の通信システム。
[構成6]
 前記同期手段は、前記他の通信装置との間で時刻同期用パケットを遣り取りすることにより、自装置の時刻を補正する時刻同期処理を定期的に実行し、
 前記通信手段は、前記他の通信装置へ送信する時刻同期用パケット内に、前記他の通信装置へ転送する前記時刻調整値を格納する、構成3から5のいずれか1に記載の通信システム。
[構成7]
 前記時刻マスタは、前記ネットワーク内のデータ伝送を管理する制御装置であり、
 前記複数の時刻スレーブの各々は、前記時刻マスタからの指令に従ってデータ伝送を実行するデバイスであり、
 前記制御装置は、複数のデバイスから通知される前記時刻同期情報に基づいて、前記複数のデバイスとの間で時刻同期が完了したか否かを判定し、時刻同期が完了したと判定されたときに、前記ネットワーク内のデータ伝送を開始する、構成1から6のいずれか1に記載の通信システム。
[構成8]
 前記複数の時刻スレーブのうちの1つの時刻スレーブは、前記ネットワーク内のデータ伝送を管理する制御装置であり、
 前記1つの時刻スレーブを除いた残りの時刻スレーブおよび前記時刻マスタの各々は、前記制御装置からの指令に従ってデータ伝送を実行するデバイスであり、
 前記時刻マスタは、前記複数の時刻スレーブから通知される前記時刻同期情報に基づいて、前記複数の時刻スレーブとの間で時刻同期が完了したか否かを判定し、判定結果を前記制御装置に通知し、
 前記制御装置は、前記判定結果から時刻同期が完了したと判定されたときに、前記ネットワーク内のデータ伝送を開始する、構成1から6のいずれか1に記載の通信システム。
[構成9]
 前記複数の時刻スレーブのうちの1つの時刻スレーブは、前記ネットワーク内のデータ伝送を管理する制御装置であり、
 前記1つの時刻スレーブを除いた残りの時刻スレーブおよび前記時刻マスタの各々は、前記制御装置からの指令に従ってデータ伝送を実行するデバイスであり、
 前記時刻マスタは、前記複数の時刻スレーブから通知される前記時刻同期情報を前記制御装置へ転送し、
 前記制御装置は、前記同期情報に基づいて、複数のデバイスとの間で時刻同期が完了したか否かを判定し、時刻同期が完了したと判定されたときに、前記ネットワーク内のデータ伝送を開始する、構成1から6のいずれか1に記載の通信システム。
[構成10]
 前記同期手段は、前記他の通信装置との間で時刻同期用パケットを遣り取りすることにより、自装置の時刻を補正する時刻同期処理を定期的に実行し、
 前記通信手段は、前記時刻同期処理の実行後において、前記時刻同期情報を前記マスタ装置へ通知する、構成1または2に記載の通信システム。
[構成11]
 通信システムにネットワーク接続される通信装置であって、前記通信装置は、前記通信システムの時刻を管理するマスタクロックに時刻同期したスレーブクロックを有し、
 前記ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、
 前記同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を、前記マスタクロックを有する時刻マスタへ通知するための通信手段とを含む、通信装置。
[構成12]
 ネットワークに複数の通信装置が接続された通信システムにおける通信方法であって、
 前記複数の通信装置は、
 前記通信システムの時刻を管理するマスタクロックを有する時刻マスタと、
 各々が、前記マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブとを含み、
 前記複数の時刻スレーブの各々が、前記ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するステップと、
 前記複数のスレーブ装置の各々が、自装置の時刻同期精度を示す時刻同期情報を前記時刻マスタへ通知するステップとを備える、通信方法。
 <I.利点>
 本実施の形態に従う通信システム1では、複数の時刻スレーブの各々は、自装置のスレーブクロックの時刻同期精度を示す時刻同期情報を時刻マスタへ通知するための「通信手段」を有する。これによると、時刻マスタは、各時刻スレーブから通知される時刻同期情報に基づいて、自装置と複数の時刻スレーブとの間の時刻同期が完了しているか否かを判断することができる。この結果、通信システム1全体において時刻同期が完了したタイミングで、データ伝送を開始することができる。したがって、電源投入後、設定時間が経過したタイミングでデータ伝送を開始する構成に比べて、より迅速にデータ伝送を開始することが可能となる。
 また、データ伝送の実行中、時刻マスタは、各時刻スレーブから通知される時刻同期情報に基づいて、複数の時刻スレーブの各々の時刻同期精度を監視することができるため、いずれかの時刻スレーブとの間に時刻ずれが発生したときには直ちにデータの伝送を停止することができる。したがって、時刻ずれに依存して、時刻スレーブが入力データを取得する、および、出力データを出力するタイミングがばらつく可能性を回避することができる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 通信システム、2 ネットワーク、100,100A~100D 制御装置、101,101A~101D,201A~201J,601A,601B タイマ、200A~200J デバイス、M 時刻マスタ、S1~S5 時刻スレーブ、102,202 プロセッサ、104,204 メモリ、106,206 ストレージ、107 システムプログラム、108 ユーザアプリケーションプログラム、110 ネットワークコントローラ、111,211 受信回路、112 受信バッファ、113,212 送受信コントローラ、115,213 送信回路、210 通信回路、500 サポート装置、600A,600B スイッチ。

Claims (12)

  1.  ネットワークに複数の通信装置が接続された通信システムであって、
     前記複数の通信装置は、
     前記通信システムの時刻を管理するマスタクロックを有する時刻マスタと、
     各々が、前記マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブとを含み、
     前記複数の時刻スレーブの各々は、
     前記ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、
     前記同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を前記時刻マスタへ通知するための通信手段とを含む、通信システム。
  2.  前記同期手段は、前記他の通信装置の時刻と自装置の時刻との差分を時刻調整値として、自装置の時刻を補正し、
     前記通信手段は、前記時刻同期情報として、前記時刻調整値を前記時刻マスタへ通知する、請求項1に記載の通信システム。
  3.  前記通信手段は、前記ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から前記時刻調整値を受信し、受信した前記時刻調整値および自装置の前記時刻調整値のうち、その絶対値が大きい方の前記時刻調整値を前記他の通信装置へ転送する、請求項2に記載の通信システム。
  4.  前記通信手段は、前記ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から前記時刻調整値を受信し、受信した前記時刻調整値および自装置の前記時刻調整値を前記他の通信装置へ転送する、請求項2に記載の通信システム。
  5.  前記通信手段は、前記ネットワーク上においてスレーブ側に隣接して接続される別の他の通信装置から前記時刻調整値を受信し、受信した前記時刻調整値と自装置の前記時刻調整値との合計値を前記他の通信装置へ転送する、請求項2に記載の通信システム。
  6.  前記同期手段は、前記他の通信装置との間で時刻同期用パケットを遣り取りすることにより、自装置の時刻を補正する時刻同期処理を定期的に実行し、
     前記通信手段は、前記他の通信装置へ送信する時刻同期用パケット内に、前記他の通信装置へ転送する前記時刻調整値を格納する、請求項3から5のいずれか1項に記載の通信システム。
  7.  前記時刻マスタは、前記ネットワーク内のデータ伝送を管理する制御装置であり、
     前記複数の時刻スレーブの各々は、前記制御装置からの指令に従ってデータ伝送を実行するデバイスであり、
     前記制御装置は、複数の前記デバイスから通知される前記時刻同期情報に基づいて、前記複数のデバイスとの間で時刻同期が完了したか否かを判定し、時刻同期が完了したと判定されたときに、前記ネットワーク内のデータ伝送を開始する、請求項1から6のいずれか1項に記載の通信システム。
  8.  前記複数の時刻スレーブのうちの1つの時刻スレーブは、前記ネットワーク内のデータ伝送を管理する制御装置であり、
     前記1つの時刻スレーブを除いた残りの時刻スレーブ、および前記時刻マスタの各々は、前記制御装置からの指令に従ってデータ伝送を実行するデバイスであり、
     前記時刻マスタは、前記複数の時刻スレーブから通知される前記時刻同期情報に基づいて、前記複数の時刻スレーブとの間で時刻同期が完了したか否かを判定し、判定結果を前記制御装置に通知し、
     前記制御装置は、前記判定結果から時刻同期が完了したと判定されたときに、前記ネットワーク内のデータ伝送を開始する、請求項1から6のいずれか1項に記載の通信システム。
  9.  前記複数の時刻スレーブのうちの1つの時刻スレーブは、前記ネットワーク内のデータ伝送を管理する制御装置であり、
     前記1つの時刻スレーブを除いた残りの時刻スレーブ、および前記時刻マスタの各々は、前記制御装置からの指令に従ってデータ伝送を実行するデバイスであり、
     前記時刻マスタは、前記複数の時刻スレーブから通知される前記時刻同期情報を前記制御装置へ転送し、
     前記制御装置は、前記時刻同期情報に基づいて、複数の前記デバイスとの間で時刻同期が完了したか否かを判定し、時刻同期が完了したと判定されたときに、前記ネットワーク内のデータ伝送を開始する、請求項1から6のいずれか1項に記載の通信システム。
  10.  前記同期手段は、前記他の通信装置との間で時刻同期用パケットを遣り取りすることにより、自装置の時刻を補正する時刻同期処理を定期的に実行し、
     前記通信手段は、前記時刻同期処理の実行後において、前記時刻同期情報を前記時刻マスタへ通知する、請求項1または2項に記載の通信システム。
  11.  通信システムにネットワーク接続される通信装置であって、前記通信装置は、前記通信システムの時刻を管理するマスタクロックに時刻同期したスレーブクロックを有し、
     前記ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するための同期手段と、
     前記同期手段で求められた自装置の時刻同期精度を示す時刻同期情報を、前記マスタクロックを有する時刻マスタへ通知するための通信手段とを含む、通信装置。
  12.  ネットワークに複数の通信装置が接続された通信システムにおける通信方法であって、
     前記複数の通信装置は、
     前記通信システムの時刻を管理するマスタクロックを有する時刻マスタと、
     各々が、前記マスタクロックに時刻同期したスレーブクロックを有する複数の時刻スレーブとを含み、
     前記複数の時刻スレーブの各々が、前記ネットワーク上においてマスタ側に隣接して接続される他の通信装置との間で時刻同期するステップと、
     前記複数の時刻スレーブの各々が、自装置の時刻同期精度を示す時刻同期情報を前記時刻マスタへ通知するステップとを備える、通信方法。
PCT/JP2019/002983 2018-02-22 2019-01-29 通信システム、通信装置および通信方法 WO2019163443A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/643,586 US11095382B2 (en) 2018-02-22 2019-01-29 Communication system, communication device and communication method
EP19757701.8A EP3758271A4 (en) 2018-02-22 2019-01-29 COMMUNICATION SYSTEM, COMMUNICATION DEVICE AND COMMUNICATION METHOD
CN201980004261.1A CN111052669B (zh) 2018-02-22 2019-01-29 通信***、通信装置和通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-029471 2018-02-22
JP2018029471A JP6984482B2 (ja) 2018-02-22 2018-02-22 通信システム、通信装置および通信方法

Publications (1)

Publication Number Publication Date
WO2019163443A1 true WO2019163443A1 (ja) 2019-08-29

Family

ID=67687930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/002983 WO2019163443A1 (ja) 2018-02-22 2019-01-29 通信システム、通信装置および通信方法

Country Status (5)

Country Link
US (1) US11095382B2 (ja)
EP (1) EP3758271A4 (ja)
JP (1) JP6984482B2 (ja)
CN (1) CN111052669B (ja)
WO (1) WO2019163443A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860261B2 (en) * 2020-06-03 2024-01-02 Sonitor Technologies As Master-less device coordination in location positioning system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6973427B2 (ja) * 2019-02-15 2021-11-24 株式会社安川電機 通信システム、通信方法、及びプログラム
US11283535B2 (en) * 2019-03-20 2022-03-22 Arris Enterprises Llc Method of remotely monitoring the timing performance of a PTP slave
US11184097B2 (en) * 2019-08-16 2021-11-23 Arista Networks, Inc. VLAN-aware clock hierarchy
JP7404789B2 (ja) 2019-11-01 2023-12-26 オムロン株式会社 制御システム、制御システムの通信制御方法、および制御装置
JP7375532B2 (ja) * 2019-12-25 2023-11-08 オムロン株式会社 制御システム
JP7518622B2 (ja) 2020-01-15 2024-07-18 キヤノン株式会社 制御装置、通信システム、送信方法、およびプログラム
JP7359001B2 (ja) * 2020-01-21 2023-10-11 富士通株式会社 通信時間算出方法および通信時間算出プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160080100A1 (en) * 2013-05-23 2016-03-17 Huawei Technologies Co., Ltd. Method for precision time protocol synchronization network and apparatus
JP2016116143A (ja) 2014-12-17 2016-06-23 三菱電機株式会社 時刻同期監視方法、通信システム、及びマスタ装置
JP2017050730A (ja) * 2015-09-02 2017-03-09 富士通株式会社 無線装置および基地局システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5184597B2 (ja) * 2010-09-06 2013-04-17 株式会社日立産機システム 通信制御装置及び通信・制御システム
CN103416019B (zh) * 2011-03-03 2017-03-29 日本电气株式会社 同步***、同步方法、第一同步装置及第二同步装置
US9106353B2 (en) * 2011-12-13 2015-08-11 Jds Uniphase Corporation Time synchronization for network testing equipment
US9154292B2 (en) * 2012-11-28 2015-10-06 Mitsubishi Electric Corporation Communication apparatus, communication system, and time synchronization method
US9883474B2 (en) * 2013-07-19 2018-01-30 Mitsubishi Electric Corporation Ring-shaped synchronous network system and time slave station
US9288112B2 (en) * 2013-11-21 2016-03-15 Rockwell Automation Technologies, Inc. Automatic network discovery in precision time protocol networks
CN105577349A (zh) * 2014-10-31 2016-05-11 中国飞行试验研究院 一种机载网络ieee1588协议主从时钟端口同步方法
JPWO2016072038A1 (ja) * 2014-11-05 2017-08-10 日本電気株式会社 通信システム、時刻同期方法及び無線中継装置
CN104601269B (zh) * 2014-12-31 2016-12-28 国家电网公司 主从时钟同步方法及***
JP6820586B2 (ja) * 2016-08-31 2021-01-27 株式会社メディアリンクス 時刻同期システム
US10341083B2 (en) * 2016-09-09 2019-07-02 Huawei Technologies Co., Ltd. System and methods for network synchronization
EP3622638B1 (en) * 2017-05-12 2023-05-10 Telefonaktiebolaget LM Ericsson (PUBL) Methods and devices for synchronization in communication networks
US10484163B2 (en) * 2017-10-13 2019-11-19 Cisco Technology, Inc. Measure and improve clock synchronization using combination of transparent and boundary clocks
US10313103B1 (en) * 2018-01-24 2019-06-04 Ciena Corporation Systems and methods for precise time synchronization with optical modules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160080100A1 (en) * 2013-05-23 2016-03-17 Huawei Technologies Co., Ltd. Method for precision time protocol synchronization network and apparatus
JP2016116143A (ja) 2014-12-17 2016-06-23 三菱電機株式会社 時刻同期監視方法、通信システム、及びマスタ装置
JP2017050730A (ja) * 2015-09-02 2017-03-09 富士通株式会社 無線装置および基地局システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860261B2 (en) * 2020-06-03 2024-01-02 Sonitor Technologies As Master-less device coordination in location positioning system

Also Published As

Publication number Publication date
JP2019146060A (ja) 2019-08-29
EP3758271A1 (en) 2020-12-30
EP3758271A4 (en) 2022-01-26
CN111052669A (zh) 2020-04-21
US11095382B2 (en) 2021-08-17
CN111052669B (zh) 2022-08-16
US20200244381A1 (en) 2020-07-30
JP6984482B2 (ja) 2021-12-22

Similar Documents

Publication Publication Date Title
WO2019163443A1 (ja) 通信システム、通信装置および通信方法
US8913514B2 (en) Communication control unit and communication control system
JP6820851B2 (ja) ネットワークデバイスのクロックを同期させる方法
EP1757410B1 (en) Robot coordinated control method and system
JP7484912B2 (ja) 制御システム
JP2008135005A (ja) 動作制御タイミングモデル
WO2019107022A1 (ja) 制御装置および制御方法
WO2019069845A1 (ja) 通信システム、通信装置および通信方法
EP3851925B1 (en) A synchronised control system
JP2020149402A (ja) 制御システム
WO2021131530A1 (ja) 制御システム
CN117499175A (zh) 基于TSN与EtherCAT异构网络的多电机同步控制方法
CN111181681A (zh) 基于EtherCAT实时以太网的主从站时钟同步方法
US20220278871A1 (en) Method, system, and gateway for linking time-sensitive fieldbuses
WO2022185589A1 (ja) 情報処理装置、方法およびプログラム
WO2019176755A1 (ja) ネットワークシステム
CN114641970B (zh) 用于时间敏感型现场总线联网的方法、***和网关
CN114375552B (zh) 在基于以太网的网络中进行时间同步的方法
WO2022269889A1 (ja) 入力ユニット、制御システム、通信方法及びプログラム
WO2022180851A1 (ja) 時刻同期方法、時刻同期プログラムおよび時刻同期システム
CN115801164A (zh) 网络中的时间同步
JP2024067281A (ja) 制御装置、および、制御システム
Fu et al. Delay characteristics and synchronization architecture of networked control system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19757701

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019757701

Country of ref document: EP

Effective date: 20200922