WO2021229842A1 - マシン制御システム、プログラム、マシン、システム及びデバイス - Google Patents
マシン制御システム、プログラム、マシン、システム及びデバイス Download PDFInfo
- Publication number
- WO2021229842A1 WO2021229842A1 PCT/JP2020/042331 JP2020042331W WO2021229842A1 WO 2021229842 A1 WO2021229842 A1 WO 2021229842A1 JP 2020042331 W JP2020042331 W JP 2020042331W WO 2021229842 A1 WO2021229842 A1 WO 2021229842A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- machine
- cycle
- information
- controller
- unit
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 518
- 230000001360 synchronised effect Effects 0.000 claims abstract description 157
- 230000033001 locomotion Effects 0.000 claims abstract description 109
- 230000004044 response Effects 0.000 claims description 190
- 238000000034 method Methods 0.000 claims description 101
- 230000005540 biological transmission Effects 0.000 claims description 71
- 238000012545 processing Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 28
- 238000003860 storage Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 11
- 230000010365 information processing Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- H04Q9/04—Arrangements for synchronous operation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33097—Variable ticks, align clocks, to synchronise cycles with other machine, robot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33192—Radio link, wireless
Definitions
- This disclosure relates to machine control systems, programs, machines, systems and devices.
- Patent Document 1 includes 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 to the robot controller and the processing device controller. It has been disclosed.
- This disclosure provides an effective system for improving the reliability of synchronous communication between devices.
- the machine control system is a virtual space having one or more machines that are configured in a real space and realize motion according to a machine command, and one or more servers that communicate with one or more machines.
- each equipped with one or more controllers that control one or more machines each of one or more controllers runs a motion program in a control cycle and generates machine commands for the corresponding machines. It has an additional part that adds the first cycle information to the machine command and a synchronous communication part that sends the machine command to the corresponding machine, and each of one or more machines issues a machine command from one or more servers.
- a terminal communication unit to receive, a machine-side timing adjustment unit that stores the machine command received by the terminal communication unit, and calls the machine command in the machine-side control cycle corresponding to the first cycle information added to the machine command. Has.
- a program according to another aspect of the present disclosure executes a motion program in a control cycle to generate a machine command for a corresponding machine, and in the corresponding machine, which machine-side control cycle calls the machine command.
- a virtual server that communicates the controller that executes the addition of the specified first cycle information to the machine command and the transmission of the machine command to which the first cycle information is added to the corresponding machine. Implement it in space.
- a machine is a terminal communication unit that communicates with a main body that realizes motion and a server that constitutes a virtual space in which a controller is mounted, and receives a machine command from the server to which the controller adds cycle information.
- the machine side timing adjustment unit that stores the machine command received by the terminal communication unit and calls the machine command in the control cycle corresponding to the cycle information added to the machine command, and the machine called by the machine side timing adjustment unit. Based on the command, the main body is equipped with a machine control unit that realizes motion.
- the system includes a first device that repeats the first process, a second device that communicates with the first device and repeats the second process, and the first device is subjected to the first process. It has a first processing module that generates the first information, a first addition unit that adds the first cycle information to the first information, and a first communication unit that transmits the first information to the second device.
- the two devices store the second communication unit that receives the first information from the first device and the first information received by the second communication unit, and the cycle corresponding to the first cycle information added to the first information. It has a timing adjusting unit that calls the first information in the second processing of the above, and a second processing module that executes the second processing based on the first information called by the timing adjusting unit.
- the device is the first processing module that repeats the generation of the first information by the first processing, and the second device that repeats the second processing.
- a first addition unit that adds the first cycle information that specifies whether to call the information to the first information, and a communication unit that transmits the first information to which the first cycle information is added by the first addition unit to the second device. And prepare.
- the device includes a communication unit and a communication unit, which are generated by the first device that repeats the first process and receive the first information to which cycle information is added from the first device.
- the timing adjustment unit that stores the first information received by the user and calls the first information in the second processing of the cycle corresponding to the cycle information added to the first information, and the first information called by the timing adjustment unit.
- a processing module that executes a second process based on the above is provided.
- the system according to the present embodiment includes a plurality of devices in which each performs repetitive processing while communicating with each other. Communication between devices may require synchronism with respect to the processing cycle of each device.
- communication synchronized with the processing cycle of each device is referred to as "synchronous communication".
- the system includes a first device that repeats the first process, and a second device that communicates with the first device and repeats the second process.
- the 1 device includes a first processing module that generates the first information by the first processing, a first addition unit that adds the first cycle information to the first information, and a first communication that transmits the first information to the second device.
- the second device stores the second communication unit that receives the first information from the first device and the first information received by the second communication unit, and is added to the first information.
- a timing adjustment unit that calls the first information in the second processing of the cycle corresponding to the first cycle information, and a second processing module that executes the second processing based on the first information called by the timing adjustment unit. Have.
- the first information transmitted from the first device is buffered by the second device and is called in the second process of the cycle corresponding to the first cycle information.
- the transmission of the first information from the first device side is advanced, and the usage timing of the first information is started from the reception timing of the first information in the second device. It is possible to have a margin in the period until. With this margin, it is possible to absorb the fluctuation of the reception timing that has expanded due to the communication status or the like, and to call the buffered first information at an appropriate use timing. Therefore, the reliability of synchronous communication can be improved.
- the second processing module further generates the second information by the second processing, the second device further has a second addition part that adds the second cycle information to the second information, and the second communication part is the second.
- Information is transmitted to the first device, the first communication unit receives the second information from the second device, and the first device stores the second information received by the first communication unit and stores the second information in the second information.
- the first processing module further has a first timing adjusting unit that calls the second information in the first processing of the cycle corresponding to the added second cycle information, and the first processing module has the second information called by the first timing adjusting unit.
- the first process may be executed based on. In this case, the reliability of bidirectional synchronous communication between the first device and the second device can be improved.
- the first device and the second device may be devices mounted on the real space or may be devices mounted on the virtual space.
- the real space is the space in which a real object exists.
- the virtual space is a space represented by data so as to simulate the real space.
- Implementing a device in a virtual space means adding a program that simulates the function of the device in the virtual space to the devices constituting the virtual space.
- first device and the second device include a controller, a machine, a sensor, a motor, a servo driver, etc. mounted in a real space.
- the first device and the second device may be a controller, a machine, a sensor, a motor, a servo driver, or the like mounted on a virtual space.
- Communication between the first device and the second device may include wireless communication at least in part.
- the communication between the first device and the second device includes wireless communication, the effect of absorbing the above-mentioned fluctuation of the reception timing is more effective.
- the first device is a controller mounted on a virtual space
- the second device is a machine mounted on a real space
- communication between the controller and the machine is performed.
- a machine control system including a part of wireless communication is specifically exemplified.
- the machine control system 1 shown in FIG. 1 is a system that controls a plurality of machines 4 based on calculation results transmitted from at least one controller server 2 via a wireless communication network.
- the machine control system 1 there is a production system that produces a work by a coordinated motion of a plurality of machines 4.
- the machine control system 1 includes at least one controller server 2, a communication server 3, and a plurality of machines 4.
- the controller server 2 executes a predetermined operation in the control cycle.
- the controller server 2 has a plurality of controllers 100 (see FIG. 3).
- the plurality of controllers 100 are mounted on the virtual space in the controller server 2 and control each of the plurality of machines 4.
- One controller 100 corresponds to at least one machine 4.
- One controller 100 may correspond to a plurality of machines 4, and a plurality of controllers 100 may correspond to one machine 4.
- Implementing on a virtual space means adding a function as a controller 100 to an arithmetic unit such as a controller server 2 by software.
- the function as the controller 100 includes acquisition of information from the machine 4, generation of a machine command based on the acquired information, and output of the generated machine command to the machine 4.
- the plurality of controllers 100 may be distributed to the plurality of controller servers 2. As a result, the calculation load of one controller server 2 is reduced.
- the communication server 3 communicates with the controller server 2 via the wired communication network 8, communicates with the plurality of machines 4 via the wireless communication network 7, and relays information between the controller server 2 and the plurality of machines 4. .
- Specific examples of the wired communication network 8 include a local area network such as Ethernet (registered trademark).
- Specific examples of the wireless communication network 7 include a high-speed wireless communication network such as a 5th generation mobile communication system (5G).
- the communication server 3 may be provided at a location away from the controller server 2, may be provided at a location close to the controller server 2, or may be provided in the same housing as the controller server 2.
- the communication server 3 has a communication controller 200 and a wireless communication base station 201.
- the communication controller 200 communicates with the controller server 2 via the wired communication network 8 and communicates with the plurality of machines 4 via the wireless communication base station 201.
- the wireless communication base station 201 communicates with the wireless communication terminals 301 (described later) of the plurality of machines 4 via the wireless communication network 7.
- the plurality of machines 4 are configured in the real space, and each realizes a motion according to the calculation result of the controller server 2. For example, each of the plurality of machines 4 realizes a motion in response to the above machine command.
- Realizing motion means displacing at least one object in real space. Displacement includes movement and posture change. Further, the displacement includes a displacement in a space that cannot be visually recognized from the outside, such as inside a housing.
- Each of the plurality of machines 4 has a machine main body 10, a local controller 300, and a wireless communication terminal 301.
- the machine body 10 is a device that realizes motion.
- the machine body 10 may be any device as long as it is a device that realizes motion based on the calculation result of the controller server 2.
- a mobile robot 20 is a robot that can travel independently, and has an automatic guided vehicle 21 and a robot 22.
- the automatic guided vehicle 21 autonomously travels in response to a movement command included in the machine command.
- Specific examples of the automatic guided vehicle 21 include an electric so-called AGV (Automated Guided Vehicle).
- the robot 22 executes work on the work according to the work command included in the machine command.
- the robot 22 is a 6-axis vertical articulated robot, and as shown in FIG. 2, the base 31, the swivel portion 32, the first arm 33, the second arm 34, the third arm 35, and the tip end thereof. It has a unit 36 and actuators 41, 42, 43, 44, 45, 46.
- the base 31 is fixed on the automatic guided vehicle 21.
- the swivel portion 32 is provided on the base portion 31 so as to swivel around the vertical axis 51.
- the first arm 33 is connected to the swivel portion 32 so as to swing around the axis 52 intersecting (for example, orthogonal to) the axis 51.
- the intersection also includes a case where there is a twisting relationship such as a so-called grade separation.
- the second arm 34 is connected to the tip of the first arm 33 so as to swing around an axis 53 substantially parallel to the axis 52.
- the third arm 35 is connected to the tip of the second arm 34 so as to swivel around the axis 54 along the second arm 34 and swing around the axis 55 intersecting (for example, orthogonal to) the axis 54.
- the tip portion 36 is connected to the tip portion of the third arm 35 so as to swivel around the axis 56 that intersects (for example, is orthogonal to) the axis 55.
- the tip 36 is provided with various tools such as a suction nozzle, a robot hand, or a processing tool, depending on the application.
- Actuators 41, 42, 43, 44, 45, 46 include, for example, an electric motor and a speed reducer, and drive the robot 22.
- the actuator 41 swings the swivel portion 32 around the axis 51
- the actuator 42 swings the first arm 33 around the axis 52
- the actuator 43 swings the second arm 34 around the axis 53
- the actuator 44 swings.
- the third arm 35 is swiveled around the axis 54
- the actuator 45 swings the third arm 35 around the axis 55
- the actuator 46 swivels the tip 36 around the axis 56.
- the robot 22 may be a 7-axis redundant robot in which a 1-axis joint is further added to the 6-axis vertical articulated robot, or may be a so-called scalar type articulated robot. Further, the robot 22 may be a so-called parallel link type robot.
- the stationary robot 30 is stationary on the floor surface of the work area or the like.
- the stationary robot 30 include a vertical articulated robot, a scalar type articulated robot, a parallel link type robot, and the like, as in the robot 22.
- the NC machine tool 60 performs machining such as cutting on a work according to a machining command included in the machine command.
- the environment sensor 70 acquires system environmental information in response to a sensing command included in the machine command.
- Specific examples of the environment sensor 70 include a camera that acquires an environmental image of the system, a temperature sensor that acquires the environmental temperature of the system, and the like.
- the conveyor 80 conveys the work in accordance with the transfer command included in the machine command. Specific examples of the conveyor 80 include a belt conveyor, a roller conveyor, and the like.
- the local controller 300 communicates with the communication server 3 via the wireless communication terminal 301, and causes the machine body 10 to realize motion in response to a machine command acquired from the communication server 3 via the wireless communication terminal 301. Further, the local controller 300 feeds back the response information acquired from the machine body 10 to the communication server 3 via the wireless communication terminal 301.
- the wireless communication terminal 301 communicates with the wireless communication base station 201 via the wireless communication network 7 in accordance with a command from the local controller 300.
- the machine control system 1 sends a machine command transmitted from the controller side (controller 100 side of the wireless communication network 7) via the wireless communication network 7 to the machine side (machine of the wireless communication network 7) until its use timing. It may be configured to buffer on the 4 side). In this case, the transmission of the machine command from the controller side can be advanced, and a margin can be provided in the period from the reception timing of the machine command on the machine side to the use timing of the machine command. With this margin, it is possible to absorb the fluctuation of the reception timing expanded due to the wireless communication and use the buffered machine command at the timing synchronized with the control cycle.
- the machine control system 1 may be configured so that the response information transmitted from the machine side via the wireless communication network 7 is buffered on the controller side until its use timing. In this case, it is possible to advance the transmission of the response information from the machine side and allow a margin from the reception timing of the response information on the controller side to the use timing of the response information. With this margin, it is possible to absorb the fluctuation of the reception timing expanded due to the wireless communication and use the buffered response information at the timing synchronized with the control cycle.
- the response information can be acquired and the motion program based on the response information can be obtained. It is possible to repeat the generation of the machine command by execution and the control of the machine 4 in response to the machine command in the control cycle.
- controller 100 the configuration of the controller 100, the communication controller 200, and the local controller 300 will be illustrated in more detail.
- the controller 100 receives the response information transmitted by the corresponding machine 4 (hereinafter referred to as “jurisdiction machine 4”) from the communication server 3 via the wired communication network 8, and motions based on the received response information. It is configured to execute a program, generate a machine command for the jurisdiction machine 4, and send the machine command to the communication server 3 via the wired communication network 8.
- jurisdiction machine 4 the response information transmitted by the corresponding machine 4
- It is configured to execute a program, generate a machine command for the jurisdiction machine 4, and send the machine command to the communication server 3 via the wired communication network 8.
- the controller 100 has a program storage unit 111, a reception information storage unit 112, a motion module 113, and a synchronous communication unit 114 as a functional configuration (hereinafter referred to as “functional block”). And an asynchronous communication unit 115.
- the program storage unit 111 stores the motion program.
- the motion program contains multiple motion commands in chronological order.
- the motion command is, for example, a displacement command to a target position / posture.
- the operation command may include the designation of the arrival time at the target position / posture, or may include the designation of the displacement speed to the target position / posture.
- the motion command may be a displacement command at the target speed. In this case, the motion command may include specifying the displacement period at the target velocity.
- the reception information storage unit 112 stores the reception information from the communication controller 200 of the communication server 3.
- the received information includes the above response information.
- the motion module 113 executes a motion program in the control cycle and generates a machine command for the jurisdiction machine 4. For example, the motion module 113 executes a motion program and repeatedly executes a machine command for the jurisdiction machine 4 in a control cycle. Executing the motion program includes calculating the machine command so that the motion of the jurisdiction machine 4 follows the motion command.
- the motion module 113 may execute a motion program based on the response information stored in the received information storage unit 112. For example, the motion module 113 calculates the motion record of the jurisdiction machine 4 based on the response information stored in the received information storage unit 112, and calculates the machine command so that the motion record follows the motion command.
- Specific examples of the machine command include a speed command or a driving force command (including a torque command).
- the synchronous communication unit 114 transmits a machine command to the communication controller 200 via the wired communication network 8.
- "Synchronous communication” means constant cycle communication synchronized with the control cycle. Synchronous communication includes communication executed every control cycle and communication executed every predetermined number of control cycles. As will be described later, the machine command transmitted by the synchronous communication unit 114 is buffered in the local controller 300 of the jurisdiction machine 4 (hereinafter, referred to as “jurisdiction local controller 300”), and is called at the timing synchronized with the control cycle. Therefore, the transmission of the machine command by the synchronous communication unit 114 itself does not have to be synchronized with the control cycle.
- the asynchronous communication unit 115 transmits asynchronous communication data for another node to another node via the wired communication network 8 without going through the communication controller 200.
- Asynchronous communication means communication that does not require synchronization with the control cycle, but may be synchronized with the control cycle.
- the other node may be another controller 100, or may be a node different from the plurality of controllers 100.
- a specific example of another node is an application server 6 (see FIG. 1).
- the application server 6 is a computer connected to the controller server 2 via the wired communication network 8.
- the application server 6 may be incorporated in the controller server 2 or may be incorporated in the communication server 3.
- the application server 6 has a data collection application that collects and stores control information such as machine commands and response information from a plurality of controllers 100.
- the application server 6 may further have a simulator application that simulates the motion of a plurality of machines 4 on a virtual space based on the control information accumulated by the data collection application.
- the application server 6 may further have a learning application that generates a trained model by machine learning based on the control information accumulated by the data collection application. Specific examples of the trained model include a diagnostic model that outputs the normality of the machine 4 in response to input of control information.
- the application server 6 may further have an analysis application that generates output information such as the normality based on the control information and the trained model and transmits the output information to the controller 100.
- the asynchronous communication unit 115 may acquire the execution results of the simulator application, the learning application, the analysis application, and the like from the application server 6 via the wired communication network 8 without going through the communication controller 200.
- the controller 100 may be configured to buffer the response information up to the timing of its use.
- the controller 100 further includes a controller-side timing adjusting unit 116.
- the controller-side timing adjustment unit 116 stores the response information received from the jurisdiction machine 4, and calls the response information in the control cycle corresponding to the second cycle information added to the response information.
- the second cycle information is information indicating the use timing of the response information (for example, the number of control cycles when the response information is used, hereinafter referred to as "the number of cycles during use").
- the second cycle information may be the number of cycles at the time of use itself, or may be the number of control cycles of the jurisdiction local controller 300 at the timing when the response information is acquired (hereinafter, referred to as “the number of cycles at the time of acquisition”). good.
- the controller-side timing adjustment unit 116 calls the response information in the control cycle in which the number of control cycles is the number of cycles in use. Calling the response information in the control cycle in which the number of control cycles is the number of cycles in use means calling the response information at a timing that can be used in the control cycle. Therefore, calling the response information prior to the control cycle, as used in the control cycle, is also included in calling the response information in the control cycle.
- the controller side timing adjustment unit 116 calculates the use cycle number based on the second cycle information (for example, by adding a predetermined number), and the control cycle number is set. The response information is called in the control cycle that is the number of cycles in use.
- the controller-side timing adjustment unit 116 outputs the called response information to the synchronous communication unit 114, and the synchronous communication unit 114 stores the response information in the reception information storage unit 112.
- the motion module 113 of the controller 100 executes the motion program based on the response information called by the timing adjustment unit 116 on the controller side.
- the controller 100 may be configured to further execute the generation of the control cycle and the transmission of the cycle timing of the control cycle to the controlling machine 4.
- the cycle timing is used to generate a control cycle synchronized with the control cycle in the controlling machine 4.
- the controller 100 may further include a controller-side time generation unit 121, a controller-side cycle generation unit 122, a timing transmission unit 123, and a cycle counter 124.
- the controller-side time generation unit 121 generates the controller-side time in synchronization with the time generated by the time server 5 (hereinafter referred to as "global time").
- the time server 5 is a computer connected to the controller server 2 via the wired communication network 8 and outputs the global time.
- the time server 5 may be incorporated in the controller server 2 or may be incorporated in the communication server 3.
- the time generation unit 121 on the controller side acquires the global time received from the time server 5 by the synchronization communication unit 114 by communication that guarantees time synchronization such as TSN (Time Sensitive Networking) communication via the wired communication network 8.
- TSN Time Sensitive Networking
- the controller-side time generation unit 121 sets the time counted by the timer 195 (described later) to the global time.
- the controller side cycle generation unit 122 generates a control cycle based on the controller side time. For example, the controller-side cycle generation unit 122 sets the start timing of the control cycle based on the controller time, and repeatedly generates cycle pulses in the control cycle from the time when the controller-side time reaches the start timing.
- the timing transmission unit 123 transmits the cycle timing of the control cycle to the jurisdiction local controller 300 via the communication controller 200.
- the cycle timing is information indicating the phase of the control cycle at the control side time.
- the cycle timing is the cycle pulse generation timing by the controller-side cycle generation unit 122.
- the timing transmission unit 123 may transmit the start timing to the jurisdiction local controller 300 as the cycle timing prior to the controller-side cycle generation unit 122 starting the generation of the control cycle, or the controller-side cycle generation unit 122. After starting the generation of the control cycle, the generation timing of the second and subsequent cycle pulses may be transmitted to the jurisdiction local controller 300 as the cycle timing.
- the timing transmission unit 123 may transmit the cycle timing to another controller 100 as the master timing.
- the controller-side cycle generation unit 122 of the other controller 100 may acquire the master timing via the wired communication network 8 and generate a control cycle based on the acquired master timing and the controller-side time. ..
- the controller-side cycle generation unit 122 may set the start timing based on the acquired master timing.
- the timing transmission unit 123 When the machine-side timing adjustment unit 315 (described later) of the jurisdiction local controller 300 fails to generate the control cycle, the timing transmission unit 123 retransmits the cycle timing after the previously transmitted cycle timing to the jurisdiction local controller 300. You may. For example, the timing transmission unit 123 waits for the reception of the set completion notification from the jurisdiction local controller 300, and when the controller side time reaches the cycle timing without receiving the set completion notification, the machine side timing adjustment unit 315 controls the cycle. Is determined to have failed to generate.
- the set completion notification is a notification that the start timing set in the jurisdiction local controller 300 has been completed.
- the cycle counter 124 counts the number of control cycles (for example, the number of cycle pulses) generated by the controller-side cycle generation unit 122.
- the motion module 113 executes a motion program based on the number of control cycles counted by the cycle counter 124. For example, the motion module 113 changes the execution target from the currently executing motion command to the next motion command each time the number of control cycles is counted up.
- the controller 100 may be configured to generate a communication cycle synchronized with the control cycle.
- the controller 100 may further include a communication cycle generation unit 131 and a cycle counter 132.
- the communication cycle generation unit 131 generates a communication cycle synchronized with the control cycle. For example, the communication cycle generation unit 131 generates a communication cycle based on the controller side time and the cycle timing of the control cycle. For example, the communication cycle generation unit 131 sets a start timing synchronized with the start timing of the control cycle based on the cycle timing, and repeatedly generates a cycle pulse in the communication cycle from the time when the controller side time reaches the start timing. ..
- the start timing synchronized with the start timing of the control cycle includes a start timing deviated from the start timing of the control cycle by a predetermined period (for example, half the cycle length of the control cycle).
- the cycle length of the communication cycle is an integral multiple (including 1 times) of the cycle length of the control cycle.
- the cycle length of the communication cycle may be an integral fraction of the cycle length of the control cycle.
- the cycle counter 132 counts the number of communication cycles (for example, the number of cycle pulses) generated by the communication cycle generation unit 131. Since the communication cycle is generated in synchronization with the control cycle, it is possible to detect the number of control cycles based on the number of communication cycles. Therefore, the controller-side timing adjustment unit 116 may call the response information in the control cycle in which the number of control cycles is the number of cycles in use, based on the number of communication cycles.
- the controller 100 may be configured to add information indicating the timing of use to the machine command.
- the controller 100 may further include an additional portion 125.
- the addition unit 125 adds the first cycle information to the machine command.
- the first cycle information is information that specifies in which machine-side control cycle the machine command is called in the jurisdiction machine 4.
- the jurisdiction local controller 300 that has received the machine command to which the first cycle information is added has the above-mentioned usage timing (for example, the number of control cycles when the machine command is used.
- usage cycle based on the first cycle information. Detects the number) and buffers the machine command until the usage timing.
- the addition unit 125 calculates the number of cycles in use based on the current number of control cycles, and adds the number of cycles in use itself to the machine command as the first cycle information.
- the addition unit 125 calculates the number of cycles in use by adding a predetermined number to the current number of cycles.
- the addition unit 125 may add the current number of control cycles to the machine command as the first cycle information.
- the jurisdiction machine 4 calculates the number of cycles in use (for example, by adding a predetermined number) based on the first cycle information.
- the controller 100 may be configured to detect the transmission delay of the machine command based on the first cycle information included in the machine command. Further, the controller 100 may be configured to detect the reception delay of the response information based on the second cycle information included in the response information. For example, the controller 100 may further include a cycle check unit 133.
- the cycle check unit 133 detects the transmission delay of the machine command based on the first cycle information included in the machine command.
- the delay in transmitting the machine command means a delay in time for the local controller 300 to call the machine command.
- the cycle check unit 133 detects a machine command transmission delay when the synchronous communication unit 114 transmits a machine command and the current number of control cycles is equal to or greater than the number of cycles in use of the machine command. do.
- the cycle check unit 133 may detect the reception delay of the response information based on the second cycle information included in the response information.
- the reception delay of the response information means a delay of a level that is not in time for the call of the response information by the timing adjustment unit 116 on the controller side. For example, after receiving the response information from the jurisdiction machine 4, the cycle check unit 133 detects the delay in receiving the response information when the current number of control cycles is equal to or greater than the number of cycles in use of the response information.
- the communication cycle is generated in synchronization with the control cycle, it is possible to detect the number of control cycles based on the number of communication cycles. Therefore, even if the cycle check unit 133 detects the transmission delay of the machine command based on the first cycle information and the number of communication cycles, and detects the reception delay of the response information based on the second cycle information and the number of communication cycles. good.
- the cycle check unit 133 may cancel the transmission of the machine command when the transmission delay of the machine command is detected. For example, when the controller side timing adjustment unit 116 detects the transmission delay of the machine command, the machine command is discarded prior to the transmission of the machine command to the communication controller 200. When the cycle check unit 133 detects a delay in receiving the response information, the cycle check unit 133 may discard the response information.
- the synchronous communication unit 114 may transmit synchronous communication data to the controller-side timing adjustment unit 116 of the other controllers 100 in the plurality of controllers 100 via the wired communication network 8.
- the jurisdiction machine 4 used to coordinate the motion of the jurisdiction machine 4 with the motion of the machine 4 (hereinafter referred to as “another machine 4”) supported by the other controller 100.
- Status information (for example, machine command to the jurisdiction machine 4 or response information from the jurisdiction machine 4) can be mentioned.
- the additional unit 125 may add the first cycle information to the synchronous communication data.
- the controller-side timing adjustment unit 116 of the other controller 100 that has received the synchronous communication data to which the first cycle information is added uses the timing of using the synchronous communication data (for example, the synchronous communication data) based on the first cycle information.
- the number of control cycles at the time of use is detected, and the synchronous communication data is buffered until the use timing.
- the addition unit 125 calculates the number of cycles in use based on the current number of control cycles, and adds the number of cycles in use itself to the synchronous communication data as the first cycle information.
- the addition unit 125 calculates the number of cycles in use by adding a predetermined number to the current number of cycles.
- the addition unit 125 may add the current number of control cycles (hereinafter, referred to as “the number of cycles at the time of addition”) to the synchronous communication data as the first cycle information.
- the controller-side timing adjustment unit 116 of the other controller 100 stores the synchronous communication data and calls the synchronous communication data in the control cycle corresponding to the first cycle information added to the synchronous communication data.
- the controller-side timing adjustment unit 213 calls the synchronous communication data in the control cycle in which the number of control cycles is the number of cycles in use.
- the timing adjustment unit 213 on the controller side calculates the number of cycles at the time of use based on the information of the first cycle (for example, by adding a predetermined number), and the number of control cycles is the number of control cycles.
- the synchronous communication data is called in the control cycle which is the number of cycles in use.
- the controller side timing adjustment unit 116 outputs the called synchronous communication data to the synchronous communication unit 114, and the synchronous communication unit 114 stores the synchronous communication data in the reception information storage unit 112.
- the motion module 113 of the other controller 100 executes the motion program based on the response information called by the controller-side timing adjustment unit 116.
- the synchronous communication data is buffered in the controller side timing adjustment unit 116 of the other controller 100, and is called at the timing synchronized with the control cycle. Therefore, the transmission of the synchronous communication data by the synchronous communication unit 114 itself does not have to be synchronized with the control cycle.
- the cycle check unit 133 delays the transmission of the synchronous communication data based on the first cycle information included in the synchronous communication data. May be detected.
- the transmission delay of the synchronous communication data means a delay of a level that is not in time for the call of the synchronous communication data by the controller side timing adjustment unit 116 of the other controller 100.
- the cycle check unit 133 when the synchronous communication unit 114 transmits synchronous communication data, the number of control cycles corresponding to the current number of communication cycles is equal to or greater than the number of cycles in use of the synchronous communication data. Detects the transmission delay of synchronous communication data.
- the cycle check unit 133 may cancel the transmission of the synchronous communication data.
- the cycle check unit 133 of the other controller 100 may detect the reception delay of the synchronous communication data based on the first cycle information included in the synchronous communication data.
- the reception delay of the synchronous communication data means a delay of a level that is not in time for the call of the synchronous communication data by the timing adjustment unit 116 on the controller side. For example, when the cycle check unit 133 receives the synchronous communication data addressed to the controller side timing adjustment unit 116, the synchronous communication is performed when the current number of control cycles is equal to or greater than the number of cycles in use of the synchronous communication data. Detects data reception delay. When the cycle check unit 133 detects the reception delay of the synchronous communication data, the synchronous communication data may be discarded.
- the controller 100 may be configured to switch the transmission destination of the data based on whether the data transmitted by the synchronous communication unit 114 is addressed to the jurisdiction machine 4 or another controller 100.
- the controller 100 has a switch 134.
- the switch 134 transmits the data to the jurisdiction local controller 300 via the communication server 3 if the data transmitted by the synchronous communication unit 114 is destined for the jurisdiction machine 4, and if the data is destined for another controller 100, the switch 134 transmits the data to the jurisdiction local controller 300.
- the data is transmitted to the controller-side timing adjustment unit 116 of another controller 100 via the wired communication network 8.
- the local controller 300 is configured to receive a machine command via the communication server 3 and to make the machine body 10 realize a motion based on the machine command.
- the local controller 300 has a terminal communication unit 314, a machine side timing adjustment unit 315, a command storage unit 311, a machine control unit 313, and a response information storage unit 312 as functional blocks. Have.
- the terminal communication unit 314 receives a machine command from the communication server 3 via the wireless communication network 7.
- the command storage unit 311 stores the machine command received by the terminal communication unit 314.
- the machine control unit 313 realizes a motion in the machine main body 10 based on the machine command stored in the command storage unit 311, acquires the response information based on the motion realized by the machine main body 10, and stores it in the response information storage unit 312. do.
- the machine control unit 313 causes the operation of the machine body 10 to follow the machine command.
- the machine control unit 313 drives the machine body 10 so as to reduce the deviation between the machine command stored in the command storage unit 311 and the past response information stored in the response information storage unit 312, and the machine corresponding to this.
- the response information of the main body 10 is acquired and stored in the response information storage unit 312 repeatedly in the machine-side control cycle.
- the machine-side control cycle is a cycle having the same cycle length as the control cycle.
- the machine control unit 313 drives the machine body 10 so that the operation speed indicated by the response information stored in the response information storage unit 312 follows the speed command.
- the machine command is a driving force command
- the machine control unit 313 drives the machine body 10 so that the driving force indicated by the response information stored in the response information storage unit 312 follows the driving force command.
- the machine control unit 313 may control the machine body 10 with a machine cycle having a cycle length shorter than that of the machine side control cycle.
- the machine control unit 313 drives the machine body 10 so as to reduce the deviation between the machine command and the past response information stored in the response information storage unit 312, and the machine body 10 corresponding to this is driven.
- the response information is acquired and stored in the response information storage unit 312.
- the cycle length of the machine cycle is, for example, an integral fraction of the cycle length of the control cycle on the machine side.
- the machine control unit 313 has an intermediate controller 331 and a servo 332.
- the intermediate controller 331 has a drive data (for example, a position command, a speed command, or a drive force) for each actuator of the machine body 10 so as to reduce the deviation between the machine command and the past response information stored in the response information storage unit 312. Command) is generated in the machine cycle.
- the servo 332 outputs drive power to each actuator of the machine body 10 based on the drive data.
- the servo 332 may output the drive power based on the drive data in a servo cycle having a cycle length shorter than that of the machine cycle.
- the machine control unit 313 may have at least one of the intermediate controller 331 and the servo 332.
- the machine control unit 313 When the machine control unit 313 does not have the servo 332, the machine control unit 313 outputs the drive data to the machine body 10, and the machine body 10 generates drive power for each actuator based on the drive data.
- the controller 100 When the machine control unit 313 does not have the intermediate controller 331, the controller 100 generates the drive data as a machine command and transmits it to the jurisdiction machine 4.
- the intermediate controller 331 acquires a machine command including a target position, a target posture, a target speed, etc. of the tip portion 36, and performs an actuator by inverse kinematics calculation.
- Drive data including 41, 42, 43, 44, 45, 46 position commands and speed commands may be generated.
- the intermediate controller 331 acquires a machine command including the target position and target speed of the actuators 41, 42, 43, 44, 45, 46, and the intermediate controller obtains a driving force command of the actuators 41, 42, 43, 44, 45, 46.
- Drive data including may be generated. Further, the intermediate controller 331 may generate drive data based on a plurality of machine commands arranged in a time series.
- the terminal communication unit 314 transmits the response information stored in the response information storage unit 312 to the communication server 3 via the wireless communication network 7 for each machine-side control cycle.
- the local controller 300 may be configured to buffer machine commands up to the timing of their use.
- the local controller 300 further includes a machine-side timing adjusting unit 315.
- the machine-side timing adjustment unit 315 stores the machine command received by the terminal communication unit 314, and calls the machine command in the machine-side control cycle corresponding to the first cycle information added to the machine command.
- the machine-side timing adjustment unit 315 calls the machine command in the machine-side control cycle in which the number of control cycles is the number of cycles in use.
- Calling the machine command in the machine-side control cycle in which the number of control cycles is the number of cycles in use means calling the machine command at a timing that can be used in the machine-side control cycle. Therefore, calling the machine command prior to the machine-side control cycle as used in the machine-side control cycle is also included in calling the machine command in the machine-side control cycle.
- the machine-side timing adjustment unit 315 calculates the number of cycles in use (for example, by adding a predetermined number) based on the first cycle information, and the number of control cycles is The machine command is called in the control cycle on the machine side, which is the number of cycles in use.
- the machine side timing adjustment unit 315 stores the called machine command in the command storage unit 311. As a result, the control of the machine main body 10 by the machine control unit 313 is performed based on the machine command called by the machine side timing adjustment unit 315.
- the local controller 300 may be configured to generate a machine-side control cycle synchronized with the control cycle in the corresponding controller 100.
- the local controller 300 may further include a machine-side time generation unit 321, a machine-side cycle generation unit 322, and a cycle counter 323.
- the machine side time generation unit 321 generates the machine side time in synchronization with the above global time. For example, the machine-side time generation unit 321 acquires the global time received from the communication server 3 by the terminal communication unit 314 by communication that guarantees time synchronization such as TSN communication via the wireless communication network 7, and sets the acquired global time. Synchronize to generate machine-side time.
- the machine-side time generation unit 321 may acquire the global time from the time server 5 or the corresponding controller 100 via the wired communication network 8. For example, the machine-side time generation unit 321 sets the time counted by the timer 395 (described later) to the global time.
- the machine-side cycle generation unit 322 acquired the cycle timing received from the communication server 3 by the terminal communication unit 314 via the wireless communication network 7, and synchronized with the control cycle in the corresponding controller 100 based on the acquired cycle timing. Generate a machine-side control cycle. For example, the machine-side cycle generation unit 322 generates a machine-side control cycle based on the machine-side time and the cycle timing. For example, the machine-side cycle generation unit 322 sets a start timing synchronized with the start timing of the control cycle in the corresponding controller 100 based on the cycle timing, and from the time when the machine-side time reaches the start timing, the machine-side control Cycle pulses are repeatedly generated in a cycle.
- the machine-side cycle generation unit 322 may send a set completion notification to the controller 100 when the start timing set is completed.
- the cycle length of the machine-side control cycle generated by the machine-side cycle generation unit 322 is the same as the cycle length of the control cycle in the controller 100.
- the cycle counter 323 counts the number of control cycles (for example, the number of cycle pulses) generated by the machine-side cycle generation unit 322.
- the local controller 300 may be configured to add information indicating the timing of use to the response information transmitted by the terminal communication unit 314 to the communication server 3.
- the local controller 300 may further have an additional unit 324.
- the addition unit 324 adds the second cycle information to the response information.
- the response information transmitted by the terminal communication unit 314 is buffered by the controller side timing adjustment unit 116 of the corresponding controller 100, and is called at the timing synchronized with the control cycle. Therefore, the transmission itself of the response information by the terminal communication unit 314 does not have to be synchronized with the control cycle.
- the local controller 300 may be configured to generate a machine cycle synchronized with the machine side control cycle.
- the local controller 300 further includes a local cycle generation unit 325 and a cycle counter 326.
- the local cycle generation unit 325 generates a machine cycle based on the machine side time and the cycle timing. For example, the local cycle generation unit 325 sets a start timing synchronized with the start timing of the control cycle in the corresponding controller 100 based on the cycle timing, and cycles in the machine cycle from the time when the machine side time reaches the start timing. Generate pulses repeatedly.
- the cycle counter 326 counts the number of machine cycles (for example, the number of cycle pulses) generated by the local cycle generation unit 325.
- the controller side timing adjustment unit 116, the communication cycle generation unit 131, the cycle counter 132, the cycle check unit 133, and the switch 134 are provided at least between the controller 100 and the communication controller 200 (including in the controller 100 and the communication controller 200). It does not have to be provided in the controller 100 as long as it is provided.
- a configuration in which a controller-side timing adjustment unit, a communication cycle generation unit, a cycle counter, a cycle check unit, and a switch are provided in the communication controller 200 will be illustrated. In this case, as shown in FIG.
- the controller 100 does not have to have the controller side timing adjustment unit 116, the communication cycle generation unit 131, the cycle counter 132, the cycle check unit 133, and the switch 134.
- the communication controller 200 has a controller-side communication unit 211, a machine-side communication unit 212, and a controller-side timing adjustment unit 213 as functional blocks.
- the controller-side communication unit 211 receives machine commands or synchronous communication data from each of the plurality of controllers 100 via the wired communication network 8, and responds to each of the controllers 100 via the wired communication network 8 or synchronizes. Send communication data.
- the machine-side communication unit 212 transmits a machine command to each of the plurality of local controllers 300 via the wireless communication network 7, and receives response information from each of the plurality of local controllers 300 via the wireless communication network 7. get.
- the controller side timing adjustment unit 213 stores the response information acquired by the machine side communication unit 212, and calls the response information in the control cycle corresponding to the second cycle information added to the response information.
- the controller-side timing adjustment unit 213 calls the response information in the control cycle in which the number of control cycles is the number of cycles in use. Calling the response information in the control cycle in which the number of control cycles is the number of cycles in use means calling the response information at a timing that can be used in the control cycle. Therefore, calling the response information prior to the control cycle, as used in the control cycle, is also included in calling the response information in the control cycle.
- the controller side timing adjustment unit 213 calculates the use cycle number based on the second cycle information (for example, by adding a predetermined number), and the control cycle number is The response information is called in the control cycle that is the number of cycles in use.
- the controller-side communication unit 211 transmits the response information called by the controller-side timing adjustment unit 213 to the corresponding controller 100 via the wired communication network 8.
- the synchronous communication unit 114 of the corresponding controller 100 stores the received response information in the reception information storage unit 112.
- the motion module 113 of the corresponding controller 100 executes the motion program based on the response information called by the controller side timing adjustment unit 213.
- the communication controller 200 may be configured to generate a communication cycle synchronized with at least one of the control cycles of the plurality of controllers 100.
- the communication controller 200 may further include a time generation unit 221, a communication cycle generation unit 222, and a cycle counter 223.
- the time generation unit 221 generates the communication server time in synchronization with the above global time. For example, the time generation unit 221 acquires the global time received from the time server 5 by the communication unit 211 on the controller side by communication that guarantees time synchronization such as TSN communication via the wired communication network 8, and synchronizes with the acquired global time. And generate the communication server time. For example, the controller-side time generation unit 121 sets the time counted by the timer 296 (described later) to the global time. When the time server 5 is incorporated in the communication server 3, the time generation unit 221 sets the global time itself as the communication server time.
- the communication cycle generation unit 222 generates a communication cycle synchronized with at least one of the control cycles of the plurality of controllers 100. For example, the communication cycle generation unit 222 generates a communication cycle based on the communication server time and the cycle timing transmitted by at least one of the plurality of controllers 100 to the jurisdiction local controller 300. For example, the communication cycle generation unit 222 sets a start timing synchronized with the start timing of the control cycle based on the cycle timing, and repeatedly generates a cycle pulse in the communication cycle from the time when the communication server time reaches the start timing. ..
- the start timing synchronized with the start timing of the control cycle includes a start timing deviated from the start timing of the control cycle by a predetermined period (for example, half the cycle length of the control cycle).
- the communication cycle generation unit 222 may send a set completion notification to the controller 100 when the start timing set is completed.
- the cycle length of the communication cycle is an integral multiple (including 1 times) of the cycle length of the control cycle.
- the cycle length of the communication cycle may be an integral fraction of the cycle length of the control cycle.
- the cycle counter 223 counts the number of communication cycles generated by the communication cycle generation unit 222 (for example, the number of cycle pulses). Since the communication cycle is generated in synchronization with the control cycle, it is possible to detect the number of control cycles based on the number of communication cycles. Therefore, the controller-side timing adjustment unit 213 may call the response information in the control cycle in which the number of control cycles is the number of cycles in use, based on the number of communication cycles.
- the communication controller 200 may be configured to generate the master timing.
- the communication controller 200 may have a timing master 224.
- the timing master 224 generates master timing based on the communication server time.
- the timing master 224 transmits the generated master timing to at least one of the plurality of controllers 100 via the wired communication network 8.
- the communication cycle generation unit 222 communicates based on the communication server time and the master timing. Generate a cycle. For example, the communication cycle generation unit 222 may set the start timing based on the master timing. The generation of the control cycle in at least one of the plurality of controllers 100 and the generation of the communication cycle in the communication controller 200 are performed based on the same master timing, so that the communication cycle is synchronized with the control cycle.
- the communication controller 200 may be configured to detect the transmission delay of the machine command based on the first cycle information included in the machine command. Further, the communication controller 200 may be configured to detect the reception delay of the response information based on the second cycle information included in the response information. For example, the communication controller 200 may further have a cycle check unit 225.
- the cycle check unit 225 detects the transmission delay of the machine command based on the first cycle information included in the machine command.
- the delay in transmitting the machine command means a delay in time for the local controller 300 to call the machine command. For example, in the cycle check unit 225, the number of control cycles corresponding to the current number of communication cycles becomes equal to or greater than the number of cycles during use of the machine command before the machine-side communication unit 212 transmits the machine command to the local controller 300. If so, the delay in sending the machine command is detected.
- the cycle check unit 225 may detect the reception delay of the response information based on the second cycle information included in the response information.
- the reception delay of the response information means a delay of a level that is not in time for the call of the response information by the timing adjustment unit 213 on the controller side. For example, in the cycle check unit 225, after the machine-side communication unit 212 receives the response information from the machine 4, the number of control cycles corresponding to the current number of communication cycles is equal to or greater than the number of cycles in use of the response information. In some cases, the reception delay of the response information is detected.
- the communication cycle is generated in synchronization with the control cycle, it is possible to detect the number of control cycles based on the number of communication cycles. Therefore, even if the cycle check unit 225 detects the transmission delay of the machine command based on the first cycle information and the number of communication cycles, and detects the reception delay of the response information based on the second cycle information and the number of communication cycles. good.
- the machine command transmission unit 212 may cancel the transmission of the machine command. For example, when the cycle check unit 225 detects the transmission delay of the machine command, the cycle check unit 225 discards the machine command prior to the transmission of the machine command by the machine side communication unit 212. When the cycle check unit 225 detects a delay in receiving the response information, the cycle check unit 225 may discard the response information.
- the communication controller 200 may be configured to switch the transmission destination of the data based on whether the data received from the controller 100 is addressed to the jurisdiction machine 4 or another controller 100.
- the controller 100 may be configured to add the destination to the data transmitted to the communication controller 200.
- the communication controller 200 has a switch 226.
- the switch 226 causes the machine-side communication unit 212 to transmit the data to the jurisdiction local controller 300 via the wireless communication network 7. If the data is addressed to another controller 100, the controller-side communication unit 211 causes the other controller 100 to transmit the data via the wired communication network 8.
- the controller-side timing adjustment unit 213 stores the synchronous communication data and the first cycle information added to the synchronous communication data.
- the synchronous communication data is called in the control cycle corresponding to.
- the controller-side timing adjustment unit 213 calls the synchronous communication data in the control cycle in which the number of control cycles is the number of cycles in use.
- the timing adjustment unit 213 on the controller side calculates the number of cycles at the time of use based on the information of the first cycle (for example, by adding a predetermined number), and the number of control cycles is the number of control cycles.
- the synchronous communication data is called in the control cycle which is the number of cycles in use.
- the controller-side communication unit 211 transmits the synchronous communication data called by the controller-side timing adjustment unit 213 to the other controller 100, which is the destination thereof, via the wired communication network 8.
- the synchronous communication unit 114 of the other controller 100 stores the received synchronous communication data in the reception information storage unit 112.
- the motion module 113 of the other controller 100 executes the motion program based on the synchronous communication data called by the controller side timing adjustment unit 213.
- the cycle check unit 225 uses the synchronous communication based on the first cycle information included in the synchronous communication data. Data reception delay may be detected.
- the reception delay of the synchronous communication data means a delay of a level that is not in time for the call of the synchronous communication data by the timing adjustment unit 213 on the controller side.
- the cycle check unit 225 after the controller side communication unit 211 receives the synchronous communication data from the controller 100, the number of control cycles corresponding to the current number of communication cycles becomes equal to or greater than the number of cycles in use of the synchronous communication data. If so, the reception delay of the synchronous communication data is detected.
- the cycle check unit 225 may discard the synchronous communication data.
- FIG. 8 is a block diagram illustrating the hardware configurations of the controller server 2, the communication controller 200, and the local controller 300.
- the controller server 2 has a circuit 190.
- the circuit 190 includes a processor 191, a memory 192, a storage 193, a wired communication port 194, and a timer 195.
- the number of each component of the circuit 190 is not limited to one.
- the storage 193 receives the response information transmitted by the jurisdiction machine 4 from the communication server 3 via the wired communication network 8, executes a motion program based on the received response information, and issues a machine command to the jurisdiction machine 4. It stores a program that causes the controller server 2 to execute the generation and the transmission of the machine command to the communication server 3 via the wired communication network 8.
- the control method that the program causes the controller server 2 to execute may further include storing the received response information and calling the response information in the control cycle corresponding to the second cycle information added to the response information.
- executing the motion program based on the received response information includes executing the motion program based on the response information called in the control cycle corresponding to the second cycle information.
- the storage 193 stores a program for configuring each functional block of the controller 100 described above in the controller server 2.
- Memory 192 temporarily stores programs and the like loaded from storage 193.
- the processor 191 executes the program loaded in the memory 192 while temporarily storing the calculation result in the memory 192.
- the wired communication port 194 communicates with the communication controller 200 via the wired communication network 8 in response to a command from the processor 191.
- the timer 195 measures the elapsed time by counting the clock pulses.
- the communication controller 200 has a circuit 290.
- the circuit 290 includes a processor 291, a memory 292, a storage 293, a wired communication port 294, a wireless communication port 295, and a timer 296.
- the storage 293 receives a machine command from each of the plurality of controllers 100 via the wired communication network 8 and transmits a machine command to each of the plurality of machines 4 via the wireless communication network 7. Includes receiving response information from each of the plurality of machines 4 via the wireless communication network 7 and transmitting response information to each of the plurality of controllers 100 via the wired communication network 8. It stores a program that causes the communication controller 200 to execute the communication method.
- the communication method that the program causes the communication controller 200 to execute may further include storing the received response information and calling the response information in the control cycle corresponding to the second cycle information added to the response information.
- transmitting the response information via the wired communication network 8 includes transmitting the response information called in the control cycle corresponding to the second cycle information.
- the storage 293 stores a program for configuring each of the above-mentioned functional blocks in the communication controller 200.
- Memory 292 temporarily stores programs and the like loaded from storage 293.
- the processor 291 executes the program loaded in the memory 292 while temporarily storing the calculation result in the memory 292.
- the wired communication port 294 communicates with the controller server 2 via the wired communication network 8 in response to a command from the processor 291.
- the wireless communication port 295 communicates with the local controller 300 via the wireless communication base station 201 and the wireless communication terminal 301 in response to a command from the processor 291.
- the timer 296 measures the elapsed time by counting the clock pulses.
- the local controller 300 has a circuit 390.
- the circuit 390 includes a processor 391, a memory 392, a storage 393, a wireless communication port 394, a timer 395, and a driver circuit 396.
- the storage 393 stores a program that causes the local controller 300 to execute a control method including receiving a machine command via the communication server 3 and causing the machine body 10 to realize a motion based on the machine command. ing.
- the control method that the program causes the local controller 300 to execute further includes storing the received machine command and calling the machine command in the machine-side control cycle corresponding to the first cycle information added to the machine command. You may.
- to realize the motion in the machine main body 10 based on the machine command means to make the machine main body 10 realize the motion based on the machine command called in the machine side control cycle corresponding to the first cycle information.
- the local controller 300 stores a program for configuring each of the above-mentioned functional blocks in the local controller 300.
- the memory 392 temporarily stores programs and the like loaded from the storage 393.
- the processor 391 executes the program loaded in the memory 392 while temporarily storing the calculation result in the memory 392.
- the wireless communication port 394 communicates with the communication controller 200 via the wireless communication terminal 301 and the wireless communication base station 201 in response to a command from the processor 391.
- the timer 395 measures the elapsed time by counting the clock pulse.
- the driver circuit 396 supplies drive power to the machine body 10 in response to a command from the processor 391.
- Machine control procedure a machine control procedure executed by the machine control system 1 will be illustrated.
- This procedure includes a cycle generation procedure such as a control cycle and a communication cycle, and a machine control procedure in the generated cycle.
- the cycle generation procedure includes the controller 100 generating a control cycle and the local controller 300 generating a machine-side control cycle synchronized with the control cycle.
- FIG. 9 is a timing chart illustrating the outline of the cycle generation procedure, and the horizontal axis of each chart represents the elapsed time.
- (I) indicates the information processing timing in the time server 5
- (ii) indicates the information processing timing of the control cycle generation in the controller 100
- (iii) indicates the information processing timing of the communication cycle generation in the controller 100
- (Iv) indicate the information processing timing in the wireless communication terminal 301
- (v) indicates the information timing in the local controller 300.
- the time server 5 transmits the global time to the controller 100.
- the controller 100 receives the global time at the time pt2 and generates the controller-side time synchronized with the received global time.
- the wireless communication terminal 301 receives the global time at the time pt5, and the local controller 300 generates the machine-side time synchronized with the global time received by the wireless communication terminal 301 at the time pt6.
- the controller 100 sets the start timing of the control cycle at the time pt11 based on the time on the controller side, and sets the start timing of the communication cycle at the time pt12.
- the wireless communication terminal 301 receives the cycle timing from the communication controller 200 via the wireless communication base station 201 at the time pt 13, and the local controller 300 starts the above at the time pt 14 based on the cycle timing received by the wireless communication terminal 301. Set the start timing that matches the timing.
- the controller 100 starts the generation of the control cycle c1 at the time pt21 corresponding to the start timing, the generation of the communication cycle c2 is started at the time pt22 corresponding to the start timing, and the local controller 300 starts the generation of the communication cycle c2.
- the generation of the control cycle c3 is started. This completes the cycle generation procedure.
- control cycle and communication cycle generation procedure executed by the controller 100 and the control cycle generation procedure executed by the local controller 300 in the cycle generation procedure will be illustrated in detail.
- FIG. 10 is a flowchart illustrating a cycle generation procedure in the controller 100.
- the controller 100 first executes steps S01, S02, S03, S04, and S05.
- step S01 the controller-side time generation unit 121 waits for the synchronization communication unit 114 to receive the global time.
- the controller-side time generation unit 121 generates the controller-side time in synchronization with the global time received by the synchronous communication unit 114.
- the controller-side cycle generation unit 122 sets the start timing of the control cycle based on the controller-side time.
- the communication cycle generation unit 131 sets the start timing of the communication cycle based on the time on the controller side.
- step S04 the controller-side cycle generation unit 122 sets the start flag of the control cycle to "cannot start”.
- step S05 the timing transmission unit 123 transmits the cycle timing of the control cycle (for example, the above-mentioned start timing) to the jurisdiction local controller 300 via the communication server 3.
- the timing transmission unit 123 may transmit the cycle timing to another controller 100 as the master timing.
- step S06 it is confirmed whether or not the timing transmission unit 123 has received the set completion notification from the jurisdiction local controller 300. If it is determined in step S06 that the set completion notification has been received from the local controller 300, the controller 100 executes step S07. In step S07, the controller-side cycle generation unit 122 sets the start flag of the control cycle to "start possible".
- step S08 the controller 100 executes step S08. If it is determined in step S06 that the set completion notification has not been received from the jurisdiction local controller 300, the controller 100 executes step S08 without executing step S07. In step S08, the controller-side cycle generation unit 122 confirms whether the control-side time has reached the start timing.
- step S08 If it is determined in step S08 that the control side time has not reached the start timing, the controller 100 returns the process to step S06. After that, the reception confirmation of the set completion notification is repeated until the control side time reaches the start timing.
- step S08 If it is determined in step S08 that the control side time has reached the start timing, the controller 100 executes step S09. In step S09, the controller-side cycle generation unit 122 confirms whether or not the start flag is “startable”.
- step S09 If it is determined in step S09 that the start flag is not "startable”, the controller 100 returns the process to step S03. As a result, the processing after the start timing is set is executed again. If it is determined in step S09 that the start flag is "startable”, the controller 100 executes step S11. In step S11, the controller-side cycle generation unit 122 starts generating control cycles, and the timing transmission unit 123 starts counting the number of control cycles. Further, the communication cycle generation unit 131 starts the communication cycle generation, and the cycle counter 132 starts the communication cycle counting. This completes the control cycle generation procedure in the controller 100. In step S11, the communication cycle generation unit 131 may start the generation of the communication cycle at a timing different from the start of the generation of the control cycle by the controller-side cycle generation unit 122.
- FIG. 11 is a flowchart illustrating a cycle generation procedure in the local controller 300.
- the local controller 300 first executes steps S31, S32, and S33.
- step S31 the machine-side time generation unit 321 waits for the terminal communication unit 314 to receive the global time.
- step S32 the machine-side time generation unit 321 generates the machine-side time in synchronization with the global time received by the terminal communication unit 314.
- step S33 the machine-side cycle generation unit 322 waits for the terminal communication unit 314 to receive the cycle timing (for example, the start timing) transmitted by the corresponding controller 100.
- the cycle timing for example, the start timing
- step S34 the machine-side cycle generation unit 322 sets the start timing synchronized with the start timing of the control cycle in the corresponding controller 100 based on the cycle timing received by the terminal communication unit 314.
- step S35 the machine-side cycle generation unit 322 transmits a set completion notification to the controller 100.
- step S36 the machine-side cycle generation unit 322 waits for the machine-side time to reach the start timing.
- step S37 the machine-side cycle generation unit 322 starts generating the machine-side control cycle, and the cycle counter 323 starts counting the number of control cycles.
- step S38 the local cycle generation unit 325 starts generating machine cycles, and the cycle counter 326 starts counting the number of machine cycles. This completes the procedure for generating the control cycle in the local controller 300.
- the controller 100 may acquire the master timing via the wired communication network 8 and generate a control cycle based on the acquired master timing and the controller side time.
- FIG. 12 is a flowchart showing a cycle generation procedure based on master timing.
- the controller 100 first executes steps S51, S52, and S53.
- step S51 the controller-side time generation unit 121 waits for the synchronization communication unit 114 to receive the global time.
- the controller-side time generation unit 121 generates the controller-side time in synchronization with the global time received by the synchronous communication unit 114.
- the controller-side cycle generation unit 122 waits for the synchronous communication unit 114 to receive the master timing.
- step S55 the controller-side cycle generation unit 122 sets the start timing synchronized with the master timing.
- step S56 the controller-side cycle generation unit 122 transmits a set completion notification to the communication controller 200.
- step S57 the controller-side cycle generation unit 122 waits for the controller-side time to reach the start timing.
- step S58 the controller-side cycle generation unit 122 starts generating the controller cycle, and the timing transmission unit 123 starts counting the number of control cycles. This completes the control cycle generation procedure in the controller 100.
- the machine control procedure is that the controller 100 executes a motion program in the control cycle to generate a machine command for the jurisdiction machine 4, adds the first cycle information to the machine command, and transfers the machine command to the communication controller 200.
- Transmission communication controller 200 receives machine command, transmission of machine command to jurisdiction local controller 300, jurisdiction local controller 300 receives machine command from communication controller 200, and reception.
- the machine command is stored, the machine command is called in the machine-side control cycle corresponding to the first cycle information added to the machine command, and the machine body 10 realizes a motion based on the called machine command. Including that.
- the local controller 300 acquires the response information based on the motion realized by the machine body 10, adds the second cycle information to the response information, and transmits the response information to the communication controller 200.
- the communication controller 200 or the controller 100 stores the received response information, calls the response information in the control cycle corresponding to the second cycle information added to the response information, and calls the response information.
- the controller 100 may further include executing a motion program based on the above.
- FIG. 13 is a timing chart illustrating the outline of the machine control procedure, and the horizontal axis of each chart represents the elapsed time.
- (I) indicates the information processing timing in the motion module 113
- (ii) indicates the information processing timing in the synchronous communication unit 114
- (iii) indicates the information processing timing in the controller side timing adjustment unit 116.
- iv) indicates the information processing timing in the terminal communication unit 314
- (v) indicates the information processing timing in the machine side timing adjustment unit 315
- (vi) indicates the information processing timing in the machine control unit 313. ..
- the cycles c11, c12, and c13 are control cycles sequentially generated by the controller-side cycle generation unit 122, and the cycles c21, c22, and c23 are synchronized with the cycles c11, c12, and c13, and the communication cycle generation unit 131.
- the cycles c31, c32, and c33 are machine-side control cycles sequentially generated by the machine-side cycle generation unit 322 in synchronization with the cycles c11, c12, and c13.
- the motion module 113 executes a motion program at time t10 in cycle c11 and generates a machine command.
- This machine command is transmitted by the synchronous communication unit 114 at time t11 and received by the terminal communication unit 314 at time t12.
- the machine command received by the terminal communication unit 314 is stored by the machine side timing adjustment unit 315 at time t13, and is called in the machine side control cycle (for example, cycle c33) corresponding to the first cycle information added to the machine command.
- the machine control unit 313 causes the machine body 10 to realize the motion at the time t14 of the cycle c33. Fluctuations occur at time t12 due to wireless communication, but the fluctuations at time t12 are absorbed by the margin from time t12 to time t14, and the machine command is used at time t14 synchronized with the control cycle.
- the machine control unit 313 acquires response information based on the motion realized by the machine body 10 at the time t110 of the cycle c31.
- This response information is transmitted by the terminal communication unit 314 at time t111, stored by the controller side timing adjustment unit 116 at time t112, and in the control cycle (for example, cycle c13) corresponding to the second cycle information added to the response information. Called.
- the called response information is stored in the reception information storage unit 112 by the synchronous communication unit 114 at the time t113 immediately before the cycle c13, and is stored in the reception information storage unit 112 at the time t114 of the cycle c13 based on the response information stored in the reception information storage unit 112.
- the motion module 113 executes the motion program. Fluctuations occur at time t112 due to wireless communication, but the fluctuations at time t112 are absorbed by the margin from time t112 to time t114, and the response information is used at time t114 synchronized with the control cycle.
- the machine control procedure will be illustrated in detail by dividing it into a control procedure in the controller 100 and a control procedure in the local controller 300.
- the control procedure in the controller 100 includes a data reception procedure and a data generation / transmission procedure.
- the data reception procedure and the data generation / transmission procedure are repeatedly executed in parallel.
- the data reception procedure does not necessarily have to be executed in synchronization with the control cycle, but the data generation / transmission procedure is executed in synchronization with the control cycle.
- FIG. 14 is a flowchart illustrating a data receiving procedure.
- the controller 100 first executes steps S91 and S92.
- step S91 the synchronous communication unit 114 waits for the reception of data from the communication controller 200.
- step S92 the cycle check unit 133 confirms whether or not there is a data reception delay. For example, the cycle check unit 133 confirms whether or not there is a delay in transmitting the response information based on the second cycle information added to the response information.
- step S92 If it is determined in step S92 that there is a data reception delay, the controller 100 executes step S93. In step S93, the cycle check unit 133 discards the data.
- step S94 the cycle check unit 133 stores the data in the controller-side timing adjustment unit 116. After executing steps S93 and S94, the controller 100 returns the process to step S91.
- the communication controller 200 repeats the above procedure.
- FIG. 15 is a flowchart illustrating a data generation / transmission procedure.
- the controller 100 executes steps S71, S72, S73, S74, and S75.
- step S71 the motion module 113 waits for the cycle counter 124 to count up the number of control cycles.
- step S72 the controller-side timing adjustment unit 116 calls received data (for example, response information and synchronous communication data) whose number of cycles in use corresponds to the current number of control cycles.
- the motion module 113 executes the motion program and generates a machine command to the jurisdiction machine 4.
- the motion module 113 calculates the motion record of the jurisdiction machine 4 based on the response information stored in the received information storage unit 112, and calculates the machine command so that the motion record follows the motion command.
- the addition unit 125 adds the first cycle information to the machine command.
- the synchronous communication unit 114 transmits a machine command to the communication server 3 via the wired communication network 8. The specific processing content of step S75 will be described later.
- step S76 the synchronous communication unit 114 generates synchronous communication data.
- step S77 the addition unit 125 adds the first cycle information to the synchronous communication data.
- step S78 the synchronous communication unit 114 transmits the synchronous communication data to the communication server 3 via the wired communication network 8. The specific processing content of step S78 will be described later.
- the controller 100 returns the process to step S71. The controller 100 repeats the above procedure.
- FIG. 16 is a flowchart illustrating the data transmission procedure in steps S75 and S78.
- the controller 100 first executes step S82.
- the cycle check unit 133 confirms whether or not there is a data transmission delay.
- the cycle check unit 133 confirms whether or not there is a transmission delay of the machine command based on the first cycle information added to the machine command, and based on the first cycle information added to the synchronous communication data, the cycle check unit 133 is used. Check if there is a delay in transmitting synchronous communication data.
- step S82 If it is determined in step S82 that there is a data transmission delay, the controller 100 executes step S83.
- step S83 the cycle check unit 133 discards the data.
- step S84 the switch 134 confirms whether the data is destined for the controlling machine 4 or the other controller 100.
- step S84 If it is determined in step S84 that the data is destined for the jurisdiction machine 4, the communication controller 200 executes step S85.
- step S85 the switch 134 transmits the data to the controlling machine 4 via the communication server 3.
- step S84 If it is determined in step S84 that the data is destined for another controller 100, the communication controller 200 executes step S86.
- step S86 the switch 134 transmits the data to the controller-side timing adjustment unit 116 of the other controller 100 via the wired communication network 8.
- step S82 After executing steps S83, S85, and S86, the controller 100 returns the process to step S82. The controller 100 repeats the above procedure.
- the control procedure in the local controller 300 includes a machine command receiving procedure, a timing adjustment procedure, and a machine control procedure. These are executed repeatedly in parallel.
- the machine command control procedure does not necessarily have to be executed in synchronization with the control cycle, but the timing adjustment procedure is executed in synchronization with the control cycle.
- Machine control procedures are performed synchronously with the machine cycle.
- FIG. 17 is a flowchart illustrating the procedure for receiving the machine command.
- the local controller 300 executes steps S111 and S112.
- step S111 the terminal communication unit 314 waits for the reception of the machine command.
- step S112 the machine-side timing adjustment unit 315 stores the machine command. After that, the local controller 300 returns the process to step S111.
- the local controller 300 repeats the above procedure.
- FIG. 18 is a flowchart illustrating the timing adjustment procedure.
- the local controller 300 executes steps S121, S122, S123, and S124.
- step S121 the machine-side timing adjustment unit 315 waits for the cycle counter 323 to count up the number of control cycles.
- the machine-side timing adjustment unit 315 calls a machine command whose number of cycles in use corresponds to the current number of control cycles, and stores the machine command in the command storage unit 311. As a result, the machine command stored in the command storage unit 311 is updated.
- the addition unit 324 adds the first cycle information to the response information stored in the response information storage unit 312.
- step S124 the terminal communication unit 314 transmits the response information to the communication controller 200 via the wired communication network 8. After that, the local controller 300 returns the process to step S121.
- the local controller 300 repeats the above procedure.
- FIG. 19 is a flowchart illustrating a machine control procedure.
- the local controller 300 first executes steps S131 and S132.
- step S131 the machine control unit 313 waits for the count-up of the number of machine cycles by the cycle counter 326.
- the cycle counter 326 confirms whether or not the machine command stored in the command storage unit 311 has been updated.
- step S132 If it is determined in step S132 that the machine command stored in the command storage unit 311 has been updated, the local controller 300 executes step S133.
- step S133 the cycle counter 326 resets the number of machine cycles to the initial value (for example, zero).
- step S134 the local controller 300 executes step S134. If it is determined in step S132 that the machine command stored in the command storage unit 311 has not been updated, the local controller 300 executes step S134 without executing step S133. In step S134, the machine control unit 313 generates drive data so as to reduce the deviation between the machine command and the response information stored in the response information storage unit 312.
- step S135 the machine control unit 313 drives the machine body 10 based on the drive data.
- step S136 the machine control unit 313 acquires the response information based on the motion realized by the machine body 10, and stores it in the response information storage unit 312. After that, the local controller 300 returns the process to step S131.
- the local controller 300 repeats the above procedure.
- the machine control system 1 is configured in a real space and has one or more machines 4 that realize motion according to a machine command, and one or more machines 4 that are mounted in a virtual space. It comprises one or more controllers 100 to be controlled, and a communication server 3 that communicates with one or more controllers 100 via a wired communication network 8 and communicates with one or more machines 4 via a wireless communication network 7.
- Each of the above controllers 100 executes a motion program in a control cycle, generates a machine command for the corresponding machine 4, a motion module 113, an additional unit 125 that adds first cycle information to the machine command, and a machine command.
- each of the one or more machines 4 receives a terminal communication unit 314 that receives a machine command from the communication server 3 and a machine command received by the terminal communication unit 314. It has a machine-side timing adjustment unit 315 that stores and calls the machine-side control cycle in the machine-side control cycle corresponding to the first cycle information added to the machine-side command.
- the function of buffering the machine command up to its use timing accelerates the transmission of the machine command from the controller 100 side, and allows a margin in the period from the reception timing of the machine command in the machine 4 to the use timing of the machine command. You can have it. With this margin, it is possible to absorb the fluctuation of the reception timing expanded due to the wireless communication and call the buffered machine command in the machine side control cycle. Therefore, in a system in which a machine command is transmitted via wireless communication, it is possible to repeat the generation of the machine command by executing the motion program and the control of the machine according to the machine command in the control cycle. Therefore, it is effective in realizing machine control via wireless communication.
- Each of the one or more machines 4 realizes the motion in the machine main body 10 based on the machine main body 10 that realizes the motion and the machine command called by the machine side timing adjustment unit 315, and the motion is realized by the machine main body 10. It further has a machine control unit 313 for acquiring the response information based on the response information and an additional unit 324 for adding the second cycle information to the response information, and the terminal communication unit 314 transmits the response information to the communication server 3 to control the machine.
- the system 1 stores the response information received from the one or more machines 4 between the one or more controllers 100 and the communication server 3, and in the control cycle corresponding to the second cycle information added to the response information.
- controller-side timing adjustment units 116 and 213 for calling the response information may be further provided, and the motion module 113 may execute the motion program based on the response information called by the controller-side timing adjustment units 116 and 213.
- the response information transmitted from the machine 4 via the wireless communication network is buffered on the controller 100 side and called in the control cycle corresponding to the first cycle information.
- the function of buffering the response information up to the usage timing accelerates the transmission of the response information from the machine 4 side, and there is a margin in the period from the reception timing of the response information on the controller 100 side to the usage timing of the response information. Can be given.
- Each of the one or more controllers 100 further has a timing transmitter 123 that transmits the cycle timing of the control cycle to the corresponding machine 4, and each of the one or more machines 4 has the corresponding controller 100 based on the cycle timing. It may further have a machine-side cycle generator 322 that generates a machine-side control cycle synchronized with the control cycle in. In this case, after the synchronization process based on the cycle timing, a machine-side control cycle synchronized with the control cycle in the controller 100 is generated in the machine 4. Therefore, the machine-side control cycle in the machine 4 can be easily synchronized with the control cycle in the controller while suppressing the burden of wireless communication.
- Each of the one or more controllers 100 has a controller-side time generator 121 that generates a controller-side time in synchronization with the time generated by the time server 5, and a controller-side cycle that generates a control cycle based on the controller-side time.
- Each of the one or more machines 4 further has a generation unit 122, and each of the one or more machines 4 further has a machine-side time generation unit 321 that generates a machine-side time in synchronization with the time generated by the time server, and has a machine-side cycle.
- the generation unit 322 may generate a machine-side control cycle based on the time generated by the machine-side time generation unit 321 and the cycle timing. In this case, by adjusting the time in the controller 100 and the machine 4 in advance, even if the reception timing of the cycle timing in the machine 4 fluctuates, the machine side in the machine 4 is based on the machine side time. Control cycles can be generated at the right time.
- the timing transmission unit 123 retransmits the cycle timing after the previously transmitted cycle timing to the machine 4. May be good.
- the machine-side control cycle in the machine 4 can be synchronized with the control cycle in the controller 100 with higher reliability.
- the machine control unit 313 may control the machine body 10 with a machine cycle having a cycle length shorter than the control cycle, based on the machine command called by the machine side timing adjustment unit 315. In this case, it is possible to achieve both the constant periodicity of calling machine commands by the control cycle and the appropriate control of the machine by the more subdivided machine cycle.
- the machine control system 1 may include a plurality of controllers 100 as one or more controllers, and each of the plurality of controllers 100 may have a controller-side timing adjusting unit 116.
- each of the plurality of controllers 100 enables synchronous communication between the control machine 4 and the controller 100 using the same network, the control cycle is synchronized between the plurality of pairs of the controller 100 and the machine 4. The need is reduced and the system can be easily configured.
- the data transmitted by the synchronous communication unit 114 of one controller 100 in the plurality of controllers 100 is addressed to the corresponding machine, the data is transmitted to the corresponding machine 4 via the communication server 3, and the data is the other controller. If it is addressed to 100, a switch 134 that transmits the data to the controller-side timing adjusting unit 116 of another controller 100 may be further provided via the wired communication network 8.
- the synchronous communication unit 114 can be appropriately used for the synchronous communication between the controller 100 and the machine 4 and the synchronous communication between the controllers 100.
- One controller 100 may further have an asynchronous communication unit 115 that transmits asynchronous communication data to another node including the other controller 100 to the other node via the wired communication network 8. In this case, communication resources for synchronous communication can be saved.
- At least one of the plurality of controllers 100 may further have a controller-side cycle generation unit 122 that generates a control cycle based on the master timing received via the wired communication network 8.
- the control cycles can be easily synchronized between the controllers 100.
- the communication server 3 has a timing master 224 that generates master timing, and the controller-side cycle generation unit 122 may receive master timing from the timing master 224.
- the same setting for generating the control cycle based on the timing master generated by the timing master 224 of the communication server 3 can be adopted. Therefore, it is easy to add / remove the controller 100 to the system.
- a cycle check unit 133, 225 for detecting a transmission delay of the machine command may be further provided between one or more controllers 100 and the communication server 3 based on the first cycle information included in the machine command. In this case, the reliability of the transmission of the machine command synchronized with the control cycle can be improved.
- the cycle check unit 133 may cancel the transmission of the machine command when the transmission delay of the machine command is detected.
- the wireless communication resource in the communication server 3 can be saved by canceling the transmission of the machine command in time for the call in the control cycle.
- a cycle check unit 133, 225 that detects a reception delay of the response information based on the second cycle information included in the response information may be further provided between one or more controllers 100 and the communication server 3. In this case, it is possible to detect the response information that is not in time for the call in the control cycle, and take measures such as substituting the response information that was called immediately before to prevent the response information from being lost.
- a communication cycle generation unit 131, 222 is further provided between one or more controllers 100 and the communication server 3 to generate a communication cycle synchronized with at least one control cycle of one or more controllers 100, and a cycle check unit 133.
- the 225 may detect the transmission delay of the machine command based on the first cycle information added to the machine command and the cycle information of the communication cycle. In this case, the transmission delay can be easily detected by the cycle check units 133 and 225.
- the machine control system 1 is mounted on a virtual space having at least one or more machines 4 and one or more servers communicating with one or more machines 4, and one or more controllers 100 that control one or more machines 4 respectively. And, as long as it is provided, the machine control system 1 can be changed as appropriate.
- the wireless communication network 7 may be replaced with the wired communication network 7A.
- the wireless communication base station 201 and the wireless communication terminal 301 intervening between the communication controller 200 and the local controller 300 are not required. Further, in FIG. 9, the processing of the wireless communication terminal 301 executed at the times pt5 and pt13 becomes unnecessary. As shown in FIG.
- the communication server 3 may be replaced with a communication hub 3A such as a switching hub.
- the timing master 224 possessed by the communication server 3 may be provided on any one or more servers other than the communication server 3 (for example, the controller server 2, the time server 5, or the application server 6). ..
- the storage 193 executes a motion program at least in the control cycle and issues a machine command to the corresponding machine.
- the first cycle information that specifies which machine side control cycle to call the machine command is added to the machine command, and the machine command to which the first cycle information is added is added.
- the storage 193 receives the response information to which the second cycle information is added by the corresponding machine 4 from the corresponding machine 4, stores the received response information, and uses the second cycle information added to the response information.
- a program that calls the response information in the corresponding control cycle further executes it, executes a motion program based on the called response information, and implements a controller that generates a machine command on the virtual space of the controller server 2. You may remember it.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Selective Calling Equipment (AREA)
- Programmable Controllers (AREA)
- Numerical Control (AREA)
Abstract
Description
図1に示すマシン制御システム1は、少なくとも1台のコントローラサーバ2から無線通信ネットワークを介して送信される演算結果に基づいて、複数のマシン4を制御するシステムである。マシン制御システム1の一例としては、複数のマシン4の協調モーションにより、ワークを生産する生産システムが挙げられる。図1に示すように、マシン制御システム1は、少なくとも1台のコントローラサーバ2と、通信サーバ3と、複数のマシン4とを備える。
コントローラ100は、対応するマシン4(以下、「管轄マシン4」という。)が送信した応答情報を、有線通信ネットワーク8を介して通信サーバ3から受信することと、受信した応答情報に基づいてモーションプログラムを実行し、管轄マシン4に対するマシン指令を生成することと、マシン指令を、有線通信ネットワーク8を介して通信サーバ3に送信することと、を実行するように構成されている。
ローカルコントローラ300は、通信サーバ3を介してマシン指令を受信することと、マシン指令に基づいて、マシン本体10にモーションを実現させることと、を実行するように構成されている。例えば図5に示すように、ローカルコントローラ300は、機能ブロックとして、端末通信部314と、マシン側タイミング調整部315と、指令記憶部311と、マシン制御部313と、応答情報記憶部312とを有する。
(通信コントローラ)
コントローラ側タイミング調整部116、通信サイクル生成部131、サイクルカウンタ132、サイクルチェック部133及びスイッチ134は、少なくともコントローラ100と通信コントローラ200との間(コントローラ100内及び通信コントローラ200内を含む)に設けられていればよく、必ずしもコントローラ100に設けられていなくてもよい。以下、コントローラ側タイミング調整部、通信サイクル生成部、サイクルカウンタ、サイクルチェック部及びスイッチが通信コントローラ200に設けられる場合の構成を例示する。この場合、コントローラ100は、図6に示すように、コントローラ側タイミング調整部116、通信サイクル生成部131、サイクルカウンタ132、サイクルチェック部133及びスイッチ134を有しなくてもよい。図7に示すように、通信コントローラ200は、機能ブロックとして、コントローラ側通信部211と、マシン側通信部212と、コントローラ側タイミング調整部213とを有する。
続いて、マシン制御方法の一例として、マシン制御システム1が実行するマシン制御手順を例示する。この手順は、コントロールサイクル、通信サイクル等のサイクル生成手順と、生成したサイクルでのマシン制御手順とを含む。
サイクル生成手順は、コントローラ100が、コントロールサイクルを生成することと、ローカルコントローラ300が、上記コントロールサイクルに同期したマシン側コントロールサイクルを生成することとを含む。
図10は、コントローラ100におけるサイクル生成手順を例示するフローチャートである。図10に示すように、コントローラ100は、まずステップS01,S02,S03,S04,S05を実行する。ステップS01では、コントローラ側時刻生成部121が、同期通信部114によるグローバル時刻の受信を待機する。ステップS02では、コントローラ側時刻生成部121が、同期通信部114が受信したグローバル時刻に同期してコントローラ側時刻を生成する。ステップS03では、コントローラ側サイクル生成部122が、コントローラ側時刻に基づいて、コントロールサイクルの開始タイミングをセットする。また、通信サイクル生成部131が、コントローラ側時刻に基づいて、通信サイクルの開始タイミングをセットする。ステップS04では、コントローラ側サイクル生成部122が、コントロールサイクルの開始フラグを「開始不可」とする。ステップS05では、タイミング送信部123が、コントロールサイクルのサイクルタイミング(例えば上記開始タイミング)を、通信サーバ3を介して管轄ローカルコントローラ300に送信する。タイミング送信部123は、サイクルタイミングをマスタタイミングとして他のコントローラ100に送信してもよい。
図11は、ローカルコントローラ300におけるサイクル生成手順を例示するフローチャートである。図11に示すように、ローカルコントローラ300は、まずステップS31,S32,S33を実行する。ステップS31では、マシン側時刻生成部321が、端末通信部314によるグローバル時刻の受信を待機する。ステップS32では、マシン側時刻生成部321が、端末通信部314が受信したグローバル時刻に同期してマシン側時刻を生成する。ステップS33では、マシン側サイクル生成部322が、対応するコントローラ100が送信したサイクルタイミング(例えば上記開始タイミング)を端末通信部314が受信するのを待機する。
上述したように、コントローラ100は、有線通信ネットワーク8を介してマスタタイミングを取得し、取得したマスタタイミングと、コントローラ側時刻とに基づいてコントロールサイクルを生成してもよい。図12は、マスタタイミングに基づくサイクル生成手順を示すフローチャートである。図12に示すように、コントローラ100は、まずステップS51,S52,S53を実行する。ステップS51では、コントローラ側時刻生成部121が、同期通信部114によるグローバル時刻の受信を待機する。ステップS52では、コントローラ側時刻生成部121が、同期通信部114が受信したグローバル時刻に同期してコントローラ側時刻を生成する。ステップS53では、コントローラ側サイクル生成部122が、マスタタイミングを同期通信部114が受信するのを待機する。
マシン制御手順は、コントローラ100が、コントロールサイクルでモーションプログラムを実行し、管轄マシン4に対するマシン指令を生成することと、マシン指令に第1サイクル情報を付加することと、マシン指令を通信コントローラ200に送信することと、通信コントローラ200が、マシン指令を受信することと、管轄ローカルコントローラ300にマシン指令を送信することと、管轄ローカルコントローラ300が、通信コントローラ200からマシン指令を受信することと、受信したマシン指令を記憶し、当該マシン指令に付加された第1サイクル情報に対応するマシン側コントロールサイクルにおいて当該マシン指令を呼び出すことと、呼び出したマシン指令に基づいて、マシン本体10にモーションを実現させることと、を含む。
コントローラ100における制御手順は、データ受信手順と、データ生成・送信手順とを含む。データ受信手順とデータ生成・送信手順とは並行して繰り返し実行される。データ受信手順は、必ずしもコントロールサイクルに同期して実行されなくてもよいが、データ生成・送信手順はコントロールサイクルに同期して実行される。
ローカルコントローラ300における制御手順は、マシン指令の受信手順と、タイミング調整手順と、マシン制御手順とを含む。これらは並行して繰り返し実行される。マシン指令の制御手順は、必ずしもコントロールサイクルに同期して実行されなくてもいが、タイミング調整手順はコントロールサイクルに同期して実行される。マシン制御手順は、マシンサイクルに同期して実行される。
以上に説明したように、マシン制御システム1は、現実空間上に構成され、それぞれマシン指令に応じてモーションを実現する1以上のマシン4と、仮想空間上に実装され、1以上のマシン4をそれぞれ制御する1以上のコントローラ100と、1以上のコントローラ100と有線通信ネットワーク8を介して通信し、1以上のマシン4と無線通信ネットワーク7を介して通信する通信サーバ3と、を備え、1以上のコントローラ100のそれぞれは、コントロールサイクルでモーションプログラムを実行し、対応するマシン4に対するマシン指令を生成するモーションモジュール113と、マシン指令に第1サイクル情報を付加する付加部125と、マシン指令を通信サーバ3に送信する同期通信部114と、を有し、1以上のマシン4のそれぞれは、通信サーバ3からマシン指令を受信する端末通信部314と、端末通信部314が受信したマシン指令を記憶し、当該マシン指令に付加された第1サイクル情報に対応するマシン側コントロールサイクルにおいて当該マシン指令を呼び出すマシン側タイミング調整部315と、を有する。
マシン制御システム1は、少なくとも、1以上のマシン4と、1以上のマシン4と通信する1以上のサーバが有する仮想空間上に実装され、1以上のマシン4をそれぞれ制御する1以上のコントローラ100と、を備える限りにおいて、マシン制御システム1は適宜変更可能である。例えば図20に示すように、無線通信ネットワーク7を有線通信ネットワーク7Aに置き換えてもよい。この場合、図5、図7、及び図8において、通信コントローラ200とローカルコントローラ300との間に介在する無線通信基地局201及び無線通信端末301は不要となる。また、図9において、時刻pt5,pt13で実行される無線通信端末301の処理も不要となる。図21に示すように、通信サーバ3を、例えばスイッチングハブ等の通信ハブ3Aに置き換えてもよい。この場合、通信サーバ3が有していたタイミングマスタ224が、通信サーバ3以外の1以上のサーバ(例えば、コントローラサーバ2、時刻サーバ5、又はアプリサーバ6)のいずれに設けられていてもよい。
Claims (23)
- 現実空間上に構成され、それぞれマシン指令に応じてモーションを実現する1以上のマシンと、
前記1以上のマシンと通信する1以上のサーバが有する仮想空間上に実装され、前記1以上のマシンをそれぞれ制御する1以上のコントローラと、
を備え、
前記1以上のコントローラのそれぞれは、
コントロールサイクルでモーションプログラムを実行し、対応するマシンに対するマシン指令を生成するモーションモジュールと、
前記マシン指令に第1サイクル情報を付加する付加部と、
前記マシン指令を前記対応するマシンに送信する同期通信部と、
を有し、
前記1以上のマシンのそれぞれは、
前記1以上のサーバから前記マシン指令を受信する端末通信部と、
前記端末通信部が受信した前記マシン指令を記憶し、当該マシン指令に付加された第1サイクル情報に対応するマシン側コントロールサイクルで当該マシン指令を呼び出すマシン側タイミング調整部と、
を有する、マシン制御システム。 - 前記1以上のマシンのそれぞれは、
モーションを実現する本体と、
前記マシン側タイミング調整部が呼び出したマシン指令に基づいて、前記本体にモーションを実現させ、前記本体が実現したモーションに基づく応答情報を取得するマシン制御部と、
前記応答情報に第2サイクル情報を付加する付加部と、
を更に有し、
前記端末通信部は、前記応答情報を前記1以上のサーバに送信し、
前記1以上のサーバは、前記1以上のマシンから受信した前記応答情報を記憶し、当該応答情報に付加された第2サイクル情報に対応する前記コントロールサイクルにおいて当該応答情報を呼び出すコントローラ側タイミング調整部を有し、
前記モーションモジュールは、前記コントローラ側タイミング調整部が呼び出した応答情報に基づいて、前記モーションプログラムを実行する、請求項1記載のマシン制御システム。 - 前記1以上のコントローラのそれぞれは、
前記コントロールサイクルのサイクルタイミングを前記対応するマシンに送信するタイミング送信部を更に有し、
前記1以上のマシンのそれぞれは、
前記サイクルタイミングに基づいて、対応するコントローラにおける前記コントロールサイクルに同期した前記マシン側コントロールサイクルを生成するマシン側サイクル生成部を更に有する、請求項1又は2記載のマシン制御システム。 - 前記1以上のコントローラのそれぞれは、
時刻サーバが生成した時刻に同期して、コントローラ側時刻を生成するコントローラ側時刻生成部と、
前記コントローラ側時刻に基づいて、前記コントロールサイクルを生成するコントローラ側サイクル生成部と、
を更に有し、
前記1以上のマシンのそれぞれは、
前記時刻サーバが生成した時刻に同期して、マシン側時刻を生成するマシン側時刻生成部を更に有し、
前記マシン側サイクル生成部は、前記マシン側時刻生成部が生成した時刻と、前記サイクルタイミングとに基づいて、前記マシン側コントロールサイクルを生成する、請求項3記載のマシン制御システム。 - 前記タイミング送信部は、前記対応するマシンの前記マシン側サイクル生成部が前記マシン側コントロールサイクルの生成に失敗した場合、先に送信したサイクルタイミングよりも後のサイクルタイミングを前記対応するマシンに再度送信する、請求項4記載のマシン制御システム。
- 前記マシン制御部は、前記マシン側タイミング調整部が呼び出したマシン指令に基づいて、前記マシン側コントロールサイクルよりも短いサイクル長のマシンサイクルで前記本体を制御する、請求項2記載のマシン制御システム。
- 前記マシン制御システムは、前記1以上のコントローラとして複数のコントローラを備え、
前記複数のコントローラのそれぞれが前記コントローラ側タイミング調整部を有する、請求項2記載のマシン制御システム。 - 前記1以上のサーバは、前記複数のコントローラにおける一のコントローラの前記同期通信部が送信するデータが前記対応するマシン宛てであれば、前記対応するマシンへ当該データを送信し、前記データが他のコントローラ宛てであれば、前記他のコントローラの前記コントローラ側タイミング調整部へ当該データを送信するスイッチを更に有する、請求項7記載のマシン制御システム。
- 前記一のコントローラは、
前記他のコントローラを含む他のノードに対する非同期通信データを、前記他のノードに送信する非同期通信部を更に有する、請求項8記載のマシン制御システム。 - 前記複数のコントローラの少なくとも一つは、マスタタイミングに基づいて、前記コントロールサイクルを生成するコントローラ側サイクル生成部を更に有する、請求項7~9のいずれか一項記載のマシン制御システム。
- 前記1以上のサーバは、前記マスタタイミングを生成するタイミングマスタを更に有する、請求項10記載のマシン制御システム。
- 前記1以上のサーバは、前記マシン指令に含まれる前記第1サイクル情報に基づいて、当該マシン指令の送信遅れを検出するサイクルチェック部を更に備える、請求項1~11のいずれか一項記載のマシン制御システム。
- 前記サイクルチェック部は、前記マシン指令の送信遅れを検出した場合に、当該マシン指令の送信をキャンセルする、請求項12記載のマシン制御システム。
- 前記1以上のサーバは、前記応答情報に含まれる前記第2サイクル情報に基づいて、当該応答情報の受信遅れを検出するサイクルチェック部を更に備える、請求項2記載のマシン制御システム。
- 前記1以上のサーバは、前記1以上のコントローラの少なくともいずれかのコントロールサイクルに同期した通信サイクルを生成する通信サイクル生成部を更に備え、
前記サイクルチェック部は、前記マシン指令に付加された前記第1サイクル情報と、前記通信サイクルのサイクル情報とに基づいて、前記マシン指令の送信遅れを検出する、請求項12又は13記載のマシン制御システム。 - コントロールサイクルでモーションプログラムを実行し、対応するマシンに対するマシン指令を生成することと、
前記対応するマシンにおいて、いずれのマシン側コントロールサイクルで前記マシン指令を呼び出すかを指定する第1サイクル情報を前記マシン指令に付加することと、
前記第1サイクル情報が付加された前記マシン指令を前記対応するマシンに送信することと、を実行するコントローラを、前記対応するマシンと通信するサーバの仮想空間上に実装させるプログラム。 - 前記対応するマシンが第2サイクル情報を付加した応答情報を、前記対応するマシンから受信することと、
受信した応答情報を記憶し、当該応答情報に付加された第2サイクル情報に対応する前記コントロールサイクルにおいて当該応答情報を呼び出すことと、を更に実行し、
呼び出した応答情報に基づいてモーションプログラムを実行し、マシン指令を生成するコントローラを前記サーバの仮想空間上に実装させる、請求項16記載のプログラム。 - モーションを実現する本体と、
コントローラが実装された仮想空間を構成するサーバと通信し、前記コントローラがサイクル情報を付加したマシン指令を前記サーバから受信する端末通信部と、
前記端末通信部が受信したマシン指令を記憶し、当該マシン指令に付加されたサイクル情報に対応するコントロールサイクルにおいて当該マシン指令を呼び出すマシン側タイミング調整部と、
前記マシン側タイミング調整部が呼び出したマシン指令に基づいて、前記本体にモーションを実現させるマシン制御部と、を備えるマシン。 - 第1処理を繰り返す第1デバイスと、
第1デバイスと通信し、第2処理を繰り返す第2デバイスと、
を備え、
前記第1デバイスは、
前記第1処理により第1情報を生成する第1処理モジュールと、
前記第1情報に第1サイクル情報を付加する第1付加部と、
前記第1情報を第2デバイスに送信する第1通信部と、
を有し、
前記第2デバイスは、
前記第1デバイスから前記第1情報を受信する第2通信部と、
前記第2通信部が受信した前記第1情報を記憶し、当該第1情報に付加された第1サイクル情報に対応するサイクルの前記第2処理において当該第1情報を呼び出すタイミング調整部と、
前記タイミング調整部により呼び出された前記第1情報に基づいて前記第2処理を実行する第2処理モジュールと、
を有する、システム。 - 前記第2処理モジュールは、前記第2処理により第2情報を生成し、
前記第2デバイスは、前記第2情報に第2サイクル情報を付加する第2付加部を更に有し、
前記第2通信部は、前記第2情報を前記第1デバイスに送信し、
前記第1通信部は、前記第2情報を前記第2デバイスから受信し、
前記第1デバイスは、前記第1通信部が受信した前記第2情報を記憶し、当該第2情報に付加された第2サイクル情報に対応するサイクルの前記第1処理において当該第2情報を呼び出す第1タイミング調整部を更に有し、
前記第1処理モジュールは、前記第1タイミング調整部により呼び出された前記第2情報に基づいて前記第1処理を実行する、請求項19記載のシステム。 - 第1処理により第1情報を生成することを繰り返す第1処理モジュールと、
第2処理を繰り返す第2デバイスにおいて、いずれのサイクルの前記第2処理において前記第1情報を呼び出すかを指定する第1サイクル情報を当該第1情報に付加する第1付加部と、
前記第1付加部により第1サイクル情報が付加された前記第1情報を前記第2デバイスに送信する通信部と、を備えるデバイス。 - 前記通信部は、前記第2デバイスが前記第2処理により生成し、第2サイクル情報を付加した第2情報を、前記第2デバイスから受信し、
前記デバイスは、
前記通信部が受信した前記第2情報を記憶し、当該第2情報に付加された第2サイクル情報に対応するサイクルの第1処理において当該第2情報を呼び出す第1タイミング調整部を更に備え、
前記第1処理モジュールは、前記第1タイミング調整部により呼び出された前記第2情報に基づいて前記第1処理を実行し、前記第1情報を生成する、請求項21記載のデバイス。 - 第1処理を繰り返す第1デバイスが、第1処理により生成し、サイクル情報を付加した第1情報を、前記第1デバイスから受信する通信部と、
前記通信部が受信した前記第1情報を記憶し、当該第1情報に付加されたサイクル情報に対応するサイクルの第2処理において当該第1情報を呼び出すタイミング調整部と、
前記タイミング調整部により呼び出された前記第1情報に基づいて、前記第2処理を実行する処理モジュールと、を備えるデバイス。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021506773A JP6915759B1 (ja) | 2019-05-13 | 2020-11-12 | マシン制御システム、プログラム、マシン、システム及びデバイス |
KR1020227042649A KR20230006582A (ko) | 2020-05-13 | 2020-11-12 | 머신 제어 시스템, 프로그램, 머신, 시스템 및 디바이스 |
CN202080100688.4A CN115516870A (zh) | 2020-05-13 | 2020-11-12 | 机器控制系统、程序、机器、系统以及设备 |
EP20935131.1A EP4138402A4 (en) | 2020-05-13 | 2020-11-12 | MACHINE CONTROL SYSTEM, PROGRAM, MACHINE, SYSTEM AND DEVICE |
US18/053,763 US20230067306A1 (en) | 2019-05-13 | 2022-11-09 | Machine control via synchronous communication |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962846759P | 2019-05-13 | 2019-05-13 | |
US201962858341P | 2019-06-07 | 2019-06-07 | |
US201962866622P | 2019-06-26 | 2019-06-26 | |
US201962871742P | 2019-07-09 | 2019-07-09 | |
US201962879528P | 2019-07-28 | 2019-07-28 | |
PCT/JP2020/019141 WO2020230824A1 (ja) | 2019-05-13 | 2020-05-13 | マシン制御システム、プログラム、マシン、及び通信方法 |
JPPCT/JP2020/019141 | 2020-05-13 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/019141 Continuation WO2020230824A1 (ja) | 2019-05-13 | 2020-05-13 | マシン制御システム、プログラム、マシン、及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021229842A1 true WO2021229842A1 (ja) | 2021-11-18 |
Family
ID=73288875
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/019141 WO2020230824A1 (ja) | 2019-05-13 | 2020-05-13 | マシン制御システム、プログラム、マシン、及び通信方法 |
PCT/JP2020/042331 WO2021229842A1 (ja) | 2019-05-13 | 2020-11-12 | マシン制御システム、プログラム、マシン、システム及びデバイス |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/019141 WO2020230824A1 (ja) | 2019-05-13 | 2020-05-13 | マシン制御システム、プログラム、マシン、及び通信方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12030174B2 (ja) |
EP (1) | EP3968653A4 (ja) |
JP (2) | JP6916399B2 (ja) |
KR (1) | KR102517023B1 (ja) |
CN (1) | CN113812168B (ja) |
WO (2) | WO2020230824A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2023148956A1 (ja) * | 2022-02-07 | 2023-08-10 | ||
CN118696567A (zh) * | 2022-02-22 | 2024-09-24 | 株式会社安川电机 | 通信系统以及通信终端 |
WO2023167324A1 (ja) * | 2022-03-03 | 2023-09-07 | 株式会社安川電機 | 生産システム及び再現方法 |
JP7514887B2 (ja) | 2022-08-01 | 2024-07-11 | 株式会社安川電機 | 産業システム、産業機械及び制御方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006312237A (ja) * | 2005-05-06 | 2006-11-16 | Fanuc Robotics America Inc | 少なくとも2本のロボットアームの同期化システムおよびその制御方法 |
JP2011227902A (ja) * | 2010-04-21 | 2011-11-10 | General Electric Co <Ge> | 外部制御システムとフィールドバス装置を同期させるシステムおよび方法 |
JP2019067045A (ja) * | 2017-09-29 | 2019-04-25 | オムロン株式会社 | 制御装置 |
JP2019209454A (ja) | 2018-06-08 | 2019-12-12 | 株式会社安川電機 | 加工システム及び制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007123952A (ja) * | 2005-10-24 | 2007-05-17 | Mitsubishi Electric Corp | 無線lanシステム |
US8676239B2 (en) | 2009-02-23 | 2014-03-18 | Mitsubishi Electric Corporation | Wireless communication system, wireless communication device, and wireless communication method |
JP2010287959A (ja) * | 2009-06-09 | 2010-12-24 | Yaskawa Electric Corp | 同期通信システム、通信装置および同期通信方法 |
KR20130058893A (ko) * | 2011-11-28 | 2013-06-05 | 서인수 | 무선 통신을 이용한 제어 시스템 |
JP6594268B2 (ja) * | 2016-07-25 | 2019-10-23 | 三菱電機株式会社 | モーション制御システム |
JP6705971B2 (ja) * | 2017-03-16 | 2020-06-03 | 株式会社安川電機 | コントロールシステム、コントローラ及び制御方法 |
JP6946909B2 (ja) * | 2017-09-29 | 2021-10-13 | オムロン株式会社 | 制御システムおよび制御装置 |
JP7095262B2 (ja) | 2017-11-10 | 2022-07-05 | 株式会社安川電機 | プログラミング支援装置、ロボットシステム及びプログラム生成方法 |
CN108015768A (zh) * | 2017-12-04 | 2018-05-11 | 航天科工智能机器人有限责任公司 | 一种轮式移动平台的嵌入式控制系统 |
-
2020
- 2020-05-13 EP EP20804773.8A patent/EP3968653A4/en active Pending
- 2020-05-13 KR KR1020217039869A patent/KR102517023B1/ko active IP Right Grant
- 2020-05-13 JP JP2020568483A patent/JP6916399B2/ja active Active
- 2020-05-13 WO PCT/JP2020/019141 patent/WO2020230824A1/ja unknown
- 2020-05-13 CN CN202080035216.5A patent/CN113812168B/zh active Active
- 2020-11-12 WO PCT/JP2020/042331 patent/WO2021229842A1/ja unknown
-
2021
- 2021-07-15 JP JP2021116972A patent/JP7498684B2/ja active Active
- 2021-11-08 US US17/520,719 patent/US12030174B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006312237A (ja) * | 2005-05-06 | 2006-11-16 | Fanuc Robotics America Inc | 少なくとも2本のロボットアームの同期化システムおよびその制御方法 |
JP2011227902A (ja) * | 2010-04-21 | 2011-11-10 | General Electric Co <Ge> | 外部制御システムとフィールドバス装置を同期させるシステムおよび方法 |
JP2019067045A (ja) * | 2017-09-29 | 2019-04-25 | オムロン株式会社 | 制御装置 |
JP2019209454A (ja) | 2018-06-08 | 2019-12-12 | 株式会社安川電機 | 加工システム及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020230824A1 (ja) | 2020-11-19 |
EP3968653A1 (en) | 2022-03-16 |
CN113812168A (zh) | 2021-12-17 |
JPWO2020230824A1 (ja) | 2021-05-20 |
KR102517023B1 (ko) | 2023-03-31 |
KR20220006567A (ko) | 2022-01-17 |
JP6916399B2 (ja) | 2021-08-11 |
US12030174B2 (en) | 2024-07-09 |
JP7498684B2 (ja) | 2024-06-12 |
JP2021180507A (ja) | 2021-11-18 |
CN113812168B (zh) | 2024-10-01 |
EP3968653A4 (en) | 2023-05-24 |
US20220080601A1 (en) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021229842A1 (ja) | マシン制御システム、プログラム、マシン、システム及びデバイス | |
KR101494117B1 (ko) | 전동기 제어 시스템 및 통신 방법 | |
US10071480B2 (en) | Real-time interference check system of machine tool and robot | |
JP2018097661A (ja) | 生産システム、制御装置、および制御方法 | |
KR20130095189A (ko) | 자동화 워크셀 제어 방법 | |
US20200189100A1 (en) | Technique for Providing Reliable Control in a Cloud Robotics System | |
KR20130027523A (ko) | 자동화 워크셀 제어 방법 | |
WO2020147949A1 (en) | System for emulating remote control of a physical robot | |
JP7494155B2 (ja) | 生産システム、セルコントローラ、ロボットコントローラ及び制御方法 | |
JP6915759B1 (ja) | マシン制御システム、プログラム、マシン、システム及びデバイス | |
WO2021033358A1 (ja) | 制御システム、制御装置およびプログラム | |
JP2005014150A (ja) | ロボットシステム | |
EP4138402A1 (en) | Machine control system, program, machine, system, and device | |
JP2023063209A (ja) | 多軸サーボ制御システム | |
US20240243894A1 (en) | Wireless communication of transmission data by attribute | |
JP7400104B2 (ja) | シミュレーション装置、制御システム、シミュレーション方法及びプログラム | |
WO2024018900A1 (ja) | 機器の制御装置、制御システム、及び制御方法 | |
US20220331951A1 (en) | Robot control system, lower-level control apparatus, and control method for robot | |
US20240142954A1 (en) | Communication system with ordered command data sets | |
CN116633983A (zh) | 用于多机器人协同作业的通信方法、装置和通信中间件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2021506773 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20935131 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020935131 Country of ref document: EP Effective date: 20221116 |
|
ENP | Entry into the national phase |
Ref document number: 20227042649 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |