WO2017138164A1 - コントローラおよび搬送システム - Google Patents

コントローラおよび搬送システム Download PDF

Info

Publication number
WO2017138164A1
WO2017138164A1 PCT/JP2016/071008 JP2016071008W WO2017138164A1 WO 2017138164 A1 WO2017138164 A1 WO 2017138164A1 JP 2016071008 W JP2016071008 W JP 2016071008W WO 2017138164 A1 WO2017138164 A1 WO 2017138164A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
sensor
information
workpiece
actuator
Prior art date
Application number
PCT/JP2016/071008
Other languages
English (en)
French (fr)
Inventor
達也 永谷
英明 南出
吉川 勉
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to US15/774,716 priority Critical patent/US10363645B2/en
Priority to DE112016006372.5T priority patent/DE112016006372T5/de
Priority to JP2017566498A priority patent/JP6463518B2/ja
Priority to CN201680081023.7A priority patent/CN108604088B/zh
Priority to KR1020187022327A priority patent/KR102124312B1/ko
Priority to TW105132048A priority patent/TWI610869B/zh
Publication of WO2017138164A1 publication Critical patent/WO2017138164A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • B65G43/08Control devices operated by article or material being fed, conveyed or discharged
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/20Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
    • B23Q15/22Control or regulation of position of tool or workpiece
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/20Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
    • B23Q15/22Control or regulation of position of tool or workpiece
    • B23Q15/24Control or regulation of position of tool or workpiece of linear position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • B65G43/04Control devices, e.g. for safety, warning or fault-correcting detecting slip between driving element and load-carrier, e.g. for interrupting the drive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/22Devices influencing the relative position or the attitude of articles during transit by conveyors
    • B65G47/24Devices influencing the relative position or the attitude of articles during transit by conveyors orientating the articles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • 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/4189Total 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 transport system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • 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/32Operator till task planning
    • G05B2219/32357Simulation of material handling, flexible conveyor system fcs
    • 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 controller and a transport system, and more particularly to a controller for outputting a drive signal to an actuator while referring to a sensor signal from a sensor, and a transport system using the controller.
  • a transport system that is, a system for transporting an object, is used for various purposes such as a production apparatus in a factory.
  • An object conveyed in the conveyance system is referred to as “workpiece”.
  • the transfer system usually has an actuator for moving the workpiece, a sensor for detecting the workpiece, and a controller for controlling them.
  • a simulation technique has been used as an operation test of a controller.
  • Patent Document 1 an information processing apparatus that performs a simulation operation in which a transporter transports a transported object is disclosed.
  • a work, a lifter, and a table are arranged on the three-dimensional simulation space.
  • the information processing apparatus executes a simulation operation in which the lifter transports the workpiece on the table.
  • the information processing apparatus uses a priority indicating the degree of integration with the work of the lifter as a priority indicating the degree of integration with the work of the table. Set too high. Further, the information processing apparatus sets the priority of the lifter to be lower than the priority of the table when the lifter that is transporting the workpiece moves below the table.
  • the simulation apparatus includes a processor that executes a simulation of a control program executed in a controller that controls movement of a machine that handles an object.
  • the processor includes an operation control means for controlling the movement of the virtual machine based on an operation command for moving the virtual machine corresponding to the machine in the virtual space according to the control program, and the virtual object corresponding to the object handled by the virtual machine.
  • Patent Document 3 Japanese Patent Laid-Open No. 2002-358114
  • the simulation apparatus simulates a change in the state of the equipment based on an output from the sequencer, calculates a change state of the equipment every predetermined time, and calculates the state of the equipment calculated by the state calculation means.
  • Pseudo signal generation means for generating a pseudo signal related to the state to be output to the sequencer according to the change state. That is, this simulation apparatus performs a simulation in two stages. First, the simulation apparatus simulates how the state of the facility changes according to the output from the sequencer, that is, the operation command.
  • the simulation apparatus determines whether the equipment is in a state to generate a pseudo signal or, in short, as a result of the equipment movement, whether or not there is an output change in the detector that detects the equipment state change. Simulating.
  • the equipment state is, for example, the state of an actuator and a workpiece.
  • the detector detects, for example, whether or not the work exists at a predetermined position.
  • an input generation device in a controller includes a PLC means for defining a function in software and executing a control application, an input interface means for interfacing a signal from an actual process to the PLC means, and an output interface means for interfacing a signal from the PLC means to the actual process. And have.
  • the input generation device applied to the controller has pseudo input generation means whose function is defined by software and real input / pseudo input switching means.
  • the pseudo input generation means generates a simulated input signal based on the signal from the output interface means.
  • the actual input / pseudo input switching means supplies a signal from the output interface means to the pseudo input generation means and uses the output signal of the pseudo input generation means to the input interface means when the simulated input signal is used.
  • Patent Document 1 The technique described in Patent Document 1 can be applied only to a specific configuration in which a lifter transports a workpiece on a table. In other words, this technology is poor in versatility. Moreover, it is necessary to set a priority level for all items that act on the workpiece, and the setting needs to be designed individually depending on the simulation target. Such a design work is not easy.
  • Patent Document 2 Since the technique of the above-mentioned patent document 2 is a more general-purpose technique compared to the technique of the above-mentioned patent document 1, it can be applied to various transport systems. However, this method requires a calculation process in which the action space or the virtual object is divided into a plurality of unit areas, so that the calculation load is large. Furthermore, the techniques of Patent Documents 1 and 2 are pure simulation techniques, and are not supposed to be used for testing an actual transport system.
  • Patent Document 3 can verify a sequencer program based on an output from a sequencer (controller) used in an actual transport system.
  • simulation is performed by a simulation device connected to the controller of the transport system.
  • a simulation apparatus is required in addition to the controller.
  • communication between the two is also required.
  • Communication between the controller and the computer generates a communication delay time. For this reason, the timing at which an event occurs differs between the actual operating state of the system and the simulated state thereof.
  • control that depends on the real-time nature of communication and computation processing is often described. If the timing is shifted due to communication delay, accurate tests are performed. Hateful.
  • the technique of Patent Document 4 is simulated in an actual system controller.
  • the specific application example described in Patent Document 4 is only a plant training system, and a specific method for applying to a transfer system is not disclosed. If this technique is combined with a highly versatile simulation technique for the transport system as in the technique of Patent Document 2 above, the controller of the system requires a large calculation to process this simulation. Requires resources.
  • controllers used in transport systems typically do not have significant computational resources, unlike computers suitable for simulation applications. Therefore, even if the above combination is possible, it is difficult to carry out an accurate test of the transport system.
  • the present invention has been made to solve the above-described problems.
  • the object of the present invention is to easily perform sensor information simulation without greatly depending on the type of the transport system and to use the controller of the transport system. It is to provide a controller and a transport system that can be performed.
  • the controller of the present invention is for a transport system that outputs a drive signal to at least one actuator that transports a work while referring to a sensor signal from at least one sensor that detects the work.
  • the controller includes an external interface, a setting input unit, a control program execution unit, a constraint condition changing unit, a work simulation unit, a sensor simulation unit, and an input / output switching unit.
  • the external interface has an actuator output unit and a sensor input unit.
  • the actuator output unit receives drive information for controlling the actuator and sends a drive signal to the actuator based on the drive information.
  • the sensor input unit receives a sensor signal from the sensor and generates sensor information based on the sensor signal.
  • the setting input unit receives a control program and constraint condition setting information from the user.
  • the control program is for generating drive information while referring to sensor information.
  • the constraint condition setting information is command information associated with the control program in order to change the constraint condition assumed between the workpiece and the actuator.
  • the control program execution unit processes the control program and includes a constraint condition change command processing unit.
  • the constraint condition change command processing unit issues a constraint condition change command based on the constraint condition setting information.
  • the constraint condition change unit manages the constraint condition based on the constraint condition change command issued by the constraint condition change command processing unit.
  • the workpiece simulation unit moves the workpiece based on the drive information generated by the control program execution unit with respect to what is supposed to be restrained by the workpiece under the constraint condition managed by the constraint condition changing unit among at least one actuator.
  • the current position of the workpiece is estimated by estimating the amount and adding the movement amount to the previous position of the workpiece.
  • the sensor simulation unit generates sensor simulation information that simulates the sensor information by using information on the current position of the workpiece estimated by the workpiece simulation unit.
  • the input / output switching unit has at least a sensor simulation mode as an operation mode. In the sensor simulation mode, the input / output switching unit sends at least the drive information generated by the control program execution unit to the work simulation unit, and uses the sensor simulation information generated by the sensor simulation unit as a substitute information for the sensor information as a control program. Send to execution part.
  • the conveyance system of the present invention has an actuator, a sensor, and a controller.
  • the actuator conveys the workpiece.
  • the sensor detects a workpiece.
  • the controller is for outputting a drive signal to the actuator while referring to the sensor signal from the sensor.
  • the controller includes an external interface, a setting input unit, a control program execution unit, a constraint condition changing unit, a work simulation unit, a sensor simulation unit, and an input / output switching unit.
  • the external interface has an actuator output unit and a sensor input unit.
  • the actuator output unit receives drive information for controlling the actuator and sends a drive signal to the actuator based on the drive information.
  • the sensor input unit receives a sensor signal from the sensor and generates sensor information based on the sensor signal.
  • the setting input unit receives a control program and constraint condition setting information from the user.
  • the control program is for generating drive information while referring to sensor information.
  • the constraint condition setting information is command information associated with the control program in order to change the constraint condition assumed between the workpiece and the actuator.
  • the control program execution unit processes the control program and includes a constraint condition change command processing unit.
  • the constraint condition change command processing unit issues a constraint condition change command based on the constraint condition setting information.
  • the constraint condition change unit manages the constraint condition based on the constraint condition change command issued by the constraint condition change command processing unit.
  • the workpiece simulation unit moves the workpiece based on the drive information generated by the control program execution unit with respect to what is supposed to be restrained by the workpiece under the constraint condition managed by the constraint condition changing unit among at least one actuator.
  • the current position of the workpiece is estimated by estimating the amount and adding the movement amount to the previous position of the workpiece.
  • the sensor simulation unit generates sensor simulation information that simulates the sensor information by using information on the current position of the workpiece estimated by the workpiece simulation unit.
  • the input / output switching unit has at least a sensor simulation mode as an operation mode.
  • the input / output switching unit sends at least the drive information generated by the control program execution unit to the work simulation unit, and uses the sensor simulation information generated by the sensor simulation unit as a substitute information for the sensor information as a control program. Send to execution part.
  • sensor simulation information simulating sensor information is generated using information on the estimated current position of the workpiece.
  • the current position of the workpiece is estimated by adding the estimated movement amount of the workpiece to the previous position of the workpiece.
  • the amount of movement of the workpiece is estimated from the drive information generated by the control program execution unit regarding at least one actuator that is constrained by the workpiece under the constraint condition.
  • the constraint conditions are managed based on the constraint condition setting information.
  • the constraint condition setting information can be easily created by the user by referring to the control program of the transport system without largely depending on the type of the transport system. Thereby, the simulation of sensor information can be easily performed without largely depending on the type of the transport system.
  • the obtained sensor simulation information can be used as alternative information in the transport system test in a state where the sensor information is lacking, or as reference information in actual operation of the transport system.
  • the estimated movement amount of the workpiece is the drive information generated by the control program execution unit regarding at least one actuator that is constrained by the workpiece under the constraint condition managed by the constraint condition changing unit. Can be easily obtained.
  • the current position of the workpiece is estimated by adding this estimated movement amount to the previous position of the workpiece.
  • the estimated movement amount of the workpiece can be easily obtained from the drive information, and the current position of the workpiece is estimated by a simple calculation using it. Thereby, the current position of the workpiece can be estimated with a small amount of calculation. Therefore, even a transport system controller that normally has fewer computational resources than a computer suitable for a simulation application can perform simulation in real time.
  • FIG. 1 It is a block diagram which shows roughly the structure of the conveyance system in Embodiment 1 of this invention. It is explanatory drawing of the example of the setting information of the workpiece
  • FIG. 11 is an explanatory diagram of a method for calculating the size of a workpiece whose posture has been changed in a modification of the first embodiment. It is a perspective view which shows the example of the actuator which the conveyance system in Embodiment 2 of this invention has. It is a block diagram which shows roughly the structure of the conveyance system in Embodiment 2 of this invention.
  • Embodiments 1 to 7 to be described later are for FA (Factory Automation) used for controlling a production apparatus in a factory, for example.
  • the controller simulates the movement of the work flowing through the production apparatus.
  • the controller simulates an input signal from a sensor that detects the position of the workpiece based on the simulated movement of the workpiece.
  • Settings for performing such operations can be easily performed by an operator (user) of the production apparatus.
  • the method for simulating the movement of the workpiece in accordance with the configuration of the production apparatus can be set by a general-purpose method according to a certain procedure, instead of being designed by a worker.
  • FA-use controllers used for factory production equipment control a plurality of external devices connected to it.
  • external devices devices that are connected to the controller via a power line and communicate with the controller using ON / OFF digital signals are collectively referred to as I / O (Input / Output).
  • the I / O is, for example, an input device to the controller such as a sensor or a switch, or an output device that performs some operation according to an output signal from the controller such as an indicator light or a motor.
  • the external device includes a servo amplifier that controls the servo motor or another controller.
  • connection with external devices includes those realized by a single controller having a typical hardware configuration and those realized by connecting a dedicated device to the controller. In the following description, these are collectively referred to as a controller.
  • the in-stock sensor is, for example, a reflective optical sensor in which a projector and a light receiver are integrated. According to this sensor, when the work moves in front of the sensor, the light from the projector is reflected from the work and is incident on the light receiver. Thereby, the presence of the workpiece is detected.
  • a production apparatus usually cannot be visually confirmed, and thus often employs a configuration in which a workpiece is detected by a stock sensor each time the workpiece is moved.
  • the idling operation is an operation that does not allow a work to flow. In the operation with the workpiece flowing, contact between the machine of the production apparatus and the workpiece occurs. Therefore, if the operation program of the transfer system is incomplete, the machinery or the workpiece may be damaged. Therefore, after a normal operation in the idling operation is confirmed, a full-scale test with a work flowing is usually performed. In some cases, the idle operation is essential, for example, when the workpiece is expensive or when the number of prepared workpieces for adjustment is small.
  • the idling operation is different from the original operation in which the work flows, it often requires some kind of contrivance.
  • production apparatuses often use a stock sensor as a trigger signal or a confirmation signal.
  • these signals take abnormal values due to lack of workpieces, and it is difficult to proceed with the idling operation as a test.
  • the program may be changed for the purpose of idling. Specifically, the confirmation location by the stock sensor is commented out, or the content handling the input signal from the stock sensor is rewritten to the content handling another signal.
  • careless mistakes and unintended logic changes must be avoided.
  • the present inventor simulates the movement of the workpiece and the change in the sensor signal of the load sensor accompanying the main purpose, with the primary intention of enabling the idling and verifying various errors.
  • the method was examined. If the sensor signal of the in-stock sensor can be simulated, by using it, it is possible to perform idling in a state close to actual operation. In addition, even if the occurrence of the error to be verified is accidental because it is due to a physical factor, it is immediately possible to wait for the error to occur accidentally on the simulation. Can be confirmed.
  • the simulation In order to perform the simulation in a state close to actual operation, the simulation needs to be performed on the controller of the transport system itself, not by a computer additionally connected to the transport system. This is because, in the former case, there may be a delay in the time required for communication between the controller and the computer, so that the timing such as the generation of sensor signals may differ from that in actual operation. Especially in production equipment, in order to improve the performance of the transport system, control depending on the real-time nature of communication and calculation processing is often described in the program. Therefore, if the timing is shifted due to communication delay, It is difficult to carry out accurate confirmation work.
  • FIG. 1 is a block diagram schematically showing the configuration of the transport system in the present embodiment.
  • the transport system 700A in the present embodiment includes an actuator 610, a sensor 620, and a controller 500A.
  • the actuator 610 conveys the workpiece.
  • the sensor 620 includes one that detects a workpiece.
  • the controller 500A is for outputting a drive signal to the actuator 610 while referring to a sensor signal from the sensor 620.
  • the drive signal is output from the controller 500A according to the drive information generated in the controller 500A.
  • this drive information represents a command signal for the absolute position of the servo motor of the actuator.
  • the drive signal output from the controller 500A according to the drive information may also represent a command signal for the absolute position of the servo motor of the actuator.
  • the drive signal may be a command signal representing an operation designation value input to a servo amplifier that supplies power to the servomotor of the actuator.
  • the controller 500A includes an external interface 510, a setting input unit 520, a control program execution unit 530, a constraint condition change unit 540, a work simulation unit 550, a sensor simulation unit 561, and an input / output switching unit 570.
  • an external interface 510 includes an external interface 510, a setting input unit 520, a control program execution unit 530, a constraint condition change unit 540, a work simulation unit 550, a sensor simulation unit 561, and an input / output switching unit 570.
  • the external interface 510 communicates with the external device 600.
  • the external interface 510 includes an actuator 610 output unit and a sensor input unit 512.
  • the actuator output unit 511 receives drive information that is an operation command value for controlling the actuator 610, and sends a drive signal to the actuator 610 based on the drive information.
  • the sensor input unit 512 receives a sensor signal from the sensor 620 and generates sensor information based on the sensor signal.
  • the external interface 510 may further include an external device input / output unit 513 to which an external device 630 that is an external device other than the actuator 610 and the sensor 620 is connected. Accordingly, the external interface 510 can be connected to the other device 630 in addition to the sensor 620 and the actuator 610.
  • each input / output unit of the external interface 510 depends on the type of the external device 600 connected thereto.
  • the specific configuration of the input / output unit differs depending on whether the external device 600 is an I / O device, a servo amplifier, or another controller.
  • the function may be included in the actuator 610.
  • the function of the servo amplifier may be included in the external interface 510. In this case, power is supplied to the servo motor by the drive signal.
  • the setting input unit 520 receives a control program from the user as in a normal controller.
  • the control program is for generating drive information while referring to sensor information.
  • the actuator 610 is driven according to this drive information.
  • the setting input unit 520 receives constraint condition setting information from the user.
  • the constraint condition setting information is command information associated with the control program in order to change the constraint condition assumed between the workpiece and the actuator 610.
  • the control program execution unit 530 processes the control program.
  • the control program execution unit 530 has a constraint condition change command processing unit 531.
  • the constraint condition change command processing unit 531 issues a constraint condition change command to the constraint condition change unit 540 based on the constraint condition setting information.
  • the constraint condition change command processing unit 531 commands the constraint condition change unit 540 by processing the command information associated with the control program in order to change the constraint condition.
  • Constraint condition change unit 540 manages the constraint condition based on the constraint condition change command issued by constraint condition change command processing unit 531.
  • the constraint condition changing unit 540 includes a constraint condition holding unit (not shown) for holding information on constraint conditions at the current time.
  • the work simulation unit 550 performs a simulation on the movement of the work. Specifically, the workpiece simulation unit 550 generates, by the control program execution unit 530, at least one actuator 610 that is supposed to be restrained by the workpiece under the constraint condition managed by the constraint condition changing unit 540. The movement amount of the workpiece is estimated based on the drive information, and the current position of the workpiece is estimated by adding the movement amount to the previous position of the workpiece.
  • the sensor simulation unit 561 performs a simulation on the operation of the sensor 620. Specifically, the sensor simulation unit 561 uses the information on the current position of the workpiece estimated by the workpiece simulation unit 550 to generate sensor simulation information that simulates the sensor information.
  • the input / output switching unit 570 switches the signal flow in order to select the operation mode of the controller 500A.
  • the input / output switching unit 570 has at least a sensor simulation mode as an operation mode. Further, in the present embodiment, input / output switching unit 570 has a sensor operation mode as an operation mode.
  • the input / output switching unit 570 sends at least the drive information generated by the control program execution unit 530 to the work simulation unit 550. Further, the input / output switching unit 570 sends the sensor simulation information generated by the sensor simulation unit 561 to the control program execution unit 530 as alternative information of the sensor information. As a result, the control program execution unit 530 operates using information that simulates the sensor information instead of the actual sensor information.
  • the input / output switching unit 570 sends the drive information generated by the control program execution unit 530 not only to the work simulation unit 550 but also to the actuator output unit 511. More preferably, the input / output switching unit 570 is configured to be able to select whether or not to send drive information to the actuator output unit 511 in this mode.
  • the input / output switching unit 570 sends the sensor information generated by the sensor input unit 512 to the control program execution unit 530.
  • the control program execution unit 530 operates using sensor information from the sensor 620 instead of information from simulation. Therefore, the transfer system 700A is actually operated.
  • a simulation operation by the work simulation unit 550 will be described.
  • the user inputs a control program, setting information about the workpiece, the actuator 610 and the sensor 620, and external input signal switching information via the setting input unit 520.
  • the control program is sent to the control program execution unit 530 and held there.
  • the setting information of each of the workpiece, actuator 610 and sensor 620 is sent to the workpiece simulation unit 550 and held there.
  • the external input signal switching information is sent to the input / output switching unit 570 and held there.
  • the setting information of the sensor 620 is sent to the sensor simulation unit 561 of the external input simulation unit 560 and held there.
  • a part of the information set as the workpiece setting information is sent to the constraint condition changing unit 540 and held there.
  • the control program is sent from the setting input unit 520 to the control program execution unit 530 as described above.
  • the control program is stored in the control program execution unit 530.
  • the control program includes a dedicated instruction for enabling simulation in addition to a normal control instruction for controlling the external device 600 in actual operation.
  • the dedicated instructions have the following two types.
  • the first command is a restraint command that assumes that the designated workpiece and the designated actuator 610 are mutually restrained.
  • the second command is a constraint release command that assumes that the constraint between the designated workpiece and the designated actuator 610 has been released.
  • the dedicated command is command information associated with the control program in order to change a constraint condition assumed between the workpiece and the actuator 610.
  • the restraining command is added at a point in the control sequence where a specific actuator operation acts on the workpiece. These locations are, for example, a location where the robot grips the workpiece, a location where the workpiece is placed on the conveyor, and a location where an actuator that presses the workpiece starts to push. These locations are locations where actuator operation instructions are described on the program. Therefore, it is easy for the user to determine where to add the constraint command.
  • the restraint release command is added at a point in the control sequence where a specific actuator operation is released from the situation where it acts on the workpiece.
  • These locations include, for example, a location where the robot installs a workpiece, a location where the workpiece is removed from the conveyor, and a location where the pushing operation of the actuator pushing the workpiece is completed. These locations are usually locations where an actuator operation command is described on the program, or where an instruction for confirming the completion of actuator operation is described. Therefore, it is easy for the user to determine where to add the constraint release command. As described above, the user can easily add a dedicated command as constraint condition setting information to a normal control program.
  • Constraint command and constraint release command can express the relationship between one workpiece and each of the plurality of actuators 610. For this reason, a constraint command or a constraint release command may be issued in duplicate for one workpiece. For example, when the workpiece is moved by the conveyor and then removed from the conveyor by the linear actuator, a restraint command is issued when the workpiece is placed on the conveyor, and even when the linear actuator starts to push, A restraint order is issued. When the pushing operation of the linear actuator is completed, a constraint release command is issued for both the conveyor and the linear actuator. The restraining command may be issued when it is determined which workpiece the linear motion actuator presses, instead of being issued when the linear motion actuator starts to press.
  • the constraint condition change command processing unit 531 in the control program execution unit 530 interprets the content of the command and issues a command to change the constraint condition of the workpiece to the constraint condition change unit 540.
  • the setting information is sent from the setting input unit 520 to the constraint condition changing unit 540 as described above.
  • This setting information is stored in the constraint condition changing unit 540.
  • the setting information includes setting information for the constraint condition changing unit 540 to determine a work for managing the constraint state. For example, information such as the name of the workpiece is included.
  • the constraint condition changing unit 540 manages the constraint conditions of each workpiece in accordance with a command from the constraint condition change command processing unit 531. In other words, which work is assumed to be constrained by which actuator 610 is managed. Then, the constraint condition changing unit 540 outputs the constraint conditions for each workpiece to the workpiece simulation unit 550.
  • Setting information is sent from the setting input unit 520 to the work simulation unit 550 as described above.
  • This setting information is stored in the work simulation unit 550.
  • This setting information includes setting information of the workpiece, the actuator 610, and the sensor 620.
  • the constraint condition of each workpiece is input to the workpiece simulation unit 550 from the constraint condition changing unit 540.
  • drive information of the actuator 610 is sent from the input / output switching unit 570 to the work simulation unit 550.
  • the information signal from the input / output switching unit 570 may be the information signal sent from the input / output switching unit 570 to the external interface 510 and duplicated in the input / output switching unit 570.
  • FIG. 2 shows an example of workpiece setting information stored in the workpiece simulation unit 550.
  • “Number” and “Name” are for distinguishing different works.
  • Size (X, Y, Z)” represents the size of the part of the work detected by the sensor 620 in the XYZ orthogonal coordinate system.
  • “Initial position and orientation (X, Y, Z, Rx, Ry, Rz) represent the position and orientation of the workpiece in the initial state.
  • X, Y, and Z represent the position in the XYZ orthogonal coordinate system.
  • Each of Rx, Ry, and Rz represents a posture by rotation angles around the X, Y, and Z axes.
  • FIG. 3 shows an example of setting information of the actuator 610 stored in the work simulation unit 550.
  • “Number” and “Name” are for distinguishing different actuators 610.
  • “Operation direction” represents a direction in which the displacement of the actuator occurs.
  • Size represents the size of the portion of the actuator 610 detected by the sensor 620 in the operation direction.
  • “Initial position” represents the position of the actuator in the operation direction in the initial state.
  • FIG. 4 is a perspective view showing an actuator 611 and loading sensors 621 and 622 as examples of the actuator 610 and the sensor 620 (FIG. 1).
  • the actuator 611 includes a fixed portion 611b and a rod portion 611r.
  • the fixed portion 611b is a portion that drives the rod portion 611r.
  • the rod portion 611r is a portion that directly acts on the workpiece.
  • the actuator 611 is detected by a reflective optical load sensor 621 when the rod portion 611r is protruding, and is detected by a reflective optical load sensor 622 when the rod is retracted.
  • the size of the actuator 611 corresponds to the thickness (the dimension in the horizontal direction in the drawing) of the portion of the rod portion 611r that can be detected by the in-stock sensors 621 and 622.
  • FIG. 5 is a flowchart schematically showing the operation of the work simulation unit 550.
  • a method for simulating the position of the workpiece by the workpiece simulation unit 550 will be described with reference to FIG.
  • step S101 it is determined whether the simulation process is called as the first process. If YES is determined, the process proceeds to step S102.
  • step S102 for all the actuators 610, the numerical value of the current position of the actuator 610 is substituted for the previous position variable of the actuator 610. Further, for all the workpieces, the initial position of the workpiece input as workpiece setting information is substituted into the variable of the previous workpiece position. In the figure, “ ⁇ ” is a symbol representing “all”.
  • “Axis_PrePos”, “Axis_CurPos”, “Work_PrePos”, and “Work_IniPos” respectively represent the previous position of the actuator 610, the current position of the actuator 610, the previous position of the work, and the initial position of the work. Then, the process ends.
  • step S101 NO is determined in step S101. Accordingly, the process proceeds to step S103.
  • step S103 for all the actuators 610, a value obtained by subtracting the previous position of the actuator 610 from the current position of the actuator 610 is substituted into the displacement amount variable of the actuator 610.
  • “Axis_DelPos” represents the displacement amount of the actuator 610.
  • step S104 the value “1” is substituted into the counter variable i.
  • step S105 the position of the workpiece with the number i is calculated as follows. Of all the actuators 610, the value obtained by multiplying the displacement amount calculated in step S103 by the operation direction of the actuator is calculated for all the actuators that are supposed to be restrained by the work of number i in the restraint conditions. The sum of these values is added to the previous position of the workpiece.
  • “Work_CurPos_i” and “Work_PrePos_i” respectively represent the current position and the previous position of the work of number i.
  • “Chain_Cond_i_j” represents a constraint condition between the workpiece of number i and the actuator of number j.
  • the constraint condition is “1” when the constraint is performed, and “0” when the constraint is not performed.
  • “Dir_Axis_j” represents the operation direction of the actuator 610 of number j.
  • “AXIS_NUM” represents the total number of actuators 610.
  • step S106 1 is added to the counter variable i, and it is determined whether it is larger than the total number of workpieces. If NO is determined, the process returns to step S105.
  • “++ i” indicates that 1 is added to the variable i.
  • “WORK_NUM” represents the total number of works.
  • step S105 is repeated as many times as the total number of workpieces, a determination of NO is made in step S106. In that case, the process ends.
  • the work simulation unit 550 outputs the calculated workpiece position information to the external input simulation unit 560 when the processing described above is completed.
  • FIG. 6 shows an example of setting information of the sensor 620 stored in the sensor simulation unit 561 of the external input simulation unit 560. “Number” and “Name” are for distinguishing different sensors 620. “Normal output” represents an output value when “detection target” is not detected at “detection position”.
  • FIG. 7 is a flowchart schematically showing the operation of the sensor simulation unit 561.
  • the sensor simulation unit 561 receives the setting information of the sensor 620 from the setting input unit 520 and the position information of the workpiece from the workpiece simulation unit 550.
  • the sensor simulation unit 561 performs a simulation of the state of the sensor 620 using this information.
  • this simulation method will be described with reference to FIG.
  • step S201 the value “1” is substituted into the counter variable i.
  • step S202 it is determined whether the detection target of the sensor 620 with the number i is a workpiece. If it is determined as YES, the process proceeds to step S203.
  • step S203 the value obtained by adding half the size of the workpiece to the position of the workpiece to be detected in all the X, Y, and Z directions is larger than the detection position of the sensor of number i, and the workpiece to be detected It is determined whether there is a workpiece that satisfies the condition that a value obtained by subtracting half the size of the workpiece from the position is smaller than the detection position of the sensor of number i.
  • the half value of the workpiece size is used because the workpiece position corresponds to the midpoint of the workpiece.
  • “ ⁇ ” is a symbol representing “exists”, and “ ⁇ ” represents a concatenation of conditions.
  • “Sensor_ChkPos_i” represents the detection position of the sensor of number i.
  • Each of “Work_CurPos” and “Work_Size” represents the position and size of the work.
  • step S204 as the sensor simulation information, the output signal of the sensor of number i is assumed to have the normal output inverted. In the figure, “ ⁇ ” is a symbol representing logic negation. Each of “sig_i” and “sig_nor_i” represents an output as simulation information and a normal output for the sensor of number i. If NO is determined in step S203, the process proceeds to step S205. In step S205, as the sensor simulation information, the output signal of the sensor with the number i is assumed to be a normal output. In any case, thereafter, the process proceeds to step S210.
  • step S202 determines whether the detection target of the sensor with the number i is the actuator 610.
  • step S207 the value obtained by adding half the size of the actuator to the position of the actuator of the number j that is the detection target is larger than the detection position of the sensor 620 of the number i, and the position of the actuator of the number j that is the detection target It is determined whether or not a condition that a value obtained by subtracting half of the actuator size from the sensor 620 of the number i is smaller than the detection position is satisfied.
  • “Axis_CurPos_j” and “Axis_Size_j” respectively represent the position and size of the actuator of number j that is the detection target.
  • step S208 as the sensor simulation information, the output signal of the sensor of number i is assumed to have the normal output inverted. If NO is determined in step S207, the process proceeds to step S209. In step S209, as sensor simulation information, the output signal of the sensor of number i is assumed to be a normal output. In any case, thereafter, the process proceeds to step S210. On the other hand, if NO is determined in step S206, the process proceeds to step S210.
  • step S210 1 is added to the counter variable i, and it is determined whether it is larger than the total number of sensors 620.
  • “Sensor_NUM” represents the total number of sensors 620. If NO is determined, the process returns to step S202.
  • step S210 If the process from step S202 is repeated as many times as the total number of sensors, a determination of YES is made in step S210. In that case, the process ends.
  • the sensor simulation unit 561 outputs information representing the output signal of the sensor calculated by the above processing, that is, sensor simulation information simulating the sensor information, to the input / output switching unit 570.
  • the input / output switching unit 570 exchanges information signals according to the operation mode according to the external input signal switching information input from the setting input unit 520.
  • the operation mode is the simulation mode
  • the input / output switching unit 570 substitutes the sensor information input from the sensor input unit 512 of the external interface 510 with the sensor simulation information described above, and outputs the information to the control program execution unit 530. To do.
  • the operation mode is the sensor operation mode
  • the input / output switching unit 570 outputs the sensor information to the control program execution unit 530 without performing the above-described substitution.
  • the external input signal switching information may collectively specify the simulation mode or the sensor operation mode for all the sensors 620.
  • the external input signal switching information may individually specify the simulation mode or the sensor operation mode for each of the sensors 620. Individual designation may be performed, for example, by inputting to the list in the setting input unit 520.
  • sensor simulation information simulating sensor information is generated using information on the current position of the workpiece estimated.
  • the current position of the workpiece is estimated by adding the estimated movement amount of the workpiece to the previous position of the workpiece.
  • the movement amount of the workpiece is estimated from the drive information generated by the control program execution unit 530 regarding at least one actuator 610 that is restricted by the workpiece under the constraint condition.
  • the constraint conditions are managed based on the constraint condition setting information.
  • the constraint condition setting information can be easily created by the user by referring to the control program of the transport system without largely depending on the type of the transport system. Thereby, the simulation of sensor information can be easily performed without largely depending on the type of the transport system.
  • the obtained sensor simulation information can be used as alternative information in the transport system test in a state where the sensor information is lacking, or as reference information in actual operation of the transport system.
  • the estimated movement amount of the work is the drive information generated by the control program execution unit 530 regarding at least one actuator 610 that is supposed to be restrained by the work under the restraint condition managed by the restraint condition changing part 540. Can be easily obtained.
  • the current position of the workpiece is estimated by adding this estimated movement amount to the previous position of the workpiece. As described above, the estimated movement amount of the workpiece can be easily obtained from the drive information, and the current position of the workpiece is estimated by a simple calculation using it. Thereby, the current position of the workpiece can be estimated with a small amount of calculation. Therefore, even the controller 500A of the transport system, which normally has fewer calculation resources than a computer suitable for a simulation application, can perform a simulation in real time.
  • the sensor information can be easily simulated without depending largely on the type of the transport system 700A and using the controller 500A of the transport system 700A.
  • the simulation is possible only by adding the following two pieces of information.
  • Information such as the size and positional relationship of the workpiece and the actuator 610 is added as the first information. Since these pieces of information are clear information from the apparatus configuration of the transport system 700A, the user can easily add them.
  • constraint condition setting information is added as the second information.
  • the constraint condition setting information is command information associated with a normal control program. This command information is a dedicated command for changing a constraint condition assumed between the workpiece and the actuator 610. The additional portion of the dedicated command is before and after the command related to the operation of the actuator 610 acting on the workpiece, and it is easy for the user to distinguish such a portion. Therefore, according to the present embodiment, it is possible to set a simulation method that has conventionally required a user to design by hand in accordance with the configuration of the transport system by a general-purpose method according to a certain procedure.
  • the simulation described above calculates the movement of the workpiece based on the constraint conditions, it can be realized with a small calculation load unlike the method using interference in the three-dimensional space. Specifically, the movement amount of the workpiece is calculated simply by adding the displacement amount of the actuator 610 according to the constraint condition. Such a simple calculation can be processed with a very small calculation load compared to other control processes in the controller 500A.
  • the input / output switching unit 570 sends the drive information generated by the control program execution unit 530 to the actuator output unit 511 in the sensor simulation mode.
  • the input / output switching unit 570 sends the drive information generated by the control program execution unit 530 to the actuator output unit 511 in the sensor simulation mode.
  • the input / output switching unit 570 sends the sensor information generated by the sensor input unit 512 to the control program execution unit 530 in the sensor operation mode.
  • the controller 500 ⁇ / b> A can be actually operated using the sensor signal of the actual sensor 620.
  • the actuator 611 having the linear motion shaft driven by the servo motor has been described in detail as the actuator 610.
  • the configuration of the actuator 610 is not limited to this.
  • the actuator 610 may include a conveyor and a stopper.
  • the stopper here restricts the movement of the work flowing on the conveyor.
  • a fixed stopper installed at the end of the conveyor and a slide-type stopper that opens and closes by I / O are known.
  • FIG. 8 shows an example of setting information of a conveyor as an actuator.
  • “Speed” represents the speed of the conveyor.
  • contents similar to the setting information (FIG. 3) described above are also included.
  • the displacement amount of the conveyor is calculated as a value obtained by multiplying the operation direction of the setting information by the speed while the conveyor is driven, and is calculated as 0 when the conveyor is stopped. If the conveyor is capable of reverse operation, the calculation may be performed by reversing the moving direction during reverse operation.
  • FIG. 9 shows an example of setting information of a stopper as an actuator.
  • the position of the workpiece is calculated as follows. First, the movement of the workpiece due to the displacement of the conveyor is calculated. If the position of the workpiece exceeds the “stop position” of the stopper in the direction in which the “stop direction” of the stopper is set to a value of “1”, the position of the workpiece in that direction is the “stop” of the stopper. Defined by "position”. In the direction in which the stop direction of the stopper is set to a value of “ ⁇ 1”, if the work position is smaller than the “stop position” of the stopper, the work position in that direction is the “stop position” of the stopper. It is prescribed by. Thus, the sign of the “stop direction” of the stopper corresponds to the setting in which direction the work movement of the work is restricted.
  • a robot-like one may be used as the actuator 610.
  • the controller uses kinematics that calculates the position of the tip part from the position information of each drive part. 500A is solved.
  • hand position information with kinematics solved is input from the input / output switching unit 570 to the work simulation unit 550.
  • the workpiece simulation unit 550 calculates a movement amount of the workpiece based on the displacement amount of the hand position obtained from the hand position information.
  • various complex corrections such as gravity guarantees can be made.
  • hand position information is given to the work simulation unit 550, so that it is not necessary to perform such complicated correction calculation in the work simulation unit 550.
  • the workpiece simulation unit 550 may handle the shape of the workpiece 100 as a rectangular parallelepiped having sides parallel to the coordinate axes X, Y, and Z.
  • the shape of the workpiece is simulated by the smallest rectangular parallelepiped 100A that encloses the workpiece.
  • the size of the work changes depending on the posture.
  • the state of posture change at an angle ⁇ ( ⁇ is 0 ° or more and 90 ° or less) in the XY plane is shown.
  • the solid square represents the posture of the workpiece, and the dotted square represents the smallest cuboid that contains the workpiece.
  • the size of the work in the XY plane is (2x, 2y)
  • the size of the smallest cuboid containing the work in the XY plane is (2 (x ⁇ cos ⁇ + y ⁇ sin ⁇ ), 2 (x ⁇ sin ⁇ + y ⁇ cos ⁇ )) Is calculated by
  • the change in the posture of the workpiece can be treated as a change in the size of the smallest rectangular parallelepiped containing the workpiece. This method is merely an example, and the posture change of the workpiece can be handled by various other methods.
  • the position of the part (acting part) acting on the workpiece of the actuator 610 is accurate or approximate by using the drive information generated by the control program execution part 530 relatively simply. It is assumed that it can be grasped. However, there is an actuator in which the relationship between the drive information and the position of the action part becomes more complicated. In this case, the position of the action part may be calculated in the work simulation part. In other words, an arithmetic process for solving the kinematics of the actuator may be performed in the work simulation unit. In the present embodiment, a case where such a work simulation unit is used will be described.
  • FIG. 11 is a perspective view showing an actuator 612 used in the present embodiment.
  • the actuator 612 includes a grip portion 612h (action portion) and a drive portion 612d.
  • the grip portion 612h is a tip portion of the actuator 612, and is a portion that directly holds the workpiece. Therefore, the grip portion 612h is a portion of the actuator 612 that directly acts on the workpiece.
  • the drive part 612d is a part that drives the grip part 612h of the actuator 612. Specifically, the drive unit 612d is driven to rotate about itself.
  • the grip portion 612h is fixed to the drive portion 612d away from the axis center. Therefore, the gripping portion 612h is displaced along a track on the circumference as the driving portion 612d is rotationally driven.
  • the drive information given to the actuator 612 is information on the angular amount of the rotational drive of the drive unit 612d. In order to grasp the position of the grip portion 612h from the angle amount, it is necessary to calculate the latter from the former using information on the relationship between the angle amount and the position.
  • FIG. 12 is a block diagram schematically showing the configuration of the transport system 700B in the present embodiment.
  • the transport system 700B has a controller 500B.
  • at least one actuator 610 includes an actuator 612 (FIG. 11).
  • the controller 500B has a work simulation unit 550B.
  • the work simulation unit 550B includes an actuator trajectory generation unit 551.
  • the setting input unit 520 receives the machine configuration information of the actuator 612 included in the actuator 610 from the user.
  • the machine configuration information is information used in combination with drive information generated by the control program execution unit 530 in order to calculate the position of the grip unit 612h of the actuator 612.
  • the machine configuration information is information that is used in combination with drive information in order to calculate the movement locus of the grip portion 612h.
  • the machine configuration information of the actuator 612 is information representing, for example, the distance from the axis center of the driving unit 612d to the gripping unit 612h and the direction from the driving unit 612d to the gripping unit 612h when the angle amount is zero.
  • the machine configuration information is sent to the actuator trajectory generator 551.
  • Actuator locus generation unit 551 has a machine configuration information holding unit (not shown) that holds the machine configuration information of actuator 612.
  • the actuator trajectory generation unit 551 calculates a trajectory in which the gripping unit 612h of the actuator 610 operates from the machine configuration information and the drive information generated by the control program execution unit 530.
  • actuator trajectory generation unit 551 calculates a trajectory in which gripping portion 612h of actuator 612 operates.
  • the position of the grip portion 612h (acting portion) of the actuator 612 cannot be calculated only by the angular amount as the drive information generated by the control program execution unit 530
  • the calculation of the trajectory described above causes the grip portion 612h to The position can be calculated.
  • the action of the actuator 610 on the work cannot be determined only by the drive information generated by the control program execution unit 530, the action of the actuator 610 on the work can be determined. Therefore, even in such a case, the same effect as in the first embodiment can be obtained.
  • the actuator whose position of the action part is calculated by the actuator trajectory generation unit 551 is not limited to the one that rotates like the actuator 612.
  • the drive information for controlling the air cylinder may be only ON / OFF information of the operation of the solenoid valve.
  • information such as the cylinder operating direction, speed, and stroke is the mechanical configuration information of the actuator.
  • the actuator trajectory generation unit 551 can calculate the position of the tip portion (action portion) of the air cylinder.
  • FIG. 13 is a perspective view showing an example of the arrangement of the actuator 611 (similar to that shown in FIG. 4) included in the transport system in the present embodiment and the workpiece 100 on which the actuator 611 operates.
  • the actuator 611 when the rod portion 611r starts to move, a gap RI exists between the rod portion 611r and the workpiece 100. For this reason, out of the total displacement amount of the rod portion 611r, the displacement amount until the rod portion 611r reaches the workpiece 100 is an invalid displacement amount that is not directly reflected in the movement amount of the workpiece.
  • the drive information of the actuator 611 generated by the control program execution unit 530 is ON / OFF information.
  • the command information associated with the control program for changing the constraint condition assumed between the workpiece and the actuator 611 is described before and after the ON / OFF command to the actuator 611 in the program list. Is done. For this reason, even while the actuator 611 performs the above-described invalid movement, the constraint condition between the actuator 611 and the workpiece 100 means that they are mutually restrained. Therefore, for the actuator 611, the displacement that passes through the gap RI is a displacement that is constrained to the workpiece 100, but is actually a displacement that does not directly contribute to the movement of the workpiece 100.
  • the gap RI is a portion where the contribution to the movement amount of the workpiece is invalid, that is, an action invalid section. Therefore, in order to grasp the movement amount of the workpiece 100 more accurately, it is necessary to grasp an invalid portion of the displacement amount of the actuator 611.
  • FIG. 14 is a block diagram schematically showing the configuration of the transport system 700C in the present embodiment.
  • at least one actuator 610 includes an actuator 611 (FIG. 13) with an action invalid section.
  • the transport system 700C has a controller 500C.
  • the controller 500C has a work simulation unit 550C.
  • the work simulation unit 550C includes an action invalid section determination unit 552.
  • the action invalid section determination unit 552 sets a part (action invalid section) in which the contribution to the movement amount of the workpiece is invalid among the displacement amounts of the actuator 611 represented by the drive information generated by the control program execution unit 530. To do.
  • Each action invalid section of the actuator 610 is input from the setting input unit 520 to the work simulation unit 550C as setting information of the actuator 610.
  • the action invalid section can be set in a displacement range of the actuator 610 such as “0 to 100”, for example.
  • the action invalid section determination unit 552 determines whether the operation of the actuator 610 is a displacement within the action invalid section. Do not reflect the amount of movement. More specifically, the displacement amount is not added to the workpiece position.
  • the action invalid section determination unit 552 sets an invalid part of the movement amount. Therefore, even when the actuator 611 acts on the workpiece from a state where there is a gap RI between the workpiece and the actuator 611, the current position of the workpiece can be estimated with high accuracy and a low calculation load. More generally speaking, even when an actuator acts on a workpiece from the middle of an operation command due to a gap or other factors, the current position of the workpiece can be estimated with high accuracy and a low calculation load.
  • simulation of input signal information from the sensor 620 that is a load sensor that detects the position of the workpiece or the actuator 610 is performed as simulation of input signal information from the external device 600 to the controller.
  • a device that generates an input signal to the controller is not limited to a stock sensor.
  • An input signal to the controller can also be generated from any sensor other than the presence sensor, or from another controller, management computer, server, or user interface that communicates with the controller. Therefore, in the present embodiment, a case will be described in which the simulation of the input signal information is performed not only with respect to the sensor 620 that is the in-stock sensor but also with respect to at least one of the other devices 630 as described above.
  • an input signal from the other device 630 to the controller for example, there is a signal generated immediately after receiving some trigger signal or after a lapse of a certain time.
  • the trigger signal include an output signal from an external interface of the controller or a time information signal.
  • the start of control by the controller can also act as a kind of trigger signal.
  • FIG. 15 is a block diagram schematically showing the configuration of the transport system 700D in the present embodiment.
  • the transport system 700D has a controller 500D.
  • the controller 500D has an external input simulation unit 560D.
  • the external input simulation unit 560D includes an other device simulation unit 562.
  • the other device simulation unit 562 performs a simulation on at least one of the other devices 630 which are external devices other than the sensor 620 as a stock sensor and other than the actuator 610.
  • the other device simulation unit 562 simulates input signal information from at least one of the other devices 630.
  • the other device simulation unit 562 simulates the input signal information from the other device 630 based on the setting information input from the setting input unit 520 regarding the other device 630 and the output signal information from the input / output switching unit 570. Is generated.
  • the output signal information used here corresponds to signal information sent from the input / output switching unit 570 to the other device input / output unit 513 in the actual operation of the transport system 700D.
  • the simulated signal information generated by the other device simulation unit 562 is sent to the control program execution unit 530 as substitute information of at least a part of the input signal information from the other device 630.
  • FIG. 16 shows an example of setting information regarding the other device 630.
  • “Number” and “Name” are used to distinguish input signal information to be simulated.
  • “Trigger” is the name of signal information that triggers input signal information.
  • “Delay time” is the time from the generation of signal information serving as a trigger until the output of simulated input signal information changes.
  • “Output” is an output value of input signal information to be simulated. In this example, it is simulated that the input signal corresponding to “signal_1” is turned ON 500 ms after the output signal corresponding to “trigger_1” is turned ON. The input signal is not limited to such an ON / OFF digital signal.
  • the input signal corresponding to “signal_2” in the figure takes the output value “100” 3 seconds after the output signal corresponding to “trigger_2” is turned ON.
  • the input signal may represent data in an arbitrary format such as a numerical value, a character string, or a file.
  • the other device simulation unit 562 performs a simulation of the other device 630.
  • the behavior of various external devices 600 connected to the controller 500D can be simulated.
  • FIG. 17 is a block diagram schematically showing the configuration of the transport system 700E in the present embodiment.
  • the transport system 700E has a controller 500E.
  • the controller 500E has an input / output switching unit 570E.
  • the input / output switching unit 570E includes an output suppression unit 571.
  • the output suppression unit 571 is configured to be able to temporarily invalidate the output of drive information to the actuator output unit 511. While the output to the actuator output unit 511 is invalidated, the output to at least one of the work simulation unit 550 and the external input simulation unit 560 may be maintained as necessary.
  • the input / output switching unit 570E includes the output suppression unit 571 that can temporarily invalidate the output of drive information to the actuator output unit 511.
  • the controller 500E can be tested without preparing the actuator 610 or without actually operating the actuator 610.
  • the case where the output of the drive information to the actuator 610 is invalidated has been described.
  • the output to the other device 630 may be invalidated.
  • FIG. 18 is a block diagram schematically showing the configuration of the transport system 700F in the present embodiment.
  • the transport system 700F has a controller 500F.
  • the controller 500F has an external scenario execution unit 580.
  • the external scenario execution unit 580 is connected to various functional blocks in the controller 500F, and issues various data forcible change commands to the respective functional blocks in accordance with the contents described in the external scenario.
  • the external scenario execution unit 580 forces the internal data of at least one of the control program execution unit 530, the constraint condition changing unit 540, the work simulation unit 550, the sensor simulation unit 561, and the input / output switching unit 570. An instruction to change to is issued.
  • an internal variable in the control program stored in the control program execution unit 530 is changed.
  • the constraint condition held in the constraint condition changing unit 540 is changed.
  • the workpiece is forcibly moved in the simulation by the workpiece simulation unit 550.
  • information input from the work simulation unit 550 to the sensor simulation unit 561 is changed.
  • the input / output signal in the input / output switching unit 570 is forcibly changed.
  • the format of the scenario processed by the external scenario execution unit 580 may be anything that can be interpreted by the controller 500F. Therefore, this scenario may be based on, for example, an instruction set used in the control program execution unit 530, or may be converted into a CPU (Central Processing Unit) instruction set.
  • a CPU Central Processing Unit
  • the external scenario is executed by the external scenario execution unit 580 on the simulation.
  • the cause of the operation error is, for example, clogging of a workpiece on the conveyor as the actuator 610, disturbance of the input signal of the sensor 620 due to chattering or noise, or noise superimposed on a signal from another controller as the other device 630 Etc.
  • FIG. 19 is a block diagram schematically showing the configuration of the transport system 700G in the present embodiment.
  • the transport system 700G has a controller 500G.
  • the input / output switching unit 570 has a combined mode as an operation mode. In the combined mode, the input / output switching unit 570 sends the sensor information generated by the sensor input unit 512 to each of the control program execution unit 530 and the signal comparison unit 590, and the sensor simulation information generated by the sensor simulation unit 561. The signal is sent to the signal comparison unit 590.
  • the controller 500G includes the signal comparison unit 590 described above.
  • the signal comparison unit 590 compares sensor information and sensor simulation information. Preferably, a warning signal is output when the difference between the two is significant.
  • the condition for determining that “the difference between the two is significant” may be, for example, a condition that the difference between the values of the signals represented by both pieces of information exceeds a predetermined value. It may be a condition that the mismatch of information continues for a certain time or more, or any condition learned from the driving situation.
  • arbitrary determination conditions may be used. The determination condition may be given in advance from the setting input unit 520 to the signal comparison unit 590.
  • the signal comparison unit 590 includes a determination condition holding unit (not shown) that holds the determination conditions.
  • the signal comparison unit 590 compares the sensor information with the sensor simulation information.
  • the actual transport system 700G can be monitored using simulation. Specifically, in the actual operation, that is, the operation while flowing the workpiece, the sensor simulation information that is a simulation result when the workpiece performs an ideal movement, and the sensor information that is output according to the actual movement of the workpiece By comparing these, it is possible to monitor the actual operation state.
  • FIG. 20 is a block diagram schematically showing a hardware configuration of a controller 800 that can be used as any of the controllers 500A to 500G described above.
  • the controller 800 includes a processor (processing circuit) 801, a memory 802, a storage 803, an input / output device 804, a portable storage medium driving device 805, a communication interface 806, and an internal bus 807.
  • the external interface 510 may correspond to the communication interface 806.
  • the setting input unit 520 can correspond to the input unit in the input / output device 804, the portable storage medium driving device 805, or the communication interface 806.
  • control program execution unit 530 The functions of the control program execution unit 530, the constraint condition changing unit 540, the work simulation unit 550, the external input simulation unit 560, and the input / output switching unit 570 are executed by the processor 801 reading and executing a program stored in the storage 803. Can be realized. The same applies to the controllers 500B to 500G other than the controller 500A.
  • the processor 801 executes arithmetic and logical operations in accordance with program instructions.
  • the processor 801 may have a configuration in which a plurality of CPU cores are provided.
  • the memory 802 is a main memory configured by, for example, a RAM (Random Access Memory). In the main memory, a program to be executed by the processor 801 is loaded and data used for the processing of the processor 801 is stored.
  • the storage 803 is a storage device such as a hard disk drive or flash memory, and stores programs and various data.
  • the portable storage medium driving device 805 is a device that reads a program or data stored in the portable storage medium 900.
  • the portable storage medium 900 is, for example, a magnetic disk, an optical disk, a magneto-optical disk, or a flash memory.
  • the processor 801 executes a program stored in the storage 803 or the portable storage medium 900 while cooperating with the memory 802 and the storage 803.
  • the input / output device 804 is, for example, a keyboard, a touch panel, and a display.
  • the input / output device 804 receives an operation command by a user operation or the like, and outputs a processing result by the controller 800.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Programmable Controllers (AREA)
  • Control Of Conveyors (AREA)

Abstract

本発明の目的は、センサ情報のシミュレーションを、搬送システムの種類に大きく依存せずに容易に、かつ、搬送システムのコントローラを利用して行うことができる、コントローラおよび搬送システムを提供することである。ワークシミュレーション部(550)は、少なくとも1つのアクチュエータ(610)のうち拘束条件においてワークを拘束するとされているものに関する駆動情報により、ワークの移動量を推定し、移動量をワークの前回位置に加算することによりワークの現在位置を推定する。センサシミュレーション部(561)は、ワークの現在位置を用いることでセンサシミュレーション情報を生成する。入出力切換部(570)は、駆動情報をワークシミュレーション部(550)へ送り、かつ、センサ情報の代替情報として、センサシミュレーション情報を制御プログラム実行部(530)へ送る。

Description

コントローラおよび搬送システム
 本発明は、コントローラおよび搬送システムに関し、特に、センサからのセンサ信号を参照しながらアクチュエータへ駆動信号を出力するためのコントローラと、それを用いた搬送システムとに関するものである。
 搬送システム、すなわち物を搬送するためのシステム、は、たとえば工場における生産装置など、様々な用途に用いられている。以下、搬送システムにおいて搬送される物を「ワーク」と称する。搬送システムは、通常、ワークを移動させるためのアクチュエータと、ワークを検出するためのセンサと、これらを制御するためのコントローラとを有している。コントローラの動作試験として、従来から、シミュレーション技術が利用されている。
 特開2014-148389号公報(特許文献1)によれば、搬送機が搬送物を搬送するシミュレーション演算を実行する情報処理装置が開示されている。3次元シミュレーション空間上でワークとリフターとテーブルとが配置される。情報処理装置は、リフターがテーブル上のワークを搬送するシミュレーション演算を実行する。ここで、情報処理装置は、テーブルに配置されたワークをリフターが上方向に移動させる場合、リフターのワークと一体となる度合いを示す優先度をテーブルのワークと一体となる度合いを示す優先度よりも高く設定する。また、情報処理装置は、ワークを搬送中のリフターがテーブルよりも下方向に移動する場合、リフターの優先度をテーブルの優先度よりも低く設定する。
 特開2014-063327号公報(特許文献2)によれば、シミュレーション装置が開示されている。シミュレーション装置は、対象物を扱う機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを実行するプロセッサを含む。プロセッサは、制御プログラムに従って、仮想空間において機械に対応する仮想機械を動かすための動作指令に基づいて仮想機械の動きを制御する動作制御手段と、仮想機械によって扱われ対象物に対応する仮想対象物のモデルデータと、仮想機械のモデルデータとに基づいて、仮想機械が作用可能な作用空間と仮想対象物とが重なる領域の体積が予め定められた基準値以上であるか否かを判断する判断手段と、体積が基準値以上である場合に、仮想対象物を動作指令に基づく仮想機械の動きに追従させる追従手段とを含む。
 特開2002-358114号公報(特許文献3)によれば、シーケンサのプログラムによる設備動作のシミュレーションを行なうシミュレーション装置が開示されている。シミュレーション装置は、上記シーケンサからの出力に基づいて上記設備の状態の変化をシミュレートし該設備の変化状態を所定時間毎に算出する状態算出手段と、上記状態算出手段により算出される上記設備の変化状態に応じて上記シーケンサに出力すべき当該状態に関連する擬似信号を生成する擬似信号生成手段とを有している。すなわち、このシミュレーション装置は、2段階でシミュレーションを行なっている。まず、シミュレーション装置は、シーケンサからの出力、つまり動作指令によって設備の状態がどのように変化するかをシミュレートしている。そしてシミュレーション装置は、その設備が擬似信号を生成すべき状態になったか、端的に言えば、設備が動いた結果として、該設備の状態変化を検出する検出器に出力変化があるか否かをシミュレートしている。設備の状態とは、たとえば、アクチュエータおよびワークの状態である。検出器は、たとえば、ワークが所定位置に存在するか否かを検出するものである。
 特開2002-351511号公報(特許文献4)によれば、コントローラにおける入力生成装置が開示されている。コントローラは、ソフトウェア的に機能が定義されて制御アプリケーションを実行するPLC手段と、実プロセスからの信号をPLC手段にインターフェースする入力インターフェース手段と、PLC手段より実プロセスへの信号をインターフェースする出力インターフェース手段とを有する。コントローラに適用される入力生成装置は、ソフトウェア的に機能が定義された疑似入力生成手段と、実入力/疑似入力切り換え手段と、を有している。疑似入力生成手段は、出力インターフェース手段よりの信号に基づいて模擬的な入力信号を生成する。実入力/疑似入力切り換え手段は、模擬入力信号使用時には、出力インターフェース手段よりの信号を疑似入力生成手段に供給すると共に、疑似入力生成手段の出力信号を上記入力インターフェース手段に供給する。
特開2014-148389号公報 特開2014-063327号公報 特開2002-358114号公報 特開2002-351511号公報
 上記特許文献1に記載の技術は、リフターがテーブル上のワークを搬送するという特定の構成にしか適用することができない。つまり、この技術は汎用性に乏しいものである。また、ワークに作用する全てのものに対して優先度の設定が必要であり、その設定は、シミュレーション対象に依存して個別に設計が必要である。このような設計作業は容易なものではない。
 上記特許文献1の技術と比して上記特許文献2の技術は、より汎用的な技術であるため、より様々な搬送システムに適用できると考えられる。しかしながらこの方法は、作用空間または仮想対象物を複数の単位領域に分割しての計算処理を要することから、計算負荷が大きい。さらに、これら特許文献1および2の技術は、純粋なシミュレーション技術であり、現実の搬送システムの試験に利用することが想定されたものではない。
 上記特許文献1および2の技術と異なり上記特許文献3に記載の技術は、現実の搬送システムに用いられるシーケンサ(コントローラ)からの出力に基づいて、シーケンサのプログラムの検証を行うことができる。しかしながらこの方法では、搬送システムのコントローラに接続されたシミュレーション装置によってシミュレーションが行われる。このため、コントローラに加えてシミュレーション装置を必要とする。さらに、両者間での通信も必要とする。コントローラとコンピュータとの間の通信は、通信遅れ時間を発生させる。このため、実際のシステムの運転状態と、それをシミュレーションした状態とで、事象が発生するタイミングが異なってしまう。搬送システムのプログラムにおいては、その性能を上げるために、通信および計算処理のリアルタイム性に依存した制御が記述されることも多く、通信遅れによってタイミングがずれてしまっては、正確な試験を実施しにくい。
 上記特許文献1から3の技術と異なり上記特許文献4の技術は、実際のシステムのコントローラ内でシミュレーションが行われる。しかしながらこの特許文献4において説明されている具体的な応用例はプラント訓練システムのみであり、搬送システムに適用するための具体的方法は開示されていない。仮に、この技術に対して、上記特許文献2の技術のように搬送システムを対象とした汎用性の高いシミュレーション技術を組み合わせようとすると、システムのコントローラは、このシミュレーションを処理するために、大きな計算リソースを必要とする。しかしながら、搬送システムに用いられるコントローラは、典型的には、シミュレーション用途に適したコンピュータとは異なり、大きな計算リソースを有していない。よって、仮に上記のような組み合わせが可能であったとしても、搬送システムの正確な試験を実施することは困難である。
 本発明は以上のような課題を解決するためになされたものであり、その目的は、センサ情報のシミュレーションを、搬送システムの種類に大きく依存せずに容易に、かつ、搬送システムのコントローラを利用して行うことができる、コントローラおよび搬送システムを提供することである。
 本発明のコントローラは、ワークを検出する少なくとも1つのセンサからのセンサ信号を参照しながら、ワークを搬送する少なくとも1つのアクチュエータへ駆動信号を出力する搬送システムのためのものである。コントローラは、外部インターフェースと、設定入力部と、制御プログラム実行部と、拘束条件変更部と、ワークシミュレーション部と、センサシミュレーション部と、入出力切換部とを有する。外部インターフェースは、アクチュエータ出力部と、センサ入力部とを有する。アクチュエータ出力部は、アクチュエータを制御するための駆動情報を受け付けて、駆動情報に基づいてアクチュエータへ駆動信号を送る。センサ入力部は、センサからセンサ信号を受け付けて、センサ信号に基づいてセンサ情報を生成する。設定入力部は、制御プログラムと、拘束条件設定情報とをユーザから受け付ける。制御プログラムは、センサ情報を参照しながら駆動情報を生成するためのものである。拘束条件設定情報は、ワークとアクチュエータとの間で想定される拘束条件を変更するために制御プログラムに関連付けられる命令情報である。制御プログラム実行部は、制御プログラムを処理するものであって、かつ、拘束条件変更命令処理部を有するものである。拘束条件変更命令処理部は、拘束条件設定情報に基づいて拘束条件変更命令を発行する。拘束条件変更部は、拘束条件変更命令処理部によって発行された拘束条件変更命令に基づいて拘束条件を管理する。ワークシミュレーション部は、少なくとも1つのアクチュエータのうち、拘束条件変更部によって管理されている拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部によって生成された駆動情報により、ワークの移動量を推定し、移動量をワークの前回位置に加算することによりワークの現在位置を推定する。センサシミュレーション部は、ワークシミュレーション部によって推定されたワークの現在位置の情報を用いることで、センサ情報を模擬したセンサシミュレーション情報を生成する。入出力切換部は、動作モードとして少なくともセンサシミュレーションモードを有する。入出力切換部はセンサシミュレーションモードにおいて、制御プログラム実行部によって生成された駆動情報を少なくともワークシミュレーション部へ送り、かつ、センサ情報の代替情報として、センサシミュレーション部によって生成されたセンサシミュレーション情報を制御プログラム実行部へ送る。
 本発明の搬送システムは、アクチュエータと、センサと、コントローラとを有する。アクチュエータはワークを搬送する。センサはワークを検出する。コントローラは、センサからのセンサ信号を参照しながら、アクチュエータへ駆動信号を出力するためのものである。コントローラは、外部インターフェースと、設定入力部と、制御プログラム実行部と、拘束条件変更部と、ワークシミュレーション部と、センサシミュレーション部と、入出力切換部とを有する。外部インターフェースは、アクチュエータ出力部と、センサ入力部とを有する。アクチュエータ出力部は、アクチュエータを制御するための駆動情報を受け付けて、駆動情報に基づいてアクチュエータへ駆動信号を送る。センサ入力部は、センサからセンサ信号を受け付けて、センサ信号に基づいてセンサ情報を生成する。設定入力部は、制御プログラムと、拘束条件設定情報とをユーザから受け付ける。制御プログラムは、センサ情報を参照しながら駆動情報を生成するためのものである。拘束条件設定情報は、ワークとアクチュエータとの間で想定される拘束条件を変更するために制御プログラムに関連付けられる命令情報である。制御プログラム実行部は、制御プログラムを処理するものであって、かつ、拘束条件変更命令処理部を有するものである。拘束条件変更命令処理部は、拘束条件設定情報に基づいて拘束条件変更命令を発行する。拘束条件変更部は、拘束条件変更命令処理部によって発行された拘束条件変更命令に基づいて拘束条件を管理する。ワークシミュレーション部は、少なくとも1つのアクチュエータのうち、拘束条件変更部によって管理されている拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部によって生成された駆動情報により、ワークの移動量を推定し、移動量をワークの前回位置に加算することによりワークの現在位置を推定する。センサシミュレーション部は、ワークシミュレーション部によって推定されたワークの現在位置の情報を用いることで、センサ情報を模擬したセンサシミュレーション情報を生成する。入出力切換部は、動作モードとして少なくともセンサシミュレーションモードを有する。入出力切換部はセンサシミュレーションモードにおいて、制御プログラム実行部によって生成された駆動情報を少なくともワークシミュレーション部へ送り、かつ、センサ情報の代替情報として、センサシミュレーション部によって生成されたセンサシミュレーション情報を制御プログラム実行部へ送る。
 本発明によれば、センサ情報を模擬したセンサシミュレーション情報が、ワークの推定された現在位置の情報を用いて生成される。ワークの現在位置は、ワークの推定された移動量をワークの前回位置に加算することにより推定される。ワークの移動量は、少なくとも1つのアクチュエータのうち、拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部によって生成された前記駆動情報により推測される。拘束条件は拘束条件設定情報に基づいて管理される。拘束条件設定情報は、搬送システムの制御プログラムを参照することにより、搬送システムの種類に大きく依存することなくユーザが容易に作成し得る。これにより、センサ情報のシミュレーションを、搬送システムの種類に大きく依存せずに容易に行うことができる。得られたセンサシミュレーション情報は、センサ情報が欠如した状態での搬送システムの試験における代替情報として、または、搬送システムの実働における参考情報として利用することができる。
 さらに、ワークの推定移動量は、少なくとも1つのアクチュエータのうち、拘束条件変更部によって管理されている拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部によって生成された駆動情報に基づいて、容易に得ることができる。この推定移動量をワークの前回位置に加算することでワークの現在位置が推測される。以上のように、ワークの推定移動量は駆動情報から容易に得られ、それを用いた単純な演算により、ワークの現在位置が推測される。これにより、ワークの現在位置を、少ない計算量で推測することができる。よって、シミュレーション用途に適したコンピュータに比して計算リソースが少ないことが通常である搬送システムのコントローラであっても、リアルタイムでのシミュレーションを行うことができる。
 以上のように本発明によれば、センサ情報のシミュレーションを、搬送システムの種類に大きく依存せずに容易に、かつ、搬送システムのコントローラを利用して行うことができる。
 この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施の形態1における搬送システムの構成を概略的に示すブロック図である。 図1の設定入力部が受け付ける、ワークの設定情報の例の説明図である。 図1の設定入力部が受け付ける、アクチュエータの設定情報の例の説明図である。 図1のアクチュエータおよびセンサの例を示す斜視図である。 図1のワークシミュレーション部の動作を概略的に示すフローチャートである。 図1のセンサの設定情報の例の説明図である。 図1のセンサシミュレーション部の動作を概略的に示すフローチャートである。 実施の形態1の変形例において設定入力部が受け付ける、アクチュエータとしてのコンベアの設定情報の例の説明図である。 実施の形態1の変形例において設定入力部が受け付ける、アクチュエータとしてのストッパの設定情報の例の説明図である。 実施の形態1の変形例における、姿勢が変更されたワークのサイズを算出する方法の説明図である。 本発明の実施の形態2における搬送システムが有するアクチュエータの例を示す斜視図である。 本発明の実施の形態2における搬送システムの構成を概略的に示すブロック図である。 本発明の実施の形態3における搬送システムが有するアクチュエータと、それが作用するワークとの配置の例を示す斜視図である。 本発明の実施の形態3における搬送システムの構成を概略的に示すブロック図である。 本発明の実施の形態4における搬送システムの構成を概略的に示すブロック図である。 図15の設定入力部が受け付ける、他機器の設定情報の例の説明図である。 本発明の実施の形態5における搬送システムの構成を概略的に示すブロック図である。 本発明の実施の形態6における搬送システムの構成を概略的に示すブロック図である。 本発明の実施の形態7における搬送システムの構成を概略的に示すブロック図である。 コントローラのハードウェア構成例を示すブロック図である。
 以下、図面に基づいて本発明の実施の形態について説明する。なお、以下の図面において同一または相当する部分には同一の参照番号を付しその説明は繰返さない。
 <予備的説明>
 後述する実施の形態1~7におけるコントローラは、たとえば、工場の生産装置の制御に用いられるFA(Factory Automation)用途のものである。この用途の場合、コントローラは、生産装置を流れるワークの動きを模擬する。そしてコントローラは、模擬されたワークの動きに基づいて、ワークの位置を検出するセンサからの入力信号を模擬する。このような動作を行うための設定を、生産装置の作業者(ユーザ)が容易に行うことができる。具体的には、生産装置の構成に合わせたワークの動きのシミュレーション方法を、作業者が、手探りで設計するのではなく、一定の手順に従った汎用的手法により設定することができる。
 本実施の形態についての具体的な説明の前に、それに関連する内容として、FA用途のコントローラと、それを用いた生産装置の立上げ・調整作業とについて、以下に説明する。
 主に工場の生産装置に利用されるFA用途のコントローラは、それに接続された複数の外部機器を制御する。これらの外部機器のうち、コントローラと電力線で接続され、ON/OFFのデジタル信号でコントローラと通信する機器は、総称してI/O(Input/Output)と呼ばれる。I/Oは、たとえば、センサもしくはスイッチなどの、コントローラへの入力機器、または、表示灯もしくはモータなどの、コントローラからの出力信号に従って何らかの動作をする出力機器である。外部機器の中には、サーボモータを制御するサーボアンプ、または、他のコントローラも含まれる。これら外部機器との通信は、ON/OFF以外の情報も扱うため、通信専用のケーブルおよび専用回路を通して行うことが多く、狭義のI/Oとは区別されることも多い。外部機器との接続の態様は、典型的なハードウェア構成を有するコントローラ単体で実現されるもの、コントローラに専用機器を接続することで実現されるもの、などがある。以降の説明では、これらを総称してコントローラと呼ぶ。
 工場の生産装置は、在荷センサと呼ばれるセンサでワークの位置を検出して、そのセンサからの入力信号をトリガとして装置を動作させるものが多い。また、在荷センサからの入力信号は、トリガ信号として以外にも、部品としてのワークの有無を動作実行前に再確認するための確認信号として使われることも多い。在荷センサは、たとえば、投光器と受光器とが一体化された、反射式の光学式センサである。このセンサによれば、ワークがセンサの前に移動すると、投光器からの光がワークから反射することで受光器に入射される。これによりワークの存在が検知される。生産装置は、人間と異なり、通常、目視確認ができないため、ワークを移動させる度にワークを在荷センサで検出する構成を取ることが多い。
 生産装置の立上げ・調整作業時には、多くの場合、いわゆる空運転が行われる。空運転とは、ワークを流さない運転のことである。ワークを流しての運転では、生産装置の機械とワークとの接触が発生するため、搬送システムの運転プログラムなどに不備があった場合には、機械またはワークの破損が発生し得る。よって、空運転での正常な動作が確認された後に、ワークを流しての本格的な試験が行われることが通常である。ワークが高価である場合、または、調整用のワークの準備数が少ない場合など、空運転が必須の場合もある。
 空運転は、ワークを流す本来の運転とは異なるため、その実施のためには何らかの工夫を要することが多い。上述したように、生産装置は在荷センサをトリガ信号または確認信号として利用していることが多い。この場合に何らの工夫なしに空運転が行われると、ワークを欠くためにこれらの信号が異常値を取ってしまうことで、試験としての空運転を進めることが困難となる。このため、空運転を目的としたプログラムの変更が行われることがある。具体的には、在荷センサによる確認箇所がコメントアウトされたり、在荷センサからの入力信号を扱う内容が他の信号を扱う内容に書き換えられたりする。このようなプログラムの変更の際には、不注意によるミス、および、意図しない論理変更は、避けられなければならない。そのためには、搬送システムにおける機械の動作と制御プログラムの内容とを十分に理解した上で、装置毎、または、確認したい作業毎に、プログラムの修正・作成の作業を行う必要がある。従来、このような作業には、多くの時間を要していた。
 さらに、定常的な運転における挙動だけでなく、コンベア上もしくは部品供給部でワークが詰まってしまうようなエラー、または、センサの検出が安定しないエラーなど、プログラムによる要因ではなく物理的な要因で発生する様々なエラーが発生した場合の挙動を、実働の前に簡単に確認しておくことができれば有益である。なぜならば、実働中にこれらエラーが生じその対処として制御プログラムを修正する必要が生じると、生産装置をしばらくの間停止させなければならず、その結果、大きな損害が生じ得るためである。しかしながら、これらの物理的なエラーの検証は、多くの場合、生産装置の運転時に偶発的に発生するものであるため、立上げ・調整時に全てを確認することは、現状では困難であった。
 そこで本発明者は、空運転の実施、および、様々なエラーの検証を可能とすることを主に意図して、ワークの移動と、それに伴う在荷センサのセンサ信号の変化などを、シミュレーションする方法を検討した。在荷センサのセンサ信号を模擬することができれば、それを用いることで、実働に近い状態で空運転を実施することができる。また、検証されるエラーが物理的な要因によるものであるためにその発生が偶発的なものであっても、シミュレーション上であれば、エラーが偶発的に発生するのを待つことなく、すぐに確認することができる。
 シミュレーションを実働に近い状態で行うためには、シミュレーションは、搬送システムに追加的に接続されたコンピュータによってではなく、搬送システム自体のコントローラ上で行なわれる必要がある。なぜならば前者においては、コントローラとコンピュータとの連携のための通信に要する時間に遅れが生じ得るため、センサ信号の発生などのタイミングが、実働におけるものと相違し得るためである。特に生産装置においては、搬送システムの性能を上げるために、通信および計算処理のリアルタイム性に依存した制御がプログラム中に記述されることが多く、よって、通信遅れによってタイミングがずれてしまっては、正確な確認作業を実施することが困難である。
 以下に述べる各実施の形態は、上述した問題または要望を鑑みて検討されたものである。
 <実施の形態1>
 (構成)
 図1は、本実施の形態における搬送システムの構成を概略的に示すブロック図である。本実施の形態における搬送システム700Aは、アクチュエータ610と、センサ620と、コントローラ500Aとを有する。アクチュエータ610はワークを搬送する。センサ620は、ワークを検出するものを含む。コントローラ500Aは、センサ620からのセンサ信号を参照しながら、アクチュエータ610へ駆動信号を出力するためのものである。駆動信号は、コントローラ500A内において生成される駆動情報に従って、コントローラ500Aから出力される。本実施の形態においては、説明を簡単にするために、主に、この駆動情報が、アクチュエータのサーボモータの絶対位置の指令信号を表すものである場合について説明する。駆動情報に従ってコントローラ500Aから出力される駆動信号も、アクチュエータのサーボモータの絶対位置の指令信号を表すものであってよい。駆動信号は、アクチュエータのサーボモータへ電力を供給するサーボアンプに入力される動作指定値を表す指令信号であってもよい。
 コントローラ500Aは、外部インターフェース510と、設定入力部520と、制御プログラム実行部530と、拘束条件変更部540と、ワークシミュレーション部550と、センサシミュレーション部561と、入出力切換部570とを有する。上記各構成について、以下に詳しく説明する。
 外部インターフェース510は、外部機器600との通信を行うものである。外部インターフェース510は、アクチュエータ610出力部と、センサ入力部512とを有する。アクチュエータ出力部511は、アクチュエータ610を制御するための動作指令値である駆動情報を受け付けて、駆動情報に基づいてアクチュエータ610へ駆動信号を送る。センサ入力部512は、センサ620からセンサ信号を受け付けて、センサ信号に基づいてセンサ情報を生成する。外部インターフェース510はさらに、アクチュエータ610およびセンサ620以外の外部機器である他機器630が接続される他機器入出力部513を有してもよい。これにより外部インターフェース510は、センサ620およびアクチュエータ610に加えて他機器630に接続可能である。外部インターフェース510の各入出力部の具体的な構成は、それに接続される外部機器600の種類に依存する。たとえば、外部機器600が、I/O機器なのか、サーボアンプなのか、または他のコントローラなのかによって、入出力部の具体的な構成は異なる。サーボアンプが用いられる場合、その機能がアクチュエータ610に含まれていてもよい。あるいはサーボアンプの機能が外部インターフェース510に含まれていてもよく、この場合、駆動信号によってサーボモータへの電力供給が行われる。
 設定入力部520は、通常のコントローラにおけるものと同様に、制御プログラムをユーザから受け付ける。制御プログラムは、センサ情報を参照しながら駆動情報を生成するためのものである。この駆動情報に従ってアクチュエータ610は駆動される。本実施の形態における特徴的な点として、設定入力部520は、拘束条件設定情報をユーザから受け付ける。拘束条件設定情報は、ワークとアクチュエータ610との間で想定される拘束条件を変更するために制御プログラムに関連付けられる命令情報である。
 制御プログラム実行部530は制御プログラムを処理する。制御プログラム実行部530は拘束条件変更命令処理部531を有する。拘束条件変更命令処理部531は、拘束条件設定情報に基づいて拘束条件変更部540へ拘束条件変更命令を発行する。言い換えれば、拘束条件変更命令処理部531は、拘束条件を変更するために制御プログラムに関連付けられている命令情報を処理することにより、拘束条件変更部540へ指令を行う。
 拘束条件変更部540は、拘束条件変更命令処理部531によって発行された拘束条件変更命令に基づいて拘束条件を管理する。この目的で、拘束条件変更部540は、現時点での拘束条件の情報を保持するための拘束条件保持部(図示せず)を有する。
 ワークシミュレーション部550は、ワークの移動についてのシミュレーションを行うものである。具体的には、ワークシミュレーション部550は、少なくとも1つのアクチュエータ610のうち、拘束条件変更部540によって管理されている拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部530によって生成された駆動情報により、ワークの移動量を推定し、移動量をワークの前回位置に加算することによりワークの現在位置を推定する。
 センサシミュレーション部561は、センサ620の動作についてのシミュレーションを行うものである。具体的には、センサシミュレーション部561は、ワークシミュレーション部550によって推定されたワークの現在位置の情報を用いることで、センサ情報を模擬したセンサシミュレーション情報を生成する。
 入出力切換部570は、コントローラ500Aの動作モードを選択するために、信号の流れを切り換えるものである。入出力切換部570は、動作モードとして少なくともセンサシミュレーションモードを有する。さらに本実施の形態においては、入出力切換部570は、動作モードとしてセンサ稼働モードを有する。
 第1に、センサシミュレーションモードについて説明する。本モードにおいては、入出力切換部570は、制御プログラム実行部530によって生成された駆動情報を少なくともワークシミュレーション部550へ送る。さらに、入出力切換部570は、センサ情報の代替情報として、センサシミュレーション部561によって生成されたセンサシミュレーション情報を制御プログラム実行部530へ送る。これにより、制御プログラム実行部530は、実際のセンサ情報ではなく、それを模擬した情報を利用して動作する。好ましくは、入出力切換部570は、制御プログラム実行部530によって生成された駆動情報を、ワークシミュレーション部550だけでなく、アクチュエータ出力部511へも送る。より好ましくは、入出力切換部570は本モードにおいて、駆動情報をアクチュエータ出力部511へも送るか否か選択可能に構成されている。
 第2に、センサ稼働モードについて説明する。本モードにおいて、入出力切換部570は、センサ入力部512によって生成されたセンサ情報を制御プログラム実行部530へ送る。これにより、制御プログラム実行部530は、シミュレーションによる情報ではなく、センサ620によるセンサ情報を利用して動作する。よって、搬送システム700Aが実働する。
 (動作)
 まずワークシミュレーション部550によるシミュレーション動作について説明する。まず、ユーザは設定入力部520を介して、制御プログラムと、ワーク、アクチュエータ610およびセンサ620の各々の設定情報と、外部入力信号切換情報とを入力する。制御プログラムは、制御プログラム実行部530へ送られ、そこで保持される。ワーク、アクチュエータ610およびセンサ620の各々の設定情報は、ワークシミュレーション部550へ送られ、そこで保持される。外部入力信号切換情報は、入出力切換部570へ送られ、そこで保持される。センサ620の設定情報は、外部入力シミュレーション部560のセンサシミュレーション部561へ送られ、そこで保持される。なおワークの設定情報として設定された情報の一部は、拘束条件変更部540へ送られ、そこで保持される。
 制御プログラム実行部530には、上述したように設定入力部520から制御プログラムが送られる。制御プログラムは制御プログラム実行部530に格納される。制御プログラムには、実働において外部機器600を制御するための通常の制御命令に加えて、シミュレーションを可能とするための専用命令が含められている。専用命令は次の2種類のものを有する。第1の命令は、指定されたワークと指定されたアクチュエータ610とが互いに拘束されているものと想定する拘束命令である。第2の命令は、指定されたワークと指定されたアクチュエータ610との互いの拘束が解除されたものと想定する拘束解除命令である。
 専用命令は、ワークとアクチュエータ610との間で想定される拘束条件を変更するために制御プログラムに関連付けられる命令情報である。拘束命令は、特定のアクチュエータ動作がワークに対して作用する状況になる制御シーケンスの箇所に追加される。これらの箇所は、たとえば、ロボットがワークを把持する箇所、コンベア上にワークが置かれる箇所、ワークを押すアクチュエータが押す動作を開始する箇所などである。これらの箇所は、プログラム上で、アクチュエータの動作命令が記述されている箇所である。よって拘束命令を追加すべき箇所を判別することは、ユーザにとって容易である。拘束解除命令は、拘束命令とは逆に、特定のアクチュエータ動作が、ワークに対して作用する状況から解放される制御シーケンスの箇所に追加される。これらの箇所は、たとえば、ロボットがワークを設置する箇所、コンベア上からワークが除かれる箇所、ワークを押すアクチュエータの押す動作が完了する箇所などである。これらの箇所は、プログラム上で、通常、アクチュエータ動作命令が記述されている箇所、またはアクチュエータの動作の完了を確認する命令が記述されている箇所である。よって拘束解除命令を追加すべき箇所を判別することは、ユーザにとって容易である。以上のように、ユーザは、通常の制御プログラムに対して、拘束条件設定情報としての専用命令を、容易に付加することができる。
 拘束命令および拘束解除命令は、1つのワークと複数のアクチュエータ610の各々との関係を表現し得る。このため、1つのワークに関して拘束命令または拘束解除命令が重複して発行される場合がある。たとえば、ワークがコンベアによって移動された後に直動アクチュエータでコンベアから外される場合には、ワークがコンベアに載せられる時点で拘束命令が発令され、直動アクチュエータが押す動作を開始する時点でも、さらに拘束命令が発令される。直動アクチュエータの押す動作が完了した時点で、コンベアおよび直動アクチュエータの両方に関して拘束解除命令が発令される。なお、拘束命令は、直動アクチュエータが押す動作を開始する時点で発令される代わりに、直動アクチュエータがどのワークを押すかが判断された時点で発令されてもよい。
 制御プログラム実行部530による制御プログラムの実行において、前記拘束命令または拘束解除命令が記述されている箇所が実行されるときには、制御プログラム実行部530内の拘束条件変更命令処理部531が呼び出される。拘束条件変更命令処理部531は、命令の内容を解釈し、ワークの拘束条件を変更する指令を拘束条件変更部540へ発行する。
 拘束条件変更部540には、上述したように設定入力部520から設定情報が送られる。この設定情報は拘束条件変更部540に格納される。この設定情報には、拘束条件変更部540が拘束状態を管理するワークを決めるための設定情報が含まれる。たとえば、ワークの名前などの情報が含まれる。拘束条件変更部540は、拘束条件変更命令処理部531からの指令に従って、各ワークの拘束条件を管理する。言い換えれば、どのワークがどのアクチュエータ610に拘束されていると想定されているかが管理される。そして拘束条件変更部540は各ワークの拘束条件をワークシミュレーション部550に出力する。
 ワークシミュレーション部550には、上述したように設定入力部520から設定情報が送られる。この設定情報はワークシミュレーション部550に格納される。この設定情報には、ワーク、アクチュエータ610、およびセンサ620の設定情報が含まれる。またワークシミュレーション部550には、上述したように、拘束条件変更部540から、各ワークの拘束条件が入力される。また、ワークシミュレーション部550には、入出力切換部570から、アクチュエータ610の駆動情報が送られる。この、入出力切換部570からの情報信号は、入出力切換部570が外部インターフェース510へ送るものが入出力切換部570内で複製されたものであってもよい。
 図2は、ワークシミュレーション部550に格納される、ワークの設定情報の例を示す。「番号」および「名前」は、異なるワークを区別するためのものである。「サイズ(X,Y,Z)」は、ワークの、センサ620によって検出される部分のサイズをXYZ直交座標系で表している。「初期位置姿勢(X,Y,Z,Rx,Ry,Rz)は、初期状態でのワークの位置および姿勢を表している。X,YおよびZは、位置をXYZ直交座標系で表している。Rx、RyおよびRzのそれぞれは、姿勢をX軸、Y軸およびZ軸周りの回転角で表している。
 図3は、ワークシミュレーション部550に格納される、アクチュエータ610の設定情報の例を示す。「番号」および「名前」は、異なるアクチュエータ610を区別するためのものである。「動作方向」は、アクチュエータの変位が生じる方向を表している。「サイズ」は、アクチュエータ610の、センサ620によって検出される部分の動作方向におけるサイズを表している。「初期位置」は、初期状態での動作方向におけるアクチュエータの位置を表している。
 図4は、アクチュエータ610およびセンサ620(図1)の例としてのアクチュエータ611および在荷センサ621,622を示す斜視図である。アクチュエータ611は、固定部611bと、ロッド部611rとを有する。固定部611bはロッド部611rを駆動する部分である。ロッド部611rは、ワークに直接作用する部分である。アクチュエータ611は、ロッド部611rが飛び出ている時は、反射式の光学式の在荷センサ621によって検出され、ロッドが引っ込んでいる時は、反射式の光学式の在荷センサ622によって検出される。この構成において、アクチュエータ611のサイズは、ロッド部611rのうち、在荷センサ621および622によって検出され得る部分の厚み(図中、横方向の寸法)に相当する。
 図5は、ワークシミュレーション部550の動作を概略的に示すフローチャートである。以下、図5を参照して、ワークシミュレーション部550によるワークの位置のシミュレーション方法について説明する。
 まずステップS101にて、シミュレーション処理が、初回の処理として呼び出されたものであるかが判断される。YESと判断された場合には処理がステップS102に進められる。ステップS102にて、全てのアクチュエータ610に関して、アクチュエータ610の前回位置の変数にアクチュエータ610の現在位置の数値が代入される。さらに、全てのワークに関して、ワークの前回位置の変数に、ワークの設定情報として入力されたワークの初期位置が代入される。なお図中、「∀」は「全ての」を表す記号である。また「Axis_PrePos」、「Axis_CurPos」、「Work_PrePos」、および「Work_IniPos」のそれぞれは、アクチュエータ610の前回位置、アクチュエータ610の現在位置、ワークの前回位置、およびワークの初期位置を表している。そして処理が終了される。
 その後、シミュレーション処理が再度呼び出される。この場合、ステップS101にてNOとの判断がなされることになる。これにより処理がステップS103に進められる。ステップS103にて、全てのアクチュエータ610に関して、アクチュエータ610の変位量の変数に、アクチュエータ610の現在位置からアクチュエータ610の前回位置を引いた値が代入される。図中、「Axis_DelPos」はアクチュエータ610の変位量を表している。その後、ステップS104にて、カウンタ変数iに「1」の値が代入される。
 ステップS105にて、番号iのワークの位置が次のように算出される。アクチュエータ610のうち、拘束条件において番号iのワークに拘束されるとされている全てのアクチュエータに関して、ステップS103で計算された変位量に当該アクチュエータの動作方向を乗じた値が算出される。これらの値の合計値が、ワークの前回位置に加算される。図中、「Work_CurPos_i」および「Work_PrePos_i」のそれぞれは、番号iのワークの現在位置および前回位置を表している。また「Chain_Cond_i_j」は、番号iのワークと番号jのアクチュエータとの間の拘束条件を表している。ここで、拘束条件は、拘束されている場合には「1」を、拘束されていない場合には「0」を、値として取るものとする。また「Dir_Axis_j」は番号jのアクチュエータ610の動作方向を表している。また「AXIS_NUM」はアクチュエータ610の総数を表している。
 ステップS106にて、カウンタ変数iに1が加算された上で、それがワークの総数より大きいかが判断される。NOと判断された場合には、処理がステップS105に戻される。なお図中、「++i」は変数iに1を加算することを表している。また「WORK_NUM」はワークの総数を表している。
 ステップS105がワークの総数と同じだけ繰り返されれば、ステップS106にて、NOとの判断がなされることになる。その場合、処理が終了される。ワークシミュレーション部550は、上記で説明した処理が終了したら、算出されたワークの位置情報を外部入力シミュレーション部560に出力する。
 図6は、外部入力シミュレーション部560のセンサシミュレーション部561に格納される、センサ620の設定情報の例を示す。「番号」および「名前」は、異なるセンサ620を区別するためのものである。「通常出力」は、「検出対象」を「検出位置」で検出していない状態での出力値を表している。
 図7は、センサシミュレーション部561の動作を概略的に示すフローチャートである。センサシミュレーション部561には、上述したように、設定入力部520からセンサ620の設定情報が入力され、ワークシミュレーション部550からワークの位置情報が入力される。センサシミュレーション部561は、この情報を用いて、センサ620の状態のシミュレーションを行う。以下、図7を参照して、このシミュレーション方法について説明する。
 まずステップS201にて、カウンタ変数iに「1」の値が代入される。ステップS202にて、番号iのセンサ620の検出対象がワークであるかが判断される。YESと判断された場合には、処理がステップS203に進められる。
 ステップS203にて、X、YおよびZの全方向に関して、検出対象のワークの位置にワークのサイズの半分の値を加えた値が番号iのセンサの検出位置より大きく、かつ、検出対象のワークの位置からワークのサイズの半分の値を引いた値が番号iのセンサの検出位置より小さい、という条件を満たすワークが存在するかが判断される。ここで、ワークのサイズの半分の値を用いるのは、ワークの位置がワークの中点に対応しているためである。図中、「∃」は「存在する」を表す記号であり、「∧」は条件の合接を表している。また「Sensor_ChkPos_i」は番号iのセンサの検出位置を表している。また「Work_CurPos」および「Work_Size」のそれぞれは、ワークの位置およびサイズを表している。
 ステップS203においてYESと判断された場合には、処理がステップS204に進められる。ステップS204にて、センサシミュレーション情報として、番号iのセンサの出力信号は、通常出力が反転されたものとされる。図中「¬」は論理の否定を表す記号である。また「sig_i」および「sig_nor_i」のそれぞれは、番号iのセンサについて、シミュレーション情報としての出力と、通常出力とを表している。ステップS203においてNOと判断された場合には、処理がステップS205に進められる。ステップS205にて、センサシミュレーション情報として、番号iのセンサの出力信号は、通常出力であるものとされる。いずれの場合においても、その後、処理がステップS210に進められる。
 一方、ステップS202にてNOと判断された場合には、処理がステップS206に進められる。ステップS206では、番号iのセンサの検出対象がアクチュエータ610であるかが判断される。
 ステップS206においてYESと判断される場合には、処理がステップS207に進められる。ステップS207では、検出対象である番号jのアクチュエータの位置にアクチュエータのサイズの半分の値を加えた値が番号iのセンサ620の検出位置より大きく、かつ、検出対象である番号jのアクチュエータの位置からアクチュエータのサイズの半分の値を引いた値が番号iのセンサ620の検出位置より小さい、という条件が満たされるか判断される。図中、「Axis_CurPos_j」および「Axis_Size_j」のそれぞれは、検出対象である番号jのアクチュエータの位置およびサイズを表している。
 ステップS207においてYESと判断された場合には、処理がステップS208に進められる。ステップS208にて、センサシミュレーション情報として、番号iのセンサの出力信号は、通常出力が反転されたものとされる。ステップS207においてNOと判断された場合には、処理がステップS209に進められる。ステップS209にて、センサシミュレーション情報として、番号iのセンサの出力信号は、通常出力であるものとされる。いずれの場合においても、その後、処理がステップS210に進められる。一方、ステップS206においてNOと判断された場合には、処理がステップS210に進められる。
 ステップS210にて、カウンタ変数iに1が加算された上で、それがセンサ620の総数より大きいかが判断される。図中、「Sensor_NUM」はセンサ620の総数を表している。NOと判断された場合には、処理がステップS202に戻される。
 ステップS202からの処理がセンサの総数と同じだけ繰り返されれば、ステップS210にて、YESとの判断がなされることになる。その場合、処理が終了される。センサシミュレーション部561は、上記で説明した処理が終了したら、上記処理により算出されたセンサの出力信号を表す情報、すなわちセンサ情報を模擬したセンサシミュレーション情報、を入出力切換部570に出力する。
 入出力切換部570は、設定入力部520から入力されていた外部入力信号切換情報に従った動作モードに応じて、情報信号の授受を行う。動作モードがシミュレーションモードの場合、入出力切換部570は、外部インターフェース510のセンサ入力部512から入力されたセンサ情報を、上述したセンサシミュレーション情報によって代替し、当該情報を制御プログラム実行部530へ出力する。動作モードがセンサ稼働モードの場合、入出力切換部570は、上述した代替は行わずに、センサ情報を制御プログラム実行部530へ出力する。
 なお外部入力信号切換情報は、センサ620のすべてに関して、シミュレーションモードかセンサ稼働モードかを一括して指定するものであってよい。あるいは、外部入力信号切換情報は、センサ620の各々に関して、シミュレーションモードかセンサ稼働モードかを個別に指定するものであってもよい。個別の指定は、たとえば、設定入力部520における一覧表への入力によって行われてもよい。
 (効果)
 本実施の形態によれば、センサ情報を模擬したセンサシミュレーション情報が、ワークの推定された現在位置の情報を用いて生成される。ワークの現在位置は、ワークの推定された移動量をワークの前回位置に加算することにより推定される。ワークの移動量は、少なくとも1つのアクチュエータ610のうち、拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部530によって生成された駆動情報により推測される。拘束条件は拘束条件設定情報に基づいて管理される。拘束条件設定情報は、搬送システムの制御プログラムを参照することにより、搬送システムの種類に大きく依存することなくユーザが容易に作成し得る。これにより、センサ情報のシミュレーションを、搬送システムの種類に大きく依存せずに容易に行うことができる。得られたセンサシミュレーション情報は、センサ情報が欠如した状態での搬送システムの試験における代替情報として、または、搬送システムの実働における参考情報として利用することができる。
 ワークの推定移動量は、少なくとも1つのアクチュエータ610のうち、拘束条件変更部540によって管理されている拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部530によって生成された駆動情報に基づいて、容易に得ることができる。この推定移動量をワークの前回位置に加算することでワークの現在位置が推測される。以上のように、ワークの推定移動量は駆動情報から容易に得られ、それを用いた単純な演算により、ワークの現在位置が推測される。これにより、ワークの現在位置を、少ない計算量で推測することができる。よって、シミュレーション用途に適したコンピュータに比して計算リソースが少ないことが通常である搬送システムのコントローラ500Aであっても、リアルタイムでのシミュレーションを行うことができる。
 以上のように本実施の形態によれば、センサ情報のシミュレーションを、搬送システム700Aの種類に大きく依存せずに容易に、かつ、搬送システム700Aのコントローラ500Aを利用して行うことができる。
 より具体的には、本実施の形態によれば、コントローラを動作させるための通常の情報に加えて、以下の2つの情報を追加するだけで、シミュレーションが可能である。第1の情報として、ワークおよびアクチュエータ610のサイズおよび位置関係といった情報が追加される。これらの情報は、搬送システム700Aの装置構成から明らかな情報であるため、ユーザは容易に追加することができる。第2の情報として、拘束条件設定情報が追加される。拘束条件設定情報は、通常の制御プログラムに関連付けられる命令情報である。この命令情報は、ワークとアクチュエータ610との間で想定される拘束条件を変更する専用命令である。専用命令の追加箇所は、ワークに作用するアクチュエータ610の動作に関連した命令の前後であり、そのような箇所を見分けることはユーザにとって容易である。よって、従来は搬送システムの構成に合わせてユーザが手探りで設計する必要があったシミュレーション方法を、本実施の形態によれば、一定の手順に従った汎用的手法により設定することができる。
 また、上記で説明したシミュレーションは、拘束条件を基にワークの移動を計算するため、3次元空間内での干渉を利用した方法と異なり、少ない計算負荷で実現することができる。具体的には、ワークの移動量が、拘束条件に応じてアクチュエータ610の変位量を加算するだけで算出される。このような単純な算出は、コントローラ500A内の他の制御処理と比較して、非常に少ない計算負荷で処理可能である。
 さらに本実施の形態によれば、入出力切換部570はセンサシミュレーションモードにおいて、制御プログラム実行部530によって生成された駆動情報をアクチュエータ出力部511へ送る。これにより、センサ情報を模擬しつつ、アクチュエータ出力部511からの駆動信号の発生をともなう動作が可能となる。これにより、特に、ワークを搬送しないために適切なセンサ情報が得られない場合においても、アクチュエータ610へ駆動信号を発生することができる。これにより、ワークを搬送することなく、アクチュエータ610への駆動信号の発生を試験することができる。
 さらに本実施の形態によれば、入出力切換部570はセンサ稼働モードにおいて、センサ入力部512によって生成されたセンサ情報を制御プログラム実行部530へ送る。これにより、実際のセンサ620のセンサ信号を用いてコントローラ500Aを実働させることができる。
 なお、上記において詳述したセンサおよびアクチュエータの構成は例示であり、他の様々な構成が用いられ得る。
 (第1の変形例)
 上記では、アクチュエータ610として、サーボモータで駆動する直動軸を有するアクチュエータ611について詳しく説明した。しかしながら、アクチュエータ610の構成は、このようなものに限定されるわけではない。たとえば、アクチュエータ610が、コンベアおよびストッパを含んでいてもよい。ここでのストッパは、コンベア上を流れるワークの移動を制限するものである。たとえば、コンベアの末端に設置される固定のストッパ、および、I/Oによって開閉する、スライド方式のストッパが知られている。
 図8は、アクチュエータとしてのコンベアの設定情報の例を示す。「スピード」はコンベアのスピードを表している。その他、上述した設定情報(図3)と同様の内容も含まれている。ワークおよびコンベアの間の拘束条件が設定されている場合には、コンベアの変位量をワークの位置に加算することで、ワークの移動が模擬される。コンベアの変位量は、コンベアが駆動中は、設定情報の動作方向にスピードを乗じた値で計算され、コンベアが停止中は0で計算される。逆転動作可能なコンベアであれば、逆転中は、移動方向を反転させての計算がなされればよい。
 図9は、アクチュエータとしてのストッパの設定情報の例を示す。ワークおよびストッパの間の拘束条件が設定されている場合には、ワークの位置が次のように計算される。まず、コンベアの変位によるワークの移動が計算される。ストッパの「停止方向」が「1」の値に設定されている方向において、ワークの位置がストッパの「停止位置」を超えている場合には、当該方向におけるワークの位置は、ストッパの「停止位置」によって規定される。ストッパの停止方向が「-1」の値に設定されている方向においては、ワークの位置がストッパの「停止位置」より小さい場合には、当該方向におけるワークの位置は、ストッパの「停止位置」によって規定される。このように、ストッパの「停止方向」の符号は、正負どの方向へのワークの移動が制限されるかの設定に対応している。
 他にもアクチュエータ610として、ロボットのようなものが用いられてもよい。ロボットのように、互いにつなぎ合わされた複数の駆動部によって手先などの先端部分が制御されるような機械の場合には、各駆動部の位置情報から、先端部分の位置を算出するキネマティクスをコントローラ500Aは解いている。この場合、ワークシミュレーション部550に、キネマティクスの解かれた手先位置情報が入出力切換部570から入力される。ワークシミュレーション部550は、手先位置情報から求められる手先位置の変位量に基づいてワークの移動量を算出する。コントローラ500A内でキネマティクスが解かれる場合には、重力保証などの、種々の複雑な補正が行われ得る。上記のように、手先位置情報がワークシミュレーション部550へ与えられることで、そのような複雑な補正計算をワークシミュレーション部550で行う必要がなくなる。
 (第2の変形例)
 ワークの位置変更だけでなく、姿勢変更がワークシミュレーション部550で扱われてもよい。3次元空間内で、物体の姿勢変更が扱われる場合には、その回転中心をどのように定めるかといった問題が発生する。ワークシミュレーション部550の計算負荷を抑えるため、および、設定情報を減らすためには、回転中心はワークの中心とすることが望ましい。これにより、ワークの姿勢が変化しても、ワークの位置情報が変化しない。
 図10に示すように、ワークシミュレーション部550では、ワーク100の形状が、座標軸X、YおよびZのそれぞれと平行な辺を有する直方体として扱われてもよい。言い換えれば、ワークの形状が、ワークを内包する最小の直方体100Aで模擬される。この場合、ワークのサイズがその姿勢によって変化する。図中では、XY平面内での角度α(αは0°以上、90°以下)の姿勢変更の様子を示している。実線の四角がワークの姿勢を表現しており、点線の四角がワークを内包する最小の直方体を表現している。XY平面内でのワークのサイズを(2x,2y)とすると、ワークを内包する最小の直方体のXY平面内でのサイズは、
  (2(x・cosα+y・sinα),2(x・sinα+y・cosα))
