[go: up one dir, main page]

WO2021241440A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
WO2021241440A1
WO2021241440A1 PCT/JP2021/019375 JP2021019375W WO2021241440A1 WO 2021241440 A1 WO2021241440 A1 WO 2021241440A1 JP 2021019375 W JP2021019375 W JP 2021019375W WO 2021241440 A1 WO2021241440 A1 WO 2021241440A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
command
platform
command value
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2021/019375
Other languages
English (en)
French (fr)
Inventor
将隆 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2022526985A priority Critical patent/JP7436660B2/ja
Priority to US17/923,075 priority patent/US12147215B2/en
Priority to DE112021002979.7T priority patent/DE112021002979T5/de
Priority to CN202180033445.8A priority patent/CN115515759B/zh
Publication of WO2021241440A1 publication Critical patent/WO2021241440A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/41815Total 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
    • G05B19/4182Total 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 manipulators and conveyor only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33119Servo parameters in memory, configuration of control parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a control device.
  • a plurality of different control devices and a plurality of command languages are used in one production line.
  • the operation timing of each device is adjusted, for example, in the operation of waiting for the operation of other devices and performing the next operation. This is done by an application that uses a distributed control platform provided in the device (see, for example, Patent Document 1).
  • the line designer must create a command to perform cooperative operation between the devices on the application of each control device, and is forced to make a complicated design. Further, in switching the operation between the devices, it takes time to confirm the operation between the devices, and it is difficult to perform smooth cooperative operation.
  • One aspect of the present disclosure is that in a control device having a plurality of platforms, a plurality of command application units, a plurality of platform units associated with the plurality of command application units, and the plurality of platforms are communicated with each other.
  • a shared memory for storing information and a servo control processing unit are provided, and the command application unit inputs a command processing unit that outputs a command value, identification information of the platform unit to be coordinated control, and an arbitration method type.
  • the platform unit includes a command arbitration method designation unit for output, and the platform unit includes a first interface unit that acquires the command value from the command application unit, and identification information and arbitration method type of the platform unit from the command application unit.
  • the second interface unit that acquires the above, and the inter-platform communication unit that transmits the command processing, the identification information, and the mediation method type between the platform units via the shared memory are subject to cooperative control.
  • the command process, the identification information, and the arbitration method type are acquired from all the platform units, and the command process is arbitrated based on the identification information and the arbitration method type, and the arbitrated command process is performed.
  • a command arbitration unit for outputting to the shared memory is provided, and the servo control processing unit performs servo control based on the command value after arbitration acquired from the shared memory.
  • the application of each control device can operate the device to be controlled without being aware of the operation timing.
  • FIG. 1 is a functional block diagram showing the configuration of the control device 1 according to the present embodiment.
  • the control device 1 includes a first control unit 10, a second control unit 20, a first shared memory 31, a second shared memory 32, and a servo control processing unit 40. Although a control device having two control units is illustrated as an embodiment, the number of control units is not limited to two.
  • the control device 1 may include three or more control units. For example, when three or more control units are provided, each control unit includes a functional unit equivalent to that of the first control unit 10 or the second control unit 20. Specifically, when three control units are provided, the third control unit (referred to as "third control unit”) includes a third command application unit and a third platform unit.
  • the fourth control unit (referred to as "fourth control unit") includes a fourth command application unit and a fourth platform unit.
  • fourth control unit includes a fourth command application unit and a fourth platform unit.
  • the present embodiment a case where two control units are provided is illustrated, but even when three or more control units are provided, each control unit is similarly configured.
  • the first control unit 10 and the second control unit 20 are control units that control different devices from each other.
  • examples of the "devices different from each other" include conveyors, robots, machine tools, processing machines, press machines, and the like.
  • the control device 1 cooperatively controls different devices by the first control unit 10 and the second control unit 20.
  • the first control unit 10 and the second control unit 20 are configured by, for example, a CPU.
  • the first control unit 10 includes a first command application unit 11 and a first platform unit 12.
  • the first command application unit 11 gives the first platform unit 12 a command process including a command value for the device controlled by the first control unit 10, the command process, and a second device controlled by the second control unit 20. 2 Outputs an arbitration method for arbitrating with the command processing from the control unit 20.
  • the first command application unit 11 includes a first arbitration method designation unit 111 and a first command processing unit 112.
  • the first arbitration method designation unit 111 negotiates a command arbitration method between the other platforms based on the cooperative control information set in advance by the user.
  • the "cooperative control information” includes, for example, identification information and an arbitration method for all platforms subject to cooperative control.
  • the "arbitration method” specifically includes any one of order control, synchronization, mixing, and superimposition, and includes a method of calculating a command value.
  • order control is a process of controlling the order of commands executed by each platform.
  • Synchronization is the process of synchronizing the commands executed by each platform.
  • Mating is a process of outputting the command of the first platform from the second platform while outputting the command of the second platform from the first platform.
  • “Superimposition” is to add and process the command values used in each platform on one platform.
  • the first arbitration method designation unit 111 outputs identification information of all platforms to be coordinated control and the type of arbitration method to the first arbitration method designation interface described later included in the first platform unit 12. ..
  • the first command processing unit 112 outputs a command value for driving the device controlled by the first control unit 10 to the first platform unit 12. More specifically, the first command processing unit 112 outputs the above command value to the first command interface 121 described later provided in the first platform unit 12.
  • the first platform unit 12 includes a first command interface 121, a first arbitration method designation interface 122, a first inter-platform communication unit 123, and a first command arbitration unit 124.
  • the first command interface 121 is an interface for passing the command value acquired from the first command application unit 11 to the first command arbitration unit 124.
  • the first arbitration method designation interface 122 is an interface for passing the identification information of all the platforms to be coordinated control and the arbitration method type acquired from the first command application unit 11 to the first inter-platform communication unit 123. Is. Further, the interface 122 for designating the first arbitration method provides information on the arbitration method type and the arbitration method of the command value with the inter-platform communication unit of all the platforms to be coordinated and controlled via the first inter-platform communication unit 123. Send and receive.
  • the first inter-platform communication unit 123 receives the platform identification information, the type of arbitration method with the platform, the command value, and the information related to the arbitration method of the command value, which is received from all the platforms to be coordinated and controlled, as the first command. Output to the arbitration unit 124. Further, the first inter-platform communication unit is from the first command application unit 11 acquired via the platform identification information of the first platform unit 12 itself, the type of arbitration method with the platform, and the first command arbitration unit 124 described later. The command value and the information related to the arbitration method of the command value are written in the first shared memory 31 in order to output to another platform to be coordinated and controlled.
  • the first command arbitration unit 124 When the first command arbitration unit 124 acquires a command value from the first command processing unit 112 via the first command interface 121, the first command arbitration unit 124 outputs the command value to the first inter-platform communication unit 123. Further, the first command arbitration unit 124 arbitrates the command value based on the platform identification information of all the platforms to be coordinated control and the arbitration method type acquired from the first inter-platform communication unit 123, and after the arbitration. The command value is written to the second shared memory 32.
  • the second control unit 20 includes a second command application unit 21 and a second platform unit 22.
  • the second command application unit 21 has the same function as the first command application unit 11, detailed description thereof will be omitted. Further, since the second platform unit 22 has the same function as the first platform unit 12, detailed description thereof will be omitted.
  • the second command application unit 21 includes a second arbitration method designation unit 211 and a second command processing unit 212. Since the second arbitration method designation unit 211 has the same function as the first arbitration method designation unit 111, detailed description thereof will be omitted. Since the second command processing unit 212 has the same function as the first command processing unit 112, detailed description thereof will be omitted.
  • the second platform unit 22 includes a second command interface 221, a second arbitration method designation interface 222, a second inter-platform communication unit 223, and a second arbitration unit 224.
  • the second command interface 221 has the same function as the first command interface 121, detailed description thereof will be omitted.
  • the second arbitration method designation interface 222 has the same function as the first arbitration method designation interface 122, detailed description thereof will be omitted.
  • the second inter-platform communication unit 223 has the same function as the first inter-platform communication unit 123, detailed description thereof will be omitted.
  • the second command arbitration unit 224 has the same function as the first command arbitration unit 124, detailed description thereof will be omitted.
  • the first shared memory 31 has information related to the respective platform identification information, the type of arbitration method between platforms, the command value, and the arbitration method of the command value by the first inter-platform communication unit 123 and the second inter-platform communication unit 223. Is the memory to which is written.
  • the second shared memory 32 is a platform of all platforms to be coordinated and controlled, which is acquired from the respective inter-platform communication units by the first command arbitration unit 124 and the second command arbitration unit 224 via the first shared memory 31. It is a memory in which the command value after arbitration arbitrated based on the identification information and the arbitration method type is written.
  • first shared memory 31 and the second shared memory 32 may be collectively referred to as "shared memory”.
  • the servo control processing unit 40 performs servo control based on the command value after arbitration written in the second shared memory 32.
  • control device 1 performs command arbitration (coordinated operation) executed by different applications for different devices requiring cooperative operation, the first command application unit 11 and the second command application. This can be done by the first platform unit 12 and the second platform unit 22 without going through the unit 21.
  • FIG. 2A is a flowchart showing the basic operation of the control device 1.
  • FIG. 2B is a flowchart showing the operation of the control device 1 at the time of arbitration.
  • the basic operation means both the first command value output from the first command application unit 11 and the second command value output from the second command application unit 21 without arbitration. This is an operation of outputting the command value of the above to the servo control processing unit 40 as it is. For the sake of simplicity, it is assumed that the confirmation that both command values are not arbitrated is confirmed before the processing of the first command value and the second command value.
  • step S1 in the first command application unit 11, the first command processing unit 112 calculates the first command value using a motion program of a certain execution format, and the command value is used by the first platform unit 12. Output to the first command interface 121.
  • step S2 in the second command application unit 21, the second command processing unit 212 calculates the second command value using a motion program of a certain execution format, and uses the second command value as the second platform. It is output to the second command interface 221 of the unit 22.
  • step S3 the first command arbitration unit 124 acquires the first command value from the first command interface 121.
  • step S4 the second command arbitration unit 224 acquires the second command value from the second command interface 221.
  • step S5 the first command arbitration unit 124 and the second command arbitration unit 224 write the first command value and the second command value to the second shared memory 32, respectively.
  • step S6 the first command value and the second command value written in the second shared memory 32 are acquired by the servo control processing unit 40, and the servo control processing unit 40 uses the command values to servo. Performs operations for control.
  • the servo control processing unit 40 drives each motor by outputting this calculation result to each amplifier.
  • steps S11 to S12 Since the processing of steps S11 to S12 is the same as the processing of steps S1 to S2 during the basic operation, the description thereof will be omitted.
  • step S13 the first command arbitration unit 124 of the first platform unit 12 and the second command arbitration unit 224 of the second platform unit 22 follow the designated arbitration method, the first inter-platform communication unit 123, and the second platform.
  • the first command value and the second command value are arbitrated via the inter-communication unit 223 and the first shared memory 31.
  • step S14 the first command arbitration unit 124 or the second command arbitration unit 224 writes the arbitrated command value to the second shared memory 32.
  • step S15 each command value after arbitration written in the second shared memory 32 by the first command arbitration unit 124 or the second command arbitration unit 224 is acquired by the servo control processing unit 40, and is obtained by the servo control processing unit. 40 performs an operation for performing servo control using the command value.
  • the servo control processing unit 40 drives each motor by outputting this calculation result to each amplifier.
  • FIG. 3 is a diagram showing a flow of information related to a command value in the control device 1 according to the present embodiment.
  • FIG. 3 for simplification of the description, some components of the configuration of the control device 1 shown in FIG. 1 are omitted.
  • FIG. 4 is an example of an overall configuration diagram of a system that executes superimposition control, which is the target of this embodiment.
  • the robot 2 uses the arm 6 to move the work 7 on the conveyor 3.
  • the moving distance of the conveyor 3 (corresponding to the second command value) is superimposed on the operating distance of the arm 6 in the robot 2 (corresponding to the first command value).
  • each command value is transmitted along the arrow shown by the solid line.
  • the control device 1 controls the robot 2 and the conveyor 3 via the bus 5. More specifically, the first control unit 10 controls the robot 2, and the second control unit 20 controls the conveyor 3. Further, the first command application unit 11 is a robot controller that controls the robot 2 by using a robot program as an example.
  • the second command application unit 21 is a software PLC that controls the conveyor 3 using the ST language as an example.
  • FIG. 5 is a sequence diagram showing the operation of the control device 1 when performing superimposition control.
  • the first platform unit 12 confirms the arbitration method between the first platform unit 12 and the second platform unit 22.
  • step S2-1 the second command application unit 21 outputs the command value of the conveyor 3 to the second platform unit 22.
  • step S2-2 the second platform unit 22 confirms the arbitration method between the second platform unit 22 and the first platform unit 12.
  • the arbitration method here is to superimpose the command value from the second platform unit 22 on the command value from the first platform unit 12.
  • steps S1-1 and S1-2, and steps S2-1 and S2-2 are executed in parallel as one set, and it does not matter which of the sets is executed first. ..
  • step S2-3 the second platform unit 22 writes the command value of the conveyor 3 as the command value of the second platform unit 22 to the first shared memory 31.
  • step S1-3 the first platform unit 12 acquires the command value of the conveyor 3 as the command value of the second platform unit 22 from the first shared memory 31.
  • step S1-4 the first platform unit 12 superimposes the command value of the robot 2 and the command value of the conveyor 3.
  • step S1-5 the first platform unit 12 inputs (adds) the command value of the robot 2 and the command value of the conveyor 3 as the command value of the first platform unit 12 to the second shared memory. Output to 32.
  • step S2-4 the second platform unit 22 outputs the command value of the conveyor 3 as the command value of the second platform unit 22 to the second shared memory 32.
  • one control device is used to control the order of devices of different execution types (that is, as the movement of the robot arm as the above-mentioned "first command value” and as the "second command value”. This is an example of moving the slide of the press and controlling the output order to the servo control processing unit 40).
  • FIG. 6 is a diagram showing a flow of information related to a command value in the control device 1 according to the present embodiment. Note that, in FIG. 6, for simplification of the description, some components of the configuration of the control device 1 shown in FIG. 1 are omitted.
  • FIG. 7 is an example of an overall configuration diagram of a system that executes order control, which is the target of this embodiment.
  • the robot 2 uses the arm 6 to load the work 7 onto the press 4.
  • the arm 6 in the robot 2 loads the work 7 under the slide 8.
  • each command value is transmitted along the arrow shown by the solid line.
  • the control device 1 controls the robot 2 and the press 4 via the bus 5. More specifically, the first control unit 10 controls the robot 2, and the second control unit 20 controls the press 4.
  • the first command application unit 11 is a robot controller that controls the robot 2 by using a robot program as an example.
  • the second command application unit 21 is a numerical control device (CNC) that controls the press 4 by using an NC program as an example.
  • FIG. 8 is a sequence diagram showing the operation of the control device 1 when performing order control.
  • the first platform unit 12 confirms the arbitration method between the first platform unit 12 and the second platform unit 22.
  • step S2-11 the second command application unit 21 outputs the command value of the press 4 to the second platform unit 22.
  • step S2-12 the second platform unit 22 confirms the arbitration method between the second platform unit 22 and the first platform unit 12.
  • the arbitration method here is to prioritize the output of the command value from the second platform unit 22 over the output of the command value from the first platform unit 12.
  • steps S1-11 and S1-12, and steps S2-11 and S2-12 are executed in parallel as one set, and it does not matter which of the sets is executed first. ..
  • step S2-13 the second platform unit 22 writes the command value of the press 4 into the first shared memory 31 as the command value of the second platform unit 22.
  • step S1-13 the first platform unit 12 confirms that the command value of the press 4 is written from the second platform unit 22 to the first shared memory 31.
  • step S1-14 the first platform unit 12 waits for an arbitrary control cycle to elapse.
  • step S1-15 the first platform unit 12 outputs the command value of the robot 2 as the command value of the first platform unit 12 to the second shared memory 32.
  • step S2-14 the second platform unit 22 outputs the command value of the press 4 as the command value of the second platform unit 22 to the second shared memory 32.
  • the first platform unit 12 confirms that the command of the second platform unit 22 is output from the first shared memory 31, and then shares the command value of the first platform unit 12 to the second shared after an arbitrary control cycle. Output to the memory 32.
  • one control device is used for synchronous control between devices of different execution formats (that is, control for synchronizing the output timings of the above-mentioned "first command value” and "second command value”). Is an example of doing.
  • FIG. 9 is a sequence diagram showing the operation of the control device 1 when performing synchronous control.
  • step S1-21 the first command application unit 11 outputs the command value of the first command application unit 11 to the first platform unit 12.
  • the first platform unit 12 confirms the arbitration method between the first platform unit 12 and the second platform unit 22.
  • the arbitration method here is to synchronize the output of the command value from the first platform unit 12 and the output of the command value from the second platform unit 22.
  • step S2-21 the second command application unit 21 outputs the command value from the second command application unit 21 to the second platform unit 22.
  • step S2-22 the second platform unit 22 confirms the arbitration method between the second platform unit 22 and the first platform unit 12.
  • the arbitration method here is to synchronize the output of the command value from the first platform unit 12 and the output of the command value from the second platform unit 22.
  • steps S1-21 and S1-22, and steps S2-21 and S2-22 are executed in parallel as one set, and it does not matter which of the sets is executed first. ..
  • step S2-23 the second platform unit 22 writes the command value of the second platform unit 22 into the first shared memory 31.
  • the first platform unit 12 writes the command value of the first platform unit 12 to the first shared memory 31.
  • steps S1-23 and steps S2-23 are executed first.
  • the first platform unit 12 confirms the writing of the command value from the second platform unit 22 to the first shared memory 31.
  • step S2-24 the second platform unit 22 confirms the writing of the command value from the first platform unit 12 to the first shared memory 31.
  • the first platform unit 12 outputs the command value of the first platform unit 12 to the second shared memory 32.
  • step S2-25 the second platform unit 22 outputs the command value of the second platform unit 22 to the second shared memory 32.
  • the first platform unit 12 confirms that the second platform unit 22 has written the command value to the first shared memory 31, and outputs the command value of the first platform unit 12 to the second shared memory 32. .. Further, the second platform unit 22 confirms that the first platform unit 12 has written the command value to the first shared memory 31, and outputs the command value of the second platform unit 22 to the second shared memory 32.
  • one control device outputs a command value from the second platform unit 22 as a mixed control between devices of different execution formats (that is, as a “first command value”, and “second command value”.
  • a command value of the above this is an example of performing control to output the command value from the first platform unit 12.
  • FIG. 10 is a sequence diagram showing the operation of the control device 1 when performing mixing control.
  • step S1-31 the first command application unit 11 outputs the command value of the first command application unit 11 to the first platform unit 12.
  • step S1-32 the first platform unit 12 confirms the arbitration method between the first platform unit 12 and the second platform unit 22.
  • the arbitration method here is that the first platform unit 12 outputs the command value of the second platform unit 22, and the second platform unit 22 outputs the command value of the first platform unit 12.
  • step S2-31 the second command application unit 21 outputs the command value from the second command application unit 21 to the second platform unit 22.
  • step S2-32 the second platform unit 22 confirms the arbitration method between the second platform unit 22 and the first platform unit 12.
  • the arbitration method here is that the first platform unit 12 outputs the command value of the second platform unit 22, and the second platform unit 22 outputs the command value of the first platform unit 12.
  • steps S1-21 and S1-22, and steps S2-21 and S2-22 are executed in parallel as one set, and it does not matter which of the sets is executed first. ..
  • step S2-33 the second platform unit 22 writes the command value of the second platform unit 22 into the first shared memory 31.
  • step S1-33 the first platform unit 12 writes the command value of the first platform unit 12 to the first shared memory 31.
  • the first platform unit 12 acquires the command value of the second platform unit 22 from the first shared memory 31.
  • step S2-34 the second platform unit 22 acquires the command value of the first platform unit 12 from the first shared memory 31.
  • step S1-35 the first platform unit 12 outputs the command value of the second platform unit 22 to the second shared memory 32.
  • step S2-35 the second platform unit 22 outputs the command value of the first platform unit 12 to the second shared memory 32.
  • the first platform unit 12 confirms that the second platform unit 22 has written the command value to the first shared memory 31, and outputs the command value of the second platform unit 22 to the second shared memory 32. .. Further, the second platform unit 22 confirms that the first platform unit 12 has written the command value to the first shared memory 31, and outputs the command value of the first platform unit 12 to the second shared memory 32.
  • the control device (for example, the above-mentioned “control device 1") is a control device having a plurality of platforms, and the plurality of command application units (for example, the above-mentioned "first command application unit 11"). And “second command application unit 21"), and a plurality of platform units (for example, the above-mentioned “first platform unit 12" and “second platform unit 22") associated with the plurality of command application units.
  • a shared memory for storing information communicated between the plurality of platforms (for example, the above-mentioned "first shared memory 31" and "second shared memory 32"), and a servo control processing unit (for example, the above-mentioned "servo").
  • the command application unit includes a control processing unit 40 ”), and the command application unit includes a command processing unit (for example, the above-mentioned“ first command processing unit 112 ”and“ second command processing unit 212 ”) that outputs a command value.
  • An arbitration method designation unit (for example, the above-mentioned “first arbitration method designation unit 111" and "second arbitration method designation unit 211") that outputs the identification information of the platform unit to be coordinated control and the arbitration method type are used.
  • the platform unit includes a first interface unit (for example, the above-mentioned "first command interface 121" and "second command interface 221") for acquiring the command value from the command application unit, and the command.
  • the second interface unit for example, the above-mentioned “first arbitration method designation interface 122" and “second arbitration method designation interface 222" for acquiring the identification information of the platform unit and the arbitration method type from the application unit.
  • the inter-platform communication unit for example, the above-mentioned “first inter-platform communication unit 123” and the above-mentioned “first inter-platform communication unit 123” that transmits the command processing, the identification information, and the mediation method type between the platform units via the shared memory unit.
  • the command processing, the identification information, and the arbitration method type are acquired from the "second platform-to-platform communication unit 223") and all the platform units to be coordinated and controlled, and the identification information and the arbitration method type are used.
  • command arbitration unit for example, the above-mentioned “first command arbitration unit 124" and “second command arbitration unit 224" that arbitrates the command processing based on the above and outputs the arbitrated command processing to the shared memory.
  • the servo control processing unit performs servo control based on the command value after arbitration acquired from the shared memory.
  • the operation timing arbitration between the devices which was performed by the application of each control device, can be performed on each platform in one control device, so that the application of each control device can be controlled without being aware of the operation timing. It becomes possible to operate the device of.
  • the arbitration method type includes any one of order control, synchronization, mixing, and superimposition of the command processing between the plurality of platform units. And.
  • the control device 1 has a configuration including two control units, a first control unit 10 and a second control unit 20, but is not limited thereto. For example, it is possible to provide an arbitrary plurality of control units according to the number of devices controlled by the control device 1.
  • Each component included in the above control device 1 can be realized by hardware, software, or a combination thereof. Further, a control method performed by cooperation of each component included in the control device 1 can also be realized by hardware, software, or a combination thereof.
  • what is realized by software means that it is realized by a computer reading and executing a program.
  • Non-temporary computer-readable media include various types of tangible storage mediums.
  • Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), CD-. Includes R, CD-R / W, and semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
  • the program may also be supplied to the computer by various types of transient computer readable medium.
  • Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • Control device 10 1st control unit 11 1st command application unit 12 1st platform unit 20 2nd control unit 21 2nd command application unit 22 2nd platform unit 31 1st shared memory 32 2nd shared memory 40 Servo control processing unit 111 1st arbitration method designation unit 122 1st arbitration method designation interface 123 1st platform-to-platform communication unit 124 1st command arbitration unit 211 2nd arbitration method designation unit 222 2nd arbitration method designation interface 223 2nd platform-to-platform communication unit 224 2nd Command Mediation Department

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

各制御装置のアプリケーションが動作タイミングを意識せずに、制御対象の装置を動作させる。 制御装置は、複数の指令アプリケーション部と、複数のプラットフォーム部と、複数のプラットフォーム間で通信される情報を記憶する共有メモリとを備え、指令アプリケーション部は、協調制御対象となるプラットフォーム部の識別情報と調停方法種別とを、プラットフォーム部に出力する指令調停方法指定部を備え、プラットフォーム部は、共有メモリを介して、プラットフォーム部間で指令値、識別情報、及び調停方法種別の伝達を行うプラットフォーム間通信部と、協調制御対象となる全てのプラットフォーム部から、指令値、識別情報、調停方法種別を取得すると共に、識別情報及び調停方法種別に基づいて指令値の調停を行い、調停された指令値を共有メモリに出力する指令調停部とを備える。

Description

制御装置
 本発明は、制御装置に関する。
 製造工場では、コンベア、ロボット、加工機等を一つの生産ラインで使用するケースが増えている。現状、単純な動作をするコンベア等は、PLC(Programmable Logic Controller)上でラダー、ファンクションブロック、構造化テキスト言語(ST言語)等を使い指令していることが多い。また、ロボットではロボットコントローラ上でロボットプログラムによって指令している。一方、工作機械等の加工機では制御装置上でGコードによって指令している。
 このような場合、一つの生産ラインにおいて、複数の異なる制御装置や、複数の指令言語が使われている。一つの生産ラインに複数の異なる制御装置が使われている生産ラインでは、他の装置の動作を待ち、次の動作を行うような動作では、各装置間の動作タイミングの調整を、例えば各制御装置に備わる分散制御プラットフォームを用いるアプリケーションによって行っている(例えば、特許文献1参照)。
