KR20230006582A - Machine control systems, programs, machines, systems and devices - Google Patents
Machine control systems, programs, machines, systems and devices Download PDFInfo
- Publication number
- KR20230006582A KR20230006582A KR1020227042649A KR20227042649A KR20230006582A KR 20230006582 A KR20230006582 A KR 20230006582A KR 1020227042649 A KR1020227042649 A KR 1020227042649A KR 20227042649 A KR20227042649 A KR 20227042649A KR 20230006582 A KR20230006582 A KR 20230006582A
- Authority
- KR
- South Korea
- 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 110
- 230000004044 response Effects 0.000 claims description 176
- 238000000034 method Methods 0.000 claims description 64
- 230000005540 biological transmission Effects 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 25
- 238000003860 storage Methods 0.000 description 47
- 230000010365 information processing Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect 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
- 230000000737 periodic effect Effects 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
-
- 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/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- 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]
- G05B19/41815—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] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
-
- 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]
- G05B19/4185—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] characterised by the network communication
-
- 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/31—From computer integrated manufacturing till monitoring
- G05B2219/31261—Coordination control
-
- 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/34—Director, elements to supervisory
- G05B2219/34397—Synchronize manipulators and machine by using a reference clock for all
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)
Abstract
머신 제어 시스템(1)은, 현실 공간상에 구성되어, 각각 머신 지령에 따라 모션을 실현하는 1 이상의 머신(4)과, 1 이상의 머신(4)과 통신하는 1 이상의 서버가 갖는 가상 공간상에 실장되어, 1 이상의 머신(4)에 대한 머신 지령을 각각 생성하는 1 이상의 컨트롤러(100)를 구비하고, 1 이상의 컨트롤러(100)의 각각은, 컨트롤 사이클로 모션 프로그램을 실행하여, 대응하는 머신(4)에 대한 머신 지령을 생성하는 모션 모듈(113)과, 머신 지령에 제1 사이클 정보를 부가하는 부가부(125)와, 머신 지령을 대응하는 머신(4)에 송신하는 동기 통신부(114)를 갖고, 1 이상의 머신(4)의 각각은, 1 이상의 서버로부터 머신 지령을 수신하는 단말 통신부(314)와, 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클로 상기 머신 지령을 호출하는 머신측 타이밍 조정부(315)를 갖는다.The machine control system 1 is configured on a real space, and on a virtual space having one or more machines 4 each realizing motion according to machine commands and one or more servers communicating with the one or more machines 4. Equipped with one or more controllers 100 that generate machine commands for one or more machines 4, respectively, each of the one or more controllers 100 executes a motion program with a control cycle, and the corresponding machine 4 A motion module 113 for generating a machine command for ), an addition unit 125 for adding first cycle information to the machine command, and a synchronous communication unit 114 for transmitting the machine command to the corresponding machine 4 Each of the one or more machines 4 has a terminal communication unit 314 that receives machine commands from one or more servers, and calls the machine commands with a machine-side control cycle corresponding to the first cycle information added to the machine commands. It has a machine-side timing adjustment unit 315.
Description
본 개시는 머신 제어 시스템, 프로그램, 머신, 시스템 및 디바이스에 관한 것이다.The present disclosure relates to machine control systems, programs, machines, systems and devices.
특허문헌 1에는 로봇과, 가공 장치와, 로봇을 제어하는 로봇 컨트롤러와, 가공 장치를 제어하는 가공 장치 컨트롤러와, 로봇 컨트롤러 및 가공 장치 컨트롤러에 대한 지령을 생성하는 프로그래머블 로직 컨트롤러를 구비하는 시스템이 개시되어 있다.
본 개시는 디바이스 간의 동기 통신의 신뢰성 향상에 유효한 시스템을 제공한다.The present disclosure provides a system effective for improving the reliability of synchronous communication between devices.
본 개시의 일측면에 따른 머신 제어 시스템은, 현실 공간상에 구성되어, 각각 머신 지령에 따라 모션을 실현하는 1 이상의 머신과, 1 이상의 머신과 통신하는 1 이상의 서버가 갖는 가상 공간상에 실장되어, 1 이상의 머신을 각각 제어하는 1 이상의 컨트롤러를 구비하고, 1 이상의 컨트롤러의 각각은, 컨트롤 사이클로 모션 프로그램을 실행하여, 대응하는 머신에 대한 머신 지령을 생성하는 모션 모듈과, 머신 지령에 제1 사이클 정보를 부가하는 부가부와, 머신 지령을 대응하는 머신에 송신하는 동기 통신부를 갖고, 1 이상의 머신의 각각은, 1 이상의 서버로부터 머신 지령을 수신하는 단말 통신부와, 단말 통신부가 수신한 머신 지령을 기억하여, 상기 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클로 상기 머신 지령을 호출하는 머신측 타이밍 조정부를 갖는다.A machine control system according to one aspect of the present disclosure is configured on a real space and is mounted on a virtual space having one or more machines that realize motion according to machine commands, and one or more servers communicating with the one or more machines. , one or more controllers respectively controlling one or more machines, each of the one or more controllers executing a motion program with a control cycle, a motion module generating machine commands for corresponding machines, and a first cycle for the machine commands. It has an appending unit that adds information and a synchronous communication unit that transmits machine commands to corresponding machines, each of the one or more machines has a terminal communication unit that receives machine commands from one or more servers, and a terminal communication unit that transmits machine commands received by the terminal communication unit. and a machine-side timing adjusting unit that stores and calls the machine command with a machine-side control cycle corresponding to first cycle information added to the machine command.
본 개시의 다른 측면에 따른 프로그램은, 컨트롤 사이클로 모션 프로그램을 실행하여, 대응하는 머신에 대한 머신 지령을 생성하는 것과, 대응하는 머신에 있어서, 어느 머신측 컨트롤 사이클로 머신 지령을 호출할지를 지정하는 제1 사이클 정보를 머신 지령에 부가하는 것과, 제1 사이클 정보가 부가된 머신 지령을 대응하는 머신에 송신하는 것을 실행하는 컨트롤러를, 대응하는 머신과 통신하는 서버의 가상 공간상에 실장시킨다.A program according to another aspect of the present disclosure includes generating a machine command for a corresponding machine by executing a motion program with a control cycle, and specifying which machine-side control cycle to call the machine command in the corresponding machine. A controller that executes adding cycle information to the machine command and transmitting the machine command to which the first cycle information is added to the corresponding machine is mounted on a virtual space of a server communicating with the corresponding machine.
본 개시의 다른 측면에 따른 머신은, 모션을 실현하는 본체와, 컨트롤러가 실장된 가상 공간을 구성하는 서버와 통신하여, 컨트롤러가 사이클 정보를 부가한 머신 지령을 서버로부터 수신하는 단말 통신부와, 단말 통신부가 수신한 머신 지령을 기억하여, 상기 머신 지령에 부가된 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 머신 지령을 호출하는 머신측 타이밍 조정부와, 머신측 타이밍 조정부가 호출한 머신 지령에 기초하여, 본체에 모션을 실현시키는 머신 제어부를 구비한다.According to another aspect of the present disclosure, a machine includes a main body realizing motion, a terminal communication unit configured to communicate with a server constituting a virtual space in which a controller is mounted, and receiving a machine command to which cycle information is added by the controller from the server, and a terminal Based on a machine-side timing adjusting unit that stores the machine command received by the communication unit and calls the machine command in a control cycle corresponding to the cycle information added to the machine command, and the machine command called by the machine-side timing adjusting unit, The main body is provided with a machine control unit for realizing motion.
본 개시의 다른 측면에 따른 시스템은, 제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 처리 모듈을 갖는다.A system according to another aspect of the present disclosure includes a first device that repeats a first process, and a second device that communicates with the first device and repeats a second process, the first device performing the first process a first processing module for generating first information, a first addition unit for adding first cycle information to the first information, and a first communication unit for transmitting the first information to a second device, the second device comprising: , In the second communication unit that receives the first information from the first device, and the second processing of the cycle corresponding to the first cycle information added to the first information by storing the first information received by the second communication unit It has a timing adjustment unit that calls the first information, and a second processing module that executes a second process based on the first information called by the timing adjustment unit.
본 개시의 다른 측면에 따른 디바이스는, 제1 처리에 의해 제1 정보를 생성하는 것을 반복하는 제1 처리 모듈과, 제2 처리를 반복하는 제2 디바이스에 있어서, 어느 사이클의 제2 처리에 있어서 제1 정보를 호출할지를 지정하는 제1 사이클 정보를 상기 제1 정보에 부가하는 제1 부가부와, 제1 부가부에 의해 제1 사이클 정보가 부가된 제1 정보를 제2 디바이스에 송신하는 통신부를 구비한다.A device according to another aspect of the present disclosure includes a first processing module that repeats generating first information by first processing, and a second device that repeats second processing, in a second processing of a certain cycle. A first addition unit that adds first cycle information specifying whether to call first 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 a second device. to provide
본 개시의 다른 측면에 따른 디바이스는, 제1 처리를 반복하는 제1 디바이스가, 제1 처리에 의해 생성하여, 사이클 정보를 부가한 제1 정보를, 제1 디바이스로부터 수신하는 통신부와, 통신부가 수신한 제1 정보를 기억하여, 상기 제1 정보에 부가된 사이클 정보에 대응하는 사이클의 제2 처리에 있어서 상기 제1 정보를 호출하는 타이밍 조정부와, 타이밍 조정부에 의해 호출된 제1 정보에 기초하여, 제2 처리를 실행하는 처리 모듈을 구비한다.A device according to another aspect of the present disclosure includes: a communication unit configured to receive, from the first device, first information generated by a first device repeating a first process and to which cycle information is added, from the first device; a timing adjustment unit that stores the received first information and calls the first information in a second process of a cycle corresponding to the cycle information added to the first information; and based on the first information called by the timing adjustment unit and a processing module that executes the second processing.
본 개시에 따르면, 디바이스 간의 동기 통신의 신뢰성 향상에 유효한 시스템을 제공할 수 있다.According to the present disclosure, it is possible to provide a system effective for improving the reliability of synchronous communication between devices.
도 1은 머신 제어 시스템의 개략 구성을 예시하는 모식도이다.
도 2는 로봇의 구성을 예시하는 모식도이다.
도 3은 컨트롤러 서버의 기능상의 구성을 예시하는 블록도이다.
도 4는 컨트롤러의 기능상의 구성을 예시하는 블록도이다.
도 5는 로컬 컨트롤러의 기능상의 구성을 예시하는 블록도이다.
도 6은 컨트롤러의 변형예를 나타내는 블록도이다.
도 7은 통신 컨트롤러의 기능상의 구성을 예시하는 블록도이다.
도 8은 컨트롤러 서버, 통신 컨트롤러 및 로컬 컨트롤러의 하드웨어 구성을 예시하는 블록도이다.
도 9는 사이클 생성 순서를 예시하는 타이밍 차트이다.
도 10은 컨트롤러에 있어서의 사이클 생성 순서를 예시하는 흐름도이다.
도 11은 로컬 컨트롤러에 있어서의 사이클 생성 순서를 예시하는 흐름도이다.
도 12는 로컬 컨트롤러에 있어서의 사이클 생성 순서의 변형예를 나타내는 흐름도이다.
도 13은 머신 제어 순서를 예시하는 타이밍 차트이다.
도 14는 컨트롤러에 있어서의 제어 순서를 예시하는 흐름도이다.
도 15는 컨트롤러에 있어서의 제어 순서를 예시하는 흐름도이다.
도 16은 컨트롤러에 있어서의 제어 순서를 예시하는 흐름도이다.
도 17은 로컬 컨트롤러에 있어서의 제어 순서를 예시하는 흐름도이다.
도 18은 로컬 컨트롤러에 있어서의 제어 순서를 예시하는 흐름도이다.
도 19는 로컬 컨트롤러에 있어서의 제어 순서를 예시하는 흐름도이다.
도 20은 머신 제어 시스템의 변형예를 나타내는 모식도이다.
도 21은 머신 제어 시스템의 다른 변형예를 나타내는 모식도이다.1 is a schematic diagram illustrating a schematic configuration of a machine control system.
2 is a schematic diagram illustrating the configuration of a robot.
3 is a block diagram illustrating the functional configuration of a controller server.
4 is a block diagram illustrating the functional configuration of a controller.
5 is a block diagram illustrating the functional configuration of a local controller.
6 is a block diagram showing a modified example of the controller.
7 is a block diagram illustrating a functional configuration of a communication controller.
8 is a block diagram illustrating the hardware configuration of a controller server, a communication controller and a local controller.
9 is a timing chart illustrating a cycle generation sequence.
10 is a flowchart illustrating a cycle generation procedure in the controller.
11 is a flowchart illustrating a cycle generation procedure in the local controller.
12 is a flowchart showing a modified example of the cycle generation procedure in the local controller.
13 is a timing chart illustrating a machine control sequence.
14 is a flowchart illustrating a control procedure in the controller.
15 is a flowchart illustrating a control procedure in the controller.
16 is a flowchart illustrating a control procedure in the controller.
17 is a flowchart illustrating a control procedure in the local controller.
18 is a flowchart illustrating a control procedure in the local controller.
19 is a flowchart illustrating a control procedure in the local controller.
Fig. 20 is a schematic diagram showing a modified example of the machine control system.
Fig. 21 is a schematic diagram showing another modified example of the machine control system.
이하, 실시형태에 대해서, 도면을 참조하면서 상세하게 설명한다. 설명에 있어서, 동일 요소 또는 동일 기능을 갖는 요소에는 동일한 부호를 붙이고, 중복되는 설명을 생략한다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment is described in detail, referring drawings. In the description, the same reference numerals are attached to the same elements or elements having the same functions, and overlapping descriptions are omitted.
본 실시형태에 따른 시스템은, 서로 통신하면서, 각각이 반복해서 처리를 행하는 복수의 디바이스를 구비한다. 디바이스 간의 통신에는, 각 디바이스의 처리 사이클에 대한 동기성이 요구되는 경우가 있다. 이하, 각 디바이스의 처리 사이클에 동기한 통신을 「동기 통신」이라고 한다.The system according to the present embodiment includes a plurality of devices that each repeatedly perform processing while communicating with each other. For communication between devices, there are cases in which synchronism with respect to processing cycles of each device is required. Hereinafter, communication synchronized with the processing cycle of each device is referred to as "synchronous communication".
동기 통신의 신뢰성을 향상시키기 위해, 본 실시형태에 따른 시스템은, 제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 처리 모듈을 갖는다.In order to improve the reliability of synchronous communication, a system according to the present embodiment includes a first device that repeats a first process, and a second device that communicates with the first device and repeats a second process, The device includes a first processing module that generates first information by first processing, a first adding unit that adds first cycle information to the first information, and a first communication unit that transmits the first information to the second device. The second device has a second communication unit that receives the first information from the first device, and stores the first information received by the second communication unit to correspond to the first cycle information added to the first information. It has a timing adjustment unit that calls the first information in the second process of the cycle, and a second processing module that executes the second process based on the first information called by the timing adjustment unit.
제2 디바이스에 있어서의 제1 수신 타이밍의 변동이 커지면, 동기 통신의 유지가 곤란해질 가능성이 있다. 이에 대하여, 상기 시스템에 따르면, 제1 디바이스로부터 송신된 제1 정보가 제2 디바이스로 버퍼링되어, 제1 사이클 정보에 대응하는 사이클의 제2 처리에 있어서 호출된다. 이와 같이, 제1 정보를 그 사용 타이밍까지 버퍼링하는 기능에 의해, 제1 디바이스측으로부터의 제1 정보의 송신을 앞당겨, 제2 디바이스에 있어서의 제1 정보의 수신 타이밍으로부터 상기 제1 정보의 사용 타이밍까지의 기간에 여유를 갖게 할 수 있다. 이 여유에 의해, 통신 상황 등에 기인하여 확대된 수신 타이밍의 변동을 흡수하여, 버퍼한 제1 정보를 적절한 사용 타이밍에 호출할 수 있다. 이 때문에, 동기 통신의 신뢰성을 향상시킬 수 있다.If the fluctuation of the first reception timing in the second device increases, there is a possibility that maintaining synchronous communication becomes difficult. In contrast, according to the above system, the first information transmitted from the first device is buffered in the second device, and is called in the second processing of the cycle corresponding to the first cycle information. In this way, the function of buffering the first information until its use timing advances the transmission of the first information from the first device side, and uses the first information from the reception timing of the first information in the second device. You can have a margin in the period until the timing. With this margin, it is possible to absorb the fluctuations in reception timing that have been expanded due to communication conditions and the like, and call the buffered first information at an appropriate use timing. For this reason, reliability of synchronous communication can be improved.
제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 처리를 실행하여도 좋다. 이 경우, 제1 디바이스와 제2 디바이스 간에서의 양 방향의 동기 통신의 신뢰성을 향상시킬 수 있다.The second processing module generates second information by second processing, the second device further has a second adding unit for adding second cycle information to the second information, and the second communication unit generates the second information. transmits to the first device, the first communication unit receives the second information from the second device, the first device stores the second information received by the first communication unit, and the second information added to the second information It further has a first timing adjustment unit that calls the second information in a first process of a cycle corresponding to the cycle information, wherein the first processing module performs the first processing based on the second information called by the first timing adjustment unit. You may also run In this case, reliability of bi-directional synchronous communication between the first device and the second device can be improved.
제1 디바이스 및 제2 디바이스는, 현실 공간상에 실장된 디바이스여도 좋고, 가상 공간상에 실장된 디바이스여도 좋다. 현실 공간이란, 현실의 물체가 존재하는 공간이다. 가상 공간은, 현실 공간을 모의하도록 데이터에 의해 표시된 공간이다. 디바이스를 가상 공간상에 실장한다는 것은, 가상 공간을 구성하는 장치에 대하여, 디바이스의 기능을 가상 공간에 있어서 모의하는 프로그램을 부가하는 것을 의미한다.The first device and the second device may be devices mounted on a real space or devices mounted on a virtual space. A real space is a space in which real objects exist. A virtual space is a space represented by data to simulate a real space. Mounting a device on a virtual space means adding a program that simulates the function of the device in the virtual space to an apparatus constituting the virtual space.
제1 디바이스 및 제2 디바이스의 구체예로서는, 현실 공간 상에 실장된 컨트롤러, 머신, 센서, 모터, 및 서보 드라이버 등을 들 수 있다. 제1 디바이스 및 제2 디바이스는, 가상 공간상에 실장된 컨트롤러, 머신, 센서, 모터, 및 서보 드라이버 등이어도 좋다.Specific examples of the first device and the second device include controllers, machines, sensors, motors, and servo drivers mounted on real space. The first device and the second device may be a controller, machine, sensor, motor, servo driver, or the like mounted on a virtual space.
제1 디바이스와 제2 디바이스 간의 통신은, 적어도 일부에 무선 통신을 포함하고 있어도 좋다. 제1 디바이스와 제2 디바이스 간의 통신이 무선 통신을 포함하는 경우, 전술한 수신 타이밍의 변동을 흡수하는 효과가 보다 유효하다.Communication between the first device and the second device may include wireless communication at least in part. When the communication between the first device and the second device includes wireless communication, the above-described effect of absorbing the variation in reception timing is more effective.
이하, 본 실시형태의 일례로서, 제1 디바이스가, 가상 공간상에 실장된 컨트롤러이고, 제2 디바이스가 현실 공간상에 실장된 머신이고, 컨트롤러와 머신 간의 통신이, 일부에 무선 통신을 포함하는 머신 제어 시스템을 구체적으로 예시한다.Hereinafter, as an example of this embodiment, the first device is a controller mounted on a virtual space, the second device is a machine mounted on a real space, and communication between the controller and the machine partially includes wireless communication. The machine control system is specifically exemplified.
〔머신 제어 시스템〕[Machine control system]
도 1에 나타내는 머신 제어 시스템(1)은, 적어도 1대의 컨트롤러 서버(2)로부터 무선 통신 네트워크를 통해 송신되는 연산 결과에 기초하여, 복수의 머신(4)을 제어하는 시스템이다. 머신 제어 시스템(1)의 일례로서는, 복수의 머신(4)의 협조 모션에 의해, 워크를 생산하는 생산 시스템을 들 수 있다. 도 1에 나타내는 바와 같이, 머신 제어 시스템(1)은, 적어도 1대의 컨트롤러 서버(2)와, 통신 서버(3)와, 복수의 머신(4)을 구비한다.The
컨트롤러 서버(2)는, 컨트롤 사이클로 소정의 연산을 실행한다. 컨트롤러 서버(2)는, 복수의 컨트롤러(100)를 갖는다(도 3 참조). 복수의 컨트롤러(100)는, 컨트롤러 서버(2)에 있어서 가상 공간상에 실장되어, 복수의 머신(4)을 각각 제어한다. 하나의 컨트롤러(100)는, 적어도 1대의 머신(4)에 대응한다. 하나의 컨트롤러(100)가 복수의 머신(4)에 대응하고 있어도 좋고, 복수의 컨트롤러(100)가 1대의 머신(4)에 대응하고 있어도 좋다. 가상 공간상에 실장한다는 것은, 소프트웨어에 의해, 컨트롤러(100)로서의 기능을 컨트롤러 서버(2) 등의 연산 장치에 부가하는 것을 의미한다. 컨트롤러(100)로서의 기능은, 머신(4)으로부터의 정보의 취득과, 취득한 정보에 기초한 머신 지령의 생성과, 생성한 머신 지령의 머신(4)에의 출력을 포함한다. 복수의 컨트롤러(100)는, 복수의 컨트롤러 서버(2)에 분배되어 있어도 좋다. 이에 의해, 1대의 컨트롤러 서버(2)의 연산 부담이 경감된다.The
통신 서버(3)는, 컨트롤러 서버(2)와 유선 통신 네트워크(8)를 통해 통신하며, 복수의 머신(4)과 무선 통신 네트워크(7)를 통해 통신하여, 컨트롤러 서버(2)와 복수의 머신(4) 사이에서 정보를 중계한다. 유선 통신 네트워크(8)의 구체예로서는, 이더넷(등록 상표) 등의 로컬 에어리어 네트워크를 들 수 있다. 무선 통신 네트워크(7)의 구체예로서는, 제5 세대 이동 통신 시스템(5G) 등의 고속 무선 통신 네트워크를 들 수 있다. 통신 서버(3)는, 컨트롤러 서버(2)로부터 떨어진 장소에 마련되어 있어도 좋고, 컨트롤러 서버(2)에 근접한 장소에 마련되어고 있어도 좋고, 컨트롤러 서버(2)와 동일한 케이스 내에 마련되어 있어도 좋다.The
통신 서버(3)는, 통신 컨트롤러(200)와, 무선 통신 기지국(201)을 갖는다. 통신 컨트롤러(200)는, 컨트롤러 서버(2)와 유선 통신 네트워크(8)를 통해 통신하며, 복수의 머신(4)과 무선 통신 기지국(201)을 통해 통신한다. 무선 통신 기지국(201)은, 복수의 머신(4)의 무선 통신 단말(301)(후술)과 무선 통신 네트워크(7)를 통해 통신한다.The
복수의 머신(4)은, 현실 공간상에 구성되어, 각각 컨트롤러 서버(2)의 연산 결과에 따라 모션을 실현한다. 예컨대 복수의 머신(4)은, 각각 상기 머신 지령에 따라 모션을 실현한다. 모션을 실현한다는 것은, 현실 공간에서 적어도 하나의 물체를 변위시키는 것을 의미한다. 변위란, 이동과, 자세 변경을 포함한다. 또한, 변위는, 케이스 내 등, 외부로부터 시인할 수 없는 공간 내에서의 변위를 포함한다.A plurality of
복수의 머신(4)의 각각은, 머신 본체(10)와, 로컬 컨트롤러(300)와, 무선 통신 단말(301)을 갖는다. 머신 본체(10)는, 모션을 실현하는 기기이다. 컨트롤러 서버(2)의 연산 결과에 기초하여 모션을 실현하는 기기인 한, 머신 본체(10)는 어떠한 기기여도 좋다. 도 1에 있어서는, 머신 본체(10)의 구체예로서, 이동 로봇(20)과, 정치 로봇(30)과, NC 공작 기계(60)와, 환경 센서(70)와, 컨베이어(80)를 나타내고 있다. 이동 로봇(20)은, 자립 주행 가능한 로봇이며, 무인 반송차(21)와, 로봇(22)을 갖는다. 무인 반송차(21)는, 머신 지령이 포함하는 이동 지령에 따라 자율 주행한다. 무인 반송차(21)의 구체예로서는, 전동식의 소위 AGV(Automated Guided Vehicle)를 들 수 있다. 로봇(22)은, 머신 지령이 포함하는 작업 지령에 따라 워크에 대한 작업을 실행한다.Each of the plurality of
예컨대 로봇(22)은, 6축의 수직 다관절 로봇이며, 도 2에 나타내는 바와 같이, 베이스부(31)와, 선회부(32)와, 제1 아암(33)과, 제2 아암(34)과, 제3 아암(35)과, 선단부(36)와, 액츄에이터(41, 42, 43, 44, 45, 46)를 갖는다. 베이스부(31)는, 무인 반송차(21) 상에 고정되어 있다. 선회부(32)는, 연직인 축선(51) 둘레로 선회하도록 베이스부(31) 상에 마련되어 있다. 제1 아암(33)은, 축선(51)에 교차(예컨대 직교)하는 축선(52) 둘레로 요동하도록 선회부(32)에 접속되어 있다. 교차는, 소위 입체 교차와 같이 비틀림의 관계에 있는 경우도 포함한다. 제2 아암(34)은, 축선(52)에 실질적으로 평행인 축선(53) 둘레로 요동하도록 제1 아암(33)의 선단부에 접속되어 있다. 제3 아암(35)은, 제2 아암(34)을 따른 축선(54) 둘레로 선회하며, 축선(54)에 교차(예컨대 직교)하는 축선(55) 둘레로 요동하도록, 제2 아암(34)의 선단부에 접속되어 있다. 선단부(36)는, 축선(55)에 교차(예컨대 직교)하는 축선(56) 둘레로 선회하도록 제3 아암(35)의 선단부에 접속되어 있다. 선단부(36)에는, 흡착 노즐, 로봇 핸드, 또는 가공 툴 등, 용도에 따라 여러 가지 툴이 마련된다.For example, the
액츄에이터(41, 42, 43, 44, 45, 46)는, 예컨대 전동 모터 및 감속기를 포함하여, 로봇(22)을 구동한다. 예컨대 액츄에이터(41)는 축선(51) 둘레로 선회부(32)를 선회시키고, 액츄에이터(42)는 축선(52) 둘레로 제1 아암(33)을 요동시키고, 액츄에이터(43)는 축선(53) 둘레로 제2 아암(34)을 요동시키고, 액츄에이터(44)는 축선(54) 둘레로 제3 아암(35)을 선회시키고, 액츄에이터(45)는 축선(55) 둘레로 제3 아암(35)을 요동시키고, 액츄에이터(46)는 축선(56) 둘레로 선단부(36)를 선회시킨다.
또한, 로봇(22)의 구체적인 구성은 적절하게 변경 가능하다. 예컨대 로봇(22)은, 상기 6축의 수직 다관절 로봇에 1축의 관절을 더 추가한 7축의 용장형 로봇이어도 좋고, 소위 스칼라형의 다관절 로봇이어도 좋다. 또한, 로봇(22)은 소위 패러렐 링크형의 로봇이어도 좋다.In addition, the specific structure of the
도 1로 되돌아가서, 정치 로봇(30)은, 작업 에어리어의 마루면 등에 정치된다. 정치 로봇(30)의 구체예로서는, 로봇(22)과 마찬가지로, 수직 다관절 로봇, 스칼라형의 다관절 로봇, 패러렐 링크형의 로봇 등을 들 수 있다. NC 공작 기계(60)는, 머신 지령이 포함하는 가공 지령에 따라, 절삭 가공 등의 기계 가공을 워크에 실시한다. 환경 센서(70)는, 머신 지령이 포함하는 센싱 지령에 따라, 시스템의 환경 정보를 취득한다. 환경 센서(70)의 구체예로서는, 시스템의 환경 화상을 취득하는 카메라, 시스템의 환경 온도를 취득하는 온도 센서 등을 들 수 있다. 컨베이어(80)는, 머신 지령이 포함하는 반송 지령에 따라, 워크를 반송한다. 컨베이어(80)의 구체예로서는, 벨트 컨베이어, 롤러 컨베이어 등을 들 수 있다.Returning to Fig. 1, the stationary robot 30 is stationary on a floor surface or the like of a work area. As a specific example of the stationary robot 30, like the
로컬 컨트롤러(300)는, 통신 서버(3)와 무선 통신 단말(301)을 통해 통신하며, 무선 통신 단말(301)을 통해 통신 서버(3)로부터 취득한 머신 지령에 따라 머신 본체(10)에 모션을 실현시킨다. 또한, 로컬 컨트롤러(300)는, 머신 본체(10)로부터 취득한 응답 정보를, 무선 통신 단말(301)을 통해 통신 서버(3)에 피드백한다. 무선 통신 단말(301)은, 로컬 컨트롤러(300)로부터의 지령에 따라, 무선 통신 기지국(201)과 무선 통신 네트워크(7)를 통해 통신한다.The
제5 세대 이동 통신 시스템(5G)의 실용화 등에 의해, 고속 무선 통신이 가능해졌기 때문, 무선 통신을 통한 머신 제어의 실현 가능성도 높아지고 있다. 머신 제어에 있어서는, 모션 프로그램의 실행에 의한 머신 지령의 생성과, 머신 지령에 따른 머신(4)의 제어를 소정의 컨트롤 사이클로 반복할 필요가 있다. 전술한 바와 같이 머신 지령이 무선 통신 네트워크(7)를 통해 송수신되는 경우, 무선 통신에 기인하여, 머신(4)측에서의 머신 지령의 수신 타이밍의 변동이 확대되어, 머신(4)측에서 머신 지령을 컨트롤 사이클로 수신하는 것이 곤란해질 가능성이 있다. 또한, 응답 정보가 무선 통신 네트워크(7)를 통해 송수신되는 경우, 무선 통신에 기인하여, 컨트롤러(100)측에서의 응답 정보의 수신 타이밍의 변동이 확대되어, 컨트롤러(100)측에서 응답 정보를 컨트롤 사이클로 수신하는 것이 곤란해질 가능성이 있다.Since high-speed wireless communication has become possible due to practical use of the fifth generation mobile communication system (5G), the realization possibility of machine control through wireless communication is also increasing. In machine control, it is necessary to repeat generation of machine commands by executing a motion program and control of the
이에 대하여, 머신 제어 시스템(1)은, 컨트롤러측(무선 통신 네트워크(7)의 컨트롤러(100)측)으로부터 무선 통신 네트워크(7)를 통해 송신된 머신 지령을, 그 사용 타이밍까지 머신측(무선 통신 네트워크(7)의 머신(4)측)에서 버퍼링하도록 구성되어 있어도 좋다. 이 경우, 컨트롤러측으로부터의 머신 지령의 송신을 앞당겨, 머신측에서의 머신 지령의 수신 타이밍부터 상기 머신 지령의 사용 타이밍까지의 기간에 여유를 갖게 할 수 있다. 이 여유에 의해, 무선 통신에 기인하여 확대된 수신 타이밍의 변동을 흡수하여, 버퍼한 머신 지령을 컨트롤 사이클에 동기한 타이밍에 사용할 수 있다.In contrast, the
또한, 머신 제어 시스템(1)은, 머신측으로부터 무선 통신 네트워크(7)를 통해 송신된 응답 정보를, 그 사용 타이밍까지 컨트롤러측에서 버퍼링하도록 구성되어 있어도 좋다. 이 경우, 머신측으로부터의 응답 정보의 송신을 앞당겨, 컨트롤러측에서의 응답 정보의 수신 타이밍으로부터 상기 응답 정보의 사용 타이밍까지의 기간에 여유를 갖게 할 수 있다. 이 여유에 의해, 무선 통신에 기인하여 확대된 수신 타이밍의 변동을 흡수하여, 버퍼한 응답 정보를 컨트롤 사이클에 동기한 타이밍에 사용할 수 있다.Further, the
이상과 같이, 머신 지령을 그 사용 타이밍까지 머신측에서 버퍼링하고, 응답 정보를 그 사용 타이밍까지 컨트롤러측에서 버퍼링하는 구성에 따르면, 응답 정보의 취득과, 응답 정보에 기초한 모션 프로그램의 실행에 의한 머신 지령의 생성과, 머신 지령에 따른 머신(4)의 제어를 컨트롤 사이클로 반복하는 것이 가능해진다.As described above, according to the configuration in which machine instructions are buffered on the machine side until the use timing and response information is buffered on the controller side until the use timing, the machine by acquiring response information and executing a motion program based on the response information. It becomes possible to repeat generation of the command and control of the
이하, 컨트롤러(100)와, 통신 컨트롤러(200)와, 로컬 컨트롤러(300)의 구성을 보다 상세하게 예시한다.Hereinafter, configurations of the
(컨트롤러)(controller)
컨트롤러(100)는, 대응하는 머신(4)(이하, 「관할 머신(4)」이라고 함)이 송신한 응답 정보를, 유선 통신 네트워크(8)를 통해 통신 서버(3)로부터 수신하는 것과, 수신한 응답 정보에 기초하여 모션 프로그램을 실행하여, 관할 머신(4)에 대한 머신 지령을 생성하는 것과, 머신 지령을, 유선 통신 네트워크(8)를 통해 통신 서버(3)에 송신하는 것을 실행하도록 구성되어 있다.The
예컨대 도 4에 나타내는 바와 같이, 컨트롤러(100)는, 기능상의 구성(이하, 「기능 블록」이라고 함)으로서, 프로그램 기억부(111)와, 수신 정보 기억부(112)와, 모션 모듈(113)과, 동기 통신부(114)와, 비동기 통신부(115)를 갖는다.For example, as shown in FIG. 4 , the
프로그램 기억부(111)는, 모션 프로그램을 기억한다. 모션 프로그램은, 시계열의 복수의 모션 지령을 포함한다. 모션 지령은, 예컨대 목표 위치·자세에의 변위 명령이다. 동작 명령은, 목표 위치·자세에의 도달 시각의 지정을 포함하고 있어도 좋고, 목표 위치·자세에의 변위 속도의 지정을 포함하고 있어도 좋다. 모션 지령은, 목표 속도로의 변위 명령이어도 좋다. 이 경우, 모션 지령은, 목표 속도로의 변위 기간의 지정을 포함하여도 좋다.The
수신 정보 기억부(112)는, 통신 서버(3)의 통신 컨트롤러(200)로부터의 수신 정보를 기억한다. 수신 정보는, 상기 응답 정보를 포함한다.The reception
모션 모듈(113)은, 컨트롤 사이클로 모션 프로그램을 실행하여, 관할 머신(4)에 대한 머신 지령을 생성한다. 예컨대 모션 모듈(113)은, 모션 프로그램을 실행하여, 관할 머신(4)에 대한 머신 지령을 생성하는 것을 컨트롤 사이클로 반복해서 실행한다. 모션 프로그램을 실행하는 것은, 관할 머신(4)의 모션을 모션 지령에 추종시키도록 머신 지령을 산출하는 것을 포함한다. 모션 모듈(113)은, 수신 정보 기억부(112)가 기억하는 응답 정보에 기초하여 모션 프로그램을 실행하여도 좋다. 예컨대 모션 모듈(113)은, 수신 정보 기억부(112)가 기억하는 응답 정보에 기초한 관할 머신(4)의 모션 실적을 산출하여, 모션 실적을 모션 지령에 추종시키도록 머신 지령을 산출한다. 머신 지령의 구체예로서는, 속도 지령 또는 구동력 지령(토크 지령을 포함함) 등을 들 수 있다.The
동기 통신부(114)는, 유선 통신 네트워크(8)를 통해, 머신 지령을 통신 컨트롤러(200)에 송신한다. 「동기 통신」은, 컨트롤 사이클에 동기한 정주기 통신을 의미한다. 동기 통신은, 컨트롤 사이클마다 실행하는 통신 및 소정수의 컨트롤 사이클마다 실행하는 통신을 포함한다. 후술하는 바와 같이, 동기 통신부(114)가 송신한 머신 지령은 관할 머신(4)의 로컬 컨트롤러(300)(이하, 「관할 로컬 컨트롤러(300)」라고 함)에 있어서 버퍼링되어, 컨트롤 사이클에 동기한 타이밍에 호출된다. 이 때문에, 동기 통신부(114)에 의한 머신 지령의 송신 자체는, 컨트롤 사이클에 동기하지 않아도 좋다.The
비동기 통신부(115)는, 다른 노드에 대한 비동기 통신 데이터를, 통신 컨트롤러(200)를 경유하지 않고 유선 통신 네트워크(8)를 통해 다른 노드에 송신한다. 「비동기 통신」은, 컨트롤 사이클과의 동기가 필수적이지 않은 통신을 의미하지만, 컨트롤 사이클에 동기하고 있어도 좋다. 다른 노드는, 다른 컨트롤러(100)여도 좋고, 복수의 컨트롤러(100)와는 별도의 노드여도 좋다. 별도의 노드의 구체예로서는, 애플리케이션 서버(6)를 들 수 있다(도 1 참조). 애플리케이션 서버(6)는, 유선 통신 네트워크(8)를 통해 컨트롤러 서버(2)에 접속된 컴퓨터이다. 애플리케이션 서버(6)는, 컨트롤러 서버(2)에 포함되고 있어도 좋고, 통신 서버(3)에 포함되어 있어도 좋다.The
애플리케이션 서버(6)는, 머신 지령, 응답 정보 등의 제어 정보를 복수의 컨트롤러(100)로부터 수집하여, 축적하는 데이터 수집 애플리케이션을 갖는다. 애플리케이션 서버(6)는, 데이터 수집 애플리케이션이 축적한 제어 정보에 기초하여, 복수의 머신(4)의 모션을 가상 공간상에서 시뮬레이션하는 시뮬레이터 애플리케이션을 더 가져도 좋다. 애플리케이션 서버(6)는, 데이터 수집 애플리케이션이 축적한 제어 정보에 기초한 기계 학습에 의해, 학습 완료 모델을 생성하는 학습 애플리케이션을 더 가져도 좋다. 학습 완료 모델의 구체예로서는, 제어 정보의 입력에 따라 머신(4)의 정상도를 출력하는 진단 모델 등을 들 수 있다. 애플리케이션 서버(6)는, 제어 정보와 학습 완료 모델에 기초하여, 상기 정상도 등의 출력 정보를 생성하고, 출력 정보를 컨트롤러(100)에 송신하는 분석 애플리케이션을 더 가져도 좋다. 비동기 통신부(115)는, 시뮬레이터 애플리케이션, 학습 애플리케이션, 분석 애플리케이션 등의 실행 결과를, 통신 컨트롤러(200)를 경유하지 않고 유선 통신 네트워크(8)를 통해 애플리케이션 서버(6)로부터 취득하여도 좋다.The
컨트롤러(100)는, 응답 정보를, 그 사용 타이밍까지 버퍼링하도록 구성되어 있어도 좋다. 예컨대 컨트롤러(100)는, 컨트롤러측 타이밍 조정부(116)를 더 갖는다. 컨트롤러측 타이밍 조정부(116)는, 관할 머신(4)으로부터 수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출한다. 제2 사이클 정보는, 응답 정보의 사용 타이밍(예컨대, 상기 응답 정보를 사용할 때의 컨트롤 사이클수. 이하, 「사용시 사이클수」라고 함)을 나타내는 정보이다. 제2 사이클 정보는, 사용시 사이클수 자체여도 좋고, 응답 정보가 취득된 타이밍에 있어서의 관할 로컬 컨트롤러(300)의 컨트롤 사이클수(이하, 「취득시 사이클수」라고 함)여도 좋다.The
제2 사이클 정보가 상기 사용시 사이클수인 경우, 컨트롤러측 타이밍 조정부(116)는, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 응답 정보를 호출한다. 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것은, 상기 컨트롤 사이클에 있어서 사용 가능한 타이밍에 상기 응답 정보를 호출하는 것을 의미한다. 이 때문에, 상기 컨트롤 사이클에 있어서 사용되도록, 상기 컨트롤 사이클에 앞서 상기 응답 정보를 호출하는 것도, 상기 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것에 포함된다. 제2 사이클 정보가 상기 취득시 사이클수인 경우, 컨트롤러측 타이밍 조정부(116)는, 제2 사이클 정보에 기초하여(예컨대 소정수를 가산하여) 사용시 사이클수를 산출하여, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 응답 정보를 호출한다.When the second cycle information is the number of cycles in use, the controller-side
컨트롤러측 타이밍 조정부(116)는, 호출한 응답 정보를 동기 통신부(114)에 출력하고, 동기 통신부(114)는 상기 응답 정보를 수신 정보 기억부(112)에 저장한다. 이에 의해, 컨트롤러(100)의 모션 모듈(113)은, 컨트롤러측 타이밍 조정부(116)가 호출한 응답 정보에 기초하여, 모션 프로그램을 실행하게 된다.The controller-side
컨트롤러(100)는, 상기 컨트롤 사이클을 생성하는 것과, 상기 컨트롤 사이클의 사이클 타이밍을 관할 머신(4)에 송신하는 것을 더 실행하도록 구성되어 있어도 좋다. 후술하는 바와 같이, 사이클 타이밍은, 컨트롤 사이클에 동기한 컨트롤 사이클을 관할 머신(4)에 있어서 생성하는 데 이용된다. 예컨대 컨트롤러(100)는, 컨트롤러측 시각 생성부(121)와, 컨트롤러측 사이클 생성부(122)와, 타이밍 송신부(123)와, 사이클 카운터(124)를 더 가져도 좋다.The
컨트롤러측 시각 생성부(121)는, 시각 서버(5)가 생성한 시각(이하, 「글로벌 시각」이라고 함)에 동기하여, 컨트롤러측 시각을 생성한다. 시각 서버(5)는, 유선 통신 네트워크(8)를 통해 컨트롤러 서버(2)에 접속된 컴퓨터이며, 글로벌 시각을 출력한다. 시각 서버(5)는, 컨트롤러 서버(2)에 포함되어 있어도 좋고, 통신 서버(3)에 포함되어 있어도 좋다. 예컨대 컨트롤러측 시각 생성부(121)는, 유선 통신 네트워크(8)를 통한 TSN(Time Sensitive Networking) 통신 등, 시각 동기성을 보증하는 통신에 의해 동기 통신부(114)가 시각 서버(5)로부터 수신한 글로벌 시각을 취득하고, 취득한 글로벌 시각에 동기하여 컨트롤러측 시각을 생성한다. 예컨대 컨트롤러측 시각 생성부(121)는, 타이머(195)(후술)가 카운트하는 시각을, 글로벌 시각에 맞춘다.The controller-
컨트롤러측 사이클 생성부(122)는, 컨트롤러측 시각에 기초하여, 컨트롤 사이클을 생성한다. 예컨대 컨트롤러측 사이클 생성부(122)는, 컨트롤러 시각에 기초하여, 컨트롤 사이클의 개시 타이밍을 셋트하고, 컨트롤러측 시각이 상기 개시 타이밍에 달한 시점부터, 컨트롤 사이클로 사이클 펄스를 반복 생성한다.The controller-side
타이밍 송신부(123)는, 컨트롤 사이클의 사이클 타이밍을, 통신 컨트롤러(200)를 통해 관할 로컬 컨트롤러(300)에 송신한다. 사이클 타이밍은, 컨트롤측 시각에서의 컨트롤 사이클의 위상을 나타내는 정보이다. 예컨대 사이클 타이밍은, 컨트롤러측 사이클 생성부(122)에 의한 사이클 펄스의 생성 타이밍이다. 타이밍 송신부(123)는, 컨트롤러측 사이클 생성부(122)가 컨트롤 사이클의 생성을 개시하는 데 앞서, 상기 개시 타이밍을 사이클 타이밍으로서 관할 로컬 컨트롤러(300)에 송신하여도 좋고, 컨트롤러측 사이클 생성부(122)가 컨트롤 사이클의 생성을 개시한 후에, 2번째 이후의 사이클 펄스의 생성 타이밍을 사이클 타이밍으로서 관할 로컬 컨트롤러(300)에 송신하여도 좋다. 타이밍 송신부(123)는, 사이클 타이밍을 마스터 타이밍으로서 다른 컨트롤러(100)에 송신하여도 좋다. 이 경우, 다른 컨트롤러(100)의 컨트롤러측 사이클 생성부(122)는, 유선 통신 네트워크(8)를 통해 마스터 타이밍을 취득하고, 취득한 마스터 타이밍과, 컨트롤러측 시각에 기초하여 컨트롤 사이클을 생성하여도 좋다. 예컨대 컨트롤러측 사이클 생성부(122)는, 취득한 마스터 타이밍에 기초하여 상기 개시 타이밍을 셋트하여도 좋다.The
타이밍 송신부(123)는, 관할 로컬 컨트롤러(300)의 머신측 타이밍 조정부(315)(후술)가 컨트롤 사이클의 생성에 실패한 경우, 앞서 송신한 사이클 타이밍보다 후의 사이클 타이밍을 관할 로컬 컨트롤러(300)에 재차 송신하여도 좋다. 예컨대 타이밍 송신부(123)는, 관할 로컬 컨트롤러(300)로부터의 셋트 완료 통지의 수신을 대기하여, 셋트 완료 통지를 수신하지 못한 채로 컨트롤러측 시각이 사이클 타이밍에 달한 경우에, 머신측 타이밍 조정부(315)가 컨트롤 사이클의 생성에 실패하였다고 판정한다. 셋트 완료 통지는, 관할 로컬 컨트롤러(300)에 있어서의 개시 타이밍의 셋트가 완료된 것의 통지이다.The
사이클 카운터(124)는, 컨트롤러측 사이클 생성부(122)가 생성한 컨트롤 사이클수(예컨대 상기 사이클 펄스의 수)를 카운트한다. 모션 모듈(113)은, 사이클 카운터(124)에 의해 카운트된 컨트롤 사이클수에 기초하여 모션 프로그램을 실행한다. 예컨대 모션 모듈(113)은, 컨트롤 사이클수가 카운트 업될 때마다, 실행 대상을 현재 실행 중인 모션 지령으로부터 다음 모션 지령으로 변경한다.The
컨트롤러(100)는, 컨트롤 사이클에 동기한 통신 사이클을 생성하도록 구성되어 있어도 좋다. 예컨대 컨트롤러(100)는, 통신 사이클 생성부(131)와, 사이클 카운터(132)를 더 가져도 좋다.The
통신 사이클 생성부(131)는, 컨트롤 사이클에 동기한 통신 사이클을 생성한다. 예컨대 통신 사이클 생성부(131)는, 컨트롤러측 시각과, 컨트롤 사이클의 사이클 타이밍에 기초하여 통신 사이클을 생성한다. 예컨대 통신 사이클 생성부(131)는, 사이클 타이밍에 기초하여, 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍을 셋트하고, 컨트롤러측 시각이 상기 개시 타이밍에 달한 시점부터, 통신 사이클로 사이클 펄스를 반복 생성한다. 또한, 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍은, 컨트롤 사이클의 개시 타이밍에 대하여 소정 기간(예컨대 컨트롤 사이클의 사이클 길이의 절반) 어긋난 개시 타이밍을 포함한다. 통신 사이클의 사이클 길이는, 컨트롤 사이클의 사이클 길이의 정수배(1배를 포함함)이다. 통신 사이클의 사이클 길이는, 컨트롤 사이클의 사이클 길이의 정수분의 1이어도 좋다.The
사이클 카운터(132)는, 통신 사이클 생성부(131)가 생성한 통신 사이클수(예컨대 상 기사이클 펄스의 수)를 카운트한다. 통신 사이클은, 컨트롤 사이클에 동기하여 생성되기 때문에, 통신 사이클수에 기초하여 컨트롤 사이클수를 검지하는 것이 가능하다. 그래서 컨트롤러측 타이밍 조정부(116)는, 컨트롤 사이클수가 사용시 사이클수가 되는 컨트롤 사이클에 있어서 응답 정보를 호출하는 것을, 통신 사이클수에 기초하여 행하여도 좋다.The
컨트롤러(100)는, 머신 지령에 대하여, 그 사용 타이밍을 나타내는 정보를 부가하도록 구성되어 있어도 좋다. 예컨대 컨트롤러(100)는, 부가부(125)를 더 가져도 좋다. 부가부(125)는, 머신 지령에 제1 사이클 정보를 부가한다. 제1 사이클 정보는, 관할 머신(4)에 있어서, 어느 머신측 컨트롤 사이클로 머신 지령을 호출할지를 지정하는 정보이다. 제1 사이클 정보가 부가된 머신 지령을 수신한 관할 로컬 컨트롤러(300)는, 제1 사이클 정보에 기초하여 상기 사용 타이밍(예컨대, 상기 머신 지령을 사용할 때의 컨트롤 사이클수. 이하, 「사용시 사이클수」라고 함)을 검지하고, 상기 사용 타이밍까지 상기 머신 지령을 버퍼링한다. 예컨대 부가부(125)는, 현재의 컨트롤 사이클수에 기초하여 사용시 사이클수를 산출하고, 사용시 사이클수 자체를 제1 사이클 정보로서 머신 지령에 부가한다. 일례로서, 부가부(125)는 현재의 사이클수에 소정수를 가산하여 사용시 사이클수를 산출한다. 부가부(125)는, 현재의 컨트롤 사이클수를 제1 사이클 정보로서 머신 지령에 부가하여도 좋다. 이 경우, 관할 머신(4)이 제1 사이클 정보에 기초하여(예컨대 소정수를 가산하여) 사용시 사이클수를 산출한다.The
컨트롤러(100)는, 머신 지령에 포함되는 제1 사이클 정보에 기초하여 상기 머신 지령의 송신 지연을 검출하도록 구성되어 있어도 좋다. 또한, 컨트롤러(100)는, 응답 정보에 포함되는 제2 사이클 정보에 기초하여 상기 응답 정보의 수신 지연을 검출하도록 구성되어 있어도 좋다. 예컨대 컨트롤러(100)는, 사이클 체크부(133)를 더 가져도 좋다.The
사이클 체크부(133)는, 머신 지령에 포함되는 제1 사이클 정보에 기초하여, 상기 머신 지령의 송신 지연을 검출한다. 머신 지령의 송신 지연은, 로컬 컨트롤러(300)에 의한 머신 지령의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(133)는, 동기 통신부(114)가 머신 지령을 송신할 때에, 현재의 컨트롤 사이클수가, 상기 머신 지령의 상기 사용시 사이클수 이상으로 되어있는 경우에 머신 지령의 송신 지연을 검출한다.The
사이클 체크부(133)는, 응답 정보에 포함되는 제2 사이클 정보에 기초하여, 상기 응답 정보의 수신 지연을 검출하여도 좋다. 응답 정보의 수신 지연은, 컨트롤러측 타이밍 조정부(116)에 의한 응답 정보의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(133)는, 관할 머신(4)으로부터 응답 정보를 수신한 후에, 현재의 컨트롤 사이클수가, 상기 응답 정보의 상기 사용시 사이클수 이상으로 되어 있는 경우에 응답 정보의 수신 지연을 검출한다.The
전술한 바와 같이, 통신 사이클은, 컨트롤 사이클에 동기하여 생성되기 때문에, 통신 사이클수에 기초하여 컨트롤 사이클수를 검지하는 것이 가능하다. 그래서 사이클 체크부(133)는, 머신 지령의 송신 지연을 제1 사이클 정보와 통신 사이클수에 기초하여 검출하고, 응답 정보의 수신 지연을 제2 사이클 정보와 통신 사이클수에 기초하여 검출하여도 좋다.As described above, since the communication cycle is generated synchronously with the control cycle, it is possible to detect the number of control cycles based on the number of communication cycles. Therefore, the
사이클 체크부(133)는, 머신 지령의 송신 지연을 검출한 경우에, 상기 머신 지령의 송신을 캔슬하여도 좋다. 예컨대 컨트롤러측 타이밍 조정부(116)는, 머신 지령의 송신 지연을 검출한 경우에, 통신 컨트롤러(200)에의 상기 머신 지령의 송신에 앞서, 상기 머신 지령을 파기한다. 사이클 체크부(133)는, 응답 정보의 수신 지연을 검출한 경우에, 상기 응답 정보를 파기하여도 좋다.The
동기 통신부(114)는, 유선 통신 네트워크(8)를 통해, 복수의 컨트롤러(100)에 있어서의 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 동기 통신 데이터를 송신하여도 좋다. 동기 통신 데이터의 구체예로서는, 관할 머신(4)의 모션과, 다른 컨트롤러(100)가 대응하는 머신(4)(이하, 「다른 머신(4)」이라고 함)의 모션을 협조시키기 위해 이용되는 관할 머신(4)의 스테이터스 정보(예컨대 관할 머신(4)에의 머신 지령 또는 관할 머신(4)으로부터의 응답 정보)를 들 수 있다.The
동기 통신부(114)가, 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 동기 통신 데이터를 송신하는 경우, 부가부(125)는, 동기 통신 데이터에 제1 사이클 정보를 부가하여도 좋다.When the
제1 사이클 정보가 부가된 동기 통신 데이터를 수신한 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)는, 제1 사이클 정보에 기초하여 상기 동기 통신 데이터의 사용 타이밍(예컨대, 상기 동기 통신 데이터를 사용할 때의 컨트롤 사이클수. 이하, 「사용시 사이클수」라고 함)을 검지하고, 상기 사용 타이밍까지 상기 동기 통신 데이터를 버퍼링한다. 예컨대 부가부(125)는, 현재의 컨트롤 사이클수에 기초하여 사용시 사이클수를 산출하고, 사용시 사이클수 자체를 제1 사이클 정보로서 동기 통신 데이터에 부가한다. 일례로서, 부가부(125)는 현재의 사이클수에 소정수를 가산하여 사용시 사이클수를 산출한다. 부가부(125)는, 현재의 컨트롤 사이클수(이하, 「부가시 사이클수」라고 함)를 제1 사이클 정보로서 동기 통신 데이터에 부가하여도 좋다.Upon receiving the synchronous communication data to which the first cycle information is added, the controller-side
다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)는, 동기 통신 데이터를 기억하여, 상기 동기 통신 데이터에 부가된 제1 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 동기 통신 데이터를 호출한다. 제1 사이클 정보가 상기 사용시 사이클수인 경우, 컨트롤러측 타이밍 조정부(213)는, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 동기 통신 데이터를 호출한다. 제1 사이클 정보가 상기 부가시 사이클수인 경우, 컨트롤러측 타이밍 조정부(213)는, 제1 사이클 정보에 기초하여(예컨대 소정수를 가산하여) 사용시 사이클수를 산출하고, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 동기 통신 데이터를 호출한다.The controller-side
컨트롤러측 타이밍 조정부(116)는, 호출한 동기 통신 데이터를 동기 통신부(114)에 출력하고, 동기 통신부(114)는 상기 동기 통신 데이터를 수신 정보 기억부(112)에 저장한다. 이에 의해, 다른 컨트롤러(100)의 모션 모듈(113)은, 컨트롤러측 타이밍 조정부(116)가 호출한 응답 정보에 기초하여, 모션 프로그램을 실행하게 된다.The controller-side
이와 같이, 동기 통신 데이터는, 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 있어서 버퍼링되어, 컨트롤 사이클에 동기한 타이밍에 호출된다. 이 때문에, 동기 통신부(114)에 의한 동기 통신 데이터의 송신 자체는, 컨트롤 사이클에 동기하지 않아도 좋다.In this way, synchronous communication data is buffered in the controller-side
동기 통신부(114)가 송신하는 데이터가, 다른 컨트롤러(100) 앞의 동기 통신 데이터를 포함하는 경우, 사이클 체크부(133)는, 동기 통신 데이터에 포함되는 제1 사이클 정보에 기초하여, 상기 동기 통신 데이터의 송신 지연을 검출하여도 좋다. 동기 통신 데이터의 송신 지연은, 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 의한 동기 통신 데이터의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(133)는, 동기 통신부(114)가 동기 통신 데이터를 송신할 때에, 현재의 통신 사이클수에 대응하는 컨트롤 사이클수가, 상기 동기 통신 데이터의 상기 사용시 사이클수 이상으로 되어 있는 경우에 동기 통신 데이터의 송신 지연을 검출한다. 사이클 체크부(133)는, 동기 통신 데이터의 송신 지연을 검출한 경우에, 상기 동기 통신 데이터의 송신을 캔슬하여도 좋다.When the data transmitted by the
다른 컨트롤러(100)의 사이클 체크부(133)가, 동기 통신 데이터에 포함되는 제1 사이클 정보에 기초하여, 상기 동기 통신 데이터의 수신 지연을 검출하여도 좋다. 동기 통신 데이터의 수신 지연은, 컨트롤러측 타이밍 조정부(116)에 의한 동기 통신 데이터의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(133)는, 컨트롤러측 타이밍 조정부(116) 앞의 동기 통신 데이터를 수신하였을 때에, 현재의 컨트롤 사이클수가, 상기 동기 통신 데이터의 상기 사용시 사이클수 이상으로 되어 있는 경우에 동기 통신 데이터의 수신 지연을 검출한다. 사이클 체크부(133)는, 동기 통신 데이터의 수신 지연을 검출한 경우에, 상기 동기 통신 데이터를 파기하여도 좋다.The
컨트롤러(100)는, 동기 통신부(114)가 송신하는 데이터가 관할 머신(4) 앞인지 다른 컨트롤러(100) 앞인지에 기초하여, 상기 데이터의 송신처를 전환하도록 구성되어 있어도 좋다. 예컨대 컨트롤러(100)는, 스위치(134)를 갖는다.The
스위치(134)는, 동기 통신부(114)가 송신하는 데이터가 관할 머신(4) 앞이면, 통신 서버(3)를 통해 관할 로컬 컨트롤러(300)에 상기 데이터를 송신하고, 상기 데이터가 다른 컨트롤러(100) 앞이면, 유선 통신 네트워크(8)를 통해, 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 상기 데이터를 송신한다.The
(로컬 컨트롤러)(local controller)
로컬 컨트롤러(300)는, 통신 서버(3)를 통해 머신 지령을 수신하는 것과, 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키는 것을 실행하도록 구성되어 있다. 예컨대 도 5에 나타내는 바와 같이, 로컬 컨트롤러(300)는, 기능 블록으로서, 단말 통신부(314)와, 머신측 타이밍 조정부(315)와, 지령 기억부(311)와, 머신 제어부(313)와, 응답 정보 기억부(312)를 갖는다.The
단말 통신부(314)는, 무선 통신 네트워크(7)를 통해, 통신 서버(3)로부터 머신 지령을 수신한다. 지령 기억부(311)는, 단말 통신부(314)가 수신한 머신 지령을 기억한다. 머신 제어부(313)는, 지령 기억부(311)가 기억하는 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키고, 머신 본체(10)가 실현한 모션에 기초한 응답 정보를 취득하여 응답 정보 기억부(312)에 저장한다.The
예컨대 머신 제어부(313)는, 머신 본체(10)의 동작을 머신 지령에 추종시킨다. 예컨대 머신 제어부(313)는, 지령 기억부(311)가 기억하는 머신 지령과, 응답 정보 기억부(312)가 기억하는 과거의 응답 정보의 편차를 축소하도록 머신 본체(10)를 구동하고, 이에 따른 머신 본체(10)의 응답 정보를 취득하여 응답 정보 기억부(312)에 저장하는 것을 머신측 컨트롤 사이클로 반복해서 실행한다. 예컨대, 머신측 컨트롤 사이클은, 상기 컨트롤 사이클과 사이클 길이가 동일한 사이클이다. 일례로서, 머신 지령이 속도 지령인 경우, 머신 제어부(313)는, 응답 정보 기억부(312)가 기억하는 응답 정보가 나타내는 동작 속도를 속도 지령에 추종시키도록 머신 본체(10)를 구동한다. 머신 지령이 구동력 지령인 경우, 머신 제어부(313)는, 응답 정보 기억부(312)가 기억하는 응답 정보가 나타내는 구동력을 구동력 지령에 추종시키도록 머신 본체(10)를 구동한다.For example, the
머신 제어부(313)는, 머신측 컨트롤 사이클보다 짧은 사이클 길이의 머신 사이클로 머신 본체(10)를 제어하여도 좋다. 각 머신 사이클에 있어서, 머신 제어부(313)는, 머신 지령과, 응답 정보 기억부(312)가 기억하는 과거의 응답 정보의 편차를 축소하도록 머신 본체(10)를 구동하고, 이에 따른 머신 본체(10)의 응답 정보를 취득하여 응답 정보 기억부(312)에 저장한다. 머신 사이클의 사이클 길이는, 예컨대 머신측 컨트롤 사이클의 사이클 길이의 정수분의 1이다.The
예컨대 머신 제어부(313)는, 중간 컨트롤러(331)와, 서보(332)를 갖는다. 중간 컨트롤러(331)는, 머신 지령과, 응답 정보 기억부(312)가 기억하는 과거의 응답 정보의 편차를 축소하도록, 머신 본체(10)의 각 액츄에이터에 대한 구동 데이터(예컨대 위치 지령, 속도 지령, 또는 구동력 지령)를 머신 사이클로 생성한다. 서보(332)는, 구동 데이터에 기초하여, 머신 본체(10)의 각 액츄에이터에 구동 전력을 출력한다. 서보(332)는, 머신 사이클보다 짧은 사이클 길이의 서보 사이클로 구동 데이터에 기초한 구동 전력을 출력하여도 좋다. 또한, 머신 제어부(313)는, 중간 컨트롤러(331)와 서보(332) 중 적어도 한쪽을 갖고 있으면 좋다. 머신 제어부(313)가 서보(332)를 갖지 않는 경우, 머신 제어부(313)는, 상기 구동 데이터를 머신 본체(10)에 출력하고, 머신 본체(10)가, 구동 데이터에 기초하여 각 액츄에이터의 구동전력을 생성한다. 또한, 머신 제어부(313)가 중간 컨트롤러(331)를 갖지 않는 경우, 컨트롤러(100)가 상기 구동 데이터를 머신 지령으로서 생성하여, 관할 머신(4)에 송신한다.For example, the
예컨대 머신 본체(10)가 상기 이동 로봇(20) 또는 정치 로봇(30)인 경우, 중간 컨트롤러(331)는, 선단부(36)의 목표 위치·목표 자세 및 목표 속도 등을 포함하는 머신 지령을 취득하여, 역운동학 연산에 의해, 액츄에이터(41, 42, 43, 44, 45, 46)의 위치 지령 및 속도 지령을 포함하는 구동 데이터를 생성하여도 좋다. 중간 컨트롤러(331)는, 액츄에이터(41, 42, 43, 44, 45, 46)의 목표 위치 및 목표 속도를 포함하는 머신 지령을 취득하고, 중간 컨트롤러는 액츄에이터(41, 42, 43, 44, 45, 46)의 구동력 지령을 포함하는 구동 데이터를 생성하여도 좋다. 또한, 중간 컨트롤러(331)는, 시계열로 배열되는 복수의 머신 지령에 기초하여 구동 데이터를 생성하여도 좋다.For example, when the
단말 통신부(314)는, 머신측 컨트롤 사이클마다, 응답 정보 기억부(312)가 기억하는 응답 정보를, 무선 통신 네트워크(7)를 통해 통신 서버(3)에 송신한다.The
로컬 컨트롤러(300)는, 머신 지령을, 그 사용 타이밍까지 버퍼링하도록 구성되어 있어도 좋다. 예컨대 로컬 컨트롤러(300)는, 머신측 타이밍 조정부(315)를 더 갖는다.The
머신측 타이밍 조정부(315)는, 단말 통신부(314)가 수신한 머신 지령을 기억하여, 상기 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출한다. 제1 사이클 정보가, 상기 사용시 사이클수인 경우, 머신측 타이밍 조정부(315)는, 컨트롤 사이클수가 사용시 사이클수가 되는 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출한다. 컨트롤 사이클수가 상기 사용시 사이클수가 되는 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출하는 것은, 상기 머신측 컨트롤 사이클에 있어서 사용 가능한 타이밍에 상기 머신 지령을 호출하는 것을 의미한다. 이 때문에, 상기 머신측 컨트롤 사이클에 있어서 사용되도록, 상기 머신측 컨트롤 사이클에 앞서 상기 머신 지령을 호출하는 것도, 상기 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출하는 것에 포함된다. 제1 사이클 정보가 상기 부가시 사이클수인 경우, 머신측 타이밍 조정부(315)는, 제1 사이클 정보에 기초하여(예컨대 소정수를 가산하여) 사용시 사이클수를 산출하고, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출한다.The machine-side
머신측 타이밍 조정부(315)는, 호출한 머신 지령을 지령 기억부(311)에 저장한다. 이에 의해, 머신 제어부(313)에 의한 머신 본체(10)의 제어는, 머신측 타이밍 조정부(315)가 호출한 머신 지령에 기초하여 행해지게 된다.The machine-side
로컬 컨트롤러(300)는, 대응하는 컨트롤러(100)에 있어서의 컨트롤 사이클에 동기한 머신측 컨트롤 사이클을 생성하도록 구성되어 있어도 좋다. 예컨대 로컬 컨트롤러(300)는, 머신측 시각 생성부(321)와, 머신측 사이클 생성부(322)와, 사이클 카운터(323)를 더 가져도 좋다.The
머신측 시각 생성부(321)는, 상기 글로벌 시각에 동기하여 머신측 시각을 생성한다. 예컨대 머신측 시각 생성부(321)는, 무선 통신 네트워크(7)를 통한 TSN 통신 등, 시각 동기성을 보증하는 통신에 의해 단말 통신부(314)가 통신 서버(3)로부터 수신한 글로벌 시각을 취득하고, 취득한 글로벌 시각에 동기하여 머신측 시각을 생성한다. 머신측 시각 생성부(321)는, 유선 통신 네트워크(8)를 통해 시각 서버(5) 또는 대응하는 컨트롤러(100)로부터 글로벌 시각을 취득하여도 좋다. 예컨대 머신측 시각 생성부(321)는, 타이머(395)(후술)가 카운트하는 시각을, 글로벌 시각에 맞춘다.The machine-
머신측 사이클 생성부(322)는, 무선 통신 네트워크(7)를 통해 단말 통신부(314)가 통신 서버(3)로부터 수신한 사이클 타이밍을 취득하고, 취득한 사이클 타이밍에 기초하여, 대응하는 컨트롤러(100)에 있어서의 컨트롤 사이클에 동기한 머신측 컨트롤 사이클을 생성한다. 예컨대 머신측 사이클 생성부(322)는, 머신측 시각과, 사이클 타이밍에 기초하여 머신측 컨트롤 사이클을 생성한다. 예컨대 머신측 사이클 생성부(322)는, 사이클 타이밍에 기초하여, 대응하는 컨트롤러(100)에 있어서의 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍을 셋트하여, 머신측 시각이 상기 개시 타이밍에 달한 시점부터, 머신측 컨트롤 사이클로 사이클 펄스를 반복 생성한다. 머신측 사이클 생성부(322)는, 개시 타이밍의 셋트가 완료된 시점에, 셋트 완료 통지를 컨트롤러(100)에 송신하여도 좋다. 머신측 사이클 생성부(322)가 생성하는 머신측 컨트롤 사이클의 사이클 길이는, 컨트롤러(100)에 있어서의 컨트롤 사이클의 사이클 길이와 동일하다.The machine-side
사이클 카운터(323)는, 머신측 사이클 생성부(322)가 생성한 컨트롤 사이클수(예컨대 상기 사이클 펄스의 수)를 카운트한다.The
로컬 컨트롤러(300)는, 단말 통신부(314)가 통신 서버(3)에 송신하는 응답 정보에 대하여, 그 사용 타이밍을 나타내는 정보를 부가하도록 구성되어 있어도 좋다. 예컨대 로컬 컨트롤러(300)는, 부가부(324)를 더 가져도 좋다. 부가부(324)는, 응답 정보에 상기 제2 사이클 정보를 부가한다. 전술한 바와 같이, 단말 통신부(314)가 송신한 응답 정보는 대응하는 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 있어서 버퍼링되어, 컨트롤 사이클에 동기한 타이밍에 호출된다. 이 때문에, 단말 통신부(314)에 의한 응답 정보의 송신 자체는, 컨트롤 사이클에 동기하지 않아도 좋다.The
로컬 컨트롤러(300)는, 머신측 컨트롤 사이클에 동기한 머신 사이클를 생성하도록 구성되어 있어도 좋다. 예컨대 로컬 컨트롤러(300)는, 로컬 사이클 생성부(325)와, 사이클 카운터(326)를 더 갖는다.The
로컬 사이클 생성부(325)는, 머신측 시각과, 사이클 타이밍에 기초하여 머신 사이클을 생성한다. 예컨대 로컬 사이클 생성부(325)는, 사이클 타이밍에 기초하여, 대응하는 컨트롤러(100)에 있어서의 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍을 셋트하고, 머신측 시각이 상기 개시 타이밍에 달한 시점부터, 머신 사이클로 사이클 펄스를 반복 생성한다.The
사이클 카운터(326)는, 로컬 사이클 생성부(325)가 생성한 머신 사이클수(예컨대 상기 사이클 펄스의 수)를 카운트한다.The
(통신 컨트롤러)(communication controller)
컨트롤러측 타이밍 조정부(116), 통신 사이클 생성부(131), 사이클 카운터(132), 사이클 체크부(133) 및 스위치(134)는, 적어도 컨트롤러(100)와 통신 컨트롤러(200) 사이(컨트롤러(100) 내 및 통신 컨트롤러(200) 내를 포함함)에 마련되어 있으면 좋고, 반드시 컨트롤러(100)에 마련되어 있지 않아도 좋다. 이하, 컨트롤러측 타이밍 조정부, 통신 사이클 생성부, 사이클 카운터, 사이클 체크부 및 스위치가 통신 컨트롤러(200)에 마련되는 경우의 구성을 예시한다. 이 경우, 컨트롤러(100)는, 도 6에 나타내는 바와 같이, 컨트롤러측 타이밍 조정부(116), 통신 사이클 생성부(131), 사이클 카운터(132), 사이클 체크부(133) 및 스위치(134)를 갖지 않아도 좋다. 도 7에 나타내는 바와 같이, 통신 컨트롤러(200)는, 기능 블록으로서, 컨트롤러측 통신부(211)와, 머신측 통신부(212)와, 컨트롤러측 타이밍 조정부(213)를 갖는다.The controller-side
컨트롤러측 통신부(211)는, 복수의 컨트롤러(100)의 각각으로부터, 유선 통신 네트워크(8)를 통해 머신 지령 또는 동기 통신 데이터를 수신하여, 컨트롤러(100)의 각각에 대하여, 유선 통신 네트워크(8)를 통해 응답 정보 또는 동기 통신 데이터를 송신한다.The controller-
머신측 통신부(212)는, 복수의 로컬 컨트롤러(300)의 각각에 대하여, 무선 통신 네트워크(7)를 통해 머신 지령을 송신하고, 복수의 로컬 컨트롤러(300)의 각각으로부터, 무선 통신 네트워크(7)를 통해 응답 정보를 취득한다.The machine-
컨트롤러측 타이밍 조정부(213)는, 머신측 통신부(212)가 취득한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출한다. 제2 사이클 정보가 상기 사용시 사이클수인 경우, 컨트롤러측 타이밍 조정부(213)는, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 응답 정보를 호출한다. 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것은, 상기 컨트롤 사이클에 있어서 사용 가능한 타이밍에 상기 응답 정보를 호출하는 것을 의미한다. 이 때문에, 상기 컨트롤 사이클에 있어서 사용되도록, 상기 컨트롤 사이클에 앞서 상기 응답 정보를 호출하는 것도, 상기 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것에 포함된다. 제2 사이클 정보가 상기 취득시 사이클수인 경우, 컨트롤러측 타이밍 조정부(213)는, 제2 사이클 정보에 기초하여(예컨대 소정수를 가산하여) 사용시 사이클수를 산출하고, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 응답 정보를 호출한다.The controller-side
컨트롤러측 통신부(211)는, 컨트롤러측 타이밍 조정부(213)가 호출한 응답 정보를, 대응하는 컨트롤러(100)에 대하여, 유선 통신 네트워크(8)를 통해 송신한다. 대응하는 컨트롤러(100)의 동기 통신부(114)는, 수신한 응답 정보를 수신 정보 기억부(112)에 저장한다. 이에 의해, 대응하는 컨트롤러(100)의 모션 모듈(113)은, 컨트롤러측 타이밍 조정부(213)가 호출한 응답 정보에 기초하여, 모션 프로그램을 실행하게 된다.The controller-
통신 컨트롤러(200)는, 복수의 컨트롤러(100) 중 적어도 어느 하나의 컨트롤 사이클에 동기한 통신 사이클을 생성하도록 구성되어 있어도 좋다. 예컨대 통신 컨트롤러(200)는, 시각 생성부(221)와, 통신 사이클 생성부(222)와, 사이클 카운터(223)를 더 가져도 좋다.The
시각 생성부(221)는, 상기 글로벌 시각에 동기하여 통신 서버 시각을 생성한다. 예컨대 시각 생성부(221)는, 유선 통신 네트워크(8)를 통한 TSN 통신 등, 시각 동기성을 보증하는 통신에 의해 컨트롤러측 통신부(211)가 시각 서버(5)로부터 수신한 글로벌 시각을 취득하고, 취득한 글로벌 시각에 동기하여 통신 서버 시각을 생성한다. 예컨대 컨트롤러측 시각 생성부(121)는, 타이머(296)(후술)가 카운트하는 시각을, 글로벌 시각에 맞춘다. 시각 서버(5)가 통신 서버(3)에 포함되는 경우, 시각 생성부(221)는, 글로벌 시각 자체를 통신 서버 시각으로 한다.The
통신 사이클 생성부(222)는, 복수의 컨트롤러(100) 중 적어도 어느 하나의 컨트롤 사이클에 동기한 통신 사이클을 생성한다. 예컨대 통신 사이클 생성부(222)는, 통신 서버 시각과, 복수의 컨트롤러(100) 중 적어도 어느 하나가 관할 로컬 컨트롤러(300)에 송신한 사이클 타이밍에 기초하여 통신 사이클을 생성한다. 예컨대 통신 사이클 생성부(222)는, 사이클 타이밍에 기초하여, 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍을 셋트하고, 통신 서버 시각이 사익 개시 타이밍에 달한 시점부터, 통신 사이클로 사이클 펄스를 반복 생성한다. 또한, 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍은, 컨트롤 사이클의 개시 타이밍에 대하여 소정 기간(예컨대 컨트롤 사이클의 사이클 길이의 절반) 어긋난 개시 타이밍을 포함한다.The
통신 사이클 생성부(222)는, 개시 타이밍의 셋트가 완료된 시점에, 셋트 완료 통지를 컨트롤러(100)에 송신하여도 좋다. 통신 사이클의 사이클 길이는, 컨트롤 사이클의 사이클 길이의 정수배(1배를 포함함)이다. 통신 사이클의 사이클 길이는, 컨트롤 사이클의 사이클 길이의 정수분의 1이어도 좋다.The communication
사이클 카운터(223)는, 통신 사이클 생성부(222)가 생성한 통신 사이클수(예컨대 상기 사이클 펄스의 수)를 카운트한다. 통신 사이클은, 컨트롤 사이클에 동기하여 생성되기 때문에, 통신 사이클수에 기초하여 컨트롤 사이클수를 검지하는 것이 가능하다. 그래서 컨트롤러측 타이밍 조정부(213)는, 컨트롤 사이클수가 사용시 사이클수가 되는 컨트롤 사이클에 있어서 응답 정보를 호출하는 것을, 통신 사이클수에 기초하여 행하여도 좋다.The
통신 컨트롤러(200)는, 상기 마스터 타이밍을 생성하도록 구성되어 있어도 좋다. 예컨대 통신 컨트롤러(200)는 타이밍 마스터(224)를 가져도 좋다. 타이밍 마스터(224)는, 통신 서버 시각에 기초하여 마스터 타이밍을 생성한다. 타이밍 마스터(224)는, 생성한 마스터 타이밍을, 유선 통신 네트워크(8)를 통해 복수의 컨트롤러(100) 중 적어도 하나에 송신한다.The
통신 컨트롤러(200)가 타이밍 마스터(224)를 갖고, 복수의 컨트롤러(100) 중 적어도 하나가 마스터 타이밍에 기초하여 컨트롤 사이클을 생성하는 경우, 통신 사이클 생성부(222)는, 통신 서버 시각과, 마스터 타이밍에 기초하여 통신 사이클을 생성한다. 예컨대 통신 사이클 생성부(222)는, 마스터 타이밍에 기초하여 상기 개시 타이밍을 셋트하여도 좋다. 복수의 컨트롤러(100) 중 적어도 하나에 있어서의 컨트롤 사이클의 생성과, 통신 컨트롤러(200)에 있어서의 통신 사이클의 생성이, 동일한 마스터 타이밍에 기초하여 행해짐으로써, 통신 사이클이 상기 컨트롤 사이클에 동기한다.When the
통신 컨트롤러(200)는, 머신 지령에 포함되는 제1 사이클 정보에 기초하여 상기 머신 지령의 송신 지연을 검출하도록 구성되어 있어도 좋다. 또한, 통신 컨트롤러(200)는, 응답 정보에 포함되는 제2 사이클 정보에 기초하여 상기 응답 정보의 수신 지연을 검출하도록 구성되어 있어도 좋다. 예컨대 통신 컨트롤러(200)는, 사이클 체크부(225)를 더 가져도 좋다.The
사이클 체크부(225)는, 머신 지령에 포함되는 제1 사이클 정보에 기초하여, 상기 머신 지령의 송신 지연을 검출한다. 머신 지령의 송신 지연은, 로컬 컨트롤러(300)에 의한 머신 지령의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(225)는, 머신측 통신부(212)가 로컬 컨트롤러(300)에 머신 지령을 송신하기 전에, 현재의 통신 사이클수에 대응하는 컨트롤 사이클수가, 상기 머신 지령의 상기 사용시 사이클수 이상으로 되어 있는 경우에 머신 지령의 송신 지연을 검출한다.The
사이클 체크부(225)는, 응답 정보에 포함되는 제2 사이클 정보에 기초하여, 상기 응답 정보의 수신 지연을 검출하여도 좋다. 응답 정보의 수신 지연은, 컨트롤러측 타이밍 조정부(213)에 의한 응답 정보의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(225)는, 머신측 통신부(212)가 머신(4)으로부터 응답 정보를 수신한 후에, 현재의 통신 사이클수에 대응하는 컨트롤 사이클수가, 상기 응답 정보의 상기 사용시 사이클수 이상으로 되어 있는 경우에 응답 정보의 수신 지연을 검출한다.The
전술한 바와 같이, 통신 사이클은, 컨트롤 사이클에 동기하여 생성되기 때문에, 통신 사이클수에 기초하여 컨트롤 사이클수를 검지하는 것이 가능하다. 그래서 사이클 체크부(225)는, 머신 지령의 송신 지연을 제1 사이클 정보와 통신 사이클수에 기초하여 검출하고, 응답 정보의 수신 지연을 제2 사이클 정보와 통신 사이클수에 기초하여 검출하여도 좋다.As described above, since the communication cycle is generated synchronously with the control cycle, it is possible to detect the number of control cycles based on the number of communication cycles. Therefore, the
사이클 체크부(225)는, 머신 지령의 송신 지연을 검출한 경우에, 머신측 통신부(212)에 의한 상기 머신 지령의 송신을 캔슬하여도 좋다. 예컨대 사이클 체크부(225)는, 머신 지령의 송신 지연을 검출한 경우에, 머신측 통신부(212)에 의한 상기 머신 지령의 송신에 앞서, 상기 머신 지령을 파기한다. 사이클 체크부(225)는, 응답 정보의 수신 지연을 검출한 경우에, 상기 응답 정보를 파기하여도 좋다.The
통신 컨트롤러(200)는, 컨트롤러(100)로부터 수신한 데이터가 관할 머신(4) 앞인지 다른 컨트롤러(100) 앞인지에 기초하여, 상기 데이터의 송신처를 전환하도록 구성되어 있어도 좋다. 이 경우, 컨트롤러(100)는, 통신 컨트롤러(200)에 송신하는 데이터에 그 수신처를 부가하도록 구성되어 있어도 좋다. 예컨대 통신 컨트롤러(200)는, 스위치(226)를 갖는다.The
스위치(226)는, 컨트롤러측 통신부(211)가 하나의 컨트롤러(100)로부터 수신한 데이터가 관할 머신(4) 앞이면, 머신측 통신부(212)에 의해 무선 통신 네트워크(7)를 통해 관할 로컬 컨트롤러(300)에 상기 데이터를 송신시키고, 상기 데이터가 다른 컨트롤러(100) 앞이면, 컨트롤러측 통신부(211)에 의해 유선 통신 네트워크(8)를 통해, 상기 다른 컨트롤러(100)에 상기 데이터를 송신시킨다.The
스위치(226)가, 컨트롤러측 통신부(211)에 의해 다른 컨트롤러(100)에 동기 통신 데이터를 송신시키는 경우, 컨트롤러측 타이밍 조정부(213)는, 동기 통신 데이터를 기억하여, 상기 동기 통신 데이터에 부가된 제1 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 동기 통신 데이터를 호출한다. 제1 사이클 정보가 상기 사용시 사이클수인 경우, 컨트롤러측 타이밍 조정부(213)는, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 동기 통신 데이터를 호출한다. 제1 사이클 정보가 상기 부가시 사이클수인 경우, 컨트롤러측 타이밍 조정부(213)는, 제1 사이클 정보에 기초하여(예컨대 소정수를 가산하여) 사용시 사이클수를 산출하고, 컨트롤 사이클수가 상기 사용시 사이클수가 되는 컨트롤 사이클에 있어서 상기 동기 통신 데이터를 호출한다.When the
컨트롤러측 통신부(211)는, 컨트롤러측 타이밍 조정부(213)가 호출한 동기 통신 데이터를, 그 수신처인 다른 컨트롤러(100)에 대하여, 유선 통신 네트워크(8)를 통해 송신한다. 다른 컨트롤러(100)의 동기 통신부(114)는, 수신한 동기 통신 데이터를 수신 정보 기억부(112)에 저장한다. 이에 의해, 다른 컨트롤러(100)의 모션 모듈(113)은, 컨트롤러측 타이밍 조정부(213)가 호출한 동기 통신 데이터에 기초하여, 모션 프로그램을 실행하게 된다.The controller-
컨트롤러측 통신부(211)가 컨트롤러(100)로부터 수신하는 데이터가, 다른 컨트롤러(100) 앞의 동기 통신 데이터를 포함하는 경우, 사이클 체크부(225)는, 동기 통신 데이터에 포함되는 제1 사이클 정보에 기초하여, 상기 동기 통신 데이터의 수신 지연을 검출하여도 좋다. 동기 통신 데이터의 수신 지연은, 컨트롤러측 타이밍 조정부(213)에 의한 동기 통신 데이터의 호출에 맞추지 못한 레벨의 지연을 의미한다. 예컨대 사이클 체크부(225)는, 컨트롤러측 통신부(211)가 컨트롤러(100)로부터 동기 통신 데이터를 수신한 후에, 현재의 통신 사이클수에 대응하는 컨트롤 사이클수가, 상기 동기 통신 데이터의 상기 사용시 사이클수 이상으로 되어 있는 경우에 동기 통신 데이터의 수신 지연을 검출한다. 사이클 체크부(225)는, 동기 통신 데이터의 수신 지연을 검출한 경우에, 상기 동기 통신 데이터를 파기하여도 좋다.When the data received by the controller-
도 8은 컨트롤러 서버(2), 통신 컨트롤러(200) 및 로컬 컨트롤러(300)의 하드웨어 구성을 예시하는 블록도이다. 도 8에 나타내는 바와 같이, 컨트롤러 서버(2)는, 회로(190)를 갖는다. 회로(190)는, 프로세서(191)와, 메모리(192)와, 스토리지(193)와, 유선 통신 포트(194)와, 타이머(195)를 갖는다. 회로(190)가 갖는 각 구성 요소의 수는 하나에 한정되지 않는다.8 is a block diagram illustrating the hardware configuration of the
스토리지(193)는, 관할 머신(4)이 송신한 응답 정보를, 유선 통신 네트워크(8)를 통해 통신 서버(3)로부터 수신하는 것과, 수신한 응답 정보에 기초하여 모션 프로그램을 실행하여, 관할 머신(4)에 대한 머신 지령을 생성하는 것과, 머신 지령을, 유선 통신 네트워크(8)를 통해 통신 서버(3)에 송신하는 것을 컨트롤러 서버(2)에 실행시키는 프로그램을 기억하고 있다. 상기 프로그램이 컨트롤러 서버(2)에 실행시키는 제어 방법은, 수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것을 더 포함하여도 좋다. 이 경우, 수신한 응답 정보에 기초하여 모션 프로그램을 실행하는 것은, 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 호출한 응답 정보에 기초하여 모션 프로그램을 실행하는 것을 포함한다. 예컨대 스토리지(193)는, 전술한 컨트롤러(100)의 각 기능 블록을 컨트롤러 서버(2)에 구성시키기 위한 프로그램을 기억하고 있다.The
메모리(192)는, 스토리지(193)로부터 로드한 프로그램 등을 일시적으로 기억한다. 프로세서(191)는, 연산 결과를 메모리(192)에 일시적으로 기억하면서, 메모리(192)에 로드된 프로그램을 실행한다. 유선 통신 포트(194)는, 프로세서(191)로부터의 지령에 따라, 유선 통신 네트워크(8)를 통해 통신 컨트롤러(200)와 통신한다. 타이머(195)는, 클록 펄스의 카운트에 의해 경과 시간을 계측한다.The
통신 컨트롤러(200)는, 회로(290)를 갖는다. 회로(290)는, 프로세서(291)와, 메모리(292)와, 스토리지(293)와, 유선 통신 포트(294)와, 무선 통신 포트(295)와, 타이머(296)를 갖는다.The
스토리지(293)는, 복수의 컨트롤러(100)의 각각으로부터, 유선 통신 네트워크(8)를 통해 머신 지령을 수신하는 것과, 복수의 머신(4)의 각각에 대하여, 무선 통신 네트워크(7)를 통해 머신 지령을 송신하는 것과, 복수의 머신(4)의 각각으로부터, 무선 통신 네트워크(7)를 통해 응답 정보를 수신하는 것과, 복수의 컨트롤러(100)의 각각에 대하여, 유선 통신 네트워크(8)를 통해 응답 정보를 송신하는 것을 포함하는 통신 방법을 통신 컨트롤러(200)에 실행시키는 프로그램을 기억하고 있다. 상기 프로그램이 통신 컨트롤러(200)에 실행시키는 통신 방법은, 수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것을 더 포함하여도 좋다. 이 경우, 유선 통신 네트워크(8)를 통해 응답 정보를 송신하는 것은, 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 호출한 응답 정보를 송신하는 것을 포함한다. 예컨대 스토리지(293)는, 전술한 각 기능 블록을 통신 컨트롤러(200)에 구성시키기 위한 프로그램을 기억하고 있다.The
메모리(292)는, 스토리지(293)로부터 로드한 프로그램 등을 일시적으로 기억한다. 프로세서(291)는, 연산 결과를 메모리(292)에 일시적으로 기억하면서, 메모리(292)에 로드된 프로그램을 실행한다. 유선 통신 포트(294)는, 프로세서(291)로부터의 지령에 따라, 유선 통신 네트워크(8)를 통해 컨트롤러 서버(2)와 통신한다. 무선 통신 포트(295)는, 프로세서(291)로부터의 지령에 따라, 무선 통신 기지국(201) 및 무선 통신 단말(301)을 통해 로컬 컨트롤러(300)와 통신한다. 타이머(296)는, 클록 펄스의 카운트에 의해 경과 시간을 계측한다.The
로컬 컨트롤러(300)는, 회로(390)를 갖는다. 회로(390)는, 프로세서(391)와, 메모리(392)와, 스토리지(393)와, 무선 통신 포트(394)와, 타이머(395)와, 드라이버 회로(396)를 갖는다.The
스토리지(393)는, 통신 서버(3)를 통해 머신 지령을 수신하는 것과, 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키는 것을 포함하는 제어 방법을 로컬 컨트롤러(300)에 실행시키는 프로그램을 기억하고 있다. 상기 프로그램이 로컬 컨트롤러(300)에 실행시키는 제어 방법은, 수신한 머신 지령을 기억하여, 상기 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출하는 것을 더 포함하고 있어도 좋다. 이 경우, 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키는 것은, 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클에 있어서 호출한 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키는 것을 포함한다. 예컨대 로컬 컨트롤러(300)는, 전술한 각 기능 블록을 로컬 컨트롤러(300)에 구성시키기 위한 프로그램을 기억하고 있다.The
메모리(392)는, 스토리지(393)로부터 로드한 프로그램 등을 일시적으로 기억한다. 프로세서(391)는, 연산 결과를 메모리(392)에 일시적으로 기억하면서, 메모리(392)에 로드된 프로그램을 실행한다. 무선 통신 포트(394)는, 프로세서(391)로부터의 지령에 따라, 무선 통신 단말(301) 및 무선 통신 기지국(201)을 통해 통신 컨트롤러(200)와 통신한다. 타이머(395)는, 클록 펄스의 카운트에 의해 경과 시간을 계측한다. 드라이버 회로(396)는, 프로세서(391)로부터의 지령에 따라 머신 본체(10)에 구동 전력을 공급한다.The
〔머신 제어 순서〕[Machine Control Procedure]
계속해서, 머신 제어 방법의 일례로서, 머신 제어 시스템(1)이 실행하는 머신 제어 순서를 예시한다. 이 순서는, 컨트롤 사이클, 통신 사이클 등의 사이클 생성 순서와, 생성한 사이클에서의 머신 제어 순서를 포함한다.Subsequently, as an example of the machine control method, a machine control procedure executed by the
(사이클 생성 순서의 개요)(Overview of Cycle Creation Sequence)
사이클 생성 순서는, 컨트롤러(100)가, 컨트롤 사이클을 생성하는 것과, 로컬 컨트롤러(300)가, 상기 컨트롤 사이클에 동기한 머신측 컨트롤 사이클을 생성하는 것을 포함한다.The cycle generation sequence includes the
도 9는 사이클 생성 순서의 개요를 예시하는 타이밍 차트이며, 각 차트의 횡축은 경과 시간을 나타낸다. (i)은 시각 서버(5)에 있어서의 정보 처리 타이밍을 나타내고, (ii)는 컨트롤러(100)에 있어서의 컨트롤 사이클 생성의 정보 처리 타이밍을 나타내고, (iii)은 컨트롤러(100)에 있어서의 통신 사이클 생성의 정보 처리 타이밍을 나타내고, (iv)는 무선 통신 단말(301)에 있어서의 정보 처리 타이밍을 나타내고, (v)는 로컬 컨트롤러(300)에 있어서의 정보 타이밍을 나타낸다.Fig. 9 is a timing chart illustrating an outline of the cycle generation sequence, and the horizontal axis of each chart represents the elapsed time. (i) shows the information processing timing in the
먼저, 시각(pt1)에 있어서, 시각 서버(5)가 글로벌 시각을 컨트롤러(100)에 송신한다. 컨트롤러(100)는, 시각(pt2)에 있어서 글로벌 시각을 수신하여, 수신한 글로벌 시각에 동기한 컨트롤러측 시각을 생성한다. 무선 통신 단말(301)은, 시각(pt5)에 있어서 글로벌 시각을 수신하고, 로컬 컨트롤러(300)는, 무선 통신 단말(301)이 수신한 글로벌 시각에 동기한 머신측 시각을 시각(pt6)에 있어서 생성한다.First, at time pt1, the
컨트롤러(100)는, 컨트롤러측 시각에 기초하여 컨트롤 사이클의 개시 타이밍을 시각(pt11)로 셋트하고, 통신 사이클의 개시 타이밍을 시각(pt12)로 셋트한다. 무선 통신 단말(301)은, 시각(pt13)에 있어서 무선 통신 기지국(201)을 통해 통신 컨트롤러(200)로부터 사이클 타이밍을 수신하고, 로컬 컨트롤러(300)는, 무선 통신 단말(301)이 수신한 사이클 타이밍에 기초하여, 시각(pt14)에 있어서 상기 개시 타이밍에 일치하는 개시 타이밍을 셋트한다.The
그 후, 컨트롤러(100)는, 상기 개시 타이밍에 해당하는 시각(pt21)에 있어서 컨트롤 사이클(c1)의 생성을 개시하고, 상기 개시 타이밍에 해당하는 시각(pt22)에 있어서 통신 사이클(c2)의 생성을 개시하고, 로컬 컨트롤러(300)는, 상기 개시 타이밍에 해당하는 시각(pt23)에 있어서 컨트롤 사이클(c3)의 생성을 개시한다. 이상으로 사이클 생성 순서가 완료된다.After that, the
이하, 사이클 생성 순서에 있어서 컨트롤러(100)가 실행하는 컨트롤 사이클 및 통신 사이클 생성 순서와, 로컬 컨트롤러(300)가 실행하는 컨트롤 사이클 생성 순서를 각각 상세하게 예시한다.Hereinafter, in the cycle generation sequence, the control cycle and communication cycle generation sequence executed by the
(컨트롤러에 있어서의 사이클 생성 순서)(Cycle generation sequence in the controller)
도 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)에 송신하여도 좋다.10 is a flowchart illustrating a cycle generation procedure in the
다음에, 컨트롤러(100)는 단계 S06을 실행한다. 단계 S06에서는, 타이밍 송신부(123)가, 관할 로컬 컨트롤러(300)로부터의 셋트 완료 통지를 수신하였는지의 여부를 확인한다. 단계 S06에 있어서, 로컬 컨트롤러(300)로부터 셋트 완료 통지를 수신하였다고 판정한 경우, 컨트롤러(100)는 단계 S07을 실행한다. 단계 S07에서는, 컨트롤러측 사이클 생성부(122)가, 컨트롤 사이클의 개시 플래그를 「개시 가능」으로 한다.Next, the
다음에, 컨트롤러(100)는 단계 S08을 실행한다. 단계 S06에 있어서, 관할 로컬 컨트롤러(300)로부터 셋트 완료 통지를 수신하지 못하였다고 판정한 경우, 컨트롤러(100)는, 단계 S07을 실행하는 일없이 단계 S08을 실행한다. 단계 S08에서는, 컨트롤러측 사이클 생성부(122)가, 컨트롤측 시각이 개시 타이밍에 달하였는지를 확인한다.Next, the
단계 S08에 있어서, 컨트롤측 시각이 개시 타이밍에 달하지 않았다고 판정한 경우, 컨트롤러(100)는 처리를 단계 S06으로 되돌린다. 이후, 컨트롤측 시각이 개시 타이밍에 달할 때까지, 셋트 완료 통지의 수신 확인이 반복된다.In step S08, if it is determined that the time on the control side has not reached the start timing, the
단계 S08에 있어서, 컨트롤측 시각이 개시 타이밍에 달하였다고 판정한 경우, 컨트롤러(100)는, 단계 S09를 실행한다. 단계 S09에서는, 컨트롤러측 사이클 생성부(122)가, 개시 플래그가 「개시 가능」인지의 여부를 확인한다.In step S08, when it is determined that the time on the control side has reached the start timing, the
단계 S09에 있어서, 개시 플래그가「개시 가능」이 아니라고 판정한 경우, 컨트롤러(100)는 처리를 단계 S03으로 되돌린다. 이에 의해, 개시 타이밍의 셋트 이후의 처리가 재차 실행된다. 단계 S09에 있어서, 개시 플래그가 「개시 가능」이라고 판정한 경우, 컨트롤러(100)는 단계 S11을 실행한다. 단계 S11에서는, 컨트롤러측 사이클 생성부(122)가 컨트롤 사이클의 생성을 개시하고, 타이밍 송신부(123)가 컨트롤 사이클수의 카운트를 개시한다. 또한, 통신 사이클 생성부(131)가 통신 사이클의 생성을 개시하고, 사이클 카운터(132)가 통신 사이클의 카운트를 개시한다. 이상으로 컨트롤러(100)에 있어서의 컨트롤 사이클의 생성 순서가 완료된다. 또한, 단계 S11에 있어서, 통신 사이클 생성부(131)는, 컨트롤러측 사이클 생성부(122)에 의한 컨트롤 사이클의 생성 개시와 어긋난 타이밍에 통신 사이클의 생성을 개시하여도 좋다.In step S09, if it is determined that the start flag is not "startable", the
(로컬 컨트롤러에 있어서의 컨트롤 사이클 생성 순서)(Control cycle generation sequence in the local controller)
도 11은 로컬 컨트롤러(300)에 있어서의 사이클 생성 순서를 예시하는 흐름도이다. 도 11에 나타내는 바와 같이, 로컬 컨트롤러(300)는, 먼저 단계 S31, S32, S33을 실행한다. 단계 S31에서는, 머신측 시각 생성부(321)가, 단말 통신부(314)에 의한 글로벌 시각의 수신을 대기한다. 단계 S32에서는, 머신측 시각 생성부(321)가, 단말 통신부(314)가 수신한 글로벌 시각에 동기하여 머신측 시각을 생성한다. 단계 S33에서는, 머신측 사이클 생성부(322)가, 대응하는 컨트롤러(100)가 송신한 사이클 타이밍(예컨대 상기 개시 타이밍)을 단말 통신부(314)가 수신하는 것을 대기한다.11 is a flowchart illustrating a cycle generation procedure in the
다음에, 로컬 컨트롤러(300)는 단계 S34, S35, S36, S37, S38을 실행한다. 단계 S34에서는, 머신측 사이클 생성부(322)가, 단말 통신부(314)가 수신한 사이클 타이밍에 기초하여, 대응하는 컨트롤러(100)에 있어서의 컨트롤 사이클의 개시 타이밍에 동기한 개시 타이밍을 셋트한다. 단계 S35에서는, 머신측 사이클 생성부(322)가, 셋트 완료 통지를 컨트롤러(100)에 송신한다. 단계 S36에서는, 머신측 사이클 생성부(322)가, 머신측 시각이 개시 타이밍에 달하는 것을 대기한다. 단계 S37에서는, 머신측 사이클 생성부(322)가 머신측 컨트롤 사이클의 생성을 개시하고, 사이클 카운터(323)가 컨트롤 사이클수의 카운트를 개시한다. 단계 S38에서는, 로컬 사이클 생성부(325)가 머신 사이클의 생성을 개시하고, 사이클 카운터(326)가 머신 사이클수의 카운트를 개시한다. 이상으로 로컬 컨트롤러(300)에 있어서의 컨트롤 사이클의 생성 순서가 완료된다.Next, the
(사이클 생성 순서의 변형예)(Modified example of cycle generation sequence)
전술한 바와 같이, 컨트롤러(100)는, 유선 통신 네트워크(8)를 통해 마스터 타이밍을 취득하고, 취득한 마스터 타이밍과, 컨트롤러측 시각에 기초하여 컨트롤 사이클을 생성하여도 좋다. 도 12는 마스터 타이밍에 기초한 사이클 생성 순서를 나타내는 흐름도이다. 도 12에 나타내는 바와 같이, 컨트롤러(100)는, 먼저 단계 S51, S52, S53을 실행한다. 단계 S51에서는, 컨트롤러측 시각 생성부(121)가, 동기 통신부(114)에 의한 글로벌 시각의 수신을 대기한다. 단계 S52에서는, 컨트롤러측 시각 생성부(121)가, 동기 통신부(114)가 수신한 글로벌 시각에 동기하여 컨트롤러측 시각을 생성한다. 단계 S53에서는, 컨트롤러측 사이클 생성부(122)가, 마스터 타이밍을 동기 통신부(114)가 수신하는 것을 대기한다.As described above, the
다음에, 컨트롤러(100)는 단계 S55, S56, S57, S58을 실행한다. 단계 S55에서는, 컨트롤러측 사이클 생성부(122)가, 마스터 타이밍에 동기한 개시 타이밍을 셋트한다. 단계 S56에서는, 컨트롤러측 사이클 생성부(122)가, 셋트 완료 통지를 통신 컨트롤러(200)에 송신한다. 단계 S57에서는, 컨트롤러측 사이클 생성부(122)가, 컨트롤러측 시각이 개시 타이밍에 달하는 것을 대기한다. 단계 S58에서는, 컨트롤러측 사이클 생성부(122)가 컨트롤러 사이클의 생성을 개시하고, 타이밍 송신부(123)가 컨트롤 사이클수의 카운트를 개시한다. 이상으로 컨트롤러(100)에 있어서의 컨트롤 사이클의 생성 순서가 완료된다.Next, the
(머신 제어 순서의 개요)(Overview of Machine Control Sequences)
머신 제어 순서는, 컨트롤러(100)가, 컨트롤 사이클로 모션 프로그램을 실행하여, 관할 머신(4)에 대한 머신 지령을 생성하는 것과, 머신 지령에 제1 사이클 정보를 부가하는 것과, 머신 지령을 통신 컨트롤러(200)에 송신하는 것과, 통신 컨트롤러(200)가, 머신 지령을 수신하는 것과, 관할 로컬 컨트롤러(300)에 머신 지령을 송신하는 것과, 관할 로컬 컨트롤러(300)가, 통신 컨트롤러(200)로부터 머신 지령을 수신하는 것과, 수신한 머신 지령을 기억하여, 상기 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클에 있어서 상기 머신 지령을 호출하는 것과, 호출한 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키는 것을 포함한다.The machine control procedure is that the
또한, 머신 제어 순서는, 로컬 컨트롤러(300)가, 머신 본체(10)가 실현한 모션에 기초한 응답 정보를 취득하는 것과, 응답 정보에 제2 사이클 정보를 부가하는 것과, 통신 컨트롤러(200)에 응답 정보를 송신하는 것과, 통신 컨트롤러(200) 또는 컨트롤러(100)가, 수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것과, 호출한 상기 응답 정보에 기초하여 컨트롤러(100)가 모션 프로그램을 실행하는 것을 더 포함하여도 좋다.In addition, the machine control procedure includes acquiring response information based on the motion realized by the
도 13은 머신 제어 순서의 개요를 예시하는 타이밍 차트이며, 각 차트의 횡축은 경과 시간을 나타낸다. (i)은 모션 모듈(113)에 있어서의 정보 처리 타이밍을 나타내고, (ii)는 동기 통신부(114)에 있어서의 정보 처리 타이밍을 나타내고, (iii)은 컨트롤러측 타이밍 조정부(116)에 있어서의 정보 처리 타이밍을 나타내고, (iv)는 단말 통신부(314)에 있어서의 정보 처리 타이밍을 나타내고, (v)는 머신측 타이밍 조정부(315)에 있어서의 정보 처리 타이밍을 나타내고, (vi)은 머신 제어부(313)에 있어서의 정보 처리 타이밍을 나타내고 있다.Fig. 13 is a timing chart illustrating the outline of machine control procedures, and the horizontal axis of each chart represents elapsed time. (i) shows the information processing timing in the
도 13에 있어서, 사이클(c11, c12, c13)은, 컨트롤러측 사이클 생성부(122)가 순차 생성하는 컨트롤 사이클이고, 사이클(c21, c22, c23)은, 사이클(c11, c12, c13)에 동기하여 통신 사이클 생성부(131)가 순차 생성하는 통신 사이클이고, 사이클(c31, c32, c33)은, 사이클(c11, c12, c13)에 동기하여 머신측 사이클 생성부(322)가 순차 생성하는 머신측 컨트롤 사이클이다.13 , cycles c11, c12, and c13 are control cycles sequentially generated by the controller-
예컨대 모션 모듈(113)은, 사이클(c11)의 시각(t10)에 있어서 모션 프로그램을 실행하여, 머신 지령을 생성한다. 이 머신 지령은, 시각(t11)에 있어서 동기 통신부(114)에 의해 송신되고, 시각(t12)에 있어서 단말 통신부(314)에 의해 수신된다. 단말 통신부(314)가 수신한 머신 지령은, 시각(t13)에 있어서 머신측 타이밍 조정부(315)에 의해 기억되어, 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클(예컨대 사이클(c33))에 있어서 호출된다. 그리고, 호출된 머신 지령에 기초하여, 사이클(c33)의 시각(t14)에 있어서, 머신 제어부(313)가 머신 본체(10)에 모션을 실현시킨다. 무선 통신에 기인하여, 시각(t12)에는 변동이 생기지만, 시각(t12)부터 시각(t14)까지의 여유에 의해, 시각(t12)의 변동이 흡수되어, 컨트롤 사이클에 동기한 시각(t14)에 머신 지령이 사용된다.For example, the
머신 제어부(313)는, 사이클(c31)의 시각(t110)에 있어서 머신 본체(10)가 실현한 모션에 기초한 응답 정보를 취득한다. 이 응답 정보는, 시각(t111)에 있어서 단말 통신부(314)에 의해 송신되고, 시각(t112)에 있어서 컨트롤러측 타이밍 조정부(116)에 의해 기억되어, 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클(예컨대 사이클(c13))에 있어서 호출된다. 호출된 응답 정보는, 사이클(c13) 직전의 시각(t113)에 있어서 동기 통신부(114)에 의해 수신 정보 기억부(112)에 저장되고, 수신 정보 기억부(112)에 저장된 응답 정보에 기초하여, 사이클(c13)의 시각(t114)에 있어서 모션 모듈(113)이 모션 프로그램을 실행한다. 무선 통신에 기인하여, 시각(t112)에는 변동이 생기지만, 시각(t112)부터 시각(t114)까지의 여유에 의해, 시각(t112)의 변동이 흡수되어, 컨트롤 사이클에 동기한 시각(t114)에 응답 정보가 사용된다.The
이하, 머신 제어 순서를, 컨트롤러(100)에 있어서의 제어 순서와, 로컬 컨트롤러(300)에 있어서의 제어 순서로 나누어 상세하게 예시한다.Hereinafter, the machine control sequence is divided into a control sequence in the
(컨트롤러에 있어서의 제어 순서)(Control procedure in the controller)
컨트롤러(100)에 있어서의 제어 순서는, 데이터 수신 순서와, 데이터 생성·송신 순서를 포함한다. 데이터 수신 순서와 데이터 생성·송신 순서는 병행하여 반복 실행된다. 데이터 수신 순서는, 반드시 컨트롤 사이클에 동기하여 실행되지 않아도 좋지만, 데이터 생성·송신 순서는 컨트롤 사이클에 동기하여 실행된다.Control procedures in the
도 14는 데이터 수신 순서를 예시하는 흐름도이다. 도 14에 나타내는 바와 같이, 컨트롤러(100)는, 먼저 단계 S91, S92를 실행한다. 단계 S91에서는, 동기 통신부(114)가 통신 컨트롤러(200)로부터의 데이터의 수신을 대기한다. 단계 S92에서는, 사이클 체크부(133)가, 데이터의 수신 지연이 없는지의 여부를 확인한다. 예컨대 사이클 체크부(133)는, 응답 정보에 부가된 제2 사이클 정보에 기초하여, 응답 정보의 송신 지연이 없는지의 여부를 확인한다.14 is a flow chart illustrating a data receiving sequence. As shown in Fig. 14, the
단계 S92에 있어서, 데이터의 수신 지연이 있다고 판정한 경우, 컨트롤러(100)는 단계 S93을 실행한다. 단계 S93에서는, 사이클 체크부(133)가 상기 데이터를 파기한다.In step S92, if it is determined that there is a reception delay of data, the
단계 S92에 있어서, 데이터의 수신 지연은 없다고 판정한 경우, 컨트롤러(100)는 단계 S94를 실행한다. 단계 S94에서는, 사이클 체크부(133)가, 컨트롤러측 타이밍 조정부(116)에 상기 데이터를 기억시킨다. 단계 S93, S94를 실행한 후, 컨트롤러(100)는 처리를 단계 S91로 되돌린다. 통신 컨트롤러(200)는 이상의 순서를 반복한다.In step S92, if it is determined that there is no data reception delay, the
도 15는 데이터 생성·송신 순서를 예시하는 흐름도이다. 컨트롤러(100)는, 먼저 단계 S71, S72, S73, S74, S75를 실행한다. 단계 S71에서는, 모션 모듈(113)이, 사이클 카운터(124)에 의한 컨트롤 사이클수의 카운트 업을 대기한다. 단계 S72에서는, 컨트롤러측 타이밍 조정부(116)가, 사용시 사이클수가 현재의 컨트롤 사이클수에 대응하는 수신 데이터(예컨대 응답 정보 및 동기 통신 데이터)를 호출한다. 단계 S73에서는, 모션 모듈(113)이, 모션 프로그램을 실행하여, 관할 머신(4)에 대한 머신 지령을 생성한다. 예컨대 모션 모듈(113)은, 수신 정보 기억부(112)가 기억하는 응답 정보에 기초한 관할 머신(4)의 모션 실적을 산출하고, 모션 실적을 모션 지령에 추종시키도록 머신 지령을 산출한다. 단계 S74에서는, 부가부(125)가, 머신 지령에 제1 사이클 정보를 부가한다. 단계 S75에서는, 동기 통신부(114)가, 유선 통신 네트워크(8)를 통해, 머신 지령을 통신 서버(3)에 송신한다. 단계 S75의 구체적 처리 내용에 대해서는 후술한다.15 is a flowchart illustrating a data generation/transmission procedure. The
다음에, 컨트롤러(100)는 단계 S76, S77, S78을 실행한다. 단계 S76에서는, 동기 통신부(114)가, 동기 통신 데이터를 생성한다. 단계 S77에서는, 부가부(125)가, 동기 통신 데이터에 제1 사이클 정보를 부가한다. 단계 S78에서는, 동기 통신부(114)가, 유선 통신 네트워크(8)를 통해, 동기 통신 데이터를 통신 서버(3)에 송신한다. 단계 S78의 구체적 처리 내용에 대해서는 후술한다. 그 후, 컨트롤러(100)는 처리를 단계 S71로 되돌린다. 컨트롤러(100)는, 이상의 순서를 반복한다.Next, the
도 16은 단계 S75, S78에 있어서의 데이터의 송신 순서를 예시하는 흐름도이다. 도 16에 나타내는 바와 같이, 컨트롤러(100)는, 먼저 단계 S82를 실행한다. 단계 S82에서는, 사이클 체크부(133)가, 데이터의 송신 지연이 없는지의 여부를 확인한다. 예컨대 사이클 체크부(133)는, 머신 지령에 부가된 제1 사이클 정보에 기초하여, 머신 지령의 송신 지연이 없는지의 여부를 확인하고, 동기 통신 데이터에 부가된 제1 사이클 정보에 기초하여, 동기 통신 데이터의 송신 지연이 없는지의 여부를 확인한다.Fig. 16 is a flowchart illustrating the data transmission procedure in steps S75 and S78. As shown in Fig. 16, the
단계 S82에 있어서, 데이터의 송신 지연이 있다고 판정한 경우, 컨트롤러(100)는 단계 S83을 실행한다. 단계 S83에서는, 사이클 체크부(133)가 상기 데이터를 파기한다.In step S82, if it is determined that there is a transmission delay of data, the
단계 S82에 있어서, 데이터의 송신 지연이 없다고 판정한 경우, 컨트롤러(100)는 단계 S84를 실행한다. 단계 S84에서는, 스위치(134)가, 데이터가 관할 머신(4) 앞인지, 다른 컨트롤러(100) 앞인지를 확인한다.In step S82, if it is determined that there is no data transmission delay, the
단계 S84에 있어서, 데이터가 관할 머신(4) 앞이라고 판정한 경우, 통신 컨트롤러(200)는 단계 S85를 실행한다. 단계 S85에서는, 스위치(134)가, 통신 서버(3)를 통해 관할 머신(4)에 상기 데이터를 송신한다.In step S84, if it is determined that the data is addressed to the
단계 S84에 있어서, 데이터가 다른 컨트롤러(100) 앞이라고 판정한 경우, 통신 컨트롤러(200)는 단계 S86을 실행한다. 단계 S86에서는, 스위치(134)가, 유선 통신 네트워크(8)를 통해, 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 상기 데이터를 송신한다. 단계 S83, S85, S86을 실행한 후, 컨트롤러(100)는 처리를 단계 S82로 되돌린다. 컨트롤러(100)는 이상의 순서를 반복한다.In step S84, when it is determined that the data is addressed to the
(로컬 컨트롤러에 있어서의 제어 순서)(Control procedure in the local controller)
로컬 컨트롤러(300)에 있어서의 제어 순서는, 머신 지령의 수신 순서와, 타이밍 조정 순서와, 머신 제어 순서를 포함한다. 이들은 병행하여 반복 실행된다. 머신 지령의 제어 순서는, 반드시 컨트롤 사이클에 동기하여 실행되지 않아도 좋지만, 타이밍 조정 순서는 컨트롤 사이클에 동기하여 실행된다. 머신 제어 순서는, 머신 사이클에 동기하여 실행된다.The control sequence in the
도 17은 머신 지령의 수신 순서를 예시하는 흐름도이다. 도 17에 나타내는 바와 같이, 로컬 컨트롤러(300)는 단계 S111, S112를 실행한다. 단계 S111에서는, 단말 통신부(314)가, 머신 지령의 수신을 대기한다. 단계 S112에서는, 머신측 타이밍 조정부(315)가, 머신 지령을 기억한다. 그 후, 로컬 컨트롤러(300)는 처리를 단계 S111로 되돌린다. 로컬 컨트롤러(300)는 이상의 순서를 반복한다.17 is a flow chart illustrating a sequence of receiving machine commands. As shown in Fig. 17, the
도 18은 타이밍 조정 순서를 예시하는 흐름도이다. 도 18에 나타내는 바와 같이, 로컬 컨트롤러(300)는, 단계 S121, S122, S123, S124를 실행한다. 단계 S121에서는, 머신측 타이밍 조정부(315)가, 사이클 카운터(323)에 의한 컨트롤 사이클수의 카운트 업을 대기한다. 단계 S122에서는, 머신측 타이밍 조정부(315)가, 사용시 사이클수가 현재의 컨트롤 사이클수에 대응하는 머신 지령을 호출하여, 지령 기억부(311)에 저장한다. 이에 의해, 지령 기억부(311)가 기억하는 머신 지령이 갱신된다. 단계 S123에서는, 부가부(324)가, 응답 정보 기억부(312)가 기억하는 응답 정보에 제1 사이클 정보를 부가한다. 단계 S124에서는, 단말 통신부(314)가, 응답 정보를, 유선 통신 네트워크(8)를 통해 통신 컨트롤러(200)에 송신한다. 그 후, 로컬 컨트롤러(300)는 처리를 단계 S121로 되돌린다. 로컬 컨트롤러(300)는 이상의 순서를 반복한다.18 is a flowchart illustrating a timing adjustment sequence. As shown in Fig. 18, the
도 19는 머신 제어 순서를 예시하는 흐름도이다. 도 19에 나타내는 바와 같이, 로컬 컨트롤러(300)는, 먼저 단계 S131, S132를 실행한다. 단계 S131에서는, 머신 제어부(313)가, 사이클 카운터(326)에 의한 머신 사이클수의 카운트 업을 대기한다. 단계 S132에서는, 사이클 카운터(326)가, 지령 기억부(311)가 기억하는 머신 지령이 갱신되었는지의 여부를 확인한다.19 is a flow chart illustrating a machine control sequence. As shown in Fig. 19, the
단계 S132에 있어서, 지령 기억부(311)가 기억하는 머신 지령이 갱신되었다고 판정한 경우, 로컬 컨트롤러(300)는 단계 S133을 실행한다. 단계 S133에서는, 사이클 카운터(326)가, 머신 사이클수를 초기값(예컨대 제로)으로 리셋한다.In step S132, when it is determined that the machine command stored in the
다음에, 로컬 컨트롤러(300)는 단계 S134를 실행한다. 단계 S132에 있어서, 지령 기억부(311)가 기억하는 머신 지령이 갱신되지 않았다고 판정한 경우, 로컬 컨트롤러(300)는, 단계 S133을 실행하는 일없이 단계 S134를 실행한다. 단계 S134에서는, 머신 제어부(313)가, 머신 지령과, 응답 정보 기억부(312)가 기억하는 응답 정보와의 편차를 축소하도록 구동 데이터를 생성한다.Next, the
다음에, 로컬 컨트롤러(300)는 단계 S135, S136을 실행한다. 단계 S135에서는, 머신 제어부(313)가, 구동 데이터에 기초하여 머신 본체(10)를 구동한다. 단계 S136에서는, 머신 제어부(313)가, 머신 본체(10)가 실현한 모션에 기초한 응답 정보를 취득하여, 응답 정보 기억부(312)에 저장한다. 그 후, 로컬 컨트롤러(300)는 처리를 단계 S131로 되돌린다. 로컬 컨트롤러(300)는, 이상의 순서를 반복한다.Next, the
〔본 실시형태의 효과〕[Effects of the present embodiment]
이상에 설명한 바와 같이, 머신 제어 시스템(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)를 갖는다.As described above, the
제5 세대 이동 통신 시스템(5G)의 실용화 등에 의해, 고속 무선 통신이 가능해졌기 때문에, 무선 통신을 통한 머신 제어의 실현 가능성도 높아지고 있다. 머신 제어에 있어서는, 모션 프로그램의 실행에 의한 머신 지령의 생성과, 머신 지령에 따른 머신의 제어를 소정의 컨트롤 사이클로 반복할 필요가 있다. 생성된 머신 지령이 무선 통신 네트워크를 통해 송신되는 경우, 무선 통신에 기인하여, 머신측에서의 머신 지령의 수신 타이밍의 변동이 확대되어, 머신측에서 머신 지령을 컨트롤 사이클로 수신하는 것이 곤란해질 가능성이 있다. 본 머신 제어 시스템(1)에 따르면, 통신 서버(3)로부터 무선 통신 네트워크(7)를 통해 송신된 머신 지령이 머신(4)측에서 버퍼링되어, 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클에 있어서 호출된다. 이와 같이, 머신 지령을 그 사용 타이밍까지 버퍼링하는 기능에 의해, 컨트롤러(100)측으로부터의 머신 지령의 송신을 앞당겨, 머신(4)에 있어서의 머신 지령의 수신 타이밍부터 상기 머신 지령의 사용 타이밍까지의 기간에 여유를 갖게 할 수 있다. 이 여유에 의해, 무선 통신에 기인하여 확대된 수신 타이밍의 변동을 흡수하여, 버퍼한 머신 지령을 머신측 컨트롤 사이클로 호출할 수 있다. 이 때문에, 무선 통신을 통해 머신 지령이 송신되는 시스템에 있어서, 모션 프로그램의 실행에 의한 머신 지령의 생성과, 머신 지령에 따른 머신의 제어를 컨트롤 사이클로 반복하는 것이 가능해진다. 따라서, 무선 통신을 통한 머신 제어의 실현에 유효하다.Since high-speed wireless communication has become possible due to practical use of the fifth generation mobile communication system (5G), the realization possibility of machine control through wireless communication is also increasing. In machine control, it is necessary to repeat generation of machine commands by executing a motion program and control of the machine in accordance with the machine commands in a predetermined control cycle. When the generated machine command is transmitted via a wireless communication network, there is a possibility that the variation in the reception timing of the machine command on the machine side is magnified due to the wireless communication, making it difficult for the machine side to receive the machine command in a control cycle. According to the present
1 이상의 머신(4)의 각각은, 모션을 실현하는 머신 본체(10)와, 머신측 타이밍 조정부(315)가 호출한 머신 지령에 기초하여, 머신 본체(10)에 모션을 실현시키고, 머신 본체(10)가 실현한 모션에 기초한 응답 정보를 취득하는 머신 제어부(313)와, 응답 정보에 제2 사이클 정보를 부가하는 부가부(324)를 더 갖고, 단말 통신부(314)는, 응답 정보를 통신 서버(3)에 송신하고, 머신 제어 시스템(1)은, 1 이상의 컨트롤러(100)와 통신 서버(3) 사이에서, 1 이상의 머신(4)으로부터 수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 컨트롤러측 타이밍 조정부(116, 213)를 더 구비하고, 모션 모듈(113)은, 컨트롤러측 타이밍 조정부(116, 213)가 호출한 응답 정보에 기초하여, 모션 프로그램을 실행하여도 좋다. 이 경우, 머신(4)으로부터 무선 통신 네트워크를 통해 송신된 응답 정보가 컨트롤러(100)측에서 버퍼링되어, 제1 사이클 정보에 대응하는 컨트롤 사이클에 있어서 호출된다. 이와 같이, 응답 정보를 그 사용 타이밍까지 버퍼링하는 기능에 의해, 머신(4)측으로부터의 응답 정보의 송신을 앞당겨, 컨트롤러(100)측에서의 응답 정보의 수신 타이밍으로부터 상기 응답 정보의 사용 타이밍까지의 기간에 여유를 갖게 할 수 있다. 이 여유에 의해, 무선 통신에 기인하여 확대된 수신 타이밍의 변동을 흡수하여, 버퍼한 응답 정보를 컨트롤 사이클로 호출할 수 있다. 이 때문에, 무선 통신을 통해 응답 정보가 송신되는 시스템에 있어서, 응답 정보의 수신을 컨트롤 사이클로 반복하는 것이 가능해진다. 따라서, 무선 통신을 통한 머신 제어의 실현에 더욱 유효하다.Each of the one or
1 이상의 컨트롤러(100)의 각각은, 컨트롤 사이클의 사이클 타이밍을 대응하는 머신(4)에 송신하는 타이밍 송신부(123)를 더 갖고, 1 이상의 머신(4)의 각각은, 사이클 타이밍에 기초하여, 대응하는 컨트롤러(100)에 있어서의 컨트롤 사이클에 동기한 머신측 컨트롤 사이클을 생성하는 머신측 사이클 생성부(322)를 더 가져도 좋다. 이 경우, 사이클 타이밍에 기초한 동기 처리 후는, 컨트롤러(100)에 있어서의 컨트롤 사이클에 동기한 머신측 컨트롤 사이클이 머신(4)에 있어서 생성된다. 이 때문에, 무선 통신의 부담을 억제하면서, 머신(4)에 있어서의 머신측 컨트롤 사이클을 컨트롤러에 있어서의 컨트롤 사이클에 용이하게 동기시킬 수 있다.Each of the one or
1 이상의 컨트롤러(100)의 각각은, 시각 서버(5)가 생성한 시각에 동기하여, 컨트롤러측 시각을 생성하는 컨트롤러측 시각 생성부(121)와, 컨트롤러측 시각에 기초하여, 컨트롤 사이클을 생성하는 컨트롤러측 사이클 생성부(122)를 더 갖고, 1 이상의 머신(4)의 각각은, 시각 서버가 생성한 시각에 동기하여, 머신측 시각을 생성하는 머신측 시각 생성부(321)를 더 갖고, 머신측 사이클 생성부(322)는, 머신측 시각 생성부(321)가 생성한 시각과, 사이클 타이밍에 기초하여, 머신측 컨트롤 사이클을 생성하여도 좋다. 이 경우, 컨트롤러(100) 및 머신(4)에 있어서의 시각 맞춤을 미리 행하여 둠으로써, 머신(4)에 있어서의 사이클 타이밍의 수신 타이밍에 변동이 생긴 경우라도, 머신측 시각에 기초하여, 머신(4)에 있어서의 머신측 컨트롤 사이클을 적절한 타이밍에 생성할 수 있다.Each of the one or
타이밍 송신부(123)는, 대응하는 머신(4)의 머신측 사이클 생성부(322)가 머신측 컨트롤 사이클의 생성에 실패한 경우, 앞서 송신한 사이클 타이밍보다 후의 사이클 타이밍을 상기 머신(4)에 재차 송신하여도 좋다. 이 경우, 보다 높은 신뢰성으로, 머신(4)에 있어서의 머신측 컨트롤 사이클을 컨트롤러(100)에 있어서의 컨트롤 사이클에 동기시킬 수 있다.The
머신 제어부(313)는, 머신측 타이밍 조정부(315)가 호출한 머신 지령에 기초하여, 컨트롤 사이클보다도 짧은 사이클 길이의 머신 사이클로 머신 본체(10)를 제어하여도 좋다. 이 경우, 컨트롤 사이클에 의한 머신 지령의 호출의 정주기성과, 보다 세분화된 머신 사이클에 의한 머신이 적절한 제어의 양립을 도모할 수 있다.The
머신 제어 시스템(1)은, 1 이상의 컨트롤러로서 복수의 컨트롤러(100)를 구비하고, 복수의 컨트롤러(100)의 각각이 컨트롤러측 타이밍 조정부(116)를 가져도 좋다. 이 경우, 복수의 컨트롤러(100) 각각과 관할 머신(4) 사이에서 동기 통신이 가능해지는 한편, 동일한 네트워크를 이용하는 컨트롤러(100)와 머신(4)의 복수의 쌍 사이에서는, 컨트롤 사이클을 동기킬 필요성이 낮아져, 시스템을 용이하게 구성할 수 있다.The
복수의 컨트롤러(100)에 있어서의 하나의 컨트롤러(100)의 동기 통신부(114)가 송신하는 데이터가 대응하는 머신 앞이면, 통신 서버(3)를 통해, 대응하는 머신(4)에 상기 데이터를 송신하고, 데이터가 다른 컨트롤러(100) 앞이면, 유선 통신 네트워크(8)를 통해, 다른 컨트롤러(100)의 컨트롤러측 타이밍 조정부(116)에 상기 데이터를 송신하는 스위치(134)를 더 구비하여도 좋다. 이 경우, 컨트롤러(100)와 머신(4) 사이의 동기 통신과, 컨트롤러(100) 사이의 동기 통신과 동기 통신부(114)를 적절하게 구별하여 사용할 수 있다.If the data to be transmitted by the
하나의 컨트롤러(100)는, 다른 컨트롤러(100)를 포함하는 다른 노드에 대한 비동기 통신 데이터를, 유선 통신 네트워크(8)를 통해 다른 노드에 송신하는 비동기 통신부(115)를 더 가져도 좋다. 이 경우, 동기 통신용의 통신 리소스를 절약할 수 있다.One
복수의 컨트롤러(100) 중 적어도 하나는, 유선 통신 네트워크(8)를 통해 수신한 마스터 타이밍에 기초하여, 컨트롤 사이클을 생성하는 컨트롤러측 사이클 생성부(122)를 더 가져도 좋다. 이 경우, 컨트롤러(100) 사이에서 컨트롤 사이클을 용이하게 동기시킬 수 있다.At least one of the plurality of
통신 서버(3)는, 마스터 타이밍을 생성하는 타이밍 마스터(224)를 갖고, 컨트롤러측 사이클 생성부(122)는, 타이밍 마스터(224)로부터 마스터 타이밍을 수신하여도 좋다. 이 경우, 컨트롤 사이클을 동기시켜야 하는 복수의 컨트롤러(100) 중 어느 것에 있어서도, 통신 서버(3)의 타이밍 마스터(224)가 생성한 타이밍 마스터에 기초하여 컨트롤 사이클을 생성하는 동일한 설정을 채용할 수 있다. 이 때문에, 시스템에의 컨트롤러(100)의 추가·삭제가 용이하다.The
1 이상의 컨트롤러(100)와 통신 서버(3) 사이에서, 머신 지령에 포함되는 제1 사이클 정보에 기초하여, 상기 머신 지령의 송신 지연을 검출하는 사이클 체크부(133, 225)를 더 구비하여도 좋다. 이 경우, 컨트롤 사이클에 동기한 머신 지령의 송신의 신뢰성을 향상시킬 수 있다.Between the one or
사이클 체크부(133)는, 머신 지령의 송신 지연을 검출한 경우에, 상기 머신 지령의 송신을 캔슬하여도 좋다. 이 경우, 컨트롤 사이클에서의 호출에 맞추지 못한 머신 지령의 송신을 캔슬함으로써, 통신 서버(3)에 있어서의 무선 통신 재원을 절약할 수 있다.The
1 이상의 컨트롤러(100)와 통신 서버(3) 사이에서, 응답 정보에 포함되는 제2 사이클 정보에 기초하여, 상기 응답 정보의 수신 지연을 검출하는 사이클 체크부(133, 225)를 더 구비하여도 좋다. 이 경우, 컨트롤 사이클에서의 호출에 맞추지 못한 응답 정보를 미연에 검지하여, 예컨대 바로 앞에 호출된 응답 정보를 대용하여 응답 정보의 누락을 막는 등의 대처가 가능해진다.Between the one or
1 이상의 컨트롤러(100)와 통신 서버(3) 사이에서, 1 이상의 컨트롤러(100) 중 적어도 어느 하나의 컨트롤 사이클에 동기한 통신 사이클을 생성하는 통신 사이클 생성부(131, 222)를 더 구비하고, 사이클 체크부(133, 225)는, 머신 지령에 부가된 제1 사이클 정보와, 통신 사이클의 사이클 정보에 기초하여, 머신 지령의 송신 지연을 검출하여도 좋다. 이 경우, 사이클 체크부(133, 225)에 의한 송신 지연의 검출을 용이하게 행할 수 있다.Between the one or
〔머신 제어 시스템의 변형예〕[Modified example of machine control system]
머신 제어 시스템(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)) 중 어느 하나에 마련되어 있어도 좋다.The
도 20 및 도 21과 같이, 컨트롤러(100)와 머신(4) 간의 통신이 무선 통신을 포함하지 않는 경우에 있어서도, 스토리지(193)는, 적어도 컨트롤 사이클로 모션 프로그램을 실행하여, 대응하는 머신에 대한 머신 지령을 생성하는 것과, 대응하는 머신(4)에 있어서, 어느 머신측 컨트롤 사이클로 머신 지령을 호출할지를 지정하는 제1 사이클 정보를 머신 지령에 부가하는 것과, 제1 사이클 정보가 부가된 머신 지령을 대응하는 머신(4)에 송신하는 것을 실행하는 컨트롤러(100)를, 대응하는 머신(4)과 통신하는 컨트롤러 서버(2)의 가상 공간상에 실장시키는 프로그램을 기억한다. 스토리지(193)는, 대응하는 머신(4)이 제2 사이클 정보를 부가한 응답 정보를, 대응하는 머신(4)으로부터 수신하는 것과, 수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것을 더 실행하고, 호출한 응답 정보에 기초하여 모션 프로그램을 실행하여, 머신 지령을 생성하는 컨트롤러를 컨트롤러 서버(2)의 가상 공간상에 실장시키는 프로그램을 기억하고 있어도 좋다.20 and 21, even when the communication between the
이상, 실시형태에 대해서 설명하였지만, 본 개시는 반드시 전술한 실시형태에 한정되는 것이 아니며, 그 요지를 일탈하지 않는 범위에서 여러 가지 변경이 가능하다.As mentioned above, although embodiment was described, this indication is not necessarily limited to the above-mentioned embodiment, and various changes are possible within the range which does not deviate from the summary.
1…머신 제어 시스템, 2…컨트롤러 서버, 4…머신, 3…통신 서버, 100…컨트롤러, 8…유선 통신 네트워크, 7…무선 통신 네트워크, 10…머신 본체, 113…모션 모듈, 114…동기 통신부, 115…비동기 통신부, 121…컨트롤러측 시각 생성부, 122…컨트롤러측 사이클 생성부, 123…타이밍 송신부, 5…시각 서버, 125…부가부, 211…컨트롤러측 통신부, 212…머신측 통신부, 116, 213…컨트롤러측 타이밍 조정부, 131, 222…통신 사이클 생성부, 224…타이밍 마스터, 133, 225…사이클 체크부, 134, 226…스위치, 314…단말 통신부, 313…머신 제어부, 315…머신측 타이밍 조정부, 321…머신측 시각 생성부, 322…머신측 사이클 생성부, 324…부가부.One… machine control system, 2 . . . controller server, 4 . . . machine, 3 . . . communication server, 100 . . . controller, 8... wired communication network, 7 . . . wireless communication network, 10 . . . machine body, 113 . . . motion module, 114 . . . synchronous communication unit, 115 . . . asynchronous communication unit, 121 . . . Controller-side time generation unit, 122 . . . Controller-side cycle generation unit, 123 . . . timing transmitter, 5 . . . time server, 125 . . . Bugaboo, 211... Controller-side communication unit, 212 . . . Machine side communication unit, 116, 213... Controller-side timing adjustment unit, 131, 222... Communication cycle generating unit, 224 . . . timing master, 133, 225... Cycle check unit, 134, 226... switch, 314... terminal communication unit, 313 . . . Machine control unit, 315... Machine-side timing adjustment unit, 321 . . . Machine-side time generation unit, 322 . . . Machine-side cycle generation unit, 324 . . . Bugaboo.
Claims (23)
현실 공간상에 구성되어, 각각 머신 지령에 따라 모션을 실현하는 1 이상의 머신과,
상기 1 이상의 머신과 통신하는 1 이상의 서버가 갖는 가상 공간상에 실장되어, 상기 1 이상의 머신을 각각 제어하는 1 이상의 컨트롤러
를 구비하고,
상기 1 이상의 컨트롤러의 각각은,
컨트롤 사이클로 모션 프로그램을 실행하여, 대응하는 머신에 대한 머신 지령을 생성하는 모션 모듈과,
상기 머신 지령에 제1 사이클 정보를 부가하는 부가부와,
상기 머신 지령을 상기 대응하는 머신에 송신하는 동기 통신부
를 포함하고,
상기 1 이상의 머신의 각각은,
상기 1 이상의 서버로부터 상기 머신 지령을 수신하는 단말 통신부와,
상기 단말 통신부가 수신한 상기 머신 지령을 기억하여, 상기 머신 지령에 부가된 제1 사이클 정보에 대응하는 머신측 컨트롤 사이클로 상기 머신 지령을 호출하는 머신측 타이밍 조정부
를 포함하는 것인, 머신 제어 시스템.As a machine control system,
one or more machines constructed in real space and each realizing motion according to machine commands;
One or more controllers mounted on a virtual space of one or more servers communicating with the one or more machines and controlling the one or more machines, respectively.
to provide,
Each of the one or more controllers,
A motion module that executes a motion program with a control cycle to generate machine commands for a corresponding machine;
an addition unit for adding first cycle information to the machine command;
Synchronous communication section for transmitting the machine command to the corresponding machine
including,
Each of the one or more machines,
a terminal communication unit for receiving the machine command from the one or more servers;
A machine-side timing adjusting unit that stores the machine command received by the terminal communication unit and calls the machine command with a machine-side control cycle corresponding to first cycle information added to the machine command.
The machine control system comprising a.
상기 1 이상의 머신의 각각은,
모션을 실현하는 본체와,
상기 머신측 타이밍 조정부가 호출한 머신 지령에 기초하여, 상기 본체에 모션을 실현시켜, 상기 본체가 실현한 모션에 기초한 응답 정보를 취득하는 머신 제어부와,
상기 응답 정보에 제2 사이클 정보를 부가하는 부가부
를 더 포함하고,
상기 단말 통신부는, 상기 응답 정보를 상기 1 이상의 서버에 송신하고,
상기 1 이상의 서버는, 상기 1 이상의 머신으로부터 수신한 상기 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 상기 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 컨트롤러측 타이밍 조정부를 포함하고,
상기 모션 모듈은, 상기 컨트롤러측 타이밍 조정부가 호출한 응답 정보에 기초하여, 상기 모션 프로그램을 실행하는 것인, 머신 제어 시스템.According to claim 1,
Each of the one or more machines,
A body that realizes motion;
a machine control unit for realizing a motion in the main body based on a machine command called by the machine-side timing adjusting unit and acquiring response information based on the motion realized by the main body;
Adder for adding second cycle information to the response information
Including more,
The terminal communication unit transmits the response information to the one or more servers,
The one or more servers include a controller-side timing adjusting unit that stores the response information received from the one or more machines and calls the response information in the control cycle corresponding to the second cycle information added to the response information. do,
wherein the motion module executes the motion program based on response information called by the controller-side timing adjusting unit.
상기 1 이상의 컨트롤러의 각각은,
상기 컨트롤 사이클의 사이클 타이밍을 상기 대응하는 머신에 송신하는 타이밍 송신부를 더 포함하고,
상기 1 이상의 머신의 각각은,
상기 사이클 타이밍에 기초하여, 대응하는 컨트롤러에 있어서의 상기 컨트롤 사이클에 동기한 상기 머신측 컨트롤 사이클을 생성하는 머신측 사이클 생성부를 더 포함하는 것인, 머신 제어 시스템.According to claim 1 or 2,
Each of the one or more controllers,
a timing transmitter for transmitting the cycle timing of the control cycle to the corresponding machine;
Each of the one or more machines,
and a machine-side cycle generation unit that generates the machine-side control cycle synchronized with the control cycle in a corresponding controller based on the cycle timing.
상기 1 이상의 컨트롤러의 각각은,
시각 서버가 생성한 시각에 동기하여, 컨트롤러측 시각을 생성하는 컨트롤러측 시각 생성부와,
상기 컨트롤러측 시각에 기초하여, 상기 컨트롤 사이클을 생성하는 컨트롤러측 사이클 생성부
를 더 포함하고,
상기 1 이상의 머신의 각각은,
상기 시각 서버가 생성한 시각에 동기하여, 머신측 시각을 생성하는 머신측 시각 생성부를 더 포함하고,
상기 머신측 사이클 생성부는, 상기 머신측 시각 생성부가 생성한 시각과, 상기 사이클 타이밍에 기초하여, 상기 머신측 컨트롤 사이클을 생성하는 것인, 머신 제어 시스템.According to claim 3,
Each of the one or more controllers,
a controller-side time generator for synchronizing with the time generated by the time server and generating a controller-side time;
A controller-side cycle generation unit that generates the control cycle based on the controller-side time.
Including more,
Each of the one or more machines,
a machine-side time generator configured to generate machine-side time in synchronism with the time generated by the time server;
wherein the machine-side cycle generation unit generates the machine-side control cycle based on the time generated by the machine-side time generation unit and the cycle timing.
상기 타이밍 송신부는, 상기 대응하는 머신의 상기 머신측 사이클 생성부가 상기 머신측 컨트롤 사이클의 생성에 실패한 경우, 앞서 송신한 사이클 타이밍보다 후의 사이클 타이밍을 상기 대응하는 머신에 재차 송신하는 것인, 머신 제어 시스템.According to claim 4,
wherein the timing transmitting unit transmits cycle timing later than the previously transmitted cycle timing to the corresponding machine again, when the machine-side cycle generation unit of the corresponding machine fails to generate the machine-side control cycle. system.
상기 머신 제어부는, 상기 머신측 타이밍 조정부가 호출한 머신 지령에 기초하여, 상기 머신측 컨트롤 사이클보다 짧은 사이클 길이의 머신 사이클로 상기 본체를 제어하는 것인, 머신 제어 시스템.According to claim 2,
wherein the machine control unit controls the main body with a machine cycle having a shorter cycle length than the machine-side control cycle based on a machine command called by the machine-side timing adjustment unit.
상기 머신 제어 시스템은, 상기 1 이상의 컨트롤러로서 복수의 컨트롤러를 구비하고,
상기 복수의 컨트롤러의 각각이 상기 컨트롤러측 타이밍 조정부를 포함하는 것인, 머신 제어 시스템.According to claim 2,
The machine control system includes a plurality of controllers as the one or more controllers,
wherein each of the plurality of controllers includes the controller-side timing adjusting unit.
상기 1 이상의 서버는, 상기 복수의 컨트롤러에 있어서의 하나의 컨트롤러의 상기 동기 통신부가 송신하는 데이터가 상기 대응하는 머신 앞이면, 상기 대응하는 머신에 상기 데이터를 송신하고, 상기 데이터가 다른 컨트롤러 앞이면, 상기 다른 컨트롤러의 상기 컨트롤러측 타이밍 조정부에 상기 데이터를 송신하는 스위치를 더 포함하는 것인, 머신 제어 시스템.According to claim 7,
The one or more servers transmit the data to the corresponding machine if the data transmitted by the synchronous communication unit of one controller in the plurality of controllers is addressed to the corresponding machine, and transmits the data to the corresponding machine if the data is addressed to another controller. , a switch for transmitting the data to the controller-side timing adjusting unit of the other controller.
상기 하나의 컨트롤러는,
상기 다른 컨트롤러를 포함하는 다른 노드에 대한 비동기 통신 데이터를, 상기 다른 노드에 송신하는 비동기 통신부를 더 포함하는 것인, 머신 제어 시스템.According to claim 8,
The one controller,
The machine control system of claim 1, further comprising an asynchronous communication unit that transmits asynchronous communication data for another node including the other controller to the other node.
상기 복수의 컨트롤러 중 적어도 하나는, 마스터 타이밍에 기초하여, 상기 컨트롤 사이클을 생성하는 컨트롤러측 사이클 생성부를 더 포함하는 것인, 머신 제어 시스템.According to any one of claims 7 to 9,
The machine control system, wherein at least one of the plurality of controllers further includes a controller-side cycle generation unit that generates the control cycle based on master timing.
상기 1 이상의 서버는, 상기 마스터 타이밍을 생성하는 타이밍 마스터를 더 포함하는 것인, 머신 제어 시스템.According to claim 10,
The machine control system of claim 1 , wherein the one or more servers further include a timing master generating the master timing.
상기 1 이상의 서버는, 상기 머신 지령에 포함되는 상기 제1 사이클 정보에 기초하여, 상기 머신 지령의 송신 지연을 검출하는 사이클 체크부를 더 구비하는 것인, 머신 제어 시스템.According to any one of claims 1 to 11,
The machine control system of claim 1 , wherein the one or more servers further include a cycle check unit configured to detect transmission delay of the machine command based on the first cycle information included in the machine command.
상기 사이클 체크부는, 상기 머신 지령의 송신 지연을 검출한 경우에, 상기 머신 지령의 송신을 캔슬하는 것인, 머신 제어 시스템.According to claim 12,
and wherein the cycle check unit cancels transmission of the machine command when a transmission delay of the machine command is detected.
상기 1 이상의 서버는, 상기 응답 정보에 포함되는 상기 제2 사이클 정보에 기초하여, 상기 응답 정보의 수신 지연을 검출하는 사이클 체크부를 더 구비하는 것인, 머신 제어 시스템.According to claim 2,
The machine control system of claim 1 , wherein the one or more servers further include a cycle check unit that detects a delay in receiving the response information based on the second cycle information included in the response information.
상기 1 이상의 서버는, 상기 1 이상의 컨트롤러 중 적어도 어느 하나의 컨트롤 사이클에 동기한 통신 사이클을 생성하는 통신 사이클 생성부를 더 구비하고,
상기 사이클 체크부는, 상기 머신 지령에 부가된 상기 제1 사이클 정보와, 상기 통신 사이클의 사이클 정보에 기초하여, 상기 머신 지령의 송신 지연을 검출하는 것인, 머신 제어 시스템.According to claim 12 or 13,
The one or more servers further include a communication cycle generation unit that generates a communication cycle synchronized with a control cycle of at least one of the one or more controllers;
and the cycle check unit detects a transmission delay of the machine command based on the first cycle information added to the machine command and cycle information of the communication cycle.
컨트롤 사이클로 모션 프로그램을 실행하여, 대응하는 머신에 대한 머신 지령을 생성하는 것과,
상기 대응하는 머신에 있어서, 어느 머신측 컨트롤 사이클로 상기 머신 지령을 호출할지를 지정하는 제1 사이클 정보를 상기 머신 지령에 부가하는 것과,
상기 제1 사이클 정보가 부가된 상기 머신 지령을 상기 대응하는 머신에 송신하는 것
을 실행하는 컨트롤러를, 상기 대응하는 머신과 통신하는 서버의 가상 공간상에 실장시키는, 프로그램.As a program,
Executing a motion program with a control cycle to generate machine commands for a corresponding machine;
in the corresponding machine, adding first cycle information specifying in which machine-side control cycle the machine command is to be called, to the machine command;
Sending the machine command to which the first cycle information is added to the corresponding machine.
A program that mounts a controller that executes on the virtual space of a server that communicates with the corresponding machine.
상기 대응하는 머신이 제2 사이클 정보를 부가한 응답 정보를, 상기 대응하는 머신으로부터 수신하는 것과,
수신한 응답 정보를 기억하여, 상기 응답 정보에 부가된 제2 사이클 정보에 대응하는 상기 컨트롤 사이클에 있어서 상기 응답 정보를 호출하는 것
을 더 실행하고,
호출한 응답 정보에 기초하여 모션 프로그램을 실행하여, 머신 지령을 생성하는 컨트롤러를 상기 서버의 가상 공간상에 실장시키는 것인, 프로그램.According to claim 16,
receiving, from the corresponding machine, response information to which second cycle information is added, from the corresponding machine;
Storing received response information and calling the response information in the control cycle corresponding to the second cycle information added to the response information.
run more,
A program that executes a motion program based on the called response information and mounts a controller that generates a machine command in a virtual space of the server.
모션을 실현하는 본체와,
컨트롤러가 실장된 가상 공간을 구성하는 서버와 통신하여, 상기 컨트롤러가 사이클 정보를 부가한 머신 지령을 상기 서버로부터 수신하는 단말 통신부와,
상기 단말 통신부가 수신한 머신 지령을 기억하여, 상기 머신 지령에 부가된 사이클 정보에 대응하는 컨트롤 사이클에 있어서 상기 머신 지령을 호출하는 머신측 타이밍 조정부와,
상기 머신측 타이밍 조정부가 호출한 머신 지령에 기초하여, 상기 본체에 모션을 실현시키는 머신 제어부
를 구비하는, 머신.As a machine
A body that realizes motion;
a terminal communication unit that communicates with a server constituting a virtual space in which a controller is mounted, and receives a machine command to which cycle information is added by the controller from the server;
a machine-side timing adjusting unit that stores the machine command received by the terminal communication unit and calls the machine command in a control cycle corresponding to cycle information added to the machine command;
Based on the machine command called by the machine-side timing adjusting unit, the machine control unit realizes motion in the main body.
A machine comprising a.
제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 처리 모듈
을 포함하는 것인, 시스템.As a system,
a first device repeating the first processing;
A second device that communicates with the first device and repeats the second process
to provide,
The first device,
a first processing module for generating first information by the first processing;
a first addition unit for adding first cycle information to the first information;
A first communication unit for transmitting the first information to a second device
including,
The second device,
a second communication unit configured to receive the first information from the first device;
a timing adjustment unit that stores the first information received by the second communication unit and calls the first information in the second processing of a cycle corresponding to the first cycle information added to the first information;
A second processing module that executes the second processing based on the first information called by the timing adjustment unit.
A system that includes a.
상기 제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 처리를 실행하는 것인, 시스템.According to claim 19,
The second processing module generates second information by the second processing;
The second device further includes a second adder for adding second cycle information to the second information;
The second communication unit transmits the second information to the first device,
The first communication unit receives the second information from the second device,
The first device stores the second information received by the first communication unit and calls the second information in the first processing of a cycle corresponding to second cycle information added to the second information. Further comprising a first timing adjustment unit,
wherein the first processing module executes the first processing based on the second information called by the first timing adjustment unit.
제1 처리에 의해 제1 정보를 생성하는 것을 반복하는 제1 처리 모듈과,
제2 처리를 반복하는 제2 디바이스에 있어서, 어느 사이클의 상기 제2 처리에 있어서 상기 제1 정보를 호출할지를 지정하는 제1 사이클 정보를 상기 제1 정보에 부가하는 제1 부가부와,
상기 제1 부가부에 의해 제1 사이클 정보가 부가된 상기 제1 정보를 상기 제2 디바이스에 송신하는 통신부
를 구비하는, 디바이스.As a device,
a first processing module that repeats generating first information by the first processing;
A second device that repeats a second process, comprising: a first addition unit for adding first cycle information specifying in which cycle the first information is to be called in the second process of a cycle to the first information;
A communication unit configured to transmit the first information to which the first cycle information is added by the first adding unit to the second device.
A device comprising a.
상기 통신부는, 상기 제2 디바이스가 상기 제2 처리에 의해 생성하여, 제2 사이클 정보를 부가한 제2 정보를, 상기 제2 디바이스로부터 수신하고,
상기 디바이스는,
상기 통신부가 수신한 상기 제2 정보를 기억하여, 상기 제2 정보에 부가된 제2 사이클 정보에 대응하는 사이클의 제1 처리에 있어서 상기 제2 정보를 호출하는 제1 타이밍 조정부를 더 구비하고,
상기 제1 처리 모듈은, 상기 제1 타이밍 조정부에 의해 호출된 상기 제2 정보에 기초하여 상기 제1 처리를 실행하여, 상기 제1 정보를 생성하는 것인, 디바이스.According to claim 21,
The communication unit receives, from the second device, second information generated by the second device through the second processing and to which second cycle information is added, and
The device,
a first timing adjustment unit that stores the second information received by the communication unit and calls the second information in a first process of a cycle corresponding to second cycle information added to the second information;
wherein the first processing module executes the first processing based on the second information called by the first timing adjustment unit to generate the first information.
제1 처리를 반복하는 제1 디바이스가, 제1 처리에 의해 생성하여, 사이클 정보를 부가한 제1 정보를, 상기 제1 디바이스로부터 수신하는 통신부와,
상기 통신부가 수신한 상기 제1 정보를 기억하여, 상기 제1 정보에 부가된 사이클 정보에 대응하는 사이클의 제2 처리에 있어서 상기 제1 정보를 호출하는 타이밍 조정부와,
상기 타이밍 조정부에 의해 호출된 상기 제1 정보에 기초하여, 상기 제2 처리를 실행하는 처리 모듈
을 구비하는, 디바이스.As a device,
a communication unit configured to receive, from the first device, first information generated by a first device repeating a first process, to which cycle information is added, from the first device;
a timing adjustment unit that stores the first information received by the communication unit and calls the first information in a second process of a cycle corresponding to the cycle information added to the first information;
A processing module configured to execute the second processing based on the first information called by the timing adjusting unit.
A device comprising a.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPPCT/JP2020/019141 | 2020-05-13 | ||
PCT/JP2020/019141 WO2020230824A1 (en) | 2019-05-13 | 2020-05-13 | Machine control system, program, machine, and communication method |
PCT/JP2020/042331 WO2021229842A1 (en) | 2019-05-13 | 2020-11-12 | Machine control system, program, machine, system, and device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230006582A true KR20230006582A (en) | 2023-01-10 |
Family
ID=84499098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227042649A KR20230006582A (en) | 2020-05-13 | 2020-11-12 | Machine control systems, programs, machines, systems and devices |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4138402A4 (en) |
KR (1) | KR20230006582A (en) |
CN (1) | CN115516870A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019209454A (en) | 2018-06-08 | 2019-12-12 | 株式会社安川電機 | Machining system and control method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904184B2 (en) * | 2004-11-23 | 2011-03-08 | Rockwell Automation Technologies, Inc. | Motion control timing models |
JP2010287959A (en) * | 2009-06-09 | 2010-12-24 | Yaskawa Electric Corp | Synchronous communication system, communication device, and synchronous communication method |
US9601006B2 (en) * | 2015-07-30 | 2017-03-21 | Roku, Inc. | Universal remote control with automatic state synchronization |
US10613213B2 (en) * | 2016-05-13 | 2020-04-07 | Google Llc | Systems, methods, and devices for utilizing radar with smart devices |
JP6333915B2 (en) * | 2016-10-20 | 2018-05-30 | ファナック株式会社 | Numerical controller |
JP6915441B2 (en) * | 2017-08-10 | 2021-08-04 | オムロン株式会社 | Information processing equipment, information processing methods, and information processing programs |
JP6946909B2 (en) * | 2017-09-29 | 2021-10-13 | オムロン株式会社 | Control system and control device |
JP7095262B2 (en) * | 2017-11-10 | 2022-07-05 | 株式会社安川電機 | Programming support device, robot system and program generation method |
-
2020
- 2020-11-12 CN CN202080100688.4A patent/CN115516870A/en active Pending
- 2020-11-12 EP EP20935131.1A patent/EP4138402A4/en active Pending
- 2020-11-12 KR KR1020227042649A patent/KR20230006582A/en active Search and Examination
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019209454A (en) | 2018-06-08 | 2019-12-12 | 株式会社安川電機 | Machining system and control method |
Also Published As
Publication number | Publication date |
---|---|
EP4138402A4 (en) | 2024-05-15 |
CN115516870A (en) | 2022-12-23 |
EP4138402A1 (en) | 2023-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102517023B1 (en) | Machine control system, machine and communication method | |
KR101494117B1 (en) | Electric motor control system and communication method | |
US10860010B2 (en) | Information processing apparatus for estimating behaviour of driving device that drives control target, information processing method and computer readable recording medium | |
JP2018097661A (en) | Production system, control apparatus and control method | |
US11613015B2 (en) | Technique for providing reliable control in a cloud robotics system | |
KR102525831B1 (en) | Control system, controller and control method | |
JP7494155B2 (en) | Production system, cell controller, robot controller and control method | |
JP6915759B1 (en) | Machine control systems, programs, machines, systems and devices | |
KR20230006582A (en) | Machine control systems, programs, machines, systems and devices | |
US20220247632A1 (en) | Control system, control device, and non-transitory computer-readable recording medium recording program | |
US11378936B2 (en) | Control device, mechanical system, and time synchronization method | |
US20240223346A1 (en) | Communication using time division duplex pattern | |
JP7400104B2 (en) | Simulation device, control system, simulation method and program | |
US20240142954A1 (en) | Communication system with ordered command data sets | |
WO2024018900A1 (en) | Device control equipment, control system, and control method | |
JP2023108339A (en) | Device controller, control system and control method | |
US20220278818A1 (en) | Time synchronization of controller | |
CN116633983A (en) | Communication method and device for multi-robot collaborative operation and communication middleware | |
CN118648262A (en) | Communication system, communication device, and communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |