WO2022030405A1 - 制御システム、制御装置およびプログラム - Google Patents

制御システム、制御装置およびプログラム Download PDF

Info

Publication number
WO2022030405A1
WO2022030405A1 PCT/JP2021/028442 JP2021028442W WO2022030405A1 WO 2022030405 A1 WO2022030405 A1 WO 2022030405A1 JP 2021028442 W JP2021028442 W JP 2021028442W WO 2022030405 A1 WO2022030405 A1 WO 2022030405A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
list
time
processing
predetermined time
Prior art date
Application number
PCT/JP2021/028442
Other languages
English (en)
French (fr)
Inventor
亮太 赤井
信幸 阪谷
光宏 米田
太雅 新實
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2022030405A1 publication Critical patent/WO2022030405A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Definitions

  • the present disclosure relates to control systems, control devices and programs, and particularly to control systems, control devices and programs of FA (Factory Automation) production lines.
  • FA Fractory Automation
  • each controller controls the target so as to realize a so-called cooperative operation in which the target device connected to the own device operates according to the operation of the target device connected to the other controller.
  • Patent Document 1 Japanese Patent Laid-Open No. 2018-68017
  • Patent Document 2 Japanese Patent Laid-Open No. 8-19977
  • Patent Document 1 discloses a distributed control system in which a plurality of control devices are connected via a network.
  • Patent Document 2 states, "In a robot controller controlled together with a peripheral machine by a programmable controller, a soft overtravel having an interface with the programmable controller in order to realize an interlock between the robot and the peripheral machine. Can be changed by instructions from the programmable controller. "
  • a distributed system will be adopted for the FA production line.
  • the function of the production line is changed in response to the change of the work type or the change of the production amount.
  • Such a change is realized by changing the combination of processes related to the control executed by a plurality of controllers included in the distributed system.
  • a mechanism for exchanging notifications regarding processing such as interlock for realizing cooperative operation between controllers as in Patent Document 2
  • One object of the present disclosure is to provide a control system, a control device, and a program capable of the control device to execute a process linked with the process of another control device in a simple configuration.
  • control system is a control system provided in an FA (factory automation) production line
  • the control system includes a plurality of control devices, each of which controls an object, and each control device has another control.
  • Information including a predetermined time to execute the process is associated with each of the timers that are time-synchronized with the timer of the device and one or more processes related to the control executed in cooperation with other control devices. It has a process execution means for executing the process according to the set list, and when it is determined that the process execution means of each control device has reached the predetermined time of the list, the predetermined time in the list is determined. Performs the processing associated with.
  • the control process associated with the time is executed.
  • the processing can be executed in cooperation between the control devices without using the mechanism for exchanging notifications such as the execution status of the processing between the control devices, and as a result, the processing can be executed without using the mechanism.
  • the cooperative operation of the target can be realized.
  • the predetermined time includes at least one of the predetermined time and time
  • the processing execution means of each control device determines the time and time based on the time measured by the timer of the control device. When it is determined that at least one has been reached, the process associated with at least one of the predetermined times and times in the list is executed.
  • each controller determines from the measured time of the timer, which is time-synchronized with the other controller, whether or not it has reached at least one of a predetermined time and time, and is associated with the above. Processing can be executed.
  • the predetermined time includes when a predetermined type of event is detected in the production line, and when the processing execution means of each control device detects a predetermined type of event. , Performs the processing associated with the detection of the predetermined type of event in the list.
  • control device when the control device detects a predetermined type of event, it determines that the predetermined time has been reached and executes the associated processing.
  • the list process includes a first process and a second process that is executed thereafter when the first process is completed, and the first process is performed at a predetermined time.
  • the process execution means of each control device determines that the execution of the first process is completed, the process execution means of each control device executes the second process after the execution is completed.
  • the information corresponding to each of one or more processes in the list includes the process procedure of the process.
  • the list can include processing procedures for control processing.
  • the information corresponding to each of the one or more processes in the list includes the identifier of the control device that performs the process.
  • control device to execute each process can be specified by the identifier of the control device.
  • the subject includes equipment that drives equipment installed in connection with the production line.
  • the subject of control can include drive equipment.
  • at least one of the one or more processes in the list includes a process of determining a control amount to drive the device.
  • the processing of the list can include the processing of determining the control amount.
  • the device installed in connection with the production line includes a work transfer device, and the device includes a device for driving the transfer device according to the above-mentioned control amount.
  • the target controlled by the control device can include the device for driving the work transfer device.
  • the list process includes a first process and a second process that is executed thereafter when the first process is completed, and the first process is for driving the transport device.
  • the control amount for driving the transfer device includes the process of determining the control amount of the work, and the work is placed in the position related to the second process on the production line until a predetermined time corresponding to the second process. Includes a control amount to drive the transport device to transport to.
  • the control amount can be determined to drive the transfer device to transfer the work to the position related to the second process, which is the next process.
  • the device installed in connection with the production line includes an image pickup unit having an image pickup field, the device includes a device for driving the image pickup unit according to an image pickup command, and the second process is the image pickup unit.
  • a process of outputting an image pickup command to the image pickup unit via an apparatus for driving the image pickup unit is included, and a position related to the second process includes a position based on an image pickup field of view.
  • the first process includes a process of determining a control amount for driving the transport device, and the image pickup unit driven by the image pickup command to output the work to the control amount by the second process.
  • the position based on the imaging field of view can include a control amount for transporting by a predetermined time corresponding to the second process.
  • the device installed in connection with the production line includes a robot that handles the workpiece, and the device includes a device that drives the robot according to a control amount for driving the robot, and the second process. Includes a process of outputting a control command corresponding to a controlled amount to a device for driving the robot, and a position related to the second process includes a position based on a predetermined area for the robot to handle a work.
  • the first process includes a process of determining a control amount for driving the transfer device, and the robot is driven by a control command to output the work to the control amount by the second process.
  • a position based on a predetermined area for handling the work can include a control amount for transporting by a predetermined time corresponding to the second process.
  • the control device is a control device provided in a production line of FA (factory automation) to control an object, and is a timer that synchronizes with the timers of other control devices provided in the production line.
  • a process execution that executes the process according to a list associated with information including a predetermined time to execute the process for each of the control-related processes executed in cooperation with other control devices.
  • the processing execution means executes the processing associated with the predetermined time in the list.
  • a control device that synchronizes time with another control device reaches a predetermined time in the list, it executes a control process associated with that time.
  • a control process associated with that time.
  • the program according to the present disclosure is a program for causing a computer to execute a method in which a control device provided in an FA (factory automation) production line controls an object, and the control device is a program of another control device provided in the production line. It is equipped with a timer that synchronizes the time with the timer.
  • the method performs the processing according to a list associated with information, including a predetermined time, for each of the control-related processes performed by the controller in conjunction with other controllers.
  • the step comprising the step to execute and executing the process has a step of executing the process associated with the predetermined time in the list when it is determined that the predetermined time of the list has been reached.
  • the computer when the program is executed, when the computer determines that a predetermined time has been reached in the list, it implements a method of executing the control process associated with the time.
  • the control device to which the method is applied for example, the control device does not use a mechanism for exchanging notifications such as the execution status of processing with the other control device, and the control device communicates with the other control device.
  • the control device does not use a mechanism for exchanging notifications such as the execution status of processing with the other control device, and the control device communicates with the other control device.
  • it is possible to realize the cooperative operation of the target with other control devices without using the mechanism.
  • control device can execute a process linked with the process of another control device with a simple configuration.
  • FIG. 1 is a diagram schematically showing a configuration of a control system 10A provided in a production line 60A of FA (Factory Automation) according to the present embodiment.
  • the production line 60A is provided, for example, in the inspection process of the work 24, which is an example of a product.
  • the production line 60A has a belt conveyor having a belt 23 constituting the transport device of the work 24, a sensor 300A installed related to the transport path of the belt 23, a servomotor 300B, an image sensor 300C, and a rotation speed. It includes an encoder 300D, which is an example of a sensor for measuring.
  • the belt conveyor further has a roller driven by a servomotor 300B, and the belt 23 moves in conjunction with the rotation of the roller.
  • the servomotor 300B is an embodiment of a device that drives a belt 23, which is a transfer device of the work 24, according to a controlled amount. More specifically, the servomotor 300B rotates according to the control amount (rotation angle, direction, speed, etc.) indicated by the command 11, and the roller rotates in conjunction with the rotation to move the belt 23 and the belt.
  • the work 24 placed on the transport surface, which is the upper surface of the 23, moves continuously.
  • the encoder 300D outputs a detection value 12 according to the movement amount of the belt 23 by detecting the rotation amount of the rollers of the belt conveyor.
  • the detection value 12 is based on a pulse signal according to the amount of movement of the belt 23.
  • the image sensor 300C includes an image pickup unit 302C such as a camera arranged so that the image pickup field of view is on the transport surface of the belt 23 and a sensor unit 301C in order to inspect the work 24 on the transport surface.
  • the sensor unit 301C controls the image pickup unit 302C to take an image according to the image pickup command 13, and processes the image captured image output from the image pickup unit 302C.
  • the sensor 300A includes, for example, a proximity switch.
  • the sensor 300A has a detection range capable of detecting the work 24 on the transport surface, and outputs a detection value 10 when the work 24 is detected.
  • the detection range of the sensor 300A is based on the range in which it is possible to detect that the work 24 in the process of being conveyed approaches the image pickup field of view of the image pickup unit 302C.
  • the conveyor for transporting the work 24 on the production line 60A is not limited to the belt conveyor.
  • it may be a mobile robot that conveys the work 24.
  • the transfer device is a mobile robot
  • the object of control may include a servomotor for driving the wheels included in the mobile robot.
  • the production line 60A has a configuration capable of capturing an image of the transported work 24 while transporting the work 24 by a belt conveyor, but the equipment provided in the production line 60A is not limited to these, and FA production. It can be appropriately selected depending on the type of line 60A. Further, the "work 24" handled by the production line 60A is not limited as long as it can track the position of the work, such as the final product or a part thereof, or the intermediate product or a part thereof.
  • the control system 10A is a network in which PLCs (programmable logic controllers) 200A and 200B, a plurality of field devices to be controlled, a communication device 410, a support device 100, and a server computer 190 are communicably connected to the network. It has a configuration.
  • the PLC200A and the PLC200B include timers 201A and 201B, respectively.
  • the timer 201A synchronizes with the timer 201B in time.
  • the timer 201A and the timer 201B operate so as to match the standard time delivered by the server computer 190.
  • the timer 201A and the timer 201B are time-synchronized so as to indicate a common time based on the standard time.
  • Each of the field equipments exchanges information with an actuator such as a servomotor that exerts some physical action on a manufacturing apparatus or a production line 60A (hereinafter, also collectively referred to as a "field"), and a field.
  • an actuator such as a servomotor that exerts some physical action on a manufacturing apparatus or a production line 60A (hereinafter, also collectively referred to as a "field"), and a field.
  • the field device includes a sensor 300A, a servomotor 300B, an image sensor 300C, and an encoder 300D.
  • the PLCs 200A and 200B are connected to the network 120, which is a control level network.
  • the network 120 relays the communication device 410 and is connected to the upper network 400.
  • the network 400 connects the server computer 190 and the support device 100.
  • the devices connected to the network 120 and the network 400 can exchange data between the devices via the communication device 410.
  • the PLC200A and the PLC200B connect one or more field devices communicably via the network 110, respectively.
  • One or more field devices are connected directly to the PLC200A, 200B via an input / output unit (not shown) associated with the PLC200A, 200B, in addition to being connected to the PLC200A, PLC200B via the network 110.
  • the PLC 200A connects a sensor 300A, which is a field device, a servomotor 300B, and an encoder 300D
  • the PLC 200B connects an image sensor 300C, which is a field device.
  • the field device 300 is used. It may be generically referred to.
  • PLC will be described as a specific example as a typical example of the “control device”, but the technical idea disclosed in the present specification is not limited to the name of PLC, and the technical idea disclosed in the present specification may be applied to any control device. It is applicable to the above.
  • the PLC200A and the PLC200B each execute the processing related to the inspection process of the work 24.
  • the process related to the inspection process includes a control process related to the control of the target (field device 300), and the control process is executed in cooperation with the PLC 200.
  • the PLC200A and the PLC200B include a processing execution unit 250A and a processing execution unit 250B, respectively.
  • the process execution unit 250 is associated with information including a predetermined time to execute the control process for each of the one or more control processes to be executed in cooperation with the other PLC 200.
  • the control process is executed according to Listing 50A.
  • the "predetermined time” indicated by the control processing list 50A is also referred to as a "reservation time” below.
  • the time is a concept indicating when a certain process is executed, and the time or time based on the time measured by the timer and the time or time when some event (event) related to the process can occur. It is a concept that can include.
  • time indicates the length of continuous time, and time indicates a certain point in time.
  • the control processing list 50A is created by the support device 100 and transferred to the PLC 200 via the networks 400 and 120.
  • the PLC 200 receives the control processing list 50A transmitted from the support device 100 and stores it in the storage unit.
  • the control process list 50A includes information showing the correspondence between each control process 502 and the reservation time 501 in which the control process 502 is executed.
  • the control processing list 500 has this information as a plurality of records R. More specifically, the information of each record R is predetermined to execute one or more control processes 502 linked and executed between the PLCs 200 and the control process 502 associated with each control process 502. Includes the reservation time 501, which is the time when the reservation was made.
  • the information associated with the control process 502 further includes a process procedure 503 for the process and an identifier 504 for the PLC 200 that performs the process.
  • the control process 502 is information that defines, for example, a control process that is executed at the corresponding reservation time 501, and indicates a function name such as an FB (function block) that is called and executed.
  • the processing procedure 503 indicates an instruction group consisting of one or more instructions constituting the corresponding processing procedure 503.
  • the instructions include instructions in, for example, a cyclic execution language (eg, ladder language) or a sequential execution language (eg, an interpreter language), and the processing execution unit 250 includes an execution engine capable of executing the instructions in these languages. ing.
  • the identifier 504 indicates the identifier of the PLC 200 on which the corresponding control process 502 should be executed.
  • the identifiers are a "conveyor PLC” which is an identifier of the PLC200A for controlling the field equipment (sensor 300A, servomotor 300B, encoder 300D) of the belt conveyor, and the field equipment for inspecting the work 24 (sensor 300A, servomotor 300B, encoder 300D). It includes an "inspection PLC” which is an identifier of the PLC200B that controls the image sensor 300C).
  • the control process list 50A includes a control process list 510 in which the identifier 504 indicates the "conveyor PLC" and a control process list 520 in which the identifier 504 indicates the "inspection PLC".
  • the PLC 200 extracts and executes the control process 502 whose identifier 504 matches the identifier of the own device from the control process list 50A.
  • the PLC 200A executes the control process 502 of the control process list 510
  • the PLC 200B executes the control process 502 of the control process list 520. More specifically, when it is determined that the reservation time 501 has been reached, the processing execution unit 250 of each PLC 200 executes the control processing 502 associated with the reservation time 501.
  • the PLC 200 executes the control process while determining whether each reservation time 501 has been reached according to the control process list 50A for each predetermined control cycle. More specifically, when the production line 60A is in operation, the work 24 is continuously conveyed by the belt conveyor, and the sensor 300A detects the work 24 at a predetermined position. When the PLC200A receives the detection value 10 from the sensor 300A, the processing execution unit 250 determines that the detection time of the event of the work detection 40 out of the reservation time 501 has been reached based on the detection value 10, and the judgment result is determined. Based on this, the work detection time storage 511, which is the corresponding control process 502, is executed according to the instruction of the process procedure 503. As a result, the time of the timer 201A is stored as the work detection time.
  • the PLC200A determines that the work detection time has been reached after the processing of the work detection time storage 511 by using the processing execution unit 250A, the PLC200A processes the conveyor speed detection 512 which is the corresponding control processing 502 by using the processing execution unit 250A. It is executed according to the instruction of procedure 503. As a result, a value indicating the movement amount of the belt 23 and / or a value indicating the movement speed (conveyor speed) is calculated (detected) based on the count value represented by the detection value 12 from the encoder 300D.
  • the PLC200A uses the processing execution unit 250A to process the conveyor speed adjustment 513 which is the corresponding control process 502. Execute according to the instruction of 503. More specifically, the PLC200A uses the processing execution unit 250A to capture the imaging field or image at the imaging time 41 (for example, when a certain time has elapsed from the start of every second or every control cycle) of the conveyed work 24. The difference between the target speed for moving to a predetermined position in the field of view and the conveyor speed calculated by the above procedure is calculated, and the control amount of the servomotor 300B is determined and determined based on the calculated difference.
  • a command 11 indicating the controlled amount is output to the servomotor 300B.
  • This target speed can be calculated based on, for example, ((distance between the detection position of the sensor 300A and the imaging position based on the imaging field of view) / (imaging time- (work detection time))). Is not limited to arithmetic, and may be a table lookup.
  • the process execution unit 250A executes the control process 502 according to the control process list 50A, for example, when it is determined that the work detection time storage 511 (an example of the first process) has been executed. After that, when it is determined that the conveyor speed detection 512 (an example of the second process) is executed and the conveyor speed detection 512 (an example of the first process) is completed, then the conveyor speed adjustment 513 (an example of the first process) is executed. It is configured to execute an example of the second process).
  • the PLC200B uses the processing execution unit 250B to determine whether or not the imaging time 41 has been reached based on the time of the timer 201B.
  • the PLC 200B uses the processing execution unit 250B to execute the processing of the imaging command output 514, which is the corresponding control processing 502.
  • the image sensor 300C controls the image pickup unit 302C in accordance with the image pickup command 13 from the PLC 200B, acquires the image captured image of the work 24 from the image pickup unit 302C, and processes it for inspection.
  • the inspection of the work 24 using the captured image includes a visual inspection and the like, but the inspection process may be executed by one of the image sensor 300C and the PLC200B, or both may be executed in cooperation with each other.
  • the inspection result may be stored in the storage unit of the server computer 190 transferred via the network 120 and the network 400.
  • the PLC200A and the PLC200B which are time-synchronized with each other, control the control process 502 to be executed in cooperation with each other by using the reservation time 501. It is executed according to the process list 50A.
  • the execution state of the control process by the PLC 200 is controlled between the PLC 200 without using a special mechanism such as the PLC 200 notifying each other or connecting the PLC 200 with a signal line for notifying each other. It can be executed while linking the processes.
  • a special mechanism such as the PLC 200 notifying each other or connecting the PLC 200 with a signal line for notifying each other. It can be executed while linking the processes.
  • the support device 100 provides the control processing list 50A to each PLC 200.
  • the support device 100 connected to the network configuration of the control system 10A is configured using, for example, a general-purpose computer to provide a support tool that assists the user in operating the control system 10A, for example. Provided on a UI (User Interface) basis.
  • the support device 100 executes the development support program 50.
  • the support device 100 creates a control process list 50A by the user as one of the above support tools, and transfers the created control process list 50A to the PLC 200 by downloading or the like. Provide tools to support.
  • the support tool provided by the support device 100 is not limited to this, and may include a setting tool for preparing an execution environment of a control program or a communication environment with the PLC 200.
  • the PLC 200 and the support device 100 are configured as separate bodies, but a configuration may be adopted in which all or part of these functions are integrated into a single device.
  • the support device 100 may be connected to the network 400, may be built into the PLC 200, or may be provided as a portable terminal.
  • the route for downloading the control process list 50A to the PLC 200 is not limited to the download from the support device 100, but may be the download from the server computer 190. Further, the control processing list 50A may be downloaded to one PLC200 of the control system 10A, and the control processing list 50A may be transmitted from the one PLC200 to another PLC200 via the network 120. In this case, for example, EtherNet / IP (registered trademark) tag data link communication can be used.
  • control process list 50A is created by the user via the UI tool of the support device 100, but the environment for creating the control process list 50A is not limited to this.
  • the simulator may be provided in a support device 100 or a cloud-based computer (eg, a server computer 190).
  • FIG. 2 is a schematic diagram showing an example of the hardware configuration of the PLC200.
  • the PLC 200 includes a timer 201, a control device 202 including a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chip set 204, and a DRAM (Dynamic Random Access Memory) or SRAM.
  • Main memory 206 composed of volatile storage devices such as (Static Random Access Memory) and storage device 208 composed of non-volatile storage devices such as HDD (Hard Disk Drive) and SSD (Solid State Drive).
  • the timer 201 is configured to include a counter that increments or decrements the counter value at predetermined intervals.
  • the timer 201 is implemented using a hardware timer, a high precision event timer (HPET: High Precision Event Timer) or a dedicated circuit (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)). You may.
  • HPET High Precision Event Timer
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the storage device 208 stores the control program 211 and various data 214.
  • the control program 211 includes a system program 212 including an OS (Operating System) and a user program 213.
  • the user program 213 includes a processing execution program 215, an IO refresh program 216, and a control processing list 50A that realize the processing execution units 250A and 250B when executed.
  • the user program includes various programs for executing control processing arbitrarily designed according to the control target.
  • the control device 202 realizes control of the field device 300 by reading the control program 211 stored in the storage device 208, expanding it in the main memory 206, and executing the control program 211.
  • the chipset 204 realizes the processing of the PLC200 as a whole by controlling each component.
  • the internal bus controller 222 is an interface for exchanging data with various devices connected to the PLC 200 through the internal bus.
  • an I / O unit 226 is connected.
  • the I / O unit 226 inputs a state value of the connected field device 300, for example, detection values 10 and 12, and is a control command of the field device 300, for example.
  • the control command 11 and the image pickup command 13 are output to the field device 300.
  • the fieldbus controller 224 is an interface for exchanging data with various field devices 300 connected to the PLC 200 through the network 110.
  • the communication interface 238 controls the exchange of data through various wired / wireless networks.
  • the PLC 200 communicates with the support device 100 or the server computer 190 via the network 120 and the network 400 via the communication interface 238.
  • the memory card interface 239 is configured so that a memory card 240, which is an example of an external storage medium, can be attached and detached, and data can be written to and read from the attached memory card 240. It has become.
  • the route to which the program of the control processing list 50A is supplied to the PLC 200 is not limited to the route downloaded from the support device 100, but is a route read from the memory card 240 and stored in the storage device 208 as the user program 210. You may.
  • the memory card 240 corresponds to a non-volatile storage device including a flash memory such as an SD card.
  • the PLC 200 may acquire the control program 211 and various data 214 from an external storage medium such as a memory card 240.
  • an external storage medium can electrically, magnetically, optically, and mechanically transfer information such as programs and data so that a computer or other device, machine, or the like can read information such as recorded programs or data.
  • the control device 202 of the PLC 200 may acquire programs and / or data such as a system program 212, a processing execution program 215, an IO refresh program 216, a control processing list 50A, and various data 214 from such an external storage medium.
  • the program and / or data described above are downloaded from an external information processing device such as the server computer 190 or the support device 100 to the PLC 100 via the network 120, and are downloaded to a predetermined storage area (for example, the storage device 208 or the like). ) May be stored.
  • FIG. 3 is a diagram showing a module configuration for realizing a process according to the control process list 50A included in the PLC according to the present embodiment.
  • FIG. 3 shows the module configuration realized by the control device 202 executing the program as the module configuration. More specifically, it includes a processing execution unit 250 realized by executing the processing execution program 215 by the control device 202 and an input / output processing unit 251 realized by executing the IO refresh program 216.
  • the input / output processing unit 251 exchanges data (state value, control command) with the field device 300 via the internal bus controller 222 or the fieldbus controller 224 at each control cycle.
  • the control processing list 50A read from the storage device 208 is expanded in the main memory 206.
  • the processing execution unit 250 executes the program of the control processing list 50A using the data (state values of the detected values 10 and 12) from the field device 300 input via the input / output processing unit 251 for each control cycle. Data based on the execution result (command 11 and control command of imaging command 13) are output.
  • the input / output processing unit 251 transmits the control command output from the processing execution unit 250 to the field device 300.
  • FIG. 3 shows a configuration example in which the necessary modules are provided by the processor of the control device 202 executing the program, and a part or all of these provided modules may be used as a dedicated hardware circuit (a dedicated hardware circuit).
  • a dedicated hardware circuit For example, it may be implemented using ASIC (application specific integrated circuit) or FPGA (field-programmable gate array).
  • the main part of the control device 202 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • Flowchart> 4 and 5 are flowcharts showing an example of the processing according to the present embodiment. 4 and 5 show processing using the processing execution unit 250 realized by executing the processing execution program 215.
  • the PLC 200 is initialized by first setting the value 0 in the variable n using the processing execution unit 250 (step S1).
  • the variable n is used to count the record R in which the control process 502 possessed by the variable n is executed from the head of the control process list 50A.
  • the PLC 200 uses the process execution unit 250 to execute the control process of the field device 300 according to the control process list 50A (step S2), and whether or not the execution of the control process according to the control process list 50A of the own device is completed. Is determined (step S3).
  • step S3 for example, the PLC 200A determines whether or not the control process 502 of all the records R of the control process list 510 has been executed based on whether or not the variable n indicates the total number of records R of the control process list 510.
  • the PLC 200B determines whether or not the control process 502 of all the records R of the control process list 510 has been executed based on whether or not the variable n indicates the total number of records R of the control process list 520. ..
  • step S3 When it is determined that the execution of the control process is completed (YES in step S3), the process of FIG. 4 is terminated, but when it is determined that the execution of the control process is not completed (NO in step S3), the step. Returning to S1, execution of the control process according to the control process list 50A continues.
  • the PLC200 increments the variable n by 1 (step S10).
  • the PLC 200 analyzes the reservation time 501 of the nth record R of the control processing list 50A by using the processing execution unit 250, and determines the type of the reservation time 501 based on the analysis result (step S11). Specifically, the PLC 200 determines whether the reservation time 501 indicates "a predetermined type of event has been detected", "a preset time has been reached", or "other". ..
  • step S11 When the PLC 200 determines that the reservation time 501 indicates "a preset time has been reached” (“preset time” in step S11), the time measured by the timer 201 using the processing execution unit 250. Determines whether the preset time indicated by the reservation time 501 has been reached (step S12). The PLC 200 compares, for example, the time measured by the timer 201 with the preset time indicated by the reserved time 501, and determines whether or not the preset time has been reached based on the result of the comparison. When the PLC 200 determines that the preset time indicated by the reservation time 501 has been reached (YES in step S12), the PLC 200 is associated with the reservation time 501 of the nth record R by using the processing execution unit 250. The control process 502 is executed (step S13). On the other hand, if the PLC 200 determines that the preset time indicated by the reservation time 501 has not been reached (NO in step S12), the PLC 200 repeats step S12.
  • the PLC 200 determines that the reservation time 501 indicates "a predetermined type of event has been detected" ("preset time” in step S11)
  • the PLC 200 uses the processing execution unit 250. Then, based on the state value from the field device 300, it is determined whether or not a predetermined type of event is detected (step S15). For example, when the reservation time 501 indicates "work detection time”, the PLC 200 detects a predetermined type of event based on whether or not the work detection 40 is acquired as an event from the detection value 10 from the sensor 300A. Determine if it will be done.
  • step S15 When the PLC 200 determines that a predetermined type of event has been detected (YES in step S15), the PLC 200 executes the control process 502 associated with the reservation time 501 of the nth record R by using the process execution unit 250. (Step S16). On the other hand, when the PLC200 determines that an event of a predetermined type has not been detected (NO in step S15), the PLC200 repeats step S15.
  • the PLC200 uses the processing execution unit 250 to determine whether or not the “other” time has been reached. (Step S17). For example, "other” includes the reservation time 501 (after the above processing) of the control processing list 50A of FIG. In this case, the PLC 200 determines that the reservation time 501 (after the above processing) has been reached when the execution of the control process 502 of the (n-1) th record R is completed, and the execution is not completed. At that time, it is determined that the reservation time 501 (after the above processing) has not been reached.
  • step S17 When the PLC 200 determines that the "other" of the reservation time 501 of the nth record R has been reached (YES in step S17), the PLC 200 executes the control process 502 associated with the reservation time 501 of the nth record R. (Step S18). On the other hand, when the PLC 200 determines that the "other" of the reservation time 501 has not been reached (NO in step S17), the PLC 200 repeats step S17.
  • the PLC 200 stores the control process list 50A, and may execute the process according to the control process list 510 (520) corresponding to the own device in the control process list 50A at the time of operation.
  • the PLC 200 stores the control process list 510 (520) corresponding to the own device instead of the entire control process list 50A, and executes the process according to the control process list corresponding to the stored own device during operation. May be good.
  • FIG. 6 is a diagram schematically showing the configuration of the control system 10B provided in the FA production line 60B according to the present embodiment.
  • the control system 10B shows a modification of the control system 10A of FIG.
  • the production line 60B is provided, for example, in a step of packing the work 24 into a box 611.
  • the production line 60B includes a robot controller 300E that controls the robot 310 in place of the image sensor 300C in the inspection process shown in FIG.
  • the robot 310 has a plurality of joints driven by rotation of a robot servomotor (not shown) for handling the work 24. By driving each joint, the arm connected to the joint operates and the hand opens and closes. Since the other configurations of the production line 60B are the same as those shown in FIG. 1, the description will not be repeated.
  • the robot 310 performs pick and place using the robot hand 301E in accordance with a command from the robot controller 300E.
  • the robot 310 picks the work 24 placed on the belt 23 of the conveyor by the robot hand 301E, and moves the work 24 to the box 611 arranged at a predetermined position while picking the work 24 in the box 611.
  • the robot hand 301E moves the hand to open and close, for example, to pick and place the work 24, but the operation for picking and placing is not limited to the opening and closing operation, and the robot hand 301E uses a pneumatic suction device to suck.
  • the robot controller 300E controls the drive of the robot servomotor according to the control amount (rotation angle, direction, speed, etc. of the servomotor) indicated by the picking command 14 from the PLC200B, so that each arm operates three-dimensionally.
  • Robot hand 301E opens and closes.
  • the pick-and-place operation of the robot 310 is realized by the operation of each arm and the robot hand 301E in accordance with the picking command 14.
  • control process list 515 in which the identifier 504 of the control process list 50B of the production line 60B indicates “PC for conveyor” and the control process list 525 in which the identifier 504 indicates “PLC for picking” are included.
  • the PLC200A corresponds to a "conveyor PLC”
  • the PLC200B corresponds to a "picking PLC”.
  • the instruction of the processing procedure 503 for the conveyor speed adjustment 513 is different from the corresponding processing procedure 503 shown in FIG. 1, but the other control processing is the control processing list 510 of FIG. Since it is the same, the explanation will not be repeated.
  • the PLC200A uses the processing execution unit 250A to elapse a certain time from the picking time 42 (for example, every second, every second, every control cycle). The difference between the target speed for moving to the tracking area corresponding to the predetermined position for pick and place and the conveyor speed calculated by the conveyor speed detection 512 is calculated and calculated.
  • the control amount of the servomotor 300B is determined based on the difference, and the command 11 indicating the determined control amount is output to the servomotor 300B.
  • This target speed can be calculated based on, for example, ((distance between the detection position of the sensor 300A and the position based on the tracking area) / (picking time 42- (work detection time))). Is not limited to the calculation and may be a table lookup.
  • the tracking area is a predetermined area for the robot 301 to handle the work 24, but the tracking area is not limited to this, and may be a table lookup.
  • the position based on the tracking area is exemplified as the position based on the predetermined area for the robot 310 to handle the work, but the position is not limited to this and can be set by the type of the robot applied to the production line 60B.
  • the PLC200B uses the processing execution unit 250B to determine whether or not the picking time 42 has been reached based on the output of the timer 201B.
  • the PLC 200B uses the processing execution unit 250B to execute the picking command output 516, which is the corresponding control processing 502.
  • the robot controller 300E controls the arm and the robot hand 301E in accordance with the picking command 14 from the PLC 200B, and causes the robot 310 to pick and place the work 24.
  • the PLC 200B may store the control process list 50B, and may execute the process according to the control process list 515 (525) corresponding to the own device in the control process list 50B at the time of operation.
  • the PLC 200B stores the control process list 515 (525) corresponding to the own device instead of the entire control process list 50B, and executes the process according to the control process list corresponding to the stored own device at the time of operation. May be good.
  • control process of FIG. 6 of the above modification example and the control process of FIG. 1 may be combined.
  • one PLC200 is made to execute a control process 502 that outputs an imaging command 13 at a predetermined time (reserved time 501) when the work 24 reaches a predetermined position in the imaging field of view
  • another PLC200 is made to execute the control process 502.
  • a control list may be provided for executing a control process 502 that outputs a picking command 14 at a predetermined time, for example, when a predetermined time has elapsed from the output of the imaging command 13 (reservation time 501). ..
  • the reservation time 501 of the control processing lists 50A and 50B is set to a time (time: the time) of, for example, every second (1.0 second, 2.0 second, 3.0 second ). Not limited, for example, a predetermined length of time (time: 1.0 seconds to 1.5 seconds, 2.0 seconds to 2.5 seconds, 3.0 seconds to 3.5 seconds, etc.). a time period) can be included.
  • the reserved time 501 may include at least one of a time and a time.
  • the PLC 200 determines that the time has been reached based on the time of the timer 201, and executes the control process 502 associated with the reservation time 501 (the time).
  • FIG. 8 schematically shows a conventional cooperative operation processing procedure that does not use the control processing list 500
  • FIG. 7 shows FIG.
  • the processing procedure of the cooperative operation in FIG. 1 using the control processing list 500 is schematically shown.
  • the execution timing (execution timing) of the control process is designed according to the scheduler based on different time axes.
  • the PLC for the conveyor acquires the event of the work detection 40, it executes the processes T1 to T4 (work detection time storage, conveyor speed calculation, imaging time calculation, timing signal transmission time calculation), and then.
  • the process T5 for transmitting the timing signal TM to the inspection PLC is executed.
  • the inspection PLC executes the processing T6 for receiving the timing signal TM from the PLC for the conveyor and the processing T7 for outputting the image pickup command 13 according to the received timing signal TM.
  • the timing of outputting the image pickup command 13 is determined by the time when the notification of the timing signal TM is received from the conveyor PLC.
  • the PLC for the conveyor since it takes time from the PLC for the conveyor transmitting the notification of the timing signal TM until the PLC for inspection outputs the image pickup command 13, the PLC for the conveyor is used in the processing of the timing signal transmission time calculation T4. It is necessary to calculate the time when the timing signal TM should be transmitted in consideration of the delay time DL based on the required time on the time axis of the inspection PLC.
  • each PLC of the distributed system has a timer that is time-synchronized with the timers of other PLCs, so that all the PLCs in the system have a common time axis as a reference.
  • It is possible to determine the timing to execute the linked control process (work detection time storage 511 corresponding to event acquisition of work detection 40, conveyor speed detection 512, conveyor speed adjustment 513, and image pickup command output 514 for image pickup command 13). .. Therefore, unlike the conventional example of FIG. 8, in the present embodiment of FIG. 7, the PLC does not need to grasp the operating state of another PLC, and the interlock by the notification of the timing signal TM becomes unnecessary.
  • control process list is designed to be executed when one PLC reaches the reservation time 501, and each of the plurality of control processes to be executed in cooperation with each other is designed to be executed in a distributed system. It is possible to design the execution timing of the control process for the whole.
  • the execution time of the PLC control process so that the targets are coordinated by the control process lists 50A and 50B, it becomes easy to design the PLC200 alone. That is, even when the targets are operated in cooperation, the time (reservation time 501) for executing the control process 502 of each PLC200 can be determined from the entire control process lists 50A and 50B, and it is easy to design. Further, a mechanism for notifying the timing signal TM or the like between the PLCs 200 becomes unnecessary. That is, it is not necessary to notify the execution state of the control process 502 between the PLCs 200, and the notification mechanism can be eliminated.
  • the control process 502 can be debugged by the PLC200 alone. That is, the control process 502 can be executed by the PLC200 alone, and the control process 502 can be debugged for the PLC200 alone.
  • control process 502 of the PLC200 it becomes easy to change the function realized by the control process 502 of the PLC200 that cooperates with the control process lists 50A and 50B. Specifically, it is not necessary to redesign / debug the control process 502 of the existing PLC200 that operates in cooperation. That is, it is not necessary to design / debug the control process 502 of the existing PLC200 that operates in cooperation when the function is changed. Further, it is not necessary to adjust the execution time of the control process 502 for the entire control system. That is, since the execution time (reservation time 501) of the control process 502 of each PLC 200 is the same as before the function change, it is not necessary to adjust the execution time (reservation time 501) of the control process 502 in the entire control system.
  • the present embodiment as described above includes the following technical ideas.
  • the control system is A plurality of control devices (200A, 200B), each of which controls an object (300A, 300B, 300C, 300D), are provided.
  • Each of the plurality of control devices is A timer (201B) that synchronizes the time with the timer (201A) of another control device, For each of the control-related processes (502) performed in conjunction with the other control device, a list (50A) associated with information including a predetermined time (501) to execute the process.
  • the processing execution means of each control device is A control system that, when it is determined that the predetermined time of the list has been reached, executes a process associated with the predetermined time in the list.
  • the predetermined time includes at least one of a predetermined time and time.
  • the processing execution means of each of the control devices is When it is determined that at least one of the predetermined time and time has been reached based on the time of the timer of the control device, the process associated with at least one of the predetermined time and time in the list is performed.
  • the control system according to configuration 1 to be executed.
  • the predetermined time includes when an event (40) of a predetermined type is detected in the production line.
  • the processing execution means of each of the control devices is The control system according to configuration 1 or 2, wherein when the predetermined type of event is detected, the process associated with the detection of the predetermined type of event in the list is executed.
  • the processing of the list includes a first processing and a second processing to be executed after the first processing is completed.
  • the predetermined time includes when the execution of the first process is completed.
  • the processing execution means of each of the control devices is The control system according to any one of configurations 1 to 3, wherein when it is determined that the first process has been executed, the second process is executed thereafter.
  • the equipment installed in connection with the production line includes a transfer device (23) of the work (24).
  • the control system according to configuration 8 wherein the device includes a device (300B) that drives the transfer device according to the control amount.
  • the processing of the list includes a first processing and a second processing to be executed after the first processing is completed.
  • the first process includes a process of determining a control amount for driving the transfer device.
  • the control amount for driving the transfer device is A control amount for driving the transfer device so that the work is transferred to a position on the production line related to the second process by the predetermined time corresponding to the second process. 9.
  • the device installed in connection with the production line includes an image pickup unit (302C) having an image pickup field of view.
  • the device includes a device (301C) that drives the image pickup unit in accordance with an image pickup command (13).
  • the second process includes a process of outputting the image pickup command to the image pickup unit via a device for driving the image pickup unit. 10.
  • the control system of configuration 10 wherein the position associated with the second process includes a position based on the imaging field of view.
  • the equipment installed in connection with the production line includes a robot (310) that handles the work (24).
  • the device includes a device (300E) that drives the robot according to the control amount for driving the robot.
  • the second process includes a process of outputting a control command (14) corresponding to the control amount to the device for driving the robot.
  • the control system according to configuration 10 or 11, wherein the position associated with the second process includes a position based on a predetermined area for the robot to handle the work.
  • a control device (200A, 200B) provided on an FA (factory automation) production line (60A, 60B) to control an object (300A, 300B, 300C, 300D).
  • a timer (201B) that is time-synchronized with the timer (201A) of another control device provided on the production line, and a timer (201B).
  • the processing execution means is A control device that executes a process associated with the predetermined time in the list when it is determined that the predetermined time in the list has been reached.
  • a program (215) that causes a computer (202) to execute a method in which a control device (200A, 200B) provided in an FA (factory automation) production line (60A, 60B) controls a target (300A, 300B, 300C, 300D).
  • the control device is A timer (201B) that is time-synchronized with the timer (201A) of the other control device provided on the production line is provided.
  • the method is A list associated with information, including a predetermined time (501), for each of the control-related processes (502) performed by the controller in conjunction with other controllers.
  • a step of executing the process according to (50A, 50B) is provided.
  • the step of executing the above process is A program having a step of executing a process associated with the predetermined time in the list when it is determined that the predetermined time of the list has been reached.
  • 10,12 detection value, 10A, 10B control system 11 control command, 13 imaging command, 14 picking command, 23 belt, 24 work, 40 work detection, 41 imaging time, 42 picking time, 50 development support program, 50A, 50B , 510,515,520,525 Control processing list, 60A, 60B production line, 100 support device, 110,120,400 network, 190 server computer, 201,201A, 201B timer, 202 control device, 204 chipset, 206 main Memory, 208 storage device, 210 user program, 211 control program, 212 system program, 214 various data, 215 processing execution program, 216 refresh program, 222 internal bus controller, 224 field bus controller, 226 I / O unit, 238 communication interface , 239 memory card interface, 240 memory card, 250, 250A, 250B processing execution unit, 251 input / output processing unit, 300 field equipment, 300A sensor, 300B servo motor, 300C image sensor, 300D encoder, 300E robot controller, 301C sensor unit.

Abstract

制御装置が、他の制御装置の処理と連係する処理を簡単な構成で実行する。制御システム(10A)は、それぞれが対象を制御する複数の制御装置を備え、各制御装置は、他の制御装置のタイマと互い時刻同期されるタイマと、他の制御装置と連係して実行される制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行する処理実行手段と、を有し、処理実行手段は、リストの予め定められた時期に達したとき、リストにおいて当該予め定められた時期に関連付けられた処理を実行する。

Description

制御システム、制御装置およびプログラム
 本開示は、制御システム、制御装置およびプログラムに関し、特に、FA(Factory Automation:ファクトリオートメーション)の生産ラインの制御システム、制御装置およびプログラムに関する。
 対象を制御するための制御システムとして、複数のコントローラを有した分散型システムが提案されている。分散型システムでは、各コントローラは、他のコントローラに接続される対象の機器の動作に合わせて自装置に接続される対象機器が動作する、いわゆる協調動作を実現するよう、対象を制御する。
 分散型システムの一例として、例えば特許文献1(特開2018-68017号公報)と特許文献2(特開平8-19977号公報)が提案されている。特許文献1は、ネットワークを介して複数の制御装置を接続した分散制御システムを開示する。また、特許文献2は、「プログラムブルコントローラで、周辺機械と伴に制御されるロボットコントローラにおいて、ロボットと周辺機械とのインターロックを実現するために、プログラムブルコントローラとのインターフェイスを持ちソフトオーバートラベルをプログラムブルコントローラからの命令で変えられる」構成を開示する。
