WO2022185588A1 - 生産システム、方法およびプログラム - Google Patents

生産システム、方法およびプログラム Download PDF

Info

Publication number
WO2022185588A1
WO2022185588A1 PCT/JP2021/034691 JP2021034691W WO2022185588A1 WO 2022185588 A1 WO2022185588 A1 WO 2022185588A1 JP 2021034691 W JP2021034691 W JP 2021034691W WO 2022185588 A1 WO2022185588 A1 WO 2022185588A1
Authority
WO
WIPO (PCT)
Prior art keywords
production
module
work
controller
modules
Prior art date
Application number
PCT/JP2021/034691
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 WO2022185588A1 publication Critical patent/WO2022185588A1/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]

Definitions

  • the present disclosure relates to FA (Factory Automation) production systems, and in particular to systems that produce workpieces through multiple processes that constitute a production line.
  • FA Field Automation
  • FA has multiple processes, and the work flows from one process to the next to complete a product made up of the work.
  • manufacturing sites are desired to flexibly respond to changes in product production volumes or product types.
  • Patent Document 1 JP 2020-151770 A discloses a flexible manufacturing system.
  • This flexible manufacturing system includes a management device that manages the work content of each unit cell so as to be individually changeable, and a connection mechanism that connects the unit cells in a detachable manner.
  • the unloading port of one unit cell and the unloading port of the other unit cell are in close proximity or in contact with each other, and the work unloaded from the unloading port of one of the unit cells. is configured to be carried in from the inlet of the other unit cell.
  • Patent Literature 1 does not disclose a configuration for managing work work time in each unit cell.
  • One object of the present disclosure is to provide a production system that can share work time between processes in a system that produces workpieces through multiple processes.
  • a production system is a production system that produces a workpiece through a plurality of processes, each process being configured to have a plurality of production modules capable of executing the work of the process in parallel, each The production module has a controller that controls the equipment of the work.
  • a plurality of controllers provided in a plurality of production modules are networked.
  • the controller comprises means for managing the work time of the production module comprising the controller, storage means for storing an identifier of the production module comprising the controller, the module identifier including an identifier of the process comprising the production module, and and sharing means for communicating shared information, including module identifiers and working hours, over a network and sharing between controllers.
  • the production module of each process of the production system can share the work production work time with each other and each production module of its own process.
  • the controller further includes, for each process, the module identifiers of the plurality of production modules that make up the process from the module identifiers stored by the storage means and the module identifiers received from the controller connected to the network.
  • Information acquisition means for acquiring configuration information is further provided.
  • the controllers of each production module can acquire the configuration information of the production modules of the production system by communicating with each other.
  • the controller with which the sharing means communicates is each production module identified by the module identifier of the configuration information, and the controller provided in each production module of the process next to the process of the controller provided with the sharing means. include.
  • the production module of the process can share the working time with the production module of the next process shown in the configuration information.
  • the controller with which the sharing means communicates includes each production module identified by the module identifier of the configuration information, and the controller included in each production module of the process of the controller comprising the sharing means.
  • the production module of a process can share work time with other production modules of its own process indicated in the configuration information.
  • the controller further comprises work rectifying means for adjusting the flow of work from one process of the controller to the next process, and the work rectifying means, based on the configuration information, has a plurality of processes of the controller.
  • identification means for identifying a production module and a plurality of production modules of the next process; a first order, which is the order in which the work of the plurality of production modules of the process of the controller is completed; order determination means for determining a second order, which is the order in which the work is completed for the production modules, based on the work time included in the shared information.
  • the work rectifying means determines the order of the production module in the second order corresponding to the order in the first order of the production modules provided with the controller before the work is sent.
  • the controller uses configuration information and shared information to provide a first order to complete work on multiple production modules of its own process and a second order to complete work on multiple production modules of the next process. determine the order.
  • the first order and second order may provide information identifying the next process production module to be completed at the time of completion of the production module comprising the controller.
  • the shared information further includes the product type.
  • the product type indicates the type of product configured by the works that are worked on in the production module identified by the module identifier included in the shared information.
  • the production module of the process can share the product type in addition to the work time with other production modules of its own process shown in the configuration information.
  • the work rectifying means of the controller further selects, among the production modules possessed by the next process, the production module that carries out the operation of the product of the type that matches the product type of the production module provided with the controller. and the order determining means determines a second order for the one or more candidate production modules determined by the candidate determining means.
  • a production module that performs a work operation of a common product type is determined as a candidate destination for a production module equipped with a controller to send a work. Then, the candidate production modules are subjected to the second ordering, and the production module to which the work is to be sent can be determined from among the candidates according to the work completion order according to the second order.
  • the controller further comprises request means for requesting download of the work program to the controller provided in the production module to which the work is to be sent.
  • the candidate determining means further determines the work time of each of the one or more candidate production modules for the next process and the work time and download time of each of the one or more non-candidate production modules of the next process. Re-determine one or more candidates based on the total.
  • the controller determines in advance a production module that performs a work operation of a common product type as a candidate for a work flow destination among the production modules for the next process.
  • the controller re-determines candidates if non-candidate production modules performing work on a different product type are also candidates based on the sum of program download time and work time for work on a common product type. For example, if the above total time for a non-candidate production module indicates that it will complete the work faster than the original candidate production module's time for work, the controller will re-determine the candidate, i.e., non-candidate.
  • the existing production module is determined as the work flow destination.
  • the controller further comprises request means for requesting download of the work program to the controller provided in the production module to which the work is to be sent.
  • the work rectifying means of the controller does not include a production module for the production module of the next process of the process of the controller, the production module that performs the work of the product of the type that matches the product type of the production module equipped with the controller, the request Causes the means to request the download of programs for working with products of that type.
  • the controller when it is determined that a production module that carries out work on a product of a different type from the product type of the production module provided with the controller is the destination of the workpiece, the controller performs the following operations so that production can continue. It is possible to request that a program for work be downloaded to the production module to which the work is to be sent.
  • a method according to an example of the present disclosure is a method implemented in a production system that produces works through multiple processes.
  • Each process is configured to have a plurality of production modules capable of executing the work of the process in parallel, each production module comprises a controller for controlling work equipment, and a plurality of controllers provided in the plurality of production modules are networked.
  • the method comprises the steps of: a processor provided in a controller managing time for work of a production module provided with the controller; and an identifier of the production module provided with the controller, the module identifier including an identifier of a process having the production module. and communicating shared information, including module identifiers and times of work, over a network to be shared among controllers.
  • the production module of each process of the production system can share the work production work time with each other and each production module of its own process.
  • An example of the present disclosure provides a program for causing a processor to execute the method described above.
  • 4 is a diagram showing an example of configuration information 125 according to the embodiment; FIG.
  • FIG. 2 is a diagram schematically showing an example of pub/sub communication according to the present embodiment
  • FIG. FIG. 4 is a diagram showing an example of a flowchart of work rectification logic 123 according to the present embodiment.
  • FIG. 9 is a diagram showing another example of a flowchart of work rectification logic according to the present embodiment
  • FIG. 10 is a diagram showing another example of a shared data set according to the embodiment
  • FIG. 10 is a diagram showing still another example of a flowchart of work rectification logic according to the present embodiment
  • FIG. 1 is a diagram schematically showing an outline of a production system 1 according to the embodiment.
  • the PLC corresponds to an industrial controller that controls arbitrary controlled objects (for example, FA manufacturing equipment and facilities).
  • One or more field devices are connected to the PLC.
  • Each of the one or more field devices exchanges information between an actuator that exerts some physical action on a production line including a production process (hereinafter also collectively referred to as "field") and the field. Including input/output devices.
  • Production module is a concept that includes hardware such as field devices and control devices that operate related to work 230, and programs and data software such as UPG (User Program) that is a program related to control of field devices. be.
  • UPG User Program
  • the production system 1 of FIG. 1 includes, for example, a screw tightening process 31, a soldering process 32, and an assembly process 33, and the work 230 goes through (flows through) these processes in this order to manufacture a product.
  • a process corresponds to a classification (type) of work when a plurality of types of work are performed on the work 230 by field devices.
  • the types and number of processes included in the production system 1 are not limited to these, and may vary according to the types of products to be produced or product specifications.
  • Each process has multiple production modules that perform the same type of work on the workpiece 230 . More specifically, the screw tightening process 31 comprises production modules 3A1, 3A2 and 3A3, the soldering process 32 comprises production modules 3B1, 3B2 and 3B3, and the assembly process 33 comprises production modules 3C1, 3C2 and 3C3.
  • the screw tightening process 31 comprises production modules 3A1, 3A2 and 3A3
  • the soldering process 32 comprises production modules 3B1, 3B2 and 3B3
  • the assembly process 33 comprises production modules 3C1, 3C2 and 3C3.
  • a plurality of production modules that perform the same work on the workpiece 230 operate in parallel.
  • the number of production modules that make up each step may increase or decrease, for example, according to the production volume of products.
  • the production modules 3A1, 3A2 and 3A3 respectively include PLC2A1, PLC2A2 and PLC2A3, and PLC2A1, PLC2A2 and PLC2A3 respectively include field device 5A1, field device 5A2 and field device 5A3.
  • Production module 3B1, production module 3B2 and production module 3B3 comprise PLC2B1, PLC2B2 and PLC2B3 respectively, and PLC2B1, PLC2B2 and PLC2B3 comprise field device 5B1, field device 5B2 and field device 5B3 respectively.
  • Production module 3C1, production module 3C2 and production module 3C3 comprise PLC2C1, PLC2C2 and PLC2C3 respectively, and PLC2C1, PLC2C2 and PLC2C3 comprise field device 5C1, field device 5C2 and field device 5C3 respectively.
  • each production module is an example of one industrial robot, but the type and number of field devices are not limited to this. Also, the type and number of field devices included in a production module may differ between processes.
  • the work 230 is transported by the work transport device 300.
  • the work transfer device 300 Upon receiving the transfer command 310 , the work transfer device 300 transfers the work 230 from one process to another process according to the transfer command 310 .
  • the work 230 is transported from one process to the next process to which the work 230 is passed.
  • the workpiece 230 is received and work on the workpiece 230 is performed.
  • a plurality of production modules in each process are connected to the network 22 and communicate with each other via the network 22 and the switch 21.
  • the switches 21 corresponding to each process (indicated by switches 21A, 21B and 21C in the figure) are connected to a network 22D.
  • all PLCs of the production system 1 are connected to a common network, namely the switch 21, the network 22 and the network 22D, and communicate with each other.
  • server 190 is connected to the switch 21 of each process via the network 23A. All PLCs of production system 1 communicate with server 190 via switch 21, network 22 and network 23A.
  • the server 190 connects a storage 191 storing multiple types of UPGs. Upon receiving a later-described request 135 via the network 23A, the UPG distribution unit 192 of the server 190 retrieves the UPG specified by the request 135 from the storage 191 and distributes (downloads) it.
  • EtherCAT registered trademark
  • EtherNet/IP registered trademark
  • general-purpose Ethernet which is an industrial open network in which a control protocol is implemented on general-purpose Ethernet (registered trademark)
  • the protocol of the network 22D and the protocol of the network 22 may be the same or different.
  • general-purpose Ethernet or the like is used in order to ensure diversity of the server 190 to be connected. By adopting general-purpose Ethernet, restrictions such as the amount of data that can be transmitted can be eliminated.
  • the production modules 3A1, 3A2, 3A3, 3B1, 3B2, 3B3, 3C1, 3C2 and 3C3 are collectively referred to as production module 3.
  • PLCs 2A1, 2A2, 2A3, 2B1, 2B2, 2B3, 2C1, 2C2 and 2C3 they are collectively referred to as PLC2.
  • field devices 5A1, 5A2, 5A3, 5B1, 5B2, 5B3, 5C1, 5C2 and 5C3 the field devices 5 are collectively referred to.
  • the PLC 2 executes a control-related program including a sequence program for realizing sequence control or a motion program for realizing motion control of the field device 5 connected to the PLC 2 at a predetermined cycle (this is called a control Real-time control of the field device 5 is realized by executing it every period.
  • the timers of the PLCs 2 provided in the production system 1 are time-synchronized between the PLCs 2, and the PLCs 2 manage control cycles based on the time-synchronized timers.
  • the user measures the required time for each production module 3 from the time the production module 3 starts work on the workpiece 230 to the time the work is completed, and the PLC 2 of the production module 3 set as "set work time”.
  • the PLC 2 of the production module 3 measures the actual work time, which is the elapsed time from the start of work on the workpiece 230, as the "actual work time”, and the "set work time” and the “actual work time”. The difference from the "work time” is calculated as the "remaining time” until the work is completed.
  • the "set work time” is different from each other, and the “actual work time” is different from each other. ' may be the same, the 'remaining time' may be different.
  • the "work time” indicates the time related to the production work of the work 230 including the "set work time”, “actual work time” and “remaining time”.
  • the "work time” is managed in units of seconds, for example. Note that the "work time” is not limited to management in real time, and may be managed in units of control cycles, for example.
  • a process in which a certain production module 3 is provided is also referred to as “own process” in order to distinguish it from other processes. It is also called “self-produced module 3".
  • PLC2 has the processor 102 mentioned later, in order to distinguish PLC2 which has a certain processor 102 from other PLC2, it is also called “own PLC2.”
  • the production module 3 uses the process module 127 to generate work rectification logic that adjusts the work flow from one process to the next process (step S3).
  • Work commutation logic is an example of a work commutation means.
  • the PLC 2 of the production module 3 is an identifier of the production module 3 in which the PLC 2 is provided, and the module ID including the identifier of the production module 3 is transferred to the other production modules 3 provided in the production system 1. communicates with the PLC2 of The PLC 2 acquires configuration information for identifying each process and a plurality of production modules 3 that constitute the process, based on the exchanged module ID (step S1).
  • the PLC 2 generates a dataset definition 207 based on the configuration information (step S2). More specifically, the PLC 2 includes a set of shared data to be shared among the production modules 3 including the module ID of each production module 3 of the production system 1 and the "work time" of the production module 3. Generate dataset definition 207 .
  • the PLC 2 generates work rectification logic (step S3).
  • the work rectification logic is implemented, for example, by creating an instance from a class, but the implementation method is not limited to this.
  • the PLC 2 exchanges data to be shared with other network-connected PLCs 2 according to the data set definition 207.
  • the PLC 2 of the production system 1 shares the "work time" of the production module 3 that constitutes each process.
  • the PLC 2 autonomously controls the work flow by executing work rectification logic. More specifically, the PLC 2 identifies the multiple production modules 3 of its own process and the multiple production modules 3 of the next process based on the configuration information. Next, the first order, which is the order of completing the work for the multiple production modules 3 of the own process, and the second order, which is the order of completing the work for the multiple production modules 3 of the next process, are shared. The determination is made based on the "work time" of each production module 3 that performs the work. The PLC 2 determines the production module 3 having the order in the second order, which corresponds to the order in the first order of the self-manufactured modules, to which the works 230 are to be sent from the self-manufactured module.
  • the shared “work time” is typically “remaining time”, but it may be “set work time” and "actual work time”.
  • the PLC 2 calculates the "remaining time” for the production module 3 from the "set work time” and the "actual work time” of the production module 3. can be shared with
  • FIG. 2 is a diagram showing an example of the hardware configuration of the PLC according to this embodiment.
  • PLC 2 includes processor 102, chipset 104, upper network controller 105, main storage device 106, key 107, secondary storage device 108, memory card interface 109, field network It includes a controller 118, a timer 119, and a wireless I/F (abbreviation of Interface) 311 including a wireless communication circuit.
  • a wireless I/F (abbreviation of Interface) 311 transmits a transfer command 310 to the work transfer device 300 .
  • the processor 102 is composed of a CPU (Central Processing Unit), MPU (Microprocessor unit), GPU (Graphics Processing Unit), etc., reads various programs stored in the secondary storage device 108, and expands them to the main storage device 106. By executing the command, control according to the controlled object and various processes described later are realized.
  • the secondary storage device 108 is configured by, for example, a non-volatile storage device such as a HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the main memory device 106 is composed of a volatile memory device such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory).
  • the chipset 104 realizes the processing of the PLC 2 as a whole by controlling the processor 102 and each device.
  • the upper network controller 105 exchanges data with other PLCs 2 or servers 190 via the network 22 .
  • a key 107 is operated by a user to accept a user's operation on the PLC 2 .
  • the operation unit is not limited to keys as long as it can accept user operations.
  • the memory card interface 109 is configured such that the memory card 116 can be attached/detached, and data can be written to the memory card 116 and various programs or data can be read from the memory card 116 .
  • the timer 119 is used as a time reference for managing the time or execution timing of various processes in the PLC 2.
  • the timer 119 can manage the time synchronized with the other PLC 102 , and the PLC 2 sets the control cycle based on the output of the timer 119 .
  • the timer 119 is an example of a means for managing the "work time" of the production module 3 provided with the PLC 2 . Of the "work time” managed by timer 119, remaining time 201 and actual work time 202 can be stored in main memory 106 for processing.
  • the field network controller 118 controls data exchange with other devices including the field device 5 via the network 101 .
  • the field device 5 is an industrial robot and includes, for example, a robot controller 51 that drives motors 52 according to commands from a motor motion program.
  • the secondary storage device 108 contains a system program 110 for realizing basic functions, and a UPG group 121 containing one or more user programs created according to the field device 5 of the manufacturing device or facility to be controlled. , a process program 122 that realizes the process module 127 by being executed, and a UPG request program 120 that transmits a UPG request 135 to the server 190 are stored. Secondary storage device 108 further stores workpiece rectification logic 123, definition file 124, configuration information 125 indicating the configuration of production system 1, and class data 126 indicating classes for generating workpiece rectification logic 123. do.
  • the secondary storage device 108 further includes a shared data set 203, a process ID 204 that is the identifier of the process in which the PLC 2 is provided, a controller ID 205 that is the identifier of the PLC 2, and the set work time of the production module 3 in which the PLC 2 is provided. 206 are stored.
  • the data to be shared (remaining time 201), the order 136 described later, the process ID 204, and the set work time 206 are set based on the user's operation of the key 107, for example.
  • the controller ID 205 indicates, for example, a communication address such as the IP (Internet Protocol) address of the PLC 2, but is not limited to this.
  • the main storage device 106 stores the actual work time 202 measured using the timer 119 and the remaining time 201 calculated from the set work time 206 and the actual work time 202 while the production system 1 is in operation.
  • FIG. 2 shows a configuration example in which necessary functions are provided by the processor 102 executing a program.
  • the main part of the PLC 2 may be realized using hardware conforming to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • virtualization technology may be used to run multiple OSs (Operating Systems) for different purposes in parallel, and to run necessary applications on each OS.
  • FIG. 3 is a diagram showing the software configuration of the PLC 2 according to this embodiment.
  • the screw tightening process 31 will be referred to as process A
  • the soldering process 32 will be referred to as process B
  • the assembly process 33 will be referred to as process C for the sake of explanation.
  • the PLC 2 includes a process module 127.
  • PLC 2 further includes definition file 124 , configuration information 125 , class data 126 , shared data set 203 , work rectification logic 123 , and UPG group 121 as information related to process module 127 .
  • the UPG group 121 includes UPGs having control programs for the field devices 5 .
  • the UPG group 121 includes the UPG 12A that realizes the work for the process A.
  • UPG group 121 includes downloaded UPG 12B, UPG 12C, etc., if the UPG is downloaded from server 190 during operation.
  • the UPG 12B or UPG 12C downloaded from the server 190 includes a program for controlling the field device 5 to work on a different type of product than the work 230 on which the production module 3 having the PLC 2 works.
  • the process module 127 includes a user setting module 128, a configuration acquisition module 129 that acquires the configuration information 125, a data communication setting module 130 that sets communication for acquiring the shared data set 203, and a class indicated by the class data 126. It includes a logic generation module 131 that generates an instance of work commutation logic 123 and a UPG request module 133 that outputs a request 135 to server 190 .
  • Request 135 includes content requesting server 190 to download the UPG to the specified production module 3 .
  • the work rectification logic 123 implements the modules of the candidate determining unit 17, the identifying unit 18, and the order determining unit 19 by being executed.
  • the processor 102 Based on the configuration information 125, the processor 102, as the identification unit 18, identifies the plurality of production modules 3 of its own process and the plurality of production modules 3 of the next process.
  • the processor 102 as the order determination unit 19 , determines the order of completing the work based on the remaining time 201 of each production module 3 included in the shared data set 203 . More specifically, the processor 102 determines the first order, which is the order in which the work is completed, based on the remaining time 201 for the plurality of production modules 3 of its own process.
  • the second order which is the order in which the work is completed, is determined based on the remaining time 201 .
  • the processor 102 determines that the work completion order of the production module 3 is the first, that is, the first.
  • the processor 102 determines the order of the production module 3 in the second order corresponding to the order in the first order of the own production module 3 before the work 230 is to be sent. For example, when it is determined that the own production module 3 has completed the work first in its own process, the production module 3 that is judged to complete the work first in the next process receives the work 230 from the own production module 3. It is determined as the destination of the flow. Further, when it is determined that the own production module 3 completes the work second in its own process, the production module 3 that is judged to complete the work second in the next process transfers the work 230 from the own production module 3. determined first.
  • the user setting module 128 stores the definition file 124, the process ID 204, and the set work time 206 in the secondary storage device 108 according to the user setting 132 based on the user's operation of the keys 107.
  • the definition file 124 includes a dataset definition 207 and an order 136, which will be described later.
  • Order 136 indicates the order relationship of multiple steps.
  • Order 136 indicates, for example, the relative order of each step.
  • the order of each process is indicated by a process ID, and in this embodiment, the order 136 indicates, for example, process A ⁇ process B ⁇ process C.
  • FIG. 1 A ⁇ process B ⁇ process C.
  • FIG. 4 is a flowchart of processing of the process module 127 according to this embodiment.
  • FIG. 5 is a diagram showing a modified example of the process of the production system 1.
  • the production system 1 of FIG. 1 is changed by deleting the production module A3 and the production module C3, as shown in FIG. 5, for example.
  • the process module 127 is activated and the processing of FIG. 4 is executed. The processing at the time of configuration change will be described with reference to FIG.
  • FIG. 4 inputs and outputs between a user such as a leader or person in charge at the manufacturing site and the process module 127 are shown in relation to the processing of the process module 127 .
  • the processor 102 sets the sequence 136 in the definition file 124 based on the user setting 132, and also sets the process ID 204 that identifies the own process and the set work time 206.
  • the processor 102 recognizes the configuration of the production system 1 by exchanging module IDs with other PLCs 2, and acquires the configuration information 125 based on the recognition result (step S1).
  • Processor 102 as data communication setting module 130, also generates dataset definition 207 for acquiring shared dataset 203 (step S2). The details of creating the configuration information 125 and the shared data set 203 will be described later.
  • the processor 102 as the logic generation module 131, generates the work rectification logic 123, which is an instance, from the class of the class data 126 (step S3).
  • Processor 102 configures work commutation logic 123 to run periodically.
  • Processor 102 outputs a notification of completion of preparation (step S4).
  • the user receives the output notification (step T3), the user activates each PLC 2, feeds the workpiece 230, and causes the production system 1 to start manufacturing the product (step T5).
  • FIG. 6 is a flow chart showing an example of processing for creating configuration information and defining data set 207 according to this embodiment.
  • the processing executed by the PLC 2 of process A will be described, but the processing of FIG. 6 is similarly executed by each PLC 2 of each process of the production system 1.
  • the sequence 136 of PLC2 indicates process A ⁇ process B ⁇ process C.
  • each production system 1 has an independent network domain, and the PLC 2 in the production system 1 does not communicate with the external PLCs 2 of process A, process B, and process C.
  • the processor 102 broadcasts a frame containing a module ID including a process ID 204 identifying its own process and a controller ID 205 of an IP address identifying its own PLC 2 and attributes (step S11).
  • This attribute contains "time of work”.
  • the attribute may include the product type of the work 230 that the own production module 3 works on, as will be described later.
  • the broadcast module ID includes, for example, a set of (process ID 204: A and IP address: 192.168.250.11).
  • the other production modules 3, that is, the PLCs 2 of the production modules 3 of the other processes B, C, and own process A receive the broadcast frame (step S10).
  • the processor 102 determines whether a predetermined waiting time has passed since the frame was broadcast (step S12). When the waiting time has not passed yet (NO in step S12), the processor 102 waits and repeats step S12. The waiting time is based on the time until the frames broadcast from the PLCs 2 of the other production modules 3 can be completely received.
  • the processor 102 determines that the waiting time has elapsed (YES in step S12)
  • the processor 102 analyzes the frame data broadcast by its own PLC 2 and the frame data received from the PLCs 2 of other production modules, Based on this, the configuration information 125 is generated (step S13).
  • FIG. 7 is a diagram showing an example of the configuration information 125 according to this embodiment.
  • Processor 102 receives the broadcast frame and parses the module ID of the received frame to recognize the configuration. More specifically, the processor 102 classifies the module ID into groups for each process indicated by the order 136 based on the process ID 204 of the module ID, and for each classified group (each process), The module IDs are arranged in ascending order or descending order of the numerical values of the IP addresses of the module IDs, for example, numbers 1, 2, 3, . . . Thereby, the configuration information 125 as shown in FIG. 7 is acquired.
  • the configuration information 125 includes, for each production module 3, the IP address 1341 of the PLC 2 indicated together with the process ID 204 of the production module 3 and the module ID 71.
  • the processor 102 acquires the data sharing PLC (step S13a). More specifically, the processor 102 searches the configuration information 125 based on the process ID 204 of its own PLC 2 and acquires the module ID 71 of the production module 3 of its own process. Also, the processor 102 determines the process ID of the next process from the order 136 and the process ID 204 of its own PLC 2, searches the configuration information 125 based on the determined process ID, and based on the search result, determines the module of the next process. Acquire ID 71. The processor 102 defines the acquired multiple module IDs 71 of its own process and the next process as a shared module ID group 134 (FIG. 7) having data (attributes such as work time) for realizing work rectification. .
  • the processor 102 defines the shared data set 203 as the data communication setting module 130 (step S14). More specifically, the processor 102 generates a data set definition 207 consisting of the production modules 3 that share data for realizing workpiece commutation and the data to be shared.
  • the processor 102 implements communication for exchanging defined data between the defined production modules 3 according to the data set definition 207 and acquires the shared data set 203 .
  • the processor 102 functions as a data communication setting module 130, and is called a tag data link that exchanges data with other PLCs 2 in the production system 1 using the EtherNet/IP communication protocol.
  • establish a connection with Each PLC 2 can identify the connection destination of the PLC 2 and the content of data to be exchanged by acquiring the setting of the established connection.
  • the setting of the tag data link connection includes the definition of a tag or a tag set that defines the address of the device to be connected, the data to be transmitted, and the like.
  • the tag set definition includes, for example, the dataset definition 207 .
  • FIG. 8 is a diagram showing an example of the shared data set 203 according to this embodiment.
  • the shared data set 203 of FIG. 8 includes, for each production module 3 of the production system 1, a module ID 71 that identifies the production module 3 and a remaining time 201 that is an example of work time as shared data.
  • the method of sharing data between the production modules 3 of the production system 1 is not limited to the tag data link method.
  • communication according to a publish-subscribe type communication protocol that does not require connection establishment between the PLCs 2 can be applied to the communication between the PLCs 2 via the network.
  • communication according to the publish/subscribe type communication protocol of OPC UA OPC Unified Architecture
  • FIG. 9 is a diagram schematically showing an example of pub/sub communication according to this embodiment.
  • the production module (PLC2) indicated by a thick frame indicates the publisher on the sending side that creates (generates) data for transmission and sends it, and the production module (PLC2) indicated by a thin frame is transmitted from the publisher.
  • the production module (PLC2) indicated by a thin frame is transmitted from the publisher.
  • the data communication setting module 130 of the PLC 2 includes subscriber and publisher modules (not shown), which operate in parallel.
  • the data of the own production module 3 can be transmitted to the PLC 2 of the other production module 3, and the data transmitted from the PLC 2 of the other production module 3 can be received.
  • the data (remaining time 201) defined to be shared among the production modules 3 can be shared.
  • product types 73 that identify products to be manufactured in addition to remaining time 201 are shown as shared data. Although the product type 73 is not essential as data to be shared, it is used to determine the destination of the workpiece. Processing using the product type 73 will be described later.
  • each PLC 2 can maintain the shared data set 203 so as to indicate the latest remaining time 201 for each production module 3. .
  • Communication for data sharing is not limited to broadcast communication with all production modules 3 of the production system 1, and may be communication with a specific communication partner. For example, it may be multicast with the production module 3 indicated by the shared module ID group 134 as the communication partner.
  • production system 1 uses TSN (Time-Sensitive Networking) to guarantee time synchronization and communication arrival time between production modules 3. You may do so.
  • TSN Time-Sensitive Networking
  • FIG. 10 is a diagram showing an example of a flowchart of the work rectification logic 123 according to this embodiment.
  • the processor 102 of the PLC 2 repeatedly executes the work rectification logic 123 .
  • the processor 102 determines that the own production module 3 is the first module to complete the work first among the plurality of production modules 3 provided in the own process. It is determined whether there is (step S21).
  • the processor 102 identifies the plurality of production modules 3 provided in its own process from the shared module ID group 134 based on the process ID 204 .
  • the processor 102 searches the shared data set 203 for the remaining time 201 corresponding to the module ID 71 of each of the plurality of identified production modules 3, and retrieves the remaining time 201 of each found production module 3. , it is determined whether the remaining time 201 of the own production module 3 is the shortest.
  • the processor 102 determines that the self-produced module 3 is the first module that completes the work first when the remaining time of the self-produced module 3 is the shortest.
  • the processor 102 determines the first order, which is the order to complete the work, for the plurality of production modules 3 based on the remaining time 201 of each production module 3, and selects the self-production modules 3 from the first order. is the earliest module.
  • step S21 If the processor 102 does not determine that the self-manufacturing module 3 completes the work first (NO in step S21), it repeats step S21. It is determined whether or not there is a waiting production module 3 in the process (step S23).
  • the processor 102 identifies the process ID of the next process from the order 136 based on the process ID 204 of the own process.
  • the processor 102 as the identification unit 18, identifies the plurality of production modules 3 provided in the next process from the shared module ID group 134 based on the identified process ID of the next process.
  • the processor 102 as the order determination unit 19, searches the shared data set 203 for the remaining time 201 corresponding to the module ID 71 of each of the specified plurality of production modules 3. Based on the search result, the remaining time 201 is zero, that is, the work It is determined whether there is a production module 3 waiting for .
  • the second order which is the order of completing the work, may be determined based on the remaining work time 201 included in the shared data set 203 for the multiple production modules 3 of the next process.
  • step S23 If the processor 102 does not determine that there is a waiting production module 3 in the next process (NO in step S23), it repeats step S23. ), the production module 3 determined to be in the waiting state is selected as the destination of the workpiece 230 (step S24).
  • the first production module 3 in the second order that is, the production module 3 that can complete the earliest similar work and be in a waiting state is determined, and the work 230 is sent to.
  • the processor 102 selects the production module 3 in the order corresponding to the order in the first order (first first order) of the own production module 3 and in the second order (first first order) as follows:
  • the destination of the workpiece 230 can be selectively determined.
  • the processor 102 transmits a transfer command 310 indicating the destination of the work 230 to the work transfer device 300 via the wireless I/F 311 (step S35).
  • step S35 the processor 102 sets the module ID 71 of the own production module 3 and the module ID 71 of the production module 3 to which the workpiece 230 is to be transferred in the transfer command 310.
  • the transport command 310 is not limited to the module ID 71, and may be set with location information of the own production module 3 and the destination production module 3 in the factory.
  • the position information can be obtained by converting the module ID 71 into position information using a lookup table, but the method of obtaining the position information is not limited to this.
  • FIG. 11 is a diagram showing another example of the flowchart of the work rectification logic according to this embodiment.
  • FIG. 12 is a diagram showing another example of the shared data set according to this embodiment.
  • the production system 1 described above is configured so that all of the production modules 3 work on the same type of product, but may be configured to be able to work on different types of products.
  • the processor 102 uses the shared data set 213 of FIG. 12 to execute the work commutation logic 123a of FIG.
  • Shared data set 213 of FIG. 12 includes product type 73 associated with module ID 71 in addition to data of shared data set 203 of FIG.
  • the product type 73 indicates to which type of product the work of the production module 3 identified by the corresponding module ID 71 is applied.
  • the product types 73 are three types, type 1, type 2, and type 3, but the number of types is not limited to three.
  • a product type 73 is set in the production module 3 by the user setting 132 .
  • the user setting module 128 stores the product type 73 indicated by the user setting 132 in the secondary storage device 108, for example.
  • the product type 73 may include a type that conforms to standard product specifications, a type that conforms to optional specifications, and the like, but is not limited to these types.
  • processor 102 of PLC 2 determines whether self-manufactured module 3 is the first module to complete the work first (step S21). This determination is the same as the determination in step S21 of FIG. 10, so the description will not be repeated. If it is not determined to be the earliest module (NO in step S21), step S21 is repeated.
  • step S21 If it is determined to be the earliest module (YES in step S21), the processor 102 selects the same product type 73 (hereinafter referred to as specific type) as the own production module 3 among the plurality of production modules 3 in the next process. (step S22).
  • specific type the same product type 73
  • the processor 102 identifies the process ID of the next process from the order 136 based on the process ID 204 of its own process.
  • the processor 102 identifies the plurality of production modules 3 provided in the next process from the shared module ID group 134 based on the process ID of the next process.
  • Processor 102 executes step S22 as candidate determination unit 17 . More specifically, the processor 102 searches the shared data set 213 for the product types 73 corresponding to the module IDs 71 of the plurality of production modules 3 identified by the identifying unit 18, and identifies the searched product types 73 and the Match with the specific type of PLC2. When the collation result indicates a match, the processor 102 determines that the production module 3 that performs the work of the same product type 73 as the own production module 3 is in the next process (YES in step S22), and proceeds to step S25 described later. Transition.
  • the processor 102 determines that the production module 3 that performs the work of the same product type 73 as the own production module 3 is not in the next process (NO in step S22). At this time, in order to continue the production of the specific type of product, the processing shifts to the process of downloading the UPG for working on the specific type of product to the production module 3 of the next process.
  • step S23 the processor 102 determines whether there is a waiting production module 3 in the next process. If it is not determined that there is a waiting production module 3 in the next process (NO in step S23), the process returns to step S22.
  • the production module 3 determined to be in the waiting state is selected as the destination of the flow (step S24), and the process proceeds to step S29.
  • the processing of steps S23 and S24 is the same as the processing of FIG. 10, and details thereof will not be repeated.
  • step S29 the processor 102, as the UPG request module 133, notifies the server 190 of the UPG download request 135 (step S29). After that, the process proceeds to step S35.
  • This request 135 includes the IP address 1341 of the production module 3 selected in step S24 and the specific type (product type 73 of the own production module 3).
  • the server 190 searches the storage 191 for a UPG corresponding to the specific type of the received request 135 and distributes it to the PLC 2 addressed to the IP address 1341 of the request 135 concerned.
  • the storage 191 stores UPG for each product type 73 .
  • the processor 102 of the PLC 2 of the production module 3 selected in step S24 installs the UPG downloaded from the server 190 into the secondary storage device 108 and executes it. As a result, the production module 3 selected in step S24 can work on the specific type of product.
  • step S25 the processor 102, as the order determination unit 19, determines whether the production module 3 determined in step S22 is in a waiting state based on the remaining time 201 corresponding to the production module 3 in the shared data set 213. (Step S25). When it is determined that the production module 3 determined in step S22 is in the waiting state (YES in step S25), the processor 102 executes step S27 and step S35 described with reference to FIG. The processing of step S27 is the same as the processing of step S24 in FIG. As a result, the transport command 310 for transporting the work 230 to the production module 3 determined in step S24 is output from the own production module 3 .
  • step S22 determines whether the production module 3 determined in step S22 is not determined to be in the waiting state (NO in step S25).
  • the processor 102 selects the candidate production module 3 output in step S22 as Either the destination of the work 230 is determined (YES in step S25), or the candidates for the destination are re-determined (step S26).
  • the processor 102 selects the production module 3 that performs the work of the product type 73 different from that of the self-production module 3. Candidates are re-determined from among them (step S26).
  • a threshold time is used in the determination of re-determination of candidates in step S26.
  • the threshold time indicates (remaining time 201 of one or more non-candidate production modules 3 for the next process that completes work first+UPG download time).
  • the UPG download time is the time from notification of the request 135 to completion of the UPG download, and the processor 102 acquires the download time in advance.
  • the processor 102 calculates the sum of the remaining time 201 of the non-candidate production module 3 of the next process of the shared data set 213 to the remaining time 201 of the earliest module and the UPG download time as the threshold time. do.
  • the processor 102 compares the remaining time 201 of the candidate production module 3 determined in step S22 with the threshold time, and as a result of the comparison, determines that the remaining time 201 of the candidate production module 3 is shorter than the threshold time ( YES at step S26), and returns to step S25.
  • step S26 the processor 102 selects the non-candidate production module 3 of the next process as a candidate to which the workpiece 230 is to be sent.
  • the production module 3 whose work is completed first is determined again (step S28), and the process proceeds to step S29.
  • the production module 3 that carries out the work of the same product type 73 as the self-production module 3 is determined as a candidate to which the work 230 is sent (YES in step S22). If the work has not been completed, candidates are re-determined from among the production modules 3 that carry out the work of the product type 73 different from that of the own production module 3 (step S26). In re-determining the candidate, if the processor 102 determines the production module 3 that completes the work earlier than the candidate even if the UPG download time is allowed (NO in step S26), the processor 102 replaces the candidate determined in step S22. , the production module 3 is finally determined as the destination of the work 230 (step S28).
  • FIG. 13 is a diagram showing still another example of the flowchart of the work rectification logic according to this embodiment.
  • the work rectification logic 123b of FIG. 13 is configured such that, like the work rectification logic 123a, the production module 3 can work with different types of products, except for the processing of steps S26 and S28 of the work rectification logic 123a. including other processing. Since these other processes are the same as those of the work rectification logic 123a, description thereof will not be repeated.
  • the work rectification logic 123b can reduce the network load due to download compared to the work rectification logic 123a.
  • the cases in which the UPG is downloaded in the work rectification logic 123a are case 1 where there is no candidate production module 3 in the next process (NO in step S22), and even if there are candidates, Case 2 (NO in step S26, step S28) is included where there is another production module 3 (a production module 3 performing work on a work of a different product type 73) that will soon be ready to accept a work.
  • the work rectification logic 123b has a configuration in which the processing of steps S26 and S28 is omitted and the downloading of case 2 is not performed. Therefore, the network load of the production system 1 can be reduced.
  • step S21 of the work rectification logic when the processor 102 determines that the self-manufactured module 3 is the first module, the first module of the next process is determined as the destination of the work 230, but the determination order is the first. It is not limited to (No. 1). More specifically, the processor 102 determines in which order the own production module 3 completes the work among the production modules 3 of its own process according to the first order described above. The processor 102 identifies, according to the second order, the production modules 3 that complete the work in the same order as the order determined in the first order among the production modules 3 of the next process, and determines the destination of the work flow. do. For example, when the processor 102 determines that the own production module 3 completes the work second, the processor 102 may select the production module 3 that completes the work second in the next process as the destination of the work.
  • FIG. 14 is a diagram showing an example of a work transfer device 300 according to this embodiment.
  • the work conveying device 300 conveys the work 230 according to the conveying command 310 .
  • the work transfer device 300 includes a belt conveyor, a robot arm 301 shown in FIG. 14(A), an AGV (Automatic Guides Vehicle) 302 shown in FIG. 14(B), and a drone 303 shown in FIG. 14(C).
  • the work conveying device 300 is not limited to these, and may be, for example, an AMR (Autonomous Mobile Robot).
  • the robot arm 301 realizes pick-and-place operations. More specifically, robotic arm 301 comprises a robotic controller and a plurality of arms. The robot controller determines the movement trajectory of the arm according to the transport command 310, and controls the motors provided at the joints of the arm according to the determined movement trajectory. As a result, the robot arm 301 picks up the work 230 from the production module 3 at the starting position, moves the arm to the production module 3 at the arrival position while picking, and places the work 230 on the production module 3 .
  • the AGV 302 moves while scanning the magnetic tape pasted on the floor. Information on the position where the magnetic tape is attached is recorded on the magnetic tape. The AGV 302 compares the information on the departure position and the arrival position indicated by the transport command 310 with the information obtained by scanning the magnetic tape, and moves based on the result of the comparison. As a result, the AGV 302 moves from the production module 3 at the departure position to the production module 3 at the arrival position, and conveys the work 230 .
  • the drone 303 moves using, for example, induction radio waves.
  • each production module 3 transmits a radio signal containing position information of its own module.
  • the drone 303 collates the information of the departure position and the arrival position of the transport command 310 with the position information of the radio signal received from each production module 3, flies based on the collation result, and flies from the production module 3 at the departure position to the arrival position.
  • the workpiece 230 is transported to the production module 3 of .
  • the AMR or drone 303 may move using positioning technology using 5G (5th generation mobile communication).
  • the processor 102 of the PLC 2 provides an environment for generating the work rectification logic 123 by executing the process program 122 .
  • the secondary storage device 108 can store various programs including the process program 122 and data for realizing the environment.
  • Various programs and data including the process program 122 that realizes the environment for generating the work rectification logic 123 may be downloaded to the secondary storage device 108 via the host network controller 105 and various communication lines. Alternatively, it may be downloaded to secondary storage device 108 via memory card 116 .
  • the memory card 116 stores information such as programs by electrical, magnetic, optical, mechanical or chemical action so that computers, other devices, machines, etc. can read the information such as programs. It is a medium to
  • a program can be executed by one or more processor circuits such as the processor 102, or by a combination of processor circuits and circuits such as ASIC (Application Specific Integrated Circuit) and FPGA (Field-Programmable Gate Array).
  • processor circuits such as the processor 102
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the controller is means (119) for managing the working time (201, 202, 206) of the production module comprising the controller; storage means (108) for storing a module identifier (71) which is an identifier of the production module comprising the controller and which includes an identifier of a process having the production module; a sharing means (207, 130) for communicating shared information including the module identifier and the working time via the network and sharing it among controllers.
  • the controller further Configuration information (125) including module identifiers of the plurality of production modules constituting the process for each of the processes, based on the module identifier stored by the storage means and the module identifier received from the controller connected to the network.
  • the production system according to configuration 1 further comprising information acquisition means (129) for acquiring the .
  • the controller with which the sharing means communicates 3.
  • the production system according to configuration 2 comprising a controller included in each production module identified by the module identifier of the configuration information, the controller being included in each production module having a step subsequent to the step of the controller including the sharing means.
  • the controller with which the sharing means communicates 4.
  • the production system comprising a controller included in each production module identified by the module identifier of the configuration information, the controller being included in the process of the controller comprising the sharing means.
  • the controller further Work rectification means (123, 123a, 123b) for adjusting the work flow from the process of the controller to the next process,
  • the work rectifying means is identification means (18) for identifying a plurality of production modules possessed by the process of the controller and a plurality of production modules possessed by the next process, based on the configuration information;
  • a first order which is the order in which work is completed for the plurality of production modules of the process of the controller, and a second order, which is the order in which the work is completed for the plurality of production modules of the next process, are stored in the shared information.
  • the production system according to configuration 2 wherein the production module having the order in the second order corresponding to the order in the first order of the production modules having the controller is determined before the work is transferred.
  • the shared information further includes a product type (73); 6.
  • the work rectifying means of the controller further comprises: Among the production modules of the next process, a production module that carries out work for a product of a type that matches the product type of the production module that is equipped with the controller is selected as one or more candidates for the destination of the work. having a candidate determining means (17) for determining, The order determination means is 7. The production system of configuration 6, wherein the second order is determined for the one or more candidate production modules determined by the candidate determining means.
  • [Configuration 8] further comprising request means (133) for requesting download of the program for the work to a controller provided in the production module to which the work is flowed;
  • the candidate determination means further said working time for each of said one or more candidate production modules of said next step, and the sum of said working time and said download time for each of said one or more non-candidate production modules of said next step; 8.
  • the controller further comprises a request means for requesting the program for the work to be downloaded to the controller provided in the production module to which the work is flowed
  • the work rectifying means of the controller comprises: When the production module of the process next to the process of the controller does not include a production module that performs the operation of the product of the type that matches the product type of the production module equipped with the controller, the request means 9.
  • a production system according to any one of arrangements 6 to 8, wherein the download of a program for said work on a type of product is requested.
  • the method comprises a processor (102) provided in the controller comprising: managing the working time of the production module comprising the controller; storing an identifier of the production module comprising the controller, the module identifier including an identifier of the process having the production module; and communicating shared information, including said module identifier and said time of work, over said network to be shared between controllers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • General Factory Administration (AREA)
  • Programmable Controllers (AREA)

Abstract

工程間で作業の時間を共有できる生産システムを提供する。生産システムは複数工程を経てワークを生産する。各工程は、工程の作業を並行して実行可能な複数の生産モジュールを有する。各生産モジュールのコントローラは、当該コントローラを有する生産モジュールの作業の時間を管理する手段と、当該コントローラを備える生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子を格納する格納手段と、モジュール識別子と作業の時間とを含む共有情報を、ネットワークを介して通信し、コントローラ間で共有する共有手段と、を備える。

Description

生産システム、方法およびプログラム
 本開示は、FA(Factory Automation:ファクトリオートメーション)の生産システムに関し、特に、生産ラインを構成する複数工程を経てワークを生産するシステムに関する。
 FAは複数工程を備え、ある工程から次の工程にワークが流れることで、ワークによって構成される製品が完成する。ユーザニーズの多様化や製品の市場におけるライフサイクルの短命化に適合できるように、製造現場では、製品の生産量または品種の変更にフレキシブルに対応することが望まれている。
 この要望は、工程間の物理的接続を変更することで対処していた。例えば、特許文献1(特開2020-151770号公報)は、フレキシブル製造システムを開示する。このフレキシブル製造システムは、各ユニットセルの作業内容を個別変更可能に管理する管理装置と、ユニットセルどうしを切り離し可能に接続する接続機構とを備える。接続機構によって任意のユニットセル同士を接続した状態において、一方のユニットセルの搬出口と他方のユニットセルの搬入口とが近接または当接対向し、一方のユニットセルの搬出口から搬出されたワークが、他方のユニットセルの搬入口から搬入されるよう構成されている。
特開2020-151770号公報
 工程間の物理的接続が変更されることに伴い、工程間で作業の時間に基づくワークの搬送タイミングを調整することが望ましい。特許文献1は、各ユニットセルにおけるワークの作業の時間を管理する構成は開示しない。
 本開示は、複数工程を経てワークを生産するシステムにおいて、工程間で作業の時間を共有できる生産システムを提供することを一つの目的とする。
 本開示の一例に係る生産システムは、複数工程を経てワークを生産する生産システムであって、各工程は、当該工程の作業を並行して実行可能な複数の生産モジュールを有するよう構成され、各生産モジュールは、作業の機器を制御するコントローラを備える。複数の生産モジュールが備える複数のコントローラはネットワーク接続される。
 コントローラは、当該コントローラを備える生産モジュールの作業の時間を管理する手段と、当該コントローラを備える生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子を格納する格納手段と、モジュール識別子と作業の時間とを含む共有情報を、ネットワークを介して通信し、コントローラ間で共有する共有手段と、を備える。
 この開示によれば、生産システムの各工程の生産モジュールは、他の工程および自工程の各生産モジュールとの間で、ワークの生産作業の時間を互いに共有できる。
 上述の開示において、コントーラは、さらに、格納手段が格納するモジュール識別子と、ネットワーク接続されるコントローラから受信するモジュール識別子とから、各工程について、当該工程を構成する複数の生産モジュールのモジュール識別子を含む構成情報を取得する情報取得手段を、さらに備える。
 この開示によれば、各生産モジュールのコントローラは、互いに通信することで、生産システムが有する生産モジュールの構成情報を取得できる。
 上述の開示において、共有手段が通信するコントローラは、構成情報のモジュール識別子により識別される各生産モジュールであって、当該共有手段を備えるコントローラの工程の次の工程が有する各生産モジュールが備えるコントローラを含む。
 この開示によれば、工程の生産モジュールは、構成情報に示す次の工程の生産モジュールと作業の時間を共有できる。
 上述の開示において、共有手段が通信するコントローラは、構成情報のモジュール識別子により識別される各生産モジュールであって、当該共有手段を備えるコントローラの工程が有する各生産モジュールが備えるコントローラを含む。
 この開示によれば、工程の生産モジュールは、構成情報に示す自工程が有する他の生産モジュールと作業の時間を共有できる。
 上述の開示において、コントローラは、さらに、当該コントローラの工程から次の工程へワークの流れを調整するワーク整流手段を、備え、ワーク整流手段は、構成情報に基づき、当該コントローラの工程が有する複数の生産モジュールと、次の工程が有する複数の生産モジュールとを識別する識別手段と、当該コントローラの工程が有する複数の生産モジュールについて作業を完了する順序である第1順序と、次の工程が有する複数の生産モジュールについて作業を完了する順序である第2順序とを、共有情報に含まれる作業の時間に基づき判定する順判定手段と、を備える。ワーク整流手段は、当該コントローラを備える生産モジュールの第1順序における順番に対応した第2順序における順番の生産モジュールを、ワークを流す先に決定する。
 この開示によれば、コントローラは、構成情報と共有情報を用いて、自工程の複数の生産モジュールについて作業を完了する第1順序と、次の工程の複数の生産モジュールについて作業を完了する第2順序とを判定する。第1順序および第2順序は、当該コントローラを備える生産モジュールの作業完了の時期において作業完了する次の工程の生産モジュールを特定する情報を提供し得る。
 上述の開示において、共有情報は、さらに、製品種類を含む。製品種類は、当該共有情報が含むモジュール識別子が識別する生産モジュールにおいて作業がされるワークによって構成される製品の種類を示す。
 この開示によれば、工程の生産モジュールは、構成情報に示す自工程が有する他の生産モジュールと作業の時間に加えて、製品種類を共有できる。
 上述の開示において、コントローラのワーク整流手段は、さらに、次の工程が有する生産モジュールのうち、当該コントローラを備える生産モジュールの製品の種類と一致する種類の製品の作業を実施する生産モジュールを、ワークを流す先の1つ以上の候補に決定する候補決定手段を、有し、順判定手段は、候補決定手段が決定した1つ以上の候補の生産モジュールについて第2順序を判定する。
 この開示によれば、コントローラを備える生産モジュールがワークを流す先の候補として、次の工程の生産モジュールのうち共通する製品種類のワーク作業を実施する生産モジュールが決定される。そして、候補の生産モジュールについて、第2順序付けが実施されて、第2順序に従う作業完了の順番に応じて、候補のうちから、ワークを流す先の生産モジュールを決定できる。
 上述の開示において、コントローラは、作業のためのプログラムを、ワークを流す先の生産モジュールが備えるコントローラへのダウンロードを要求する要求手段を、さらに備える。候補決定手段は、さらに、次の工程の1つ以上の候補の生産モジュールそれぞれの作業の時間と、当該次の工程の1つ以上の非候補の生産モジュールそれぞれの作業の時間とダウンロードの時間の合計とに基づき、1つ以上の候補を決定しなおす。
 この開示によれば、コントローラは、次の工程の生産モジュールのうちワークを流す先の候補として、共通する製品種類のワーク作業を実施する生産モジュールを決定しておく。コントローラは、違う製品種類の作業を実施する非候補の生産モジュールも、共通種類の製品の作業のプログラムのダウンロード時間と作業の時間の合計に基づき候補となり得る場合は、候補を決定しなおす。例えば、非候補の生産モジュールの上記の合計時間が、当初の候補の生産モジュールの作業の時間よりも早く作業を完了することを示す場合は、コントローラは、候補を決定しなおす、すなわち非候補であった生産モジュールをワークの流れ先に決定する。
 上述の開示において、コントローラは、作業のためのプログラムを、ワークを流す先の生産モジュールが備えるコントローラへのダウンロードを要求する要求手段を、さらに備える。コントローラのワーク整流手段は、当該コントローラの工程の次の工程の生産モジュールに、当該コントローラを備える生産モジュールの製品の種類と一致する種類の製品の作業を実施する生産モジュールが含まれないとき、要求手段に、当該種類の製品の作業のためのプログラムのダウンロードを要求させる。
 この開示によれば、コントローラを備える生産モジュールの製品の種類とは異なる種類の製品の作業を実施する生産モジュールがワークの流し先と決定される場合、コントローラは、生産を継続可能なように、作業のためのプログラムのダウンロードをワークを流す先の生産モジュールに実施するよう要求できる。
 本開示の一例に係る方法は、複数工程を経てワークを生産する生産システムにおいて実施される方法である。各工程は、当該工程の作業を並行して実行可能な複数の生産モジュールを有するよう構成され、各生産モジュールは、作業の機器を制御するコントローラを備え、複数の生産モジュールに備えられる複数のコントローラはネットワーク接続される。
 方法は、コントローラに備えられるプロセッサが、当該コントローラを備える生産モジュールの作業の時間を管理するステップと、当該コントローラを備える生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子を格納するステップと、モジュール識別子と作業の時間とを含む共有情報を、ネットワークを介して通信しコントローラ間で共有するステップと、を備える。
 この開示によれば、方法が実施されると、生産システムの各工程の生産モジュールは、他の工程および自工程の各生産モジュールとの間で、ワークの生産作業の時間を互いに共有できる。
 本開示の一例では、上記に記載の方法をプロセッサに実行させるためのプログラムが提供される。
 本開示の一例によれば、複数工程を経てワークを生産するシステムにおいて、工程間で作業の時間を共有できる。
実施の形態に従う生産システム1の概要を模式的に示す図である。 本実施の形態に係るPLC2のハードウェア構成の一例を示す図である。 本実施の形態に係るPLC2のソフトウェア構成を示す図である。 本実施の形態に係る工程モジュール127の処理のフローチャートである。 生産システム1の工程の変更例を示す図である。 本実施の形態に係る構成情報の作成とデータセット定義207する処理の一例を示すフローチャートである。 本実施の形態に係る構成情報125の一例を示す図である。 本実施の形態に係る共有データセット203の一例を示す図である。 本実施の形態に係るpub/sub通信の一例を模式的に示す図である。 本実施の形態に係るワーク整流ロジック123のフローチャートの一例を示す図である。 本実施の形態に係るワーク整流ロジックのフローチャートの他の例を示す図である。 本実施の形態に係る共有データセットの他の例を示す図である。 本実施の形態に係るワーク整流ロジックのフローチャートのさらなる他の例を示す図である。 本実施の形態に係るワーク搬送装置300の例を示す図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 <A.適用例>
 まず、図1を参照して、本発明が適用される場面の一例について説明する。本実施の形態では、「コントローラ」の典型例として、PLC(プログラマブルロジックコントローラ)を説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
 図1は、実施の形態に従う生産システム1の概要を模式的に示す図である。本実施の形態では、PLCは、任意の制御対象(例えば、FAの製造装置や設備などの対象)を制御する産業用コントローラに相当する。PLCには、1または複数のフィールド機器が接続される。1または複数のフィールド機器の各々は、生産工程を含む生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。
 「生産モジュール」は、ワーク230の作業に係る動作をするフィールド機器と制御装置などのハードウェアと、フィールド機器の制御に関するプログラムであるUPG(User Program)などのプログラムおよびデータのソフトウェアを含む概念である。
 図1の生産システム1は、例えば、ねじ締め工程31、はんだ付工程32および組立工程33を含み、これら工程を、この順番でワーク230が経る(流れる)ことで製品が製造される。工程は、ワーク230に対してフィールド機器により複数種類の作業が実施される場合、作業の区分(種類)に相当する。なお、生産システム1が備える工程の種類および数は、これらに限定されず、生産する製品の種類または製品の仕様に従って変化し得る。
 各工程は、ワーク230に対し実施する作業の種類が同じである複数の生産モジュールを備える。より具体的には、ねじ締め工程31は生産モジュール3A1、3A2および3A3を備え、はんだ付工程32は生産モジュール3B1、3B2および3B3を備え、組立工程33は生産モジュール3C1、3C2および3C3を備える。各工程では、ワーク230に対し同一作業を実施する複数の生産モジュールが並行して動作する。各工程を構成する生産モジュールの数は、例えば、製品の生産量に従って増減し得る。
 生産モジュール3A1、3A2および3A3は、それぞれ、PLC2A1、PLC2A2およびPLC2A3を備えるとともに、PLC2A1、PLC2A2およびPLC2A3は、それぞれ、フィールド機器5A1、フィールド機器5A2およびフィールド機器5A3を備える。生産モジュール3B1、生産モジュール3B2および生産モジュール3B3は、それぞれ、PLC2B1、PLC2B2およびPLC2B3を備えるとともに、PLC2B1、PLC2B2およびPLC2B3は、それぞれ、フィールド機器5B1、フィールド機器5B2およびフィールド機器5B3を備える。生産モジュール3C1、生産モジュール3C2および生産モジュール3C3は、それぞれ、PLC2C1、PLC2C2およびPLC2C3を備えるとともに、PLC2C1、PLC2C2およびPLC2C3は、それぞれ、フィールド機器5C1、フィールド機器5C2およびフィールド機器5C3を備える。
 図1では、各生産モジュールが備えるフィールド機器は、1台の産業用ロボットを例示するが、フィールド機器の種類および数はこれに限定されない。また、生産モジュールに備えられるフィールド機器の種類および台数は、工程間で相違し得る。
 生産システム1では、ワーク230は、ワーク搬送装置300によって搬送される。ワーク搬送装置300は、搬送指令310を受信すると、搬送指令310に従い1の工程から他の工程にワーク230を搬送する。これにより、ワーク230は、1の工程から、ワーク230を流す先である次の工程に搬送される。次の工程では、ワーク230が受け入れられてワーク230への作業が実施される。
 各工程における複数の生産モジュールは、より特定的にはPLCは、ネットワーク22に接続されて、ネットワーク22およびスイッチ21を介して互いに通信する。また、各工程に対応のスイッチ21(図中は、スイッチ21A、21Bおよび21Cで示される)は、ネットワーク22Dに接続される。これにより、生産システム1の全てのPLCは、共通のネットワークに接続されて、すなわちスイッチ21、ネットワーク22およびネットワーク22Dに接続されて、互いに通信する。
 さらに、各工程のスイッチ21には、ネットワーク23Aを介してサーバ190が接続される。生産システム1の全てのPLCは、スイッチ21、ネットワーク22およびネットワーク23Aを介してサーバ190と通信する。
 サーバ190は、複数種類のUPGを格納したストレージ191を接続する。サーバ190のUPG配信部192は、ネットワーク23Aを介して後述のリクエスト135を受信すると、リクエスト135で指定されたUPGを、ストレージ191から検索し、配信(ダウンロード)する。
 ネットワーク22のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。ネットワーク22Dのプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いることができる。また、ネットワーク22Dのプロトコルとネットワーク22のプロトコルとは、同じであってもよいし、異なっていてもよい。また、ネットワーク23Aのプロトコルとしては、接続先のサーバ190の多様性を担保するために、汎用的なEthernetなどが用いられる。汎用的なEthernetを採用することで、送信可能なデータ量などの制限を排除できる。
 以下では、生産モジュール3A1、3A2、3A3、3B1、3B2、3B3、3C1、3C2および3C3に共通する説明では、生産モジュール3と総称する。また、PLC2A1、2A2、2A3、2B1、2B2、2B3、2C1、2C2および2C3に共通する説明では、PLC2と総称する。また、フィールド機器5A1、5A2、5A3、5B1、5B2、5B3、5C1、5C2および5C3に共通する説明では、フィールド機器5と総称する。
 PLC2は、当該PLC2に接続されるフィールド機器5のシーケンス制御を実現するためのシーケンスプログラムまたはモーション制御を実現するためのモーションプログラムなどを含む制御に関するプログラムを、予め定められた周期(これを、制御周期ともいう)毎に実行することで、フィールド機器5のリアルタイム制御を実現している。生産システム1に備えられるPLC2のタイマは、PLC2間で互いに時刻同期し、PLC2は時刻同期したタイマに基づき制御周期を管理する。
 本実施の形態では、ユーザは、生産モジュール3が、ワーク230の作業を開始してから完了するまでの所要時間を、生産モジュール3毎に測定し、測定された所要時間を生産モジュール3のPLC2に「設定作業時間」として設定する。その後の生産システム1の稼働時は、生産モジュール3のPLC2は、ワーク230に対する作業開始からの経過時間である実際の作業時間を「実作業時間」として計測し、「設定作業時間」と「実作業時間」との差を、作業完了までの「残り時間」として算出する。PLC2間で性能は相違し、また、フィールド機器5間で性能は相違するので、同一工程に備えられる生産モジュール3であっても互いに「設定作業時間」は相違し、また、互いに「実作業時間」が同じであっても「残り時間」は相違し得る。本実施の形態では、「作業の時間」は、「設定作業時間」、「実作業時間」および「残り時間」を含むワーク230の生産作業に関する時間を示す。本実施の形態では、「作業の時間」は、例えば、秒の時間単位で管理される。なお、「作業の時間」は実時間の管理に限定されず、例えば制御周期の単位で管理されてもよい。
 本実施の形態では、ある生産モジュール3が設けられる工程を他の工程から区別するために「自工程」とも称し、また、あるPLC2を有する生産モジュール3を他の生産モジュール3から区別するために「自生産モジュール3」とも称する。また、PLC2は、後述するプロセッサ102を有するが、あるプロセッサ102を有するPLC2を他のPLC2から区別するために「自PLC2」とも称する。
 本実施の形態では、生産システム1が稼働する前に、生産モジュール3は、工程モジュール127によって、工程から次の工程へワークの流れを調整するワーク整流ロジックを生成する(ステップS3)。「ワーク整流ロジック」は、ワーク整流手段の一実施例である。
 より具体的には、生産モジュール3のPLC2は、当該PLC2が備えられる生産モジュール3の識別子であって、当該生産モジュール3の識別子を含むモジュールIDを、生産システム1に備えられる他の生産モジュール3のPLC2と遣り取りする。PLC2は、遣り取りするモジュールIDに基づき、各工程と、当該工程を構成する複数の生産モジュール3とを識別する構成情報を取得する(ステップS1)。
 PLC2は、構成情報に基づきデータセット定義207を生成する(ステップS2)。より具体的には、PLC2は、生産システム1の各生産モジュール3のモジュールIDと、当該生産モジュール3の「作業の時間」とを含む各生産モジュール3間で共有するべき共有データのセットを含むデータセット定義207を生成する。
 PLC2は、ワーク整流ロジックを生成する(ステップS3)。ワーク整流ロジックは、例えば、クラスからインスタンスを生成することにより実現されるが、実現方法は、これに限定されない。
 生産システム1の稼働時は、PLC2は、データセット定義207に従い、ネットワーク接続される他のPLC2と共有するべきデータを遣り取りする。これにより、生産システム1のPLC2は、各工程について、当該工程を構成する生産モジュール3の「作業の時間」を共有する。
 PLC2は、ワーク整流ロジックを実行することにより、ワークの流れを自律的にコントロールする。より具体的には、PLC2は、構成情報に基づき、自工程が有する複数の生産モジュール3と、次の工程が有する複数の生産モジュール3とを識別する。次に、自工程が有する複数の生産モジュール3について作業を完了する順序である第1順序と、次の工程が有する複数の生産モジュール3について作業を完了する順序である第2順序とを、共有する各生産モジュール3の「作業の時間」に基づき判定する。PLC2は、自生産モジュールの第1順序における順番に対応した順番であって、第2順序における順番を有した生産モジュール3を、自生産モジュールからワーク230を流す先に決定する。
 本実施の形態では、共有される「作業の時間」は典型的には「残り時間」であるが、「設定作業時間」と「実作業時間」とであってもよい。「設定作業時間」と「実作業時間」を共有する場合、PLC2は、生産モジュール3について、当該生産モジュール3の「設定作業時間」と「実作業時間」とから「残り時間」を演算することで共有できる。
 以下、本実施の形態のより具体的な応用例について説明する。
 <B.PLC2の構成例>
 図2は、本実施の形態に係るPLCのハードウェア構成の一例を示す図である。図2を参照して、PLC2は、プロセッサ102と、チップセット104と、上位ネットワークコントローラ105と、主記憶装置106と、キー107と、二次記憶装置108と、メモリカードインターフェイス109と、フィールドネットワークコントローラ118と、タイマ119と、無線通信回路を含む無線I/F(Interfaceの略)311を含む。無線I/F(Interfaceの略)311は、ワーク搬送装置300に搬送指令310を送信する。
 プロセッサ102は、CPU(Central Processing Unit)、MPU(Microprocessor unit)、GPU(Graphics Processing Unit)などで構成され、二次記憶装置108に格納された各種プログラムを読出して、主記憶装置106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。二次記憶装置108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。主記憶装置106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。
 チップセット104は、プロセッサ102と各デバイスを制御することで、PLC2全体としての処理を実現する。
 上位ネットワークコントローラ105は、ネットワーク22を介して、他のPLC2またはサーバ190との間でデータを遣り取りする。キー107は、ユーザにより操作されて、PLC2に対するユーザ操作を受け付ける。ユーザ操作を受付可能であれば、操作部はキーに限定されない。
 メモリカードインターフェイス109は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種プログラムまたはデータを読出すことが可能になっている。
 タイマ119は、PLC2における各種処理の時間または実行タイミングを管理するための時刻基準として用いられる。タイマ119は、他のPLC102と同期した時刻を管理し得て、PLC2ではタイマ119の出力に基づき制御周期が設定される。また、タイマ119は、PLC2が備えられる生産モジュール3の「作業の時間」を管理する手段の一実施例である。タイマ119で管理される「作業の時間」のうち、残り時間201および実作業時間202は、処理のために主記憶装置106に格納され得る。
 フィールドネットワークコントローラ118は、ネットワーク101を介したフィールド機器5を含む他のデバイスとの間のデータの遣り取りを制御する。図2では、フィールド機器5は、産業用ロボットであり、例えば、モータモーションプログラムからの指令に従いモータ52を駆動するロボットコントローラ51を備える。
 二次記憶装置108は、基本的な機能を実現するためのシステムプログラム110に加えて、制御対象の製造装置や設備のフィールド機器5に応じて作成される1以上のユーザプログラムを含むUPG群121と、実行されることにより工程モジュール127を実現する工程プログラム122と、サーバ190にUPGのリクエスト135を送信するUPG要求プログラム120とを格納する。二次記憶装置108は、さらに、ワーク整流ロジック123と、定義ファイル124と、生産システム1の構成を示す構成情報125と、ワーク整流ロジック123を生成するためのクラスを示すクラスデータ126とを格納する。二次記憶装置108は、さらに、共有データセット203と、当該PLC2が備えられる工程の識別子である工程ID204と、PLC2の識別子であるコントローラID205と、当該PLC2が備えられる生産モジュール3の設定作業時間206とを格納する。
 本実施の形態では、共有するべきデータ(残り時間201)と、後述する順序136と、工程ID204と、設定作業時間206とは、例えば、キー107のユーザ操作に基づき設定される。また、コントローラID205は、例えば、PLC2のIP(Internet Protocol)アドレスなどの通信アドレスを示すが、これに限定されない。
 主記憶装置106は、生産システム1の稼働中に、タイマ119を用いて測定される実作業時間202と、設定作業時間206と実作業時間202とから算出される残り時間201を格納する。
 図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC2の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 図3は、本実施の形態に係るPLC2のソフトウェア構成を示す図である。以下では、説明のために、ねじ締め工程31を工程A、はんだ付工程32を工程Bおよび組立工程33を工程Cと称する。
 図3を参照して、PLC2は工程モジュール127を含む。PLC2は、さらに、工程モジュール127に関連する情報として、定義ファイル124と、構成情報125と、クラスデータ126と、共有データセット203と、ワーク整流ロジック123と、UPG群121とを含む。
 UPG群121は、フィールド機器5の制御プログムを有するUPGを含む。例えば、PLC2は、工程Aに設けられる場合、UPG群121は工程A用の作業を実現するUPG12Aを含む。UPG群121は、稼働中にサーバ190からUPGがダウンロードされる場合、ダウンロードされたUPG12B、UPG12Cなどを含む。サーバ190からダウンロードされるUPG12BまたはUPG12Cは、当該PLC2を有する生産モジュール3が作業をするワーク230の製品の種類とは異なる種類の製品の作業するようフィールド機器5を制御するプログラムを含む。
 工程モジュール127は、ユーザ設定モジュール128と、構成情報125を取得する構成取得モジュール129と、共有データセット203を取得するための通信を設定するデータ通信設定モジュール130と、クラスデータ126が示すクラスからインスタンスであるワーク整流ロジック123を生成するロジック生成モジュール131と、サーバ190にリクエスト135を出力するUPG要求モジュール133とを含む。リクエスト135は、指定された生産モジュール3にUPGをダウンロードすることをサーバ190に要求する内容を含む。
 ワーク整流ロジック123は、実行されることにより、候補決定部17、識別部18および順判定部19のモジュールを実現する。プロセッサ102は、識別部18として、構成情報125に基づき、自工程が有する複数の生産モジュール3と、次の工程が有する複数の生産モジュール3とを識別する。プロセッサ102は、順判定部19として、共有データセット203が有する各生産モジュール3の残り時間201に基づき、作業を完了する順序を決定する。より具体的には、プロセッサ102は、自工程が有する複数の生産モジュール3について、その残り時間201に基づき作業を完了する順序である第1順序を判定する。また、次の工程が有する複数の生産モジュール3について、その残り時間201に基づき作業を完了する順序である第2順序を判定する。ここでは、生産モジュール3の残り時間201がゼロの場合、プロセッサ102は、当該生産モジュール3の作業完了の順番は1番、すなわち最先と判定する。プロセッサ102は、自生産モジュール3の第1順序における順番に対応した第2順序における順番の生産モジュール3を、ワーク230を流す先に決定する。例えば、自工程において自生産モジュール3が最先に作業を完了したと判定されると、次の工程において最先に作業を完了すると判定される生産モジュール3が、自生産モジュール3からワーク230を流す先と決定される。また、自工程において自生産モジュール3が2番目に作業を完了すると判定されると、次の工程において2番目に作業を完了すると判定される生産モジュール3が、自生産モジュール3からワーク230を流す先と決定される。
 ユーザ設定モジュール128は、キー107のユーザ操作に基づくユーザ設定132に従って、定義ファイル124と、工程ID204と、設定作業時間206とを二次記憶装置108に格納する。
 定義ファイル124は、後述するデータセット定義207と順序136とを含む。順序136は、複数工程の順序関係を示す。順序136によって、例えば、各工程の相対的な順番が示される。各工程の順番は工程IDで示されて、本実施の形態では、順序136は、例えば工程A→工程B→工程Cを示す。
 <C.工程モジュールの処理>
 図4は、本実施の形態に係る工程モジュール127の処理のフローチャートである。図5は、生産システム1の工程の変更例を示す図である。工程Aの生産モジュール3を生産モジュールA1、A2、A3・・・、工程Bの生産モジュール3を生産モジュールB1、B2、B3・・・、および工程Cの生産モジュール3を生産モジュールC1、C2、C3・・・で識別する。製品の生産量または種類が変更されるとき、図1の生産システム1は、例えば図5のように、生産モジュールA3および生産モジュールC3が削除されることにより変更される。生産システム1が構成される、または構成が変更されるとき工程モジュール127が起動され図4の処理が実行される。図4を参照して、構成変更時の処理を説明する。
 図4では、製造現場のリーダまたは担当者などのユーザと工程モジュール127との間の入出力が、工程モジュール127の処理に関連付けて示される。
 まず、ユーザは、生産システム1を停止、すなわち全てのPLC2を停止し(ステップT1)、生産システム1の工程の組合せを変更する。その後、ユーザは各PLC2に電源を投入して起動させ、ユーザ設定132を各PLC2に入力する(ステップT2)。
 PLC2では、プロセッサ102は、ユーザ設定モジュール128として、ユーザ設定132に基づき、順序136を定義ファイル124に設定するとともに、自工程を識別する工程ID204および設定作業時間206を設定する。
 プロセッサ102は、構成取得モジュール129として、他のPLC2とモジュールIDを遣り取りすることで、生産システム1の構成を認識し、認識結果に基づく構成情報125を取得する(ステップS1)。また、プロセッサ102は、データ通信設定モジュール130として、共有データセット203を取得するためのデータセット定義207を生成する(ステップS2)。構成情報125の作成および共有データセット203の詳細は後述する。
 プロセッサ102は、ロジック生成モジュール131として、クラスデータ126のクラスからインスタンスであるワーク整流ロジック123を生成する(ステップS3)。プロセッサ102は、ワーク整流ロジック123が周期的に実行されるように設定する。プロセッサ102は、準備完了の通知を出力する(ステップS4)。ユーザは、出力された当該通知を受理すると(ステップT3)、各PLC2を起動させて、ワーク230を流し、生産システム1に製品の製造を開始させる(ステップT5)。
 (c1.構成情報のデータセット定義の作成処理)
 図6は、本実施の形態に係る構成情報の作成とデータセット定義207する処理の一例を示すフローチャートである。ここでは、工程AのPLC2によって実行される処理を説明するが、図6の処理は、生産システム1の各工程が有する各PLC2によって同様に実行される。PLC2の順序136は工程A→工程B→工程Cを示す。また、生産システム1毎にネットワークドメインが独立し、生産システム1内のPLC2は、外部の工程A、工程Bおよび工程CのPLC2とは通信しない。
 プロセッサ102は、自工程を識別する工程ID204と自PLC2を識別するIPアドレスのコントローラID205とを含むモジュールIDと属性を含むフレームを、ブロードキャストする(ステップS11)。この属性は、「作業の時間」を含む。属性は、後述するように、自生産モジュール3が作業するワーク230の製品の種類が含まれてもよい。
 ブロードキャストされるモジュールIDは、例えば、(工程ID204:AとIPアドレス:192.168.250.11)の組を含む。他の生産モジュール3、すなわち他の工程Bと工程Cおよび自工程Aが有する生産モジュール3のPLC2は、ブロードキャストされるフレームを受信する(ステップS10)。
 プロセッサ102は、フレームをブロードキャストしてから予め定められた待ち時間が経過したかを判定する(ステップS12)。未だ待ち時間が経過しないとき(ステップS12でNO)、プロセッサ102は待機し、ステップS12を繰り返す。待ち時間は、他の生産モジュール3のPLC2からブロードキャストされるフレームを受信完了できるまでの時間に基づいている。
 プロセッサ102は待ち時間が経過したと判断すると(ステップS12でYES)、プロセッサ102は、自PLC2がブロードキャストしたフレームのデータと他の生産モジュールのPLC2から受信したフレームのデータを解析し、解析結果に基づき、構成情報125を生成する(ステップS13)。
 図7は、本実施の形態に係る構成情報125の一例を示す図である。プロセッサ102は、ブロードキャストされるフレームを受信し、受信フレームのモジュールIDを解析して構成を認識する。より具体的には、プロセッサ102は、モジュールIDを、当該モジュールIDが有する工程ID204に基づき、順序136が示す工程毎のグループに分類し、分類された各グループ(各工程)について、当該グループのモジュールIDを、当該モジュールIDが有するIPアドレスの数値の昇順また降順に、例えば番号1,2,3,・・・と順序づけする。これにより、図7に示すような構成情報125を取得する。
 図7を参照し、構成情報125は、各生産モジュール3について、当該生産モジュール3の工程ID204とともに示されるPLC2のIPアドレス1341と、モジュールID71とを含む。
 プロセッサ102は、データ共有PLCを取得する(ステップS13a)。より具体的には、プロセッサ102は、自PLC2の工程ID204に基づき構成情報125を検索し、自工程が有する生産モジュール3のモジュールID71を取得する。また、プロセッサ102は、順序136および自PLC2の工程ID204から次の工程の工程IDを判定し、判定された工程IDに基づき、構成情報125を検索し、検索結果に基づき、次の工程のモジュールID71を取得する。プロセッサ102は、取得された自工程および次の工程の複数のモジュールID71を、ワーク整流を実現するためのデータ(作業の時間などの属性)を有する共有モジュールID群134(図7)として定義する。
 プロセッサ102は、データ通信設定モジュール130として、共有データセット203に関し定義する(ステップS14)。より具体的には、プロセッサ102は、ワーク整流を実現するためデータを共有する生産モジュール3と、共有するデータとからなるデータセット定義207を生成する。
 (c2.データ共有)
 プロセッサ102は、生産システム1の稼働中は、データセット定義207に従い、定義された生産モジュール3間で、定義されたデータを遣り取りする通信を実施し、共有データセット203を取得する。
 より具体的には、プロセッサ102は、データ通信設定モジュール130として、生産システム1内の他のPLC2との間で、EtherNet/IPの通信プロトコルを利用してデータを遣り取りするタグデータリンクと称されるコネクションを確立する。各PLC2は、確立されるコネクションの設定を取得することで、当該PLC2の接続先および遣り取りされるデータの内容などを特定できる。タグデータリンクのコネクションの設定としては、接続先のデバイスのアドレス、送信されるデータなどが規定されたタグあるいはタグセットの定義を含む。本実施の形態では、タグセットの定義として、例えばデータセット定義207を含む。
 図8は、本実施の形態に係る共有データセット203の一例を示す図である。図8の共有データセット203は、生産システム1の各生産モジュール3について、当該生産モジュール3を識別するモジュールID71および共有されるデータとして、作業の時間の一例である残り時間201を含む。
 生産システム1の生産モジュール3間でデータを共有する方法は、タグデータリンクの方法に限定されない。例えば、生産システム1では、ネットワークを介したPLC2間の通信に、PLC2間のコネクションの確立を必要としないパブリッシュ・サブスクライブ(publish-subscribe)型の通信プロトコルに従う通信が適用され得る。より特定的には、OPC UA(OPC Unified Architecture)のパブリッシュ・サブスクライブ型の通信プロトコルに従う通信が適用され得る。
 図9は、本実施の形態に係るpub/sub通信の一例を模式的に示す図である。図9では、太枠で示される生産モジュール(PLC2)は送信用データを作成(生成)して送信する送信側のパブリッシャを示し、細枠で示される生産モジュール(PLC2)はパブリッシャから送信されたデータをパブリッシャから直接受信するまたは他のパブリッシャを経由して受信する受信側のサブスクライバを示す。
 この場合、PLC2のデータ通信設定モジュール130は、図示しないがサブスクライバとパブリッシャのモジュールを備え、両者が並列に動作する。並列動作により、pub/sub通信において、自生産モジュール3のデータを他の生産モジュール3のPLC2に送信できるとともに、他の生産モジュール3のPLC2から送信されたデータを受信することもできて、その結果、生産モジュール3間で共有すると定義されたデータ(残り時間201)を共有できる。
 図9では、共有されるデータとして、残り時間201に追加して製造されるべき製品を識別する製品種類73が示される。共有するデータとして製品種類73は必須ではないが、ワークを流す先を判定するために用いられる。製品種類73を用いた処理については後述する。
 生産システム1の稼働中は、上記に述べたデータ共有のための通信が繰り返されることで、各PLC2は、共有データセット203を、各生産モジュール3について最新の残り時間201を示すように維持できる。
 なお、データ共有のための通信は、生産システム1の全ての生産モジュール3を相手とするブロードキャストの通信に限定されず、特定の通信相手との通信であってもよい。例えば、共有モジュールID群134が示す生産モジュール3を通信相手とするマルチキャストであってもよい。
 工程間でのデータ共有の高速化と同時性を担保するために、生産システム1では、TSN(Time-Sensitive Networking)を利用して、生産モジュール3間で時刻同期と通信の到着時間を保証するようにしてもよい。
 <D.ワーク整流ロジックの一例>
 図10は、本実施の形態に係るワーク整流ロジック123のフローチャートの一例を示す図である。生産システム1の稼働時は、PLC2のプロセッサ102は、ワーク整流ロジック123を繰り返し実行する。ワーク整流ロジック123が実行されると、プロセッサ102は、順判定部19として、自生産モジュール3が、自工程に設けられる複数の生産モジュール3のうちの最先に作業を完了する最先モジュールであるかを判定する(ステップS21)。
 より具体的には、プロセッサ102は、識別部18として、工程ID204に基づき、共有モジュールID群134から、自工程に設けられた複数の生産モジュール3を特定する。プロセッサ102は、順判定部19として、共有データセット203から、この特定された複数の生産モジュール3それぞれのモジュールID71に対応の残り時間201を検索し、検索された各生産モジュール3の残り時間201に基づき、自生産モジュール3の残り時間201が最短であるかを判定する。プロセッサ102は、自生産モジュール3の残り時間が最短であるとき、自生産モジュール3は、最先に作業を完了する最先モジュールであると判定する。この判定では、プロセッサ102は、複数の生産モジュール3について、各生産モジュール3の残り時間201に基づき、作業を完了する順序である第1順序を決定して、第1順序から、自生産モジュール3が最先モジュールにあたるかを判定してよい。
 プロセッサ102は、自生産モジュール3は作業を最先に完了すると判定しないと(ステップS21でNO)、ステップS21を繰り返すが、作業を最先に完了すると判定すると(ステップS21でYES)、次の工程に待ち状態の生産モジュール3があるかを判定する(ステップS23)。
 より具体的には、プロセッサ102は、識別部18は、自工程の工程ID204に基づき、順序136から次の工程の工程IDを特定する。プロセッサ102は、識別部18として、特定した次の工程の工程IDに基づき、共有モジュールID群134から、次の工程に設けられた複数の生産モジュール3を特定する。プロセッサ102は、順判定部19として、特定された複数の生産モジュール3それぞれのモジュールID71に対応の残り時間201を共有データセット203から検索し、検索結果に基づき、残り時間201がゼロ、すなわちワークの待ち状態にある生産モジュール3があるかを判定する。
 この判定では、次の工程が有する複数の生産モジュール3について、共有データセット203に含まれる作業の残り時間201に基づき作業を完了する順序である第2順序を判定してもよい。
 プロセッサ102は、次の工程に待ち状態の生産モジュール3があると判定しないときは(ステップS23でNO)、ステップS23を繰り返すが、待ち状態の生産モジュール3があると判定すると(ステップ23でYES)、ワーク230を流す先として、待ち状態と判定された生産モジュール3を選択する(ステップS24)。
 図10のステップS23とステップS24では、上記の第2順序における1番目の生産モジュール3を、すなわち最先似作業を完了して待ち状態になり得る生産モジュール3を判定し、ワーク230を流す先として選択してもよい。これにより、プロセッサ102は、自生産モジュール3の第1順序における順番(最先の1番目)に対応した順番であって、第2順序における順番(最先の1番目)の生産モジュール3を、ワーク230を流す先に選択的に決定できる。
 プロセッサ102は、ワーク230の流す先を示す搬送指令310を、無線I/F311を介して、ワーク搬送装置300に送信する(ステップS35)。
 ステップS35では、プロセッサ102は、自生産モジュール3のモジュールID71と、ワーク230を流す先の生産モジュール3のモジュールID71とを、搬送指令310に設定する。搬送指令310には、モジュールID71に限定されず、自生産モジュール3と流す先の生産モジュール3の工場内の位置情報が設定されてもよい。位置情報は、例えば、モジュールID71を、ルックアップテーブルを用いて位置情報に変換して取得できるが、位置情報の取得方法は、これに限定されない。
 <E.ワーク整流ロジックの他の例>
 図11は、本実施の形態に係るワーク整流ロジックのフローチャートの他の例を示す図である。図12は、本実施の形態に係る共有データセットの他の例を示す図である。上記に述べた生産システム1は、全ての生産モジュール3が同一種類の製品の作業を実施するよう構成されるが、異なる種類の製品の作業を実施可能なように構成されてもよい。
 生産システム1において、異なる種類の製品を製造可能とするために、プロセッサ102は、図12の共有データセット213を用いて、図11のワーク整流ロジック123aを実行する。図12の共有データセット213は、図8の共有データセット203のデータに追加して、モジュールID71に対応付けられた製品種類73を含む。製品種類73は、対応のモジュールID71で識別される生産モジュール3の作業が、いずれの種類の製品に適用されるかを示す。図12では、製品種類73は、種類1、種類2および種類3の3種類とするが、種類数は3つに限定されない。
 生産モジュール3には、ユーザ設定132により、製品種類73が設定される。ユーザ設定モジュール128は、ユーザ設定132が示す製品種類73を、例えば二次記憶装置108に格納する。本実施の形態では、製品種類73は、製品の標準仕様に従う種類とオプション仕様に従う種類などを含み得るが、これら種類に限定されない。
 図11を参照して、PLC2のプロセッサ102は、自生産モジュール3が、最先に作業を完了する最先モジュールであるかを判定する(ステップS21)。この判定は、図10のステップS21の判定と同様であるから説明は繰り返さない。最先モジュールと判定されないと(ステップS21でNO)、ステップS21を繰り返す。
 最先モジュールであると判定されると(ステップS21でYES)、プロセッサ102は、次の工程の複数の生産モジュール3のうち、自生産モジュール3と同じ製品種類73(以下、特定種類と呼ぶ)の作業を実施する生産モジュール3があるかを判定する(ステップS22)。
 より具体的には、プロセッサ102は、識別部18として、自工程の工程ID204に基づき、順序136から次の工程の工程IDを特定する。プロセッサ102は、識別部18として、次の工程の工程IDに基づき、共有モジュールID群134から、次の工程に設けられた複数の生産モジュール3を特定する。プロセッサ102は、候補決定部17として、ステップS22を実行する。より具体的には、プロセッサ102は、識別部18により特定された複数の生産モジュール3それぞれのモジュールID71に対応の製品種類73を共有データセット213から検索し、検索された製品種類73と、自PLC2の特定種類とを照合する。照合結果が一致を示すとき、プロセッサ102は、自生産モジュール3と同じ製品種類73の作業を実施する生産モジュール3が次の工程にあると判定し(ステップS22でYES)、後述するステップS25に移行する。
 一方、照合結果が不一致を示すとき、プロセッサ102は、自生産モジュール3と同じ製品種類73の作業を実施する生産モジュール3は次の工程にはないと判定する(ステップS22でNO)。このとき、特定種類の製品の生産を継続できるよう、次の工程の生産モジュール3に、特定種類の製品を作業するためのUPGをダウンロードする処理に移行する。
 UPGをダウンロードする処理では、プロセッサ102は、次の工程に待ち状態の生産モジュール3があるかを判定する(ステップS23)。次の工程に待ち状態の生産モジュール3があると判定しないときは(ステップS23でNO)、ステップS22に戻るが、待ち状態の生産モジュール3があると判定すると(ステップ23でYES)、ワーク230を流す先として、待ち状態と判定された生産モジュール3を選択し(ステップS24)、ステップS29に移行する。ステップS23とステップS24の処理は、図10の処理と同様であり詳細は繰り返さない。
 ステップS29では、プロセッサ102は、UPG要求モジュール133として、UPGダウンロードのリクエスト135をサーバ190に通知する(ステップS29)。その後、ステップS35に移行する。このリクエスト135は、ステップS24で選択された生産モジュール3のIPアドレス1341と、特定種類(自生産モジュール3の製品種類73)とを含む。
 サーバ190は、受信するリクエスト135の特定種類に対応のUPGをストレージ191から検索し、当該リクエスト135のIPアドレス1341宛てのPLC2に配信する。ストレージ191は、製品種類73毎にUPGを格納する。ステップS24で選択された生産モジュール3のPLC2のプロセッサ102は、サーバ190からダウンロードされたUPGを、二次記憶装置108にインストールし実行する。これにより、ステップS24で選択された生産モジュール3において、特定種類の製品の作業を実施できる。
 ステップS25では、プロセッサ102は、順判定部19として、ステップS22で判定された生産モジュール3が待ち状態であるかを、共有データセット213の当該生産モジュール3に対応の残り時間201に基づき判定する(ステップS25)。ステップS22で判定された生産モジュール3は待ち状態であると判定されると(ステップS25でYES)、プロセッサ102は、ステップS27および図6で説明したステップS35を実行する。ステップS27の処理は図6のステップS24の処理と同様である。これにより、自生産モジュール3から、ステップS24で判定された生産モジュール3へワーク230を搬送させるための搬送指令310が出力される。
 一方、ステップS22で判定された生産モジュール3は待ち状態であると判定されないと(ステップS25でNO)、プロセッサ102は、候補決定部17として、ステップS22で出力された候補の生産モジュール3を、ワーク230を流す先として決定するか(ステップS25でYES)、または流す先の候補を決定しなおす(ステップS26)。
 候補の決定しなおしでは、プロセッサ102は、ステップS22で判定された候補の生産モジュール3が未だ作業を完了していない場合は、自生産モジュール3と異なる製品種類73の作業を実施する生産モジュール3のうちから候補を決定しなおす(ステップS26)。
 ステップS26における候補の決定しなおしの判定では、閾値時間が利用される。閾値時間は、(次の工程の1つ以上の非候補の生産モジュール3のうち最先で作業が完了するものの残り時間201+UPGダウンロード時間)を示す。UPGダウンロード時間は、リクエスト135が通知されてからUPGのダウンロードが完了するまでの時間であり、プロセッサ102は、ダウンロード時間を予め取得する。
 より具体的には、プロセッサ102は、共有データセット213の次の工程の非候補の生産モジュール3の残り時間201から最先モジュールの残り時間201とUPGダウンロード時間との合計を、閾値時間として算出する。プロセッサ102は、ステップS22で判定された候補の生産モジュール3の残り時間201と閾値時間とを比較し、比較の結果、候補の生産モジュール3の残り時間201が閾値時間よりも短いと判定すると(ステップS26でYES)、ステップS25に戻る。一方、当該残り時間201が閾値時間より短くないと判定されると(ステップS26でNO)、プロセッサ102は、ワーク230を流す先の候補として、次の工程の非候補の生産モジュール3であって最先で作業が完了する生産モジュール3を決定しなおし(ステップS28)、ステップS29に移行する。
 ワーク整流ロジック123aによれば、ワーク230を流す先の候補として、自生産モジュール3と同一の製品種類73の作業を実施する生産モジュール3を決定するが(ステップS22でYES)、この候補が未だ作業を完了していない場合は、自生産モジュール3と異なる製品種類73の作業を実施する生産モジュール3のうちから候補を決定しなおす(ステップS26)。候補の決定しなおしにおいて、プロセッサ102は、UPGダウンロード時間を見込んでも当該候補よりも早くに作業を完了する生産モジュール3を判定すると(ステップS26でNO)、ステップS22で判定された候補に代わって、当該生産モジュール3をワーク230の流し先と最終決定する(ステップS28)。
 (e1.ワーク整流ロジックのさらなる他の例)
 図13は、本実施の形態に係るワーク整流ロジックのフローチャートのさらなる他の例を示す図である。図13のワーク整流ロジック123bは、ワーク整流ロジック123aと同様に、生産モジュール3は異なる種類の製品の作業を実施可能なように構成され、ワーク整流ロジック123aのステップS26とステップS28の処理を除いた他の処理を含む。これら他の処理は、ワーク整流ロジック123aと同様なので説明は繰り返さない。ワーク整流ロジック123bは、ワーク整流ロジック123aに比べて、ダウンロードによるネットワーク負荷を軽減できる。
 より具体的には、ワーク整流ロジック123aにおけるUPGのダウンロードが実施されるケースは、次の工程に候補の生産モジュール3がないケース1(ステップS22でNO)、および、候補がある場合でも、より早くワークを受け入れ可能状態となる他の生産モジュール3(異なる製品種類73のワークの作業を実施する生産モジュール3)があるケース2(ステップS26でNO、ステップS28)を含む。対照的に、ワーク整流ロジック123bは、ステップS26とステップS28の処理が省略されて、ケース2のダウンロードを実施しない構成となる。したがって、生産システム1のネットワーク負荷を軽減できる。
 ワーク整流ロジックのステップS21では、プロセッサ102は、自生産モジュール3が最先モジュールであると判定したとき、次の工程の最先モジュールをワーク230の流し先と決定したが、判定順番は最先(1番)に限定されない。より具体的には、プロセッサ102は、上述の第1順序に従い、自生産モジュール3が、自工程の生産モジュール3のうち何番目に作業を完了するかを判定する。プロセッサ102は、次の工程の生産モジュール3のうち、第1順序において判定された順番と同じ順番で作業を完了する生産モジュール3を、上記の第2順序に従い特定し、ワークを流す先に決定する。例えば、プロセッサ102は、自生産モジュール3は、2番目に作業を完了すると判定した場合、次の工程の2番目に作業を完了する生産モジュール3を、ワークを流す先として選択してもよい。
 <F.ワーク搬送装置の例>
 図14は、本実施の形態に係るワーク搬送装置300の例を示す図である。ワーク搬送装置300は、搬送指令310に従い、ワーク230を搬送する。ワーク搬送装置300として、ベルトコンベア、図14の(A)に示すロボットアーム301、図14の(B)のAGV(Automatic Guides Vehicle)302、および図14の(C)のドローン303などを含む。なお、ワーク搬送装置300は、これらに限定されず、例えばAMR(Autonomous Mobile Robot)であってもよい。
 ロボットアーム301は、ピックアンドプレースの動作を実現する。より具体的には、ロボットアーム301は、ロボットコントローラと複数のアームを備える。ロボットコントローラは、搬送指令310に従ってアームの移動軌跡を決定し、決定した移動軌跡に従って、アームの関節に設けられたモータを制御する。これにより、ロボットアーム301は、出発位置の生産モジュール3からワーク230をピックし、ピックしたまま到着位置の生産モジュール3までアームを移動させて、ワーク230を生産モジュール3に下ろす(プレースする)。
 AGV302は、床面を貼られた磁気テープを走査しながら移動する。磁気テープには、当該磁気テープが貼られている位置の情報が記録される。AGV302は、搬送指令310が示す出発位置および到着位置の情報と、磁気テープをスキャンして取得した情報とを照合し、照合結果に基づき移動する。これにより、AGV302は、出発位置の生産モジュール3から到着位置の生産モジュール3までを移動し、ワーク230を搬送する。
 ドローン303は、例えば誘導電波を利用して移動する。この場合、各生産モジュール3は自モジュールの位置情報を含む無線信号を送信する。ドローン303は、搬送指令310の出発位置および到着位置の情報と、各生産モジュール3から受信する無線信号の位置情報とを照合し、照合結果に基づき飛行し、出発位置の生産モジュール3から到着位置の生産モジュール3までワーク230を搬送する。
 AMRまたはドローン303は、5G(第5世代移動通信)を利用した測位技術を利用して移動してもよい。
 <G.プログラム>
 PLC2のプロセッサ102は、工程プログラム122を実行することにより、ワーク整流ロジック123を生成する環境を提供する。二次記憶装置108は、当該環境を実現するための、工程プログラム122を含む各種プログラムおよびデータなどを記憶し得る。
 ワーク整流ロジック123を生成する環境を実現する工程プログラム122を含む各種プログラムおよびデータは、上位ネットワークコントローラ105および各種通信回線を介して二次記憶装置108にダウンロードされてもよい。または、メモリカード116を介して二次記憶装置108にダウンロードされるとしてもよい。メモリカード116は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。
 プログラムは、プロセッサ102などの1つ以上のプロセッサ回路により、またはプロセッサ回路とASIC(Application Specific Integrated Circuit),FPGA(Field-Programmable Gate Array)などの回路との組合せにより実行され得る。
 <H.付記>
 本実施の形態では、以下のような技術思想を含む。
[構成1]
 複数工程(31,32,33)を経てワーク(230)を生産する生産システム(1)であって、
 各前記複数工程は、当該工程の作業を並行して実行可能な複数の生産モジュール(3)を有するよう構成され、
 各前記複数の生産モジュールは、前記作業の機器(5)を制御するコントローラ(2)を備え、
 前記複数の生産モジュールが備える複数の前記コントローラはネットワーク(22,22D)接続され、
 前記コントローラは、
  当該コントローラを備える前記生産モジュールの前記作業の時間(201、202、206)を管理する手段(119)と、
  当該コントローラを備える前記生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子(71)を格納する格納手段(108)と、
  前記モジュール識別子と前記作業の時間とを含む共有情報を、前記ネットワークを介して通信し、コントローラ間で共有する共有手段(207、130)と、を備える、生産システム。
[構成2]
 前記コントーラは、さらに、
 前記格納手段が格納する前記モジュール識別子と、ネットワーク接続されるコントローラから受信する前記モジュール識別子とから、前記各工程について、当該工程を構成する前記複数の生産モジュールのモジュール識別子を含む構成情報(125)を取得する情報取得手段(129)を、さらに備える、構成1に記載の生産システム。
[構成3]
 前記共有手段が通信する前記コントローラは、
 前記構成情報の前記モジュール識別子により識別される各生産モジュールであって、当該共有手段を備えるコントローラの工程の次の工程が有する各生産モジュールが備えるコントローラを含む、構成2に記載の生産システム。
[構成4]
 前記共有手段が通信する前記コントローラは、
 前記構成情報の前記モジュール識別子により識別される各生産モジュールであって、当該共有手段を備えるコントローラの工程が有する各生産モジュールが備えるコントローラを含む、構成2または3に記載の生産システム。
[構成5]
 前記コントローラは、さらに、
 当該コントローラの工程から次の工程へワークの流れを調整するワーク整流手段(123、123a、123b)を、備え、
 前記ワーク整流手段は、
 前記構成情報に基づき、当該コントローラの工程が有する複数の生産モジュールと、次の工程が有する複数の生産モジュールとを識別する識別手段(18)と、
 当該コントローラの工程が有する複数の生産モジュールについて作業を完了する順序である第1順序と、次の工程が有する複数の生産モジュールについて作業を完了する順序である第2順序とを、前記共有情報に含まれる前記作業の時間に基づき判定する順判定手段(19)と、
 当該コントローラを備える前記生産モジュールの前記第1順序における順番に対応した前記第2順序における順番の生産モジュールを、前記ワークを流す先に決定する、構成2に記載の生産システム。
[構成6]
 前記共有情報は、さらに、製品種類(73)を含み、
 前記製品種類は、当該共有情報が含む前記モジュール識別子が識別する前記生産モジュールにおいて作業がされるワークによって構成される製品の種類を示す、構成5に記載の生産システム。
[構成7]
 前記コントローラの前記ワーク整流手段は、さらに、
 前記次の工程が有する生産モジュールのうち、当該コントローラを備える前記生産モジュールの前記製品の種類と一致する種類の製品の作業を実施する生産モジュールを、前記ワークを流す先の1つ以上の候補に決定する候補決定手段(17)を、有し、
 前記順判定手段は、
 前記候補決定手段が決定した前記1つ以上の候補の生産モジュールについて前記第2順序を判定する、構成6に記載の生産システム。
[構成8]
 前記作業のためのプログラムを、前記ワークを流す先の前記生産モジュールが備えるコントローラへのダウンロードを要求する要求手段(133)を、さらに備え、
 前記候補決定手段は、さらに、
 前記次の工程の各前記1つ以上の候補の生産モジュールの前記作業の時間と、当該次の工程の各1つ以上の非候補の生産モジュールの前記作業の時間と前記ダウンロードの時間の合計とに基づき、前記1つ以上の候補を決定しなおす、構成7に記載の生産システム。
[構成9]
 前記コントローラは、前記作業のためのプログラムを、前記ワークを流す先の前記生産モジュールが備えるコントローラへのダウンロードを要求する要求手段を、さらに備え、
 前記コントローラの前記ワーク整流手段は、
 当該コントローラの工程の次の工程の生産モジュールに、当該コントローラを備える前記生産モジュールの前記製品の種類と一致する種類の製品の作業を実施する生産モジュールが含まれないとき、前記要求手段に、当該種類の製品の前記作業のためのプログラムのダウンロードを要求させる、構成6から8のいずれか1に記載の生産システム。
