COMMUNICATION SYSTEM, CONTROL SYSTEM, AND COMMUNICATION METHOD

The communication system addresses the issue of irregular transmission and reception orders by appending sequence information to data sets and arranging them in a standby buffer, enabling sequential reading and appropriate utilization of data sets.

JP7650977B2Active Publication Date: 2025-03-25YASKAWA DENKI KK
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023533066
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-07
Filing Date
2022-02-25
Publication Date
2025-03-25
Estimated Expiration
2042-02-25

Smart Images

  • Figure 0007650977000001
    Figure 0007650977000001
  • Figure 0007650977000002
    Figure 0007650977000002
  • Figure 0007650977000003
    Figure 0007650977000003
Patent Text Reader

Abstract

This communication system 1 comprises: an information addition unit 113 that adds order information to each of a plurality of data sets; a transmission unit 211 that sequentially transmits a plurality of data sets to which order information is added; a reception unit 411 that sequentially receives the plurality of data sets from the transmission unit 211; an arranging unit 312 that arranges the plurality of data sets received by the reception unit 411 in a standby buffer 313 in order based on the order information; and a reading unit 314 that sequentially reads, in the order of arrangement, the plurality of data sets stored in the standby buffer 313.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] Patent document 1 discloses a system including a robot, a processing device, a robot controller that controls the robot, a processing device controller that controls the processing device, and a programmable logic controller that generates commands for the robot controller and the processing device controller. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2019-209454 A Summary of the Invention [Problem to be solved by the invention]

[0004] The present disclosure provides a communication system that is effective to utilize multiple data sets received over a communication in an appropriate order. [Means for solving the problem]

[0005] A communication system according to one aspect of the present disclosure includes an information addition unit that adds sequence information to each of a plurality of data sets, a transmission unit that sequentially transmits the plurality of data sets with the sequence information added, a reception unit that sequentially receives the plurality of data sets from the transmission unit, an arrangement unit that arranges the plurality of data sets received by the reception unit in a waiting buffer in an order based on the sequence information, and a reading unit that sequentially reads out the plurality of data sets stored in the waiting buffer in the arranged order.

[0006] A control system according to another aspect of the present disclosure includes the above-mentioned communication system, a controller that sequentially generates a plurality of command data sets, and a local controller that operates a machine based on the plurality of command data sets, wherein the information addition unit adds order information to each of the plurality of command data sets generated by the controller, the transmission unit sequentially transmits the plurality of command data sets with the order information added, the reception unit sequentially receives the plurality of command data sets, the arrangement unit arranges the plurality of command data sets received by the reception unit in a waiting buffer in an order based on the order information, the reading unit sequentially reads out the plurality of command data sets stored in the waiting buffer in the arranged order, and the local controller operates the machine based on the plurality of command data sets read by the reading unit. The above-mentioned communication system can be effectively utilized for synchronous communication in machine control.

[0007] A communication method according to another aspect of the present disclosure includes adding sequence information to each of a plurality of data sets; sequentially transmitting the plurality of data sets with the sequence information added by a transmitting unit; sequentially receiving the plurality of data sets from the transmitting unit by a receiving unit; arranging the plurality of data sets received by the receiving unit in a waiting buffer in an order based on the sequence information; and sequentially reading out the plurality of data sets stored in the waiting buffer in the arranged order. Effect of the Invention

[0008] According to the present disclosure, it is possible to provide a communication system that is effective in utilizing multiple data sets received through communication in an appropriate order. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a schematic diagram illustrating a communication system. [Diagram 2] FIG. 2 is a schematic diagram illustrating a configuration of a robot. [Diagram 3] FIG. 2 is a block diagram illustrating an example of a functional configuration of a control server and a communication device. [Figure 4]FIG. 2 is a block diagram illustrating an example of a functional configuration of a communication apparatus and a local device. [Diagram 5] 4 is a schematic diagram illustrating an example of the contents stored in a receiving buffer and the contents stored in a waiting buffer; FIG. [Figure 6] FIG. 13 is a block diagram showing a modification of the communication apparatus and the local device. [Figure 7] FIG. 13 is a block diagram showing a modified example of the control server and the communication device. [Figure 8] FIG. 13 is a block diagram showing a further modified example of the control server. [Figure 9] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a control server and a communication device. [Figure 10] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a communication apparatus and a local device. [Figure 11] 11 is a flowchart illustrating a procedure for generating and transmitting a command data set. [Figure 12] 11 is a flowchart illustrating an example procedure for arranging a plurality of command data sets. [Figure 13] 1 is a flowchart illustrating a communication procedure. [Figure 14] 13 is a flow chart illustrating a local control procedure. [Figure 15] 13 is a flow chart illustrating an example procedure for arranging multiple feedback data sets. [Figure 16] 1 is a flowchart illustrating a communication procedure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

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

[0011] [Communication Systems] The communication system 1 shown in FIG. 1 is a system for communicating a plurality of data sets between a supply application that supplies a plurality of data sets and a use application that uses the supplied plurality of data sets. In the communication, the order in which the plurality of data sets are transmitted and the order in which the plurality of data sets are received may be switched. For example, Ta A data set may be received later than a data set that was sent later. This order may occur irregularly. Therefore, when multiple data sets are communicated between a providing application and a consuming application, the multiple data sets may not be used in the appropriate order in the consuming application.

[0012] Therefore, communication system 1 is configured to perform the steps of adding sequence information to each of a plurality of data sets, sequentially transmitting the plurality of data sets with the sequence information added, sequentially receiving the transmitted plurality of data sets, arranging the received plurality of data sets in a waiting buffer in an order based on the sequence information, and sequentially reading out the plurality of data sets stored in the waiting buffer in the arranged order.

[0013] Even if the transmission order and the reception order are reversed, the communication system 1 can read out the multiple data sets in sequence in the order based on the order information. Therefore, the order information can control the order in which the multiple data sets are used, regardless of the reception order. This is therefore effective in using the multiple data sets received by communication in an appropriate order.

[0014] The communication system 1 is applicable to various systems in which communication is performed between a supplying application and a using application. In the following, a case in which the communication system 1 is applied to a control system 10 will be described in detail.

[0015] The control system 10 includes a communication system 1, a controller 111 that sequentially generates a plurality of command data sets, and a local controller 315 that operates the machine 30 based on the plurality of command data sets.

[0016] The communication system 1 applied to the control system 10 executes the following operations: adding sequence information to each of a plurality of command data sets generated by the controller 111, sequentially transmitting the plurality of command data sets to which the sequence information has been added, sequentially receiving the transmitted plurality of command data sets, arranging the received plurality of command data sets in a waiting buffer in an order based on the sequence information, and sequentially reading out the plurality of command data sets stored in the waiting buffer in the arranged order. The local controller 315 operates the machine 30 based on the command data sets sequentially read out by the communication system 1. In the communication of the plurality of command data sets, the controller 111 is the supplying application, and the local controller 315 is the utilizing application.

[0017] The control system 10 may include a plurality of local controllers 315 that respectively operate the plurality of machines 30, and a plurality of controllers 111 that correspond to the plurality of local controllers 315. The machine 30 is a machine that realizes an operation. There is no particular limitation on the type of the machine 30, but FIG. 1 illustrates two types of machines 30A and 30B. The machine 30A is a mobile robot that performs work on a workpiece while moving. For example, the machine 30A has an automated guided vehicle 31 and a robot 40. The automated guided vehicle 31 is driven by the local controller 315 to move.

[0018] The robot 40 is installed on the automatic guided vehicle 31. The robot 40 is driven by a local controller 315 and performs tasks such as transportation, processing, and assembly on a workpiece.

[0019] The robot 40 is, for example, a vertical articulated industrial robot. As shown in FIG. 2, the robot 40 has a base 41, a swivel 42, a first arm 43, a second arm 44, a wrist 45, and a tip 46. The base 41 is installed on the automated guided vehicle 31. The swivel 42 is attached to the base 41 so as to be rotatable around a vertical axis 51. For example, the robot 40 has a joint 61 that attaches the swivel 42 to the base 41 so as to be rotatable around the axis 51. The first arm 43 is connected to the swivel 42 so as to be rotatable around an axis 52 that intersects (for example, perpendicular to) the axis 51. For example, the robot 40 has a joint 62 that connects the first arm 43 to the swivel 42 so as to be rotatable around the axis 52. The intersection includes a twisted relationship, such as a so-called three-dimensional intersection. The same applies hereinafter. The first arm 43 extends from the rotating portion 42 in a direction intersecting (for example, perpendicular to) the axis 52.

[0020] The second arm 44 is connected to an end of the first arm 43 so as to be rotatable about an axis 53 parallel to the axis 52. For example, the robot 40 has a joint 63 that connects the second arm 44 to the first arm 43 so as to be rotatable about the axis 53. The second arm 44 has an arm base 47 that extends from an end of the first arm 43 along a direction that intersects (for example, perpendicular to) the axis 53, and an arm end 48 that further extends from the end of the arm base 47 along the same direction. The arm end 48 is rotatable about an axis 54 relative to the arm base 47. The axis 54 intersects (for example, perpendicular to) the axis 53. For example, the robot 40 has a joint 64 that connects the arm end 48 to the arm base 47 so as to be rotatable about the axis 54.

[0021] The wrist 45 is connected to the end of the arm end 48 so as to be rotatable about an axis 55 that intersects (for example, perpendicular to) the axis 54. For example, the robot 40 has a joint 65 that connects the wrist 45 to the arm end 48 so as to be rotatable about the axis 55. The wrist 45 is connected to the arm end 48 so as to be rotatable about an axis 55 that intersects (for example, perpendicular to) the axis 54. Orthogonal) from an end of arm end 48. Tip 46 is connected to the end of wrist 45 so as to be rotatable about axis 56 intersecting (e.g., perpendicular to) axis 55. For example, robot 40 has a joint 66 that connects tip 46 to wrist 45 so as to be rotatable about axis 56. An end effector is provided on tip 46. Specific examples of end effectors include a hand that grips a workpiece, and a work tool that processes, assembles, etc. the workpiece.

[0022] The actuators 71, 72, 73, 74, 75, and 76 drive the joints 61, 62, 63, 64, 65, and 66. Each of the actuators 71, 72, 73, 74, 75, and 76 has, for example, an electric motor and a transmission unit (for example, a reducer) that transmits the power of the electric motor to the joints 61, 62, 63, 64, 65, and 66. For example, the actuator 71 drives the joint 61 to rotate the rotating unit 42 around the axis 51. The actuator 72 drives the joint 62 to rotate the first arm 43 around the axis 52. The actuator 73 drives the joint 63 to rotate the second arm 44 around the axis 53. The actuator 74 drives the joint 64 to rotate the arm end 48 around the axis 54. The actuator 75 drives the joint 65 to rotate the wrist unit 45 around the axis 55. The actuator 76 drives the joint 66 to rotate the tip 46 about the axis 56 .

[0023] Returning to Fig. 1, machine 30B is an automated guided vehicle that transports an object to be transported, such as a workpiece. Machine 30B has an automated guided vehicle 33 and a loading platform 34. Automatic guided vehicle 33 is driven to move by local controller 315. Loading platform 34 is provided on automatic guided vehicle 33 and supports the object to be transported.

[0024] The configuration of the control system 10 will be described in more detail below. As shown in Fig. 1, the control system 10 includes a control server 100, a time server 101, a local device 300, a communication device 200, and a communication device 400. The control server 100 includes a controller 111 that controls the machine 30. The local device 300 includes a local controller 315 that operates the machine 30.

[0025] The communication device 200 and the communication device 400 communicate between the control server 100 and the local device 300. The communication device 200 and the communication device 400 may be configured to perform network communication. "Network communication" refers to communication via a mesh-like communication line. In the mesh-like communication line, the arrival time of a data set from the communication device 200 to the communication device 400 changes depending on which route is taken. This may be one of the reasons for the above-mentioned interchange of the transmission order and the reception order.

[0026] The communication device 200 and the communication device 400 may be configured to perform wireless communication. In wireless communication, a communication delay that differs for each data set may occur due to packet loss or the like. This is ,above This may be one of the reasons for the aforementioned change in the transmission order and the reception order. The communication device 200 and the communication device 400 may be configured to perform wireless network communication including wireless communication in at least a part of the mesh-like communication line. The communication device 200 and the communication device 400 may be configured to perform wired communication.

[0027] The communication device 200 and the communication device 400 may be configured to perform mobile communication. For example, the communication device 200 may be a base station for mobile communication, and the communication device 400 may be a mobile station for mobile communication. The communication device 200 and the communication device 400 may be configured to perform communication (5G communication) by a fifth generation mobile communication system.

[0028] The communication device 200 is connected to the control server 100 via a wired connection. The communication device 200 transmits a plurality of sets of command data acquired from the controller 111 to the corresponding communication device 400.

[0029] The communication device 400 is connected by wire to the local device 300. The local device 300 acquires a plurality of sets of command data that the communication device 400 receives from the communication device 200.

[0030] The communication device 200 and the communication device 400 constitute a part of the communication system 1. Furthermore, the control server 100 and the local device 300 also constitute a part of the communication system 1. For example, the control server 100 is configured to add the above-mentioned order information to each of the multiple command data sets that the communication device 200 acquires from the controller 111. The local device 300 is configured to execute the following: arrange the multiple command data sets acquired from the communication device 400 in a waiting buffer in an order based on the order information; and sequentially read out the multiple command data sets stored in the waiting buffer in the arranged order. The local controller 315 operates the machine 30 based on the command data sets sequentially read out by the local device 300.

[0031] The time server 101 is connected to the control server 100 by wire and generates a global time. As described later, the global time is used to synchronize at least the internal time of the control server 100 with the internal time of the local device 300. The time server 101 may be incorporated in the control server 100 or in the communication device 200.

[0032] When the control system 10 includes a plurality of machines 30, the control system 10 may include a plurality of local devices 300 corresponding to the plurality of machines 30, respectively, and a plurality of communication devices 400 corresponding to the plurality of machines 30, respectively. In addition, the control server 100 may include a plurality of controllers 111 corresponding to the plurality of machines 30, respectively.

[0033] Each of the multiple local devices 300 includes a local controller 315 that operates the corresponding machine 30. Each of the multiple local devices 300 is provided on the corresponding machine 30. For example, the local device 300 corresponding to the machine 30A is provided on the automatic guided vehicle 31 of the machine 30A, and the local device 300 corresponding to the machine 30B is provided on the automatic guided vehicle 33 of the machine 30B.

[0034] The communication device 200 transmits the multiple command data sets acquired from each of the multiple controllers 111 to the corresponding communication device 400. Each of the multiple communication devices 400 causes the corresponding local device 300 to acquire the multiple command data sets received from the communication device 200.

[0035] Each of the multiple communication devices 400 is provided in a corresponding machine 30. For example, the communication device 400 corresponding to the machine 30A is provided on the automatic guided vehicle 31 of the machine 30A, and the communication device 400 corresponding to the machine 30B is provided on the automatic guided vehicle 33 of the machine 30B.

[0036] FIG. 3 is a block diagram illustrating an example of the functional configuration of the control server 100 and the communication device 200. As shown in FIG.

[0037] 3, the control server 100 has, as functional components (hereinafter referred to as "functional blocks"), the above-mentioned multiple controllers 111, a clock 112, and an information addition unit 113. Each of the multiple controllers 111 sequentially generates multiple command data sets for controlling the corresponding machine 30.

[0038] Each of the multiple controllers 111 may repeat, in a certain control cycle, the generation of a command data set for controlling the corresponding machine 30. For example, each of the multiple controllers 111 executes a control process including the generation of a command data set every time a periodic control clock signal is generated.

[0039] The command data set is, for example, a data set that represents an operation command for the machine 30. The command data set may be a data set that represents a target operation of the machine 30. The target operation includes a target position or a target speed of the machine 30, etc.

[0040] The clock 112 repeatedly generates time at a constant cycle. Hereinafter, the time generated by the clock 112 is referred to as "server time". The clock 112 may be configured to generate a server time synchronized with the global time. For example, the clock 112 receives the global time from the time server 101 by communication that guarantees time synchronism, such as TSN (Time Sensitive Networking) communication via a wired communication network, and generates a server time in synchronization with the received global time. For example, the clock 112 synchronizes the server time with the global time, and then repeatedly updates the server time by counting clock pulses at a constant cycle. The clock 112 may repeatedly synchronize the server time with the global time at a predetermined time interval.

[0041] The information addition unit 113 adds the order information to each of the multiple command data sets. For example, the information addition unit 113 adds the order information every time the controller 111 generates a command data set and transmits the command data set to the communication device 200. For example, the information addition unit 113 stores the command data set to which the order information has been added in the transmission buffer 212 of the communication device 200.

[0042] The order information is information for determining the sorting order of the multiple command data sets. For example, the order information has a value, and determines the position (rank) of each command data set in the sorting order based on a comparison with the values ​​of other order information. The information addition unit 113 adds order information to each of the multiple command data sets, the value of which increases toward the end of the sorting order, so that the multiple command data sets are arranged in a predetermined sorting order. For example, the information addition unit 113 may add order information including a count value from the top of the sorting order to each of the multiple command data sets.

[0043] The information adding unit 113 may add, to each of the plurality of command data sets, order information whose value decreases toward the end of the sorting order. For example, the information adding unit 113 may add, to each of the plurality of command data sets, order information including a count value from the end of the sorting order.

[0044] The information adding unit 113 may add order information to each of the multiple command data sets so that the order of the multiple command data sets is the order of generation by the controller 111. For example, the information adding unit 113 adds order information whose value increases as the command data set is later in the order of generation by the controller 111 to each of the multiple command data sets.

[0045] As an example, each time the controller 111 generates a command data set, the information adding unit 113 adds order information including the server time at the time of generation to each of the multiple command data sets. Hereinafter, the server time at the time of generation is referred to as the "generation time." The information adding unit 113 may add order information including the server time immediately before the order information is added to each of the multiple command data sets. Hereinafter, the server time immediately before the order information is added is referred to as the "addition time."

[0046] The information adding unit 113 may add a count value, which is incremented every time the controller 111 generates a command data set, to the command data set as order information.

[0047] The information addition unit 113 may add order information including timing information that determines the read timing of the command data set by the local device 300 to each of the multiple command data sets. The timing information may be information that directly specifies the read timing of the command data set by the local device 300. For example, the information addition unit 113 calculates a read time that indicates the read timing by adding a predetermined delay time to the generation time or the addition time, and adds order information including the calculated read time to each of the multiple command data sets.

[0048] The timing information may be information that indirectly specifies the timing at which the local device 300 should read the command data set. For example, the timing information may be information that indicates a reference timing prior to the transmission timing of the command data set by the communication apparatus 200 (transmission unit 211 described below). If the delay time from the reference timing to the read timing is constant, the read timing is indirectly determined by the generation time or the addition time. Examples of information that indicates the reference timing include the above-mentioned generation time or the addition time.

[0049] When the control server 100 has a plurality of controllers 111, the control server 100 may have a plurality of information adding units 113 corresponding to the plurality of controllers 111, respectively. Each time the corresponding controller 111 generates a command data set, each of the plurality of information adding units 113 adds identification information and order information of the controller 111 and sends the command data set to the communication device 200. Based on the identification information of the controller 111, it becomes possible to transmit the command data set generated by the controller 111 to the communication device 400 corresponding to the controller 111.

[0050] The communication device 200 has, as functional blocks, a transmission unit 211 and a transmission buffer 212. The transmission buffer 212 is a storage unit for temporarily storing a plurality of command data sets to which sequence information has been added and which have been sent from the information addition unit 113. The transmission unit 211 sequentially reads out the plurality of command data sets to which sequence information has been added from the transmission buffer 212.

[0051] The transmitter 211 may use a first-in first-out (FIFO) method to read out the multiple command data sets from the transmission buffer 212. For example, the transmitter 211 sequentially reads out the multiple command data sets stored in the transmission buffer 212 from the transmission buffer 212 in the order in which they were stored.

[0052] Here, "reading" also includes excluding a data set that has been read from a read destination such as the transmission buffer 212 from subsequent read targets. An example of excluding a data set that has been read from subsequent read targets is deleting the data set that has been read from the read destination. Deleting a data set that has been read from subsequent read targets Instead A read flag may be set to the data set that has been read, and the data set with the read flag may be excluded from subsequent reads. The same applies to the case where a data set is read from another read destination in the transmission buffer 212.

[0053] The transmitting unit 211 transmits the command data set read from the transmitting buffer 212 to the communication device 400. The transmitting unit 211 may transmit the command data set via network communication, wireless communication, or mobile communication.

[0054] When the control server 100 has multiple controllers 111, the transmitting unit 211 transmits a command data set to the communication device 400 corresponding to the controller 111 based on the identification information of the controller 111 added to the command data set read from the transmission buffer 212. As a result, the multiple command data sets generated by the corresponding controller 111 are sequentially transmitted to each of the multiple communication devices 400.

[0055] Fig. 4 is a block diagram illustrating a functional configuration of the local device 300 and the communication apparatus 400. As shown in Fig. 4, the communication apparatus 400 has, as functional blocks, a receiving unit 411 and a receiving buffer 412. The receiving unit 411 sequentially receives a plurality of command data sets from the transmitting unit 211. The receiving unit 411 may receive the command data set from the transmitting unit 211 through network communication, may receive the command data set from the transmitting unit 211 through wireless communication, or may receive the command data set from the transmitting unit 211 through mobile communication.

[0056] The receiving unit 411 stores the multiple command data sets in the receiving buffer 412 in the order in which the multiple command data sets were received. The order in which the receiving unit 411 receives the multiple command data sets may differ from the order in which the transmitting unit 211 transmitted the multiple command data sets.

[0057] The local device 300 has, as functional blocks, a clock 311, an array unit 312, a standby buffer 313, a readout unit 314, and a local controller 315. The clock 311 repeatedly generates time at a constant cycle. Hereinafter, the time generated by the clock 311 is referred to as "local time". The clock 311 may be configured to generate a local time synchronized with the global time. For example, the clock 311 receives a server time from the control server 100 by communication that ensures time synchronism, such as TSN communication, and generates a local time in synchronization with the received server time. For example, the clock 311 synchronizes the local time with the server time, and then repeatedly updates the local time by counting clock pulses at a constant cycle. The clock 311 may repeatedly execute the synchronization of the local time with the server time at a predetermined time interval.

[0058] The standby buffer 313 is a storage unit for temporarily storing a plurality of command data sets in an order based on the order information. The arrangement unit 312 arranges the plurality of command data sets received by the receiving unit 411 in the standby buffer 313 in an order based on the order information. For example, the arrangement unit 312 reads the plurality of command data sets from the receiving buffer 412 in a FIFO manner. For example, the arrangement unit 312 reads the plurality of command data sets stored in the receiving buffer 412 from the receiving buffer 412 in the order in which they were stored.

[0059] The arranging unit 312 arranges the multiple command data sets read out from the receive buffer 412 in the standby buffer 313 in an order based on the order information. For example, the arranging unit 312 arranges the multiple command data sets in the standby buffer 313 in the above-mentioned predetermined order based on the order information. For example, when order information in which the value increases the later in the order is added to each of the multiple command data sets, the arranging unit 312 arranges the multiple command data sets in the standby buffer 313 so that they are arranged in ascending order of order information values. When order information in which the value decreases the later in the order is added to each of the multiple command data sets, the arranging unit 312 arranges the multiple command data sets in the standby buffer 313 so that they are arranged in descending order of order information values.

[0060] When sequence information including the above-mentioned timing information is added to each of the multiple command data sets, the arrangement unit 312 may arrange the multiple command data sets in the waiting buffer 313 in the order of read timing based on the timing information.

[0061] For example, when the order information including the read time is added to each of the plurality of command data sets, the arrangement unit 312 may arrange the plurality of command data sets in the standby buffer 313 so as to be arranged in the order of the read time. When the order information including the generation time is added to each of the plurality of command data sets, the arrangement unit 312 may arrange the plurality of command data sets in the standby buffer 313 so as to be arranged in the order of the generation time. When the order information including the addition time is added to each of the plurality of command data sets, the arrangement unit 312 may arrange the plurality of command data sets in the standby buffer 313 so as to be arranged in the order of the addition time.

[0062] FIG. 5 is a schematic diagram illustrating the contents stored in the receive buffer 412 and the contents stored in the standby buffer 313. The numerical value in parentheses for each command data set indicates the time of generation. As described above, the transmission unit 211 transmits a plurality of command data sets in the order of the time of generation. However, since the transmission order of the plurality of command data sets and the reception order of the plurality of command data sets may be interchanged, the arrangement of the plurality of command data sets in the receive buffer 412 is not necessarily in the order of the time of generation. As shown in FIG. 5, the plurality of command data sets that are not arranged in the order of the time of generation in the receive buffer 412 are rearranged in the order of the time of generation in the standby buffer 313 by the arrangement unit 312.

[0063] 4, the read unit 314 sequentially reads out the multiple command data sets stored in the standby buffer 313 in the order in which they are arranged. The read unit 314 may repeat reading the command data sets from the standby buffer 313 at a certain read cycle. For example, the read unit 314 reads out the first data set located at the beginning of the arrangement in the standby buffer 313 out of the multiple command data sets every time a periodic read clock signal is generated.

[0064] The read unit 314 may read each of the multiple command data sets at the read timing specified by the timing information. For example, the read unit 314 may read the first data set when the read time specified by the timing information of the first data set is included in the execution period of the read cycle. Hereinafter, the first data set whose read time specified by the timing information is included in the execution period of the read cycle is referred to as the "data set to be read".

[0065] When the cycle length of the read cycle matches the cycle length of the control cycle, there will be one data set to be read for each read cycle unless a command data set is missing, and so the reading of the command data set from the standby buffer 313 will be repeated in the read cycle.

[0066] The read unit 314 may read each of the multiple command data sets at a read timing a predetermined delay time has elapsed from the reference timing. In this case, the arrangement unit 312 may convert the reference timing included in the timing information into a read timing when storing each of the multiple command data sets in the standby buffer 313. For example, the arrangement unit 312 may calculate a read time by adding a delay time to the generation time or addition time of the timing information, and include the calculated read time in the timing information. The read unit 314 reads the first data set when the read time included in the order information by the arrangement unit 312 is included in the execution period of the read cycle.

[0067] The array unit 312 may convert the read time specified by the timing information into the number of read cycles from the storage time in the standby buffer 313 (the time when the command data set is stored in the standby buffer 313) to the read time. For example, the array unit 312 may calculate the number of standby cycles by dividing the time from the storage time in the standby buffer 313 to the read time by the read cycles, and include the calculated number of standby cycles in the timing information.

[0068] The read unit 314 repeatedly counts down the number of wait cycles for each of the command data sets arranged in the wait buffer 313 during a read cycle, and reads the top data set for which the number of wait cycles is zero from the wait buffer 313. A number of wait cycles of zero means that the read time is included in the execution period of the read cycle. Therefore, the top data set for which the number of wait cycles is zero is the data set to be read.

[0069] The local controller 315 operates the corresponding machine 30 based on the multiple command data sets read by the reader 314. For example, the local controller 315 causes the machine 30 to execute an operation corresponding to a target operation represented by the command data set every time the reader 314 reads the command data set. brothThe control of the machine 30 is repeated in a local control cycle having a cycle length equal to the cycle. If the target motion includes a target position, the local controller 315 repeats the control of the machine 30 to follow the target position in the local control cycle. include In this case, the local controller 315 repeats the local control cycle to cause the operating speed of the machine 30 to track the target speed.

[0070] The local device 300 may further include a delay setting section 321. The delay setting section 321 sets a delay time for converting the reference timing into the read timing based on an input to a user interface.

[0071] The local device 300 may further include a data check unit 322, a stop unit 323, and a retransmission request unit 324. The data check unit 322 detects a missing command data set to be read in a read cycle based on the arrangement of the multiple command data sets in the waiting buffer 313 and the timing information.

[0072] For example, the data checking unit 322 detects the absence of a command data set that should be read before the first data set when the timing information of the first data set does not correspond to the read cycle for reading the first data set. For example, the data checking unit 322 detects the absence of a command data set that should be read before the first data set when the read time specified by the timing information of the first data set is not included in the execution period of the read cycle for reading the first data set.

[0073] Hereinafter, a read cycle that reads the first data set is referred to as a "first read cycle." Also, a missing command data set that should be read before the first data set is referred to as a "missing data set to be read." As described above, when the cycle length of the read cycle and the cycle length of the control cycle match, there is one data set to be read for each read cycle unless a missing command data set occurs. Therefore, each read cycle becomes a "first read cycle." The data confirmation unit 322 may detect a missing data set to be read when the number of waiting cycles of the first data set is not zero.

[0074] The data checker 322 may check whether the timing information of the first data set corresponds to the first read cycle after the first read cycle has started, or may check before the first read cycle starts.

[0075] When a loss of the data set to be read is detected, the reading section 314 may wait to read the first data set until the next read cycle after the first read cycle.

[0076] The data checking unit 322 may detect a missing command data set that should be placed between two command data sets when the difference in read time between the two command data sets is equal to or greater than twice the read cycle between the two command data sets adjacent to each other in the array of the standby buffer 313. Hereinafter, the missing command data set that should be placed between two command data sets is referred to as a "missing command data set."