特開2018-68017号公報 特開平8-19977号公報
 FAの生産ラインに分散型システムが採用される。この場合、ワークの種類の変更または生産量の変更に対応して生産ラインの機能の変更が行われる。このような変更は、分散型システムが備える複数のコントローラが実行する制御に関連した処理の組合せを変更することによって実現する。当該組合せを変更する場合に、特許文献2のようにコントローラ間で協調動作を実現するためのインターロックなどの処理に関する通知を遣り取りする仕組みを必要とすれば、想定される処理の組合せ毎に、インターロックの通知の仕組みが正常に作動するように処理を設計する必要があり、設計が複雑になる。
 したがって、各制御装置が他の制御装置と連係して実行する制御に関連した処理を、他の制御装置による処理の実行を通知する仕組みを用いずに簡単に実行できる環境が望まれる。
 本開示は、制御装置が、他の制御装置の処理と連係する処理を簡単な構成で実行することが可能な制御システム、制御装置およびプログラムを提供することを1つの目的とする。
 本開示において制御システムは、FA(ファクトリオートメーション)の生産ラインに設けられる制御システムであって、制御システムは、それぞれが対象を制御する複数の制御装置を、備え、各制御装置は、他の制御装置のタイマと互い時刻同期されるタイマと、他の制御装置と連係して実行される制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行する処理実行手段と、を有し、各制御装置の処理実行手段は、リストの予め定められた時期に達したと判断したとき、リストにおいて当該予め定められた時期に関連付けられた処理を実行する。
 この開示によれば、時刻同期する各制御装置はリストにおいて予め定められた時期に達すると、当該時期に関連付けられた制御処理を実行する。これにより、例えば、制御装置間で処理の実行状態等の通知を遣り取りする仕組みを利用することなく、制御装置間で連係して処理を実行することができ、その結果、当該仕組みを用いることなく対象の協調動作を実現できる。
 上述の開示において、予め定められた時期は、予め定められた時刻と時間の少なくとも一方を含み、各制御装置の処理実行手段は、当該制御装置のタイマが計測する時刻に基づき、時刻と時間の少なくとも一方に達したと判断したとき、リストにおいて当該予め定められた時刻と時間の少なくとも一方に関連付けられた処理を実行する。
 この開示によれば、各制御装置は、他の制御装置と時刻同期するタイマの計測時刻から、予め定められた時刻と時間の少なくとも一方に達したか否かを判断し、上記の関連付けられた処理を実行できる。
 上述の開示において、予め定められた時期は、生産ラインにおいて予め定められた種類のイベントが検出されたときを含み、各制御装置の処理実行手段は、予め定められた種類のイベントを検出したとき、リストにおいて当該予め定められた種類のイベントの検出に関連付けられた処理を実行する。
 この開示によれば、制御装置は、予め定められた種類のイベントを検出すると、予め定められた時期に達したと判断して、関連付けられた処理を実行する。
 上述の開示において、リストの処理は第1の処理と、当該第1の処理が実行終了すると、その後に実行される第2の処理とを含み、予め定められた時期は、第1の処理が実行終了したときを含み、各制御装置の処理実行手段は、第1の処理が実行終了したと判断したとき、その後に、第2の処理を実行する。
 この開示によれば、予め定められた時期に達したことを、処理が実行終了したことによって判断し、関連付けられた処理を実行する。
 上述の開示において、リストにおける1つ以上の処理それぞれに対応の情報は、当該処理の処理手順を含む。
 この開示によれば、リストに、制御処理のための処理手順を含めることができる。
 上述の開示において、リストにおける1つ以上の処理それぞれに対応の情報は、当該処理を実行する制御装置の識別子を含む。
 この開示によれば、リストにおいて、各処理を実行するべき制御装置を、当該制御装置の識別子によって指定することができる。
 上述の開示おいて、対象は、生産ラインに関連して設置された装置を駆動する機器を含む。
 この開示によれば、制御の対象に、駆動機器を含めることができる。
 上述の開示において、リストにおける1つ以上の処理の少なくとも1つは、装置を駆動するための制御量を決定する処理を含む。
 この開示によれば、リストの処理に、制御量を決定する処理を含めることができる。
 上述の開示において、生産ラインに関連して設置された装置は、ワークの搬送装置を含み、機器は、当該搬送装置を上記の制御量に従い駆動する機器を含む。
 この開示によれば、制御装置が制御する対象に、ワーク搬送装置を駆動する機器を含めることができる。
 上述の開示において、リストの処理は第1の処理と、当該第1の処理が実行終了すると、その後に実行される第2の処理とを含み、第1の処理は、搬送装置を駆動するための制御量を決定する処理を含み、搬送装置を駆動するための制御量は、ワークを生産ライン上の第2の処理に関連した位置に、第2の処理に対応の予め定められた時期までに搬送するよう、搬送装置を駆動するための制御量を含む。
 この開示によれば、第1の処理では、次位の処理である第2の処理に関連した位置にワークを搬送するために搬送装置を駆動するために制御量を決定できる。
 上述の開示において、生産ラインに関連して設置された装置は、撮像視野を有した撮像部を含み、機器は、撮像部を撮像指令に従い駆動する機器を含み、第2の処理は、撮像部を駆動する機器を介して当該撮像部に撮像指令を出力する処理を含み、第2の処理に関連した位置は、撮像視野に基づく位置を含む。
 この開示によれば、第1の処理は、搬送装置を駆動するための制御量を決定する処理を含み、この制御量に、ワークを第2の処理が出力する撮像指令によって駆動される撮像部の撮像視野に基づく位置に、第2の処理に対応の予め定められた時期までに搬送するための制御量を含めることができる。
 上述の開示において、生産ラインに関連して設置された装置は、ワークを扱うロボットを含み、機器は、ロボットを、当該ロボットを駆動するための制御量に従い駆動する機器を含み、第2の処理は、ロボットを駆動する機器に制御量に対応の制御指令を出力する処理を含み、第2の処理に関連した位置は、ロボットがワークを扱うための予め定められたエリアに基づく位置を含む。
 この開示によれば、第1の処理は、搬送装置を駆動するための制御量を決定する処理を含み、この制御量に、ワークを第2の処理が出力する制御指令によって駆動されるロボットのワークを扱うための予め定められたエリアに基づく位置に、第2の処理に対応の予め定められた時期までに搬送するための制御量を含めることができる。
 本開示に係る制御装置は、FA(ファクトリオートメーション)の生産ラインに設けられて、対象を制御する制御装置であって、生産ラインに設けられる他の制御装置のタイマと互い時刻同期されるタイマと、他の制御装置と連係して実行される制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行する処理実行手段と、を有し、処理実行手段は、リストの予め定められた時期に達したと判断したとき、リストにおいて当該予め定められた時期に関連付けられた処理を実行する。
 この開示によれば、他の制御装置と時刻同期する制御装置は、リストにおいて予め定められた時期に達すると、当該時期に関連付けられた制御処理を実行する。これにより、例えば、他の制御装置との間で処理の実行状態等の通知を遣り取りする仕組みを利用することなく、他の制御装置との間で連係して処理を実行することができ、その結果、当該仕組みを用いることなく他の制御装置との間で対象の協調動作を実現できる。
 本開示に係るプログラムは、FA(ファクトリオートメーション)の生産ラインに設けられる制御装置が対象を制御する方法をコンピュータに実行させるプログラムであって、制御装置は、生産ラインに設けられる他の制御装置のタイマと互い時刻同期されるタイマを備える。方法は、制御装置が他の制御装置と連係して実行する制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行するステップを備え、処理を実行するステップは、リストの予め定められた時期に達したと判断したとき、リストにおいて当該予め定められた時期に関連付けられた処理を実行するステップを有する。
 この開示によれば、プログラムが実行されると、コンピュータは、リストにおいて予め定められた時期に達したと判断したとき、当該時期に関連付けられた制御処理を実行する方法を実施する。これにより、当該方法が適用される制御装置では、例えば、制御装置が他の制御装置との間で処理の実行状態等の通知を遣り取りする仕組みを利用することなく、他の制御装置との間で連係して処理を実行することができ、その結果、当該仕組みを用いることなく他の制御装置との間で対象の協調動作を実現できる。
 本開示によれば、制御装置が、他の制御装置の処理と連係する処理を簡単な構成で実行することができる。