特開2004-220326号公報
 そのため、ラインの設計者は、各制御装置のアプリケーション上で装置間の協調動作を行う指令を作成しなくてはならず、複雑な設計を強いられる。また、この装置間の動作の切り替えには、装置間の動作を確認する時間が発生しており、円滑な協調動作を行うことが困難である。
 各制御装置のアプリケーションが動作タイミングを意識せずに、制御対象の装置を動作させることが可能になる技術が望まれている。
 本開示の一態様は、複数のプラットフォームを有する制御装置において、複数の指令アプリケーション部と、前記複数の指令アプリケーション部にそれぞれ対応付けられた複数のプラットフォーム部と、前記複数のプラットフォーム間で通信される情報を記憶する共有メモリと、サーボ制御処理部と、を備え、前記指令アプリケーション部は、指令値を出力する指令処理部と、協調制御対象となる前記プラットフォーム部の識別情報と調停方法種別とを出力する指令調停方法指定部とを備え、前記プラットフォーム部は、前記指令アプリケーション部から、前記指令値を取得する第1インタフェース部と、前記指令アプリケーション部から、前記プラットフォーム部の識別情報と調停方法種別とを取得する第2インタフェース部と、前記共有メモリを介して、前記プラットフォーム部間で前記指令処理、前記識別情報、及び前記調停方法種別の伝達を行うプラットフォーム間通信部と、協調制御対象となる全ての前記プラットフォーム部から、前記指令処理、前記識別情報、前記調停方法種別を取得すると共に、前記識別情報及び前記調停方法種別に基づいて前記指令処理の調停を行い、調停された前記指令処理を前記共有メモリに出力する指令調停部とを備え、前記サーボ制御処理部は、前記共有メモリから取得された、調停後の前記指令値に基づいて、サーボ制御を行う。
 本発明によれば、各制御装置のアプリケーションが動作タイミングを意識せずに、制御対象の装置を動作させることが可能となる。