によって算出される。このように、ワークの姿勢変更を、ワークを内包する最小の直方体のサイズの変更として扱うことができる。なおこの方法は一例に過ぎず、ワークの姿勢変更は、他の様々な方法によって扱われ得る。
 <実施の形態2>
 (構成)
 上記実施の形態1においては、アクチュエータ610の、ワークへ作用する部分(作用部)の位置が、制御プログラム実行部530によって生成される駆動情報を比較的単純に用いることで、正確にまたは近似的に把握できることが想定されている。しかしながら、駆動情報と作用部の位置との関係がより複雑となるようなアクチュエータも存在する。この場合、作用部の位置の算出がワークシミュレーション部において行われてもよい。言い換えれば、アクチュエータのキネマティクスを解く算術処理がワークシミュレーション部において行われてもよい。本実施の形態においては、このようなワークシミュレーション部が用いられる場合について説明する。
 図11は、本実施の形態において用いられるアクチュエータ612を示す斜視図である。アクチュエータ612は、把持部612h(作用部)と、駆動部612dとを有する。把持部612hは、アクチュエータ612の先端部であり、ワークを直接保持する部分である。よって把持部612hは、アクチュエータ612の、ワークへ直接作用する部分である。駆動部612dは、アクチュエータ612の、把持部612hを駆動する部分である。具体的には、駆動部612dは、自身を軸中心として回転駆動されるものである。把持部612hは、軸中心から離れて駆動部612dに固定されている。よって把持部612hは、駆動部612dの回転駆動に伴って、円周上の軌道に沿って変位する。ここで、アクチュエータ612へ与えられる駆動情報は、駆動部612dの回転駆動の角度量の情報である。この角度量から把持部612hの位置を把握するためには、当該角度量と当該位置との関係の情報を用いて前者から後者を算出する必要がある。
 図12は、本実施の形態における搬送システム700Bの構成を概略的に示すブロック図である。搬送システム700Bはコントローラ500Bを有する。本実施の形態においては、少なくとも1つのアクチュエータ610に、アクチュエータ612(図11)が含まれている。コントローラ500Bはワークシミュレーション部550Bを有する。ワークシミュレーション部550Bはアクチュエータ軌跡生成部551を有する。
 本実施の形態においては、設定入力部520は、アクチュエータ610に含まれるアクチュエータ612の機械構成情報をユーザから受け付ける。機械構成情報は、アクチュエータ612の把持部612hの位置を算出するために、制御プログラム実行部530によって生成される駆動情報と組み合わされて用いられる情報である。言い換えれば、機械構成情報は、把持部612hの動作軌跡を算出するために、駆動情報と組み合わされて用いられる情報である。アクチュエータ612の機械構成情報は、たとえば、駆動部612dの軸中心から把持部612hまでの距離と、角度量ゼロのときの駆動部612dから把持部612hへの方向とを表す情報である。機械構成情報はアクチュエータ軌跡生成部551へ送られる。
 アクチュエータ軌跡生成部551は、アクチュエータ612の機械構成情報を保持する機械構成情報保持部(図示せず)を有する。アクチュエータ軌跡生成部551は、上記機械構成情報と、制御プログラム実行部530によって生成された駆動情報とから、アクチュエータ610の把持部612hが動作する軌跡を算出する。
 なお、上記以外の構成については、上述した実施の形態1の構成とほぼ同じであるため、同一または対応する要素について同一の符号を付し、その説明を繰り返さない。
 (効果)
 本実施の形態によれば、アクチュエータ軌跡生成部551は、アクチュエータ612の把持部612hが動作する軌跡を算出する。これにより、制御プログラム実行部530によって生成される駆動情報としての角度量だけではアクチュエータ612の把持部612h(作用部)の位置が算出できない場合においても、上述した軌跡の算出により、把持部612hの位置を算出することができる。より一般的にいえば、制御プログラム実行部530によって生成される駆動情報だけではワークに対するアクチュエータ610の作用が判別できない場合においても、ワークに対するアクチュエータ610の作用を判別することができる。よってこのような場合においても、実施の形態1と同様の効果を得ることができる。
 (変形例)
 アクチュエータ軌跡生成部551によってその作用部の位置が算出されるアクチュエータは、アクチュエータ612のように回動するものに限定されるものではない。たとえば、エアシリンダを制御する駆動情報は、その電磁弁の動作のON/OFF情報のみであり得る。この場合、たとえば、シリンダの動作方向、スピード、およびストロークのような情報が、アクチュエータの機械構成情報である。ON/OFF情報に加えて、この機械構成情報を用いることで、アクチュエータ軌跡生成部551は、エアシリンダの先端部(作用部)の位置を算出し得る。
 <実施の形態3>
 上記実施の形態1または2においては、拘束条件においてワークに拘束されるとされているアクチュエータの変位量(実施の形態2においては、その作用部の変位量)のすべてまたはほぼすべてがワークの移動量に反映されることが想定されている。しかしながら、搬送システムの構成によっては、アクチュエータの変位量の一部がワークの移動量に反映されない場合もあり得る。このように反映されない量が無視できない程度に大きい場合、シミュレーションの精度が低下し得る。本実施の形態は、このような場合においてもシミュレーションの精度を確保することが意図されたものである。
 図13は、本実施の形態における搬送システムが有するアクチュエータ611(図4のものと同様)と、それが作用するワーク100との配置の例を示す斜視図である。本実施の形態においては、ロッド部611rが移動し始めるときに、ロッド部611rとワーク100との間に隙間RIが存在する。このため、ロッド部611rの全変位量のうち、ロッド部611rがワーク100に達するまでの変位量は、ワークの移動量には直接反映されない無効な変位量である。ここで、制御プログラム実行部530によって生成されるアクチュエータ611の駆動情報は、ON/OFF情報である。よって、ワークとアクチュエータ611との間で想定される拘束条件を変更するために制御プログラムに関連付けられる命令情報は、プログラムリストにおいて、アクチュエータ611へのON/OFF命令の前後に記述されることが想定される。このため、アクチュエータ611が上述した無効な移動を行っている間も、アクチュエータ611とワーク100との間の拘束条件は、両者が互いに拘束されていることを意味するものとなっている。よって、アクチュエータ611にとって、隙間RIを通過する変位は、ワーク100と拘束されているものとされつつの変位ではあるものの、実際にはワーク100の移動へは直接は寄与しない変位である。言い換えれば、アクチュエータ611が変位する区間において、隙間RIは、ワークの移動量への寄与が無効となる部分、すなわち作用無効区間、である。よって、ワーク100の移動量をより正確に把握するためには、アクチュエータ611の変位量のうち無効となる部分を把握する必要がある。
 図14は、本実施の形態における搬送システム700Cの構成を概略的に示すブロック図である。本実施の形態においては、少なくとも1つのアクチュエータ610に、作用無効区間を伴うアクチュエータ611(図13)が含まれている。搬送システム700Cはコントローラ500Cを有する。コントローラ500Cはワークシミュレーション部550Cを有する。ワークシミュレーション部550Cは作用無効区間判定部552を有する。作用無効区間判定部552は、制御プログラム実行部530によって生成される駆動情報によって表されたアクチュエータ611の変位量のうち、ワークの移動量への寄与が無効となる部分(作用無効区間)を設定する。
 アクチュエータ610の各々の作用無効区間は、設定入力部520から、アクチュエータ610の設定情報としてワークシミュレーション部550Cに入力される。作用無効区間は、たとえば「0~100」といったような、アクチュエータ610の変位範囲で設定され得る。作用無効区間判定部552は、ワークの移動量が計算される際に、アクチュエータ610の動作が作用無効区間内での変位であるかを判定し、もしそうであれば、その変位量はワークの移動量に反映させない。より具体的にいえば、その変位量はワークの位置に加算されない。
 なお、上記以外の構成については、上述した実施の形態1または2の構成とほぼ同じであるため、同一または対応する要素について同一の符号を付し、その説明を繰り返さない。
 本実施の形態によれば、作用無効区間判定部552は、移動量のうち無効となる部分を設定する。これにより、ワークとアクチュエータ611との間に隙間RIがある状態からアクチュエータ611がワークに作用する場合でも、ワークの現在位置を、高精度かつ低計算負荷で推定することができる。より一般的にいえば、隙間またはその他の要因に起因してアクチュエータが動作命令の途中からワークに作用する場合でも、ワークの現在位置を、高精度かつ低計算負荷で推定することができる。
 <実施の形態4>
 上記実施の形態1~3においては、外部機器600からコントローラへの入力信号情報のシミュレーションとして、ワークまたはアクチュエータ610の位置を検出する在荷センサであるセンサ620からの入力信号情報のシミュレーションが行われる。一方で、コントローラへの入力信号を発生する機器は、在荷センサだけに限られるわけではない。在荷センサ以外の何らかのセンサ、または、このコントローラと互いに通信する他のコントローラ、管理コンピュータ、サーバもしくはユーザインターフェースなどからも、コントローラへの入力信号が発生され得る。このため、本実施の形態においては、入力信号情報のシミュレーションが、在荷センサであるセンサ620に関してだけでなく、上述したような他機器630の少なくとも1つに関しても行われる場合について説明する。他機器630からコントローラへの入力信号としては、たとえば、何らかのトリガ信号を受けてすぐにまたは一定時間経過後に発生するものなどがある。トリガ信号としては、たとえば、コントローラの外部インターフェースからの出力信号、または時刻情報信号などがある。また、コントローラによる制御の開始も、一種のトリガ信号として作用し得る。
 図15は、本実施の形態における搬送システム700Dの構成を概略的に示すブロック図である。搬送システム700Dはコントローラ500Dを有する。コントローラ500Dは外部入力シミュレーション部560Dを有する。外部入力シミュレーション部560Dは他機器シミュレーション部562を有する。他機器シミュレーション部562は、在荷センサとしてのセンサ620以外かつアクチュエータ610以外の外部機器である他機器630の少なくとも1つに関してシミュレーションを行うものである。具体的には、他機器シミュレーション部562は、他機器630の少なくとも1つからの入力信号情報を模擬するものである。他機器シミュレーション部562は、他機器630に関して設定入力部520から入力された設定情報と、入出力切換部570からの出力信号情報とに基づいて、他機器630からの入力信号情報の模擬信号情報を生成する。ここで用いられる出力信号情報は、搬送システム700Dの実働において入出力切換部570から外部インターフェース510の他機器入出力部513へ送られる信号情報に相当する。他機器シミュレーション部562によって生成された模擬信号情報は、他機器630からの入力信号情報の少なくとも一部の代替情報として、制御プログラム実行部530に送られる。
 図16は、他機器630に関しての設定情報の例を示す。「番号」および「名前」は、模擬される入力信号情報を区別するためのものである。「トリガ」は、入力信号情報のトリガとなる信号情報の名前である。「遅れ時間」は、トリガとなる信号情報の発生から、模擬される入力信号情報の出力が変化するまでの時間である。「出力」は、模擬される入力信号情報の出力値である。この例では、「signal_1」に対応する入力信号が、「trigger_1」に対応する出力信号がONしてから500ms後にONすることが模擬されている。入力信号は、このようなON/OFFのデジタル信号に限られるわけではない。たとえば、図中の「signal_2」に対応する入力信号が、「trigger_2」に対応する出力信号がONしてから3s後に出力値「100」をとることが模擬されてもよい。このように入力信号は、数値、文字列、ファイルなど、任意の形式のデータを表していてよい。
 なお、上記以外の構成については、上述した実施の形態1~3の構成とほぼ同じであるため、同一または対応する要素について同一の符号を付し、その説明を繰り返さない。
 本実施の形態によれば、他機器シミュレーション部562が他機器630のシミュレーションを行う。これにより、コントローラ500Dに接続される様々な外部機器600の振る舞いのシミュレーションが可能とされる。
 <実施の形態5>
 コントローラの動作目的によっては、その外部インターフェース510からアクチュエータ610の少なくとも1つへの出力信号が無効化されることが望まれる場合がある。たとえば、アクチュエータ610の一部もしくは全部が準備されていない場合、または、アクチュエータ610の一部もしくは全部を動作させずにコントローラの制御プログラムを確認することが望まれる場合があり得る。本実施の形態においては、このような場合に対応することができる搬送システムについて説明する。
 図17は、本実施の形態における搬送システム700Eの構成を概略的に示すブロック図である。搬送システム700Eはコントローラ500Eを有する。コントローラ500Eは入出力切換部570Eを有する。入出力切換部570Eは出力抑制部571を有する。出力抑制部571は、アクチュエータ出力部511への駆動情報の出力を一時的に無効化することができるように構成されている。アクチュエータ出力部511への出力が無効化されつつも、必要に応じてワークシミュレーション部550および外部入力シミュレーション部560の少なくともいずれかへの出力は維持されてよい。
 なお、上記以外の構成については、上述した実施の形態1~4の構成とほぼ同じであるため、同一または対応する要素について同一の符号を付し、その説明を繰り返さない。
 本実施の形態によれば、入出力切換部570Eは、アクチュエータ出力部511への駆動情報の出力を一時的に無効化することができる出力抑制部571を有する。これにより、アクチュエータ610を準備することなく、または、アクチュエータ610を実際に動作させることなく、コントローラ500Eを試験することができる。
 なお本実施の形態においてはアクチュエータ610への駆動情報の出力が無効化される場合について説明したが、変形例として、他機器630への出力が無効化されてもよい。
 <実施の形態6>
 図18は、本実施の形態における搬送システム700Fの構成を概略的に示すブロック図である。搬送システム700Fはコントローラ500Fを有する。コントローラ500Fは外部シナリオ実行部580を有する。外部シナリオ実行部580は、コントローラ500F内の各種機能ブロックと接続しており、外部シナリオに記述された内容に従って、各機能ブロックに対して各種データの強制変更指令を発令する。具体的には、外部シナリオ実行部580は、制御プログラム実行部530、拘束条件変更部540、ワークシミュレーション部550、センサシミュレーション部561、および入出力切換部570の少なくともいずれかの内部データを強制的に変更する命令を発行する。たとえば、制御プログラム実行部530に格納された制御プログラム内の内部変数が変更される。あるいは、拘束条件変更部540に保持された拘束条件が変更される。あるいは、ワークシミュレーション部550によるシミュレーションにおいてワークが強制的に移動される。あるいは、センサシミュレーション部561へワークシミュレーション部550から入力される情報が変更される。あるいは、入出力切換部570における入出力信号が強制的に変更される。
 外部シナリオ実行部580で処理されるシナリオの形式は、コントローラ500Fが解釈可能なものであればよい。よってこのシナリオは、たとえば、制御プログラム実行部530で用いられる命令セットによるものであってもよく、あるいは、CPU(Central Processing Unit)の命令セットに変換されたものであってもよい。
 なお、上記以外の構成については、上述した実施の形態1~5の構成とほぼ同じであるため、同一または対応する要素について同一の符号を付し、その説明を繰り返さない。
 本実施の形態によれば、外部シナリオ実行部580により、シミュレーショ上で外部シナリオが実行される。これにより、様々な運転エラー要因の発生状況を再現することができる。特に、再現が困難な物理的な運転エラー要因の発生状況を、簡単に再現することができる。よって、制御プログラムのデバック作業が効率化される。ここで運転エラー要因とは、たとえば、アクチュエータ610としてのコンベア上でのワークの詰まり、チャタリングまたはノイズによるセンサ620の入力信号の乱れ、または、他機器630としての他コントローラからの信号に重畳するノイズなどである。
 <実施の形態7>
 図19は、本実施の形態における搬送システム700Gの構成を概略的に示すブロック図である。搬送システム700Gはコントローラ500Gを有する。コントローラ500Gにおいて、入出力切換部570は、動作モードとして併用モードを有する。入出力切換部570は併用モードにおいて、センサ入力部512によって生成されたセンサ情報を制御プログラム実行部530および信号比較部590の各々へ送り、かつ、センサシミュレーション部561によって生成されたセンサシミュレーション情報を信号比較部590に送る。
 コントローラ500Gは、上述した信号比較部590を有する。信号比較部590は、センサ情報とセンサシミュレーション情報とを比較する。好ましくは、両者の差が顕著である場合に、警告信号が出力される。ここで「両者の差が顕著である」との判断がなされる条件は、たとえば、両情報が表す信号の値の差が予め設定された一定値を超えているとの条件でもよいし、両情報の不一致が一定時間以上継続するとの条件でもよいし、運転状況から学習した何らかの条件でもよい。その他、任意の判断条件が用いられてよい。判断条件は、信号比較部590へ設定入力部520から予め与えられてもよい。この場合、信号比較部590は、判断条件を保持する判断条件保持部(図示せず)を有する。
 なお、上記以外の構成については、上述した実施の形態1~6の構成とほぼ同じであるため、同一または対応する要素について同一の符号を付し、その説明を繰り返さない。
 本実施の形態によれば、信号比較部590は、センサ情報とセンサシミュレーション情報とを比較する。これにより、実働している搬送システム700Gを、シミュレーションを利用して監視することができる。具体的には、実働運転、すなわち、ワークを流しながらの運転において、ワークが理想的な動きを行った場合のシミュレーション結果であるセンサシミュレーション情報と、実際のワークの動きに従って出力されるセンサ情報とを比較することによって、実際の運転状態の監視が可能になる。
 <コントローラのハードウェア構成例>
 図20は、上述したコントローラ500A~500Gのいずれかとして用い得るコントローラ800のハードウェア構成を概略的に示すブロック図である。コントローラ800は、プロセッサ(処理回路)801と、メモリ802と、ストレージ803と、入出力装置804と、可搬式記憶媒体駆動装置805と、通信インターフェース806と、内部バス807とを有している。たとえばコントローラ500A(図1)との対応について説明すると、外部インターフェース510は通信インターフェース806に対応し得る。設定入力部520は、入出力装置804における入力部、可搬式記憶媒体駆動装置805、または通信インターフェース806に対応し得る。制御プログラム実行部530、拘束条件変更部540、ワークシミュレーション部550、外部入力シミュレーション部560、および入出力切換部570の機能は、プロセッサ801がストレージ803に記憶されたプログラムを読み出して実行することにより実現され得る。コントローラ500A以外のコントローラ500B~500Gにおいても同様である。
 プロセッサ801は、プログラムの命令に従い、算術・論理演算を実行する。プロセッサ801は、CPUコアが複数設けられている構成を有していてもよい。メモリ802は、たとえばRAM(Random Access Memory)などによって構成されるメインメモリである。メインメモリには、プロセッサ801で実行されるプログラムがロードされるとともに、プロセッサ801の処理に用いるデータが格納される。ストレージ803は、たとえばハードディスクドライブまたはフラッシュメモリなどの記憶装置であり、プログラムや各種データが格納される。可搬記憶媒体駆動装置805は、可搬記憶媒体900に記憶されたプログラムまたはデータを読み出す装置である。可搬記憶媒体900は、たとえば磁気ディスク、光ディスク、光磁気ディスクまたはフラッシュメモリなどである。プロセッサ801は、メモリ802およびストレージ803と協働しつつ、ストレージ803または可搬記憶媒体900に格納されたプログラムを実行する。入出力装置804は、たとえば、キーボード、タッチパネル、およびディスプレイなどである。入出力装置804は、ユーザ操作などによる動作命令を受け付ける一方、コントローラ800による処理結果を出力する。
 なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
 100 ワーク、500A~500G,800 コントローラ、510 外部インターフェース、511 アクチュエータ出力部、512 センサ入力部、513 他機器入出力部、520 設定入力部、530 制御プログラム実行部、531 拘束条件変更命令処理部、540 拘束条件変更部、550,550B,550C ワークシミュレーション部、551 アクチュエータ軌跡生成部、552 作用無効区間判定部、560 外部入力シミュレーション部、561 センサシミュレーション部、562 他機器シミュレーション部、570,570E 入出力切換部、571 出力抑制部、580 外部シナリオ実行部、590 信号比較部、600 外部機器、610~612 アクチュエータ、611b 固定部、611r ロッド部、612d 駆動部、612h 把持部、620 センサ、621,622 在荷センサ、630 他機器、700A~700G 搬送システム。

