WO2016208020A1 - 通信装置、時刻補正方法およびネットワークシステム - Google Patents
通信装置、時刻補正方法およびネットワークシステム Download PDFInfo
- Publication number
- WO2016208020A1 WO2016208020A1 PCT/JP2015/068278 JP2015068278W WO2016208020A1 WO 2016208020 A1 WO2016208020 A1 WO 2016208020A1 JP 2015068278 W JP2015068278 W JP 2015068278W WO 2016208020 A1 WO2016208020 A1 WO 2016208020A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- time
- periodic
- slave
- correction
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G5/00—Setting, i.e. correcting or changing, the time-indication
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G7/00—Synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
Definitions
- the present invention relates to a communication apparatus, a time correction method, and a network system that constitute a network system that requires time synchronization.
- each communication device can operate accurately at a predetermined time by synchronizing the time of a slave, which is another communication device, with the master, which is a reference communication device. .
- Patent Document 1 describes an invention for realizing time synchronization between communication devices.
- the transmission device places the standard time as its data creation time on the telegram information and transmits it to the reception device, and the reception device transmits the standard described in the received telegram information.
- the fluctuation of the transmission delay is obtained using the time, and the clock error and the transmission delay with the transmission apparatus are corrected.
- Non-Patent Document 1 defines a procedure for synchronizing time between a master and a slave.
- the master transmits a Sync message storing transmission time information
- the slave transmits the transmission time t1 indicated by the information stored in the message.
- the time t2 at which the message is received.
- the slave transmits a Delay_Req message in which information of the transmission time t3 is stored to the master.
- the master receives the Delay_Req message
- the master stores the information of the reception time t4 of the Delay_Req message in the Delay_Resp message and transmits it to the slave. .
- the slave calculates the difference between its own time and the master time using t1, t2, t3, and t4, and corrects its own time based on the calculated difference to obtain the master time. Synchronize.
- the master transmits a packet (hereinafter referred to as a synchronization packet) serving as a reference for synchronizing operations between apparatuses at a fixed period.
- a synchronization packet serving as a reference for synchronizing operations between apparatuses at a fixed period.
- the master and the slave communicate with each other at a timing when the synchronization packet is not transmitted.
- the present invention has been made in view of the above, and an object of the present invention is to obtain a communication apparatus capable of reducing traffic necessary for processing of synchronizing the time of its own apparatus with the time of another apparatus.
- a communication apparatus includes a counter for counting time and a counter value of the counter when a packet addressed to the apparatus or a broadcast packet is received.
- a counter value holding unit for recording it is determined whether or not the received packet is a periodic packet that is a packet transmitted in a regular cycle within the network. If the received packet is a periodic packet, the counter value stored in the counter value holding unit and the original of the periodic packet are A packet analysis unit that calculates a difference from the counter value indicating the reception time of the packet, and calculates a correction value for correcting a difference between the time of the own device and the time of the device that is the source of the periodic packet based on the difference A correction time calculation unit.
- the communication apparatus has an effect of reducing the necessary traffic by the process of synchronizing the time of the own apparatus with the time of another apparatus.
- FIG. 1 is a diagram illustrating a configuration example of a communication device according to a first embodiment.
- 1 is a diagram illustrating a hardware configuration example for realizing each unit of a communication device according to a first embodiment;
- the figure which shows the structural example of an IP packet The figure which shows an example of the time synchronous process of the whole network system concerning Embodiment 1, and a time correction process The figure which shows the time correction operation
- FIG. The figure which shows the specific example of the time correction process of the whole network system concerning Embodiment 1.
- FIG. which shows an example of the communication operation
- FIG. 1 is a diagram illustrating a configuration example of a communication device according to a first embodiment.
- 1 is a diagram illustrating a hardware configuration example for realizing each unit of a communication device according to a first embodiment;
- FIG. 1 is a diagram of a configuration example of a network system according to the first embodiment.
- the network system shown in FIG. 1 includes a communication device 10 that operates as a time synchronization master, and communication devices 20, 30 and 40 that operate as time synchronization slaves.
- the internal configurations of the communication devices 10, 20, 30 and 40 are the same.
- the communication device 10 is referred to as a master 10
- the communication devices 20, 30, and 40 are referred to as slaves 20, 30, and 40.
- the master 10 is a motion controller of a motion control system.
- the slaves 20, 30 and 40 are I / O (Input / Output) devices of the motion control system.
- FIG. 1 three communication devices that operate as time-synchronized slaves are shown, but this is an example, and there may be other than three.
- Master 10 and slave 20 are connected by logical interface 1.
- Slave 20 and slave 30 are connected by logical interface 2.
- Slave 30 and slave 40 are connected by logical interface 3.
- the logical interfaces 1 to 3 may be wired transmission paths such as Ethernet, or may be wireless transmission paths such as a wireless LAN (Local Area Network).
- the physical connection includes a case in which the master 10, the slaves 20, 30 and 40 are arranged in a star shape, a case in which the master 10 and the slaves 20, 30 and 40 are all connected in a ring shape, etc. Anything can be used.
- the master 10 and the slaves 20, 30 and 40 are connected in cascade, and packets transmitted from the master 10 are transferred in order to the slaves 20, 30 and 40.
- FIG. 2 is a diagram illustrating a configuration example of the communication apparatus according to the first embodiment, that is, the master 10 and the slaves 20, 30, and 40.
- the configuration of the slave 20 connected to the logical interfaces 1 and 2 is shown.
- arrows indicate the flow of packets.
- the slave 20 includes a physical interface unit 201 that realizes a physical layer such as Ethernet and a MAC (Media Access Control) layer, a packet analysis unit 202 that performs packet analysis processing necessary for time correction, and information necessary for time correction.
- a correction information storage unit 203 to be stored a correction time calculation unit 204 for calculating a correction time, a counter 205 for counting the time, which is realized by a processor clock or the like, and a counter value indicating the reception time of the received packet
- a parameter storage unit 207 for holding a start counter value indicating the start timing of periodic communication, a communication period indicating the length of a period for performing periodic communication, a correction threshold value, and the like.
- the counter 205 may be a clock possessed by the communication device, and may be anything that can obtain information that can be converted into time.
- Periodic communication is communication in which the master 10 communicates with each slave in turn while switching the communication partner slave at a certain period.
- FIG. 3 is a diagram of a hardware configuration example for realizing each unit of the communication apparatus according to the first embodiment.
- Each unit of the communication apparatus includes a processor 301 such as a CPU (Central Processing Unit) and a system LSI (Large Scale Integration), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.
- a processor 301 such as a CPU (Central Processing Unit) and a system LSI (Large Scale Integration), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.
- This can be realized by the memory 302 and an input / output interface 303 for connecting to various networks.
- the processor 301, the memory 302, and the input / output interface 303 are connected to the bus 300, and can exchange data, control information, and the like via the bus 300.
- the physical interface unit 201 is realized by the input / output interface 303.
- the packet analysis unit 202 is realized by a program stored in the processor 301 and the memory 302. Specifically, the processor 301 reads the program for operating as the packet analysis unit 202 from the memory 302 and executes it, thereby realizing the packet analysis unit 202.
- the correction time calculation unit 204 is realized by a program stored in the processor 301 and the memory 302. Specifically, the processor 301 reads the program for operating as the correction time calculation unit 204 from the memory 302 and executes it, thereby realizing the correction time calculation unit 204.
- the correction information storage unit 203, the counter value holding unit 206, and the parameter storage unit 207 are realized by the memory 302.
- the counter 205 is realized using a clock possessed by the processor.
- a packet 11 that is a packet transmitted from the master 10 is input to the physical interface unit 201 from the logical interface 1 that is a logical interface.
- the packet 11 is transmitted as a frame in the logical interface 1.
- the physical interface unit 201 detects a known bit string to grasp the head of the packet and receives the packet. For example, when the packet 11 is an Ethernet frame as shown in FIG. 4, “Preamble / SFD (Start of Frame Delimiter)” is the head of the packet.
- Preamble / SFD is a total of 8 bytes of information consisting of a 7-byte preamble and a 1-byte SFD, and has a fixed bit pattern.
- the Ethernet frame includes a “destination address” indicating the destination of the frame, a “source address” indicating the transmission source of the frame, and the type of the upper protocol receiving the frame or the length of the frame.
- “Type / length” indicating the data length, “data portion” for storing data, and “FCS (Frame Check Sequence)” for checking the frame error.
- an IP (Internet Protocol) packet having the configuration shown in FIG. 5 is stored as data. In this embodiment, it is assumed that an IP packet is stored as data in the data part.
- the IP packet includes the IP version and the IP packet header length “Version / IHL (Internet Header Length)”, the IP packet priority “ToS (Type of Service)”, and the upper protocol. "Protocol” to indicate, “Header checksum” to check header error, "Source address” to indicate the source of the IP packet, “Destination address” to indicate the destination of the IP packet, and data "Data part” to be included.
- the physical interface unit 201 when the physical interface unit 201 receives the packet 11 having the configuration shown in FIG. 4, the physical interface unit 201 extracts the IP packet stored in the data unit, and uses the extracted IP packet as the received packet. Forward to.
- the packet analysis unit 202 determines whether the packet is addressed to the own communication device or another communication device, and if it is addressed to another communication device, outputs it to the physical interface unit 201. That is, if the destination address in the received packet indicates a destination other than its own device, the packet analysis unit 202 determines that it is addressed to another communication device, and outputs the received packet to the physical interface unit 201.
- the physical interface unit 201 When the physical interface unit 201 receives a received packet that is determined by the packet analysis unit 202 to be directed to another communication device, the physical interface unit 201 outputs the received packet to the logical interface 2 as a packet 12. At this time, the physical interface unit 201 stores the IP packet that is the received packet received from the packet analysis unit 202 in the “data part” of the frame shown in FIG. 4 and outputs it to the logical interface 2.
- the packet analysis unit 202 performs processing according to the content of the received packet, such as forwarding the packet to a higher-level protocol not shown in FIG. To implement.
- the packet analysis unit 202 determines whether or not the packet 11 is addressed to the own device
- the physical interface unit 201 can also determine it.
- the physical interface unit 201 discriminates, the physical interface unit 201 confirms the destination address of the Ethernet frame shown in FIG. 4, and transfers it to the logical interface 2 when it indicates a device other than its own device.
- the network system according to the present embodiment is applied to a system in which a prescribed packet is transmitted from the master 10 to each slave at a fixed period, such as a motion control system. Further, in the network system according to the present embodiment, each slave corrects the time of its own device by using a packet transmitted by the master 10 at a fixed period, thereby reducing the load imposed on the network by the time synchronization procedure. To do.
- each slave correcting the time of its own device will be described.
- the time correction operation in each slave is the same.
- a case where the slave 20 corrects the time will be described.
- the slave 20 corrects the time of its own device using a packet transmitted by the master 10 at a fixed period after synchronizing the time of its own device with the time of the master 10 by some method.
- the method described in Non-Patent Document 1 can be used, but it is not limited to this method.
- the slave 20 corrects the time of its own device based on the time of receiving the packet transmitted from the master 10 at a fixed cycle after the process of synchronizing the time of its own device with the time of the master 10 is completed. Specifically, when the slave 20 receives a packet transmitted from the master 10 at a fixed period, the slave 20 receives the packet and a time estimated from the transmission period of the packet transmitted at the fixed period, that is, an estimated arrival time of the packet. To estimate the time lag between the time of the own device and the time of the master 10. Then, the slave 20 corrects the time of its own device so that the time difference approaches 0.
- the time synchronization process and time correction process of the entire network system are as shown in FIG.
- the master 10 and slaves 20, 30 and 40 perform conventional time synchronization processing before the master 10 starts transmission of packets transmitted at a fixed period, such as when the system is started or when the actual operation of the system is suspended.
- 100 is used for time synchronization.
- the time synchronization processing 100 a method defined in Non-Patent Document 1 or the like is used.
- the time synchronization processing 100 is executed by the correction time calculation unit 204, but is not limited to this.
- a processing unit for performing the time synchronization process 100 may be provided.
- packets transmitted at regular intervals are referred to as “periodic packets”.
- the time synchronization process 100 is executed regularly or irregularly by the master 10, slaves 20, 30 and 40, and the time is set.
- the synchronized state may be maintained.
- the master 10 is a motion controller of a motion control system
- the periodic packet corresponds to a packet for realizing synchronization control between devices in the system by specifying the synchronization timing of the entire system.
- the periodic communication start packet 110 is a packet for notifying the network system that the master 10 starts transmission of a periodic packet. It is assumed that the periodic communication start packet 110 includes information on the transmission start time of the periodic packet, which is the time when the master 10 starts transmitting the periodic packet. In the present embodiment, the time at which the master 10 starts transmitting periodic packets coincides with the time at which the master 10 starts periodic communication.
- the transmission period of the periodic packet may be set in the master 10, slaves 20, 30 and 40 when constructing the network system, or the master 10 notifies the slaves 20, 30 and 40 by the periodic communication start packet 110. You may make it do.
- the master 10 transmits the periodic packet 60 at the transmission start time of the periodic packet notified to each slave by the periodic communication start packet 110 after transmitting the periodic communication start packet 110.
- the slave 20 When the slave 20 receives the periodic packet 60, the slave 20 transfers the periodic packet 60 to the slave 30, and sets the time of its own device based on the reception time of the periodic packet 60, the transmission start time of the periodic packet, and the transmission period of the periodic packet. to correct. Details of the operation for correcting the time will be described later.
- the slave 30 transfers the periodic packet 60 to the slave 40, and based on the reception time of the periodic packet 60, the transmission start time of the periodic packet, and the transmission period of the periodic packet. The time of the own device is corrected.
- the slave 40 When the slave 40 receives the periodic packet 60, the slave 40 corrects its own time based on the reception time of the periodic packet 60, the transmission start time of the periodic packet, and the transmission period of the periodic packet.
- the master 10 After transmitting the periodic packet 60, the master 10 transmits the periodic packet 70 when the specified time, that is, the periodic packet transmission period elapses.
- the slaves 20, 30 and 40 receive the periodic packet 70, they perform the same processing as when the periodic packet 60 is received, and correct their own time.
- 6 shows an example in which time correction is performed each time the slave 20, 30, and 40 receives a periodic packet for the sake of simplicity, the time when the periodic packet is received a specified number of times is shown. Correction may be performed.
- the transmission cycle of a periodic packet is short, and the amount of time shift during one transmission cycle is not a problem in performing motion control or the like. Therefore, it is desirable for each slave to perform time correction when receiving a periodic packet a predetermined number of times so that the processing load does not increase more than necessary.
- the master 10 After transmitting the periodic packet 70, the master 10 transmits the periodic packet every time the specified time elapses.
- the master 10 transmits a normal packet at a timing other than the transmission timing of the periodic packet.
- FIG. 6 shows a case where the master 10 transmits a normal packet 55 between the periodic packet 60 and the periodic packet 70.
- a normal packet is a packet that does not correspond to a periodic packet, and is transmitted irregularly.
- a packet for the master 10 to transmit control data necessary for axis control to the slaves 20, 30, 40 corresponds to a normal packet.
- FIG. 6 shows an example in which only one normal packet is transmitted during the transmission timing of the periodic packet, a plurality of normal packets may be transmitted.
- a normal packet may be transmitted from the slave 20, 30, 40 to the master 10.
- the counter value is the value of the counter 205, that is, the counter value of the master 10, that is, the counter value of the counter 205 of the master 10 is M10_C
- the counter value of the slave 20 is S20_C
- the counter value of the slave 30 is S30_C
- the counter value of the slave 40 is S40_C.
- the value of the counter 205 is incremented by 1 every 1 ⁇ sec.
- the times of the master 10, the slaves 20, 30 and 40 are made coincident with 10: 00: 0: 000 msec. 000 .mu.s.
- the master 10 notifies the slaves 20, 30 and 40 that the periodic communication, that is, the transmission of the periodic packet is started from 10 hours 0 minutes 0 seconds 010 milliseconds 000 ⁇ sec by the periodic communication start packet 110.
- the transmission cycle of the periodic packet is 1 msec
- the communication cycle that matches the transmission cycle of the periodic packet is 1000.
- the communication period indicates the length of the period for performing periodic communication.
- FIG. 7 is a flowchart showing the time correction operation in the slave 20.
- the time correction operation in the slaves 30 and 40 is the same as the time correction operation in the slave 20.
- the slave 20 receives the Ethernet frame having the configuration shown in FIG. 4 as the packet 11 and that the IP packet having the configuration shown in FIG. 5 is stored in the “data portion” of the Ethernet frame. Do.
- the slave 20 sets a cyclic communication start counter value CS, a communication cycle P, and a cycle count M (step S10).
- Each setting value is stored in the parameter storage unit 207.
- the start counter value CS set in step S10 is the counter value of the counter 205 corresponding to the start position of periodic communication. That is, the start counter value CS here is a counter value indicating the reception time of the first periodic packet after the slave 20 receives the periodic communication start packet 110.
- the counter value of the counter 205 is the same as the start counter value CS. It arrives at the slave 20 at the timing.
- the start counter value CS is appropriately corrected by the correction time calculation unit 204.
- the corrected start counter value CS indicates the expected reception time of the next periodic packet to be received.
- the cycle count M is information that is incremented by 1 each time the communication cycle P elapses.
- the slave 20 executes step S10 of FIG.
- the slave 20 notifies the transmission delay time and the periodic communication start packet 110 in order to measure the transmission delay time, which is the time required for the packet transmitted from the master 10 to arrive at the slave 20.
- the start counter value CS is calculated based on the transmission start time of the periodic packet.
- the correction time calculation unit 204 executes steps S10 and S11.
- Step S11 the slave 20 continuously monitors whether or not the communication period P has elapsed and whether or not a packet has been received (Steps S12 to S14). Specifically, the slave 20 first confirms whether or not the communication cycle P has passed (step S12), and if the communication cycle P has passed (step S12: Yes), holds it in the parameter storage unit 207. The cycle number M being incremented is incremented by 1 (step S13). When the communication period P has not elapsed (step S12: No) and when step S13 is executed, the slave 20 checks whether or not a packet has been received (step S14). When the slave 20 has received the packet (step S14: Yes), the slave 20 executes step S15 and subsequent processing. When the slave 20 has not received the packet (step S14: No), the slave 20 returns to step S12. Of these steps S12 to S14, the correction time calculation unit 204 executes steps S12 and S13, and the physical interface unit 201 executes step S14.
- the packet analysis unit 202 determines whether or not the communication period P has elapsed using a counter.
- the packet analysis unit 202 may count the communication cycle P using a dedicated counter for communication cycle counting, or may count using the counter 205 shown in FIG.
- the physical interface unit 201 determines that the packet has been received (step S14: Yes). The physical interface unit 201 determines that a packet has been received if the destination address is a broadcast address or an address indicating the own device and no error is detected by error determination by FCS.
- the physical interface unit 201 instructs the counter 205 to output the counter value to the counter value holding unit 206, and outputs the received packet to the packet analysis unit 202. .
- the counter 205 Upon receiving the above instruction from the physical interface unit 201, the counter 205 outputs the counter value to the counter value holding unit 206.
- the counter value holding unit 206 records the counter value output from the counter 205 as a counter value CN indicating a packet reception timing, that is, a reception time (step S15). When the counter value output from the counter 205 is recorded as the counter value CN, the counter value holding unit 206 deletes the counter value CN held so far.
- the packet output from the physical interface unit 201 to the packet analysis unit 202 is an IP packet having the configuration shown in FIG. 5, that is, an IP packet extracted from the “data portion” of the frame shown in FIG.
- the packet analysis unit 202 checks whether it is a periodic packet (step S16).
- a method for the packet analysis unit 202 to determine whether or not the IP packet is a periodic packet a method of determining whether or not the information indicating that the packet is a periodic packet is included. May be. Whether or not it is a periodic packet may be determined by any method.
- step S16: No When the received packet is not a periodic packet (step S16: No), the packet analysis unit 202 does not perform any processing for time correction. In this case, the process returns to step S12 to check whether or not the communication period P has elapsed, and the physical interface unit 201 waits for reception of the next packet. At this time, the slave 20 performs processing according to the contents of the received packet, but the description is omitted in FIG.
- step S16: Yes the packet analysis unit 202 reads the counter value CN at the time of packet reception from the counter value holding unit 206, and determines the read counter value and the time when the original periodic packet is received.
- a difference ⁇ from the indicated counter value is calculated, and it is confirmed whether or not the absolute value of the difference ⁇ is equal to or less than a specified correction threshold value ⁇ . That is, the packet analysis unit 202 checks whether or not “ ⁇ ⁇ ⁇ ⁇ ⁇ ” is satisfied (step S17).
- the correction threshold ⁇ is not the occurrence of an error in the reception time of the periodic packet due to the time of the slave 20 deviating from the time of the master 10, but the time when the error occurs in the reception time of the periodic packet due to other factors.
- the packet analysis unit 202 discards the difference ⁇ when the difference ⁇ is larger than the correction threshold ⁇ . It is assumed that the correction threshold value ⁇ is preset in the parameter storage unit 207.
- the packet analysis unit 202 does nothing if “ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ” is not satisfied (step S17: No). In this case, the process returns to step S12, and the physical interface unit 201 waits for reception of the next packet.
- step S17: Yes the packet analysis unit 202 increments the correction information recording count n by 1 and records the difference ⁇ in the correction information storage unit 203 (step S18).
- the correction time calculation unit 204 monitors whether or not the correction information recording number n has reached the specified number N (step S19), and if n ⁇ N (step S19: No), does nothing. In this case, the process returns to step S12, and the physical interface unit 201 waits for reception of the next packet.
- N is an integer of 1 or more.
- the correction time calculation unit 204 calculates a correction value ⁇ based on the difference ⁇ recorded in the correction information storage unit 203 (step S20).
- the correction time calculation unit 204 corrects the start counter value CS stored in the parameter storage unit 207 and the time using the correction value ⁇ calculated in step S20 (step S21).
- the correction time calculation unit 204 corrects the start counter value CS by adding ⁇ and P ⁇ M to the start counter value CS.
- the corrected start counter value CS is a counter value of the counter 205 indicating the arrival timing of the periodic packet when the next periodic packet is normally received. “Receiving a periodic packet normally” means that the time of the slave 20 is synchronized with the time of the master 10 and the periodic packet is received without any processing delay in the transmission process of the periodic packet in the master 10. It means that. Time correction is performed using the correction value ⁇ .
- the correction time calculation unit 204 sets the correction value ⁇ .
- the correction value ⁇ may be calculated and the time correction may be performed when the specified time has elapsed since the previous time correction.
- FIG. 8 shows an operation example after the time synchronization processing 100 and the periodic communication start packet 110 shown in FIG. 6 are transmitted.
- the master 10 executes the time synchronization processing 100 shown in FIG. 6 and further notifies the slaves 20, 30 and 40 of the transmission start time of the periodic packet by the periodic communication start packet 110. Thereafter, the master 10 transmits the periodic packet 60 first when the transmission start time notified to each slave by the periodic communication start packet 110 is reached. Furthermore, every time the communication cycle 50 elapses, the periodic packets 70, 80 and 90 are sequentially transmitted. In the example of FIG. 8, after transmitting the periodic packet 60 at time T1, the master 10 transmits periodic packets 70, 80, and 90 at times T6, T11, and T16.
- the periodic packet 60 transmitted from the master 10 at time T1 has arrived at the slaves 20, 30 and 40 in a state where no time lag has occurred in each slave and no delay fluctuation has occurred. That is, the periodic packet 60 has arrived at each slave at the original arrival time indicated by the start counter value CS held by each slave.
- the periodic packet 60 is transmitted from the master 10 at time T1, and then arrives at the slave 20 at time T2.
- the transmission delay time from when the periodic packet 60 is transmitted to the master 10 until it arrives at the slave 20 is a delay 61.
- the periodic packet 60 is transferred by the slave 20 and arrives at the slave 30 at time T3.
- the transmission delay time from when the periodic packet 60 is transmitted to the master 10 until it arrives at the slave 30 is a delay 62.
- the periodic packet 60 is transferred by the slave 30 and arrives at the slave 40 at time T4.
- the transmission delay time from when the periodic packet 60 is transmitted to the master 10 until it arrives at the slave 40 is a delay 63.
- the periodic packet 70 transmitted from the master 10 at time T6 is supposed to arrive at the slave 20 at time T7.
- a fluctuation 71 occurs in the transmission delay time due to the difference between the time of the slave 20 and the time of the master 10 or the influence of processing delay, and the periodic packet 70 arrives at the slave 20 at an arrival time different from the original.
- the periodic packet 70 should arrive at the slave 30 at the time T8 after being transferred by the slave 20, but a fluctuation 72 occurs in the transmission delay time, and the arrival time is different from the original time. Arrived at slave 30.
- the periodic packet 70 arrives at the slave 40 at time T9, which is the original arrival time, after being transferred by the slave 30. Therefore, the fluctuation 73 is 0.
- the arrival time of the periodic packet 70 to the slave 20 is that the time of the slave 20 has advanced a little, or the arrival of the periodic packet 70 has been delayed a little, the fluctuation 71 has occurred, and the transmission delay time has increased a little.
- the arrival time of the periodic packet 70 to the slave 30 is a fluctuation 72 in which the delay is slightly reduced because the time of the slave 30 is slightly delayed or the arrival of the periodic packet 70 is a little earlier.
- the cause of the increase in the transmission delay time may be that a processing delay occurs when the slave time is delayed from the master 10 time.
- the cause of the decrease in the transmission delay time may be that the slave time is advanced from the master 10 time.
- the slaves 20, 30 and 40 When the slaves 20, 30 and 40 receive the periodic packet 70, they record the fluctuations 71, 72 and 73 in the correction information storage unit 203 as the above-described difference ⁇ .
- the periodic packet 80 transmitted from the master 10 at time T11 is supposed to arrive at the slave 20 at time T12.
- a fluctuation 81 occurs in the transmission delay time due to the difference between the time of the slave 20 and the time of the master 10 or the influence of processing delay, and the periodic packet 80 arrives at the slave 20 at a different arrival time.
- the periodic packet 80 is supposed to arrive at the slave 30 at time T13 after being transferred by the slave 20, but fluctuation 82 occurs in the transmission delay time, and the arrival time is different from the original time. Arrived at slave 30.
- the periodic packet 80 arrives at the slave 40 at time T14, which is the original arrival time, after being transferred by the slave 30. Therefore, the fluctuation 83 is zero.
- the slaves 20, 30 and 40 When the slaves 20, 30 and 40 receive the periodic packet 80, they record the fluctuations 81, 82 and 83 in the correction information storage unit 203 as the difference ⁇ described above.
- the periodic packet 90 transmitted from the master 10 at time T16 should arrive at the slave 20 at time T17.
- a fluctuation 91 occurs in the transmission delay time due to the difference between the time of the slave 20 and the time of the master 10 or the influence of processing delay, and the periodic packet 90 arrives at the slave 20 at an arrival time different from the original.
- the periodic packet 90 is supposed to arrive at the slave 30 at the time T18 after being transferred by the slave 20, but a fluctuation 92 occurs in the transmission delay time, and the arrival time is different from the original. Arrived at slave 30.
- the periodic packet 90 arrives at the slave 40 at time T19, which is the original arrival time, after being transferred by the slave 30. Therefore, the fluctuation 93 is 0.
- the transmission delay time of the periodic packet 90 to the slave 20 includes fluctuation 91 but is larger than the correction threshold value 51.
- the slaves 30 and 40 record the fluctuations 92 and 93 in the correction information storage unit 203 as the difference ⁇ described above.
- the slave 20 does not record the fluctuation 91 in the correction information storage unit 203. That is, when the slave 20 receives the periodic packet 90, the slave 20 does not record the difference ⁇ in the correction information storage unit 203.
- the correction information accumulation unit 203 of the slave 20 records 0, fluctuation 71, and fluctuation 81 as the difference ⁇ described above, and the number of times the fluctuation is recorded, that is, the difference ⁇ .
- the number of times of recording (here, 3 times) is recorded. Since the fluctuation 91 exceeds the correction threshold value 51 corresponding to the correction threshold value ⁇ described above, the correction information storage unit 203 of the slave 20 does not record.
- the master 10 transmits a periodic packet, and the slaves 20, 30 and 40 calculate the difference ⁇ every time the periodic packet is received. If the difference ⁇ is equal to or less than the correction threshold ⁇ , the correction information Record in the storage unit 203 and increment the recording count n of the difference ⁇ .
- the slaves 20, 30 and 40 perform the following calculation when the recording count n becomes N.
- the following calculation is performed by the correction time calculation unit 204 of the slaves 20, 30 and 40.
- CS is a periodic communication start counter value indicating the original time at which the periodic packet 60 arrives from the master 10
- P is a communication period in which the periodic packet is transmitted
- M is a cycle number indicating the number of times the communication cycle has passed
- the correction threshold value is ⁇
- the fluctuation that is, the difference from the original transmission delay time is ⁇
- the difference recording count is N
- the correction value is ⁇
- the corrected counter value is C
- the correction value is calculated as an average value.
- the correction time calculation unit 204 calculates the counter value C of the number of cycles M according to the following equations (1) and (2).
- the counter value C indicates the estimated arrival time of the periodic packet received first after time correction.
- the correction value ⁇ is an average value of the differences ⁇ .
- the time correction value that is the difference from the time of the master 10 is ⁇ ( ⁇ sec).
- ⁇ and ⁇ may be negative values.
- the calculation method of the correction value ⁇ may be not only the average value but also the center value or the maximum likelihood value.
- the number of times used for correction may be time. That is, every time the specified time elapses, the correction value ⁇ may be calculated based on the difference ⁇ recorded by the correction information storage unit 203 and the number N of times of recording.
- the present invention does not define an algorithm for calculating the correction value ⁇ .
- the slaves 20, 30 and 40 when the slaves 20, 30 and 40 synchronize their own time with the time of the master 10, they receive a periodic packet transmitted from the master 10 at a fixed cycle.
- the difference ⁇ indicating the difference between the time of the own device and the time of the master 10 is calculated, and the time correction value is calculated based on the difference ⁇ .
- the slaves 20, 30 and 40 can correct the time while avoiding an increase in traffic after synchronizing the time of the own device with the time of the master. That is, it is possible to reduce the traffic required for the process of synchronizing the time of the own device with the time of the master.
- the traffic does not increase in the time correction operation in a state where the master is performing transmission for controlling the operation of the slave, it is possible to prevent the time correction operation from adversely affecting the slave control operation by the master.
- FIG. A network system according to the second embodiment will be described. Note that the configuration of the network system and the configuration of the communication devices that configure the network system are the same as those in the first embodiment.
- the slave communicating with the master is switched periodically.
- the master 10 and the slave 20 communicate with each other in a certain communication cycle, and the master 10 and the slave 30 communicate with each other in the next communication cycle.
- the master 10 and the slave 40 communicate, and when the communication cycle between the master 10 and the slave 40 ends, the master 10 and the slave 20 communicate in the next communication cycle.
- each slave communicates with the master 10 in order.
- one slave determined as the master 10 performs communication.
- the master 10 transmits a periodic packet to a slave that performs communication in that communication cycle.
- the slave 20 Based on the address of the received packet, it can be determined whether or not the received packet is a periodic packet. That is, if the destination addresses of two consecutively received packets are different, the packet received later becomes a periodic packet, so that the slave 20 checks the destination address of the received packet every time a packet is received from the master 10. If the destination address of the previous received packet is different, it can be determined that the received packet is a periodic packet. Similarly, the slave 30 can determine whether the received packet is a periodic packet based on the destination address of the received packet.
- the slave 40 determines whether or not the received packet is a periodic packet based only on the destination address of the received packet. I can't do it. However, before the periodic packet arrives at the slave 40, a state in which the packet does not arrive at the slave 40 continues for a time more than twice the communication period. Therefore, for example, the slave 40 can determine that a packet received first after a state in which no packet is received continues for a time that is twice or more the communication cycle as a periodic packet.
- each slave monitors whether or not the destination of the received packet has changed from a unicast address to a broadcast address, It can be determined whether the received packet is a periodic packet.
- the master 10 switches the communication partner slave at a constant cycle (communication cycle) and communicates with each slave in order, and each packet is transmitted first in each communication cycle, Based on the destination address of the received packet, the reception of the periodic packet can be detected, and the time can be corrected in the same procedure as in the first embodiment.
- Embodiment 3 A network system according to the third embodiment will be described. Note that the configuration of the network system and the configuration of the communication devices that configure the network system are the same as those in the first embodiment.
- beacons are used as the periodic packets described in the first embodiment. Can do.
- an access point In a wireless LAN conforming to the IEEE 802.11 standard, an access point periodically transmits a beacon. Therefore, when the network system is realized by an access point and a terminal of a wireless LAN system, the slaves 20, 30, and 40 that are terminals explain beacons periodically transmitted from the master 10 that is an access point in the first embodiment. It is possible to correct the time of the own device based on the reception time of the beacon.
- the network system is a LAN system
- the heartbeat packets periodically transmitted by each communication device constituting the LAN to check the status of other communication devices and the like are the same as those described in the first embodiment. It can also be used as a packet.
- the LAN system may be a wireless LAN system or a wired LAN system. Whether the packet is a heartbeat packet is determined by the packet analysis unit 202 of each communication device operating as a slave analyzing the data portion of the received packet.
- the configuration of the packet received by each slave is the same as the configuration described in Embodiment 1, that is, the configuration shown in FIG.
- each slave corrects the time in the same procedure as in the first embodiment by using a beacon or a heartbeat packet as a periodic packet. be able to. Further, when a network system is realized by a wired LAN system, a heartbeat packet is used as a periodic packet, and each slave can correct the time in the same procedure as in the first embodiment.
- each slave treats both a beacon and a heartbeat packet as a periodic packet, and corrects its own time based on the reception time. May be.
- the above heartbeat packet corresponds to a periodic packet transmitted at a time other than the beginning of the communication period.
- a system that transmits a packet indicating the end of the communication cycle is also conceivable. Even when the periodic packet is transmitted at a time other than the beginning of the communication period, time correction using the periodic packet is possible. Even when a periodic packet is transmitted at a time other than the beginning of the communication period, the procedure for each slave to perform time correction is the same as in the first embodiment.
- the master 1 transmits the periodic communication start packet 110 shown in FIG. 6 instead of the periodic packet transmission start time information, which is the periodic communication start time. Information on the transmission time of the first heartbeat packet after transmitting the start packet 110 is transmitted.
- the transmission cycle of the periodic packet is the heartbeat packet transmission cycle.
- the transmission cycle of the heartbeat packet is P ′
- the transmission time of the first heartbeat packet after transmitting the periodic communication start packet 110 is CS
- the offset between the transmission time CS and the start time of the periodic communication is k
- the periodic communication The start counter value CS ′ is expressed by the following equation (3).
- the counter value C represented by the expression (1) in the first embodiment is represented by the following expression (4).
- Embodiment 4 A network system according to the fourth embodiment will be described. Note that the configuration of the network system and the configuration of the communication devices that configure the network system are the same as those in the first embodiment.
- the time correction operation described in each embodiment uses other periodic packets instead of correcting the time using a dedicated packet for realizing the time synchronization used in the conventional time synchronization procedure.
- periodic packets for measuring fluctuations must be received at the same timing each time.
- the correction threshold ⁇ described in the first embodiment is not more than one packet more than the expected arrival time of the periodic packet, which is the time when the periodic packet is originally received. For example, when the Ethernet frame of FIG.
- the minimum frame length is 84 bytes, so the transfer time of this frame is 6.72 ⁇ sec.
- the transfer time is the time required for processing to transfer a frame.
- the value of the correction threshold ⁇ may be increased. However, if this value is too large, it becomes difficult to distinguish from the retransmitted packet, so the time correction accuracy is poor. Become. Therefore, a value that can realize the time synchronization accuracy required for the system is set as the correction threshold value ⁇ .
- the correction threshold value ⁇ used by each slave in the present embodiment in the time correction operation is set to a value smaller than the time required for the transfer process of one packet.
- the difference ⁇ when receiving a packet with a large delay fluctuation, such as a retransmitted periodic packet is excluded, and only the difference ⁇ when receiving a periodic packet with a small delay fluctuation is recorded in the correction information storage unit 203.
- the correction time calculation unit 204 calculates the correction value ⁇ using only the difference ⁇ when a periodic packet with a small delay fluctuation is received, and it is possible to prevent the time correction accuracy from deteriorating.
- Embodiment 5 A network system according to the fifth embodiment will be described. Note that the configuration of the network system and the configuration of the communication devices that configure the network system are the same as those in the first embodiment.
- the calculation of the correction value ⁇ used for correcting the counter value C of the cycle number M is performed when the difference ⁇ is recorded N times.
- the difference ⁇ is recorded N times.
- the number of times of recording the difference ⁇ is not N, and no correction is performed. Therefore, each slave has the latest average value of the difference ⁇ , that is, when the correction value ⁇ is likely to exceed the correction threshold ⁇ , or when the tendency of increase / decrease of the difference ⁇ is likely to exceed the correction threshold ⁇ . It is desirable to correct the counter value C.
- N is subdivided into N (0), N (1),..., N (t),..., And the correction values are ⁇ (0), ⁇ (1),. ...
- the correction value ⁇ (t + 1) at the next time t + 1 is predicted from the correction value ⁇ (t) at the current time t, the following equation (5) is obtained.
- ⁇ (t + 1) ⁇ (t) + ( ⁇ (t) ⁇ (t ⁇ 1)) (5)
- each slave monitors whether or not the predicted correction value ⁇ (t + 1) satisfies the following expression (6). If it satisfies, the correction process, that is, steps S20 and S21 shown in FIG. Execute the process.
- step S20 the correction time calculation unit 204 calculates the correction value ⁇ using the difference ⁇ that the correction information storage unit 203 has held so far.
- the correction process may be performed when it is detected that the difference ⁇ is larger than the correction threshold value ⁇ over a specified number of times.
- the slave according to the present embodiment executes the correction process when it is determined that the time synchronization shift, that is, the difference ⁇ has increased. Thereby, it is possible to avoid that the correction process is not executed.
- the master of the motion control system is the time generation source, and each slave adjusts the time to the master time, but one of the slaves is the time generation source.
- Other slaves and masters may synchronize the time.
- the heartbeat packet described as an example of the periodic packet in the third embodiment is transmitted from each communication device constituting the wireless LAN, that is, from an access point corresponding to the master and a terminal corresponding to the slave. Therefore, in a system configured such that the slave can also transmit periodic packets, the slave can be used as a time generation source.
- the master corrects the time of its own device in the same procedure as the slave other than the time generation source.
- the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Electric Clocks (AREA)
Abstract
通信装置20は、時間をカウントするためのカウンタ205と、自装置宛のパケットまたはブロードキャストされたパケットを受信した場合にカウンタのカウンタ値を記録するカウンタ値保持部206と、パケットがネットワーク内に定周期で送信されるパケットである周期パケットか否かを判定し、周期パケットである場合にはカウンタ値保持部が記憶しているカウンタ値と周期パケットの本来の受信時刻を示すカウンタ値との差分を算出するパケット解析部202と、差分に基づいて、自装置の時刻と周期パケットの送信元の装置の時刻とのずれを補正するための補正値を算出する補正時間算出部204と、を備える。
Description
本発明は、時刻同期が必要なネットワークシステムを構成する通信装置、時刻補正方法およびネットワークシステムに関する。
複数の通信装置が協調して一連の動作を行なうシステムでは、各通信装置の時刻すなわち各通信装置が個別に管理しているローカル時刻を同期させる必要がある。このようなシステムにおいては、基準となる通信装置であるマスタに他の通信装置であるスレーブが時刻を同期させることにより、各通信装置はある決められた時刻に正確に動作することが可能となる。
特許文献1には、通信装置間の時刻同期を実現するための発明が記載されている。特許文献1に記載された発明によれば、送信装置は、自身のデータ作成時刻としての標準時刻を電文情報に載せて受信装置に送信し、受信装置は受信した電文情報に記載されている標準時刻を用いて伝送遅延の揺らぎ分をもとめ、送信装置との間の時計誤差、伝送遅延を補正している。
また、非特許文献1には、マスタとスレーブの間で時刻を同期させる手順について規定されている。非特許文献1に記載された時刻同期手順では、マスタは送信時刻の情報が格納されたSyncメッセージを送信し、スレーブは、Syncメッセージを受信すると、メッセージに格納されている情報が示す送信時刻t1と、メッセージを受信した時刻t2とを記憶する。さらに、スレーブは、送信時刻t3の情報が格納されたDelay_Reqメッセージをマスタへ送信し、マスタは、Delay_Reqメッセージを受信すると、Delay_Reqメッセージの受信時刻t4の情報をDelay_Respメッセージに格納してスレーブへ送信する。スレーブは、Delay_Respメッセージを受信すると、t1、t2、t3およびt4を用いて自身の時刻とマスタの時刻との差を算出し、算出した差に基づいて自身の時刻を補正してマスタの時刻に同期させる。
IEEE1588
特許文献1および非特許文献1に記載された手順で時刻同期を実現する場合、通信装置間で時刻同期用のパケットを送受信する必要がある。
ここで、通信装置間の時刻同期が必要なシステムとして、工作機械、半導体製造装置、産業用ロボット等の複数の軸を使用した高精度なモーション動作が必要とされるモーションコントロールシステムが存在する。モーションコントロールシステムでは、マスタは、装置間で動作を同期させる際の基準となるパケット(以下、同期パケットと称する)を定周期で送信する。また、マスタとスレーブは同期パケットが送信されないタイミングで通信を行っている。このようなシステムに対して特許文献1および非特許文献1に記載された時刻同期手順、すなわち、時刻同期用のパケットを使用して時刻同期を実現する手法を適用する場合、時刻同期手順の実行がシステムに悪影響を与える可能性がある。具体的には、マスタとスレーブが連続して通信しているなど、多くのパケットが送受信され、ネットワークの負荷が高くなっている状態において時刻同期手順を実行すると、時刻同期用のパケットが送信されることによりネットワークの負荷がさらに高くなってしまい、モーション動作の制御のために送受信されるパケットの処理に遅延を生じさせるなどの悪影響を与える可能性がある。そのため、時刻同期手順がネットワークに与える負荷の削減、すなわち、時刻同期手順の実行時に発生するトラフィックの削減が望まれる。
本発明は、上記に鑑みてなされたものであって、自装置の時刻を他の装置の時刻に同期させる処理で必要なトラフィックを削減可能な通信装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる通信装置は、時間をカウントするためのカウンタと、自装置宛のパケットまたはブロードキャストされたパケットを受信した場合にカウンタのカウンタ値を記録するカウンタ値保持部と、を備える。また、受信したパケットがネットワーク内に定周期で送信されるパケットである周期パケットか否かを判定し、周期パケットである場合にはカウンタ値保持部が記憶しているカウンタ値と周期パケットの本来の受信時刻を示すカウンタ値との差分を算出するパケット解析部と、差分に基づいて、自装置の時刻と周期パケットの送信元の装置の時刻とのずれを補正するための補正値を算出する補正時間算出部と、を備える。
本発明にかかる通信装置は、自装置の時刻を他の装置の時刻に同期させる処理で必要なトラフィックを削減できるという効果を奏する。
以下に、本発明の実施の形態にかかる通信装置、時刻補正方法およびネットワークシステムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、実施の形態1にかかるネットワークシステムの構成例を示す図である。
図1は、実施の形態1にかかるネットワークシステムの構成例を示す図である。
図1に示したネットワークシステムは、時刻同期のマスタとして動作する通信装置10と、時刻同期のスレーブとして動作する通信装置20、30および40とを含んで構成されている。通信装置10、20、30および40の内部構成は同じである。以下の説明では、通信装置10をマスタ10、通信装置20,30,40をスレーブ20,30,40と称する。マスタ10は、モーションコントロールシステムのモーションコントローラなどである。スレーブ20、30および40は、モーションコントロールシステムのI/O(Input/Output)装置である。なお、図1では、時刻同期のスレーブとして動作する通信装置を3台としているが、一例であり、3台以外でも構わない。
マスタ10とスレーブ20は論理インタフェース1で接続されている。スレーブ20とスレーブ30は論理インタフェース2で接続されている。スレーブ30とスレーブ40は論理インタフェース3で接続されている。論理インタフェース1から3は、Ethernetのような有線伝送路であってもよいし、無線LAN(Local Area Network)のような無線伝送路であってもよい。また、物理的な接続は、マスタ10を頂点としてスレーブ20、30および40がスター型に配置されているケース、マスタ10とスレーブ20、30および40とが全てリング状に接続されているケースなど、どのようなものでもよい。図1では、マスタ10とスレーブ20、30および40とをカスケード接続し、マスタ10から送信されたパケットがスレーブ20、30、40に順番に転送される接続形態としている。
図2は、実施の形態1にかかる通信装置、すなわち、マスタ10、スレーブ20、30および40の構成例を示す図である。なお、図2では、論理インタフェース1および2に接続されているスレーブ20の構成を示している。図2において、矢印はパケットの流れを示している。
スレーブ20は、Ethernetなどの物理層およびMAC(Media Access Control)層を実現する物理インタフェース部201と、時刻補正に必要なパケット解析処理を実施するパケット解析部202と、時刻補正に必要な情報を蓄積しておく補正情報蓄積部203と、補正時間を算出する補正時間算出部204と、プロセッサのクロックなどで実現され、時間をカウントするためのカウンタ205と、受信パケットの受信時刻を示すカウンタ値を記憶するカウンタ値保持部206と、周期通信の開始タイミングを示す開始カウンタ値、周期通信を行う期間の長さを示す通信周期、補正閾値などを保持しておくパラメータ記憶部207と、を備える。なお、カウンタ205は通信装置が持つ時計であってもよく、時間に換算できる情報を得ることが可能なものであれば何でもよい。周期通信とは、マスタ10が通信相手のスレーブをある一定の周期で切り替えながら各スレーブと順番に通信を行うような通信である。
ここで、図2に示した実施の形態1にかかる通信装置、すなわち、マスタ10、スレーブ20、30および40の各部を実現するためのハードウェア構成について説明する。図3は、実施の形態1にかかる通信装置の各部を実現するためのハードウェア構成例を示す図である。
実施の形態1にかかる通信装置の各部は、CPU(Central Processing Unit)、システムLSI(Large Scale Integration)などのプロセッサ301と、RAM(Random Access Memory)、ROM(Read Only Memory)などで構成されるメモリ302と、各種ネットワークに接続するための入出力インタフェース303とにより実現することが可能である。プロセッサ301、メモリ302および入出力インタフェース303はバス300に接続され、バス300を介してデータ、制御情報などの受け渡しを相互に行うことが可能である。
物理インタフェース部201は、入出力インタフェース303により実現される。パケット解析部202は、プロセッサ301およびメモリ302に格納されているプログラムにより実現される。具体的には、プロセッサ301が、パケット解析部202として動作するためのプログラムをメモリ302から読み出して実行することにより、パケット解析部202を実現する。補正時間算出部204は、プロセッサ301およびメモリ302に格納されているプログラムにより実現される。具体的には、プロセッサ301が、補正時間算出部204として動作するためのプログラムをメモリ302から読み出して実行することにより、補正時間算出部204を実現する。補正情報蓄積部203、カウンタ値保持部206およびパラメータ記憶部207は、メモリ302により実現される。カウンタ205はプロセッサが有しているクロックを利用して実現される。
次に、図2を用いて、スレーブ20におけるパケット処理、具体的には、マスタ10が送信したパケットをスレーブ20が受信してスレーブ30へ転送する処理について説明する。マスタ10から送信されたパケットであるパケット11は、論理的なインタフェースである論理インタフェース1から物理インタフェース部201に入力される。なお、パケット11は、論理インタフェース1においてはフレームとして伝送される。物理インタフェース部201は、既知のビット列を検出することによりパケットの先頭を把握し、パケットを受信する。例えば、パケット11が図4に示すようなEthernetフレームの場合は、「プリアンブル/SFD(Start of Frame Delimiter)」がパケットの先頭である。「プリアンブル/SFD」は7バイト長のプリアンブルおよび1バイト長のSFDからなる合計8バイトの情報であり、固定のビットパターンとなっている。なお、Ethernetフレームは、「プリアンブル/SFD」に加えて、フレームの宛先を示す「宛先アドレス」と、フレームの送信元を示す「送信元アドレス」と、フレームを受け取る上位プロトコルのタイプまたはフレームの長さを示す「タイプ/長さ」と、データを格納する「データ部」と、フレームの誤りチェックを行うための「FCS(Frame Check Sequence)」とを含んでいる。「データ部」には、図5に示した構成のIP(Internet Protocol)パケットなどがデータとして格納される。本実施の形態では、IPパケットがデータとしてデータ部に格納されているものとする。
IPパケットは、IPのバージョンおよびIPパケットのヘッダの長さを示す「バージョン/IHL(Internet Header Length)」と、IPパケットの優先度などを示す「ToS(Type of Service)」と、上位プロトコルを示す「プロトコル」と、ヘッダの誤りチェックを行うための「ヘッダチェックサム」と、IPパケットの送信元を示す「送信元アドレス」と、IPパケットの宛先を示す「宛先アドレス」と、データを格納する「データ部」とを含んでいる。
パケット処理の説明に戻り、物理インタフェース部201は、図4に示した構成のパケット11を受信すると、データ部に格納されているIPパケットを取り出し、取り出したIPパケットを受信パケットとしてパケット解析部202へ転送する。パケット解析部202は、物理インタフェース部201から受信パケットを受け取ると、自通信装置宛か他の通信装置宛かを判別し、他の通信装置宛の場合、物理インタフェース部201へ出力する。すなわち、パケット解析部202は、受信パケット内の宛先アドレスが自装置以外を示していれば、他の通信装置宛と判断し、受信パケットを物理インタフェース部201へ出力する。物理インタフェース部201は、パケット解析部202で他の通信装置宛と判断された受信パケットを受け取ると、パケット12として論理インタフェース2へ出力する。このとき、物理インタフェース部201は、パケット解析部202から受け取った受信パケットであるIPパケットを図4に示したフレームの「データ部」に格納し、論理インタフェース2へ出力する。
また、パケット解析部202は、物理インタフェース部201から受け取った受信パケットが自装置宛の場合、図2では記載を省略している上位プロトコルにパケットを転送するなど、受信パケットの内容に応じた処理を実施する。
なお、パケット11が自装置宛か否かをパケット解析部202で判別することとしたが、物理インタフェース部201で判別することも可能である。物理インタフェース部201で判別する場合、物理インタフェース部201は、図4に示したEthernetフレームの宛先アドレスを確認し、自装置以外を示している場合、論理インタフェース2へ転送する。
ここで、本実施の形態にかかるネットワークシステムは、モーションコントロールシステムなど、規定のパケットがマスタ10から定周期で各スレーブへ送信されるシステムに適用されることを前提とする。また、本実施の形態にかかるネットワークシステムでは、マスタ10が定周期で送信するパケットを利用して各スレーブが自装置の時刻を補正することにより、時刻同期手順がネットワークに与える負荷の低減を実現する。
各スレーブが自装置の時刻を補正する動作について説明する。各スレーブにおける時刻補正動作は同じである。ここでは、スレーブ20が時刻を補正する場合について説明する。なお、スレーブ20は、何らかの方法により、自装置の時刻をマスタ10の時刻に同期させた後、マスタ10が定周期で送信するパケットを利用して自装置の時刻を補正する。スレーブ20が自装置の時刻をマスタ10の時刻に同期させる方法としては、非特許文献1に記載された方法を利用できるが、この方法に限定するものではない。
スレーブ20は、自装置の時刻をマスタ10の時刻に同期させる処理が終了した後、マスタ10から定周期で送信されるパケットを受信した時刻に基づいて、自装置の時刻を補正する。具体的には、スレーブ20は、マスタ10から定周期で送信されるパケットを受信すると、パケットを受信した時刻と、定周期で送信されるパケットの送信周期から推定した時刻すなわちパケットの到着予想時刻とを比較することにより、自装置の時刻とマスタ10の時刻のずれを推定する。そして、スレーブ20は、時刻のずれが0に近づくよう、自装置の時刻を補正する。
ネットワークシステム全体の時刻同期処理および時刻補正処理は図6に示したものとなる。
まず、マスタ10、スレーブ20、30および40は、システム起動時、システムの実動作の休止時など、定周期で送信されるパケットの送信をマスタ10が開始する前に、従来からある時刻同期処理100を使用して時刻同期を行う。時刻同期処理100としては、非特許文献1で規定されている方法などを使用する。時刻同期処理100は、補正時間算出部204が実行するものとするがこれに限定されない。時刻同期処理100を行うための処理部を備えるようにしても構わない。以下、定周期で送信されるパケットを「周期パケット」と称する。なお、ネットワークシステムの負荷が低い状態においては、後述する時刻補正処理に代えて、時刻同期処理100を定期的に、または不定期に、マスタ10、スレーブ20、30および40が実行し、時刻が同期した状態を維持するようにしてもよい。マスタ10がモーションコントロールシステムのモーションコントローラの場合、周期パケットは、システム全体の同期タイミングを指定してシステム内の装置間で同期制御を実現するためのパケットに相当する。
時刻同期処理100が終了した後、マスタ10は、周期通信開始パケット110をスレーブ20、30および40へ送信する。周期通信開始パケット110は、マスタ10が周期パケットの送信を開始することをネットワークシステム内に通知するためのパケットである。周期通信開始パケット110は、マスタ10が周期パケットの送信を開始する時刻である、周期パケットの送信開始時刻の情報を含んでいるものとする。本実施の形態では、マスタ10が周期パケットの送信を開始する時刻はマスタ10が周期通信を開始する時刻と一致する。周期パケットの送信周期は、ネットワークシステムを構築する際にマスタ10、スレーブ20、30および40に設定しておいてもよいし、周期通信開始パケット110によりマスタ10がスレーブ20、30および40に通知するようにしてもよい。
マスタ10は、周期通信開始パケット110を送信した後、周期通信開始パケット110で各スレーブに通知した、周期パケットの送信開始時刻になると、周期パケット60を送信する。
スレーブ20は、周期パケット60を受信すると、周期パケット60をスレーブ30へ転送するとともに、周期パケット60の受信時刻、周期パケットの送信開始時刻および周期パケットの送信周期に基づいて、自装置の時刻を補正する。時刻を補正する動作の詳細については後述する。
スレーブ30は、スレーブ20と同様に、周期パケット60を受信すると、周期パケット60をスレーブ40へ転送するとともに、周期パケット60の受信時刻、周期パケットの送信開始時刻および周期パケットの送信周期に基づいて、自装置の時刻を補正する。
スレーブ40は、周期パケット60を受信すると、周期パケット60の受信時刻、周期パケットの送信開始時刻および周期パケットの送信周期に基づいて、自装置の時刻を補正する。
マスタ10は、周期パケット60を送信した後、規定時間すなわち周期パケットの送信周期が経過すると、周期パケット70を送信する。スレーブ20、30および40は、周期パケット70を受信すると、周期パケット60を受信した場合と同様の処理を行い、自装置の時刻を補正する。なお、図6では、説明を簡単化するため、スレーブ20、30および40が周期パケットを受信するごとに時刻補正を行う場合の例を示しているが、周期パケットを規定回数受信した場合に時刻補正を行うようにしてもよい。一般的に、周期パケットの送信周期は短く、1送信周期の間に時刻がずれる量は、モーションコントロール等を行う上で問題とはならない。そのため、処理負荷が必要以上に増大することがないよう、各スレーブは周期パケットを規定回数受信した場合に時刻補正を実施することが望ましい。
マスタ10は、周期パケット70を送信した後、規定時間が経過するごとに、周期パケットを送信する。また、マスタ10は、周期パケットの送信タイミング以外において、通常パケットを送信する。図6では、マスタ10が周期パケット60と周期パケット70の間に通常パケット55を送信する場合を示している。通常パケットは、周期パケットに該当しないパケットであり、不定期に送信される。マスタ10が軸制御に必要な制御データをスレーブ20,30,40へ送信するためのパケットなどが通常パケットに該当する。図6では、周期パケットの送信タイミングの間に通常パケットが1つだけ送信される例を示しているが、通常パケットが複数送信される場合もある。また、スレーブ20,30,40からマスタ10へ通常パケットが送信される場合もある。
マスタ10、スレーブ20、30および40が時刻を補正する動作の具体例を示す。スレーブ20、30および40は、時刻同期処理100を行い自装置の時刻を調整すると、調整後の時刻に対応したカウンタ値を周期通信の先頭位置として設定する。カウンタ値はカウンタ205の値であり、マスタ10のカウンタ値、すなわちマスタ10のカウンタ205のカウンタ値をM10_C、スレーブ20のカウンタ値をS20_C、スレーブ30のカウンタ値をS30_C、スレーブ40のカウンタ値をS40_Cとする。また、カウンタ205の値は1μ秒ごとに1増加するのものとする。
時刻同期処理100によって、マスタ10、スレーブ20、30および40の時刻を10時0分0秒000m秒000μ秒に一致させ、この時のマスタ10、各スレーブのカウンタ値がカウンタ値M10_C=500、カウンタ値S20_C=70000、カウンタ値S30_C=3000、カウンタ値S40_C=200であるものとする。
マスタ10が周期通信開始パケット110により、周期通信、すなわち周期パケットの送信を10時0分0秒010m秒000μ秒から開始する旨をスレーブ20、30および40に通知した場合について考える。この場合、最初の周期パケット60が送信される時刻に対応する、マスタ10、スレーブ20、30および40のカウンタ値は、それぞれ、M10_C=10500、S20_C=80000、S30_C=13000、S40_C=10200となる。また、周期パケットの送信周期が1m秒であれば、周期パケットの送信周期と一致する通信周期は1000となる。なお、上述したように、通信周期は周期通信を行う期間の長さを示す。この場合、周期パケット70が送信される時刻に対応する、マスタ10、スレーブ20、30および40のカウンタ値は、それぞれ、M10_C=11500、S20_C=81000、S30_C=14000、S40_C=11200となる。各スレーブが周期パケット70を受信したときのカウンタ値がこれらと一致している場合、時刻が同期しているといえる。
次に、スレーブ20、30および40が時刻を補正する動作について、図2および図7を用いて説明する。図7は、スレーブ20における時刻補正動作を示すフローチャートである。なお、スレーブ30および40における時刻補正動作はスレーブ20における時刻補正動作と同じである。ここでは、スレーブ20が図4に示した構成のEthernetフレームをパケット11として受信し、Ethernetフレームの「データ部」には、図5に示した構成のIPパケットが格納されているものとして説明を行う。
スレーブ20は、まず、周期通信の開始カウンタ値CS、通信周期Pおよび周期回数Mを設定する(ステップS10)。各設定値は、パラメータ記憶部207が保持する。
このステップS10で設定する開始カウンタ値CSは、周期通信の先頭位置に対応する、カウンタ205のカウンタ値である。すなわち、ここでの開始カウンタ値CSは、スレーブ20が周期通信開始パケット110を受信した後、最初の周期パケットの受信時刻を示すカウンタ値である。スレーブ20の時刻がマスタ10の時刻に同期しており、かつマスタ10における周期パケットの送信処理などにおいて処理遅延が発生していない場合、周期パケットは、カウンタ205のカウンタ値が開始カウンタ値CSとなるタイミングでスレーブ20に到着する。なお、詳細については後述するが、開始カウンタ値CSは、補正時間算出部204によって適宜補正される。補正後の開始カウンタ値CSは、次に受信する周期パケットの受信予想時刻を示す。
周期回数Mは、通信周期Pが経過するごとに1インクリメントされる情報である。周期回数Mは、ステップS10においてM=0に設定される。スレーブ20は、図6に示した時刻同期処理100を実行して自装置の時刻をマスタ10の時刻に同期させた後、周期通信開始パケット110を受信すると、図7のステップS10を実行する。時刻同期処理100では、マスタ10から送信されたパケットがスレーブ20に到着するまでの所要時間である伝送遅延時間を測定するため、スレーブ20は、この伝送遅延時間と、周期通信開始パケット110で通知される周期パケットの送信開始時刻とに基づいて、上記開始カウンタ値CSを算出する。
スレーブ20は、ステップS10を実行後、補正情報記録回数nをn=0に初期化する(ステップS11)。スレーブ20においては、補正時間算出部204がステップS10およびS11を実行する。
ステップS11を実行後、スレーブ20は、通信周期Pが経過したか否か、および、パケットを受信したか否かを継続して監視する(ステップS12からS14)。具体的には、スレーブ20は、まず、通信周期Pが経過したか否かを確認し(ステップS12)、通信周期Pが経過した場合には(ステップS12:Yes)、パラメータ記憶部207で保持している周期回数Mを1インクリメントする(ステップS13)。通信周期Pが経過していない場合(ステップS12:No)、および、ステップS13を実行した場合、スレーブ20は、パケットを受信したか否かを確認する(ステップS14)。スレーブ20は、パケットを受信した場合(ステップS14:Yes)、ステップS15およびこれに続く処理を実行し、パケットを受信していない場合には(ステップS14:No)、ステップS12に戻る。これらのステップS12からS14のうち、ステップS12およびS13については補正時間算出部204が実行し、ステップS14については物理インタフェース部201が実行する。
パケット解析部202は、カウンタを利用して通信周期Pが経過したか否かを判断する。パケット解析部202は、通信周期カウント用の専用のカウンタを使用して通信周期Pのカウントを行ってもよいし、図2に示したカウンタ205を利用してカウントを行ってもよい。
物理インタフェース部201は、論理インタフェース1からパケット11が入力され、パケット11が自装置で処理すべきパケットかつパケットに誤りがない場合、パケットを受信したと判断する(ステップS14:Yes)。物理インタフェース部201は、宛先アドレスがブロードキャストアドレスまたは自装置を示すアドレスであり、かつFCSによる誤り判定で誤りが検出されなければ、パケットを受信したと判断する。
パケットを受信した場合(ステップS14:Yes)、物理インタフェース部201は、カウンタ205に対してカウンタ値をカウンタ値保持部206へ出力するよう指示するとともに、受信したパケットをパケット解析部202へ出力する。物理インタフェース部201から上記の指示を受けたカウンタ205はカウンタ値をカウンタ値保持部206へ出力する。カウンタ値保持部206は、カウンタ205から出力されたカウンタ値をパケットの受信タイミングすなわち受信時刻を示すカウンタ値CNとして記録する(ステップS15)。なお、カウンタ値保持部206は、カウンタ205から出力されたカウンタ値をカウンタ値CNとして記録する際、それまで保持していたカウンタ値CNを削除する。すなわち、カウンタ値保持部206は、カウンタ205からカウンタ値が出力されるごとに、保持しているカウンタ値CNを更新する。また、物理インタフェース部201がパケット解析部202へ出力するパケットは、図5に示した構成のIPパケット、すなわち、図4に示したフレームの「データ部」から取り出されたIPパケットである。
パケット解析部202は、物理インタフェース部201からIPパケットを受け取ると、周期パケットか否かを確認する(ステップS16)。IPパケットが周期パケットか否かをパケット解析部202が判定する方法としては、周期パケットであることを示す情報が含まれているか否かによって判断する方法が考えられるが、他の方法で判定してもよい。周期パケットか否かをどのような方法で判定しても構わない。
パケット解析部202は、受け取ったパケットが周期パケットではない場合(ステップS16:No)、時刻補正のための処理としては何も行わない。この場合はステップS12に戻り、通信周期Pが経過したか否かを確認するとともに、物理インタフェース部201が次のパケットの受信を待つ。このとき、スレーブ20は受信したパケットの内容に応じた処理を行うが、図7では記載を省略している。パケット解析部202は、受け取ったパケットが周期パケットの場合(ステップS16:Yes)、パケット受信時のカウンタ値CNをカウンタ値保持部206から読み出し、読み出したカウンタ値と本来周期パケットを受信する時刻を示すカウンタ値との差分βを算出するとともに、差分βの絶対値が規定の補正閾値α以下か否かを確認する。すなわち、パケット解析部202は、「-α≦β≦α」を満たしているか否かを確認する(ステップS17)。ここで、本来周期パケットを受信する時刻を示すカウンタ値を基準カウンタ値とすると、基準カウンタ値は「基準カウンタ値=CS+P×M」で表される。補正閾値αは、スレーブ20の時刻がマスタ10の時刻からずれたことに伴う周期パケットの受信時刻の誤差の発生ではなく、他の要因により周期パケットの受信時刻に誤差が生じた場合に、時刻を誤って補正してしまうことを防止するためのものである。通常、スレーブ20の時刻はマスタ10の時刻から徐々にずれていくため、周期パケットを受信した時刻と本来周期パケットを受信する時刻の差分βが急に大きくなった場合、すなわち、差分βが補正閾値αよりも大きくなった場合、マスタ10の処理負荷が増大するなどの理由により処理遅延が発生し、周期パケットの受信時刻に誤差が生じたと推定することができる。よって、パケット解析部202は、差分βが補正閾値αよりも大きい場合、差分βを破棄する。補正閾値αは、パラメータ記憶部207に予め設定されているものとする。
パケット解析部202は、「-α≦β≦α」ではない場合(ステップS17:No)、何も行わない。この場合はステップS12に戻り、物理インタフェース部201が次のパケットの受信を待つ。パケット解析部202は、「-α≦β≦α」の場合(ステップS17:Yes)、補正情報記録回数nを1インクリメントし、差分βを補正情報蓄積部203に記録する(ステップS18)。
補正時間算出部204は、補正情報記録回数nが規定回数Nに達したかどうかを監視しており(ステップS19)、n<Nの場合(ステップS19:No)、何も行わない。この場合はステップS12に戻り、物理インタフェース部201が次のパケットの受信を待つ。なお、Nは1以上の整数とする。一方、n=Nの場合(ステップS19:Yes)、補正時間算出部204は、補正情報蓄積部203に記録されている差分βに基づいて、補正値γを計算する(ステップS20)。このステップS20において、補正時間算出部204は、補正値γを前回計算してから現在までの間に補正情報蓄積部203に記録された差分βの平均値を算出し、補正値γとする。すなわち、補正時間計算部204は、γ=Σβ/Nを計算する。Σβは、補正値γを前回計算してから現在までの間に補正情報蓄積部203に記録された差分βの和である。なお、補正時間計算部204は、ステップS20において補正値γを計算する際、補正情報蓄積部203で記録されているN個の差分βを削除する処理も併せて行う。
次に、補正時間算出部204は、ステップS20で計算した補正値γを用いて、パラメータ記憶部207で記憶されている開始カウンタ値CSを補正するとともに、時刻を補正する(ステップS21)。このステップS21において、補正時間算出部204は、開始カウンタ値CSに対し、γおよびP×Mを加算することにより、開始カウンタ値CSを補正する。補正後の開始カウンタ値CSは、次の周期パケットを正常に受信する場合の周期パケットの到着タイミングを示す、カウンタ205のカウンタ値である。「周期パケットを正常に受信する」とは、スレーブ20の時刻がマスタ10の時刻に同期しており、かつマスタ10における周期パケットの送信処理などにおいて処理遅延が発生することなく周期パケットを受信する、という意味である。時刻の補正は補正値γを用いて行う。時刻の補正方法は、スレーブ20における時刻の管理方法に依存する。例えば、スレーブ20がカウンタ205のカウンタ値と実際の時刻の対応テーブルを保持している場合、対応テーブルを更新することにより時刻を補正する。例えば、スレーブ20が、「カウンタ205のカウンタ値=500の場合、時刻=10時0分0秒000m秒000μ秒」であることを示す対応テーブルを保持している状態において、補正時間算出部204が補正値γ=15を算出した場合、対応テーブルを「カウンタ205のカウンタ値=515の場合、時刻=10時0分0秒000m秒000μ秒」であることを示す内容に更新する。補正時間算出部204が補正値γ=15を算出した場合の対応テーブルの更新方法は一例であり、これに限定されない。対応テーブル内のカウンタ値を更新するのではなく、カウンタ値に対応する時刻の方を更新しても構わない。
なお、図7に示した例では補正情報の記録回数が規定値Nに達した場合、すなわち、補正情報蓄積部203が差分βをN個記録した場合に補正時間算出部204が補正値γを計算することとしたが、前回時刻補正を行ってから規定時間が経過した場合に補正値γを算出して時刻補正を行うようにしてもよい。
次に、図8を用いて、実施の形態1のネットワークシステム全体の時刻補正処理の具体例を説明する。図8では、図6に示した時刻同期処理100および周期通信開始パケット110の送信が実施された後の動作例を示している。
ネットワークシステムにおいて、マスタ10は、図6に示した時刻同期処理100を実行し、さらに、周期通信開始パケット110により周期パケットの送信開始時刻をスレーブ20、30および40に通知する。その後、マスタ10は、周期通信開始パケット110により各スレーブに通知した送信開始時刻になると、まず、周期パケット60を送信する。さらに、通信周期50が経過するごとに、周期パケット70、80および90を順次送信する。図8の例では、マスタ10は、時刻T1において周期パケット60を送信した後、時刻T6、T11およびT16において、周期パケット70、80および90を送信する。
時刻T1にマスタ10から送信された周期パケット60は、各スレーブにおいて時刻ずれが発生しておらず、かつ遅延揺らぎも発生していない状態で、スレーブ20、30および40に到着している。すなわち、周期パケット60は、各スレーブが保持している開始カウンタ値CSが示す本来の到着時刻に周期パケットが各スレーブに到着している。図8の例では、周期パケット60は、時刻T1にマスタ10から送信された後、時刻T2にスレーブ20に到着している。周期パケット60がマスタ10に送信されてからスレーブ20に到着するまでの伝送遅延時間は遅延61である。その後、周期パケット60はスレーブ20により転送され、時刻T3にスレーブ30に到着している。周期パケット60がマスタ10に送信されてからスレーブ30に到着するまでの伝送遅延時間は遅延62である。さらに、周期パケット60は、スレーブ30により転送され、時刻T4にスレーブ40に到着している。周期パケット60がマスタ10に送信されてからスレーブ40に到着するまでの伝送遅延時間は遅延63である。
周期パケット60が本来の到着時刻にスレーブ20、30および40に到着しているため、スレーブ20、30および40は、周期パケット60を受信すると、上述した差分βとして、0を補正情報蓄積部203にそれぞれ記録する。
時刻T6にマスタ10から送信された周期パケット70は、本来であれば、時刻T7にスレーブ20に到着する筈である。しかし、スレーブ20の時刻とマスタ10の時刻のずれ、または処理遅延の影響により、伝送遅延時間に揺らぎ71が発生し、本来とは異なる到着時刻に周期パケット70がスレーブ20に到着している。また、周期パケット70は、スレーブ20により転送された後、本来であれば、時刻T8にスレーブ30に到着する筈であるが、伝送遅延時間に揺らぎ72が発生し、本来とは異なる到着時刻にスレーブ30に到着している。また、周期パケット70は、スレーブ30により転送された後、本来の到着時刻である時刻T9にスレーブ40に到着している。よって、揺らぎ73は0となっている。ここで、スレーブ20への周期パケット70の到着時刻は、スレーブ20の時刻が少し進んだ、もしくは周期パケット70の到着が少し遅れたことにより、揺らぎ71が発生し、伝送遅延時間が少し増えたものとする。また、スレーブ30への周期パケット70の到着時刻は、スレーブ30の時刻が少し遅れた、もしくは周期パケット70の到着が少し早くなったことにより、遅延が少し減少した状態の揺らぎ72が発生したものとする。なお、伝送遅延時間が増える要因は、スレーブの時刻がマスタ10の時刻よりも遅れた場合、処理遅延の発生、が考えられる。一方、伝送遅延時間が減少する要因は、スレーブの時刻がマスタ10の時刻よりも進んだ場合が考えられる。
スレーブ20、30および40は、周期パケット70を受信すると、上述した差分βとして、揺らぎ71、72および73を補正情報蓄積部203にそれぞれ記録する。
時刻T11にマスタ10から送信された周期パケット80は、本来であれば、時刻T12にスレーブ20に到着する筈である。しかし、スレーブ20の時刻とマスタ10の時刻のずれ、または処理遅延の影響により、伝送遅延時間に揺らぎ81が発生し、本来とは異なる到着時刻に周期パケット80がスレーブ20に到着している。また、周期パケット80は、スレーブ20により転送された後、本来であれば、時刻T13にスレーブ30に到着する筈であるが、伝送遅延時間に揺らぎ82が発生し、本来とは異なる到着時刻にスレーブ30に到着している。また、周期パケット80は、スレーブ30により転送された後、本来の到着時刻である時刻T14にスレーブ40に到着している。よって、揺らぎ83は0となっている。
スレーブ20、30および40は、周期パケット80を受信すると、上述した差分βとして、揺らぎ81、82および83を補正情報蓄積部203にそれぞれ記録する。
時刻T16にマスタ10から送信された周期パケット90は、本来であれば、時刻T17にスレーブ20に到着する筈である。しかし、スレーブ20の時刻とマスタ10の時刻のずれ、または処理遅延の影響により、伝送遅延時間に揺らぎ91が発生し、本来とは異なる到着時刻に周期パケット90がスレーブ20に到着している。また、周期パケット90は、スレーブ20により転送された後、本来であれば、時刻T18にスレーブ30に到着する筈であるが、伝送遅延時間に揺らぎ92が発生し、本来とは異なる到着時刻にスレーブ30に到着している。また、周期パケット90は、スレーブ30により転送された後、本来の到着時刻である時刻T19にスレーブ40に到着している。よって、揺らぎ93は0となっている。
ここで、スレーブ20への周期パケット90の伝送遅延時間は揺らぎ91を含むが、補正閾値51より大きいものとする。このようなケースでは、スレーブ30および40は、周期パケット90を受信すると、上述した差分βとして、揺らぎ92および93を補正情報蓄積部203にそれぞれ記録する。一方、スレーブ20は、揺らぎ91を補正情報蓄積部203に記録しない。すなわち、スレーブ20は、周期パケット90を受信した場合には差分βを補正情報蓄積部203に記録しない。この場合、周期パケット90の受信が完了した時点では、スレーブ20の補正情報蓄積部203は、0、揺らぎ71および揺らぎ81を上述した差分βとして記録するとともに、揺らぎを記録した回数すなわち差分βを記録した回数(ここでは3回)を記録することになる。揺らぎ91に関しては、上述した補正閾値αに相当する補正閾値51を超えているため、スレーブ20の補正情報蓄積部203は記録しない。
以下、同様にして、マスタ10は周期パケットを送信し、スレーブ20、30および40は、周期パケットを受信するごとに、差分βを算出し、差分βが補正閾値α以下であれば、補正情報蓄積部203に記録し、差分βの記録回数nをインクリメントする。
スレーブ20、30および40は、記録回数nがNになると、以下の計算を行う。以下の計算はスレーブ20、30および40の補正時間算出部204が行う。マスタ10から周期パケット60が到着する本来の時刻を示す周期通信の開始カウンタ値をCS、周期パケットが送信される周期である通信周期をP、通信周期が経過した回数を示す周期回数をM、補正閾値をα、揺らぎ、すなわち本来の伝送遅延時間との差分をβ、差分の記録回数をN、補正値をγ、補正後のカウンタ値をCとすると、補正値を平均値で求めるとすれば、補正時間算出部204は、以下の式(1)および(2)に従い、周期回数Mのカウンタ値Cを算出する。カウンタ値Cは、時刻補正後に最初に受信する周期パケットの到着予想時刻を示す。補正値γは差分βの平均値である。
C=CS+P×M+γ …(1)
γ=Σβ/N、ただし-α≦β≦α …(2)
γ=Σβ/N、ただし-α≦β≦α …(2)
カウンタ205が1μ秒ごとに1増加するものとした場合、マスタ10の時刻との差である時刻の補正値は、γ(μ秒)となる。
なお、揺らぎは負の値になることがあるため、βおよびγは負の値となることもある。また、補正値γの算出方法は、平均値だけでなく中心値または最尤値としてもよい。補正に用いる回数は時間であってよい。すなわち、規定時間が経過するごとに、補正情報蓄積部203が記録している差分βおよび記録回数Nに基づいて補正値γを算出してもよい。本発明では補正値γを算出するためのアルゴリズムについては規定しない。
以上のように、本実施の形態のネットワークシステムにおいて、スレーブ20、30および40は自装置の時刻をマスタ10の時刻に同期させた後、マスタ10から定周期で送信される周期パケットを受信すると、自装置の時刻とマスタ10の時刻のずれを示す差分βを算出し、差分βに基づいて時刻の補正値を算出することとした。これにより、スレーブ20、30および40は、自装置の時刻をマスタの時刻に同期させた後、トラフィックが増加するのを回避しつつ時刻を補正することができる。すなわち、自装置の時刻をマスタの時刻に同期させる処理で必要なトラフィックを削減することができる。特に、マスタがスレーブの動作を制御するための送信を行っている状態での時刻補正動作ではトラフィックが増加しないため、マスタによるスレーブの制御動作に時刻補正動作が悪影響を与えるのを防止できる。
実施の形態2.
実施の形態2のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
実施の形態2のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
モーションコントロールシステムで使用される通信方式として、マスタと通信するスレーブを周期的に切り替えながら行う方式が存在する。図1に示した構成のネットワークシステムにおいて、例えば、図9に示したように、まず、マスタ10とスレーブ20がある通信周期で通信を行い、次の通信周期ではマスタ10とスレーブ30が通信を行う。さらに次の通信周期ではマスタ10とスレーブ40が通信を行い、マスタ10とスレーブ40の通信周期が終了すると、次の通信周期ではマスタ10とスレーブ20が通信する。以下、同様にして、各スレーブが順番にマスタ10と通信する。各通信周期ではマスタ10と決められた1台のスレーブが通信を行う。マスタ10は、各通信周期の開始時には、その通信周期で通信を行うスレーブ宛に周期パケットを送信する。
このような、マスタ10が通信相手のスレーブを一定周期(通信周期)で切り替えて各スレーブと順番に通信を行い、かつ各通信周期において周期パケットを最初に送信する構成の場合、スレーブ20は、受信したパケットのアドレスに基づいて、受信パケットが周期パケットか否かを判別できる。すなわち、連続して受信した2つのパケットの宛先アドレスが異なる場合、後から受信したパケットが周期パケットとなるので、スレーブ20は、マスタ10からパケットを受信するごとに、受信パケットの宛先アドレスを確認し、前回の受信パケットの宛先アドレスと異なる場合、受信パケットが周期パケットであると判別できる。スレーブ30も同様に、受信したパケットの宛先アドレスに基づいて、受信したパケットが周期パケットか否かを判別できる。
図9の例では、周期パケットの宛先アドレスにスレーブ20、30または40のアドレスを設定しているため、スレーブ40は受信したパケットの宛先アドレスのみに基づいて受信パケットが周期パケットか否かを判別することはできない。しかし、スレーブ40に周期パケットが到着する前は、通信周期の2倍以上の時間にわたってパケットがスレーブ40に到着しない状態が続く。そのため、スレーブ40は、例えば、パケットを受信しない状態が通信周期の2倍以上の時間にわたって続いた後に最初に受信したパケットを周期パケットと判別できる。
また、マスタ10が、周期パケットの宛先アドレスにブロードキャストアドレスを設定して送信する場合、各スレーブは、受信したパケットの宛先がユニキャストアドレスからブロードキャストアドレスに変化したか否かを監視することにより、受信したパケットが周期パケットか否かを判別できる。
以上のように、マスタ10が通信相手のスレーブを一定周期(通信周期)で切り替えて各スレーブと順番に通信を行い、かつ各通信周期において周期パケットを最初に送信する構成の場合、各スレーブは、受信したパケットの宛先アドレスに基づいて、周期パケットの受信を検知し、実施の形態1と同様の手順で時刻を補正することができる。
実施の形態3.
実施の形態3のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
実施の形態3のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
ネットワークシステムを構成している通信装置のうち、マスタ10が無線LANのアクセスポイント、スレーブ20、30および40が無線LANの端末の場合、実施の形態1で説明した周期パケットとしてビーコンを使用することができる。
IEEE802.11規格の無線LANでは、アクセスポイントが周期的にビーコンを送信する。そのため、ネットワークシステムを無線LANシステムのアクセスポイントおよび端末で実現する場合、端末であるスレーブ20、30および40は、アクセスポイントであるマスタ10から周期的に送信されるビーコンを実施の形態1で説明した周期パケットとして扱い、ビーコンの受信時刻に基づいて自装置の時刻を補正することが可能である。
また、ネットワークシステムをLANシステムとした場合、LANを構成している各通信装置が他の通信装置の状態確認などを行うために周期的に送信するハートビートパケットを実施の形態1で説明した周期パケットとして使用することも可能である。なお、LANシステムは、無線LANシステムであってもよいし有線LANシステムであってもよい。ハートビートパケットか否かは、スレーブとして動作する各通信装置のパケット解析部202が、受信したパケットのデータ部を解析することにより判別する。各スレーブが受信するパケットの構成は、実施の形態1で説明した構成、すなわち、図5に示した構成と同じである。
以上のように、無線LANのアクセスポイントおよび端末によりネットワークシステムを実現した場合、周期パケットとしてビーコンまたはハートビートパケットを使用することにより、実施の形態1と同様の手順で各スレーブが時刻を補正することができる。また、有線LANシステムでネットワークシステムを実現した場合、周期パケットとしてハートビートパケットを使用し、実施の形態1と同様の手順で各スレーブが時刻を補正することができる。
なお、無線LANのアクセスポイントおよび端末によりネットワークシステムを実現した場合、各スレーブは、ビーコンおよびハートビートパケットの双方を周期パケットとして扱い、これらの受信時刻に基づいて自装置の時刻を補正するようにしてもよい。
ここで、実施の形態1,2では、マスタと各スレーブが通信する通信周期の最初に周期パケットが送信させるものとして説明を行った。しかし、上記のハートビートパケットは、通信周期の最初以外で送信される周期パケットに該当する。また、通信周期の最後を示すパケットを送信するシステムも考えられる。このような、通信周期の最初以外で周期パケットが送信される場合であっても、周期パケットを利用した時刻補正が可能である。通信周期の最初以外で周期パケットが送信される場合であっても各スレーブが時刻補正を行う手順は実施の形態1と同様である。
上記のハートビートパケットを周期パケットとして使用する場合の例を説明する。周期パケットをハートビートパケットとする場合、マスタ1は、図6に示した周期通信開始パケット110を送信する際、周期通信の開始時刻である周期パケットの送信開始時刻の情報に代えて、周期通信開始パケット110を送信した後の最初のハートビートパケットの送信時刻の情報を送信する。なお、周期パケットの送信周期はハートビートパケットの送信周期とする。
ハートビートパケットの送信周期をP’、周期通信開始パケット110を送信した後の最初のハートビートパケットの送信時刻をCS、送信時刻CSと周期通信の開始時刻とのオフセットをkとすると、周期通信の開始カウンタ値CS’は、次式(3)で表される。また、実施の形態1において式(1)で示したカウンタ値Cは、次式(4)で表される。
CS’=CS+k …(3)
C=CS+k+P’×M+γ …(4)
C=CS+k+P’×M+γ …(4)
実施の形態4.
実施の形態4のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
実施の形態4のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
各実施の形態で説明した時刻補正動作は、従来の時刻同期手順で使用していた時刻同期を実現するための専用のパケットを使用して時刻を補正するのではなく、他の周期パケットを用いて時刻を補正するため、揺らぎを測定する周期パケットは毎回同じタイミングで受信される必要がある。すなわち、周期パケットが途中で紛失し再送パケットとして受信され、かつ再送かどうかを示す情報がなければ、周期パケットの実際の受信タイミングと本来受信すべきタイミングの誤差がどの程度であるかを正確に判断できなくなる。従って、実施の形態1で説明した補正閾値αは、本来周期パケットを受信する時刻である周期パケットの到着予想時刻よりも1パケット分以上前後しないようにするのが望ましい。例えば、図4のEthernetフレームを100Mbpsの回線を使用して最大負荷で通信する場合、最小フレーム長は84バイトであるから、このフレームの転送時間は6.72μ秒である。この場合には、補正閾値αを6.72μ秒より小さい値とするのが望ましい。補正閾値をこのように設定することで、再送された周期パケットの受信時刻を用いて時刻を補正するのを回避できる。転送時間とは、フレームを転送する処理の所要時間である。逆に、実効スループットが小さく、送信するパケットの間隔が大きければ、補正閾値αの値を大きくしてよいが、この値が大きすぎると再送パケットと区別しにくくなるため、時刻補正の精度が悪くなる。そのため、システムに要求される時刻同期精度が実現可能な値を補正閾値αに設定する。
このように、本実施の形態の各スレーブが時刻補正動作で使用する補正閾値αは、1パケットの転送処理の所要時間よりも小さな値に設定する。これにより、再送された周期パケットなど、遅延揺らぎが大きいパケットを受信した場合の差分βを除外し、遅延揺らぎが小さい周期パケットを受信した場合の差分βのみを補正情報蓄積部203に記録することができる。よって、遅延揺らぎが小さい周期パケットを受信した場合の差分βのみを用いて補正時間算出部204が補正値γを算出することになり、時刻補正の精度が劣化するのを防止できる。
実施の形態5.
実施の形態5のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
実施の形態5のネットワークシステムについて説明する。なお、ネットワークシステムの構成およびネットワークシステムを構成している通信装置の構成は実施の形態1と同様である。
実施の形態1のスレーブでは、周期回数Mのカウンタ値Cの補正で使用する補正値γの計算を、差分βをN回記録した場合に行うようにしていた。しかし、差分βをN回記録する前に時刻の同期ずれが大きくなり差分βが補正閾値αを継続して超えているような状態となる可能性がある。この場合、差分βの記録回数がNとならず、補正が実行されない。そのため、各スレーブは、差分βの直近の平均値、すなわち補正値γが補正閾値αを超えそうになった場合、または、差分βの増減の傾向が補正閾値αを超えそうになった場合にカウンタ値Cを補正するのが望ましい。
例えば、上記Nを細分化し、N(0)、N(1)、…、N(t)、…、とし、それぞれの補正値をγ(0)、γ(1)、…、γ(t)、…、とする。現在時間tにおける補正値γ(t)から次の時間t+1の補正値γ(t+1)を予測すると次式(5)となる。
γ(t+1)=γ(t)+(γ(t)-γ(t-1)) …(5)
γ(t+1)=γ(t)+(γ(t)-γ(t-1)) …(5)
そのため、各スレーブでは、予測した補正値γ(t+1)が次式(6)を満足するか否かを監視し、満足する場合には、補正処理、すなわち、図7に示したステップS20およびS21の処理を実行する。ステップS20では、補正時間算出部204が、補正情報蓄積部203がそれまで保持していた差分βを用いて補正値γを算出する。
|γ(t+1)|>α …(6)
|γ(t+1)|>α …(6)
また、各スレーブでは、差分βが規定回数にわたって補正閾値αよりも大きくなっている状態を検知した場合に補正処理を行うようにしてもよい。
このように、本実施の形態のスレーブは、時刻の同期ずれ、すなわち差分βが大きくなったと判断した場合、補正処理を実行する。これにより、補正処理が実行されなくなるのを回避できる。
なお、各実施の形態では、モーションコントロールシステムのマスタが時刻の発生源となり、マスタの時刻に各スレーブが時刻を合わせることとしたが、スレーブの中の1台を時刻の発生源とし、これに他のスレーブ、マスタが時刻を同期させるようにしてもよい。実施の形態3において周期パケットの例として説明したハートビートパケットは、無線LANを構成している各通信装置、すなわち、マスタに相当するアクセスポイントおよびスレーブに相当する端末のいずれからも送信される。従って、スレーブも周期パケットを送信することが可能な構成のシステムにおいては、スレーブを時刻の発生源とすることが可能である。スレーブを時刻の発生源とする場合、マスタは、時刻の発生源以外のスレーブと同様の手順で自装置の時刻を補正する。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1,2,3 論理インタフェース、10 通信装置(マスタ)、20,30,40 通信装置(スレーブ)、11,12 パケット、201 物理インタフェース部、202 パケット解析部、203 補正情報蓄積部、204 補正時間算出部、205 カウンタ、206 カウンタ値保持部、207 パラメータ記憶部、300 バス、301 プロセッサ、302 メモリ、303 入出力インタフェース。
Claims (16)
- 時間をカウントするためのカウンタと、
自装置宛のパケットまたはブロードキャストされたパケットを受信した場合に前記カウンタのカウンタ値を記録するカウンタ値保持部と、
前記パケットがネットワーク内に定周期で送信されるパケットである周期パケットか否かを判定し、前記パケットが前記周期パケットである場合には前記カウンタ値保持部が記憶しているカウンタ値と前記周期パケットの本来の受信時刻を示すカウンタ値との差分を算出するパケット解析部と、
前記差分に基づいて、自装置の時刻と前記周期パケットの送信元の装置の時刻とのずれを補正するための補正値を算出する補正時間算出部と、
を備えることを特徴とする通信装置。 - 前記パケット解析部が算出した前記差分を記録する補正情報蓄積部、
を備え、
前記補正時間算出部は、前記補正情報蓄積部に蓄積された前記差分の個数が規定値に達した場合、前記補正情報蓄積部で記録されている差分を用いて前記補正値を算出する、
ことを特徴とする請求項1に記載の通信装置。 - 前記補正情報蓄積部は、前記パケット解析部で算出された差分に対応する時間が前記周期パケットの転送時間以下の場合に当該差分を記録する、
ことを特徴とする請求項2に記載の通信装置。 - 前記補正時間算出部は、前記差分に対応する時間が前記周期パケットの転送時間以上となることが予測される場合に前記補正値を算出することを特徴とする請求項1に記載の通信装置。
- 他の通信装置の時刻に自装置の時刻を同期させて動作する通信装置における時刻補正方法であって、
自装置宛のパケットまたはブロードキャストされたパケットを受信した場合に時刻をカウントするためのカウンタのカウンタ値を記録するカウンタ値記録ステップと、
前記パケットがネットワーク内に定周期で送信されるパケットである周期パケットか否かを判定するパケット判定ステップと、
前記パケットが前記周期パケットである場合に前記カウンタ値記録ステップで記録したカウンタ値と前記周期パケットの本来の受信時刻を示すカウンタ値との差分を算出する差分算出ステップと、
前記差分に基づいて、自装置の時刻と前記周期パケットの送信元の装置の時刻とのずれを補正するための補正値を算出する補正値算出ステップと、
を含むことを特徴とする時刻補正方法。 - 定周期でパケットを送信するマスタの通信装置と、
自装置の時刻を前記マスタの通信装置の時刻に同期させて動作するスレーブの通信装置と、
を備え、
前記スレーブの通信装置は、
時間をカウントするためのカウンタと、
自装置宛のパケットまたはブロードキャストされたパケットを受信した場合に前記カウンタのカウンタ値を記録するカウンタ値保持部と、
前記パケットが前記マスタの通信装置から定周期で送信されたパケットである周期パケットか否かを判定し、前記パケットが前記周期パケットである場合には前記カウンタ値保持部が記憶しているカウンタ値と前記周期パケットの本来の受信時刻を示すカウンタ値との差分を算出するパケット解析部と、
前記差分に基づいて、自装置の時刻と前記マスタの通信装置の時刻とのずれを補正するための補正値を算出する補正時間算出部と、
を備えることを特徴とするネットワークシステム。 - 前記マスタの通信装置が、一定周期で通信相手のスレーブの通信装置を切り替えながら前記スレーブの通信装置の各々と順番に通信し、かつ通信相手を切り替えた後に宛先がブロードキャストアドレスの前記周期パケットを送信する場合、
前記パケット解析部は、連続して受信したパケットの宛先アドレス同士を比較することにより、前記周期パケットを受信したか否かを判別する、
ことを特徴とする請求項6に記載のネットワークシステム。 - 前記マスタの通信装置を無線LANのアクセスポイント、
前記スレーブの通信装置を無線LANの端末、
前記周期パケットを無線LANのビーコンまたはハートビートパケットとする、
ことを特徴とする請求項6に記載のネットワークシステム。 - 前記マスタの通信装置および前記スレーブの通信装置がLANを構成し、
前記周期パケットをハートビートパケットとする、
ことを特徴とする請求項6に記載のネットワークシステム。 - 他の通信装置に接続する通信装置であって、
他の前記通信装置からデータを受信する受信部と、
他の前記通信装置にデータを送信する送信部と、
前記受信部による周期パケットの受信タイミングと前記送信部による周期パケットの送信タイミングとの間にずれが生じた場合、前記送信部による送信タイミングを補正する制御部と、
を備えることを特徴とする通信装置。 - 前記制御部は、前記ずれがフレーム転送時間を超えた場合に前記送信タイミングを補正することを特徴とする請求項10に記載の通信装置。
- 前記制御部は、前記ずれの積算値が所定値を超えた場合に前記送信タイミングを補正することを特徴とする請求項10に記載の通信装置。
- 前記制御部は、前記ずれの平均値が所定値を超えた場合に前記送信タイミングを補正することを特徴とする請求項10に記載の通信装置。
- 前記制御部は、前記受信部が受信したデータが前記周期パケットか否かを判断する周期パケット検出部を備えたことを特徴とする請求項10に記載の通信装置。
- 他の通信装置に接続する通信装置であって、
時刻カウンタに基づくタイミングで他の前記通信装置からデータを受信する受信部と、
前記受信部による周期パケットの受信タイミングと前記時刻カウンタとの間にずれが生じた場合、前記時刻カウンタを補正する制御部と、
を備えたことを特徴とする通信装置。 - 前記制御部は、前記受信部が受信したデータが前記周期パケットか否かを判断する周期パケット検出部を備えたことを特徴とする請求項15に記載の通信装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201580058037.2A CN107111280B (zh) | 2015-06-24 | 2015-06-24 | 通信装置、时刻校正方法以及网络系统 |
JP2016566307A JP6157760B2 (ja) | 2015-06-24 | 2015-06-24 | 通信装置、時刻補正方法およびネットワークシステム |
PCT/JP2015/068278 WO2016208020A1 (ja) | 2015-06-24 | 2015-06-24 | 通信装置、時刻補正方法およびネットワークシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/068278 WO2016208020A1 (ja) | 2015-06-24 | 2015-06-24 | 通信装置、時刻補正方法およびネットワークシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016208020A1 true WO2016208020A1 (ja) | 2016-12-29 |
Family
ID=57586289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/068278 WO2016208020A1 (ja) | 2015-06-24 | 2015-06-24 | 通信装置、時刻補正方法およびネットワークシステム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6157760B2 (ja) |
CN (1) | CN107111280B (ja) |
WO (1) | WO2016208020A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116579A (zh) * | 2020-08-25 | 2022-03-01 | 横河电机株式会社 | 信息处理装置、信息处理系统以及信息处理方法 |
CN114124284A (zh) * | 2021-12-06 | 2022-03-01 | 青岛鼎信通讯股份有限公司 | 一种应用于采集终端的分层时钟治理优化方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108770056B (zh) * | 2018-05-31 | 2020-12-04 | 成都精位科技有限公司 | 超宽带同步信号修正方法、装置及定位基站 |
JP6800390B2 (ja) * | 2018-09-21 | 2020-12-16 | 三菱電機株式会社 | 通信装置、通信システム、通信方法および通信プログラム |
DE112018007914B4 (de) * | 2018-09-21 | 2022-08-18 | Mitsubishi Electric Corporation | Kommunikationsvorrichtung, kommunikationssystem, kommunikationsverfahren und kommunikationsprogramm |
JP6800389B2 (ja) * | 2018-09-21 | 2020-12-16 | 三菱電機株式会社 | 通信装置、通信システム、通信方法および通信プログラム |
JP6707209B1 (ja) * | 2019-04-22 | 2020-06-10 | 三菱電機株式会社 | 時刻同期システム、マスタ装置、スレーブ装置およびプログラム |
CN112289429A (zh) * | 2019-07-25 | 2021-01-29 | 深圳市理邦精密仪器股份有限公司 | 中央监护站、监护系统及数据回顾方法和装置 |
US20230007606A1 (en) * | 2020-04-01 | 2023-01-05 | Shenzhen GOODIX Technology Co., Ltd. | Method for time synchronization, method for broadcast setting, chip, electronic device, and storage medium |
CN113543303B (zh) * | 2021-06-30 | 2022-10-21 | 紫光展锐(重庆)科技有限公司 | 一种同步方法、装置、芯片及模组设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282046A (ja) * | 1996-04-09 | 1997-10-31 | Meidensha Corp | システムの時刻合わせ方式 |
JP2005184616A (ja) * | 2003-12-22 | 2005-07-07 | Yokogawa Electric Corp | 通信制御システム |
JP2010019566A (ja) * | 2008-07-08 | 2010-01-28 | Casio Comput Co Ltd | 時刻受信装置および時刻修正方法 |
JP2012147186A (ja) * | 2011-01-11 | 2012-08-02 | Denso Corp | 無線通信装置及び無線通信システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3698074B2 (ja) * | 2001-06-15 | 2005-09-21 | 日本電気株式会社 | ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム |
-
2015
- 2015-06-24 WO PCT/JP2015/068278 patent/WO2016208020A1/ja active Application Filing
- 2015-06-24 JP JP2016566307A patent/JP6157760B2/ja not_active Expired - Fee Related
- 2015-06-24 CN CN201580058037.2A patent/CN107111280B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282046A (ja) * | 1996-04-09 | 1997-10-31 | Meidensha Corp | システムの時刻合わせ方式 |
JP2005184616A (ja) * | 2003-12-22 | 2005-07-07 | Yokogawa Electric Corp | 通信制御システム |
JP2010019566A (ja) * | 2008-07-08 | 2010-01-28 | Casio Comput Co Ltd | 時刻受信装置および時刻修正方法 |
JP2012147186A (ja) * | 2011-01-11 | 2012-08-02 | Denso Corp | 無線通信装置及び無線通信システム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116579A (zh) * | 2020-08-25 | 2022-03-01 | 横河电机株式会社 | 信息处理装置、信息处理系统以及信息处理方法 |
CN114124284A (zh) * | 2021-12-06 | 2022-03-01 | 青岛鼎信通讯股份有限公司 | 一种应用于采集终端的分层时钟治理优化方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016208020A1 (ja) | 2017-06-29 |
JP6157760B2 (ja) | 2017-07-05 |
CN107111280A (zh) | 2017-08-29 |
CN107111280B (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6157760B2 (ja) | 通信装置、時刻補正方法およびネットワークシステム | |
US10652160B2 (en) | On-vehicle system, gateway, relay, non-transitory computer-readable medium storing program, information processing method, information processing system, and vehicle | |
US10523352B2 (en) | Forward error correction for incomplete blocks | |
US9031095B2 (en) | Precision timing using a modified synchronization operation | |
JP6265058B2 (ja) | ネットワーク伝送システム、そのマスタノード、スレーブノード | |
JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
EP3977692B1 (en) | Avoiding jitter in a communication system | |
WO2015117501A1 (zh) | 一种时间同步方法、可编程逻辑器件、单板及网元 | |
US10624089B2 (en) | Network system and communication method | |
JP6848769B2 (ja) | 車載中継装置、情報処理システム、中継装置、情報処理方法、及びプログラム | |
US11765094B2 (en) | Communication system with de-jitter buffer for reducing jitter | |
JP2022501892A (ja) | パケットの無線での送受信 | |
Gogolev et al. | A simpler tsn? traffic scheduling vs. preemption | |
US20230090803A1 (en) | Network Infrastructure Device, Communication Terminal and Method for Synchronizing Control Applications via a Communication Network for Transferring Time-Critical Data | |
JP6419340B2 (ja) | 非決定論的ネットワークを介してネットワークデバイス間でデータを送信する方法 | |
WO2015162763A1 (ja) | ネットワークシステム | |
JP5656306B1 (ja) | 同期確立方法 | |
US11442432B2 (en) | Communication device and method for data transmission within an industrial communication network | |
JP7315980B2 (ja) | 基地局、通信システム、及び、基地局の制御方法 | |
CN112867132B (zh) | 一种基于ptp的多链路时延抖动优化方法及装置 | |
WO2023119356A1 (ja) | 制御装置、制御方法およびプログラム | |
GB2595887A (en) | Method, device, and computer program for improving transmission of data in daisy-chain networks | |
Hagino et al. | Frame transmission time control for TDMA-based ethernet | |
CN115941103A (zh) | 一种时钟同步系统同步精度优化方法 | |
JP2021197601A (ja) | ネットワーク機器の検出方法、通信制御方法、時刻同期方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2016566307 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15896342 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15896342 Country of ref document: EP Kind code of ref document: A1 |