一実施形態に係る制御装置の機能ブロック図である。 一実施形態に係る制御装置の動作を示すフローチャートである。 一実施形態に係る制御装置の動作を示すフローチャートである。 一実施形態に係る制御装置における情報の流れを示す図である。 一実施形態に係る制御装置が制御するシステムの例を示す図である。 一実施形態に係る制御装置の動作を示すシーケンス図である。 一実施形態に係る制御装置における情報の流れを示す図である。 一実施形態に係る制御装置が制御するシステムの例を示す図である。 一実施形態に係る制御装置の動作を示すシーケンス図である。 一実施形態に係る制御装置の動作を示すシーケンス図である。 一実施形態に係る制御装置の動作を示すシーケンス図である。
 以下、本発明の実施形態について、図1~図7を参照することにより説明する。
〔1 実施形態の構成〕
 図1は、本実施形態に係る制御装置1の構成を示す機能ブロック図である。制御装置1は、第1制御部10と、第2制御部20と、第1共有メモリ31と、第2共有メモリ32と、サーボ制御処理部40とを備える。なお、実施例として2つの制御部を有する制御装置を例示するが、制御部は2つに限られない。制御装置1は、3つ以上の制御部を備えてもよい。例えば、3つ以上の制御部を備えている場合、それぞれの制御部は、第1制御部10又は第2制御部20の備える機能部と同等の機能部を備える。具体的には、3つの制御部を備えている場合、3番目の制御部(「第3制御部」という)は、第3指令アプリケーション部と、第3プラットフォーム部と、を備える。また、4つの制御部を備えている場合、4番目の制御部(「第4制御部」という)は、第4指令アプリケーション部と、第4プラットフォーム部と、を備える。本実施形態においては、2つの制御部を備えている場合について例示するが、3つ以上の制御部を備える場合も、各制御部は、同様に構成される。
 第1制御部10と第2制御部20とは、各々が互いに異なる装置を制御する制御部である。ここで、「互いに異なる装置」とは、例えば、コンベア、ロボット、工作機械、加工機、プレス機等が挙げられる。制御装置1は、第1制御部10と第2制御部20とにより、互いに異なる装置を協調制御する。なお、第1制御部10と第2制御部20とは、例えばCPUによって構成される。
 第1制御部10は、第1指令アプリケーション部11と、第1プラットフォーム部12とを備える。
 第1指令アプリケーション部11は、第1プラットフォーム部12に対し、第1制御部10で制御する装置に対する指令値を含む指令処理と、当該指令処理と、第2制御部20で制御する装置に対する第2制御部20からの指令処理とを調停する調停方法とを出力する。
 第1指令アプリケーション部11は、第1調停方法指定部111と、第1指令処理部112とを備える。
 第1調停方法指定部111は、他の複数のプラットフォーム間で、予めユーザにより設定された協調制御情報に基づいて、当該プラットフォーム間で、指令の調停方法のネゴシエーションを行う。ここで、「協調制御情報」とは、例えば、協調制御対象となる全てのプラットフォームの識別情報及び調停方法を含む。また、「調停方法」とは、具体的には、順序制御、同期、混合、重畳の何れか1つを含み、指令値の演算方法を含む。
 具体的には、「順序制御」とは、各プラットフォームが実行する指令の順序を制御する処理のことである。「同期」とは、各プラットフォームが実行する指令を同期させる処理のことである。「混合」とは、第1のプラットフォームの指令を、第2のプラットフォームから出力する一方で、第2のプラットフォームの指令を、第1のプラットフォームから出力する処理のことである。「重畳」とは、各プラットフォームで用いる指令値を、1つのプラットフォームで加算して処理することである。
 第1調停方法指定部111は、第1プラットフォーム部12が備える、後述の第1調停方法指定用インタフェースに対し、協調制御対象となる全てのプラットフォームの識別情報と、調停方法の種別とを出力する。
 第1指令処理部112は、第1プラットフォーム部12に対し、第1制御部10で制御する装置を駆動するための指令値を出力する。より具体的には、第1指令処理部112は、第1プラットフォーム部12が備える、後述の第1指令用インタフェース121に対し、上記の指令値を出力する。
 第1プラットフォーム部12は、第1指令用インタフェース121と、第1調停方法指定用インタフェース122と、第1プラットフォーム間通信部123と、第1指令調停部124とを備える。
 第1指令用インタフェース121は、第1指令アプリケーション部11から取得した指令値を、第1指令調停部124に受け渡すためのインタフェースである。
 第1調停方法指定用インタフェース122は、第1指令アプリケーション部11から取得した、協調制御対象となる全てのプラットフォームの識別情報と調停方法種別を、第1プラットフォーム間通信部123に受け渡すためのインタフェースである。更に、第1調停方法指定用インタフェース122は、第1プラットフォーム間通信部123を介して、協調制御対象となる全てのプラットフォームのプラットフォーム間通信部と、調停方法種別及び指令値の調停方法に係る情報の送受信を行う。
 第1プラットフォーム間通信部123は、協調制御対象となる全てのプラットフォームから受信した、プラットフォーム識別情報、当該プラットフォームとの調停方法種別、指令値、及び指令値の調停方法に係る情報を、第1指令調停部124に出力する。
 また、第1プラットフォーム間通信部は、第1プラットフォーム部12自身のプラットフォーム識別情報、当該プラットフォームとの調停方法種別、後述の第1指令調停部124を介して取得した第1指令アプリケーション部11からの指令値、及び指令値の調停方法に係る情報を、協調制御対象となる他のプラットフォームに出力するため、第1共有メモリ31に書き込む。
 第1指令調停部124は、第1指令処理部112から、第1指令用インタフェース121を介して指令値を取得すると、当該指令値を第1プラットフォーム間通信部123に出力する。また、第1指令調停部124は、第1プラットフォーム間通信部123から取得した、協調制御対象となる全てのプラットフォームのプラットフォーム識別情報、及び調停方法種別に基づいて指令値を調停し、調停後の指令値を、第2共有メモリ32に書き込む。
 第2制御部20は、第2指令アプリケーション部21と、第2プラットフォーム部22とを備える。
 第2指令アプリケーション部21は、第1指令アプリケーション部11と同様の機能を有するため、その詳細な説明は省略する。また、第2プラットフォーム部22は、第1プラットフォーム部12と同様の機能を有するため、その詳細な説明は省略する。
 第2指令アプリケーション部21は、第2調停方法指定部211と、第2指令処理部212とを備える。
 第2調停方法指定部211は、第1調停方法指定部111と同様の機能を有するため、その詳細な説明は省略する。第2指令処理部212は、第1指令処理部112と同様の機能を有するため、その詳細な説明は省略する。
 第2プラットフォーム部22は、第2指令用インタフェース221と、第2調停方法指定用インタフェース222と、第2プラットフォーム間通信部223と、第2指令調停部224とを備える。
 第2指令用インタフェース221は、第1指令用インタフェース121と同様の機能を有するため、その詳細な説明は省略する。第2調停方法指定用インタフェース222は、第1調停方法指定用インタフェース122と同様の機能を有するため、その詳細な説明は省略する。第2プラットフォーム間通信部223は、第1プラットフォーム間通信部123と同様の機能を有するため、その詳細な説明は省略する。第2指令調停部224は、第1指令調停部124と同様の機能を有するため、その詳細な説明は省略する。
 第1共有メモリ31は、第1プラットフォーム間通信部123及び第2プラットフォーム間通信部223によって、それぞれのプラットフォーム識別情報、プラットフォーム間での調停方法種別、指令値、及び指令値の調停方法に係る情報が書き込まれるメモリである。
 第2共有メモリ32は、第1指令調停部124及び第2指令調停部224によって、それぞれのプラットフォーム間通信部から第1共有メモリ31を介して取得した、協調制御対象となる全てのプラットフォームのプラットフォーム識別情報、及び調停方法種別に基づいてそれぞれ調停された調停後の指令値が書き込まれるメモリである。
 なお、第1共有メモリ31と第2共有メモリ32とを、「共有メモリ」として総称することがある。
 サーボ制御処理部40は、第2共有メモリ32に書き込まれた、調停後の指令値に基づいて、サーボ制御を行う。
 制御装置1は、上記の構成を備えることにより、協調動作を要する異なる装置に対して、それぞれ異なるアプリケーションにより実行される指令の調停(協調動作)を、第1指令アプリケーション部11及び第2指令アプリケーション部21を介さずに、第1プラットフォーム部12及び第2プラットフォーム部22で行うことが可能となる。