Claims (10)

  1.  ワークを検出する少なくとも1つのセンサからのセンサ信号を参照しながら、ワークを搬送する少なくとも1つのアクチュエータへ駆動信号を出力する搬送システムのためのコントローラにおいて、
     前記アクチュエータを制御するための駆動情報を受け付けて前記駆動情報に基づいて前記アクチュエータへ前記駆動信号を送るアクチュエータ出力部と、前記センサから前記センサ信号を受け付けて前記センサ信号に基づいてセンサ情報を生成するセンサ入力部と、を有する外部インターフェース(510)と、
     前記センサ情報を参照しながら前記駆動情報を生成するための制御プログラムと、前記ワークと前記アクチュエータとの間で想定される拘束条件を変更するために前記制御プログラムに関連付けられる命令情報である拘束条件設定情報と、をユーザから受け付ける設定入力部(520)と、
     前記制御プログラムを処理するものであって、かつ、前記拘束条件設定情報に基づいて拘束条件変更命令を発行する拘束条件変更命令処理部を有するものである、制御プログラム実行部(530)と、
     前記拘束条件変更命令処理部によって発行された前記拘束条件変更命令に基づいて前記拘束条件を管理する拘束条件変更部(540)と、
     前記少なくとも1つのアクチュエータのうち、前記拘束条件変更部によって管理されている前記拘束条件において前記ワークに拘束されるとされているものに関して前記制御プログラム実行部によって生成された前記駆動情報により、前記ワークの移動量を推定し、前記移動量を前記ワークの前回位置に加算することにより前記ワークの現在位置を推定するワークシミュレーション部(550、550B、550C)と、
     前記ワークシミュレーション部によって推定された前記ワークの前記現在位置の情報を用いることで、前記センサ情報を模擬したセンサシミュレーション情報を生成するセンサシミュレーション部(561)と、
     動作モードとして少なくともセンサシミュレーションモードを有する入出力切換部(570、570E)と、
    を備え、
     前記入出力切換部は前記センサシミュレーションモードにおいて、前記制御プログラム実行部によって生成された前記駆動情報を少なくとも前記ワークシミュレーション部へ送り、かつ、前記センサ情報の代替情報として、前記センサシミュレーション部によって生成された前記センサシミュレーション情報を前記制御プログラム実行部へ送る、
    コントローラ(500A~500G)。
  2.  前記入出力切換部は前記センサシミュレーションモードにおいて、前記制御プログラム実行部によって生成された前記駆動情報を前記アクチュエータ出力部へ送る、請求項1に記載のコントローラ。
  3.  前記入出力切換部(570E)は、前記アクチュエータ出力部への前記駆動情報の出力を一時的に無効化することができる出力抑制部(571)を有する、請求項2に記載のコントローラ(500E)。
  4.  前記入出力切換部はさらにセンサ稼働モードを有し、前記入出力切換部は前記センサ稼働モードにおいて、前記センサ入力部によって生成された前記センサ情報を前記制御プログラム実行部へ送る、請求項1から3のいずれか1項に記載のコントローラ。
  5.  信号比較部(590)をさらに備え、
     前記入出力切換部はさらに併用モードを有し、前記入出力切換部は前記併用モードにおいて、前記センサ入力部によって生成された前記センサ情報を前記制御プログラム実行部および前記比較部の各々へ送り、かつ、前記センサシミュレーション部によって生成された前記センサシミュレーション情報を前記信号比較部に送り、
     前記信号比較部は、前記センサ情報と前記センサシミュレーション情報とを比較する、
    請求項1から4のいずれか1項に記載のコントローラ(500G)。
  6.  前記アクチュエータは、前記ワークへ作用する作用部(612h)を有し、
     前記設定入力部は、前記アクチュエータの機械構成情報を受け付け、
     前記ワークシミュレーション部(550B)は、前記アクチュエータの前記機械構成情報と、制御プログラム実行部によって生成された駆動情報とから、前記アクチュエータの前記作用部が動作する軌跡を算出するアクチュエータ軌跡生成部(551)を有する、請求項1から5のいずれか1項に記載のコントローラ(500B)。
  7.  前記ワークシミュレーション部(550C)は、前記駆動情報によって表された前記アクチュエータの変位量のうち、前記ワークの前記移動量への寄与が無効となる部分を設定する作用無効区間判定部(552)を有する、請求項1から6のいずれか1項に記載のコントローラ(500C)。
  8.  前記外部インターフェースは、前記センサおよび前記アクチュエータに加えて他機器に接続可能であり、
     前記他機器のシミュレーションを行う他機器シミュレーション部(562)をさらに備える、請求項1から7のいずれか1項に記載のコントローラ(500D)。
  9.  前記制御プログラム実行部、前記拘束条件変更部、前記ワークシミュレーション部、前記センサシミュレーション部、および前記入出力切換部の少なくともいずれかの内部データを変更する命令を発行する外部シナリオ実行部(580)をさらに備える、請求項1から8のいずれか1項に記載のコントローラ(500F)。
  10.  ワークを搬送するアクチュエータ(610)と、
     前記ワークを検出するセンサ(620)と、
     前記センサからのセンサ信号を参照しながら、前記アクチュエータへ駆動信号を出力するためのコントローラ(500A~500G)と、
    を備え、前記コントローラは、
      前記アクチュエータを制御するための駆動情報を受け付けて前記駆動情報に基づいて前記アクチュエータへ前記駆動信号を送るアクチュエータ出力部と、前記センサから前記センサ信号を受け付けて前記センサ信号に基づいてセンサ情報を生成するセンサ入力部と、を有する外部インターフェース(510)と、
      前記センサ情報を参照しながら前記駆動情報を生成するための制御プログラムと、前記ワークと前記アクチュエータとの間で想定される拘束条件を変更するために前記制御プログラムに関連付けられる命令情報である拘束条件設定情報と、をユーザから受け付ける設定入力部(520)と、
      前記制御プログラムを処理するものであって、かつ、前記拘束条件設定情報に基づいて拘束条件変更命令を発行する拘束条件変更命令処理部を有するものである、制御プログラム実行部(530)と、
      前記拘束条件変更命令処理部によって発行された前記拘束条件変更命令に基づいて前記拘束条件を管理する拘束条件変更部(540)と、
      前記少なくとも1つのアクチュエータのうち、前記拘束条件変更部によって管理されている前記拘束条件において前記ワークに拘束されるとされているものに関して前記制御プログラム実行部によって生成された前記駆動情報により、前記ワークの移動量を推定し、前記移動量を前記ワークの前回位置に加算することにより前記ワークの現在位置を推定するワークシミュレーション部(550、550B、550C)と、
      前記ワークシミュレーション部によって推定された前記ワークの前記現在位置の情報を用いることで、前記センサ情報を模擬したセンサシミュレーション情報を生成するセンサシミュレーション部(561)と、
      動作モードとして少なくともセンサシミュレーションモードを有する入出力切換部(570、570E)と、
    を含み、
     前記入出力切換部は前記センサシミュレーションモードにおいて、前記制御プログラム実行部によって生成された前記駆動情報を少なくとも前記ワークシミュレーション部へ送り、かつ、前記センサ情報の代替情報として、前記センサシミュレーション部によって生成された前記センサシミュレーション情報を前記制御プログラム実行部へ送る、
    搬送システム(700A~700G)。
