WO2017138164A1 - コントローラおよび搬送システム - Google Patents
コントローラおよび搬送システム Download PDFInfo
- 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
Links
- 238000004088 simulation Methods 0.000 claims abstract description 204
- 230000032258 transport Effects 0.000 claims description 63
- 230000008859 change Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 30
- 230000009471 action Effects 0.000 claims description 24
- 238000006073 displacement reaction Methods 0.000 claims description 24
- 230000001629 suppression Effects 0.000 claims description 5
- 230000000452 restraining effect Effects 0.000 abstract description 3
- 238000006467 substitution reaction Methods 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 28
- 238000004364 calculation method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 238000004519 manufacturing process Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004148 unit process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 244000145845 chattering Species 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
- B65G43/08—Control devices operated by article or material being fed, conveyed or discharged
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, 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/00—Automatic control or regulation of feed movement, cutting velocity or position of tool or work
- B23Q15/20—Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
- B23Q15/22—Control or regulation of position of tool or workpiece
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, 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/00—Automatic control or regulation of feed movement, cutting velocity or position of tool or work
- B23Q15/20—Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
- B23Q15/22—Control or regulation of position of tool or workpiece
- B23Q15/24—Control or regulation of position of tool or workpiece of linear position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
- B65G43/04—Control devices, e.g. for safety, warning or fault-correcting detecting slip between driving element and load-carrier, e.g. for interrupting the drive
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/22—Devices influencing the relative position or the attitude of articles during transit by conveyors
- B65G47/24—Devices influencing the relative position or the attitude of articles during transit by conveyors orientating the articles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4189—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric 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/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/0227—Qualitative 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/0235—Qualitative 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32357—Simulation of material handling, flexible conveyor system fcs
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Programmable Controllers (AREA)
- Control Of Conveyors (AREA)
Abstract
Description
後述する実施の形態1~7におけるコントローラは、たとえば、工場の生産装置の制御に用いられるFA(Factory Automation)用途のものである。この用途の場合、コントローラは、生産装置を流れるワークの動きを模擬する。そしてコントローラは、模擬されたワークの動きに基づいて、ワークの位置を検出するセンサからの入力信号を模擬する。このような動作を行うための設定を、生産装置の作業者(ユーザ)が容易に行うことができる。具体的には、生産装置の構成に合わせたワークの動きのシミュレーション方法を、作業者が、手探りで設計するのではなく、一定の手順に従った汎用的手法により設定することができる。
(構成)
図1は、本実施の形態における搬送システムの構成を概略的に示すブロック図である。本実施の形態における搬送システム700Aは、アクチュエータ610と、センサ620と、コントローラ500Aとを有する。アクチュエータ610はワークを搬送する。センサ620は、ワークを検出するものを含む。コントローラ500Aは、センサ620からのセンサ信号を参照しながら、アクチュエータ610へ駆動信号を出力するためのものである。駆動信号は、コントローラ500A内において生成される駆動情報に従って、コントローラ500Aから出力される。本実施の形態においては、説明を簡単にするために、主に、この駆動情報が、アクチュエータのサーボモータの絶対位置の指令信号を表すものである場合について説明する。駆動情報に従ってコントローラ500Aから出力される駆動信号も、アクチュエータのサーボモータの絶対位置の指令信号を表すものであってよい。駆動信号は、アクチュエータのサーボモータへ電力を供給するサーボアンプに入力される動作指定値を表す指令信号であってもよい。
まずワークシミュレーション部550によるシミュレーション動作について説明する。まず、ユーザは設定入力部520を介して、制御プログラムと、ワーク、アクチュエータ610およびセンサ620の各々の設定情報と、外部入力信号切換情報とを入力する。制御プログラムは、制御プログラム実行部530へ送られ、そこで保持される。ワーク、アクチュエータ610およびセンサ620の各々の設定情報は、ワークシミュレーション部550へ送られ、そこで保持される。外部入力信号切換情報は、入出力切換部570へ送られ、そこで保持される。センサ620の設定情報は、外部入力シミュレーション部560のセンサシミュレーション部561へ送られ、そこで保持される。なおワークの設定情報として設定された情報の一部は、拘束条件変更部540へ送られ、そこで保持される。
本実施の形態によれば、センサ情報を模擬したセンサシミュレーション情報が、ワークの推定された現在位置の情報を用いて生成される。ワークの現在位置は、ワークの推定された移動量をワークの前回位置に加算することにより推定される。ワークの移動量は、少なくとも1つのアクチュエータ610のうち、拘束条件においてワークに拘束されるとされているものに関して制御プログラム実行部530によって生成された駆動情報により推測される。拘束条件は拘束条件設定情報に基づいて管理される。拘束条件設定情報は、搬送システムの制御プログラムを参照することにより、搬送システムの種類に大きく依存することなくユーザが容易に作成し得る。これにより、センサ情報のシミュレーションを、搬送システムの種類に大きく依存せずに容易に行うことができる。得られたセンサシミュレーション情報は、センサ情報が欠如した状態での搬送システムの試験における代替情報として、または、搬送システムの実働における参考情報として利用することができる。
上記では、アクチュエータ610として、サーボモータで駆動する直動軸を有するアクチュエータ611について詳しく説明した。しかしながら、アクチュエータ610の構成は、このようなものに限定されるわけではない。たとえば、アクチュエータ610が、コンベアおよびストッパを含んでいてもよい。ここでのストッパは、コンベア上を流れるワークの移動を制限するものである。たとえば、コンベアの末端に設置される固定のストッパ、および、I/Oによって開閉する、スライド方式のストッパが知られている。
ワークの位置変更だけでなく、姿勢変更がワークシミュレーション部550で扱われてもよい。3次元空間内で、物体の姿勢変更が扱われる場合には、その回転中心をどのように定めるかといった問題が発生する。ワークシミュレーション部550の計算負荷を抑えるため、および、設定情報を減らすためには、回転中心はワークの中心とすることが望ましい。これにより、ワークの姿勢が変化しても、ワークの位置情報が変化しない。
(2(x・cosα+y・sinα),2(x・sinα+y・cosα))
によって算出される。このように、ワークの姿勢変更を、ワークを内包する最小の直方体のサイズの変更として扱うことができる。なおこの方法は一例に過ぎず、ワークの姿勢変更は、他の様々な方法によって扱われ得る。
(構成)
上記実施の形態1においては、アクチュエータ610の、ワークへ作用する部分(作用部)の位置が、制御プログラム実行部530によって生成される駆動情報を比較的単純に用いることで、正確にまたは近似的に把握できることが想定されている。しかしながら、駆動情報と作用部の位置との関係がより複雑となるようなアクチュエータも存在する。この場合、作用部の位置の算出がワークシミュレーション部において行われてもよい。言い換えれば、アクチュエータのキネマティクスを解く算術処理がワークシミュレーション部において行われてもよい。本実施の形態においては、このようなワークシミュレーション部が用いられる場合について説明する。
本実施の形態によれば、アクチュエータ軌跡生成部551は、アクチュエータ612の把持部612hが動作する軌跡を算出する。これにより、制御プログラム実行部530によって生成される駆動情報としての角度量だけではアクチュエータ612の把持部612h(作用部)の位置が算出できない場合においても、上述した軌跡の算出により、把持部612hの位置を算出することができる。より一般的にいえば、制御プログラム実行部530によって生成される駆動情報だけではワークに対するアクチュエータ610の作用が判別できない場合においても、ワークに対するアクチュエータ610の作用を判別することができる。よってこのような場合においても、実施の形態1と同様の効果を得ることができる。
アクチュエータ軌跡生成部551によってその作用部の位置が算出されるアクチュエータは、アクチュエータ612のように回動するものに限定されるものではない。たとえば、エアシリンダを制御する駆動情報は、その電磁弁の動作のON/OFF情報のみであり得る。この場合、たとえば、シリンダの動作方向、スピード、およびストロークのような情報が、アクチュエータの機械構成情報である。ON/OFF情報に加えて、この機械構成情報を用いることで、アクチュエータ軌跡生成部551は、エアシリンダの先端部(作用部)の位置を算出し得る。
上記実施の形態1または2においては、拘束条件においてワークに拘束されるとされているアクチュエータの変位量(実施の形態2においては、その作用部の変位量)のすべてまたはほぼすべてがワークの移動量に反映されることが想定されている。しかしながら、搬送システムの構成によっては、アクチュエータの変位量の一部がワークの移動量に反映されない場合もあり得る。このように反映されない量が無視できない程度に大きい場合、シミュレーションの精度が低下し得る。本実施の形態は、このような場合においてもシミュレーションの精度を確保することが意図されたものである。
上記実施の形態1~3においては、外部機器600からコントローラへの入力信号情報のシミュレーションとして、ワークまたはアクチュエータ610の位置を検出する在荷センサであるセンサ620からの入力信号情報のシミュレーションが行われる。一方で、コントローラへの入力信号を発生する機器は、在荷センサだけに限られるわけではない。在荷センサ以外の何らかのセンサ、または、このコントローラと互いに通信する他のコントローラ、管理コンピュータ、サーバもしくはユーザインターフェースなどからも、コントローラへの入力信号が発生され得る。このため、本実施の形態においては、入力信号情報のシミュレーションが、在荷センサであるセンサ620に関してだけでなく、上述したような他機器630の少なくとも1つに関しても行われる場合について説明する。他機器630からコントローラへの入力信号としては、たとえば、何らかのトリガ信号を受けてすぐにまたは一定時間経過後に発生するものなどがある。トリガ信号としては、たとえば、コントローラの外部インターフェースからの出力信号、または時刻情報信号などがある。また、コントローラによる制御の開始も、一種のトリガ信号として作用し得る。
コントローラの動作目的によっては、その外部インターフェース510からアクチュエータ610の少なくとも1つへの出力信号が無効化されることが望まれる場合がある。たとえば、アクチュエータ610の一部もしくは全部が準備されていない場合、または、アクチュエータ610の一部もしくは全部を動作させずにコントローラの制御プログラムを確認することが望まれる場合があり得る。本実施の形態においては、このような場合に対応することができる搬送システムについて説明する。
図18は、本実施の形態における搬送システム700Fの構成を概略的に示すブロック図である。搬送システム700Fはコントローラ500Fを有する。コントローラ500Fは外部シナリオ実行部580を有する。外部シナリオ実行部580は、コントローラ500F内の各種機能ブロックと接続しており、外部シナリオに記述された内容に従って、各機能ブロックに対して各種データの強制変更指令を発令する。具体的には、外部シナリオ実行部580は、制御プログラム実行部530、拘束条件変更部540、ワークシミュレーション部550、センサシミュレーション部561、および入出力切換部570の少なくともいずれかの内部データを強制的に変更する命令を発行する。たとえば、制御プログラム実行部530に格納された制御プログラム内の内部変数が変更される。あるいは、拘束条件変更部540に保持された拘束条件が変更される。あるいは、ワークシミュレーション部550によるシミュレーションにおいてワークが強制的に移動される。あるいは、センサシミュレーション部561へワークシミュレーション部550から入力される情報が変更される。あるいは、入出力切換部570における入出力信号が強制的に変更される。
図19は、本実施の形態における搬送システム700Gの構成を概略的に示すブロック図である。搬送システム700Gはコントローラ500Gを有する。コントローラ500Gにおいて、入出力切換部570は、動作モードとして併用モードを有する。入出力切換部570は併用モードにおいて、センサ入力部512によって生成されたセンサ情報を制御プログラム実行部530および信号比較部590の各々へ送り、かつ、センサシミュレーション部561によって生成されたセンサシミュレーション情報を信号比較部590に送る。
図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においても同様である。
Claims (10)
- ワークを検出する少なくとも1つのセンサからのセンサ信号を参照しながら、ワークを搬送する少なくとも1つのアクチュエータへ駆動信号を出力する搬送システムのためのコントローラにおいて、
前記アクチュエータを制御するための駆動情報を受け付けて前記駆動情報に基づいて前記アクチュエータへ前記駆動信号を送るアクチュエータ出力部と、前記センサから前記センサ信号を受け付けて前記センサ信号に基づいてセンサ情報を生成するセンサ入力部と、を有する外部インターフェース(510)と、
前記センサ情報を参照しながら前記駆動情報を生成するための制御プログラムと、前記ワークと前記アクチュエータとの間で想定される拘束条件を変更するために前記制御プログラムに関連付けられる命令情報である拘束条件設定情報と、をユーザから受け付ける設定入力部(520)と、
前記制御プログラムを処理するものであって、かつ、前記拘束条件設定情報に基づいて拘束条件変更命令を発行する拘束条件変更命令処理部を有するものである、制御プログラム実行部(530)と、
前記拘束条件変更命令処理部によって発行された前記拘束条件変更命令に基づいて前記拘束条件を管理する拘束条件変更部(540)と、
前記少なくとも1つのアクチュエータのうち、前記拘束条件変更部によって管理されている前記拘束条件において前記ワークに拘束されるとされているものに関して前記制御プログラム実行部によって生成された前記駆動情報により、前記ワークの移動量を推定し、前記移動量を前記ワークの前回位置に加算することにより前記ワークの現在位置を推定するワークシミュレーション部(550、550B、550C)と、
前記ワークシミュレーション部によって推定された前記ワークの前記現在位置の情報を用いることで、前記センサ情報を模擬したセンサシミュレーション情報を生成するセンサシミュレーション部(561)と、
動作モードとして少なくともセンサシミュレーションモードを有する入出力切換部(570、570E)と、
を備え、
前記入出力切換部は前記センサシミュレーションモードにおいて、前記制御プログラム実行部によって生成された前記駆動情報を少なくとも前記ワークシミュレーション部へ送り、かつ、前記センサ情報の代替情報として、前記センサシミュレーション部によって生成された前記センサシミュレーション情報を前記制御プログラム実行部へ送る、
コントローラ(500A~500G)。 - 前記入出力切換部は前記センサシミュレーションモードにおいて、前記制御プログラム実行部によって生成された前記駆動情報を前記アクチュエータ出力部へ送る、請求項1に記載のコントローラ。
- 前記入出力切換部(570E)は、前記アクチュエータ出力部への前記駆動情報の出力を一時的に無効化することができる出力抑制部(571)を有する、請求項2に記載のコントローラ(500E)。
- 前記入出力切換部はさらにセンサ稼働モードを有し、前記入出力切換部は前記センサ稼働モードにおいて、前記センサ入力部によって生成された前記センサ情報を前記制御プログラム実行部へ送る、請求項1から3のいずれか1項に記載のコントローラ。
- 信号比較部(590)をさらに備え、
前記入出力切換部はさらに併用モードを有し、前記入出力切換部は前記併用モードにおいて、前記センサ入力部によって生成された前記センサ情報を前記制御プログラム実行部および前記比較部の各々へ送り、かつ、前記センサシミュレーション部によって生成された前記センサシミュレーション情報を前記信号比較部に送り、
前記信号比較部は、前記センサ情報と前記センサシミュレーション情報とを比較する、
請求項1から4のいずれか1項に記載のコントローラ(500G)。 - 前記アクチュエータは、前記ワークへ作用する作用部(612h)を有し、
前記設定入力部は、前記アクチュエータの機械構成情報を受け付け、
前記ワークシミュレーション部(550B)は、前記アクチュエータの前記機械構成情報と、制御プログラム実行部によって生成された駆動情報とから、前記アクチュエータの前記作用部が動作する軌跡を算出するアクチュエータ軌跡生成部(551)を有する、請求項1から5のいずれか1項に記載のコントローラ(500B)。 - 前記ワークシミュレーション部(550C)は、前記駆動情報によって表された前記アクチュエータの変位量のうち、前記ワークの前記移動量への寄与が無効となる部分を設定する作用無効区間判定部(552)を有する、請求項1から6のいずれか1項に記載のコントローラ(500C)。
- 前記外部インターフェースは、前記センサおよび前記アクチュエータに加えて他機器に接続可能であり、
前記他機器のシミュレーションを行う他機器シミュレーション部(562)をさらに備える、請求項1から7のいずれか1項に記載のコントローラ(500D)。 - 前記制御プログラム実行部、前記拘束条件変更部、前記ワークシミュレーション部、前記センサシミュレーション部、および前記入出力切換部の少なくともいずれかの内部データを変更する命令を発行する外部シナリオ実行部(580)をさらに備える、請求項1から8のいずれか1項に記載のコントローラ(500F)。
- ワークを搬送するアクチュエータ(610)と、
前記ワークを検出するセンサ(620)と、
前記センサからのセンサ信号を参照しながら、前記アクチュエータへ駆動信号を出力するためのコントローラ(500A~500G)と、
を備え、前記コントローラは、
前記アクチュエータを制御するための駆動情報を受け付けて前記駆動情報に基づいて前記アクチュエータへ前記駆動信号を送るアクチュエータ出力部と、前記センサから前記センサ信号を受け付けて前記センサ信号に基づいてセンサ情報を生成するセンサ入力部と、を有する外部インターフェース(510)と、
前記センサ情報を参照しながら前記駆動情報を生成するための制御プログラムと、前記ワークと前記アクチュエータとの間で想定される拘束条件を変更するために前記制御プログラムに関連付けられる命令情報である拘束条件設定情報と、をユーザから受け付ける設定入力部(520)と、
前記制御プログラムを処理するものであって、かつ、前記拘束条件設定情報に基づいて拘束条件変更命令を発行する拘束条件変更命令処理部を有するものである、制御プログラム実行部(530)と、
前記拘束条件変更命令処理部によって発行された前記拘束条件変更命令に基づいて前記拘束条件を管理する拘束条件変更部(540)と、
前記少なくとも1つのアクチュエータのうち、前記拘束条件変更部によって管理されている前記拘束条件において前記ワークに拘束されるとされているものに関して前記制御プログラム実行部によって生成された前記駆動情報により、前記ワークの移動量を推定し、前記移動量を前記ワークの前回位置に加算することにより前記ワークの現在位置を推定するワークシミュレーション部(550、550B、550C)と、
前記ワークシミュレーション部によって推定された前記ワークの前記現在位置の情報を用いることで、前記センサ情報を模擬したセンサシミュレーション情報を生成するセンサシミュレーション部(561)と、
動作モードとして少なくともセンサシミュレーションモードを有する入出力切換部(570、570E)と、
を含み、
前記入出力切換部は前記センサシミュレーションモードにおいて、前記制御プログラム実行部によって生成された前記駆動情報を少なくとも前記ワークシミュレーション部へ送り、かつ、前記センサ情報の代替情報として、前記センサシミュレーション部によって生成された前記センサシミュレーション情報を前記制御プログラム実行部へ送る、
搬送システム(700A~700G)。
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 |
---|---|---|---|
JP2016021694 | 2016-02-08 | ||
JP2016-021694 | 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020142341A (ja) * | 2019-03-07 | 2020-09-10 | 学校法人沖縄科学技術大学院大学学園 | インタラクティブシミュレーションシステム、シミュレータ、インタラクティブシミュレーション方法、および、インタラクティブシミュレーションプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3570125B1 (en) * | 2017-01-13 | 2021-05-26 | Fuji Corporation | Manufacturing management device |
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 |
TWI692702B (zh) * | 2018-07-13 | 2020-05-01 | 台達電子工業股份有限公司 | 具品質量測與機構診斷功能之生產系統及其驅動器與方法 |
JP7149607B2 (ja) * | 2019-10-25 | 2022-10-07 | 伊東電機株式会社 | コンベヤシステム |
Citations (3)
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)
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 |
EP1189707A4 (en) * | 1999-04-30 | 2008-03-05 | Siemens Ag | SYSTEM FOR SEPARATING ELEMENTS |
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 | 珠海艾派克微电子有限公司 | 一种带有替代压电传感器的墨盒 |
WO2010099610A1 (en) * | 2009-03-03 | 2010-09-10 | 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 | オムロン株式会社 | 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム |
-
2016
- 2016-07-15 CN CN201680081023.7A patent/CN108604088B/zh active Active
- 2016-07-15 DE DE112016006372.5T patent/DE112016006372T5/de active Pending
- 2016-07-15 JP JP2017566498A patent/JP6463518B2/ja active Active
- 2016-07-15 WO PCT/JP2016/071008 patent/WO2017138164A1/ja active Application Filing
- 2016-07-15 KR KR1020187022327A patent/KR102124312B1/ko active IP Right Grant
- 2016-07-15 US US15/774,716 patent/US10363645B2/en active Active
- 2016-10-04 TW TW105132048A patent/TWI610869B/zh not_active IP Right Cessation
Patent Citations (3)
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)
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 |
---|---|
DE112016006372T5 (de) | 2018-10-18 |
CN108604088B (zh) | 2020-11-10 |
CN108604088A (zh) | 2018-09-28 |
JPWO2017138164A1 (ja) | 2018-04-12 |
US20180327191A1 (en) | 2018-11-15 |
TW201728518A (zh) | 2017-08-16 |
US10363645B2 (en) | 2019-07-30 |
TWI610869B (zh) | 2018-01-11 |
JP6463518B2 (ja) | 2019-02-06 |
KR20180101446A (ko) | 2018-09-12 |
KR102124312B1 (ko) | 2020-06-18 |
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 | |
Huckaby et al. | Modeling robot assembly tasks in manufacturing using sysml | |
JP2014199635A (ja) | 計算装置及びシミュレーションシステム | |
Linnerud et al. | CAD-based system for programming of robotic assembly processes with human-in-the-loop | |
Neher et al. | Using game physics engines for hardware-in-the-loop material flow simulations: benefits, requirements and experiences | |
Shylla et al. | Model in loop (mil), software in loop (sil) and hardware in loop (hil) testing in mbd | |
Ferrara et al. | Sliding mode fault diagnosis with vision in the loop for robot manipulators | |
Sekala et al. | Modelling and simulation of robotic production systems | |
Khan et al. | Testing and validation of safety logic in the virtual environment | |
Belhadj et al. | Kuka robot control based kinect image analysis | |
US20150205271A1 (en) | Automated reconfiguration of a discrete event control loop | |
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) | ロボットコントローラ、及び、アップデート前後の制御ソフトウェアの比較方法 | |
WO2023068351A1 (ja) | ロボットデータ処理サーバ及び軌跡データ算出方法 | |
Oplenskedal et al. | Model-based development of a controller and simulator for a mobile robot | |
Cheng | The simulation approach for designing robotic workcells | |
Noureddine et al. | Fault tolerance in robotics | |
Silva et al. | AdaptPack studio translator: translating offline programming to real palletizing robots |
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 |