〔2 実施形態の動作〕
 以下、図2A及び図2Bを参照し、本実施形態に係る制御装置1の動作について説明する。図2Aは、制御装置1の基本動作を示すフローチャートである。図2Bは、制御装置1の調停時の動作を示すフローチャートである。
〔2.1 基本動作〕
 最初に、図2Aを参照することにより、制御装置1の基本動作における指令の流れについて説明する。ここで、「基本動作」とは、第1指令アプリケーション部11から出力される第1の指令値と、第2指令アプリケーション部21から出力される第2の指令値とを調停せずに、双方の指令値をそのままサーボ制御処理部40に出力する動作のことである。なお、説明を簡単にするために、双方の指令値を調停しないことの確認は、第1の指令値及び第2の指令値の処理前に確認されているものとする。
 ステップS1において、第1指令アプリケーション部11で、第1指令処理部112は、ある実行形式のモーションプログラムを用いて第1の指令値の演算を行い、当該指令値を、第1プラットフォーム部12の第1指令用インタフェース121に出力する。
 ステップS2において、第2指令アプリケーション部21で、第2指令処理部212は、ある実行形式のモーションプログラムを用いて第2の指令値の演算を行い、当該第2の指令値を、第2プラットフォーム部22の第2指令用インタフェース221に出力する。
 ステップS3において、第1指令調停部124は、第1指令用インタフェース121から、第1の指令値を取得する。
 ステップS4において、第2指令調停部224は、第2指令用インタフェース221から、第2の指令値を取得する。
 ステップS5において、第1指令調停部124及び第2指令調停部224は、それぞれ第1の指令値及び第2の指令値を、第2共有メモリ32に書き込む。
 ステップS6において、第2共有メモリ32に書き込まれた第1の指令値及び第2の指令値は、サーボ制御処理部40によって取得され、サーボ制御処理部40は、当該指令値を用いて、サーボ制御をするための演算を行う。サーボ制御処理部40は、この演算結果をそれぞれのアンプへ出力することで、それぞれのモータを駆動する。
〔2.2 調停時の動作〕
 次に、図2Bを参照することにより、制御装置1における調停時の動作について説明する。調停時においては、制御装置1は、上記の「第1の指令値」と「第2の指令値」とを調停し、調停後の指令値をサーボ制御処理部40に出力する。なお、説明を簡単にするために、双方の指令値に係る調停方法の確認は、第1の指令値及び第2の指令値の処理前に確認されているものとする。なお、双方の指令値に係る調停方法の確認を第1の指令値及び第2の指令値の処理の過程で行うようにしてもよい。
 ステップS11~ステップS12の処理は、基本動作時のステップS1~ステップS2の処理と同一であるため、その説明を省略する。
 ステップS13において、第1プラットフォーム部12の第1指令調停部124、及び第2プラットフォーム部22の第2指令調停部224は、指定された調停方法に従い、第1プラットフォーム間通信部123、第2プラットフォーム間通信部223、第1共有メモリ31を介して、第1の指令値と第2の指令値の調停を行う。
 ステップS14において、第1指令調停部124又は第2指令調停部224は、調停を行った指令値を、第2共有メモリ32に書き込む。
 ステップS15において、第1指令調停部124又は第2指令調停部224によって第2共有メモリ32に書き込まれた、調停後のそれぞれの指令値は、サーボ制御処理部40によって取得され、サーボ制御処理部40は、当該指令値を用いて、サーボ制御をするための演算を行う。サーボ制御処理部40は、この演算結果をそれぞれのアンプへ出力することで、それぞれのモータを駆動する。