PCT/JP2016/071008 2016-02-08 2016-07-15 コントローラおよび搬送システム WO2017138164A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US15/774,716 US10363645B2 (en) 2016-02-08 2016-07-15 Controller and conveyance system
DE112016006372.5T DE112016006372T5 (de) 2016-02-08 2016-07-15 Steuerung und fördersystem
JP2017566498A JP6463518B2 (ja) 2016-02-08 2016-07-15 コントローラおよび搬送システム
CN201680081023.7A CN108604088B (zh) 2016-02-08 2016-07-15 控制器及输送系统
KR1020187022327A KR102124312B1 (ko) 2016-02-08 2016-07-15 컨트롤러 및 반송 시스템
TW105132048A TWI610869B (zh) 2016-02-08 2016-10-04 控制器及搬送系統

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-021694 2016-02-08
JP2016021694 2016-02-08

Publications (1)

Publication Number Publication Date
WO2017138164A1 true WO2017138164A1 (ja) 2017-08-17

Family

ID=59562983

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/071008 WO2017138164A1 (ja) 2016-02-08 2016-07-15 コントローラおよび搬送システム

Country Status (7)

Country Link
US (1) US10363645B2 (ja)
JP (1) JP6463518B2 (ja)
KR (1) KR102124312B1 (ja)
CN (1) CN108604088B (ja)
DE (1) DE112016006372T5 (ja)
TW (1) TWI610869B (ja)
WO (1) WO2017138164A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020142341A (ja) * 2019-03-07 2020-09-10 学校法人沖縄科学技術大学院大学学園 インタラクティブシミュレーションシステム、シミュレータ、インタラクティブシミュレーション方法、および、インタラクティブシミュレーションプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018131136A1 (ja) * 2017-01-13 2018-07-19 株式会社Fuji 生産管理装置
US11054803B2 (en) 2018-07-13 2021-07-06 Delta Electronics, Inc. Motor drive, production system and method thereof with quality measuring and mechanism diagnosing functions using real and virtual system modules
CN110716509B (zh) * 2018-07-13 2021-06-04 台达电子工业股份有限公司 具品质测量与机构诊断功能的生产系统及其驱动器与方法
JP7149607B2 (ja) * 2019-10-25 2022-10-07 伊東電機株式会社 コンベヤシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224978A (ja) * 1992-02-12 1993-09-03 Hitachi Ltd 生産ラインの制御装置
JP2002351511A (ja) * 2001-05-30 2002-12-06 Yokogawa Electric Corp 入力生成装置
JP2012198636A (ja) * 2011-03-18 2012-10-18 Mitsubishi Electric Corp コントローラ

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH589321A5 (ja) * 1973-01-17 1977-06-30 Zumbach Electronic Automatic
US4644958A (en) * 1984-03-26 1987-02-24 Trutek Research, Inc. Inhalation therapy apparatus adapter
CN87215571U (zh) * 1987-11-12 1988-10-05 西北工业大学 普通机床的精密定位及微进给装置
DE3833723A1 (de) * 1988-10-04 1990-04-12 Berg Extrakorp Syst Medtech Verfahren zum nullabgleich eines druckmesskatheters sowie druckmesskatheter zu dessen durchfuehrung
EP0383329A3 (en) * 1989-02-17 1992-02-26 Micron Instrument Inc. Positioning system
JP3184044B2 (ja) * 1994-05-24 2001-07-09 キヤノン株式会社 微動位置決め制御装置
CN1144924A (zh) * 1995-06-07 1997-03-12 梁志勇 开关型边缘位移控制装置
US5768122A (en) * 1995-11-14 1998-06-16 Coard Technology Virtual motion programming and control
WO2000066280A2 (en) * 1999-04-30 2000-11-09 Siemens Electrocom, L.P. Item singulation system
US6973355B2 (en) * 2001-04-25 2005-12-06 Tisue J Gilbert Accurate positioner suitable for sequential agile tuning of pulse burst and CW lasers
US7054694B2 (en) 2001-05-30 2006-05-30 Yokogawa Electric Corporation Process control system
JP4465920B2 (ja) 2001-06-04 2010-05-26 マツダ株式会社 シミュレーション装置及びシミュレーション方法
JP2005309744A (ja) * 2004-04-21 2005-11-04 Yokohama Tlo Co Ltd センサー制御システム及び汎用入出力制御装置
NO322007B1 (no) * 2004-11-19 2006-08-07 Marine Cybernetics As Fremgangsmate og system for testing av et dynamisk posisjoneringssystem
US7249671B2 (en) * 2005-05-06 2007-07-31 Laitram, L.L.C. Roller-belt conveyor for accumulating and moving articles laterally across the conveyor
JP4306723B2 (ja) * 2006-12-15 2009-08-05 村田機械株式会社 搬送台車システム
WO2009031256A1 (ja) * 2007-09-03 2009-03-12 Mitsubishi Electric Corporation センサ出力補正装置
CN201427438Y (zh) * 2008-12-12 2010-03-24 珠海艾派克微电子有限公司 一种带有替代压电传感器的墨盒
CA2753898C (en) * 2009-03-03 2017-02-28 Ats Automation Tooling Systems Inc. Multi-mode scroll cam conveyor system
CN101603853B (zh) * 2009-07-03 2011-05-18 凯丰集团有限公司 电子衡器专用集成电路
JP2012232370A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
CN102735911B (zh) * 2012-05-23 2015-01-28 鲍正浩 一种多功能电笔
JP6015282B2 (ja) 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP5983442B2 (ja) 2013-01-31 2016-08-31 富士通株式会社 プログラム、演算装置および演算方法
JP2018024044A (ja) * 2016-08-09 2018-02-15 オムロン株式会社 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224978A (ja) * 1992-02-12 1993-09-03 Hitachi Ltd 生産ラインの制御装置
JP2002351511A (ja) * 2001-05-30 2002-12-06 Yokogawa Electric Corp 入力生成装置
JP2012198636A (ja) * 2011-03-18 2012-10-18 Mitsubishi Electric Corp コントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020142341A (ja) * 2019-03-07 2020-09-10 学校法人沖縄科学技術大学院大学学園 インタラクティブシミュレーションシステム、シミュレータ、インタラクティブシミュレーション方法、および、インタラクティブシミュレーションプログラム
JP7371848B2 (ja) 2019-03-07 2023-10-31 学校法人沖縄科学技術大学院大学学園 インタラクティブシミュレーションシステム、シミュレータ、インタラクティブシミュレーション方法、および、インタラクティブシミュレーションプログラム