[0077] The stop unit 323 stops the drive unit (e.g., the actuators 71, 72, 73, 74, 75, 76 of the machine 30, the automatic guided vehicle 31, and the automatic guided vehicle 33, etc.) when the number of read cycles in which the command data set is continuously missing is detected reaches a predetermined drive stop count. The stop unit 323 may stop the communication between the transmission unit 211 and the reception unit 411 when the number of read cycles in which the command data set is continuously missing is detected reaches a predetermined communication stop count that is greater than the drive stop count. For example, the stop unit 323 may stop the drive unit when the number of the first read cycles in which the read target data set is continuously missing is detected reaches the drive stop count. The stop unit 323 may stop the communication between the transmission unit 211 and the reception unit 411 when the number of the first read cycles in which the read target data set is continuously missing is detected reaches the communication stop count. The stop unit 323 may stop the communication between the transmission unit 211 and the reception unit 411 when the number of the first read cycles in which the read target data set is continuously missing is detected reaches the communication stop count. The stop unit 323 may stop the drive unit when the command data set missing is detected for the drive stop count between two command data sets. The stop unit 323 may stop the communication between the transmission unit 211 and the reception unit 411 when a missing command data set equal to the number of communication stoppages is detected between two command data sets.

[0078] When the data checking unit 322 detects a missing command data set, the retransmission request unit 324 requests the transmission unit 211 to retransmit the command data set from which the missing data set was detected. For example, when the data checking unit 322 detects a missing command data set, the retransmission request unit 324 may request the transmission unit 211 to retransmit the command data set from which the missing data set was detected. When ... read target data set.

[0079] The retransmission request unit 324 may cause the receiving unit 411 to request the transmitting unit 211 to retransmit the command data set. The transmitting unit 211 may be configured to hold the transmitted command data set in preparation for a retransmission request from the retransmission request unit 324. In this case, the arranging unit 312 may cause the receiving unit 411 to transmit an acknowledge signal for the command data set to the transmitting unit 211 at the time when the command data set is stored in the waiting buffer 313. The transmitting unit 211 may hold the command data set until it receives the acknowledge signal.

[0080] The local controller 315 may be configured to sequentially obtain from the machine 30 a plurality of feedback data sets including operation results based on a plurality of command data sets. The local controller 315 may repeatedly obtain the feedback data sets in the local control cycle. For example, the local controller 315 may obtain the feedback data set each time the local controller 315 operates the machine 30 based on the command data set in the local control cycle.

[0081] The controller 111 may be configured to generate a command data set based on the feedback data set acquired by the local controller 315. For example, the controller 111 may generate a command data set representing a target output (e.g., a target torque or a target current) for causing the operation of the machine 30 represented by the feedback data set to follow a target operation. For example, the controller 111 may generate a command data set representing the target output by performing a proportional operation, a proportional-integral operation, or a proportional-integral-derivative operation on the deviation between the target operation and the operation of the machine 30 represented by the feedback data set.

[0082] In this case, the communication system 1 may be configured to perform the following: adding second ordering information to each of the plurality of feedback data sets acquired by the local controller 315, sequentially transmitting the plurality of feedback data sets to which the second ordering information has been added, sequentially receiving the transmitted plurality of feedback data sets, arranging the received plurality of feedback data sets in a second waiting buffer in an order based on the second ordering information, and sequentially reading out the plurality of feedback data sets stored in the second waiting buffer in the arranged order. In the communication of the plurality of feedback data sets, the local controller 315 is the providing application and the controller 111 is the consuming application.

[0083] 6, the local device 300 may further include a second information addition unit 331. The second information addition unit 331 adds second order information to each of the multiple feedback data sets acquired by the local controller 315. For example, every time the local controller 315 acquires a feedback data set, the second information addition unit 331 adds the second order information to the feedback data set and transmits the feedback data set to the communication device 400. For example, the second information addition unit 331 stores the feedback data set to which the second order information has been added in the second transmission buffer 422 of the communication device 400.

[0084] The second order information is information for determining the order of the multiple feedback data sets. For example, the second order information has a value, and determines the position (rank) of each feedback data set in the order based on a comparison with the values ​​of other second order information. The second information addition unit 331 adds second order information, the value of which increases toward the end of the order, to each of the multiple feedback data sets so that the multiple feedback data sets are arranged in a predetermined order. For example, the second information addition unit 331 may add second order information including a count value from the top of the order to each of the multiple feedback data sets.

[0085] The second information adding unit 331 may add second order information, the value of which decreases toward the end of the sorting order, to each of the multiple feedback data sets. For example, the second information adding unit 331 may add second order information including a count value from the end of the sorting order to each of the multiple feedback data sets.

[0086] The second information adding unit 331 may add the second order information to each of the multiple feedback data sets so that the order of the multiple feedback data sets is the order in which they were acquired by the local controller 315. For example, the second information adding unit 331 adds second order information, the value of which increases as the order of acquisition by the local controller 315 increases, to each of the multiple feedback data sets.

[0087] As an example, the second information addition unit 331 adds sequence information including the local time at the time of acquisition to each of the multiple feedback data sets every time the local controller 315 acquires a feedback data set. Hereinafter, the local time at the time of acquisition is referred to as the "acquisition time." The second information addition unit 331 may add second sequence information including the local time immediately before the second sequence information is added to each of the multiple feedback data sets. Hereinafter, the local time immediately before the second sequence information is added is referred to as the "second addition time."

[0088] The second information adding unit 331 may add a count value, which is incremented every time the local controller 315 acquires a feedback data set, to the feedback data set as second order information.

[0089] The second information adding unit 331 may add second sequence information including second timing information that determines the read timing of the feedback data set by the control server 100 to each of the multiple feedback data sets. The second timing information may be time information that directly specifies the read timing of the feedback data set by the control server 100 (hereinafter referred to as "second read timing"). For example, the second information adding unit 331 calculates a second read time that indicates the second read timing by adding a predetermined second delay time to the acquisition time or the second addition time, and adds the second sequence information including the calculated second read time to each of the multiple feedback data sets.

[0090] The second timing information may be time information that indirectly specifies the timing at which the control server 100 should read the feedback data set. For example, the second timing information may be information that represents a second reference timing that precedes the transmission timing of the feedback data set by the communication device 400 (second transmission unit 421 described later). If the second delay time from the second reference timing to the second read timing is constant, the second read timing is indirectly determined by the acquisition time or the second added time. Examples of information that represents the second reference timing include the acquisition time or the second added time.

[0091] When the communication system 1 has a plurality of machines 30, the second information adding unit 331 adds the identification information of the corresponding machine 30 and the second sequence information and sends the information to the communication device 400. Based on the identification information of the machine 30, it becomes possible to cause the controller 111 corresponding to the machine 30 to acquire the feedback data set.

[0092] The communication device 400 may further include a second transmission unit 421 and a second transmission buffer 422. The second transmission buffer 422 is a storage unit for temporarily storing a plurality of feedback data sets to which the second order information has been added and which have been sent from the second information adding unit 331. The second transmission unit 421 sequentially reads out from the second transmission buffer 422 the plurality of feedback data sets to which the second order information has been added.

[0093] The second transmission unit 421 may use a FIFO method to read out the multiple feedback data sets from the second transmission buffer 422. For example, the second transmission unit 421 sequentially reads out the multiple feedback data sets stored in the second transmission buffer 422 from the second transmission buffer 422 in the order in which they were stored.

[0094] The second transmission unit 421 transmits the feedback data set read from the second transmission buffer 422 to the communication device 200. The second transmission unit 421 may transmit the feedback data set via network communication, may transmit the feedback data set via wireless communication, or may transmit the feedback data set via mobile communication.

[0095] 7, the communication device 200 further includes a second receiving unit 221 and a second receiving buffer 222. The second receiving unit 221 sequentially receives a plurality of feedback data sets from the second transmitting unit 421. The second receiving unit 221 may receive the feedback data set from the second transmitting unit 421 through network communication, may receive the feedback data set from the second transmitting unit 421 through wireless communication, or may receive the feedback data set from the second transmitting unit 421 through mobile communication.

[0096] The second receiving unit 221 stores the multiple feedback data sets in the second receiving buffer 222 in the order in which they were received. The order in which the second receiving unit 221 receives the multiple feedback data sets may be different from the order in which the second transmitting unit 421 transmitted the multiple feedback data sets.

[0097] When the communication system 1 has a plurality of machines 30, the second receiving unit 221 may add identification information of the local controller 315 that has acquired the feedback data set to the feedback data set and store the feedback data set in the second receiving buffer 222. This makes it possible to cause each of the plurality of controllers 111 to acquire a plurality of feedback data sets acquired by the corresponding local controller 315.

[0098] The control server 100 further includes a second arrangement unit 121, a second waiting buffer 122, and a second reading unit 123. The second waiting buffer 122 is a storage unit for temporarily storing a plurality of feedback data sets in an order based on the second sequence information. The second arrangement unit 121 arranges the plurality of feedback data sets received by the second receiving unit 221 in the second waiting buffer 122 in an order based on the second sequence information. For example, the second arrangement unit 121 reads the plurality of feedback data sets from the second receiving buffer 222 in a FIFO manner. For example, the second arrangement unit 121 reads the plurality of feedback data sets stored in the second receiving buffer 222 from the second receiving buffer 222 in the order in which they were stored.

[0099] The second arrangement unit 121 arranges the multiple feedback data sets read from the second receive buffer 222 in the second standby buffer 122 in an order based on the second sequence information. For example, the second arrangement unit 121 arranges the multiple feedback data sets in the second standby buffer 122 in the above-mentioned predetermined order based on the second sequence information. For example, when second sequence information in which the value increases toward the end of the order is added to each of the multiple feedback data sets, the second arrangement unit 121 arranges the multiple feedback data sets in the second standby buffer 122 so as to arrange them in ascending order of the value of the second sequence information. When second sequence information in which the value decreases toward the end of the order is added to each of the multiple feedback data sets, the second arrangement unit 121 arranges the multiple feedback data sets in the second standby buffer 122 so as to arrange them in descending order of the value of the second sequence information.