〔3 実施例〕
〔3.1 第1の実施例〕
 以下、図3及び~図5を参照することにより、第1の実施例について説明する。第1の実施例は、一つの制御装置で、異なる実行形式の装置同士の重畳制御(すなわち、上記の「第1の指令値」に「第2の指令値」を加算した値を「第1の指令値」とする重畳制御)を行う例である。
 図3は、本実施例に係る制御装置1における指令値に係る情報の流れを示す図である。なお、図3においては、説明の簡略化のため、図1に示す制御装置1の構成のうち一部の構成要素を省略している。
 また、図4は、本実施例が対象とする重畳制御を実行するシステムの全体構成図の例示である。図4で例示するように、本実施例においては、ロボット2がアーム6を用いて、コンベア3上のワーク7を移動させる。この際、生産性を向上させるため、ロボット2におけるアーム6の動作距離(第1の指令値に相当)に、コンベア3の移動距離(第2の指令値に相当)を重畳する。
 図3において、各指令値は実線で示される矢印に沿って伝達される。また、図3に示す例において、制御装置1は、バス5を介して、ロボット2とコンベア3とを制御する。より詳細には、第1制御部10がロボット2を制御し、第2制御部20がコンベア3を制御する。また、第1指令アプリケーション部11は、例としてロボットプログラムを用いて、ロボット2を制御するロボットコントローラである。第2指令アプリケーション部21は、例としてST言語を用いてコンベア3を制御するソフトPLCである。
 第1指令アプリケーション部11は、第1プラットフォーム部12に対して、指令値としてロボット2のアーム6の動作距離Xr=40mmを出力する。また、第2指令アプリケーション部21は、第2プラットフォーム部22に対して、指令値としてコンベア3の移動距離Xc=20mmを出力する。このとき、第1プラットフォーム部12は、XrとXcとを重畳し、重畳された指令値を、第2共有メモリ32に書き込む。第2共有メモリ32に書き込まれた指令値は、サーボ制御処理部40によって取得される。
 図5は、重畳制御をする際の、制御装置1の動作を示すシーケンス図である。
 ステップS1-1において、第1指令アプリケーション部11は、第1プラットフォーム部12に対し、ロボット2の指令値(例えば、アーム6の動作距離Xr=40mm)を出力する。
 ステップS1-2において、第1プラットフォーム部12は、当該第1プラットフォーム部12と第2プラットフォーム部22との調停方法を確認する。ここでの調停方法とは、第2プラットフォーム部22からのコンベア3に対する指令値(例えば、コンベア3の移動距離Xc=20mm)を、第1プラットフォーム部12からのロボット2に対する指令値に重畳することである。
 ステップS2-1において、第2指令アプリケーション部21は、第2プラットフォーム部22に対し、コンベア3の指令値を出力する。
 ステップS2-2において、第2プラットフォーム部22は、当該第2プラットフォーム部22と第1プラットフォーム部12との調停方法を確認する。ここでの調停方法とは、第2プラットフォーム部22からの指令値を、第1プラットフォーム部12からの指令値に重畳することである。
 なお、ステップS1-1とステップS1-2、及びステップS2-1とステップS2-2は、それぞれ一つの組としてパラレルに実行されると共に、各々の組のどちらを先に実行するかは問わない。
 ステップS2-3において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値としてコンベア3の指令値を第1共有メモリ31に書き込む。
 ステップS1-3において、第1プラットフォーム部12は、第1共有メモリ31から、第2プラットフォーム部22の指令値としてコンベア3の指令値を取得する。
 ステップS1-4において、第1プラットフォーム部12は、ロボット2の指令値とコンベア3の指令値を重畳する。
 ステップS1-5において、第1プラットフォーム部12は、当該第1プラットフォーム部12の指令値としてロボット2の指令値とコンベア3の指令値とが重畳(加算)された指令値を、第2共有メモリ32に出力する。
 ステップS2-4において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値としてコンベア3の指令値を、第2共有メモリ32に出力する。
 これにより、ロボット2とコンベア3を有する生産ラインを、制御装置1により制御することで、機器間の重畳動作が容易になり、コンベア3を止めることなくワークへの作業が行える。
〔3.2 第2の実施例〕
 以下、図6~図8を参照することにより、第2の実施例について説明する。第2の実施例は、一つの制御装置で、異なる実行形式の装置同士の順序制御(すなわち、上記の「第1の指令値」としてのロボットのアームの移動と「第2の指令値」としてのプレスのスライドの移動と、のサーボ制御処理部40への出力順序の制御)を行う例である。
 図6は、本実施例に係る制御装置1における指令値に係る情報の流れを示す図である。なお、図6においては、説明の簡略化のため、図1に示す制御装置1の構成のうち一部の構成要素を省略している。
 また、図7は、本実施例が対象とする順序制御を実行するシステムの全体構成図の例である。図7で例示するように、本実施例においては、ロボット2がアーム6を用いて、プレス4にワーク7をロードする。この際、生産性を向上させるため、プレス4のスライド8が上方に移動した後に、ロボット2におけるアーム6が、ワーク7をスライド8の下にロードする。
 図6において、各指令値は実線で示される矢印に沿って伝達される。また、図2に示す例において、制御装置1は、バス5を介して、ロボット2とプレス4とを制御する。より詳細には、第1制御部10がロボット2を制御し、第2制御部20がプレス4を制御する。また、第1指令アプリケーション部11は、例としてロボットプログラムを用いて、ロボット2を制御するロボットコントローラである。第2指令アプリケーション部21は、例としてNCプログラムを用いてプレス4を制御する数値制御装置(CNC)である。
 第1指令アプリケーション部11は、第1プラットフォーム部12に対して、指令値としてロボット2のアーム6の動作距離Xr=40mmを出力する。また、第2指令アプリケーション部21は、第2プラットフォーム部22に対して、指令値としてプレス4のスライド8の移動距離Xp=20mmを出力する。このとき、第1プラットフォーム部12は、第2プラットフォーム部22からのプレス4の移動指令の処理を待って、指令値を第2共有メモリ32に書き込む。第2共有メモリ32に書き込まれた指令値は、サーボ制御処理部40によって取得される。
 図8は、順序制御をする際の、制御装置1の動作を示すシーケンス図である。
 ステップS1-11において、第1指令アプリケーション部11は、第1プラットフォーム部12に対し、ロボット2の指令値(例えば、アーム6の動作距離Xr=40mm)を出力する。
 ステップS1-12において、第1プラットフォーム部12は、当該第1プラットフォーム部12と第2プラットフォーム部22との調停方法を確認する。ここでの調停方法とは、第2プラットフォーム部22からのプレス4に対する指令値(例えば、スライド8の移動距離Xp=20mm)の出力を、第1プラットフォーム部12からのロボット2に対する指令値の出力よりも優先させることである。
 ステップS2-11において、第2指令アプリケーション部21は、第2プラットフォーム部22に対し、プレス4の指令値を出力する。
 ステップS2-12において、第2プラットフォーム部22は、当該第2プラットフォーム部22と第1プラットフォーム部12との調停方法を確認する。ここでの調停方法とは、第2プラットフォーム部22からの指令値の出力を、第1プラットフォーム部12からの指令値の出力よりも優先させることである。
 なお、ステップS1-11とステップS1-12、及びステップS2-11とステップS2-12は、それぞれ一つの組としてパラレルに実行されると共に、各々の組のどちらを先に実行するかは問わない。
 ステップS2-13において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値としてプレス4の指令値を第1共有メモリ31に書き込む。
 ステップS1-13において、第1プラットフォーム部12は、第1共有メモリ31に対する、第2プラットフォーム部22からのプレス4の指令値の書き込みを確認する。
 ステップS1-14において、第1プラットフォーム部12は、任意の制御周期が経過するのを待つ。
 ステップS1-15において、第1プラットフォーム部12は、当該第1プラットフォーム部12の指令値としてロボット2の指令値を、第2共有メモリ32に出力する。
 ステップS2-14において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値としてプレス4の指令値を、第2共有メモリ32に出力する。
 これにより、第1プラットフォーム部12は、第1共有メモリ31から第2プラットフォーム部22の指令が出力したことを確認した後、任意の制御周期後に第1プラットフォーム部12の指令値を、第2共有メモリ32へ出力する。
〔3.3 第3の実施例〕
 以下、図9を参照することにより、第3の実施例について説明する。第3の実施例は、一つの制御装置で、異なる実行形式の装置同士の同期制御(すなわち、上記の「第1の指令値」と「第2の指令値」の出力タイミングを同期させる制御)を行う例である。
 図9は、同期制御をする際の、制御装置1の動作を示すシーケンス図である。
 ステップS1-21において、第1指令アプリケーション部11は、第1プラットフォーム部12に対し、第1指令アプリケーション部11の指令値を出力する。
 ステップS1-22において、第1プラットフォーム部12は、当該第1プラットフォーム部12と第2プラットフォーム部22との調停方法を確認する。ここでの調停方法とは、第1プラットフォーム部12からの指令値の出力と、第2プラットフォーム部22からの指令値の出力とを、同期させることである。
 ステップS2-21において、第2指令アプリケーション部21は、第2プラットフォーム部22に対し、第2指令アプリケーション部21からの指令値を出力する。
 ステップS2-22において、第2プラットフォーム部22は、当該第2プラットフォーム部22と第1プラットフォーム部12との調停方法を確認する。ここでの調停方法とは、第1プラットフォーム部12からの指令値の出力と、第2プラットフォーム部22からの指令値の出力とを、同期させることである。
 なお、ステップS1-21とステップS1-22、及びステップS2-21とステップS2-22は、それぞれ一つの組としてパラレルに実行されると共に、各々の組のどちらを先に実行するかは問わない。
 ステップS2-23において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値を第1共有メモリ31に書き込む。
 ステップS1-23において、第1プラットフォーム部12は、当該第1プラットフォーム部12の指令値を第1共有メモリ31に書き込む。
 なお、ステップS1-23とステップS2-23とは、どちらを先に実行するかは問わない。
 ステップS1-24において、第1プラットフォーム部12は、第1共有メモリ31に対する、第2プラットフォーム部22からの指令値の書き込みを確認する。
 ステップS2-24において、第2プラットフォーム部22は、第1共有メモリ31に対する、第1プラットフォーム部12からの指令値の書き込みを確認する。
 なお、ステップS1-24とステップS2-24とは、どちらを先に実行するかは問わない。
 ステップS1-25において、第1プラットフォーム部12は、当該第1プラットフォーム部12の指令値を、第2共有メモリ32に出力する。
 ステップS2-25において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値を、第2共有メモリ32に出力する。
 これにより、第1プラットフォーム部12は、第2プラットフォーム部22が第1共有メモリ31へ指令値を書き込んだことを確認し、第1プラットフォーム部12の指令値を、第2共有メモリ32に出力する。また、第2プラットフォーム部22は、第1プラットフォーム部12が第1共有メモリ31へ指令値を書き込んだことを確認し、第2プラットフォーム部22の指令値を、第2共有メモリ32に出力する。
〔3.4 第4の実施例〕
 以下、図10を参照することにより、第4の実施例について説明する。第4の実施例は、一つの制御装置で、異なる実行形式の装置同士の混合制御(すなわち、「第1の指令値」として、第2プラットフォーム部22からの指令値を出力し、「第2の指令値」として、第1プラットフォーム部12からの指令値を出力する制御)を行う例である。
 図10は、混合制御をする際の、制御装置1の動作を示すシーケンス図である。
 ステップS1-31において、第1指令アプリケーション部11は、第1プラットフォーム部12に対し、第1指令アプリケーション部11の指令値を出力する。
 ステップS1-32において、第1プラットフォーム部12は、当該第1プラットフォーム部12と第2プラットフォーム部22との調停方法を確認する。ここでの調停方法とは、第2プラットフォーム部22の指令値を、第1プラットフォーム部12が出力し、第1プラットフォーム部12の指令値を、第2プラットフォーム部22が出力することである。
 ステップS2-31において、第2指令アプリケーション部21は、第2プラットフォーム部22に対し、第2指令アプリケーション部21からの指令値を出力する。
 ステップS2-32において、第2プラットフォーム部22は、当該第2プラットフォーム部22と第1プラットフォーム部12との調停方法を確認する。ここでの調停方法とは、第2プラットフォーム部22の指令値を、第1プラットフォーム部12が出力し、第1プラットフォーム部12の指令値を、第2プラットフォーム部22が出力することである。
 なお、ステップS1-21とステップS1-22、及びステップS2-21とステップS2-22は、それぞれ一つの組としてパラレルに実行されると共に、各々の組のどちらを先に実行するかは問わない。
 ステップS2-33において、第2プラットフォーム部22は、当該第2プラットフォーム部22の指令値を第1共有メモリ31に書き込む。
 ステップS1-33において、第1プラットフォーム部12は、当該第1プラットフォーム部12の指令値を第1共有メモリ31に書き込む。
 なお、ステップS1-33とステップS2-33とは、どちらを先に実行するかは問わない。
 ステップS1-34において、第1プラットフォーム部12は、第1共有メモリ31から、第2プラットフォーム部22の指令値を取得する。
 ステップS2-34において、第2プラットフォーム部22は、第1共有メモリ31から、第1プラットフォーム部12の指令値を取得する。
 なお、ステップS1-34とステップS2-34とは、どちらを先に実行するかは問わない。
 ステップS1-35において、第1プラットフォーム部12は、第2プラットフォーム部22の指令値を、第2共有メモリ32に出力する。
 ステップS2-35において、第2プラットフォーム部22は、第1プラットフォーム部12の指令値を、第2共有メモリ32に出力する。
 これにより、第1プラットフォーム部12は、第2プラットフォーム部22が第1共有メモリ31へ指令値を書き込んだことを確認し、第2プラットフォーム部22の指令値を、第2共有メモリ32に出力する。また、第2プラットフォーム部22は、第1プラットフォーム部12が第1共有メモリ31へ指令値を書き込んだことを確認し、第1プラットフォーム部12の指令値を、第2共有メモリ32に出力する。
〔4 効果〕
 (1) 本実施形態に係る制御装置(例えば、上記の「制御装置1」)は、複数のプラットフォームを有する制御装置において、複数の指令アプリケーション部(例えば、上記の「第1指令アプリケーション部11」及び「第2指令アプリケーション部21」)と、前記複数の指令アプリケーション部にそれぞれ対応付けられた複数のプラットフォーム部(例えば、上記の「第1プラットフォーム部12」及び「第2プラットフォーム部22」)と、前記複数のプラットフォーム間で通信される情報を記憶する共有メモリ(例えば、上記の「第1共有メモリ31」及び「第2共有メモリ32」)と、サーボ制御処理部(例えば、上記の「サーボ制御処理部40」)と、を備え、前記指令アプリケーション部は、指令値を出力する指令処理部(例えば、上記の「第1指令処理部112」及び「第2指令処理部212」)と、協調制御対象となる前記プラットフォーム部の識別情報と調停方法種別とを出力する調停方法指定部(例えば、上記の「第1調停方法指定部111」及び「第2調停方法指定部211」)とを備え、前記プラットフォーム部は、前記指令アプリケーション部から、前記指令値を取得する第1インタフェース部(例えば、上記の「第1指令用インタフェース121」及び「第2指令用インタフェース221」)と、前記指令アプリケーション部から、前記プラットフォーム部の識別情報と調停方法種別とを取得する第2インタフェース部(例えば、上記の「第1調停方法指定用インタフェース122」及び「第2調停方法指定用インタフェース222」)と、前記共有メモリ部を介して、前記プラットフォーム部間で前記指令処理、前記識別情報、及び前記調停方法種別の伝達を行うプラットフォーム間通信部(例えば、上記の「第1プラットフォーム間通信部123」及び「第2プラットフォーム間通信部223」)と、協調制御対象となる全ての前記プラットフォーム部から、前記指令処理、前記識別情報、前記調停方法種別を取得すると共に、前記識別情報及び前記調停方法種別に基づいて前記指令処理の調停を行い、調停された前記指令処理を前記共有メモリに出力する指令調停部(例えば、上記の「第1指令調停部124」及び「第2指令調停部224」)とを備え、前記サーボ制御処理部は、前記共有メモリから取得された、調停後の前記指令値に基づいて、サーボ制御を行う。
 これにより、各制御装置のアプリケーションによって行っていた装置間の動作タイミングの調停を一つの制御装置にある各プラットフォームにて行うことで、各制御装置のアプリケーションは動作タイミングを意識せずに、制御対象の装置を動作させることが可能になる。
 (2) (1)に記載の制御装置において、前記調停方法種別は、前記複数のプラットフォーム部間での前記指令処理の順序制御、同期、混合、及び重畳のいずれか1つを含むことを特徴とする。
 これにより、装置間の順序制御、同期、混合、及び重畳が容易に行え、装置間で円滑な協調動作を行うことが可能となる。
〔5 変形例〕
 上記の実施形態に係る制御装置1は、二つの制御部である第1制御部10と第2制御部20とを備える構成としたが、これには限定されない。例えば、制御装置1が制御する機器の数に応じて、任意の複数個の制御部を備えることが可能である。
 上記の制御装置1に含まれる各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の制御装置1に含まれる各構成部のそれぞれの協働により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
1 制御装置
10 第1制御部
11 第1指令アプリケーション部
12 第1プラットフォーム部
20 第2制御部
21 第2指令アプリケーション部
22 第2プラットフォーム部
31 第1共有メモリ
32 第2共有メモリ
40 サーボ制御処理部
111 第1調停方法指定部
122 第1調停方法指定用インタフェース
123 第1プラットフォーム間通信部
124 第1指令調停部
211 第2調停方法指定部
222 第2調停方法指定用インタフェース
223 第2プラットフォーム間通信部
224 第2指令調停部

Claims (2)

  1.  複数のプラットフォームを有する制御装置において、
     複数の指令アプリケーション部と、
     前記複数の指令アプリケーション部にそれぞれ対応付けられた複数のプラットフォーム部と、
     前記複数のプラットフォーム間で通信される情報を記憶する共有メモリと、
     サーボ制御処理部と、を備え、
     前記指令アプリケーション部は、
      指令値を出力する指令処理部と、
      協調制御対象となる前記プラットフォーム部の識別情報と調停方法種別とを出力する指令調停方法指定部とを備え、
     前記プラットフォーム部は、
      前記指令アプリケーション部から、前記指令値を取得する第1インタフェース部と、
      前記指令アプリケーション部から、前記プラットフォーム部の識別情報と調停方法種別とを取得する第2インタフェース部と、
      前記共有メモリを介して、前記プラットフォーム部間で前記指令処理、前記識別情報、及び前記調停方法種別の伝達を行うプラットフォーム間通信部と、
      協調制御対象となる全ての前記プラットフォーム部から、前記指令処理、前記識別情報、前記調停方法種別を取得すると共に、前記識別情報及び前記調停方法種別に基づいて前記指令処理の調停を行い、調停された前記指令処理を前記共有メモリに出力する指令調停部とを備え、
     前記サーボ制御処理部は、前記共有メモリから取得された、調停後の前記指令値に基づいて、サーボ制御を行う、制御装置。
  2.  前記調停方法種別は、前記複数のプラットフォーム部間での前記指令処理の順序制御、同期、混合、及び重畳のいずれか1つを含むことを特徴とする、請求項1に記載の制御装置。
PCT/JP2021/019375 2020-05-28 2021-05-21 制御装置 Ceased WO2021241440A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022526985A JP7436660B2 (ja) 2020-05-28 2021-05-21 制御装置
US17/923,075 US12147215B2 (en) 2020-05-28 2021-05-21 Control device
DE112021002979.7T DE112021002979T5 (de) 2020-05-28 2021-05-21 Steuereinrichtung
CN202180033445.8A CN115515759B (zh) 2020-05-28 2021-05-21 控制装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-093395 2020-05-28
JP2020093395 2020-05-28

Publications (1)

Publication Number Publication Date
WO2021241440A1 true WO2021241440A1 (ja) 2021-12-02

Family

ID=78744717

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/019375 Ceased WO2021241440A1 (ja) 2020-05-28 2021-05-21 制御装置

Country Status (5)

Country Link
US (1) US12147215B2 (ja)
JP (1) JP7436660B2 (ja)
CN (1) CN115515759B (ja)
DE (1) DE112021002979T5 (ja)
WO (1) WO2021241440A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241804A (ja) * 2002-02-15 2003-08-29 Canon Inc バッファ制御方法
JP2005316880A (ja) * 2004-04-30 2005-11-10 Omron Corp プログラマブルコントローラ用機器
CN101334766A (zh) * 2008-06-30 2008-12-31 东软飞利浦医疗设备系统有限责任公司 一种并行微处理器及其实现方法
JP2019067045A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御装置
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3577028B2 (ja) * 2001-11-07 2004-10-13 川崎重工業株式会社 ロボットの協調制御システム
JP3537416B2 (ja) * 2001-12-19 2004-06-14 ファナック株式会社 サーボ制御装置
JP2004220326A (ja) 2003-01-15 2004-08-05 Denso Corp 制御ソフトウエア構造およびこの構造を用いた制御装置
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
FR2896716B1 (fr) * 2006-01-31 2009-06-26 Abb Mc Soc Par Actions Simplif Procede de pilotage d'une station de travail robotisee et station de travail robotisee correspondante
CN101359225B (zh) * 2008-08-29 2010-10-06 北京大学 一种多水下机器人协作控制系统
JP4677037B2 (ja) * 2009-01-20 2011-04-27 ファナック株式会社 バックラッシュを抑制するサーボ制御装置
JP5348499B2 (ja) * 2009-03-12 2013-11-20 オムロン株式会社 I/oユニット並びに産業用コントローラ
US9348656B2 (en) * 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform
JP6203691B2 (ja) * 2014-08-29 2017-09-27 ファナック株式会社 複数軸の軸制御処理を分散して実行可能な数値制御装置
JP6392805B2 (ja) * 2016-04-12 2018-09-19 ファナック株式会社 複数モータ駆動用サーボ制御装置
CN110249594B (zh) * 2017-02-08 2022-12-06 日本电信电话株式会社 通信装置和通信方法
JP6972873B2 (ja) * 2017-10-04 2021-11-24 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241804A (ja) * 2002-02-15 2003-08-29 Canon Inc バッファ制御方法
JP2005316880A (ja) * 2004-04-30 2005-11-10 Omron Corp プログラマブルコントローラ用機器
CN101334766A (zh) * 2008-06-30 2008-12-31 东软飞利浦医疗设备系统有限责任公司 一种并行微处理器及其实现方法
JP2019067045A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御装置
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置

Also Published As

Publication number Publication date
JP7436660B2 (ja) 2024-02-21
JPWO2021241440A1 (ja) 2021-12-02
US20230161323A1 (en) 2023-05-25
CN115515759A (zh) 2022-12-23
US12147215B2 (en) 2024-11-19
CN115515759B (zh) 2025-07-11
DE112021002979T5 (de) 2023-03-30

Similar Documents

Publication Publication Date Title
JP2880590B2 (ja) 産業用ロボットの同期制御方法
US9063533B2 (en) Multi-spindle translation control for multiple coordinate systems
CN102854831B (zh) 块执行顺序显示装置
Papakostas et al. Industrial applications with cooperating robots for the flexible assembly
CN109388107A (zh) 控制装置
TWI498692B (zh) 數值控制裝置
US20180264651A1 (en) Controller, control system, and control method
JPWO1995025991A1 (ja) 作業機械の制御装置
JP2017027501A (ja) 工作機械とロボットのリアルタイム干渉確認システム
JP2019067045A (ja) 制御装置
JP2017134722A (ja) 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム
CN111796562A (zh) 加工控制系统和加工系统
JP5291727B2 (ja) 多軸同期動作機械のプログラム変換モジュール及びプログラム変換方法
CN101673104A (zh) 基于g代码转换方法的工业机器人加工控制方法
JP2016112645A (ja) 産業用ロボットの制御システム
Song et al. Research on multi-robot open architecture of an intelligent CNC system based on parameter-driven technology
US10882179B2 (en) Control system, slave device control part, control method, and non-transitory computer readable medium
JP7436660B2 (ja) 制御装置
Zivanovic et al. Programming methodology for multi-axis CNC woodworking machining center for advanced manufacturing based on STEP-NC
JPH01150909A (ja) 多軸多系統数値制御方法
JP2020144667A (ja) 工作機械の数値制御システム
Scheifele et al. Automated control system generation out of the virtual machine
JP2012198775A (ja) ロボットプログラミング装置および方法
JPS6249503A (ja) 数値制御装置
Živanović et al. Programming of machine tools and robots for machining using STEP-NC in the era of Industry 4.0

Legal Events

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

Ref document number: 21812000

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022526985

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21812000

Country of ref document: EP

Kind code of ref document: A1

WWG Wipo information: grant in national office

Ref document number: 202180033445.8

Country of ref document: CN