Also Published As

Publication number Publication date
CN108604088A (zh) 2018-09-28
KR20180101446A (ko) 2018-09-12
US20180327191A1 (en) 2018-11-15
JP6463518B2 (ja) 2019-02-06
TW201728518A (zh) 2017-08-16
KR102124312B1 (ko) 2020-06-18
CN108604088B (zh) 2020-11-10
JPWO2017138164A1 (ja) 2018-04-12
US10363645B2 (en) 2019-07-30
DE112016006372T5 (de) 2018-10-18
TWI610869B (zh) 2018-01-11

Similar Documents

Publication Publication Date Title
JP6463518B2 (ja) コントローラおよび搬送システム
US7996113B2 (en) Methods of integrating real and virtual world using virtual sensor/actuator
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
WO2010068622A1 (en) Method and system for in-production optimization of the parameters of a robot used for assembly
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
KR102037565B1 (ko) 다축 기계, 특히 로봇을 작동하기 위한 방법 및 시스템
Shen et al. Digital twin based virtual commissioning for computerized numerical control machine tools
Huckaby et al. Modeling robot assembly tasks in manufacturing using sysml
Eriksen Setup and interfacing of a kuka robotics lab
Ferrara et al. Sliding mode fault diagnosis with vision in the loop for robot manipulators
Linnerud et al. CAD-based system for programming of robotic assembly processes with human-in-the-loop
Putman et al. Virtual Fusion: Integrating Virtual Components into a Physical Manufacturing System
Neher et al. Using game physics engines for hardware-in-the-loop material flow simulations: benefits, requirements and experiences
Belhadj et al. Kuka robot control based kinect image analysis
US20150205271A1 (en) Automated reconfiguration of a discrete event control loop
Sekala et al. Modelling and simulation of robotic production systems
Shylla et al. Model in Loop (MIL), Software in Loop (SIL) and Hardware in Loop (HIL) Testing in MBD
US20240103483A1 (en) Method and systems for validating industrial machine systems
Budnik et al. Testbed for Model-based Verification of Cyber-physical Production Systems.
CN104049540A (zh) 一种用于拖拉机电力驱动的系统
WO2022264338A1 (ja) 制御装置、干渉チェック装置、及び制御システム
Žemla et al. The Programmable Virtual Model of the Mechatronic System Using NX 12 Environment
WO2024089884A1 (ja) ロボットコントローラ、及び、アップデート前後の制御ソフトウェアの比較方法
Oplenskedal et al. Model-based development of a controller and simulator for a mobile robot
Santos et al. Simulation Case Study for Improving Painting Tires Process Using the Fanuc Roboguide Software

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: 16889865

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017566498

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15774716

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20187022327

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020187022327

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 112016006372

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16889865

Country of ref document: EP

Kind code of ref document: A1