[構成10]
 複数工程(31、32、33)を経てワーク(230)を生産する生産システム(1)において実施される方法であって、
 各前記複数工程は、当該工程の作業を並行して実行可能な複数の生産モジュール(3)を有するよう構成され、
 各前記複数の生産モジュールは、前記作業の機器(5)を制御するコントローラ(2)を備え、
 前記複数の生産モジュールに備えられる複数の前記コントローラはネットワーク(22、22D)接続され、
 前記方法は、前記コントローラに備えられるプロセッサ(102)が、
 当該コントローラを備える前記生産モジュールの前記作業の時間を管理するステップと、
 当該コントローラを備える前記生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子を格納するステップと、
 前記モジュール識別子と前記作業の時間とを含む共有情報を、前記ネットワークを介して通信しコントローラ間で共有するステップと、を備える、方法。
 [構成11]
 構成10に記載の方法をプロセッサに実行させるためのプログラム。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 生産システム、3,3A1,3B1,3B2,3B3,3C1,3C2,3C3,A1,A3,B1,C1,C3 生産モジュール、5,5A1,5A2,5A3,5B1,5B2,5B3,5C3,5C1,5C2 フィールド機器、17 候補決定部、18 識別部、19 順判定部、21 スイッチ、31 ねじ締め工程、32 はんだ付工程、33 組立工程、73 製品種類、102 プロセッサ、119 タイマ、120 要求プログラム、122 工程プログラム、123,123a,123b ワーク整流ロジック、124 定義ファイル、125 構成情報、126 クラスデータ、127 工程モジュール、128 ユーザ設定モジュール、129 構成取得モジュール、130 データ通信設定モジュール、131 ロジック生成モジュール、132 ユーザ設定、133 要求モジュール、135 リクエスト、136 順序、190 サーバ、191 ストレージ、192 配信部、201 残り時間、202 実作業時間、203,213 共有データセット、206 設定作業時間、207 データセット定義、230 ワーク、300 ワーク搬送装置、301 ロボットアーム、303 ドローン、310 搬送指令、1341 IPアドレス、71 モジュールID。

Claims (11)

  1.  複数工程を経てワークを生産する生産システムであって、
     各前記複数工程は、当該工程の作業を並行して実行可能な複数の生産モジュールを有するよう構成され、
     各前記複数の生産モジュールは、前記作業の機器を制御するコントローラを備え、
     前記複数の生産モジュールが備える複数の前記コントローラはネットワーク接続され、
     前記コントローラは、
      当該コントローラを備える前記生産モジュールの前記作業の時間を管理する手段と、
      当該コントローラを備える前記生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子を格納する格納手段と、
      前記モジュール識別子と前記作業の時間とを含む共有情報を、前記ネットワークを介して通信し、コントローラ間で共有する共有手段と、を備える、生産システム。
  2.  前記コントーラは、さらに、
     前記格納手段が格納する前記モジュール識別子と、ネットワーク接続されるコントローラから受信する前記モジュール識別子とから、前記各工程について、当該工程を構成する前記複数の生産モジュールのモジュール識別子を含む構成情報を取得する情報取得手段を、さらに備える、請求項1に記載の生産システム。
  3.  前記共有手段が通信する前記コントローラは、
     前記構成情報の前記モジュール識別子により識別される各生産モジュールであって、当該共有手段を備えるコントローラの工程の次の工程が有する各生産モジュールが備えるコントローラを含む、請求項2に記載の生産システム。
  4.  前記共有手段が通信する前記コントローラは、
     前記構成情報の前記モジュール識別子により識別される各生産モジュールであって、当該共有手段を備えるコントローラの工程が有する各生産モジュールが備えるコントローラを含む、請求項2または3に記載の生産システム。
  5.  前記コントローラは、さらに、
     当該コントローラの工程から次の工程へワークの流れを調整するワーク整流手段を、備え、
     前記ワーク整流手段は、
     前記構成情報に基づき、当該コントローラの工程が有する複数の生産モジュールと、次の工程が有する複数の生産モジュールとを識別する識別手段と、
     当該コントローラの工程が有する複数の生産モジュールについて作業を完了する順序である第1順序と、次の工程が有する複数の生産モジュールについて作業を完了する順序である第2順序とを、前記共有情報に含まれる前記作業の時間に基づき判定する順判定手段と、を備え、
     当該コントローラを備える前記生産モジュールの前記第1順序における順番に対応した前記第2順序における順番の生産モジュールを、前記ワークを流す先に決定する、請求項2に記載の生産システム。
  6.  前記共有情報は、さらに、製品種類を含み、
     前記製品種類は、当該共有情報が含む前記モジュール識別子が識別する前記生産モジュールにおいて作業がされるワークによって構成される製品の種類を示す、請求項5に記載の生産システム。
  7.  前記コントローラの前記ワーク整流手段は、さらに、
     前記次の工程が有する生産モジュールのうち、当該コントローラを備える前記生産モジュールの前記製品の種類と一致する種類の製品の作業を実施する生産モジュールを、前記ワークを流す先の1つ以上の候補に決定する候補決定手段を、有し、
     前記順判定手段は、
     前記候補決定手段が決定した前記1つ以上の候補の生産モジュールについて前記第2順序を判定する、請求項6に記載の生産システム。
  8.  前記作業のためのプログラムを、前記ワークを流す先の前記生産モジュールが備えるコントローラへのダウンロードを要求する要求手段を、さらに備え、
     前記候補決定手段は、さらに、
     前記次の工程の各前記1つ以上の候補の生産モジュールの前記作業の時間と、当該次の工程の各1つ以上の非候補の生産モジュールの前記作業の時間と前記ダウンロードの時間の合計とに基づき、前記1つ以上の候補を決定しなおす、請求項7に記載の生産システム。
  9.  前記コントローラは、前記作業のためのプログラムを、前記ワークを流す先の前記生産モジュールが備えるコントローラへのダウンロードを要求する要求手段を、さらに備え、
     前記コントローラの前記ワーク整流手段は、
     当該コントローラの工程の次の工程の生産モジュールに、当該コントローラを備える前記生産モジュールの前記製品の種類と一致する種類の製品の作業を実施する生産モジュールが含まれないとき、前記要求手段に、当該種類の製品の前記作業のためのプログラムのダウンロードを要求させる、請求項6から8のいずれか1項に記載の生産システム。
  10.  複数工程を経てワークを生産する生産システムにおいて実施される方法であって、
     各前記複数工程は、当該工程の作業を並行して実行可能な複数の生産モジュールを有するよう構成され、
     各前記複数の生産モジュールは、前記作業の機器を制御するコントローラを備え、
     前記複数の生産モジュールに備えられる複数の前記コントローラはネットワーク接続され、
     前記方法は、前記コントローラに備えられるプロセッサが、
     当該コントローラを備える前記生産モジュールの前記作業の時間を管理するステップと、
     当該コントローラを備える前記生産モジュールの識別子であって、当該生産モジュールを有する工程の識別子を含むモジュール識別子を格納するステップと、
     前記モジュール識別子と前記作業の時間とを含む共有情報を、前記ネットワークを介して通信しコントローラ間で共有するステップと、を備える、方法。
  11.  請求項10に記載の方法をプロセッサに実行させるためのプログラム。
PCT/JP2021/034691 2021-03-01 2021-09-22 生産システム、方法およびプログラム WO2022185588A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-031353 2021-03-01
JP2021031353A JP2022132735A (ja) 2021-03-01 2021-03-01 生産システム、方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2022185588A1 true WO2022185588A1 (ja) 2022-09-09

Family

ID=83154187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034691 WO2022185588A1 (ja) 2021-03-01 2021-09-22 生産システム、方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2022132735A (ja)
WO (1) WO2022185588A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130094A (ja) * 2016-01-21 2017-07-27 ファナック株式会社 セル制御装置、及び製造セルにおける複数の製造機械の稼働状況を管理する生産システム
JP2017134786A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 製造機械の異常の原因を発見するセル制御装置
JP2017188038A (ja) * 2016-04-08 2017-10-12 ファナック株式会社 製造セルの稼働率を向上させる製造管理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130094A (ja) * 2016-01-21 2017-07-27 ファナック株式会社 セル制御装置、及び製造セルにおける複数の製造機械の稼働状況を管理する生産システム
JP2017134786A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 製造機械の異常の原因を発見するセル制御装置
JP2017188038A (ja) * 2016-04-08 2017-10-12 ファナック株式会社 製造セルの稼働率を向上させる製造管理システム

Also Published As

Publication number Publication date
JP2022132735A (ja) 2022-09-13

Similar Documents

Publication Publication Date Title
US11126168B2 (en) Automatic discovery and persistence of data for industrial automation equipment
Tan et al. Modeling, planning, and scheduling of shop-floor assembly process with dynamic cyber-physical interactions: a case study for CPS-based smart industrial robot production
KR102257938B1 (ko) 산업 애플리케이션들을 위한 스킬 인터페이스
CN102833141A (zh) 一种基于DSP28335的CANopen从站系统
Yao et al. Design of a machine tool control system for function reconfiguration and reuse in network environment
WO2021002059A1 (ja) 制御システム、設定装置およびコンピュータプログラム
WO2019056947A1 (zh) 一种用于移动机器人的定时任务的方法及系统
Bennulf et al. Identification of resources and parts in a Plug and Produce system using OPC UA
CN111149126A (zh) 用于生产规划的方法
JP2005129026A (ja) プログラマブルコントローラおよび通信ユニットならびにコントローラシステムおよびデータ処理方法ならびに変数解決方法およびデータ受渡方法
WO2022185588A1 (ja) 生産システム、方法およびプログラム
JP7310495B2 (ja) 制御システム、情報処理装置およびプログラム
JP5611158B2 (ja) データ中継制御装置、リンク間転送設定支援装置およびリンク間転送設定方法
EP4020104A1 (en) Control system, control device, and program
JP4883194B2 (ja) プログラマブルコントローラおよびコントローラシステム
Tyrovolas et al. Inter-communication between Programmable Logic Controllers using IoT technologies: A Modbus RTU/MQTT Approach
EP3865965B1 (en) Control system and control method
Atmojo et al. Towards an OPC UA Compliant Programming Approach with Formal Model of Computation for Dynamic Reconfigurable Automation Systems
TW202232394A (zh) 基於角色指派的動態配置方法、電子設備及媒體
CN114556889B (zh) 用于配置opc ua发布订阅用户的方法、自动化系统和计算机可读介质
US20230273598A1 (en) Sharing world model objects between multiple autonomous systems
JP7415345B2 (ja) 制御システム、サポート装置および設定プログラム
JP4596153B2 (ja) プログラマブルコントローラおよびコントローラシステムならびに変数解決方法
Liu et al. RoboKube: Establishing a New Foundation for the Cloud Native Evolution in Robotics
Yang et al. OPC UA Discovery-Driven Dynamic Reconfiguration of Robotic Manufacturing Systems: Method and Deployment

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

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

Country of ref document: EP

Kind code of ref document: A1