[0100] When second ordering information including the above-mentioned second timing information is added to each of the multiple feedback data sets, the second arrangement unit 121 may arrange the multiple feedback data sets in the second waiting buffer 122 in the order of the second read timing based on the second timing information.

[0101] For example, when second ordering information including the second read time is added to each of the multiple feedback data sets, the second arranging unit 121 may arrange the multiple feedback data sets in the second waiting buffer 122 so as to be arranged in the order of the second read time. When second ordering information including the acquisition time is added to each of the multiple feedback data sets, the second arranging unit 121 may arrange the multiple feedback data sets in the second waiting buffer 122 so as to be arranged in the order of the acquisition time. When second ordering information including the second addition time is added to each of the multiple feedback data sets, the second arranging unit 121 may arrange the multiple feedback data sets in the second waiting buffer 122 so as to be arranged in the order of the second addition time.

[0102] The second reader 123 sequentially reads out the multiple feedback data sets stored in the second standby buffer 122 in the order in which they are arranged. The second reader 123 may repeatedly read out the command data sets from the second standby buffer 122 in a constant second read cycle. For example, the second reader 123 reads out, of the multiple feedback data sets, a leading data set located at the beginning of the arrangement in the second standby buffer 122 every time a periodic second read clock signal is generated. The second reader 123 removes the read leading data set from the arrangement in the second standby buffer 122.

[0103] The second read unit 123 may read each of the multiple feedback data sets at the second read timing specified by the second timing information. For example, the second read unit 123 may read the first data set when the second read time specified by the second timing information of the feedback data set is included in the execution period of the second read cycle. Hereinafter, the first data set whose second read time specified by the second timing information is included in the execution period of the second read cycle is referred to as the "data set to be read".

[0104] When the cycle length of the second read cycle is the same as the cycle length of the local control cycle, unless a feedback data set is missing, there will be one data set to be read in each second read cycle, and the reading of the feedback data set from the second waiting buffer 122 will be repeated in the second read cycle.

[0105] The second read unit 123 may read each of the multiple feedback data sets at a second read timing at which a predetermined second delay time has elapsed from the second reference timing. In this case, the second arrangement unit 121 may convert the second reference timing included in the second timing information to the second read timing when storing each of the multiple feedback data sets in the second waiting buffer 122. For example, the second arrangement unit 121 may calculate the second read time by adding the second delay time to the acquisition time or the second addition time of the second timing information, and include the calculated second read time in the second timing information. The second read unit 123 reads the leading data set when the second read time included in the second sequence information by the second arrangement unit 121 is included in the execution period of the second read cycle.

[0106] The second arrangement unit 121 may convert the second read time specified by the second timing information into a second read cycle number from the storage time in the second standby buffer 122 (the time at which the feedback data set is stored in the second standby buffer 122) to the second read time. For example, the second arrangement unit 121 may calculate the second wait cycle number by dividing the time from the storage time in the second standby buffer 122 to the second read time by the second read cycle, and include the calculated second wait cycle number in the second timing information.

[0107] The second read unit 123 repeatedly counts down the second wait cycle number of each of the multiple feedback data sets arranged in the second wait buffer 122 in the second read cycle, and reads the top data set for which the second wait cycle number is zero from the second wait buffer 122. The second wait cycle number being zero means that the second read time is included in the execution period of the second read cycle. Therefore, the top data set for which the second wait cycle number is zero is the data set to be read.

[0108] The controller 111 generates a command data set based on the feedback data set read by the second read unit 123. When the control server 100 has a plurality of controllers 111, the control server 100 may have a plurality of second array units 121, a plurality of second waiting buffers 122, and a plurality of second read units 123. The plurality of second array units 121 correspond to the plurality of controllers 111, respectively, the plurality of second waiting buffers 122 correspond to the plurality of second array units 121, respectively, and the plurality of second read units 123 correspond to the plurality of second waiting buffers 122, respectively. Each of the plurality of second array units 121 reads feedback data from the corresponding local controller 315 from the second receiving buffer 222 based on the identification information of the local controller 315 added to the feedback data set, and transmits it to the corresponding second waiting buffer 122. As a result, the plurality of feedback data sets acquired by the corresponding local controller 315 are stored in each of the plurality of second waiting buffers 122.

[0109] The control server 100 may further include a second delay setting unit 131. The second delay setting unit 131 sets a second delay time for converting the second reference timing into the second read timing based on an input to a user interface.

[0110] 8, the control server 100 may further include a second data checker 132, a second stopper 133, and a second retransmission requester 134. When the control server 100 includes a plurality of controllers 111, the control server 100 may further include a plurality of sets of the second data checker 132, the second stopper 133, and the second retransmission requester 134 corresponding to the plurality of controllers 111, respectively. The second data checker 132 detects a missing feedback data set to be read in the second read cycle based on the arrangement of the plurality of feedback data sets in the second waiting buffer 122 and the second timing information.

[0111] For example, the second data checking unit 132 detects the absence of a feedback data set that should be read before the leading data set when the second timing information of the leading data set does not correspond to the second read cycle for reading the leading data set. For example, the second data checking unit 132 detects the absence of a feedback data set that should be read before the leading data set when the second read time specified by the second timing information of the leading data set is not included in the execution period of the second read cycle for reading the leading data set.

[0112] Hereinafter, a read cycle that reads the top data set is referred to as a "top read cycle." Also, a missing feedback data set that should be read before the top data set is referred to as a "missing data set to be read." As described above, when the cycle length of the second read cycle and the cycle length of the local control cycle match, there is one data set to be read for each second read cycle unless a missing feedback data set occurs. Therefore, each second read cycle becomes a "top read cycle." The second data confirmation unit 132 may detect a missing data set to be read when the number of second waiting cycles of the top data set is not zero.

[0113] The second data checking section 132 may check whether the second timing information of the first data set corresponds to the first read cycle after the first read cycle has started or before the first read cycle has started.

[0114] When a loss of the data set to be read is detected, the second reader 123 may wait to read the head data set until the second read cycle following the head read cycle.

[0115] The second data checking unit 132 may detect a missing feedback data set that should be placed between two feedback data sets when the difference between the second read times of the two feedback data sets adjacent to each other in the array of the second waiting buffer 122 is equal to or greater than twice the second read cycle. Hereinafter, the missing feedback data set that should be placed between two feedback data sets is referred to as a "missing feedback data set."

[0116] The second stop unit 133 may output a stop command for the drive unit (e.g., the actuators 71, 72, 73, 74, 75, 76 of the machine 30, the automated guided vehicle 31, and the automated guided vehicle 33, etc.) to the controller 111 when the number of second read cycles in which the absence of the feedback data set is continuously detected reaches a predetermined second drive stop count. When the number of second read cycles in which the absence of the feedback data set is continuously detected reaches a predetermined second communication stop count that is greater than the second drive stop count, the second stop unit 133 may stop communication between the second receiver 221 and the second transmitter 421. For example, the second stop unit 133 may output a stop command for the drive unit to the controller 111 when the number of first read cycles in which the absence of the data set to be read is continuously detected reaches the second drive stop count. The second stop unit 133 may stop communication between the second receiver 221 and the second transmitter 421 when the number of first read cycles in which the absence of the data set to be read is continuously detected reaches the second communication stop count. The second stop unit 133 may output a stop command for the drive unit to the controller 111 when a lack of feedback data sets corresponding to the second drive stop count is detected between the two feedback data sets. The second stop unit 133 may stop communication between the second receiving unit 221 and the second transmitting unit 421 when a lack of feedback data sets corresponding to the second communication stop count is detected between the two feedback data sets.

[0117] When the second data checker 132 detects a loss of a feedback data set, the second retransmission requester 134 requests the second transmitter 421 to retransmit the feedback data set from which the loss was detected. For example, when the second data checker 132 detects a loss of a feedback data set, the second retransmission requester 134 may request the second transmitter 421 to retransmit the feedback data set from which the loss was detected. When the second data checker 132 detects a loss of a feedback data set, the second retransmission requester 134 may request the second transmitter 421 to retransmit the read target data set.

[0118] The second retransmission request unit 134 may cause the second receiving unit 221 to request the second transmitting unit 421 to retransmit the feedback data set. The second transmitting unit 421 may be configured to hold the transmitted feedback data set in preparation for a retransmission request from the second retransmission request unit 134. In this case, the second arranging unit 121 may cause an acknowledge signal for the feedback data set to be transmitted from the second receiving unit 221 to the second transmitting unit 421 at the time of storing the feedback data set in the second waiting buffer 122. The second transmitting unit 421 may hold the feedback data set until it receives the acknowledge signal.

[0119] [Hardware configuration] 9 is a block diagram illustrating a hardware configuration of the control server 100 and the communication device 200. As shown in FIG. 9, the control server 100 includes a circuit 190. The circuit 190 includes , P The computer has a processor 191 , a memory 192 , a storage 193 , a communication port 194 , and a user interface 195 .

[0120] The storage 193 is a non-volatile storage medium. Specific examples of the storage 193 include a hard disk and a flash memory. The storage 193 may be a portable storage medium such as an optical disk. The storage 193 stores a program for causing the control server 100 to control the machine 30 and to add the above-mentioned order information to each of a plurality of command data sets to be sent to the communication device 200. For example, the storage 193 stores a program for causing the control server 100 to configure each of the above-mentioned functional blocks.

[0121] The memory 192 is a temporary storage medium such as a random access memory, and temporarily stores a program loaded from the storage 193. The processor 191 is composed of one or more arithmetic elements, and causes the control server 100 to configure each of the above-mentioned functional blocks by executing the program loaded into the memory 192. The communication port 194 communicates with the time server 101 and the communication device 200 in response to a request from the processor 191.