本実施の形態に係るFAの生産ライン60Aに備えられる制御システム10Aの構成を模式的に示す図である。 PLC200のハードウェア構成の一例を示す模式図である。 本実施の形態に係るPLCが有する制御処理リスト50Aに従う処理を実現するためモジュール構成を示す図である。 本実施の形態にかかる処理の一例を示すフローチャートである。 本実施の形態にかかる処理の一例を示すフローチャートである。 本実施の形態に係るFAの生産ライン60Bに備えられる制御システム10Bの構成を模式的に示す図である。 本実施の形態に係る制御システムの利点を説明する図である。 本実施の形態に係る制御システムの利点を説明する図である。
 以下に、図面を参照しつつ、実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係るFA(Factory Automation:ファクトリオートメーション)の生産ライン60Aに備えられる制御システム10Aの構成を模式的に示す図である。生産ライン60Aは、例えば、製品の一例であるワーク24の検査工程に備えられる。生産ライン60Aは、ワーク24の搬送装置を構成するベルト23を有したベルトコンベアと、ベルト23の搬送路に関連した設置されたセンサ300Aと、サーボモータ300Bと、画像センサ300Cと、回転数を計測するセンサの一例であるエンコーダ300Dを備える。ベルトコンベアは、さらに、サーボモータ300Bにより駆動されるローラを有し、ベルト23は当該ローラの回転に連動して移動する。サーボモータ300Bは、ワーク24の搬送装置であるベルト23を制御量に従い駆動する機器の一実施例である。より具体的には、サーボモータ300Bは、指令11が示す制御量(回転の角度、方向、速度など)に従って回転し、当該回転に連動してローラが回転することでベルト23は移動し、ベルト23の上面である搬送面に載せられたワーク24は連続的に移動する。エンコーダ300Dは、ベルトコンベアのローラの回転量を検出することにより、ベルト23の移動量に応じた検出値12を出力する。検出値12は、ベルト23の移動量に応じたパルス信号に基づいている。
 画像センサ300Cは、搬送面上のワーク24を検査するために、撮像視野がベルト23の搬送面上となるように配置されたカメラなどの撮像部302Cと、センサ部301Cとを含む。センサ部301Cは、撮像指令13に従って撮像部302Cを撮像するように制御し、撮像部302Cから出力される撮像画像を処理する。センサ300Aは、例えば近接スイッチを含んで構成される。センサ300Aは、搬送面上のワーク24を検出可能な検出範囲を有し、ワーク24を検出すると検出値10を出力する。センサ300Aの検出範囲は、搬送途中のワーク24が撮像部302Cの撮像視野に接近したことを検出することが可能な範囲に基づいている。
 なお、生産ライン60Aにおいてワーク24を搬送するための搬送装置はベルトコンベアに限定されない。例えば、ワーク24を搬送する移動型のロボットであってもよい。搬送装置が移動型ロボットの場合は、制御の対象は移動型ロボットが備える車輪を駆動するサーボモータなどを含み得る。
 図1では、生産ライン60Aは、ベルトコンベアでワーク24を搬送しながら、搬送されるワーク24を撮像可能な構成を備えるが、生産ライン60Aに備えられる機器はこれらに限定されず、FAの生産ライン60Aの種類に応じて適宜選択され得る。また、生産ライン60Aが扱う「ワーク24」としては、最終生成物あるいはその一部、または、中間生成物あるいはその一部など、当該ワークの位置をトラッキング可能なものであればよく、限定されない。
 図1では、制御システム10Aは、ネットワークにPLC(プログラマブルロジックコントローラ)200Aおよび200B、制御の対象である複数のフィールド機器、通信装置410、サポート装置100およびサーバコンピュータ190が通信可能に接続されるネットワーク構成を備える。PLC200AとおよびPLC200Bは、それぞれ、タイマ201Aおよび201Bを備える。タイマ201Aは、タイマ201Bと互いに時刻同期する。例えば、タイマ201Aおよびタイマ201Bは、サーバコンピュータ190が配信する標準時刻に合わせるように動作する。これにより、タイマ201Aとタイマ201Bは、標準時刻に基づく共通の時刻を示すように時刻同期される。
 フィールド機器の各々は、製造装置または生産ライン60Aなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるサーボモータなどのアクチュエータ、およびフィールドとの間で情報を遣り取りするセンサなどの入出力装置を含む。図1では、例えば、フィールド機器は、センサ300A、サーボモータ300B、画像センサ300Cおよびエンコーダ300Dを含む。
 PLC200Aおよび200Bは、コントロールレベルのネットワークであるネットワーク120に接続される。ネットワーク120は、通信装置410を中継して、上位のネットワーク400に接続される。ネットワーク400は、サーバコンピュータ190と、サポート装置100とを接続する。
 制御システム10Aでは、ネットワーク120およびネットワーク400に接続される装置は、通信装置410を介して装置間でデータを遣り取りできる。PLC200AおよびPLC200Bは、それぞれ、ネットワーク110を介して1または複数のフィールド機器を通信可能に接続する。1または複数のフィールド機器は、ネットワーク110を介してPLC200A,PLC200Bに接続されることに加えて、PLC200A,200Bに関連した入出力ユニット(図示せず)を介してPLC200A,200Bに直接接続される場合もある。図1では、PLC200Aはフィールド機器であるセンサ300A、サーボモータ300Bおよびエンコーダ300Dを接続し、PLC200Bはフィールド機器である画像センサ300Cを接続する。以下では、PLC200Aおよび200Bに共通する実施例の説明では、PLC200と総称し、フィールド機器であるセンサ300A、サーボモータ300B、画像センサ300Cおよびエンコーダ300Dに共通する実施例の説明では、フィールド機器300と総称する場合もある。
 本実施の形態では、「制御装置」の典型例として、PLCを具体例として説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
 制御システム10Aでは、PLC200AおよびPLC200Bは、それぞれ、ワーク24の検査工程に係る処理を実行する。検査工程に係る処理は、対象(フィールド機器300)の制御に関連した制御処理を含み、制御処理はPLC200間で連係して実行される。より具体的には、PLC200AおよびPLC200Bは、それぞれ、処理実行部250Aおよび処理実行部250Bを備える。以下では、処理実行部250Aおよび処理実行部250Bに共通する実施例の説明では、処理実行部250と総称する。PLC200の処理実行部250は、他のPLC200との間で連係して実行されるべき1つ以上の制御処理それぞれについて、制御処理を実行する予め定められた時期を含む情報が関連付けられた制御処理リスト50Aに従って当該制御処理を実行する。制御処理リスト50Aによって示される「予め定められた時期」は、以下では「予約時期」とも称する。本実施の形態では、時期は、ある処理を実行するときを示す概念であって、タイマが計時した時刻に基づく時間または時刻と、当該処理に関連した何らかのイベント(事象)が生じ得る時間または時刻とを含み得る概念である。本実施の形態では、時間は連続した時の長さを示し、時刻は時間の中のある一点を示す。
 制御処理リスト50Aは、サポート装置100によって作成されて、ネットワーク400および120を介して、PLC200に転送される。PLC200は、サポート装置100から送信された制御処理リスト50Aを受信し、記憶部に格納する。
 制御処理リスト50Aは、各制御処理502と、当該制御処理502が実行される予約時期501との対応関係を表した情報を含む。制御処理リスト500は、この情報を、複数のレコードRとして有する。より具体的には、各レコードRの情報は、PLC200間で連係して実行される1つ以上の制御処理502と、各制御処理502に関連付けられた、当該制御処理502を実行する予め定められた時期である予約時期501を含む。制御処理502に関連付けられた情報は、さらに、当該処理の処理手順503および当該処理を実行するPLC200の識別子504を含む。制御処理502は、例えば、対応の予約時期501において実行される制御処理を定義する情報であって、例えば呼び出されて実行されるFB(ファンクションブロック)などの関数名を示す。処理手順503は、対応の処理手順503を構成する1つ以上の命令からなる命令群を示す。命令は、例えばサイクリック実行型言語(例えば、ラダー言語)、または逐次実行型の言語(例えばインタプリタ言語)の命令を含み、処理実行部250は、これら言語の命令を実行可能な実行エンジンを備えている。識別子504は、対応の制御処理502を実行するべきPLC200の識別子を示す。本実施の形態では、識別子は、ベルトコンベアのフィールド機器(センサ300A、サーボモータ300B、エンコーダ300D)を制御するPLC200Aの識別子である「コンベア用PLC」と、ワーク24を検査するためのフィールド機器(画像センサ300C)を制御するPLC200Bの識別子である「検査用PLC」を含む。
 制御処理リスト50Aは、識別子504が「コンベア用PLC」を示す制御処理リスト510と、識別子504が「検査用PLC」を示す制御処理リスト520とを含む。PLC200は、制御処理リスト50Aのプログラムを実行する場合、制御処理リスト50Aのうち、識別子504が自装置の識別子に一致する制御処理502を抽出して実行する。図1の場合、PLC200Aは、制御処理リスト510の制御処理502を実行し、PLC200Bは、制御処理リスト520の制御処理502を実行する。より具体的には、各PLC200の処理実行部250は、予約時期501に達したと判断したとき、当該予約時期501に関連付けられた制御処理502を実行する。
 生産ライン60Aの稼働時に、PLC200は、予め定められた制御周期毎に制御処理リスト50Aに従い各予約時期501に達したかを判断しながら制御処理を実行する。より具体的には、生産ライン60Aの稼働時はベルトコンベアによりワーク24が継続して搬送されて、センサ300Aはワーク24を予め定められた位置で検出する。PLC200Aは、センサ300Aからの検出値10を受付けると、処理実行部250を用いて、検出値10に基づき予約時期501のうちワーク検出40のイベントの検出時期に達したと判断し、判断結果に基づき、対応の制御処理502であるワーク検出時刻保存511を処理手順503の命令に従い実行する。これにより、タイマ201Aの時刻がワーク検出時刻として格納される。
 PLC200Aは、処理実行部250Aを用いて、ワーク検出時刻保存511の処理後に達したことを判断すると、PLC200Aは、処理実行部250Aを用いて、対応の制御処理502であるコンベア速度検出512を処理手順503の命令に従い実行する。これにより、エンコーダ300Dからの検出値12が表すカウント値に基づき、ベルト23の移動量を示す値、および/または、移動速度(コンベア速度)を示す値が算出(検出)される。
 PLC200Aは、処理実行部250Aを用いて、コンベア速度検出512の処理後に達したことを判断すると、PLC200Aは、処理実行部250Aを用いて、対応の制御処理502であるコンベア速度調整513を処理手順503の命令に従い実行する。より具体的には、PLC200Aは、処理実行部250Aを用いて、搬送されるワーク24が撮像時刻41(例えば毎秒または毎制御周期の開始から一定時間が経過した時点など)に撮像視野または、撮像視野内の予め定められた位置に移動するための目標速度と、上記の手順で算出されたコンベア速度との差を算出し、算出された差に基づきサーボモータ300Bの制御量を決定し、決定した制御量を表す指令11をサーボモータ300Bに出力する。この目標速度は、例えば((センサ300Aの検出位置と撮像視野に基づく撮像位置との間の距離)/(撮像時刻-(ワーク検出時刻))に基づき算出され得る。なお、目標速度の取得方法は、演算に限定されず、テーブルルックアップであってもよい。
 上記に述べたように、処理実行部250Aは、制御処理リスト50Aに従い制御処理502を実行する場合、例えば、ワーク検出時刻保存511(第1の処理の一例)が実行終了したと判断したとき、その後に、コンベア速度検出512(第2の処理の一例)を実行する、また、コンベア速度検出512(第1の処理の一例)が実行終了したと判断したとき、その後に、コンベア速度調整513(第2の処理の一例)を実行するよう構成されている。
 一方、PLC200Bは、処理実行部250Bを用いて、撮像時刻41に達したか否かをタイマ201Bの時刻に基づき判断する。撮像時刻41に達したと判断されると、PLC200Bは、処理実行部250Bを用いて、対応の制御処理502である撮像指令出力514の処理を実行する。これにより、画像センサ300Cは、PLC200Bからの撮像指令13に従い撮像部302Cを制御し、ワーク24の撮像画像を撮像部302Cから取得し検査のために処理する。
 撮像画像を用いたワーク24の検査は、外観検査などを含むが、検査処理は画像センサ300CとPLC200Bの一方が実行する、または両者が協働して実行してもよい。検査結果は、ネットワーク120およびネットワーク400を経由して転送されたサーバコンピュータ190の記憶部に格納されてもよい。
 このように、分散型システムの一例である制御システム10Aでは、互いに時刻同期したPLC200A,PLC200Bは、両者間で連係して実行されるべき制御処理502を、予約時期501を用いてスケジューリングされた制御処理リスト50Aに従って実行する。これにより、制御システム10Aでは、PLC200による制御処理の実行状態を、PLC200が互いに通知する、または通知するためにPLC200間を信号線で接続する等の特別な仕組みを用いずに、PLC200間で制御処理を連係しながら実行できる。以下、本実施の形態のより具体的な応用例について説明する。
 <B.サポート装置>
 本実施の形態に係るサポート装置100は、制御処理リスト50Aを各PLC200に提供する。図1を参照して、制御システム10Aのネットワーク構成に接続されるサポート装置100は、例えば汎用のコンピュータを用いて構成されて、ユーザが制御システム10Aを運用するのを支援する支援ツールを、例えばUI(User Interface)ベースで提供する。サポート装置100は、開発支援プログラム50を実行する。開発支援プログラム50が実行されることにより、サポート装置100は、上記の支援ツールの1つとして、ユーザが制御処理リスト50Aを作成し、作成された制御処理リスト50AをPLC200にダウンロードなどで転送するのを支援するツールを提供する。なお、サポート装置100が提供する支援ツールは、これに限定されず、制御プログラムの実行環境またはPLC200との通信環境等の準備の設定ツールなどを含み得る。制御システム10Aにおいては、PLC200とサポート装置100は別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。サポート装置100は、ネットワーク400に接続されてもよく、または、PLC200に内蔵されてもよく、または、ポータブル端末として提供されてもよい。
 制御処理リスト50AをPLC200にダウンロードするための経路は、サポート装置100からのダウンロードに限定されず、サーバコンピュータ190からのダウンロードであってもよい。また、制御システム10Aの1台のPLC200に制御処理リスト50Aをダウンロードし、当該1台のPLC200から、ネットワーク120を介して他のPLC200に制御処理リスト50Aを送信するとしてもよい。この場合、例えば、EtherNet/IP(登録商標)のタグデータリンク通信を利用できる。
 本実施の形態では、制御処理リスト50Aは、サポート装置100のUIツールを介してユーザにより作成されるが、作成する環境はこれに限定されない。例えば、シミュレータによって作成されてもよい。シミュレータは、サポート装置100またはクラウドベースのコンピュータ(例えば、サーバコンピュータ190)などに備えられてもよい。
 <C.PLC200のハードウェアの構成例>
 図2は、PLC200のハードウェア構成の一例を示す模式図である。図2を参照して、PLC200は、タイマ201と、CPU(Central Processing Unit)またはMPU(Micro-Processing Unit)などを含む制御装置202と、チップセット204と、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される主メモリ206と、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される記憶装置208と、内部バスコントローラ222と、フィールドバスコントローラ224と、通信インターフェイス238と、メモリカードインターフェイス239とを含む。
 タイマ201は、所定周期毎にカウンタ値をインクリメントまたはデクリメントするカウンタを含んで構成される。タイマ201は、ハードウェアタイマーである高精度イベントタイマー(HPET:High Precision Event Timer)または専用回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装されてもよい。
 記憶装置208は、制御プログラム211および各種データ214を格納する。制御プログラム211は、OS(Operating System)を含むシステムプログラム212およびユーザプログラム213を含む。ユーザプログラム213は、実行されると処理実行部250A,250Bを実現する処理実行プログラム215、IOリフレッシュプログラム216および制御処理リスト50Aのプログラムを含む。この他にユーザプログラムは、制御対象に応じて任意に設計された制御処理を実行するための各種のプログラムを含む。
 制御装置202は、記憶装置208に格納された制御プログラム211を読み出して、主メモリ206に展開して実行することで、フィールド機器300の制御を実現する。
 チップセット204は、各コンポーネントを制御することで、PLC200全体としての処理を実現する。内部バスコントローラ222は、PLC200と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、I/Oユニット226が接続されている。I/Oユニット226は、フィールド機器300が接続される場合は、接続されたフィールド機器300の状態値である、例えば検出値10,12を入力するとともに、フィールド機器300の制御指令である、例えば制御指令11および撮像指令13をフィールド機器300に出力する。
 フィールドバスコントローラ224は、PLC200とネットワーク110を通じて連結される各種のフィールド機器300とデータを遣り取りするインターフェイスである。
 通信インターフェイス238は、各種の有線/無線ネットワークを通じたデータの遣り取りを制御する。PLC200は、通信インターフェイス238を介して、ネットワーク120およびネットワーク400を介してサポート装置100またはサーバコンピュータ190と通信する。
 メモリカードインターフェイス239は、外部記憶媒体の一例であるメモリカード240を着脱可能に構成されており、装着されたメモリカード240に対してデータを書き込み、メモリカード240からデータを読出すことが可能になっている。PLC200に制御処理リスト50Aのプログラムが供給される経路は、サポート装置100からダウンロードされる経路に限定されず、メモリカード240から読出されて、記憶装置208にユーザプログラム210として格納される経路であってもよい。メモリカード240は、SDカードなどのフラッシュメモリからなる不揮発性記憶装置に相当する。
 PLC200は、制御プログラム211や各種データ214を、メモリカード240などの外部記憶媒体から取得してもよい。このような外部記憶媒体は、コンピュータその他装置、機械等が記録されたプログラムやデータ等の情報を読み取り可能なように、当該プログラムやデータ等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。PLC200の制御装置202は、このような外部記憶媒体からシステムプログラム212、処理実行プログラム215、IOリフレッシュプログラム216、制御処理リスト50Aおよび各種データ214などのプログラムおよび/またはデータを取得してもよい。
 また、上記に述べたプログラムおよび/またはデータは、サーバコンピュータ190またはサポート装置100などの外部情報処理装置から、ネットワーク120を介して、PLC100にダウンロードされて、所定記憶領域(例えば、記憶装置208など)に格納されるとしてもよい。
 <D.PLC200の機能構成>
 図3は、本実施の形態に係るPLCが有する制御処理リスト50Aに従う処理を実現するためモジュール構成を示す図である。図3では、当該モジュール構成として、制御装置202がプログラムを実行することにより実現されるモジュールの構成が示される。より具体的には、制御装置202が処理実行プログラム215を実行することで実現される処理実行部250およびIOリフレッシュプログラム216を実行することで実現される入出力処理部251を含む。入出力処理部251は、制御周期毎に内部バスコントローラ222またはフィールドバスコントローラ224を介してフィールド機器300との間でデータ(状態値、制御指令)を遣り取りする。本実施の形態では、PLC200の稼働時は、記憶装置208から読出された制御処理リスト50Aは主メモリ206に展開される。処理実行部250は、制御周期毎に、入出力処理部251を介して入力するフィールド機器300からのデータ(検出値10,12の状態値)を用いて制御処理リスト50Aのプログラムを実行し、実行結果に基づくデータ(指令11,撮像指令13の制御指令)を出力する。入出力処理部251は、処理実行部250から出力された制御指令をフィールド機器300に送信する。
 図3には、制御装置202のプロセッサがプログラムを実行することで必要なモジュールが提供される構成例を示したが、これらの提供されるモジュールの一部または全部を、専用のハードウェア回路(例えば、ASIC(application specific integrated circuit)またはFPGA(field-programmable gate array)など)を用いて実装してもよい。あるいは、制御装置202の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <E.フローチャート>
 図4と図5は、本実施の形態にかかる処理の一例を示すフローチャートである。図4と図5は処理実行プログラム215が実行されることにより実現される処理実行部250を用いた処理を示す。図4を参照して、PLC200は、処理実行部250を用いて、まず、変数nに値0を設定して初期化する(ステップS1)。変数nは、制御処理リスト50Aの先頭から、それが有する制御処理502が実行されたレコードRをカウントするために用いられる。
 PLC200は、処理実行部250を用いて、制御処理リスト50Aに従ってフィールド機器300の制御処理を実行し(ステップS2)、自装置の制御処理リスト50Aに従った制御処理の実行は終了したか否かを判断する(ステップS3)。ステップS3では、例えば、PLC200Aは制御処理リスト510の全てのレコードRの制御処理502を実行したか否かを、変数nが制御処理リスト510のレコードRの総数値を示すか否かに基づき判断し、同様に、PLC200Bは制御処理リスト510の全てのレコードRの制御処理502を実行したか否かを、変数nが制御処理リスト520のレコードRの総数値を示すか否かに基づき判断する。
 制御処理の実行は終了したと判断されると(ステップS3でYES)、図4の処理は終了するが、制御処理の実行は終了していないと判断されると(ステップS3でNO)、ステップS1に戻り、制御処理リスト50Aに従う制御処理の実行が継続する。
 図5を参照して、ステップS2の処理を詳述する。PLC200は、変数nを1インクリメントする(ステップS10)。PLC200は、処理実行部250を用いて、制御処理リスト50Aのn番目のレコードRの予約時期501を解析し、解析の結果に基づき、当該予約時期501の種類を判断する(ステップS11)。具体的には、PLC200は、予約時期501は「予め定められた種類のイベントが検出されたこと」、「予め設定された時刻に達したこと」および「その他」のいずれを示すかを判断する。
 PLC200は、予約時期501は「予め設定された時刻に達したこと」を示すと判断すると(ステップS11で“予め設定された時刻”)、処理実行部250を用いて、タイマ201が計測する時刻は予約時期501が示す予め設定された時刻に達したかを判断する(ステップS12)。PLC200は、例えば、タイマ201が計測する時刻を予約時期501が示す予め設定された時刻と比較し、比較の結果に基づき、当該予め設定された時刻に達したかを判断する。PLC200は、予約時期501が示す予め設定された時刻に達したと判断すると(ステップS12でYES)、PLC200は、処理実行部250を用いて、n番目のレコードRの当該予約時期501に関連付けられた制御処理502を実行する(ステップS13)。一方、PLC200は、予約時期501が示す予め設定された時刻に達していないと判断すると(ステップS12でNO)、ステップS12を繰り返す。
 また、PLC200は、予約時期501は「予め定められた種類のイベントが検出されたこと」を示すと判断すると(ステップS11で“予め設定された時刻”)、PLC200は、処理実行部250を用いて、フィールド機器300からの状態値に基づき、予め定められた種類のイベントが検出されるか否かを判断する(ステップS15)。例えば、予約時期501が“ワーク検出時”を示す場合、PLC200は、センサ300Aからの検出値10からイベントとしてワーク検出40が取得されるか否かに基づき、予め定められた種類のイベントが検出されるか否かを判断する。
 PLC200は、予め定められた種類のイベントが検出されたと判断すると(ステップS15でYES)、処理実行部250を用いて、n番目のレコードRの当該予約時期501に関連付けられた制御処理502を実行する(ステップS16)。一方、PLC200は、予め定められた種類のイベントが検出されていないと判断すると(ステップS15でNO)、ステップS15を繰り返す。
 また、PLC200は、予約時期501は「その他」を示すと判断すると(ステップS11で“その他”)、PLC200は、処理実行部250を用いて、“その他”の時期に達したか否かを判断する(ステップS17)。例えば、「その他」は、図1の制御処理リスト50Aの予約時期501の(上記処理後)を含む。この場合、PLC200は、(n-1)番目のレコードRの制御処理502の実行が終了したとき、予約時期501である(上記処理後)に達したと判断し、当該実行が終了していないときは予約時期501である(上記処理後)に達していないと判断する。
 PLC200は、n番目のレコードRの当該予約時期501の「その他」に達したと判断すると(ステップS17でYES)、n番目のレコードRの当該予約時期501に関連付けられた制御処理502を実行する(ステップS18)。一方、PLC200は、予約時期501の「その他」に達していないと判断すると(ステップS17でNO)、ステップS17を繰り返す。
 なお、PLC200は、制御処理リスト50Aを格納し、稼働時には、制御処理リスト50Aのうち自装置に対応の制御処理リスト510(520)に従って処理を実行してもよい。または、PLC200は、制御処理リスト50Aの全体ではなく自装置に対応の制御処理リスト510(520)を格納し、稼働時には、格納されている自装置に対応の制御処理リストに従って処理を実行してもよい。
 <F.変形例>
 図6は、本実施の形態に係るFAの生産ライン60Bに備えられる制御システム10Bの構成を模式的に示す図である。制御システム10Bは、図1の制御システム10Aの変形例を示す。図6を参照して、生産ライン60Bは、例えばワーク24を箱611に箱詰めする工程に備えられる。生産ライン60Bは、図1に示す検査工程における画像センサ300Cに代えて、ロボット310を制御するロボットコントローラ300Eを備える。ロボット310は、ワーク24を扱うために、図示しないロボットサーボモータが回転することで駆動される複数の関節を有している。各関節が駆動されることで、当該関節に繋がるアームが動作するとともにハンドが開閉する。生産ライン60Bの他の構成は、図1に示したもの同様であるから説明を繰り返さない。
 ロボット310は、ロボットコントローラ300Eからの指令に従い、ロボットハンド301Eを用いてピックアンドプレースを実施する。ピックアンドプレースは、ロボット310が、コンベアのベルト23上に載置されたワーク24をロボットハンド301Eによりピックし、ピックしたまま所定位置に配置された箱611までワーク24を移動させて箱611内に置く(プレースする)一連の動作を示す。ロボットハンド301Eは、ワーク24をピックおよびプレースするためハンドを例えば開閉動作させるが、ピックおよびプレースのための動作は開閉動作に限定されず、ロボットハンド301Eに空気式の吸着装置を利用し、吸着によりワーク24をピックし、プレース側の箱611内でワーク24の吸着を解除する動作であってもよい。ロボットコントローラ300Eは、PLC200Bからのピッキング指令14が示す制御量(サーボモータの回転の角度、方向、速度など)に従い、ロボットサーボモータの駆動を制御することで、各アームが3次元に動作するとともに、ロボットハンド301Eが開閉する。このようなピッキング指令14に従う各アーム,ロボットハンド301Eの動作により、ロボット310のピックアンドプレースの動作が実現される。
 図6を参照して、生産ライン60Bの制御処理リスト50Bの識別子504が「コンベア用PLC」を示す制御処理リスト515と、識別子504が「ピッキング用PLC」を示す制御処理リスト525とを含む。PLC200Aは「コンベア用PLC」に対応し、PLC200Bは「ピッキング用PLC」に対応する。
 図6の制御処理リスト515では、コンベア速度調整513を処理手順503の命令が、図1に示された対応の処理手順503とは異なるが、他の制御処理は図1の制御処理リスト510と同様であるので説明は繰り返さない。制御処理リスト515のコンベア速度調整513の処理手順503では、PLC200Aは、処理実行部250Aを用いて、搬送されるワーク24がピッキング時刻42(例えば毎秒、毎制御周期の周期開始から一定時間が経過した時など)に、ピックアンドプレースのための予め定められた位置に対応のトラッキングエリアに移動するための目標速度と、コンベア速度検出512で算出されたコンベア速度との差を算出し、算出された差に基づきサーボモータ300Bの制御量を決定し、決定した制御量を表す指令11をサーボモータ300Bに出力する。この目標速度は、例えば((センサ300Aの検出位置とトラッキングエリアに基づく位置との間の距離)/(ピッキング時刻42-(ワーク検出時刻))に基づき算出され得る。なお、目標速度の取得方法は、演算に限定されず、テーブルルックアップであってもよい。図6では、トラッキングエリアを、ロボット301がワーク24を扱うための予め定められたエリアとしているが、これに限定されず、また、ロボット310がワークを扱うための予め定められたエリアに基づく位置として、トラッキングエリアに基づく位置を例示したが、これに限定されず、生産ライン60Bに適用されるロボットの種類により設定できる。
 一方、PLC200Bは、処理実行部250Bを用いて、ピッキング時刻42に達したか否かをタイマ201Bの出力に基づき判断する。ピッキング時刻42に達したと判断されると、PLC200Bは、処理実行部250Bを用いて、対応の制御処理502であるピッキング指令出力516を実行する。これにより、ロボットコントローラ300Eは、PLC200Bからのピッキング指令14に従いアームおよびロボットハンド301Eを制御し、ロボット310にワーク24のピックアンドプレースを実施させる。
 なお、PLC200Bは、制御処理リスト50Bを格納し、稼働時には、制御処理リスト50Bのうち自装置に対応の制御処理リスト515(525)に従って処理を実行してもよい。または、PLC200Bは、制御処理リスト50Bの全体ではなく自装置に対応の制御処理リスト515(525)を格納し、稼働時には、格納されている自装置に対応の制御処理リストに従って処理を実行してもよい。
 上記の変形例の図6の制御処理と、図1の制御処理とを組みあわせてもよい。例えば、1のPLC200に、撮像視野内の予め定められた位置にワーク24が到達する予め定められた時刻(予約時期501)に撮像指令13を出力する制御処理502を実行させ、他のPLC200に、予め定められた時刻に、例えば撮像指令13の出力から予め定められた時間が経過したとき(予約時期501)にピッキング指令14を出力する制御処理502を実行させる制御リストが提供されてもよい。
 また、上記の変形例として、制御処理リスト50A,50Bの予約時期501は、例えば毎秒(1.0秒、2.0秒、3.0秒・・・)という時刻(時刻:the time)に限定されず、例えば1.0秒~1.5秒、2.0秒~2.5秒、3.0秒~3.5秒・・・などの予め定められた長さの時間(時間:a time period)を含み得る。これにより、予約時期501は、時刻と時間の少なくとも一方を含み得る。予約時期501が時間を示す場合、PLC200は、タイマ201の時刻に基づき当該時間に達したことを判断すると、予約時期501(当該時間)に関連付けられた制御処理502を実行する。
 <G.実施の形態の利点>
 図7および図8は、本実施の形態に係る制御システムの利点を説明する図である。例えば、ワークの検査工程でコンベア用PLCと検査用PLCとにより協調動作を実現するシーンにおいて、図8は制御処理リスト500を利用しない従来の協調動作の処理手順を模式的に示し、図7の制御処理リスト500を用いた図1における協調動作の処理手順を模式的に示す。
 図8の従来例では、コンベア用PLCのタイマの値が「123」を示すとき、検査用PLCのタイマの値は「1234」を示すというように、両PLCが有するタイマの時刻は非同期状態である。したがって、両PLCについて、それぞれ、異なる時間軸を基準としたスケジューラに従い制御処理の実行タイミング(実行時期)が設計される。
 より具体的には、コンベア用PLCは、ワーク検出40のイベントを取得すると、処理T1~T4(ワーク検出時刻保存、コンベア速度算出、撮像時刻算出、タイミング信号発信時刻算出)を実行し、その後に、タイミング信号発信時刻に達すると、タイミング信号TMを検査用PLCに送信する処理T5を実行する。検査用PLCは、コンベア用PLCからのタイミング信号TMの受信処理T6および受信したタイミング信号TMに応じて撮像指令13を出力する処理T7を実行する。
 このように、検査用PLCでは、撮像指令13を出力するタイミングは、コンベア用PLCからタイミング信号TMの通知を受信した時刻によって決定される。この場合において、コンベア用PLCがタイミング信号TMの通知を送信してから、検査用PLCが撮像指令13を出力するまでに時間を要するから、コンベア用PLCは、タイミング信号発信時刻算出T4の処理では、検査用PLCの時間軸上での当該所要時間に基づく遅延時間DLも考慮してタイミング信号TMを送信するべき時刻を算出する必要がある。
 従来例では、このように分散型システムにおいてPLCにより対象を協調動作させて制御処理を連係して実行するタイミングの設計には、各PLCの制御処理について、当該PLCとは異なる時間軸上の他PLCの処理時間等も考慮した詳細なタイミングチャートを設計する必要がある。
 これに対し、図7の実施の形態では、分散型システムの各PLCは他のPLCのタイマと互い時刻同期されたタイマを有することで、当該システムにおける全てのPLCが共通の時間軸を基準に、連係する制御処理(ワーク検出40のイベント取得に応じたワーク検出時刻保存511、コンベア速度検出512、コンベア速度調整513、および撮像指令13のための撮像指令出力514)を実行するタイミングを決定できる。したがって、図8の従来例とは異なり、図7の本実施の形態では、PLCは他のPLCの動作状態を把握する必要はなく、タイミング信号TMの通知によるインターロックは不要となる。これにより、制御処理リストを、PLC間で連係して実行する複数の制御処理のそれぞれを、1つのPLCが予約時期501に達したときに実行するよう設計するという簡易な方法で、分散型システム全体について制御処理の実行タイミングを設計することができる。
 したがって、本実施の形態では、制御処理リスト50A,50Bによって対象を協調動作させるようPLCの制御処理の実行時期を設計することで、PLC200単体の設計がし易くなる。つまり、対象を協調動作させる場合であっても、全体の制御処理リスト50A,50Bから各PLC200の制御処理502を実行する時期(予約時期501)を決めることができ、設計しやすい。また、PLC200間でタイミング信号TM等の通知の仕組みは不要となる。つまり、PLC200間で制御処理502の実行状態を通知する必要はなく、通知の仕組みを不要にできる。またPLC200単体で制御処理502のデバッグが可能となる。つまり、PLC200単体で制御処理502を実行でき、PLC200単体について制御処理502のデバッグができる。
 また、制御処理リスト50A,50Bによって協調動作するPLC200の制御処理502により実現される機能の変更が容易となる。具体的には、協調動作する既存のPLC200の制御処理502の再設計/デバッグは不要となる。つまり、機能変更時に協調動作する既存のPLC200の制御処理502の設計/デバッグは不要である。また、制御システムの全体について制御処理502の実行時期の調整も不要となる。つまり、各PLC200の制御処理502の実行時期(予約時期501)は機能変更前と変わらないため、制御システム全体での制御処理502の実行時期(予約時期501)の調整も不要にできる。
 <H.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
 FA(ファクトリオートメーション)の生産ライン(60A、60B)に設けられる制御システム(10A、10B)であって、
 前記制御システムは、
 それぞれが対象(300A、300B、300C、300D)を制御する複数の制御装置(200A、200B)を、備え、
 各前記複数の制御装置は、
 他の制御装置のタイマ(201A)と互い時刻同期されるタイマ(201B)と、
 前記他の制御装置と連係して実行される制御に関連した1つ以上の処理(502)それぞれについて、当該処理を実行する予め定められた時期(501)を含む情報が関連付けられたリスト(50A、50B)に従って当該処理を実行する処理実行手段(250A、250B)と、を有し、
 各制御装置の前記処理実行手段は、
 前記リストの前記予め定められた時期に達したと判断したとき、前記リストにおいて当該予め定められた時期に関連付けられた処理を実行する、制御システム。
[構成2]
 前記予め定められた時期は、予め定められた時刻と時間の少なくとも一方を含み、
 前記各制御装置の前記処理実行手段は、
 当該制御装置の前記タイマの時刻に基づき、前記予め定められた時刻と時間の少なくとも一方に達したと判断したとき、前記リストにおいて当該予め定められた時刻と時間の少なくとも一方に関連付けられた処理を実行する、構成1に記載の制御システム。
[構成3]
 前記予め定められた時期は、前記生産ラインにおいて予め定められた種類のイベント(40)が検出されたときを含み、
 前記各制御装置の前記処理実行手段は、
 前記予め定められた種類のイベントを検出したとき、前記リストにおいて当該予め定められた種類のイベントの検出に関連付けられた処理を実行する、構成1または2に記載の制御システム。
[構成4]
 前記リストの処理は第1の処理と、当該第1の処理が実行終了すると、その後に実行される第2の処理とを含み、
 前記予め定められた時期は、前記第1の処理が実行終了したときを含み、
 前記各制御装置の前記処理実行手段は、
 前記第1の処理が実行終了したと判断したとき、その後に、第2の処理を実行する、構成1から3のいずれか1に記載の制御システム。
[構成5]
 前記リストにおける前記1つ以上の処理それぞれに対応の情報は、当該処理の処理手順(503)を含む、構成1から4のいずれか1に記載の制御システム。
[構成6]
 前記リストにおける前記1つ以上の処理それぞれに対応の情報は、当該処理を実行する制御装置の識別子(504)を含む、構成1から5のいずれか1に記載の制御システム。
[構成7]
 前記対象は、前記生産ラインに関連して設置された装置を駆動する機器を含む、構成1から6のいずれか1に記載の制御システム。
[構成8]
 前記リストにおける前記1つ以上の処理の少なくとも1つは、前記装置を駆動するための制御量を決定する処理を含む、構成7に記載の制御システム。
[構成9]
 前記生産ラインに関連して設置された装置は、ワーク(24)の搬送装置(23)を含み、
 前記機器は、前記搬送装置を前記制御量に従い駆動する機器(300B)を含む、構成8に記載の制御システム。
[構成10]
 前記リストの処理は第1の処理と、当該第1の処理が実行終了すると、その後に実行される第2の処理とを含み、
 前記第1の処理は、前記搬送装置を駆動するための制御量を決定する処理を含み、
 前記搬送装置を駆動するための制御量は、
 前記ワークを前記生産ライン上の前記第2の処理に関連した位置に、前記第2の処理に対応の前記予め定められた時期までに搬送するよう、前記搬送装置を駆動するための制御量を含む、構成9に記載の制御システム。
[構成11]
 前記生産ラインに関連して設置された装置は、撮像視野を有した撮像部(302C)を含み、
 前記機器は、前記撮像部を撮像指令(13)に従い駆動する機器(301C)を含み、
 前記第2の処理は、前記撮像部を駆動する機器を介して当該撮像部に前記撮像指令を出力する処理を含み、
 前記第2の処理に関連した位置は、前記撮像視野に基づく位置を含む、構成10に記載の制御システム。
[構成12]
 前記生産ラインに関連して設置された装置は、ワーク(24)を扱うロボット(310)を含み、
 前記機器は、前記ロボットを、当該ロボットを駆動するための前記制御量に従い駆動する機器(300E)を含み、
 前記第2の処理は、前記ロボットを駆動する機器に前記制御量に対応の制御指令(14)を出力する処理を含み、
 前記第2の処理に関連した位置は、前記ロボットがワークを扱うための予め定められたエリアに基づく位置を含む、構成10または11に記載の制御システム。
[構成13]
 FA(ファクトリオートメーション)の生産ライン(60A、60B)に設けられて、対象(300A、300B、300C、300D)を制御する制御装置(200A、200B)であって、
 前記生産ラインに設けられる他の制御装置のタイマ(201A)と互い時刻同期されるタイマ(201B)と、
 前記他の制御装置と連係して実行される制御に関連した1つ以上の処理(502)それぞれについて、当該処理を実行する予め定められた時期(501)を含む情報が関連付けられたリスト(50A、50B)に従って当該処理を実行する処理実行手段(250A、250B)と、を有し、
 前記処理実行手段は、
 前記リストの前記予め定められた時期に達したと判断したとき、前記リストにおいて当該予め定められた時期に関連付けられた処理を実行する、制御装置。
[構成14]
 FA(ファクトリオートメーション)の生産ライン(60A、60B)に設けられる制御装置(200A、200B)が対象(300A、300B、300C、300D)を制御する方法をコンピュータ(202)に実行させるプログラム(215)であって、
 前記制御装置は、
 前記生産ラインに設けられる他の前記制御装置のタイマ(201A)と互い時刻同期されるタイマ(201B)を備え、
 前記方法は、
 前記制御装置が他の制御装置と連係して実行する制御に関連した1つ以上の処理(502)それぞれについて、当該処理を実行する予め定められた時期(501)を含む情報が関連付けられたリスト(50A、50B)に従って当該処理を実行するステップを備え、
 前記処理を実行するステップは、
 前記リストの前記予め定められた時期に達したと判断したとき、前記リストにおいて当該予め定められた時期に関連付けられた処理を実行するステップを有する、プログラム。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
10,12 検出値、10A,10B 制御システム、11 制御指令、13 撮像指令、14 ピッキング指令、23 ベルト、24 ワーク、40 ワーク検出、41 撮像時刻、42 ピッキング時刻、50 開発支援プログラム、50A,50B,510,515,520,525 制御処理リスト、60A,60B 生産ライン、100 サポート装置、110,120,400 ネットワーク、190 サーバコンピュータ、201,201A,201B タイマ、202 制御装置、204 チップセット、206 主メモリ、208 記憶装置、210 ユーザプログラム、211 制御プログラム、212 システムプログラム、214 各種データ、215 処理実行プログラム、216 リフレッシュプログラム、222 内部バスコントローラ、224 フィールドバスコントローラ、226 I/Oユニット、238 通信インターフェイス、239 メモリカードインターフェイス、240 メモリカード、250,250A,250B 処理実行部、251 入出力処理部、300 フィールド機器、300A センサ、300B サーボモータ、300C 画像センサ、300D エンコーダ、300E ロボットコントローラ、301C センサ部、301E ロボットハンド、302C 撮像部、310 ロボット、410 通信装置、501 予約時期、502 制御処理、503 処理手順、504 識別子、511 ワーク検出時刻保存、512 コンベア速度検出、513 コンベア速度調整、514 撮像指令出力、516 ピッキング指令出力、611 箱。

Claims (14)

  1.  FA(ファクトリオートメーション)の生産ラインに設けられる制御システムであって、
     前記制御システムは、
     それぞれが対象を制御する複数の制御装置を、備え、
     各前記複数の制御装置は、
     他の制御装置のタイマと互い時刻同期されるタイマと、
     前記他の制御装置と連係して実行される制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行する処理実行手段と、を有し、
     各制御装置の前記処理実行手段は、
     前記リストの前記予め定められた時期に達したと判断したとき、前記リストにおいて当該予め定められた時期に関連付けられた処理を実行する、制御システム。
  2.  前記予め定められた時期は、予め定められた時刻と時間の少なくとも一方を含み、
     前記各制御装置の前記処理実行手段は、
     当該制御装置の前記タイマが時刻に基づき、前記予め定められた時刻と時間の少なくとも一方に達したと判断したとき、前記リストにおいて当該予め定められた時刻と時間の少なくとも一方に関連付けられた処理を実行する、請求項1に記載の制御システム。
  3.  前記予め定められた時期は、前記生産ラインにおいて予め定められた種類のイベントが検出されたときを含み、
     前記各制御装置の前記処理実行手段は、
     前記予め定められた種類のイベントを検出したとき、前記リストにおいて当該予め定められた種類のイベントの検出に関連付けられた処理を実行する、請求項1または2に記載の制御システム。
  4.  前記リストの処理は第1の処理と、当該第1の処理が実行終了すると、その後に実行される第2の処理とを含み、
     前記予め定められた時期は、前記第1の処理が実行終了したときを含み、
     前記各制御装置の前記処理実行手段は、
     前記第1の処理が実行終了したと判断したとき、その後に、第2の処理を実行する、請求項1から3のいずれか1項に記載の制御システム。
  5.  前記リストにおける前記1つ以上の処理それぞれに対応の情報は、当該処理の処理手順を含む、請求項1から4のいずれか1項に記載の制御システム。
  6.  前記リストにおける前記1つ以上の処理それぞれに対応の情報は、当該処理を実行する制御装置の識別子を含む、請求項1から5のいずれか1項に記載の制御システム。
  7.  前記対象は、前記生産ラインに関連して設置された装置を駆動する機器を含む、請求項1から6のいずれか1項に記載の制御システム。
  8.  前記リストにおける前記1つ以上の処理の少なくとも1つは、前記装置を駆動するための制御量を決定する処理を含む、請求項7に記載の制御システム。
  9.  前記生産ラインに関連して設置された装置は、ワークの搬送装置を含み、
     前記機器は、前記搬送装置を前記制御量に従い駆動する機器を含む、請求項8に記載の制御システム。
  10.  前記リストの処理は第1の処理と、当該第1の処理が実行終了すると、その後に実行される第2の処理とを含み、
     前記第1の処理は、前記搬送装置を駆動するための制御量を決定する処理を含み、
     前記搬送装置を駆動するための制御量は、
     前記ワークを前記生産ライン上の前記第2の処理に関連した位置に、前記第2の処理に対応の前記予め定められた時期までに搬送するよう、前記搬送装置を駆動するための制御量を含む、請求項9に記載の制御システム。
  11.  前記生産ラインに関連して設置された装置は、撮像視野を有した撮像部を含み、
     前記機器は、前記撮像部を撮像指令に従い駆動する機器を含み、
     前記第2の処理は、前記撮像部を駆動する機器を介して当該撮像部に前記撮像指令を出力する処理を含み、
     前記第2の処理に関連した位置は、前記撮像視野に基づく位置を含む、請求項10に記載の制御システム。
  12.  前記生産ラインに関連して設置された装置は、ワークを扱うロボットを含み、
     前記機器は、前記ロボットを、当該ロボットを駆動するための前記制御量に従い駆動する機器を含み、
     前記第2の処理は、前記ロボットを駆動する機器に前記制御量に対応の制御指令を出力する処理を含み、
     前記第2の処理に関連した位置は、前記ロボットがワークを扱うための予め定められたエリアに基づく位置を含む、請求項10または11に記載の制御システム。
  13.  FA(ファクトリオートメーション)の生産ラインに設けられて、対象を制御する制御装置であって、
     前記生産ラインに設けられる他の制御装置のタイマと互い時刻同期されるタイマと、
     前記他の制御装置と連係して実行される制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行する処理実行手段と、を有し、
     前記処理実行手段は、
     前記リストの前記予め定められた時期に達したと判断したとき、前記リストにおいて当該予め定められた時期に関連付けられた処理を実行する、制御装置。
  14.  FA(ファクトリオートメーション)の生産ラインに設けられる制御装置が対象を制御する方法をコンピュータに実行させるプログラムであって、
     前記制御装置は、
     前記生産ラインに設けられる他の前記制御装置のタイマと互い時刻同期されるタイマを備え、
     前記方法は、
     前記制御装置が他の制御装置と連係して実行する制御に関連した1つ以上の処理それぞれについて、当該処理を実行する予め定められた時期を含む情報が関連付けられたリストに従って当該処理を実行するステップを備え、
     前記処理を実行するステップは、
     前記リストの前記予め定められた時期に達したと判断したとき、前記リストにおいて当該予め定められた時期に関連付けられた処理を実行するステップを有する、プログラム。
PCT/JP2021/028442 2020-08-06 2021-07-30 制御システム、制御装置およびプログラム WO2022030405A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020133496A JP2022029899A (ja) 2020-08-06 2020-08-06 制御システム、制御装置およびプログラム
JP2020-133496 2020-08-06

Publications (1)

Publication Number Publication Date
WO2022030405A1 true WO2022030405A1 (ja) 2022-02-10

Family

ID=80118035

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/028442 WO2022030405A1 (ja) 2020-08-06 2021-07-30 制御システム、制御装置およびプログラム

Country Status (2)

Country Link
JP (1) JP2022029899A (ja)
WO (1) WO2022030405A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191717A (ja) * 1992-02-05 1995-07-28 Toshiba Corp 制御プログラム自動作成装置
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置
JP2019148958A (ja) * 2018-02-27 2019-09-05 富士通株式会社 情報処理装置、作業計画編集支援プログラム及び作業計画編集支援方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191717A (ja) * 1992-02-05 1995-07-28 Toshiba Corp 制御プログラム自動作成装置
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置
JP2019148958A (ja) * 2018-02-27 2019-09-05 富士通株式会社 情報処理装置、作業計画編集支援プログラム及び作業計画編集支援方法

Also Published As

Publication number Publication date
JP2022029899A (ja) 2022-02-18

Similar Documents

Publication Publication Date Title
JP5316563B2 (ja) 画像処理装置および画像処理システム
CN109709929B (zh) 控制系统
US20180164788A1 (en) Production system, controller, and control method
EP1967334B1 (en) Detection of condition changes in an industrial robot system
CN102674073A (zh) 图像处理装置及图像处理系统和引导装置
JP5760035B2 (ja) 動き予測制御付き機械視覚装置および方法
JP2010036334A (ja) 直列および/または並列配置された複数の多軸ハンドリング装置からなる複合装置の制御方法ならびにデータ記憶媒体、制御システムおよび複合装置
JP2010036334A6 (ja) 直列および/または並列配置された複数の多軸ハンドリング装置からなる複合装置の制御方法ならびにデータ記憶媒体、制御システムおよび複合装置
US20220080601A1 (en) Machine control via wireless communication
WO2017179452A1 (ja) アクチュエータ制御システム、アクチュエータ制御方法、情報処理プログラム、および記録媒体
US20210154849A1 (en) Controller for distributed devices
WO2021106467A1 (ja) 制御システム、制御装置および制御方法
CN109465817A (zh) 机器人系统、机器人控制装置和被加工物的制造方法
WO2022030405A1 (ja) 制御システム、制御装置およびプログラム
US20220247632A1 (en) Control system, control device, and non-transitory computer-readable recording medium recording program
US20200189102A1 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
US20200139551A1 (en) Robot system
Rogers et al. Automated adapting component transfer system using real-time robot control within a KUKA RobotSensorInterface environment
Liu et al. Design of a PC-based open industrial robot control system integrated with real-time machine vision
Cheng et al. Dynamic error modeling and compensation in high speed delta robot pick-and-place process
Pradhan et al. Analysis and implementation of dual pick and place operation in smart manufacturing domain
JP6972873B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
US20230405822A1 (en) A robot system and a method for monitoring a robot system
Chiou et al. Remotely adjustable robotic grip force for the network-based assembly automation
WO2024089884A1 (ja) ロボットコントローラ、及び、アップデート前後の制御ソフトウェアの比較方法

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21853451

Country of ref document: EP

Kind code of ref document: A1