[0122] The user interface 195 is a device for receiving input from a user and presenting information to the user, and includes, for example, an input device and a display device. Examples of the input device include a keyboard, a mouse, and a keypad. Examples of the display device include a liquid crystal monitor or an organic EL (Electro-Luminescence) monitor. The input device may be integrated with the display device as a so-called touch panel.

[0123] The communication device 200 includes a circuit 290. The circuit 290 includes a processor 291, a memory 292, a storage 293, and a communication port 294.

[0124] The storage 293 is a non-volatile storage medium. 293 Specific examples of storage include hard disks and flash memory. 293 The storage 293 may be a portable storage medium such as an optical disk. The storage 293 stores a program for configuring the communication device 200 to implement each of the above-mentioned functional blocks.

[0125] The memory 292 is a temporary storage medium such as a random access memory, and temporarily stores a program loaded from the storage 293. The processor 291 is configured with one or more arithmetic elements, and configures the above-mentioned functional blocks in the communication device 200 by executing a program loaded in the memory 292. The communication port 294 communicates with the communication port 194 in response to a request from the processor 291. The antenna 295 transmits and receives signals for wireless communication in response to a request from the processor 291.

[0126] Fig. 10 is a block diagram illustrating an example of a hardware configuration of the local device 300 and the communication apparatus 400. As shown in Fig. 10, the local device 300 includes a circuit 390. The circuit 390 includes a processor 391, a memory 392, a storage 393, a communication port 394, and a drive circuit 395.

[0127] The storage 393 is a non-volatile storage medium. Specific examples of the storage 393 include a hard disk and a flash memory. The storage 393 may be a portable storage medium such as an optical disk. The storage 393 stores a program for causing the control server 100 to execute the following operations: arranging a plurality of command data sets acquired from the communication device 400 in a standby buffer in an order based on sequence information; sequentially reading the plurality of command data sets stored in the standby buffer in the arranged order; and operating the machine 30 based on the read command data sets. For example, the storage 393 stores a program for causing the local device 300 to configure each of the above-mentioned functional blocks in the local device 300.

[0128] The memory 392 is a temporary storage medium such as a random access memory, and temporarily stores a program loaded from the storage 393. The processor 391 is composed of one or more arithmetic elements, and causes the local device 300 to configure each of the above-mentioned functional blocks by executing the program loaded into the memory 392. The communication port 394 communicates with the communication apparatus 400 in response to a request from the processor 391.

[0129] Drive circuitry 395 outputs drive power to machine 30 and obtains feedback data sets from machine 30 in response to requests from processor 391 .

[0130] The user interface 396 is a device for receiving input from the user and presenting information to the user, and includes, for example, an input device and a display device. Examples of the input device include a keyboard, a mouse, and a keypad. Examples of the display device include a liquid crystal monitor or an organic EL (Electro-Luminescence) monitor. The input device may be integrated with the display device as a so-called touch panel.

[0131] The communication device 400 includes a circuit 490. The circuit 490 includes a processor 491, a memory 492, a storage 493, and a communication port 494.

[0132] The storage 493 is a non-volatile storage medium. Specific examples of the storage 493 include a hard disk and a flash memory. The storage 493 may be a portable storage medium such as an optical disk. The storage 493 stores a program for configuring each of the above-mentioned functional blocks in the communication device 400.

[0133] The memory 492 is a temporary storage medium such as a random access memory, and temporarily stores a program loaded from the storage 493. The processor 491 is configured with one or more arithmetic elements, and configures the above-mentioned functional blocks in the communication device 400 by executing a program loaded in the memory 492. The communication port 494 communicates with the communication port 494 in response to a request from the processor 491. The antenna 495 transmits and receives signals for wireless communication in response to a request from the processor 491.

[0134] The hardware configuration shown above is merely an example and can be changed as appropriate. For example, the communication system 1 may include a plurality of hardware devices each including a plurality of controllers 111. Of the control server 100, the information addition unit 113, the second arrangement unit 121, the second waiting buffer 122, the second reading unit 123, the second delay setting unit 131, the second data confirmation unit 132, the second stopping unit 133, and the second retransmission request unit 134 constituting a part of the communication system 1 may be incorporated into the communication device 200. Of the local device 300, the arrangement unit 312, the waiting buffer 313, the reading unit 314, the delay setting unit 321, the data confirmation unit 322, the stopping unit 323, the retransmission request unit 324, and the second information addition unit 331 constituting a part of the communication system 1 may be incorporated into the communication device 400. The communication device 200 may be incorporated into the control server 100, and the communication device 400 may be incorporated into the local device 300.

[0135] [Communication Procedure] Next, as an example of a communication method, a control procedure including a communication procedure executed by the communication system 1 will be illustrated. This control procedure includes sequentially generating a plurality of command data sets, adding order information to each of the plurality of command data sets, sequentially transmitting the plurality of command data sets to which the order information has been added, and sequentially receiving the transmitted plurality of command data sets. , receivingThe method includes arranging the received plurality of command data sets in a standby buffer 313 in an order based on the sequence information, and sequentially reading out the plurality of command data sets stored in the standby buffer 313 in the order in which they are arranged.

[0136] Below, the above control procedures are illustrated by dividing them into a procedure for generating and transmitting a command data set executed by the control server 100, a procedure for arranging multiple feedback data sets executed by the control server 100, a communication procedure executed by the communication device 200, a local control procedure executed by the local device 300, a procedure for arranging multiple command data sets executed by the local device 300, and a communication procedure executed by the communication device 400.

[0137] (Command data set generation and transmission procedure) Fig. 11 is a flowchart illustrating a procedure for generating and transmitting a command data set. The flowchart in Fig. 11 is executed in a state where a plurality of feedback data sets are stored in the second waiting buffer 122 in an order based on the second ordering information. The second ordering information of each of the plurality of feedback data sets includes second timing information converted into a second read cycle number from the time of storage in the second waiting buffer 122 to the second read time.

[0138] 11, the control server 100 first executes steps S01 and S02. In step S01, the second reader 123 counts down the second read cycle number by one for each of the multiple feedback data sets in the second waiting buffer 122. In step S02, the second reader 123 checks whether there is a data set to be read in the second waiting buffer 122. For example, the second reader 123 checks whether the second read cycle number of the first data set in the second waiting buffer 122 is zero.

[0139] If it is determined in step S02 that there is a data set to be read, the control server 100 executes steps S03, S04, S05, and S06. In step S03, the second reading unit 123 reads the top data set (feedback data set) from the second waiting buffer 122. In step S04, the controller 111 generates a command data set based on the top data set read by the second waiting buffer 122. In step S05, the information adding unit 113 adds order information to the command data set generated by the controller 111. In step S06, the information adding unit 113 stores the command data set with the order information added in the transmission buffer 212.

[0140] Next, the control server 100 executes step S07. In step S07, the second data checker 132 checks whether or not there is a feedback data set missing from the second waiting buffer 122. If it is determined in step S07 that there is a feedback data set missing, the control server 100 executes step S08. In step S08, the second retransmission requester 134 requests the second transmitter 421 to retransmit the feedback data set that is detected to be missing.

[0141] Next, the control server 100 executes step S09. If it is determined in step S07 that there is no missing feedback data set, the control server 100 executes step S09 without executing step S08. In step S09, the second reading unit 123 waits for the second reading cycle to elapse. After that, the control server 100 returns the process to step S01.

[0142] If it is determined in step S02 that there is no data set to be read, the control server 100 executes steps S11 and S12. In step S11, the second data confirmation unit 132 detects a missing data set to be read and notifies the occurrence of the missing data. For example, the second data confirmation unit 132 notifies the occurrence of the missing data by displaying the missing data on the display device of the user interface 195. In step S12, the second stop unit 133 checks whether the number of first read cycles in which missing data sets to be read are continuously detected is the second drive stop count. Hereinafter, the number of first read cycles in which missing data sets to be read are continuously detected is referred to as the "number of consecutive missing data sets."

[0143] In step S12, when it is determined that the number of consecutive missing times is the second driving stop number, the control server 100 executes step S13. In step S13, the second stop unit 133 outputs a stop command for the operation of the machine 30 to the controller 111.

[0144] Next, the control server 100 executes step S14. If it is determined in step S12 that the number of consecutive missing times is not the second drive stop number, the control server 100 executes step S14 without executing step S13. In step S14, the second stop unit 133 checks whether the number of consecutive missing times is the second communication stop number. If it is determined in step S14 that the number of consecutive missing times is not the second communication stop number, the control server 100 advances the process to step S09. Thereafter, the passage of the read cycle is awaited, and then the process is returned to step S01. Therefore, the read of the leading data set is awaited until the next read cycle.

[0145] If it is determined in step S14 that the number of consecutive missing times is the second communication stop number, the control server 100 executes step S15. In step S15, the second stop unit 133 stops communication between the second receiving unit 221 and the second transmitting unit 421. This completes the procedure for generating and transmitting the command data set.

[0146] (Arrangement procedure for multiple command data sets) 12, the local device 300 executes steps S21, S22, S23, S24, and S25. In step S21, the arrangement unit 312 waits for one or more command data sets to be stored in the receiving buffer 412. In step S22, the arrangement unit 312 reads the command data sets from the receiving buffer 412 in the order in which they were stored. In step S23, the arrangement unit 312 converts the timing information of the read command data set into the number of read cycles from the time of storage in the standby buffer 313 to the time of read. In step S24, the arrangement unit 312 arranges the command data sets, whose timing information has been converted into the number of read cycles, in the standby buffer 313 in the order of the read timings defined by the timing information (in order of the number of read cycles).

[0147] In step S25, the arrangement unit 312 checks whether or not there is an unread command data set remaining in the receive buffer 412. If it is determined in step S25 that there is an unread command data set remaining in the receive buffer 412, the local device 300 returns the process to step S22. Thereafter, reading of the command data set and arrangement in the standby buffer 313 are repeated until reading of the command data set from the receive buffer 412 is completed. If it is determined in step S25 that there is an unread command data set remaining in the receive buffer 412, the local device 300 returns the process to step S21. The local device 300 repeatedly executes the above process.

[0148] (Communication Procedure) 13, the communication device 200 repeatedly executes steps S31, S32, S33, and S34. In step S31, the transmitting unit 211 reads out the command data set from the transmitting buffer 212 in the order in which the data set was stored. In step S32, the transmitting unit 211 transmits the read command data set to the receiving unit 411. In step S33, the second receiving unit 221 receives the feedback data set transmitted from the second transmitting unit 421. In step S34, the second receiving unit 221 stores the received feedback data set in the second transmitting buffer 422.

[0149] (Local Control Procedure) Fig. 14 is a flowchart illustrating a local control procedure. The flowchart in Fig. 14 is executed in a state where a plurality of command data sets are stored in the standby buffer 313 in an order based on the order information. The order information for each of the plurality of command data sets includes timing information converted into the number of read cycles from the time of storage in the standby buffer 313 to the time of readout.

[0150] 14, the local device 300 first executes steps S41 and S42. In step S41, the reading unit 314 counts down the number of read cycles by one for each of the multiple command data sets in the standby buffer 313. In step S42, the reading unit 314 checks whether or not there is a data set to be read in the standby buffer 313. For example, the reading unit 314 checks whether or not the number of read cycles for the first data set in the standby buffer 313 is zero.

[0151] If it is determined in step S42 that there is a data set to be read, the local device 300 executes steps S43 and S44. In step S43, the reader 314 reads the first data set (command data set) from the standby buffer 313. In step S44, the local controller 315 checks whether the command data set read by the standby buffer 313 is not a stop command.

[0152] If it is determined in step S44 that the command data set is not a stop command, the local device 300 executes steps S45, S46, and S47. In step S45, the local controller 315 operates the machine 30 based on the command data set read by the reading unit 314, and acquires a feedback data set representing the operation result of the machine 30. In step S46, the second information adding unit 331 adds second order information to the feedback data set acquired by the local controller 315. In step S47, the second information adding unit 331 stores the feedback data set to which the second order information has been added in the second transmission buffer 422.

[0153] Next, the local device 300 executes step S51. In step S51, the data check unit 322 checks whether or not there is a missing command data set in the waiting buffer 313. 51 If it is determined that a command data set is missing in step S52, the local device 300 executes step S52. In step S52, the retransmission request unit 324 requests the transmission unit 211 to retransmit the command data set that is detected as missing.

[0154] Next, the local device 300 executes step S53. If it is determined in step S51 that there is no missing command data set, the local device 300 executes step S53 without executing step S52. In step S53, the second reading unit 123 waits for the reading cycle to elapse. After that, the control server 100 returns the process to step S41.

[0155] If it is determined in step S42 that there is no data set to be read, the local device 300 executes steps S61 and S62. In step S61, the data confirmation unit 322 detects a loss of the data set to be read and notifies the occurrence of the loss. For example, the data confirmation unit 322 notifies the occurrence of the loss by displaying it on the display device of the user interface 396. In step S62, the stop unit 323 checks whether the number of first read cycles in which loss of the data set to be read was continuously detected is the above-mentioned drive stop count. Hereinafter, the number of first read cycles in which loss of the data set to be read was continuously detected is referred to as the "number of consecutive loss counts."

[0156] If it is determined in step S62 that the number of consecutive missing occurrences is the number of drive stop occurrences, the local device 300 executes step S63. If it is determined in step S44 that the command data set is a stop command, the local device 300 also executes step S63. In step S63, the stop unit 323 causes the local controller 315 to stop the operation of the machine 30.

[0157] Next, the local device 300 executes step S64. If it is determined in step S62 that the consecutive dropout count is not the drive stop count, the local device 300 executes step S64 without executing step S63. In step S64, the stop unit 323 checks whether the consecutive dropout count is the communication stop count. If it is determined in step S64 that the consecutive dropout count is not the communication stop count, the local device 300 advances the process to step S53. Thereafter, the process is awaited for the read cycle to elapse, and then the process is returned to step S41. Therefore, the readout of the leading data set is awaited until the next read cycle.

[0158] If it is determined in step S64 that the consecutive loss count is the communication stop count, the local device 300 executes step S65. In step S65, the stop unit 323 stops communication between the transmission unit 211 and the reception unit 411. This completes the local control procedure.

[0159] (Procedure for arranging multiple feedback data sets) As shown in FIG. 15, the control server 100 executes steps S71, S72, S73, S74, and S75. In step S71, the second arrangement unit 121 waits for one or more feedback data sets to be stored in the second receiving buffer 222. In step S72, the second arrangement unit 121 reads the feedback data sets from the second receiving buffer 222 in the order in which they were stored. In step S73, the second arrangement unit 121 converts the timing information of the read feedback data set into a second read cycle number from the time of storage in the second waiting buffer 122 to the second read time. In step S74, the second arrangement unit 121 arranges the feedback data sets, whose timing information has been converted into the second read cycle number, in the second waiting buffer 122 in the order of the second read timings defined by the timing information (in ascending order of the number of second read cycles).

[0160] In step S75, the second arrangement unit 121 checks whether or not there is an unread feedback data set remaining in the second receive buffer 222. If it is determined in step S75 that there is an unread feedback data set remaining in the second receive buffer 222, the control server 100 returns the process to step S72. Thereafter, reading of the feedback data set and arrangement in the second standby buffer 122 are repeated until reading of the feedback data set from the second receive buffer 222 is completed. If it is determined in step S75 that there is an unread feedback data set remaining in the second receive buffer 222, the control server 100 returns the process to step S71. The control server 100 repeatedly executes the above process.

[0161] (Communication Procedure) 16, the communication device 400 repeatedly executes steps S81, S82, S83, and S84. In step S81, the second transmitting unit 421 reads out the feedback data set from the second transmitting buffer 422 in the order in which the data set was stored. In step S82, the second transmitting unit 421 transmits the read feedback data set to the second receiving unit 221. In step S83, the receiving unit 411 receives the command data set transmitted from the transmitting unit 211. In step S84, the receiving unit 411 stores the received command data set in the receiving buffer 412.

[0162] 〔summary〕 As described above, communication system 1 comprises an information addition unit 113 that adds sequence information to each of a plurality of data sets, a transmitting unit 211 that sequentially transmits the plurality of data sets with the sequence information added, a receiving unit 411 that sequentially receives the plurality of data sets from the transmitting unit 211, an arranging unit 312 that arranges the plurality of data sets received by the receiving unit 411 in a waiting buffer 313 in an order based on the sequence information, and a reading unit 314 that sequentially reads out the plurality of data sets stored in the waiting buffer 313 in the arranged order.

[0163] In communication, the order in which multiple data sets are sent and the order in which multiple data sets are received may be swapped. For example, Ta There may be cases where a data set is received later than a data set that was transmitted later. Even if the transmission order and the reception order are reversed, the present communication system 1 can sequentially read out a plurality of data sets in an order based on the order information. Therefore, the order information can control the order in which the plurality of data sets are used, regardless of the reception order. Therefore, the present communication system 1 is effective in using a plurality of data sets received by communication in an appropriate order.

[0164] The order information may include timing information that determines the read timing, and the read unit 314 may read each of the multiple data sets at the read timing specified by the timing information. The read timing can be appropriately controlled based on the timing information.

[0165] The arranging unit 312 may arrange a plurality of data sets in the waiting buffer 313 in the order of read timing based on the timing information included in the sequence information. Both the arrangement by the arranging unit 312 and the read timing by the reading unit 314 are controlled by the timing information, so that the information added to the data sets can be reduced.

[0166] The timing information is information that indicates a reference timing prior to the transmission timing by the transmission unit 211, and the reading unit 314 may read each of the multiple data sets at a read timing that is a predetermined delay time after the reference timing. The read timing can be easily adjusted by adjusting the delay time.

[0167] The communication system 1 includes: The communication system 1 may further include a delay setting unit 321 that sets a delay time based on an input to a user interface. In this case, the read timing can be easily changed according to an application of the communication system 1.

[0168] The reading unit 314 repeatedly reads data sets from the waiting buffer 313 in a certain read cycle, and the communication system 1 may further include a data checking unit 322 that detects a missing data set to be read in a read cycle based on the arrangement of the multiple data sets in the waiting buffer 313 and the timing information. Based on the relationship between the read cycle and the timing information, a missing data set can be easily detected.

[0169] The multiple data sets include data sets used to control the driving units (e.g., actuators 71, 72, 73, 74, 75, 76 of the machine 30, the automated guided vehicle 31, and the automated guided vehicle 33, etc.), and the communication system 1 may further include a stop unit 323 that stops the driving unit when the number of read cycles in which missing data sets are continuously detected reaches a predetermined number of drive stop times. Unexpected operation of the driving unit due to unstable communication can be avoided.

[0170] The stopping unit 323 may stop the communication between the transmitting unit and the receiving unit when the number of read cycles in which the data set loss is continuously detected reaches a predetermined communication stop count, which is greater than the drive stop count. In this case, it is possible to maintain the communication even after the drive unit is stopped, while avoiding excessive continuation of unstable communication.

[0171] The data check unit 322 may detect the absence of a data set that should be read before the first data set when the timing information of the first data set located at the beginning of the array in the standby buffer 313 does not correspond to the read cycle for reading the first data set. This makes it easier to detect the absence of a data set.

[0172] When a missing data set that is to be read before the first data set is detected, the reading unit 314 may wait to read the first data set until the next read cycle after the read cycle in which the first data set is to be read. By using an arrangement based on the order information, it is possible to easily deal with a missing data set.

[0173] The device may further include a retransmission request unit 324 that requests the transmission unit 211 to retransmit the data set when a loss of the data set is detected by the data confirmation unit 322. This makes it possible to prevent loss of the data set.

[0174] The transmitting unit 211 may hold the transmitted data set in preparation for a retransmission request from the retransmission request unit 324. This can further prevent data set loss.

[0175] The receiving unit 411 may store a plurality of data sets in the receiving buffer 412 in the order in which they were received, and the arranging unit 312 may read the plurality of data sets stored in the receiving buffer 412 from the receiving buffer 412 in the order in which they were stored, and arrange them in the waiting buffer 313 in the order based on the order information. On the premise that the order of arrangement is arranged by the arranging unit 312, the configuration of the receiving buffer 412 can be simplified.

[0176] The transmitting unit 211 may transmit the data set via network communication, and the receiving unit 411 may receive the data set from the transmitting unit 211 via network communication. When using network communication, the order is likely to change. Therefore, it is more effective to control the order in which the multiple data sets are used by order information, regardless of the order in which they are received.

[0177] The transmitting unit 211 may transmit a data set via wireless communication, and the receiving unit 411 may receive a data set via wireless communication from the transmitting unit 211. Therefore, it is more effective to control the order in which a plurality of data sets are used by order information, regardless of the order in which they are received.

[0178] The transmitter 211 may transmit the data set via mobile communication, and the receiver 411 may receive the data set from the transmitter 211 via mobile communication. With mobile communication, the order of data is likely to change. Therefore, it is more effective to control the order of use of a plurality of data sets by order information, regardless of the order of reception.

[0179] The control system 10 includes the communication system 1, a controller 111 that sequentially generates a plurality of command data sets, and a local controller 315 that operates a machine based on the plurality of command data sets, in which the information addition unit 113 adds order information to each of the plurality of command data sets generated by the controller 111, the transmission unit 211 sequentially transmits the plurality of command data sets to which the order information has been added, the reception unit 411 sequentially receives the plurality of command data sets, the arrangement unit 312 arranges the plurality of command data sets received by the reception unit 411 in a waiting buffer 313 in an order based on the order information, the reading unit 314 sequentially reads out the plurality of command data sets stored in the waiting buffer 313 in the arranged order, and the local controller 315 operates a machine based on the plurality of command data sets read by the reading unit 314. The communication system 1 can be effectively utilized for synchronous communication in machine control.

[0180] The local controller 315 sequentially acquires a plurality of feedback data sets including operation results based on a plurality of command data sets, and the communication system 1 may further include a second information adding unit 331 that adds second order information to each of the plurality of feedback data sets acquired by the local controller 315, a second transmitting unit 421 that sequentially transmits the plurality of feedback data sets to which the second order information is added, a second receiving unit 221 that sequentially receives the plurality of feedback data sets from the second transmitting unit 421, a second arranging unit 121 that arranges the plurality of feedback data sets received by the second receiving unit 221 in a second waiting buffer 122 in an order based on the second order information, and a second reading unit 123 that sequentially reads out the plurality of feedback data sets stored in the second waiting buffer 122 in the arranged order. The above communication system 1 can be further effectively utilized for machine control.

[0181] The controller 111 may generate a command data set based on the feedback data set read by the second reader 123. The above-described communication system 1 can be effectively used to establish a feedback loop in machine control.

[0182] Although the embodiments have been described above, the present disclosure is not necessarily limited to the above-described embodiments, and various modifications are possible without departing from the gist of the present disclosure. [Explanation of symbols]

[0183] 1...communication system, 10...control system, 300...local device, 211...transmitter, 212...transmit buffer, 411...receiver, 412...receive buffer, 111...controller, 113...information addition unit, 312...arrangement unit, 313...waiting buffer, 314...reader, 321...delay setting unit, 322...data confirmation unit, 323...stop unit, 324...retransmission request unit, 421...second transmitter, 422...second transmission buffer, 221...second receiver, 222...second receive buffer, 331...second information addition unit, 121...second arrangement unit, 122...second wait buffer, 123...second reader, 131...second delay setting unit, 132...second data confirmation unit, 133...second stop unit, 134...second retransmission request unit.

Claims

1. an information adding unit that adds sequence information including timing information that determines a read timing to each of the plurality of data sets; a transmission unit that sequentially transmits the plurality of data sets to which the order information is added; a receiving unit that sequentially receives the plurality of data sets from the transmitting unit; an arrangement unit that arranges the plurality of data sets received by the receiving unit in a waiting buffer in an order based on the order information; a read unit that sequentially reads the plurality of data sets stored in the standby buffer in the arranged order, and repeats reading of the data sets from the standby buffer in a constant read cycle so as to read each of the plurality of data sets at the read timing designated by the timing information; a data verification unit that detects a loss of the data set to be read in the read cycle based on the arrangement of the plurality of data sets in the waiting buffer and the timing information.

2. The communication system according to claim 1 , wherein the arranging unit arranges the plurality of data sets in the waiting buffer in the order of the read timing based on timing information included in the sequence information.

3. the timing information is information representing a reference timing prior to a transmission timing by the transmitting unit, The communication system according to claim 1 , wherein the reading unit reads each of the plurality of data sets at the read timing that is a predetermined delay time after the reference timing.

4. The communication system according to claim 3 , further comprising a delay setting unit that sets the delay time based on an input to a user interface.

5. the plurality of data sets includes a data set used to control a drive unit; The communication system according to any one of claims 1 to 4, further comprising a stop unit that stops the drive unit when the number of read cycles in which the data set is continuously detected as missing reaches a predetermined drive stop count.

6. The communication system according to claim 5 , wherein the stopping unit stops communication between the transmitting unit and the receiving unit when the number of read cycles in which the data set is continuously detected to be missing reaches a predetermined communication stop count that is greater than the drive stop count.

7. 7. The communication system according to claim 1, wherein the data confirmation unit detects a missing data set that should be read before the first data set when the timing information of a first data set located at the beginning of the array in the standby buffer does not correspond to a read cycle for reading the first data set.

8. 8. The communication system according to claim 7, wherein, when a missing data set to be read before the first data set is detected, the reading unit waits to read the first data set until a read cycle next to the read cycle in which the first data set is to be read.

9. The communication system according to any one of claims 1 to 8, further comprising a retransmission request unit that requests the transmission unit to retransmit the data set when the data confirmation unit detects that the data set is missing.

10. The communication system according to claim 9 , wherein the transmitting unit holds the transmitted data set in preparation for a retransmission request from the retransmission request unit.

11. The receiver stores the plurality of data sets in a receive buffer in the order in which the data sets are received; The array portion is reading the plurality of data sets stored in the receive buffer from the receive buffer in the order in which they were stored; Arranging the queue in the waiting buffer in an order based on the order information; A communication system according to any one of claims 1 to 10.

12. The transmission unit transmits the data set via network communication; The communication system according to any one of claims 1 to 11, wherein the receiving unit receives the data set from the transmitting unit via the network communication.

13. The transmitter transmits the data set via wireless communication; The communication system of claim 12 , wherein the receiver receives the data set from the transmitter via the wireless communication.

14. The transmission unit transmits the data set via mobile communication; The communication system of claim 13 , wherein the receiver receives the data set from the transmitter via the mobile communication.

15. A controller for sequentially generating a plurality of command data sets; an information adding unit that adds sequence information to each of the plurality of command data sets generated by the controller; a transmission unit that sequentially transmits the plurality of command data sets to which the sequence information is added; a receiving unit that sequentially receives the plurality of command data sets from the transmitting unit; an arrangement unit that arranges the plurality of command data sets received by the receiving unit in a waiting buffer in an order based on the order information; a read unit that sequentially reads out the plurality of command data sets stored in the standby buffer in the order in which they are arranged; a communication system having a local controller that operates a machine based on the plurality of command data sets read by the reading unit; Equipped with the sequence information includes timing information for determining a read timing; A control system, wherein the reading unit reads each of the plurality of command data sets at the read timing designated by the timing information.

16. The local controller sequentially acquires a plurality of feedback data sets including operation results based on the plurality of command data sets; The communication system includes: a second information adding unit that adds second order information to each of the plurality of feedback data sets acquired by the local controller; a second transmission unit configured to sequentially transmit the plurality of feedback data sets to which the second sequence information is added; a second receiving unit configured to sequentially receive the plurality of feedback data sets from the second transmitting unit; a second arranging unit that arranges the plurality of feedback data sets received by the second receiving unit in a second waiting buffer in an order based on the second ordering information; The control system according to claim 15 , further comprising: a second reading unit configured to sequentially read out the plurality of feedback data sets stored in the second waiting buffer in an arranged order.

17. The control system according to claim 16 , wherein the controller generates the command data set based on the feedback data set read by the second reader.

18. adding sequence information including timing information for determining a read timing to each of the plurality of data sets; Sequentially transmitting the plurality of data sets to which the order information has been added by a transmitting unit; receiving, by a receiving unit, the plurality of data sets sequentially from the transmitting unit; Arranging the plurality of data sets received by the receiving unit in a waiting buffer in an order based on the order information; sequentially reading the plurality of data sets stored in the standby buffer in the order in which they are arranged, and repeating the reading of the data sets from the standby buffer in a constant read cycle so that each of the plurality of data sets is read at the read timing designated by the timing information; detecting a loss of the data set to be read in the read cycle based on the arrangement of the plurality of data sets in the waiting buffer and the timing information.

Citation Information

Patent Citations

  • Remote operation system, remote operation method, device to be operated, operation terminal, program and storage medium

    JP2002328886A

  • Multi-plane cell switch fabric system

    JP2009253422A

  • Information processing device, communication control method and communication control program

    JP2011210144A

  • Communication device, equipment operation system, communication method, and program

    JP2015035661A

  • Delay fluctuation absorption method

    JP2017005289A