WO2014115870A1 - 制御装置および制御装置の動作方法 - Google Patents

制御装置および制御装置の動作方法 Download PDF

Info

Publication number
WO2014115870A1
WO2014115870A1 PCT/JP2014/051676 JP2014051676W WO2014115870A1 WO 2014115870 A1 WO2014115870 A1 WO 2014115870A1 JP 2014051676 W JP2014051676 W JP 2014051676W WO 2014115870 A1 WO2014115870 A1 WO 2014115870A1
Authority
WO
WIPO (PCT)
Prior art keywords
slave
data
network
restore
processing
Prior art date
Application number
PCT/JP2014/051676
Other languages
English (en)
French (fr)
Inventor
彰男 小野
成憲 澤田
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP14743386.6A priority Critical patent/EP2937751B1/en
Priority to CN201480005768.6A priority patent/CN104956273B/zh
Publication of WO2014115870A1 publication Critical patent/WO2014115870A1/ja
Priority to US14/801,973 priority patent/US20150362903A1/en

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
    • G05B19/058Safety, monitoring
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24007Backup data if microprocessor not responding

Definitions

  • the present invention relates to a control device that functions as a master device in a network and controls one or a plurality of slave devices via the network, and an operation method thereof.
  • PLC programmable controller
  • the PLC is connected to one or a plurality of slave devices (typically, remote IO (Input / Output) devices, servo motor drivers, etc.) via a network called a field bus. Is done.
  • slave devices typically, remote IO (Input / Output) devices, servo motor drivers, etc.
  • Cited Document 1 discloses a programmable controller that can back up or restore a setting value of a target parameter of a communication device.
  • This programmable controller has backup procedure information and restore procedure information, and performs backup / restore based on the procedure information when performing backup / restore.
  • the device configuration can be changed arbitrarily. For this reason, the device configuration may differ between backup and restore.
  • the procedure information is prepared in advance, so that the device configuration is different between the backup time and the restore time.
  • restoration cannot be performed properly.
  • the present invention has been made in consideration of the above points, and the object thereof is even when the slave device connected to the control device via the network has been changed since the data was created. Another object of the present invention is to provide a control device capable of performing a restore process on a slave device as much as possible and an operation method thereof.
  • a control device that functions as a master device in a network and controls one or a plurality of slave devices via the network.
  • the control device includes device configuration information including information on validity / invalidity of network connection for each slave device registered as a member of the network, and parameters necessary for controlling the registered slave device.
  • a storage unit that holds the setting information; and a processing unit that can execute a restore process using data including the setting information.
  • the processing unit reads the device configuration information at the time of executing the restore process, and among the target slave devices included in the data, on the slave device for which network connection is valid in the read device configuration information or on the network
  • the existing slave device is specified, and the setting information corresponding to the specified slave device is restored.
  • the restore process includes a process of transmitting necessary data from the control device to the slave device to be restored.
  • the processing unit corresponds to setting information included in the data when the network connection of any of the slave devices becomes valid, or when any of the slave devices comes on the network. Restore.
  • the data is provided from a support device.
  • the processing unit is configured to further execute a backup process for generating data using data from the storage unit and the slave device.
  • a method of operating a control device that functions as a master device in a network and controls one or more slave devices via the network.
  • the operation method includes device configuration information including information on validity / invalidity of network connection for each slave device registered as a network member, and parameters necessary for controlling the registered slave device. Holding the setting information, and executing a restore process using data including the setting information.
  • the step of executing the restore process reads the device configuration information and exists on the slave device whose network connection is valid in the read device configuration information among the target slave devices included in the data or on the network A step of identifying the slave device that is currently operating and restoring setting information corresponding to the identified slave device.
  • the restore processing for the slave device can be performed as much as possible.
  • FIG. 6 is a schematic diagram for explaining a backup process / restoration process according to the first embodiment.
  • FIG. 3 is a flowchart illustrating a procedure of backup processing according to the first embodiment.
  • 4 is a flowchart showing a procedure of restore processing according to the first embodiment.
  • FIG. 10 is a schematic diagram for explaining a restore process according to the second embodiment.
  • 10 is a flowchart illustrating a procedure of restore processing (part 1) according to the second embodiment.
  • FIG. 10 is a schematic diagram illustrating an example of information relating to a record of completion of a restore process in the restore process (part 1) according to the second embodiment.
  • 10 is a flowchart illustrating a procedure of additional restore processing (part 1) according to the second embodiment.
  • 10 is a flowchart showing a procedure of additional restore processing (part 2) according to the second embodiment.
  • FIG. 10 is a schematic diagram for explaining an overview of a backup process / restoration process according to a third embodiment.
  • FIG. 1 is a diagram for explaining an example of a device configuration controlled using the control system according to the present embodiment.
  • FIG. 1 shows a configuration example of a multi-chamber semiconductor manufacturing apparatus.
  • the semiconductor manufacturing apparatus 1 shown in FIG. 1A shows a configuration in which a plurality of process chambers 20, 22, 24, and 26 are provided around the transfer chamber 10. In each process chamber, a vacuum process is performed on the substrate. Gate valves 21, 23, 25, and 27 are provided between the process chambers 20, 22, 24, and 26 and the transfer chamber 10, respectively, and switch between a communication state / blocking state with the transfer chamber 10. .
  • a transfer robot 12 is provided in the transfer chamber 10. The transfer robot 12 inserts a substrate before processing into one of the process chambers 20, 22, 24, 26, or takes out a substrate after processing from the process chambers 20, 22, 24, 26.
  • the transfer chamber 10 is provided with load lock chambers 30 and 34.
  • the load lock chambers 30 and 34 carry in and out the substrate to be processed, and maintain the inside of the transfer chamber 10 and the process chambers 20, 22, 24, and 26 in a vacuum. More specifically, the load lock chamber 30 is connected to the transfer chamber 10 via the communication portion 33, and gate valves 31 and 32 are provided on the inlet side and the outlet side of the transfer chamber 10. Similarly, the load lock chamber 34 is connected to the transfer chamber 10 via a communication portion 37, and gate valves 35 and 36 are provided on the entrance side and the exit side of the transfer chamber 10.
  • the load lock chambers 30 and 34 are alternately used for loading and unloading the substrate to be processed.
  • the semiconductor manufacturing apparatus 1 shown in FIG. 1A is a basic configuration, and there are a semiconductor manufacturing apparatus 2 shown in FIG. 1B and a semiconductor manufacturing apparatus 3 shown in FIG. 1C as variations. More specifically, the semiconductor manufacturing apparatus 2 shown in FIG. 1B corresponds to the semiconductor manufacturing apparatus 1 shown in FIG. 1A in which the first process chamber 20 and the gate valve 21 are removed. The semiconductor manufacturing apparatus 3 shown in FIG. 1C corresponds to the semiconductor manufacturing apparatus 1 shown in FIG. 1A in which the fourth process chamber 26 and the gate valve 27 are removed.
  • This embodiment is typically for a control system constructed using such a partially common project and a control system applied to a device whose configuration is changed according to the situation. Provide a configuration that can flexibly perform backup processing and restoration processing.
  • FIG. 2 is a schematic diagram illustrating a configuration example of a control system according to the present embodiment.
  • the control system shown in FIG. 2 is directed to the semiconductor manufacturing apparatus 1 shown in FIG.
  • the control system SYS includes a PLC 100, a servo motor driver 210 and a remote IO terminal 200 connected to the PLC 100 via a network.
  • a field network 108 is employed as a network.
  • the PLC 100 functions as a “master device” that manages communication processing in the field network 108. This master device may be referred to as a “master station” or a “management station”.
  • the servo motor driver 210 and the remote IO terminal 200 connected to the PLC 100 via the field network 108 are referred to as “slave devices” or “devices” in the sense of comparison with the PLC 100 which is the master device. Assume that each slave device on the field network 108 is identified by a node number.
  • the PLC 100 as the master device functions as a master device in the network and controls one or a plurality of slave devices via the network.
  • a field network 108 various types of industrial Ethernet (registered trademark) can be used.
  • industrial Ethernet registered trademark
  • examples of the industrial Ethernet (registered trademark) include EtherCAT (registered trademark), PROFINET (registered trademark), MECHATROLINK (registered trademark) -III, Powerlink, SERCOS (registered trademark) -III, and CIP Motion.
  • a field network other than industrial Ethernet (registered trademark) may be used.
  • DeviceNet, CompoNet (registered trademark), or the like may be used.
  • the PLC 100 includes a CPU unit 110, an IO unit 120, and a power supply unit 130.
  • the CPU unit 110 is a processing unit that executes main arithmetic processing, and executes arithmetic processing based on a program and setting information as described later.
  • the IO unit 120 is an example of a functional unit configured to exchange data with each other via the CPU unit 110 and a PLC internal bus (not shown). More specifically, the IO unit 120 is a unit related to general input / output processing, and controls input / output of binarized data such as on / off. That is, the IO unit 120 collects information indicating whether a sensor such as a detection switch is detecting a certain object (ON) or not detecting any object (OFF). To do. Further, the IO unit 120 outputs either a command for activation (ON) or a command for inactivation (OFF) to an output destination such as a relay or an actuator.
  • a special unit having functions not supported by the IO unit 120 such as analog data input / output, temperature control, and communication using a specific communication method, may be mounted.
  • the power supply unit 130 supplies power of an appropriate voltage to the CPU unit 110 and the IO unit 120.
  • the support device 300 is connected to the PLC 100 via a connection cable or the like. More specifically, the CPU unit 110 of the PLC 100 is provided with a USB (Universal Serial Bus) connector 102 for connection to the support device 300. As will be described later, a program for realizing various processes in the support apparatus 300 is stored and distributed in an optical recording medium such as a CD-ROM (Compact Disk-Read Only Memory) 390.
  • CD-ROM Compact Disk-Read Only Memory
  • the CPU unit 110 of the PLC 100 is provided with a memory card interface 106 for mounting the memory card 380.
  • the memory card 380 stores backup data as will be described later.
  • FIG. 2 shows an example of a device for controlling each of the transfer chamber 10 and the process chambers 20, 22, 24, and 26 constituting the semiconductor manufacturing apparatus 1 shown in FIG.
  • the transfer chamber 10 includes two servo motor drivers 210 and a remote IO terminal 200. These pieces of identification information are assumed to be nodes 1, 2, and 3, respectively.
  • Servo motor driver 210 is connected to CPU unit 110 via field network 108 and drives servo motor 212 in accordance with a command value from CPU unit 110.
  • the remote IO terminal 200 performs processing related to general input / output processing, like the IO unit 120. More specifically, the remote IO terminal 200 includes a communication coupler 202 for performing processing related to data transmission in the field network 108 and one or more IO units 204.
  • the first process chamber 20 includes two servo motor drivers 210 and a remote IO terminal 200, similar to the transfer chamber 10. These pieces of identification information are assumed to be nodes 11, 12, and 13, respectively.
  • the fourth process chamber 26 includes one servo motor driver 210 and a remote IO terminal 200. These pieces of identification information are assumed to be nodes 41 and 42, respectively.
  • FIG. 3 is a schematic diagram showing a hardware configuration of CPU unit 110 of PLC 100 according to the present embodiment.
  • the CPU unit 110 of the PLC 100 includes a chip set 111, a microprocessor 112, a main memory 113, a nonvolatile memory 114, a field, in addition to the USB connector 102 and the memory card interface 106 described above.
  • a network controller 116 and a PLC system bus controller 117 are included.
  • the chipset 111 and each component are coupled via various buses.
  • the chipset 111 and the microprocessor 112 are typically configured according to a general-purpose computer architecture. That is, the microprocessor 112 interprets and executes instruction codes sequentially supplied from the chipset 111 according to the internal clock.
  • the chip set 111 exchanges internal data with each connected component, and gives necessary instruction codes to the microprocessor 112.
  • the chip set 111 has a function of caching data obtained as a result of execution of arithmetic processing by the microprocessor 112.
  • the CPU unit 110 includes a main memory 113 and a nonvolatile memory 114 as a storage unit.
  • the main memory 113 is a volatile storage area, holds a program executed by the microprocessor 112, and is also used as a working memory when the program is executed.
  • the nonvolatile memory 114 holds a program and setting information as will be described later in a nonvolatile manner.
  • the USB connector 102 is an interface for connecting the support device 300 and the CPU unit 110. Typically, an executable program or the like transferred from the support device 300 is taken into the CPU unit 110 via the USB connector 102.
  • the CPU unit 110 includes a field network controller 116 and a PLC system bus controller 117 as a communication unit. These controllers send and receive data.
  • the field network controller 116 is connected to the field network 108 via the field network connector 104.
  • the PLC system bus controller 117 is connected to the IO unit 120 (FIG. 2) or the like via an internal bus.
  • FIG. 4 is a schematic diagram showing a software configuration of the CPU unit 110 of the PLC 100 according to the present embodiment.
  • the nonvolatile memory 114 of the CPU unit 110 includes system configuration information 150, a user program 160, a library program 170, a real-time OS (Operating System) 180, and firmware 190.
  • the system configuration information 150 includes information that defines the configuration and settings of the control system including the PLC 100. Specifically, the system configuration information 150 includes device configuration information 152 and slave setting information 154.
  • the device configuration information 152 includes information on validity / invalidity of the network connection for each slave device registered as a member of the field network 108. That is, the device configuration information 152 includes information on presence / absence of slave devices managed by the PLC 100 serving as a controller, and information on connection forms. Specifically, the configuration of the control system as shown in FIG. 2, that is, which slave device is connected and which address (node number) is assigned to each slave device is defined. Is done. In other words, the device configuration information 152 includes information on the connection state of the slave device and / or information on the valid state or the invalid state. An example of the data structure of the device configuration information 152 will be described later.
  • the slave setting information 154 includes setting information (parameters, allocation information, etc.) for each slave device necessary for executing a program in the PLC 100 (CPU unit 110). Specifically, the slave setting information 154 includes a user program and setting values associated with each slave device. That is, the slave setting information 154 includes parameters necessary for controlling the registered slave device. Further, some slave devices hold user programs and setting values, and in this case, the slave setting information 154 may include user programs and setting values stored in each slave device.
  • the user program 160 is a program created by the user using the support device 300, and is arbitrarily created according to the machine or equipment to be controlled.
  • the user program 160 is typically transferred from the support device 300 to the PLC 100 (CPU unit 110).
  • the library program 170 includes execution modules and subroutines that are necessary when the CPU unit 110 executes the user program 160.
  • the library program 170 is a program for providing an environment for executing a user program in the PLC 100 (CPU unit 110). More specifically, the library program 170 includes a motion calculation module 172, a sequence command processing module 174, an input / output processing module 176, and a scheduler 178.
  • the motion calculation module 172 provides a function related to motion calculation for giving various commands to the servo motor driver 210.
  • the sequence command processing module 174 provides a function for processing commands related to sequence control.
  • the input / output processing module 176 provides functions related to acquisition of external data and output of internal data.
  • the scheduler 178 provides a function for optimizing the execution order of a plurality of tasks included in the user program 160 in accordance with each priority and interrupt level.
  • the real-time OS 180 provides an environment for executing the user program 160. More specifically, the real-time OS 180 cooperates with the scheduler 178 to optimize the execution order of the user program 160 so that each task is completed within a predetermined processing time.
  • the firmware 190 is a primitive program that is executed in the initial stage when the real-time OS 180 is activated. Typically, the backup process and the restore process according to the present embodiment are realized by the firmware 190.
  • FIG. 5 is a schematic diagram showing a hardware configuration of the servo motor driver 210 according to the present embodiment.
  • the servo motor driver 210 drives the servo motor 212 according to a command transmitted from the PLC 100 via the field network 108. More specifically, the servo motor driver 210 includes a communication unit 250, an input / output unit 252, a drive circuit 254, and an arithmetic processing unit 260.
  • the communication unit 250 transmits and receives data flowing through the field network 108. That is, the communication unit 250 outputs data received via the field network 108 to the arithmetic processing unit 260 and transmits data from the arithmetic processing unit 260 via the field network 108.
  • the input / output unit 252 executes general input / output processing in the same manner as the IO unit 120 (FIG. 2). That is, the input / output unit 252 collects information from various sensors such as detection switches and gives commands to output destinations such as relays and actuators.
  • the drive circuit 254 generates a drive pulse train and the like for driving the servo motor 212 from an external power source (not shown) in accordance with an internal command from the arithmetic processing unit 260. More specifically, the drive circuit 254 includes an inverter circuit, a PWM (Pulse Width Modulation) conversion circuit, and the like.
  • PWM Pulse Width Modulation
  • the arithmetic processing unit 260 is a control entity that executes the main arithmetic processing of the servo motor driver 210, and includes a processor 262 and a memory 264.
  • the processor 262 executes arithmetic processing according to programs and setting values held in the memory 264, and outputs necessary commands and arithmetic results to the communication unit 250, the input / output unit 252, and the drive circuit 254.
  • the memory 264 holds various data necessary for arithmetic processing by the processor 262. Some data stored in the memory 264 is transmitted from the PLC 100 (CPU unit 110) via the field network 108.
  • remote IO terminal 200 is similar to the PLC 100 in the main part and will not be described in detail.
  • FIG. 6 is a schematic diagram showing a hardware configuration of support device 300 connected to PLC 100 according to the present embodiment.
  • the support device 300 is typically composed of a general-purpose computer.
  • the support device 300 includes a CPU 302 that executes various programs including an OS (Operating System), a ROM (Read Only Memory) 304 that stores BIOS (Basic Input Output System) and various data, and a CPU 302.
  • OS Operating System
  • ROM Read Only Memory
  • BIOS Basic Input Output System
  • CPU 302. A memory RAM 306 that provides a work area for holding data necessary for executing the program in the computer, and a hard disk (HDD) 308 that holds the program executed by the CPU 302 in a nonvolatile manner.
  • HDD hard disk
  • the support device 300 further includes a keyboard 310 and a mouse 312 that receive operations from the user, and a display 314 for presenting information to the user. Furthermore, the support device 300 includes a communication interface (IF) 318 for communicating with the PLC 100 (CPU unit 110) and the like.
  • IF communication interface
  • the support program (see FIG. 7) executed by the support device 300 is stored in the CD-ROM 390 and distributed.
  • the program stored in the CD-ROM 390 is read by the CD-ROM driving device 316 and stored in the hard disk 308 or the like.
  • the program may be downloaded from a host computer or the like via a network.
  • the components constituting the support device 300 are coupled to each other via a bus 320.
  • FIG. 7 is a schematic diagram showing a software configuration of the support device 300 connected to the PLC 100 according to the present embodiment.
  • OS 350, support program 360, and project 370 are typically stored in hard disk 308 of support device 300.
  • the OS 350 provides an environment in which the CPU 302 executes a program.
  • the support program 360 is a program for controlling processing in the PLC 100.
  • the support program 360 includes a debugger program 362, a compiler program 364, and an editor program 366.
  • the debugger program 362 evaluates the legitimacy of the created user program and supports the correction of defects.
  • the compiler program 364 generates an executable user program from the created user program (source program).
  • the editor program 366 provides an interface for generating a user program.
  • Project 370 includes programs and setting values necessary for constructing a certain control system. Specifically, the project 370 includes a user program 376, device configuration information 372, and slave setting information 374 for each slave device. These data are transferred from the support apparatus 300 to the PLC 100 and stored as the user program 160, device configuration information 152, and slave setting information 154, respectively.
  • FIG. 8 is a schematic diagram for explaining the construction procedure of the control system according to the present embodiment.
  • a user creates a project relating to a basic device configuration (for example, semiconductor manufacturing apparatus 1 shown in FIG. 1A) ((1) project creation). .
  • the user creates a user program 376 (source program) for realizing processing according to the purpose, and sets device configuration information 372 and slave setting information 374 related to the slave device included in the control system. To do.
  • the user program 376 of the project 370 is compiled and transferred to the control system related to the device configuration 1 together with the device configuration information 372 and the slave setting information 374 ((2) Compile + transfer).
  • the user updates the previously created project 370 according to the device configuration 2 similar to the device configuration 1 ((3) project update). More specifically, the device configuration information 372 and the slave setting information 374 are updated according to the difference in the system configuration, or the logic of the user program 376 is changed according to the difference in requested processing contents.
  • the user program 376 of the project 370 is compiled and transferred to the control system related to the device configuration 2 together with the device configuration information 372 and the slave setting information 374 ((4) compilation + transfer).
  • the user updates the previously created project 370 according to the device configuration 3 similar to the device configuration 1 ((5) project update). More specifically, the device configuration information 372 and the slave setting information 374 are updated according to the difference in the system configuration, or the logic of the user program 376 is changed according to the difference in requested processing contents. When these updates are completed, the user program 376 of the project 370 is compiled and transferred together with the device configuration information 372 and the slave setting information 374 to the control system related to the device configuration 2 ((6) compilation + transfer).
  • FIG. 9 is a schematic diagram showing an example of the data structure of the device configuration information 372 according to the present embodiment.
  • device configuration information 372 includes information on slave devices registered as members of field network 108 and information on validity / invalidity of network connection for each of the slave devices. That is, the device configuration information 372 shown in FIG. 9 includes a plurality of entries divided into node numbers of the field network 2, and each entry includes identification information for specifying a slave device, network connection validity / And invalid information.
  • the identification information includes the device number of the slave device.
  • invalid of the network connection means that data communication with the master device PLC 100 is ignored. In the “invalid” state, it is not determined whether or not a slave device having identification information that matches the registered identification information is connected to the field network 2. On the other hand, “valid” of the network connection means that data communication with the PLC 100 as the master device is scheduled. Therefore, in the “valid” state, if a slave device having identification information that matches the registered identification information is not connected to the field network 2, it is determined as an error.
  • FIG. 10 is a diagram illustrating an example of the device configuration 1 illustrated in FIG.
  • FIG. 11 is a diagram illustrating an example of the device configurations 2 and 3 illustrated in FIG. Note that the device configuration examples shown in FIGS. 10 and 11 are similar to the control system shown in FIG.
  • FIG. 12 is a diagram illustrating an example of changes to the device configuration information 372 illustrated in FIG.
  • slave devices of the PLC 100 functioning as a master device, slave devices A to C (nodes 1 to 3), slave devices J to L (nodes 11 to 13), slave devices S and T It is assumed that (nodes 41 and 42) are connected.
  • slave devices J to L are removed as compared with device configuration 1 shown in FIG. 10, and in device configuration 3 shown in FIG. Assume that the slave devices S and T are removed as compared with the device configuration 1 shown in FIG.
  • device configuration information 372 as shown in FIG. 9 is set.
  • device configuration information 372 as shown in FIG. 12A is set for the device configuration 2 shown in FIG. That is, the status values of the slave devices J to L that do not exist are changed from “valid” to “invalid”.
  • device configuration information 372 as shown in FIG. 12B is set for the device configuration 3 shown in FIG. That is, the status value of the slave devices S and T that do not exist is changed from “valid” to “invalid”.
  • the slave device even if the slave device does not actually exist, it is not necessary to delete the identification information itself of the slave device in the device configuration information 372. Instead, the status value of the slave device that does not exist only needs to be set to “invalid”.
  • a control system can be easily configured for a plurality of similar device configurations. Or when a device configuration is changed at any time according to a situation, a change of a program executed by PLC100 can be facilitated.
  • the user selects whether or not to use each device by creating a basic project including all device configurations and setting the device configuration information 372. In this way, it can be realized by appropriately changing the device configuration information 372 according to the device configuration of the target apparatus and transferring it to the PLC 100 (CPU unit 110).
  • a module (function) that dynamically changes the device configuration information 372 may be used to change the device configuration information 372 appropriately according to the device configuration using a user program.
  • the user operates the display unit or the like to instruct the PLC 100.
  • FIG. 13 is a schematic diagram for explaining an overview of the backup process / restoration process implemented in the PLC 100 according to the present embodiment.
  • FIG. 13A shows the outline of the backup process
  • FIG. 13B shows the outline of the restore process.
  • the user restores necessary data or the like (restoration processing) using previously acquired backup data. That is, the backup data according to the present embodiment is typically used to solve a problem of the control system.
  • the restoration process is started when a memory card 380 such as an SD (Secure Digital) card is inserted into the PLC 100, or the restoration process starts when a button or the like provided on the PLC 100 is operated. It is assumed that a simple process is performed.
  • SD Secure Digital
  • backup data 400 is generated from the data held by the PLC 100 (CPU unit 110) and the data held by each slave device.
  • the generated backup data 400 is held in the nonvolatile memory 114 or the memory card 380 of the CPU unit 110. Alternatively, it may be transferred from the CPU unit 110 to the support device 300 and held in various recording media in the support device 300 or connected to the support device 300.
  • CPU data 402 that is a copy of the data held in the nonvolatile memory 114 (FIG. 3) of the CPU unit 110 and slave setting information 404 that is a copy of the data held in each slave device.
  • the backup data 400 is generated.
  • the data included in the backup data 400 is not limited to this, and may include data held in the main memory 113 (FIG. 3) of the CPU unit 110.
  • the CPU data 402 of the backup data 400 includes the following data as an example.
  • the slave setting information 404 of the backup data 400 includes the following data as an example.
  • the backup data 400 includes data held by the PLC 100 (CPU unit 110), which is the master device, and / or data held by the slave device. Further, the PLC 100 (CPU unit 110) is configured to be able to execute backup processing for generating backup data 400 using data from the memory card 380 and the slave device.
  • the restore process shown in FIG. 13B will be described.
  • the PLC 100 (CPU unit 110) generates the CPU data 402 and the slave setting information 404 from the backup data 400 prepared in advance, and overwrites the contents of the nonvolatile memory 114 with the CPU data 402.
  • the slave setting information 154 held in the PLC 100 (CPU unit 110) is overwritten with the slave setting information 404.
  • the PLC 100 (CPU unit 110) transfers the contents of the slave setting information 404 (the slave setting information 154 after overwriting) to the target slave device as necessary.
  • this restore processing includes (1) that the memory card 380 for storing the backup data 400 is attached to the CPU unit 110, and (2) a predetermined operation (for example, provided in the CPU unit 110). (3) the support device 300 has received an explicit instruction, and the like.
  • the CPU unit 110 corresponding to the processing unit according to the present embodiment can execute the restore process using the backup data 400 including the setting information for each slave device.
  • the restore processing according to the present embodiment includes processing for transmitting necessary data from the PLC 100 (CPU unit 110) to the slave device to be restored.
  • FIG. 14 is a schematic diagram for explaining the backup processing / restoration processing related to the present embodiment.
  • FIG. 14 shows an example in which two facilities having different device configurations exist. That is, a device configuration including the transfer chamber 10 and the first process chamber 20 and a device configuration including the transfer chamber 10 and the fourth process chamber 26 are assumed.
  • the number of slave devices is simplified, but any device configuration may include additional slave devices.
  • the backup data 400-1 acquired in the control system composed of the transfer chamber 10 and the first process chamber 20 includes setting information and programs related to the transfer chamber 10 and the first process chamber 20.
  • the backup data 400-2 acquired in the control system including the transfer chamber 10 and the fourth process chamber 26 includes setting information and programs related to the transfer chamber 10 and the fourth process chamber 26.
  • the restore process when performing the restore process using the backup data 400, it is a condition that the device configuration of the control system to be restored is the same as the device configuration when the backup data 400 is generated. For this reason, the setting information and program related to the transfer chamber 10 are common to the control system, but the restore process is performed on the control system including the transfer chamber 10 and the fourth process chamber 26 using the backup data 400-1. Can't do it. Similarly, restoration processing cannot be performed on the control system including the transfer chamber 10 and the first process chamber 20 using the backup data 400-2.
  • the device configuration in the control system is changed, and the device configuration needs to be the same during backup processing and during restoration. That is, if the device configuration is different, an error occurs at the start or midway of the restore process.
  • the support apparatus 300 is used to forcibly match the device configuration and a part of the data included in the backup data 400 cannot be selected and used for the restore process, the procedure is very complicated. Therefore, there is a high possibility that the restoration process will fail.
  • the present embodiment aims to solve such a problem. More specifically, the CPU unit 110 corresponding to the processing unit reads the device configuration information at the time of executing the restore process, and among the target slave devices included in the backup data 400, the CPU unit 110 is connected to the network. The slave device in which is enabled or the slave device existing on the field network 108 is specified, and the setting information corresponding to the specified slave device is restored. That is, the CPU unit 110 according to the present embodiment selectively extracts setting information and programs related to slave devices that are effectively included in the target control system from the backup data 400, and executes a restore process.
  • the CPU unit 110 has a slave device in which network connection is valid and a slave that exists on the network even if the device configuration is different from that at the time of creating the backup data 400 Restore processing is selectively executed for the device.
  • the “slave device in which the network connection is valid” typically means a slave device to be connected to the field network 108, and device configuration information 372 ( Alternatively, the device configuration information 152) includes a slave device whose state value is set to “valid”. Alternatively, a slave device that can operate normally as a result of the CPU unit 110 actually making an inquiry via the field network 108 may be included.
  • slave device existing on the network typically means a slave device actually connected to the field network 108.
  • the state value in the device configuration information 372 (or the device configuration information 152) is not affected. In other words, as long as it is connected to the field network 108, it is not affected by its operating state and is subject to restoration processing.
  • Embodiments 1 to 3 application examples according to the target control system will be described as Embodiments 1 to 3.
  • any of Embodiments 1 to 3 includes the basic processing described above.
  • Embodiment 1 As Embodiment 1, as described with reference to FIG. 14 described above, an application example in the case where two facilities having different device configurations exist will be described.
  • FIG. 15 is a schematic diagram for explaining the backup process / restore process according to the first embodiment.
  • backup data 400-1 is generated in the control system including the transfer chamber 10 and the first process chamber 20, and the control including the transfer chamber 10 and the fourth process chamber 26 is performed.
  • backup data 400-2 is generated in the system.
  • the backup data Only data relating to the corresponding slave device from 400 is restored.
  • the backup data 400-1 generated by the control system including the transfer chamber 10 and the first process chamber 20 is used to restore the control system including the transfer chamber 10 and the fourth process chamber 26.
  • An example of processing is shown.
  • the PLC 100 CPU unit 110
  • FIG. 15 shows a control system consisting of the transfer chamber 10 and the first process chamber 20 using the backup data 400-2 generated by the control system consisting of the transfer chamber 10 and the fourth process chamber 26.
  • An example of performing restore processing is shown below.
  • the PLC 100 CPU unit 110
  • the PLC 100 (CPU unit 110) according to the first embodiment is present on the slave device in which the network connection is valid and / or on the network when executing the restore process from the backup data 400.
  • Target slave devices That is, the PLC 100 (CPU unit 110) according to the first embodiment does not execute a restore process for a slave device whose network connection is not valid and / or a slave device that does not exist on the network. .
  • the PLC 100 (CPU unit 110) according to the first embodiment performs the process at the start or during the restore process. None stop.
  • an error may not be output for a slave device that has not been subject to restoration processing.
  • the slave device that has not been the target of the restore process may be notified to the user.
  • the content is output to the log file related to the restore process, the content is notified on the screen of the connected support device 300, and the display device mounted on the target slave device (for example, It is possible to use a method of lighting / blinking an LED (Light Emitting Diode) indicator or the like, or emitting voice guidance from the support device 300 or the CPU unit 110.
  • LED Light Emitting Diode
  • FIG. 16 is a flowchart showing the procedure of the backup processing according to the first embodiment.
  • FIG. 17 is a flowchart showing a restore processing procedure according to the first embodiment.
  • Each step shown in FIGS. 16 and 17 is typically realized by the microprocessor 112 (FIG. 3) of the CPU unit 110 executing the firmware 190 (FIG. 4). However, part or all of these processes may be realized using an integrated circuit such as an ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • the microprocessor 112 determines whether or not a backup process start condition is satisfied (step S100).
  • the backup processing start condition includes a case where an explicit instruction is received from the support device 300 or the like, or a case where the memory card 380 is attached. If the backup process start condition is not satisfied (NO in step S100), the process of step S100 is repeated.
  • the microprocessor 112 creates a temporary folder in the nonvolatile memory 114 and stores the data held in the nonvolatile memory 114. Copy (step S102).
  • the data held in the nonvolatile memory 114 includes CPU data 402 and slave setting information 404.
  • the microprocessor 112 refers to the device configuration information 152 and selects one slave device registered as a member of the field network 108 as a backup target (step S104). Then, the microprocessor 112 determines whether or not the slave device to be backed up exists on the field network 108 (step S106). If the slave device to be backed up exists on the field network 108 (YES in step S106), the microprocessor 112 reads the data stored from the slave device to be backed up via the field network 108, and The read data is copied to a temporary folder (step S108).
  • the microprocessor 112 determines whether or not the selection as a backup target has been completed for all slave devices registered as members of the field network 108 (step S110). If all slave devices registered as members of the field network 108 have not been selected as backup targets (NO in step S110), or a slave device to be backed up exists on the field network 108. If this is the case (NO in step S106), the microprocessor 112 selects an unselected slave device registered as a member of the field network 108 as a backup target (step S112). And the process after step S106 is repeated.
  • step S110 data necessary for generating the backup data 400 is collected.
  • the data in the temporary folder can be output as the backup data 400 as it is.
  • the backup data 400 is packaged, and the resulting package file is output as the backup data 400. That is, the microprocessor 112 performs a packaging process on the data in the temporary folder and generates the backup data 400 (step S114).
  • the microprocessor 112 determines the output destination of the backup data 400 (step S116). Note that the output destination of the backup data 400 may be notified in advance from the support device 300, or may be determined based on the setting of a dip switch or the like provided in the CPU unit 110.
  • the microprocessor 112 stores the backup data 400 in the memory card 380 (step S118). Then, the backup process ends.
  • the microprocessor 112 transfers the backup data 400 to the support device 300 (step S120). Then, the backup process ends.
  • the microprocessor 112 determines whether or not a restoration process start condition is satisfied (step S200).
  • the restoration process start condition includes a case where an explicit instruction is received from the support device 300 or the like, or a case where the memory card 380 is attached. If the restoration process start condition is not satisfied (NO in step S200), the process of step S200 is repeated.
  • the microprocessor 112 determines the input destination of the backup data 400 (step S202).
  • the input destination of the backup data 400 may be determined in association with the established restoration process start condition.
  • the microprocessor 112 When the input destination of the backup data 400 is the memory card 380 (“memory card” in step S202), the microprocessor 112 creates a temporary folder in the nonvolatile memory 114 and stores the backup data 400 stored in the memory card 380. Is copied to the temporary folder (step S204).
  • the microprocessor 112 creates a temporary folder in the nonvolatile memory 114 and is transferred from the support device 300.
  • the backup data 400 to be copied is copied to a temporary folder (step S206).
  • the microprocessor 112 performs a decomposition process on the backup data 400 in the temporary folder (step S208). By this disassembly process, the CPU data 402 and the slave setting information 404 are restored in the temporary folder. Then, the microprocessor 112 overwrites the contents of the nonvolatile memory 114 with the CPU data 402 in the temporary folder (step S210).
  • the microprocessor 112 compares the device configuration information 152 included in the CPU data 402 with the current device configuration (actual device configuration), and determines whether or not they match (step S212). If the device configuration information 152 does not match the actual device configuration (NO in step S212), the microprocessor 112 outputs that the device configuration and the actual device configuration at the time of generating the backup data 400 do not match (step S212). S214). As this output form, the contents are output to a log file related to the restoration process, the contents are notified on the screen of the connected support apparatus 300, or the voice guidance is issued from the support apparatus 300 or the CPU unit 110. Can be used.
  • step S212 If the device configuration information 152 matches the actual device configuration (YES in step S212), the processing in step S214 is skipped.
  • the microprocessor 112 refers to the device configuration information 152 included in the CPU data 402 obtained from the backup data 400 and selects one slave device registered as a member of the field network 108 as a restore target. (Step S216). Then, the microprocessor 112 determines whether or not the restore process can be appropriately executed for the slave device to be restored (step S218). More specifically, the microprocessor 112 determines whether the network connection is valid for the slave device to be restored and / or exists on the field network 108.
  • the microprocessor 112 stores the nonvolatile information in the slave setting information 404 for the slave device to be restored in the temporary folder.
  • the contents of the memory 114 are overwritten (step S220).
  • the microprocessor 112 determines whether or not data (for example, a program) to be transferred to the slave device to be restored exists in the temporary folder (step S222). That is, among slave devices, there are also slave devices that hold user programs and setting values, and such slave devices are transmitted from the CPU unit 110 to necessary data (user programs and setting values). Is done.
  • step S222 If data to be transferred to the slave device to be restored exists in the temporary folder (YES in step S222), the microprocessor 112 responds to the slave device to be restored via the field network 108. Data to be transmitted is transmitted (step S224). If data to be transferred to the slave device to be restored does not exist in the temporary folder (NO in step S222), the process in step S224 is skipped.
  • the microprocessor 112 determines whether or not selection of all slave devices registered as members of the field network 108 as restoration targets has been completed (step S226). If all the slave devices registered as members of the field network 108 have not been selected as restoration targets (NO in step S226), or the restoration processing is appropriately executed for the slave devices to be restored. If it is not determined that it can be performed (NO in step S218), the microprocessor 112 selects an unselected slave device registered as a member of the field network 108 as a restore target (step S228). And the process after step S218 is repeated.
  • Second Embodiment> As a second embodiment, an application example in which a restore process can be additionally executed when a slave device (device) that did not exist at the time of restoration is added later will be described. That is, in the second embodiment, when a slave device that does not exist at the time of restoration is added, the restored slave device is automatically restored.
  • FIG. 18 is a schematic diagram for explaining the restore processing according to the second embodiment.
  • slave devices A to C transfer chamber 10
  • slave devices J to L first process chamber 20
  • the backup data 400 includes data related to all slave devices (the transfer chamber 10, the first process chamber 20, and the fourth process chamber 26).
  • slave devices A to C transfer chamber 10
  • slave devices J to L first process chamber 20
  • the restore process is executed using data related to the transfer chamber 10 and the first process chamber 20 in the backup data 400.
  • slave devices S and T fourth process chamber 26
  • Such a situation can occur when the equipment related to the fourth process chamber 26 is turned off for maintenance or repair, or when the apparatus itself is removed.
  • a restore process is additionally executed by using a change from the device configuration shown in FIG. 18A to the device configuration shown in FIG. 18B as a trigger. That is, the restore process is executed using data related to the fourth process chamber 26 included in the backup data 400.
  • an additional restore process is automatically executed by adding a slave device, so that an appropriate restore process can be realized even for end users with little knowledge. That is, if the automatic restore processing according to the second embodiment is not implemented, the user individually selects the target data on the support apparatus 300 in consideration of the changed device configuration, and restores it. Although it is necessary to execute the process, such an operation is very troublesome, and there is a problem that the restore process cannot be appropriately performed depending on the knowledge of the user.
  • the backup data 400 is typically stored in advance in the nonvolatile memory 114 (FIG. 3) of the CPU unit 110.
  • the backup data 400 may be held in a memory card 380 attached to the CPU unit 110.
  • the additional restoration processing shown in FIG. 18 is typically executed when the CPU unit 110 detects that a slave device has been added and / or when the network connection is changed from invalid to valid. Is done. That is, the PLC 100 (CPU unit 110) is in at least one of the case where the network connection of any slave device is enabled and the case where any slave device is present on the field network 108. The corresponding slave setting information 154 included in the backup data 400 is restored.
  • FIG. 19 is a flowchart showing a procedure of restore processing (part 1) according to the second embodiment.
  • Each step shown in FIG. 19 and FIG. 21 described later is typically realized by the microprocessor 112 (FIG. 3) of the CPU unit 110 executing the firmware 190 (FIG. 4).
  • the firmware 190 FIG. 4
  • part or all of these processes may be realized using an integrated circuit such as an ASIC.
  • the flowchart shown in FIG. 19 differs from the flowchart showing the procedure of the restore process according to the first embodiment shown in FIG. 17 only in that the process of step S225 is executed after step S224 and step S226. .
  • the microprocessor 112 transmits corresponding data to the slave device to be restored (step S224)
  • the data to be transferred to the slave device to be restored must exist in the temporary folder. If NO in step S222, the completion of the restore process for the slave device to be restored is recorded (step S225).
  • FIG. 20 is a schematic diagram illustrating an example of information relating to a record of completion of the restore process in the restore process (part 1) according to the second embodiment.
  • whether or not the restore process is completed is recorded in association with the node number and the information of the slave device registered as a member. That is, information indicating whether or not the restore process has been performed is recorded for each slave device.
  • “Y” indicates that the restore process has been performed
  • “N” indicates that the restore process has not been performed.
  • any slave device is added, information related to the record of the completion of the restore process is referred to, and an additional restore process is executed.
  • FIG. 21 is a flowchart showing a procedure of additional restore processing (part 1) according to the second embodiment.
  • the microprocessor 112 determines whether or not an additional restoration process should be executed (step S250). Specifically, the microprocessor 112 determines whether a slave device has been added and / or whether the network connection has been changed from invalid to valid. Since the PLC 100 (CPU unit 110) functioning as the master device constantly monitors the state of the field network 108, it can be determined whether or not a slave device has been added based on the information of the constant monitoring. Further, whether or not the network connection is changed from invalid to valid can be determined based on whether or not the device configuration information 152 is changed.
  • step S250 If it is not determined that additional restore processing should be executed (NO in step S250), the processing in step S250 is repeated.
  • step S250 the microprocessor 112 selects one of the added slave devices as an additional restoration target. (Step S252). Then, the microprocessor 112 determines whether or not the restore process has been performed for the additional slave device to be restored (step S254). This determination is performed based on information relating to the record of completion of the restore process as shown in FIG.
  • step S254 the microprocessor 112 determines whether data (for example, a program) to be transferred to the additional slave device to be restored exists in the temporary folder. Is determined (step S256). If the data to be transferred to the additional slave device to be restored exists in the temporary folder (YES in step S256), the microprocessor 112 transmits the additional restore target data via the field network 108. The corresponding data is transmitted to the slave device (step S258). If data to be transferred to the additional slave device to be restored does not exist in the temporary folder (NO in step S256), the processing in step S258 is skipped.
  • data for example, a program
  • the microprocessor 112 records the completion of the restore process for the additional slave device to be restored (step S260). At this point, the network connection of the slave device can be validated.
  • step S260 After the execution of step S260 or when the restore process has been performed (YES in step S254), the microprocessor 112 has completed selection of all the added slave devices as additional restore targets. Is determined (step S262). If the selection as an additional restoration target has not been completed for all the added slave devices (NO in step S262), the microprocessor 112 adds an unselected slave device among the added slave devices. It selects as a restore object (step S264). And the process after step S254 is repeated.
  • step S262 If all the added slave devices have been selected as additional restoration targets (YES in step S262), the process ends.
  • FIG. 22 is a flowchart showing a procedure of additional restore processing (part 2) according to the second embodiment.
  • the flowchart shown in FIG. 22 is a simplified version of the flowchart showing the procedure of the restore process (part 2) according to the second embodiment shown in FIG.
  • the same step numbers are assigned to the processes that are substantially the same as the processes shown in FIG. 21.
  • step S250 determines whether or not additional restoration processing should be executed. If it is not determined that additional restore processing should be executed (NO in step S250), the processing in step S250 is repeated.
  • the microprocessor 112 selects one slave device among the added slave devices as an additional restore target (step S252). .
  • the microprocessor 112 determines whether data (for example, a program) to be transferred to the additional slave device to be restored exists in the temporary folder (step S256). If the data to be transferred to the additional slave device to be restored exists in the temporary folder (YES in step S256), the microprocessor 112 transmits the additional restore target data via the field network 108. The corresponding data is transmitted to the slave device (step S258).
  • step S258 After execution of step S258, or when data to be transferred to the additional slave device to be restored does not exist in the temporary folder (NO in step S256), the microprocessor 112 adds all the added data. It is determined whether or not the selection of the additional restoration target for the slave device is completed (step S262). If the selection as an additional restoration target has not been completed for all the added slave devices (NO in step S262), the microprocessor 112 adds an unselected slave device among the added slave devices. It selects as a restore object (step S264). And the process after step S256 is repeated.
  • step S262 If all the added slave devices have been selected as additional restore targets (YES in step S262), the process ends.
  • the restore process for the device added afterwards is automatically executed. Therefore, within the range of devices included in backup data prepared in advance, necessary setting information can be transferred even for devices added after execution of restore processing. Therefore, even end users with little knowledge can immediately activate the control system after device replacement or equipment maintenance.
  • Embodiment 3 As described in the third embodiment, as described with reference to FIGS. 8 to 12, when a plurality of control systems having similar device configurations are constructed, a control system including all slave devices ( Backup data 400 corresponding to (basic device configuration) is prepared in advance in the support apparatus 300 and stored in each control system (PLC 100). That is, the backup data 400 is provided from the support device 300. In each control system, the restore process is executed using only the necessary data according to each device configuration in the backup data 400 from the support device 300.
  • Backup data 400 corresponding to (basic device configuration
  • FIG. 23 is a schematic diagram for explaining the outline of the backup process / restore process according to the third embodiment.
  • FIG. 23 shows a first control system (including the first PLC 100) including the transfer chamber 10 and the first process chamber 20, and a fourth control system (fourth PLC 100) including the transfer chamber 10 and the fourth process chamber 26.
  • first control system including the first PLC 100
  • fourth control system including the transfer chamber 10 and the fourth process chamber 26.
  • fourth PLC 100 including the transfer chamber 10 and the fourth process chamber 26.
  • backup data 400 including all devices is generated by the support apparatus 300.
  • the generation of the backup data 400 does not require an actual PLC 100 or slave device, and can be generated offline. That is, the backup data 400 can be generated by the support device 300 alone.
  • the backup data 400 includes setting information regarding the transfer chamber 10, the first process chamber 20, and the fourth process chamber 26.
  • the first control system executes the restore process using only the setting information regarding the transfer chamber 10 and the first process chamber 20 included in the backup data 400. That is, the first PLC 100 ignores the setting information regarding the fourth process chamber 26.
  • the fourth control system executes the restore process using only the setting information regarding the transfer chamber 10 and the fourth process chamber 26 included in the backup data 400. That is, the fourth PLC 100 ignores the setting information regarding the first process chamber 20.
  • backup data 400 may be generated from an actual control system that includes all of the transfer chamber 10, the first process chamber 20, and the fourth process chamber 26, instead of the support device 300 alone.
  • the user creates a project related to a basic device configuration (a control system including the transfer chamber 10, the first process chamber 20, and the fourth process chamber 26) in the support apparatus 300 ( Sequence SQ100).
  • a basic device configuration a control system including the transfer chamber 10, the first process chamber 20, and the fourth process chamber 26
  • Sequence SQ100 a basic device configuration
  • the user When this project is completed, the user generates backup data 400 on support device 300 (sequence SQ102).
  • the user updates the project related to the basic device configuration created in sequence SQ100 so as to be compatible with the first control system (sequence SQ104). Then, the user transmits the user program, device configuration information, and slave setting information generated by compiling the updated project to first PLC 100 (sequence SQ106).
  • the user updates the project related to the basic device configuration created in sequence SQ100 to be compatible with the fourth control system (sequence SQ108). Then, the user transmits a user program, device configuration information, and slave setting information generated by compiling the updated project to fourth PLC 100 (sequence SQ110).
  • the user transmits the backup data 400 created in sequence SQ102 to first PLC 100 and fourth PLC 100 (sequence SQ112).
  • the first PLC 100 stores the backup data 400 and executes a restore process using the backup data 400 in response to a request (sequence SQ114). In this restoration processing, the first PLC 100 uses only setting information relating to the transfer chamber 10 and the first process chamber 20 included in the backup data 400.
  • the fourth PLC 100 stores the backup data 400 and executes a restore process using the backup data 400 in response to a request (sequence SQ116).
  • the first PLC 100 uses only setting information relating to the transfer chamber 10 and the fourth process chamber 26 included in the backup data 400.
  • the common backup data is included in any control system (device configuration) including all or part of those devices. Restore processing can be performed using backup data. As a result, the backup data management procedure can be simplified. Further, since the common backup data can be generated by the support device, the common backup data can be generated even when there is no control system (device configuration) including all devices.
  • 1 semiconductor manufacturing equipment 2 field network, 10 transfer chamber, 12 transfer robot, 20, 22, 24, 26 process chamber, 21, 23, 25, 27, 31, 35 gate valve, 30, 34 load lock chamber, 33, 37 communication unit, 100 PLC, 102 USB connector, 104 field network connector, 106 memory card interface, 110 CPU unit, 111 chipset, 112 microprocessor, 113 main memory, 114 nonvolatile memory, 116 field network controller, 117 PLC system Bus controller, 120, 204 IO unit, 130 power supply unit, 200 remote IO terminal, 202 communication coupler, 210 Servo motor driver, 212 servo motor, 250 communication unit, 252 input / output unit, 254 drive circuit, 260 arithmetic processing unit, 262 processor, 264 memory, 300 support device, 302 CPU, 304 ROM, 306 RAM, 308 hard disk, 310 keyboard 312 mouse, 314 display, 316 CD-ROM drive, 320 bus, 380 memory card, 390 CD-ROM.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

 データの作成時から、制御装置とネットワークを介して接続されるスレーブ装置が変更された場合であっても、可能な範囲でスレーブ装置に対するリストア処理を行うことができる制御装置およびその動作方法が提供される。制御装置は、デバイス構成情報と設定情報とを保持する記憶部と、前記設定情報を含むデータを用いてリストア処理を実行可能な処理部とを含む。前記処理部は、前記リストア処理実行時に、前記デバイス構成情報を読み出し、前記データに含まれる対象のスレーブ装置のうち、読み出したデバイス構成情報の中でネットワーク接続が有効になっているスレーブ装置、または、前記ネットワーク上に存在しているスレーブ装置を特定し、特定された前記スレーブ装置に対応する設定情報をリストアする。

Description

制御装置および制御装置の動作方法
 本発明は、ネットワークにおいてマスタ装置として機能するとともに、当該ネットワークを介して1または複数のスレーブ装置を制御する制御装置およびその動作方法に関する。
 多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す。)などの制御装置を含む制御システムによって制御される。このような制御システムでは、PLCは、フィールドバスなどと称されるネットワークを介して、1または複数のスレーブ装置(典型的には、リモートIO(Input/Output)装置やサーボモータドライバなど)と接続される。
 このような制御システムにおいては、パラメータなどの各種データをバックアップ/リストアするための機能が搭載されていることも多い。例えば、特開2011-215814号公報(引用文献1)は、通信機器の対象パラメータの設定値をバックアップまたはリストアすることができるプログラマブルコントローラを開示する。このプログラマブルコントローラは、バックアップ手順情報およびリストア手順情報を有し、バックアップ/リストアを行う際に当該手順情報に基づいて、バックアップ/リストアを行う。
特開2011-215814号公報
 一般的な制御システムでは、デバイス構成を任意に変更することができる。そのため、バックアップ時とリストア時との間でデバイス構成が異なっている場合がある。上述の特開2011-215814号公報(引用文献1)に開示された構成においては、手順情報が予め用意されているので、バックアップ時とリストア時との間でデバイス構成が異なっているような場合には、リストアを適切に行うことができないという課題があった。
 本発明は、上記のような点を考慮してなされたものであり、その目的は、データの作成時から、制御装置とネットワークを介して接続されるスレーブ装置が変更された場合であっても、可能な範囲でスレーブ装置に対するリストア処理を行うことができる制御装置およびその動作方法を提供することである。
 本発明のある局面に従えば、ネットワークにおいてマスタ装置として機能するとともに、当該ネットワークを介して1または複数のスレーブ装置を制御する制御装置が提供される。制御装置は、ネットワークのメンバとして登録されているスレーブ装置の各々についてのネットワーク接続の有効/無効の情報を含むデバイス構成情報と、当該登録されているスレーブ装置を制御するために必要なパラメータを含む設定情報と、を保持する記憶部と、設定情報を含むデータを用いてリストア処理を実行可能な処理部とを含む。処理部は、リストア処理実行時に、デバイス構成情報を読み出し、データに含まれる対象のスレーブ装置のうち、読み出したデバイス構成情報の中でネットワーク接続が有効になっているスレーブ装置、または、ネットワーク上に存在しているスレーブ装置を特定し、特定されたスレーブ装置に対応する設定情報をリストアする。
 好ましくは、リストア処理は、制御装置からリストア対象のスレーブ装置に対して、必要なデータを送信する処理を含む。
 好ましくは、処理部は、いずれかのスレーブ装置のネットワーク接続が有効になった場合、または、いずれかのスレーブ装置がネットワーク上に存在するようになった場合に、データに含まれる対応する設定情報をリストアする。
 好ましくは、データは、サポート装置から提供される。
 好ましくは、処理部は、記憶部およびスレーブ装置からのデータを用いてデータを生成するバックアップ処理をさらに実行可能に構成されている。
 本発明の別の局面に従えば、ネットワークにおいてマスタ装置として機能するとともに、当該ネットワークを介して1または複数のスレーブ装置を制御する制御装置の動作方法が提供される。動作方法は、ネットワークのメンバとして登録されているスレーブ装置の各々についてのネットワーク接続の有効/無効の情報を含むデバイス構成情報と、当該登録されているスレーブ装置を制御するために必要なパラメータを含む設定情報と、を保持するステップと、設定情報を含むデータを用いてリストア処理を実行するステップとを含む。リストア処理を実行するステップは、デバイス構成情報を読み出し、データに含まれる対象のスレーブ装置のうち、読み出したデバイス構成情報の中でネットワーク接続が有効になっているスレーブ装置、または、ネットワーク上に存在しているスレーブ装置を特定し、特定されたスレーブ装置に対応する設定情報をリストアするステップを含む。
 本発明によれば、データの作成時から、制御装置とネットワークを介して接続されるスレーブ装置が変更された場合であっても、可能な範囲でスレーブ装置に対するリストア処理を行うことができる。
本実施の形態に係る制御システムを用いて制御するデバイス構成の一例を説明するための図である。 本実施の形態に係る制御システムの構成例を示す模式図である。 本実施の形態に係るPLCのCPUユニットのハードウェア構成を示す模式図である。 本実施の形態に係るPLCのCPUユニットのソフトウェア構成を示す模式図である。 本実施の形態に係るサーボモータドライバのハードウェア構成を示す模式図である。 本実施の形態に係るPLCに接続されるサポート装置のハードウェア構成を示す模式図である。 本実施の形態に係るPLCに接続されるサポート装置のソフトウェア構成を示す模式図である。 本実施の形態に係る制御システムの構築手順について説明するための模式図である。 本実施の形態に係るデバイス構成情報のデータ構造の一例を示す模式図である。 図8に示すデバイス構成1の一例を示す図である。 図8に示すデバイス構成2および3の一例を示す図である。 図9に示すデバイス構成情報の変更内容の一例を示す図である。 本実施の形態に係るPLCに実装されているバックアップ処理/リストア処理の概要を説明するための模式図である。 本実施の形態に関連するバックアップ処理/リストア処理について説明するための模式図である。 実施の形態1に係るバックアップ処理/リストア処理について説明するための模式図である。 実施の形態1に係るバックアップ処理の手順を示すフローチャートである。 実施の形態1に係るリストア処理の手順を示すフローチャートである。 実施の形態2に係るリストア処理について説明するための模式図である。 実施の形態2に係るリストア処理(その1)の手順を示すフローチャートである。 実施の形態2に係るリストア処理(その1)におけるリストア処理の完了の記録に係る情報の一例を示す模式図である。 実施の形態2に係る追加的なリストア処理(その1)の手順を示すフローチャートである。 実施の形態2に係る追加的なリストア処理(その2)の手順を示すフローチャートである。 実施の形態3に係るバックアップ処理/リストア処理の概要を説明するための模式図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 <A.制御システムの適用例>
 まず、本実施の形態に係る制御システムを用いて制御するデバイス構成の一例について説明する。図1は、本実施の形態に係る制御システムを用いて制御するデバイス構成の一例を説明するための図である。図1には、マルチチャンバー式の半導体製造装置の構成例を示す。具体的には、図1(a)に示す半導体製造装置1は、搬送チャンバー10を中心として、複数のプロセスチャンバー20,22,24,26が設けられた構成を示す。各プロセスチャンバーにおいては、基板に対する真空処理が実行される。プロセスチャンバー20,22,24,26と搬送チャンバー10との間には、それぞれゲートバルブ21,23,25,27が設けられており、搬送チャンバー10との間で連通状態/遮断状態とを切替える。搬送チャンバー10には、搬送ロボット12が設けられている。搬送ロボット12は、処理前の基板をプロセスチャンバー20,22,24,26のいずれかに挿入し、あるいは、プロセスチャンバー20,22,24,26から処理後の基板を取り出す。
 搬送チャンバー10には、ロードロック室30および34が設けられている。ロードロック室30および34は、処理対象の基板の出し入れを行うとともに、搬送チャンバー10およびプロセスチャンバー20,22,24,26の内部を真空に維持する。より具体的には、ロードロック室30は、連通部33を介して搬送チャンバー10に接続されており、搬送チャンバー10の入側および出側には、ゲートバルブ31および32が設けられている。同様に、ロードロック室34は、連通部37を介して搬送チャンバー10に接続されており、搬送チャンバー10の入側および出側には、ゲートバルブ35および36が設けられている。処理対象の基板の出し入れには、ロードロック室30および34が交互に用いられる。
 図1(a)に示す半導体製造装置1を基本構成として、バリエーションとして、図1(b)に示す半導体製造装置2および図1(c)に示す半導体製造装置3が存在するとする。より具体的には、図1(b)に示す半導体製造装置2は、図1(a)に示す半導体製造装置1に比較して、第1プロセスチャンバー20およびゲートバルブ21を取り除いたものに相当し、図1(c)に示す半導体製造装置3は、図1(a)に示す半導体製造装置1に比較して、第4プロセスチャンバー26およびゲートバルブ27を取り除いたものに相当する。
 このようなバリエーションの半導体製造装置2および3に係る制御システムを構築するにあたって、半導体製造装置1に係る制御システムの資産を最大限利用したいというニーズが存在する。より具体的には、ある装置に向けられた制御システムを構築するために必要なプログラムおよび設定情報(以下、これらの構築に必要なデータ群を「プロジェクト」と総称する。)を用いて、異なる構成を有する装置に向けられた制御システムを構築したいというニーズがある。
 例えば、図1(a)~(c)に示す半導体製造装置1~3を、1つのプロジェクトを用いて管理したいというニーズがある。あるいは、あるプロセスチャンバーを物理的に取り外して、別のプロセスチャンバーを取り付けることができる半導体製造装置を、1つのプロジェクトで管理したいというニーズがある。
 このようなニーズに対して、1つのプロジェクトを作成し、この作成したプロジェクトを適宜手直しすることで、類似した制御システムを構築するという方法がとられる。
 本実施の形態は、典型的には、このような部分的に共通するプロジェクトを用いて構築された制御システムや、状況に応じて構成が変更される装置に適用される制御システムに対して、バックアップ処理やリストア処理を柔軟に行うことができる構成を提供する。
 <B.制御システムの全体構成例>
 本実施の形態に係るバックアップ処理およびリストア処理の詳細について説明する前に、本実施の形態に係る制御システムの全体構成例について説明する。図2は、本実施の形態に係る制御システムの構成例を示す模式図である。図2に示す制御システムは、図1(a)に示す半導体製造装置1に向けられたものである。
 図2を参照して、制御システムSYSは、PLC100と、ネットワークを介してPLC100に接続される、サーボモータドライバ210およびリモートIOターミナル200とを含む。本実施の形態においては、ネットワークとしてフィールドネットワーク108が採用されている。PLC100は、フィールドネットワーク108において、通信処理を管理する「マスタ装置」として機能する。このマスタ装置は、「親局」や「管理局」と称されることもある。マスタ装置であるPLC100との対比の意味で、フィールドネットワーク108を介してPLC100に接続されるサーボモータドライバ210やリモートIOターミナル200を「スレーブ装置」または「デバイス」と称する。フィールドネットワーク108上の各スレーブ装置は、ノード番号によって識別されるとする。このように、マスタ装置であるPLC100は、ネットワークにおいてマスタ装置として機能するとともに、当該ネットワークを介して1または複数のスレーブ装置を制御する。
 このようなフィールドネットワーク108としては、各種の産業用のイーサネット(登録商標)を用いることができる。産業用のイーサネット(登録商標)としては、例えば、EtherCAT(登録商標)、PROFINET(登録商標)、MECHATROLINK(登録商標)-III、Powerlink、SERCOS(登録商標)-III、CIP Motionなどがある。さらに、産業用のイーサネット(登録商標)以外のフィールドネットワークを用いてもよい。例えば、DeviceNet、CompoNet(登録商標)などを用いてもよい。
 PLC100は、CPUユニット110と、IOユニット120と、電源ユニット130とを含む。CPUユニット110は、主たる演算処理を実行する処理部であり、後述するようなプログラムおよび設定情報などに基づいて演算処理を実行する。IOユニット120は、CPUユニット110と図示しないPLC内部バスを介してデータを互いに遣り取りできるように構成された機能ユニットの一例である。より具体的には、IOユニット120は、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を司る。すなわち、IOユニット120は、検出スイッチなどのセンサが何らかの対象物を検出している状態(オン)、および、何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット120は、リレーやアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
 IOユニット120に代えて、あるいは、加えて、アナログデータの入出力、温度制御、特定の通信方式による通信といった、IOユニット120ではサポートしない機能を有する特殊ユニットを装着することもできる。
 電源ユニット130は、CPUユニット110やIOユニット120に対して、適切な電圧の電源を供給する。
 PLC100には、接続ケーブルなどを介してサポート装置300が接続される。より具体的には、PLC100のCPUユニット110には、サポート装置300と接続するためのUSB(Universal Serial Bus)コネクタ102が設けられている。後述するように、サポート装置300において各種処理を実現するためのプログラムは、CD-ROM(Compact Disk-Read Only Memory)390などの光学記録媒体に格納されて流通する。
 また、PLC100のCPUユニット110には、メモリカード380を装着するためのメモリカードインターフェイス106が設けられている。メモリカード380には、後述するようなバックアップデータが格納される。
 図2には、図1(a)に示す半導体製造装置1を構成する搬送チャンバー10およびプロセスチャンバー20,22,24,26の各々を制御するためのデバイスの一例を示す。このようなデバイスの一例として、搬送チャンバー10は、2つのサーボモータドライバ210およびリモートIOターミナル200を含む。これらの識別情報は、それぞれノード1,2,3であるとする。
 サーボモータドライバ210は、フィールドネットワーク108を介してCPUユニット110と接続されるとともに、CPUユニット110からの指令値に従ってサーボモータ212を駆動する。
 リモートIOターミナル200は、IOユニット120と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル200は、フィールドネットワーク108でのデータ伝送に係る処理を行うための通信カプラ202と、1つ以上のIOユニット204とを含む。
 第1プロセスチャンバー20は、搬送チャンバー10と同様に、2つのサーボモータドライバ210およびリモートIOターミナル200を含む。これらの識別情報は、それぞれノード11,12,13であるとする。一方、第4プロセスチャンバー26は、1つのサーボモータドライバ210およびリモートIOターミナル200を含む。これらの識別情報は、それぞれノード41,42であるとする。
 <C.CPUユニット110の構成例>
 次に、PLC100において主たる演算処理を実行するCPUユニット110の構成例について説明する。図3は、本実施の形態に係るPLC100のCPUユニット110のハードウェア構成を示す模式図である。
 図3を参照して、PLC100のCPUユニット110は、上述のUSBコネクタ102およびメモリカードインターフェイス106に加えて、チップセット111と、マイクロプロセッサ112と、メインメモリ113と、不揮発性メモリ114と、フィールドネットワークコントローラ116と、PLCシステムバスコントローラ117とを含む。チップセット111と各コンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
 チップセット111およびマイクロプロセッサ112は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、マイクロプロセッサ112は、チップセット111から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット111は、接続されている各コンポーネントとの間で内部的なデータを遣り取りするとともに、マイクロプロセッサ112に必要な命令コードを与える。チップセット111は、マイクロプロセッサ112での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
 CPUユニット110は、記憶部として、メインメモリ113および不揮発性メモリ114を有する。メインメモリ113は、揮発性の記憶領域であり、マイクロプロセッサ112で実行されるプログラムを保持するとともに、プログラムの実行時の作業用メモリとしても使用される。不揮発性メモリ114は、後述するようなプログラムおよび設定情報などを不揮発的に保持する。
 USBコネクタ102は、サポート装置300とCPUユニット110とを接続するためのインターフェイスである。典型的には、サポート装置300から転送される実行可能なプログラムなどは、USBコネクタ102を介してCPUユニット110に取込まれる。
 CPUユニット110は、通信部として、フィールドネットワークコントローラ116およびPLCシステムバスコントローラ117を有する。これらのコントローラは、データの送信および受信を行う。
 フィールドネットワークコントローラ116は、フィールドネットワークコネクタ104を介してフィールドネットワーク108と接続される。PLCシステムバスコントローラ117は、内部バスを介して、IOユニット120(図2)などと接続される。
 図4は、本実施の形態に係るPLC100のCPUユニット110のソフトウェア構成を示す模式図である。図4を参照して、CPUユニット110の不揮発性メモリ114には、システム構成情報150と、ユーザプログラム160と、ライブラリプログラム170と、リアルタイムOS(Operating System)180と、ファームウェア190とを含む。
 システム構成情報150は、PLC100を含む制御システムの構成や設定を定義する情報を含む。具体的には、システム構成情報150は、デバイス構成情報152およびスレーブ設定情報154を含む。
 デバイス構成情報152は、フィールドネットワーク108のメンバとして登録されているスレーブ装置の各々についてのネットワーク接続の有効/無効の情報を含む。すなわち、デバイス構成情報152は、コントローラであるPLC100が管理するスレーブ装置についての有無の情報および接続形態の情報を含む。具体的には、図2に示すような制御システムの構成、つまり、どのようなスレーブ装置が接続されており、かつ各スレーブ装置に対していずれのアドレス(ノード番号)が割り当てられているかが定義される。言い換えれば、デバイス構成情報152は、スレーブ装置の接続状態の情報、および/または、有効状態または無効状態の情報を含む。デバイス構成情報152のデータ構造の一例については、後述する。
 スレーブ設定情報154は、PLC100(CPUユニット110)でのプログラムの実行に必要なスレーブ装置毎の設定情報(パラメータや割当情報など)を含む。具体的には、スレーブ設定情報154は、各スレーブ装置について関連付けられた、ユーザプログラムや設定値を含む。すなわち、スレーブ設定情報154は、当該登録されているスレーブ装置を制御するために必要なパラメータを含む。さらに、スレーブ装置の内部にユーザプログラムや設定値を保持するものもあり、この場合には、スレーブ設定情報154は、各スレーブ装置に格納されるユーザプログラムや設定値を含み得る。
 ユーザプログラム160は、サポート装置300を用いてユーザが作成プログラムであり、制御対象の機械や設備に応じて任意に作成される。このユーザプログラム160は、典型的には、サポート装置300からPLC100(CPUユニット110)へ転送される。
 ライブラリプログラム170は、CPUユニット110がユーザプログラム160を実行する際に必要になる実行モジュールやサブルーチンを含む。ライブラリプログラム170は、PLC100(CPUユニット110)においてユーザプログラムを実行するための環境を提供するためのプログラムである。より具体的には、ライブラリプログラム170は、モーション演算モジュール172と、シーケンス命令処理モジュール174と、入出力処理モジュール176と、スケジューラ178とを含む。
 モーション演算モジュール172は、サーボモータドライバ210に対して各種指令を与えるためのモーション演算に係る関数を提供する。シーケンス命令処理モジュール174は、シーケンス制御に係る命令を処理するための関数を提供する。入出力処理モジュール176は、外部データの取得および内部データの出力に係る関数を提供する。
 スケジューラ178は、ユーザプログラム160に含まれる複数のタスクについて、それぞれの優先度や割込レベルに応じて、実行順序を最適化するための関数を提供する。
 なお、サポート装置300において必要なライブラリを組み込んだユーザプログラム(ダイナミックリンクにて作成された実行プログラム)を生成した場合には、これらのライブラリプログラム170をPLC100で保持しておく必要はない。
 リアルタイムOS180は、ユーザプログラム160を実行するための環境を提供する。より具体的には、リアルタイムOS180は、スケジューラ178と協働して、各タスクが予め定められた処理時間内に完了するように、ユーザプログラム160の実行順序などを最適化する。
 ファームウェア190は、リアルタイムOS180が起動する初期段階において実行されるプリミティブなプログラムである。典型的には、本実施の形態に係るバックアップ処理およびリストア処理については、ファームウェア190によって実現される。
 <D.サーボモータドライバ210の構成例>
 次に、スレーブ装置の一例としてサーボモータドライバ210の構成例について説明する。図5は、本実施の形態に係るサーボモータドライバ210のハードウェア構成を示す模式図である。サーボモータドライバ210は、フィールドネットワーク108を介してPLC100から送信される指令に従って、サーボモータ212を駆動する。より具体的には、サーボモータドライバ210は、通信部250と、入出力部252と、ドライブ回路254と、演算処理部260とを含む。
 通信部250は、フィールドネットワーク108を流れるデータを送受信する。すなわち、通信部250は、フィールドネットワーク108を介して受信したデータを演算処理部260へ出力するとともに、演算処理部260からのデータをフィールドネットワーク108を介して送信する。
 入出力部252は、IOユニット120(図2)と同様に、一般的な入出力処理を実行する。すなわち、入出力部252は、検出スイッチなどの各種センサからの情報を収集するとともに、リレーやアクチュエータといった出力先に対して指令を与える。
 ドライブ回路254は、演算処理部260からの内部指令に従って、サーボモータ212を駆動するための駆動パルス列などを図示しない外部電源から生成する。より具体的には、ドライブ回路254は、インバータ回路やPWM(Pulse Width Modulation)変換回路などを含む。
 演算処理部260は、サーボモータドライバ210の主たる演算処理を実行する制御主体であり、プロセッサ262と、メモリ264とを含む。プロセッサ262は、メモリ264が保持しているプログラムや設定値に従って演算処理を実行し、通信部250、入出力部252、およびドライブ回路254に対して、必要な指令や演算結果を出力する。メモリ264は、プロセッサ262での演算処理に必要な各種データを保持する。このメモリ264が保持するデータは、フィールドネットワーク108を介して、PLC100(CPUユニット110)から送信されるものもある。
 なお、リモートIOターミナル200については、主たる部分において、PLC100に類似しているので、詳細な説明は行わない。
 <E.サポート装置300>
 次に、本実施の形態に係るPLC100に接続されるサポート装置300について説明する。図6は、本実施の形態に係るPLC100に接続されるサポート装置300のハードウェア構成を示す模式図である。サポート装置300は、典型的には、汎用のコンピュータで構成される。
 図6を参照して、サポート装置300は、OS(Operating System)を含む各種プログラムを実行するCPU302と、BIOS(Basic Input Output System)や各種データを格納するROM(Read Only Memory)304と、CPU302でのプログラムの実行に必要なデータを保持するための作業領域を提供するメモリRAM306と、CPU302で実行されるプログラムなどを不揮発的に保持するハードディスク(HDD)308とを含む。
 サポート装置300は、さらに、ユーザからの操作を受け付けるキーボード310およびマウス312と、情報をユーザに提示するためのディスプレイ314とを含む。さらに、サポート装置300は、PLC100(CPUユニット110)などと通信するための通信インターフェイス(IF)318を含む。
 後述するように、サポート装置300で実行されるサポートプログラム(図7参照)は、CD-ROM390に格納されて流通する。このCD-ROM390に格納されたプログラムは、CD-ROM駆動装置316によって読取られ、ハードディスク308などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
 サポート装置300を構成する各コンポーネントは、バス320を介して互いに結合されている。
 図7は、本実施の形態に係るPLC100に接続されるサポート装置300のソフトウェア構成を示す模式図である。図7を参照して、サポート装置300のハードディスク308には、典型的には、OS350と、サポートプログラム360と、プロジェクト370とが格納されている。
 OS350は、CPU302でプログラムを実行する環境を提供する。
 サポートプログラム360は、PLC100での処理を制御するためのプログラムである。典型的には、サポートプログラム360は、デバッガプログラム362と、コンパイラプログラム364と、エディタプログラム366とを含む。
 デバッガプログラム362は、作成されたユーザプログラムの正当性を評価するとともに、不具合の修正を支援する。コンパイラプログラム364は、作成されたユーザプログラム(ソースプログラム)から実行可能なユーザプログラムを生成する。エディタプログラム366は、ユーザプログラムを生成するためのインターフェイスを提供する。
 プロジェクト370は、ある制御システムを構築するために必要なプログラムや設定値を含む。具体的には、プロジェクト370は、ユーザプログラム376と、デバイス構成情報372と、スレーブ装置毎のスレーブ設定情報374とを含む。これらのデータは、サポート装置300からPLC100へ転送されて、それぞれユーザプログラム160、デバイス構成情報152、およびスレーブ設定情報154として格納される。
 <F.制御システムの構築手順>
 次に、図1(a)~(c)に示すような類似したデバイス構成に係る制御システムを構築する手順の一例について説明する。図8は、本実施の形態に係る制御システムの構築手順について説明するための模式図である。
 図8を参照して、まず、ユーザ(システム開発者)は、基本的なデバイス構成(例えば、図1(a)に示す半導体製造装置1)に係るプロジェクトを作成する((1)プロジェクト作成)。具体的には、ユーザは、目的に応じた処理を実現するためのユーザプログラム376(ソースプログラム)を作成するとともに、制御システムに含まれるスレーブ装置に係るデバイス構成情報372およびスレーブ設定情報374を設定する。
 これらの一連の設計・作成が完了すると、プロジェクト370のユーザプログラム376はコンパイルされて、デバイス構成情報372およびスレーブ設定情報374とともに、デバイス構成1に係る制御システムへ転送される((2)コンパイル+転送)。
 続いて、ユーザは、デバイス構成1に類似したデバイス構成2に応じて、先に作成したプロジェクト370を更新する((3)プロジェクト更新)。より具体的には、システム構成の違いに応じて、デバイス構成情報372およびスレーブ設定情報374が更新されたり、要求される処理内容の違いに応じてユーザプログラム376のロジックが変更されたりする。
 これらの更新が完了すると、プロジェクト370のユーザプログラム376はコンパイルされて、デバイス構成情報372およびスレーブ設定情報374とともに、デバイス構成2に係る制御システムへ転送される((4)コンパイル+転送)。
 同様に、ユーザは、デバイス構成1に類似したデバイス構成3に応じて、先に作成したプロジェクト370を更新する((5)プロジェクト更新)。より具体的には、システム構成の違いに応じて、デバイス構成情報372およびスレーブ設定情報374が更新されたり、要求される処理内容の違いに応じてユーザプログラム376のロジックが変更されたりする。これらの更新が完了すると、プロジェクト370のユーザプログラム376はコンパイルされて、デバイス構成情報372およびスレーブ設定情報374とともに、デバイス構成2に係る制御システムへ転送される((6)コンパイル+転送)。
 このように、本実施の形態に係るサポート装置300(サポートプログラム360)を用いることで、類似したデバイス構成に対する制御システムを容易に構築できる。
 図1に示すように、デバイス構成1には存在するが、デバイス構成2には存在しないスレーブ装置に関しては、デバイス構成情報372(最終的には、デバイス構成情報152としてPLC100に格納される)において「無効」に設定することで、関連する処理を無効化できる。すなわち、デバイス構成の相違を吸収できる。
 図9は、本実施の形態に係るデバイス構成情報372のデータ構造の一例を示す模式図である。図9を参照して、デバイス構成情報372は、フィールドネットワーク108のメンバとして登録されているスレーブ装置の情報、および、スレーブ装置の各々についてのネットワーク接続の有効/無効の情報を含む。すなわち、図9に示すデバイス構成情報372においては、フィールドネットワーク2のノード番号に区分された複数のエントリを含み、各エントリには、スレーブ装置を特定するための識別情報と、ネットワーク接続の有効/無効の情報とを含む。なお、識別情報としては、スレーブ装置の機器番号などを含む。
 ここで、ネットワーク接続の「無効」とは、マスタ装置であるPLC100とデータ通信を行うことを無視(don't care)することを意味する。「無効」状態においては、登録されている識別情報に一致する識別情報を有するスレーブ装置がフィールドネットワーク2に接続されているか否かについても判断されない。これに対して、ネットワーク接続の「有効」とは、マスタ装置であるPLC100とデータ通信を行うことが予定されていることを意味する。そのため、「有効」状態においては、登録されている識別情報に一致する識別情報を有するスレーブ装置がフィールドネットワーク2に接続されていなければ、エラーと判断される。
 つまり、あるスレーブ装置を「無効」に設定することで、当該スレーブ装置がフィールドネットワーク2に接続されていなくとも、エラーと判断されることはなく、この有効/無効の設定を利用することで、デバイス構成の相違をプロジェクト上で吸収することができる。
 次に、具体例を挙げて、制御システムの構築手順の一例について説明する。
 図10は、図8に示すデバイス構成1の一例を示す図である。図11は、図8に示すデバイス構成2および3の一例を示す図である。なお、図10および図11に示すデバイス構成の例は、図2に示す制御システムに類似させている。図12は、図9に示すデバイス構成情報372の変更内容の一例を示す図である。
 図10に示すデバイス構成1においては、マスタ装置として機能するPLC100のスレーブ装置として、スレーブ装置A~C(ノード1~3)、スレーブ装置J~L(ノード11~13)、スレーブ装置S,T(ノード41,42)が接続されているとする。図11(a)に示すデバイス構成2においては、図10に示すデバイス構成1に比較してスレーブ装置J~Lが取り除かれており、図11(b)に示すデバイス構成3においては、図10に示すデバイス構成1に比較してスレーブ装置S,Tが取り除かれているとする。
 図10に示すデバイス構成1については、図9に示すようなデバイス構成情報372が設定される。これに対して、図11(a)に示すデバイス構成2については、図12(a)に示すようなデバイス構成情報372が設定される。つまり、存在しないスレーブ装置J~Lの状態値が「有効」から「無効」に変更される。同様に、図11(b)に示すデバイス構成3については、図12(b)に示すようなデバイス構成情報372が設定される。つまり、存在しないスレーブ装置S,Tの状態値が「有効」から「無効」に変更される。
 図10および図11に示すように、実際にスレーブ装置が存在しなくとも、デバイス構成情報372において、そのスレーブ装置の識別情報自体を削除する必要はない。それに代えて、存在しないスレーブ装置の状態値が「無効」に設定されるだけで済む。このようなデバイス構成情報372を採用することで、類似した複数のデバイス構成に対して制御システムを容易に構成できる。あるいは、状況に応じてデバイス構成が随時変更されるような場合に、PLC100で実行されるプログラムの変更を容易化できる。
 つまり、ユーザ(システム開発者)は、すべてのデバイス構成を含む基本的なプロジェクトを作成するとともに、デバイス構成情報372に対する設定を行うことで、各デバイスについて使用するか否かを選択する。このように、対象となる装置のデバイス構成に応じてデバイス構成情報372を適宜変更し、PLC100(CPUユニット110)へ転送することで実現できる。
 但し、上述の方法は、サポート装置300を用いてデバイス構成情報372を変更する必要があるため、プログラミングスキルの乏しいエンドユーザにとってみれば、この方法を行うことは難しい場合もある。このような場合には、デバイス構成情報372を動的に変更するようなモジュール(関数)を用いて、ユーザプログラムで、デバイス構成に応じてデバイス構成情報372を適宜変更するようにしてもよい。このとき、デバイス構成を変更したことは、ユーザ(オペレータ)が表示器などを操作してPLC100へ指示することになる。このようなデバイス構成情報372を動的に変更する方法を採用することで、制御システムを停止することなく、デバイス構成の変更に対応させることもできる。
 <G.バックアップ処理/リストア処理の概要>
 次に、本実施の形態に係るPLC100に実装されているバックアップ処理/リストア処理の概要について説明する。
 図13は、本実施の形態に係るPLC100に実装されているバックアップ処理/リストア処理の概要を説明するための模式図である。図13(a)はバックアップ処理の概要を示し、図13(b)はリストア処理の概要を示す。
 [g1:バックアップ処理/リストア処理の利用例]
 一般的に、機械や設備には、しばしばトラブルが発生し得る。例えば、連続休暇中に電源が遮断されており、その休暇明けに電源が投入されると、何らかの理由で正しく動作しない場合が発生し得る。その原因としては、機械的な故障も挙げられるが、バッテリで保持されるべきデータが消去しているとか、意図しないタイミングで上位計算機からデータが書き換えられているといった理由が挙げられる。
 このような場合、ユーザ(サポート装置300を用いた複雑な操作はできないエンドユーザを想定)は、以前に取得したバックアップデータを用いて、必要なデータなどの復元(リストア処理)を行う。つまり、本実施の形態に係るバックアップデータは、典型的には、制御システムの不具合などを解消するために用いられる。
 この実行方法として、例えば、SD(Secure Digital)カードなどのメモリカード380をPLC100に挿入することをトリガとしてリストア処理が開始される、あるいは、PLC100に設けられたボタンなどを操作するとリストア処理が開始される、といった簡単な処理が想定されている。
 [g2:バックアップ処理]
 まず、図13(a)に示すバックアップ処理について説明する。バックアップ処理においては、PLC100(CPUユニット110)が保持しているデータおよび各スレーブ装置が保持しているデータからバックアップデータ400が生成される。この生成されたバックアップデータ400は、CPUユニット110の不揮発性メモリ114やメモリカード380に保持される。あるいは、CPUユニット110からサポート装置300へ転送され、サポート装置300内またはサポート装置300に接続された各種記録媒体に保持されてもよい。
 より具体的には、CPUユニット110の不揮発性メモリ114(図3)に保持されているデータの複製であるCPUデータ402と、各スレーブ装置に保持されているデータの複製であるスレーブ設定情報404とに基づいて、バックアップデータ400が生成される。なお、バックアップデータ400に含まれるデータは、これに限られることなく、CPUユニット110のメインメモリ113(図3)に保持されているデータを含めてもよい。
 バックアップデータ400のCPUデータ402は、一例として、以下のようなデータを含む。
 ・PLC100(CPUユニット110)内に格納されているユーザプログラム160や設定値(パラメータ)
 ・PLC100(CPUユニット110)内に格納されているデバイス構成情報152
 ・PLC100(CPUユニット110)内に格納されているデバイス毎のネットワーク接続の有効/無効の情報
 バックアップデータ400のスレーブ設定情報404は、一例として、以下のようなデータを含む。
 ・スレーブ装置内に格納されているユーザプログラムや設定値(パラメータ)
 このように、バックアップデータ400は、マスタ装置であるPLC100(CPUユニット110)が保持するデータ、および/または、スレーブ装置が保持するデータを含む。また、PLC100(CPUユニット110)は、メモリカード380およびスレーブ装置からのデータを用いてバックアップデータ400を生成するバックアップ処理を実行可能に構成されている。
 [g3:リストア処理]
 まず、図13(b)に示すリストア処理について説明する。リストア処理において、PLC100(CPUユニット110)は、予め用意されたバックアップデータ400からCPUデータ402およびスレーブ設定情報404を生成するとともに、CPUデータ402で不揮発性メモリ114の内容を上書きする。PLC100(CPUユニット110)に保持されているスレーブ設定情報154は、スレーブ設定情報404で上書きされる。また、PLC100(CPUユニット110)は、必要に応じて、スレーブ設定情報404(上書き後のスレーブ設定情報154)の内容を対象のスレーブ装置へ転送する。
 上述したように、このリストア処理は、(1)バックアップデータ400を格納するメモリカード380がCPUユニット110に装着されたこと、(2)予め定められた操作(例えば、CPUユニット110に設けられたボタンの押下)がなされたこと、(3)サポート装置300が明示的な指示があったこと、などをトリガとして開始される。
 このように、本実施の形態に係る処理部に相当するCPUユニット110は、スレーブ装置毎の設定情報を含むバックアップデータ400を用いてリストア処理を実行可能になっている。そして、本実施の形態に係るリストア処理は、PLC100(CPUユニット110)からリストア対象のスレーブ装置に対して、必要なデータを送信する処理を含む。
 <H.背景技術・課題>
 次に、本実施の形態に関連する背景技術およびその課題について説明する。
 図14は、本実施の形態に関連するバックアップ処理/リストア処理について説明するための模式図である。図14には、デバイス構成が互いに異なる2つの設備が存在する例を示す。すなわち、搬送チャンバー10と第1プロセスチャンバー20とからなるデバイス構成と、搬送チャンバー10と第4プロセスチャンバー26とからなるデバイス構成とを想定する。説明の便宜上、スレーブ装置の数を簡素化しているが、いずれのデバイス構成とも、さらなるスレーブ装置を含んでいてもよい。
 搬送チャンバー10と第1プロセスチャンバー20とからなる制御システムにおいて取得されるバックアップデータ400-1は、搬送チャンバー10および第1プロセスチャンバー20に関する設定情報やプログラムを含むことになる。また、搬送チャンバー10と第4プロセスチャンバー26とからなる制御システムにおいて取得されるバックアップデータ400-2は、搬送チャンバー10および第4プロセスチャンバー26に関する設定情報やプログラムを含むことになる。
 関連技術においては、バックアップデータ400を用いたリストア処理を行う場合には、リストア対象の制御システムのデバイス構成が当該バックアップデータ400を生成したときのデバイス構成と同一であることが条件とされる。そのため、搬送チャンバー10に関する設定情報やプログラムについては、制御システムに共通であるが、搬送チャンバー10と第4プロセスチャンバー26とからなる制御システムに対して、バックアップデータ400-1を用いてリストア処理を行うことはできない。同様に、搬送チャンバー10と第1プロセスチャンバー20とからなる制御システムに対して、バックアップデータ400-2を用いてリストア処理を行うことはできない。
 このように関連技術においては、制御システムにおけるデバイス構成の変更は想定されておらず、バックアップ処理時とリストア時において、デバイス構成が同一である必要がある。つまり、デバイス構成が異なれば、リストア処理の開始または途中でエラーとなる。
 なお、サポート装置300を用いて、デバイス構成を強制的に一致させるとともに、バックアップデータ400に含まれる一部のデータを選択してリストア処理に用いることもできなくはないが、非常に手続が煩雑となり、リストア処理を失敗する可能性も高い。
 したがって、一般的には、それぞれの制御システムについて、バックアップデータを生成および管理する必要がある。
 <I.解決手段の概要>
 本実施の形態は、このような課題を解決することを目的とする。より具体的には、処理部に相当するCPUユニット110は、リストア処理実行時に、デバイス構成情報を読み出し、バックアップデータ400に含まれる対象のスレーブ装置のうち、読み出したデバイス構成情報の中でネットワーク接続が有効になっているスレーブ装置、または、フィールドネットワーク108上に存在しているスレーブ装置を特定し、特定されたスレーブ装置に対応する設定情報をリストアする。つまり、本実施の形態に係るCPUユニット110は、バックアップデータ400のうち、対象の制御システムに有効に含まれるスレーブ装置に関する設定情報やプログラムを選択的に抽出し、リストア処理を実行する。
 すなわち、本実施の形態に係るCPUユニット110は、バックアップデータ400の作成時とはデバイス構成が異なっていても、ネットワーク接続が有効になっているスレーブ装置、および、ネットワーク上に存在しているスレーブ装置に対して、選択的にリストア処理を実行する。
 ここで、「ネットワーク接続が有効になっているスレーブ装置」とは、典型的には、フィールドネットワーク108に接続されることになっているスレーブ装置を意味し、図9に示すデバイス構成情報372(または、デバイス構成情報152)において、状態値が「有効」に設定されているスレーブ装置を含む。あるいは、CPUユニット110がフィールドネットワーク108を介して実際に問合せを行った結果、正常な動作が可能であるスレーブ装置を含むようにしてもよい。
 また、「ネットワーク上に存在しているスレーブ装置」とは、典型的には、フィールドネットワーク108に実際に接続されているスレーブ装置を意味する。このとき、デバイス構成情報372(または、デバイス構成情報152)での状態値には影響を受けない。つまり、フィールドネットワーク108に接続されてさえいれば、その動作状態などには影響を受けず、リストア処理の対象とされる。
 以下、対象の制御システムに応じた適用例について、実施の形態1~3として説明する。但し、実施の形態1~3のいずれについても、上述の基本的な処理を含む。
 <J.実施の形態1>
 実施の形態1として、上述の図14を参照して説明したように、デバイス構成が互いに異なる2つの設備が存在する場合の適用例について説明する。
 [j1:処理概要]
 図15は、実施の形態1に係るバックアップ処理/リストア処理について説明するための模式図である。図15には、上述の図14と同様に、搬送チャンバー10と第1プロセスチャンバー20とからなる制御システムにおいてバックアップデータ400-1が生成され、搬送チャンバー10と第4プロセスチャンバー26とからなる制御システムにおいてバックアップデータ400-2が生成されるとする。
 実施の形態1においては、バックアップデータ400の生成時におけるデバイス構成とは異なっている場合(すなわち、バックアップ処理時とリストア時との間でデバイス構成が同一ではない場合)であっても、バックアップデータ400から対応するスレーブ装置に関するデータのみがリストアされる。
 図15には、搬送チャンバー10と第1プロセスチャンバー20とからなる制御システムで生成されたバックアップデータ400-1を用いて、搬送チャンバー10と第4プロセスチャンバー26とからなる制御システムに対してリストア処理を行う例を示す。このとき、PLC100(CPUユニット110)は、バックアップデータ400-1のうち、搬送チャンバー10に関する設定情報および/またはプログラムを抽出し、リストア処理を実行する。
 また、図15には、搬送チャンバー10と第4プロセスチャンバー26とからなる制御システムで生成されたバックアップデータ400-2を用いて、搬送チャンバー10と第1プロセスチャンバー20とからなる制御システムに対してリストア処理を行う例を示す。このとき、PLC100(CPUユニット110)は、バックアップデータ400-2のうち、搬送チャンバー10に関する設定情報および/またはプログラムを抽出し、リストア処理を実行する。
 このように、実施の形態1に係るPLC100(CPUユニット110)は、バックアップデータ400からリストア処理を実行するに際して、ネットワーク接続が有効になっているスレーブ装置、および/または、ネットワーク上に存在しているスレーブ装置を対象とする。すなわち、実施の形態1に係るPLC100(CPUユニット110)は、ネットワーク接続が有効になっていないスレーブ装置、および/または、ネットワーク上に存在していないスレーブ装置に対しては、リストア処理を実行しない。
 言い換えれば、リストア処理が実行されない(あるいは、リストア処理を実行できない)スレーブ装置が存在していたとしても、実施の形態1に係るPLC100(CPUユニット110)は、リストア処理の開始または途中で処理を停止することはない。
 なお、リストア処理の対象にならなかったスレーブ装置に関しては、エラーを出力しないようにしてもよい。但し、リストア処理の対象にならなかったことを通知することが好ましい場合には、リストア処理の対象にならなかったスレーブ装置をユーザに通知するようにしてもよい。この通知方法としては、リストア処理に係るログファイルにその内容を出力する、接続されているサポート装置300の画面上にその内容を通知する、対象のスレーブ装置に搭載されている表示デバイス(例えば、LED(Light Emitting Diode)インジケータなど)を点灯/点滅させる、サポート装置300またはCPUユニット110から音声ガイダンスを発するといった方法を用いることができる。
 [j2:処理手順]
 次に、実施の形態1に係るバックアップ処理およびリストア処理の手順について説明する。図16は、実施の形態1に係るバックアップ処理の手順を示すフローチャートである。図17は、実施の形態1に係るリストア処理の手順を示すフローチャートである。図16および図17に示す各ステップは、典型的には、CPUユニット110のマイクロプロセッサ112(図3)がファームウェア190(図4)を実行することで実現される。但し、これらの処理の一部または全部をASIC(Application Specific Integrated Circuit)などの集積回路を用いて実現してもよい。
 図16を参照して、マイクロプロセッサ112は、バックアップ処理の開始条件が成立したか否かを判断する(ステップS100)。このバックアップ処理の開始条件は、サポート装置300などから明示的な指示を受けた場合や、メモリカード380が装着された場合などを含む。バックアップ処理の開始条件が成立していなければ(ステップS100においてNO)、ステップS100の処理が繰返される。
 これに対して、バックアップ処理の開始条件が成立していれば(ステップS100においてYES)、マイクロプロセッサ112は、不揮発性メモリ114にテンポラリフォルダを作成し、不揮発性メモリ114に保持されているデータをコピーする(ステップS102)。不揮発性メモリ114に保持されているデータは、CPUデータ402およびスレーブ設定情報404を含む。
 続いて、マイクロプロセッサ112は、デバイス構成情報152を参照して、フィールドネットワーク108のメンバとして登録されている1つのスレーブ装置をバックアップ対象として選択する(ステップS104)。そして、マイクロプロセッサ112は、バックアップ対象のスレーブ装置がフィールドネットワーク108上に存在しているか否かを判断する(ステップS106)。バックアップ対象のスレーブ装置がフィールドネットワーク108上に存在していれば(ステップS106においてYES)、マイクロプロセッサ112は、フィールドネットワーク108を介して、バックアップ対象のスレーブ装置から格納されているデータを読み出し、その読み出したデータをテンポラリフォルダにコピーする(ステップS108)。
 マイクロプロセッサ112は、フィールドネットワーク108のメンバとして登録されているすべてのスレーブ装置についてバックアップ対象としての選択が完了したか否かを判断する(ステップS110)。フィールドネットワーク108のメンバとして登録されているすべてのスレーブ装置についてバックアップ対象としての選択が完了していなければ(ステップS110においてNO)、または、バックアップ対象のスレーブ装置がフィールドネットワーク108上に存在していなければ(ステップS106においてNO)、マイクロプロセッサ112は、フィールドネットワーク108のメンバとして登録されている未選択のスレーブ装置をバックアップ対象として選択する(ステップS112)。そして、ステップS106以下の処理が繰返される。
 これに対して、フィールドネットワーク108のメンバとして登録されているすべてのスレーブ装置についてバックアップ対象としての選択が完了していれば(ステップS110においてYES)、バックアップデータ400の生成に必要なデータの収集が完了する。基本的には、テンポラリフォルダ内のデータをそのままバックアップデータ400として出力することができる。但し、実施の形態1においては、バックアップデータ400に対してパッケージ化処理を行い、その結果として得られるパッケージファイルをバックアップデータ400として出力する。つまり、マイクロプロセッサ112は、テンポラリフォルダ内のデータに対してパッケージ化処理を行い、バックアップデータ400を生成する(ステップS114)。
 続いて、マイクロプロセッサ112は、バックアップデータ400の出力先を判断する(ステップS116)。なお、このバックアップデータ400の出力先は、サポート装置300から予め通知されていてもよいし、CPUユニット110に設けられたディップスイッチなどの設定に基づいて判断されてもよい。
 バックアップデータ400の出力先がメモリカード380である場合(ステップS116において「メモリカード」)、マイクロプロセッサ112は、バックアップデータ400をメモリカード380に格納する(ステップS118)。そして、バックアップ処理は終了する。
 これに対して、バックアップデータ400の出力先がサポート装置300である場合(ステップS116において「サポート装置」)、マイクロプロセッサ112は、バックアップデータ400をサポート装置300へ転送する(ステップS120)。そして、バックアップ処理は終了する。
 図17を参照して、マイクロプロセッサ112は、リストア処理の開始条件が成立したか否かを判断する(ステップS200)。このリストア処理の開始条件は、サポート装置300などから明示的な指示を受けた場合や、メモリカード380が装着された場合などを含む。リストア処理の開始条件が成立していなければ(ステップS200においてNO)、ステップS200の処理が繰返される。
 これに対して、リストア処理の開始条件が成立していれば(ステップS200においてYES)、マイクロプロセッサ112は、バックアップデータ400の入力先を判断する(ステップS202)。なお、このバックアップデータ400の入力先は、成立したリストア処理の開始条件に関連付けて判断されてもよい。
 バックアップデータ400の入力先がメモリカード380である場合(ステップS202において「メモリカード」)、マイクロプロセッサ112は、不揮発性メモリ114にテンポラリフォルダを作成し、メモリカード380に格納されているバックアップデータ400を読み出して、テンポラリフォルダにコピーする(ステップS204)。
 これに対して、バックアップデータ400の入力先がサポート装置300である場合(ステップS202において「サポート装置」)、マイクロプロセッサ112は、不揮発性メモリ114にテンポラリフォルダを作成し、サポート装置300から転送されるバックアップデータ400をテンポラリフォルダにコピーする(ステップS206)。
 続いて、マイクロプロセッサ112は、テンポラリフォルダ内のバックアップデータ400に対して分解処理を行う(ステップS208)。この分解処理によって、テンポラリフォルダ内には、CPUデータ402およびスレーブ設定情報404がリストアされる。そして、マイクロプロセッサ112は、テンポラリフォルダ内のCPUデータ402で不揮発性メモリ114の内容を上書きする(ステップS210)。
 続いて、マイクロプロセッサ112は、CPUデータ402に含まれるデバイス構成情報152と現在のデバイス構成(実機構成)とを比較し、両者が一致しているか否かを判断する(ステップS212)。デバイス構成情報152と実機構成とが一致していなければ(ステップS212においてNO)、マイクロプロセッサ112は、バックアップデータ400の生成時におけるデバイス構成と実機構成とが一致していないことを出力する(ステップS214)。この出力形態としては、リストア処理に係るログファイルにその内容を出力する、接続されているサポート装置300の画面上にその内容を通知する、サポート装置300またはCPUユニット110から音声ガイダンスを発するといった方法を用いることができる。
 デバイス構成情報152と実機構成とが一致していれば(ステップS212においてYES)、ステップS214の処理はスキップされる。
 続いて、マイクロプロセッサ112は、バックアップデータ400から得られたCPUデータ402に含まれるデバイス構成情報152を参照して、フィールドネットワーク108のメンバとして登録されている1つのスレーブ装置をリストア対象として選択する(ステップS216)。そして、マイクロプロセッサ112は、リストア対象のスレーブ装置に対して、リストア処理を適切に実行できるか否かを判断する(ステップS218)。より具体的には、マイクロプロセッサ112は、リストア対象のスレーブ装置について、ネットワーク接続が有効になっているか、および/または、フィールドネットワーク108上に存在しているかを判断する。
 リストア対象のスレーブ装置に対して、リストア処理を適切に実行できると判断されると(ステップS218においてYES)、マイクロプロセッサ112は、テンポラリフォルダ内のリストア対象のスレーブ装置についてのスレーブ設定情報404で不揮発性メモリ114の内容を上書きする(ステップS220)。続いて、マイクロプロセッサ112は、リストア対象のスレーブ装置に対して転送すべきデータ(例えば、プログラムなど)がテンポラリフォルダ内に存在するか否かを判断する(ステップS222)。すなわち、スレーブ装置の中には、その内部にユーザプログラムや設定値を保持するスレーブ装置も存在し、そのようなスレーブ装置については、CPUユニット110から必要なデータ(ユーザプログラムや設定値)へ送信される。リストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していれば(ステップS222においてYES)、マイクロプロセッサ112は、フィールドネットワーク108を介して、リストア対象のスレーブ装置に対して対応するデータを送信する(ステップS224)。リストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していなければ(ステップS222においてNO)、ステップS224の処理はスキップされる。
 そして、マイクロプロセッサ112は、フィールドネットワーク108のメンバとして登録されているすべてのスレーブ装置についてリストア対象としての選択が完了したか否かを判断する(ステップS226)。フィールドネットワーク108のメンバとして登録されているすべてのスレーブ装置についてリストア対象としての選択が完了していなければ(ステップS226においてNO)、または、リストア対象のスレーブ装置に対して、リストア処理を適切に実行できると判断されなければ(ステップS218においてNO)、マイクロプロセッサ112は、フィールドネットワーク108のメンバとして登録されている未選択のスレーブ装置をリストア対象として選択する(ステップS228)。そして、ステップS218以下の処理が繰返される。
 これに対して、フィールドネットワーク108のメンバとして登録されているすべてのスレーブ装置についてリストア対象としての選択が完了していれば(ステップS226においてYES)、リストア処理は終了する。
 [j3:利点]
 実施の形態1によれば、共通のデバイスを有する複数の設備(制御システム)に生じた何らかの異常を復旧させる必要がある場合に、少なくとも共通のデバイスについては、他の設備(制御システム)から生成したバックアップデータを用いてリストアすることができる。そのため、制御システムを復旧させるためのリストア処理をより簡素化できる。
 <K.実施の形態2>
 実施の形態2として、リストア時には存在しなかったスレーブ装置(デバイス)が事後的に追加された場合に、追加的にリストア処理を実行できる適用例について説明する。すなわち、実施の形態2においては、リストア時に存在しなかったスレーブ装置が追加された場合、当該追加されたスレーブ装置対して自動的にリストアを行う。
 [k1:処理概要]
 図18は、実施の形態2に係るリストア処理について説明するための模式図である。図18(a)に示すデバイス構成においては、マスタ装置として機能するPLC100のスレーブ装置として、スレーブ装置A~C(搬送チャンバー10)およびスレーブ装置J~L(第1プロセスチャンバー20)が接続されているとする。このとき、本来存在すべきスレーブ装置S,T(第4プロセスチャンバー26)については、存在していないとする。但し、バックアップデータ400は、すべてのスレーブ装置に関するデータ(搬送チャンバー10、第1プロセスチャンバー20、第4プロセスチャンバー26)を含む。
 図18(a)に示すデバイス構成において、リストア処理が実行されると、スレーブ装置A~C(搬送チャンバー10)およびスレーブ装置J~L(第1プロセスチャンバー20)がリスト対象になる。つまり、バックアップデータ400のうち、搬送チャンバー10および第1プロセスチャンバー20に関するデータを用いてリストア処理が実行される。
 その後、図18(b)に示すように、スレーブ装置S,T(第4プロセスチャンバー26)が追加されたとする。このような状況は、第4プロセスチャンバー26に係る設備が保守や修理などで電源が遮断されているような場合や、装置そのものが取り外されているような場合に生じ得る。
 実施の形態2においては、図18(a)に示すデバイス構成から図18(b)に示すデバイス構成に変更されたことをトリガとして、リストア処理が追加的に実行される。つまり、バックアップデータ400に含まれる第4プロセスチャンバー26に関するデータを用いてリストア処理が実行される。
 実施の形態2に係るリストア処理は、スレーブ装置の追加によって、追加のリストア処理が自動的に実行されるので、知識の乏しいエンドユーザであっても、適切なリストア処理を実現できる。すなわち、実施の形態2に係る自動的なリストア処理が実装されていなければ、ユーザは、変更後のデバイス構成を考慮して、サポート装置300上で対象となるデータを個別に選択して、リストア処理を実行する必要があるが、このような操作は非常に手間であり、そのユーザの知識によってはリストア処理を適切に行えないという問題があった。
 バックアップデータ400は、典型的には、CPUユニット110の不揮発性メモリ114(図3)に予め保持されているとする。あるいは、CPUユニット110に装着されるメモリカード380に、バックアップデータ400を保持しておいてもよい。
 図18に示す追加的なリストア処理は、典型的には、スレーブ装置が追加されたことをCPUユニット110が検知した場合、および/または、ネットワーク接続が無効から有効へ変更された場合に、実行される。すなわち、PLC100(CPUユニット110)は、いずれかのスレーブ装置のネットワーク接続が有効になった場合、および、いずれかのスレーブ装置がフィールドネットワーク108上に存在するようになった場合のうち少なくとも一方において、バックアップデータ400に含まれる対応するスレーブ設定情報154をリストアする。
 [k2:処理手順]
 次に、実施の形態2に係るバックアップ処理およびリストア処理の手順について説明する。バックアップ処理については、上述の実施の形態1(図16)と同様であるので、詳細な説明は繰返さない。
 リストア処理については、追加されたスレーブ装置に対するリストア処理が未実施である場合に限って、追加的なリストア処理を実行する場合(以下に説明する「未実施の場合に限って追加的なリストア処理を実施」)と、何らかのスレーブ装置が追加されると、当該追加されたスレーブ装置に対してリストア処理を常に実行する場合(以下に説明する「常に追加的なリストア処理を実施」)とが考えられる。以下、各場合の処理について、その詳細を説明する。
 [k3:リストア処理(その1:未実施の場合に限って追加的なリストア処理を実施)]
 図19は、実施の形態2に係るリストア処理(その1)の手順を示すフローチャートである。図19および後述の図21に示す各ステップは、典型的には、CPUユニット110のマイクロプロセッサ112(図3)がファームウェア190(図4)を実行することで実現される。但し、これらの処理の一部または全部をASICなどの集積回路を用いて実現してもよい。
 図19に示すフローチャートは、図17に示す実施の形態1に係るリストア処理の手順を示すフローチャートに比較して、ステップS224とステップS226の後にステップS225の処理が実行される点のみが異なっている。すなわち、マイクロプロセッサ112は、リストア対象のスレーブ装置に対して対応するデータを送信する(ステップS224)と、または、リストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していなければ(ステップS222においてNO)、リストア対象のスレーブ装置に対するリストア処理の完了を記録する(ステップS225)。
 図20は、実施の形態2に係るリストア処理(その1)におけるリストア処理の完了の記録に係る情報の一例を示す模式図である。図20を参照して、ノード番号およびメンバとして登録されているスレーブ装置の情報に関連付けて、リストア処理の完了の有無が記録される。すなわち、各スレーブ装置について、リストア処理が実施済であるか否かを示す情報が記録される。図20に示す例では、「Y」はリストア処理が実施済であることを示し、「N」はリストア処理が未実施であることを示す。何らかのスレーブ装置が追加されると、このリストア処理の完了の記録に係る情報が参照されて、追加的なリストア処理が実行される。
 図21は、実施の形態2に係る追加的なリストア処理(その1)の手順を示すフローチャートである。図21を参照して、マイクロプロセッサ112は、追加的なリストア処理を実行すべきか否かを判断する(ステップS250)。具体的には、マイクロプロセッサ112は、スレーブ装置が追加されたか否か、および/または、ネットワーク接続が無効から有効へ変更されたか否かを判断する。なお、マスタ装置として機能するPLC100(CPUユニット110)がフィールドネットワーク108の状態を常時監視しているので、この常時監視の情報に基づいて、スレーブ装置が追加されたか否かを判断できる。また、ネットワーク接続が無効から有効へ変更されたか否かについては、デバイス構成情報152が変更されたか否かに基づいて判断できる。
 追加的なリストア処理を実行すべきと判断されなければ(ステップS250においてNO)、ステップS250の処理が繰返される。
 これに対して、追加的なリストア処理を実行すべきと判断されれば(ステップS250においてYES)、マイクロプロセッサ112は、追加されたスレーブ装置のうち1つのスレーブ装置を追加的なリストア対象として選択する(ステップS252)。そして、マイクロプロセッサ112は、追加的なリストア対象のスレーブ装置について、リストア処理を実施済であるか否かを判断する(ステップS254)。この判断は、図20に示すようなリストア処理の完了の記録に係る情報に基づいて実施される。
 リストア処理を実施済でなければ(ステップS254においてNO)、マイクロプロセッサ112は、追加的なリストア対象のスレーブ装置に対して転送すべきデータ(例えば、プログラムなど)がテンポラリフォルダ内に存在するか否かを判断する(ステップS256)。追加的なリストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していれば(ステップS256においてYES)、マイクロプロセッサ112は、フィールドネットワーク108を介して、追加的なリストア対象のスレーブ装置に対して対応するデータを送信する(ステップS258)。追加的なリストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していなければ(ステップS256においてNO)、ステップS258の処理はスキップされる。
 続いて、マイクロプロセッサ112は、追加的なリストア対象のスレーブ装置に対するリストア処理の完了を記録する(ステップS260)。この時点で、当該スレーブ装置のネットワーク接続を有効化できる。
 ステップS260の実行後、または、リストア処理を実施済である場合(ステップS254においてYES)に、マイクロプロセッサ112は、追加されたすべてのスレーブ装置について追加的なリストア対象としての選択が完了したか否かを判断する(ステップS262)。追加されたすべてのスレーブ装置について追加的なリストア対象としての選択が完了していなければ(ステップS262においてNO)、マイクロプロセッサ112は、追加されたスレーブ装置のうち未選択のスレーブ装置を追加的なリストア対象として選択する(ステップS264)。そして、ステップS254以下の処理が繰返される。
 追加されたすべてのスレーブ装置について追加的なリストア対象としての選択が完了していれば(ステップS262においてYES)、処理は終了する。
 [k4:リストア処理(その2:常に追加的なリストア処理を実施)]
 実施の形態2に係るリストア処理(その2)の手順は、図17に示す実施の形態1に係るリストア処理の手順を示すフローチャートと同様であるので、詳細な説明は繰返さない。つまり、常に追加的なリストア処理を実施する場合には、リストア処理が未実施であるか否かを記録しておく必要がないので、リストア処理の完了が記録されない。
 図22は、実施の形態2に係る追加的なリストア処理(その2)の手順を示すフローチャートである。図22に示すフローチャートは、図21に示す実施の形態2に係るリストア処理(その2)の手順を示すフローチャートをより簡素化したものである。なお、図22に示す処理のうち、図21に示す処理と実質的に同一であるものについては、同一のステップ番号を付与している。
 図22を参照して、マイクロプロセッサ112は、追加的なリストア処理を実行すべきか否かを判断する(ステップS250)。追加的なリストア処理を実行すべきと判断されなければ(ステップS250においてNO)、ステップS250の処理が繰返される。
 追加的なリストア処理を実行すべきと判断されれば(ステップS250においてYES)、マイクロプロセッサ112は、追加されたスレーブ装置のうち1つのスレーブ装置を追加的なリストア対象として選択する(ステップS252)。マイクロプロセッサ112は、追加的なリストア対象のスレーブ装置に対して転送すべきデータ(例えば、プログラムなど)がテンポラリフォルダ内に存在するか否かを判断する(ステップS256)。追加的なリストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していれば(ステップS256においてYES)、マイクロプロセッサ112は、フィールドネットワーク108を介して、追加的なリストア対象のスレーブ装置に対して対応するデータを送信する(ステップS258)。
 ステップS258の実行後、または、追加的なリストア対象のスレーブ装置に対して転送すべきデータがテンポラリフォルダ内に存在していない場合(ステップS256においてNO)に、マイクロプロセッサ112は、追加されたすべてのスレーブ装置について追加的なリストア対象としての選択が完了したか否かを判断する(ステップS262)。追加されたすべてのスレーブ装置について追加的なリストア対象としての選択が完了していなければ(ステップS262においてNO)、マイクロプロセッサ112は、追加されたスレーブ装置のうち未選択のスレーブ装置を追加的なリストア対象として選択する(ステップS264)。そして、ステップS256以下の処理が繰返される。
 追加されたすべてのスレーブ装置について追加的なリストア対象としての選択が完了していれば(ステップS262においてYES)、処理は終了する。
 [k5:利点]
 実施の形態2によれば、リストア処理の後、事後的に追加されたデバイスに対するリストア処理が自動的に実行される。そのため、予め用意されたバックアップデータに含まれるデバイスの範囲であれば、リストア処理の実行後に追加されたデバイスであっても、必要な設定情報を転送することができる。よって、知識の乏しいエンドユーザであっても、デバイスの交換や設備の保全の後に、制御システムを即座にアクティブな状態にできる。
 <L.実施の形態3>
 実施の形態3として、上述の図8~図12を参照して説明したように、互いに類似したデバイス構成を有する制御システムを複数構築するような場合には、すべてのスレーブ装置を含む制御システム(基本的なデバイス構成)に対応するバックアップデータ400をサポート装置300にて予め用意しておき、各制御システム(PLC100)に格納しておく。すなわち、バックアップデータ400は、サポート装置300から提供される。そして、各制御システムでは、サポート装置300からのバックアップデータ400のうち、各デバイス構成に応じて必要なデータのみを使用してリストア処理を実行する。
 このような方法を採用することで、共通のバックアップデータ400(すべてのデバイスに関する設定情報を含む)のみを管理しておけばよく、管理手続を簡素化できる。
 図23は、実施の形態3に係るバックアップ処理/リストア処理の概要を説明するための模式図である。図23には、搬送チャンバー10と第1プロセスチャンバー20とからなる第1制御システム(第1PLC100を含む)と、搬送チャンバー10と第4プロセスチャンバー26とからなる第4制御システム(第4PLC100)とが存在している例を示す。
 この場合には、サポート装置300にて、すべてのデバイスを含むバックアップデータ400が生成される。バックアップデータ400の生成には、実際のPLC100やスレーブ装置は必要なく、いわゆるオフラインで生成できる。すなわち、サポート装置300単独でバックアップデータ400を生成できる。このバックアップデータ400は、搬送チャンバー10、第1プロセスチャンバー20、および第4プロセスチャンバー26に関する設定情報を含む。
 第1制御システム(第1PLC100)は、バックアップデータ400に含まれる搬送チャンバー10および第1プロセスチャンバー20に関する設定情報のみを用いて、リストア処理を実行する。すなわち、第1PLC100は、第4プロセスチャンバー26に関する設定情報を無視する。
 一方、第4制御システム(第4PLC100)は、バックアップデータ400に含まれる搬送チャンバー10および第4プロセスチャンバー26に関する設定情報のみを用いて、リストア処理を実行する。すなわち、第4PLC100は、第1プロセスチャンバー20に関する設定情報を無視する。
 なお、サポート装置300単体ではなく、搬送チャンバー10、第1プロセスチャンバー20、および第4プロセスチャンバー26のすべてを含む実際の制御システムからバックアップデータ400を生成してもよい。
 図23を参照して、より具体的な処理手順の一例を説明する。まず、ユーザ(システム開発者)は、サポート装置300にて、基本的なデバイス構成(搬送チャンバー10、第1プロセスチャンバー20、および第4プロセスチャンバー26を含む制御システム)に係るプロジェクトを作成する(シーケンスSQ100)。このプロジェクトが完成した時点で、ユーザは、サポート装置300上でバックアップデータ400を生成する(シーケンスSQ102)。
 続いて、ユーザは、シーケンスSQ100において作成した基本的なデバイス構成に係るプロジェクトを、第1制御システムに適合するように更新する(シーケンスSQ104)。そして、ユーザは、更新後のプロジェクトをコンパイルすることで生成されるユーザプログラム、デバイス構成情報、およびスレーブ設定情報を第1PLC100へ送信する(シーケンスSQ106)。
 同様に、ユーザは、シーケンスSQ100において作成した基本的なデバイス構成に係るプロジェクトを、第4制御システムに適合するように更新する(シーケンスSQ108)。そして、ユーザは、更新後のプロジェクトをコンパイルすることで生成されるユーザプログラム、デバイス構成情報、およびスレーブ設定情報を第4PLC100へ送信する(シーケンスSQ110)。
 そして、ユーザは、シーケンスSQ102において作成したバックアップデータ400を第1PLC100および第4PLC100へ送信する(シーケンスSQ112)。
 第1PLC100は、バックアップデータ400を格納するとともに、要求に応じて、バックアップデータ400を用いてリストア処理を実行する(シーケンスSQ114)。このリストア処理において、第1PLC100は、バックアップデータ400に含まれる搬送チャンバー10および第1プロセスチャンバー20に係る設定情報のみを使用する。
 同様に、第4PLC100は、バックアップデータ400を格納するとともに、要求に応じて、バックアップデータ400を用いてリストア処理を実行する(シーケンスSQ116)。このリストア処理において、第1PLC100は、バックアップデータ400に含まれる搬送チャンバー10および第4プロセスチャンバー26に係る設定情報のみを使用する。
 実施の形態3によれば、すべてのデバイスを含む共通のバックアップデータを生成しておけば、それらのデバイスの全部または一部を含むいずれの制御システム(デバイス構成)に対しても、当該共通のバックアップデータを用いてリストア処理を行える。そのため、バックアップデータの管理手続を簡素化できる。また、共通のバックアップデータはサポート装置によって生成できるので、たとえ、すべてのデバイスを含む制御システム(デバイス構成)が存在しない場合であっても、当該共通のバックアップデータを生成できる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 半導体製造装置、2 フィールドネットワーク、10 搬送チャンバー、12 搬送ロボット、20,22,24,26 プロセスチャンバー、21,23,25,27,31,35 ゲートバルブ、30,34 ロードロック室、33,37 連通部、100 PLC、102 USBコネクタ、104 フィールドネットワークコネクタ、106 メモリカードインターフェイス、110 CPUユニット、111 チップセット、112 マイクロプロセッサ、113 メインメモリ、114 不揮発性メモリ、116 フィールドネットワークコントローラ、117 PLCシステムバスコントローラ、120,204 IOユニット、130 電源ユニット、200 リモートIOターミナル、202 通信カプラ、210 サーボモータドライバ、212 サーボモータ、250 通信部、252 入出力部、254 ドライブ回路、260 演算処理部、262 プロセッサ、264 メモリ、300 サポート装置、302 CPU、304 ROM、306 RAM、308 ハードディスク、310 キーボード、312 マウス、314 ディスプレイ、316 CD-ROM駆動装置、320 バス、380 メモリカード、390 CD-ROM。

Claims (6)

  1.  ネットワークにおいてマスタ装置として機能するとともに、当該ネットワークを介して1または複数のスレーブ装置を制御する制御装置であって、
     前記ネットワークのメンバとして登録されているスレーブ装置の各々についてのネットワーク接続の有効/無効の情報を含むデバイス構成情報と、当該登録されているスレーブ装置を制御するために必要なパラメータを含む設定情報と、を保持する記憶部と、
     前記設定情報を含むデータを用いてリストア処理を実行可能な処理部とを備え、
     前記処理部は、前記リストア処理実行時に、前記デバイス構成情報を読み出し、前記データに含まれる対象のスレーブ装置のうち、読み出したデバイス構成情報の中でネットワーク接続が有効になっているスレーブ装置、または、前記ネットワーク上に存在しているスレーブ装置を特定し、特定された前記スレーブ装置に対応する設定情報をリストアする、制御装置。
  2.  前記リストア処理は、前記制御装置からリストア対象のスレーブ装置に対して、必要なデータを送信する処理を含む、請求項1に記載の制御装置。
  3.  前記処理部は、いずれかのスレーブ装置のネットワーク接続が有効になった場合、または、いずれかのスレーブ装置が前記ネットワーク上に存在するようになった場合に、前記データに含まれる対応する設定情報をリストアする、請求項1に記載の制御装置。
  4.  前記データは、サポート装置から提供される、請求項1に記載の制御装置。
  5.  前記処理部は、前記記憶部および前記スレーブ装置からのデータを用いて前記データを生成するバックアップ処理をさらに実行可能に構成されている、請求項1に記載の制御装置。
  6.  ネットワークにおいてマスタ装置として機能するとともに、当該ネットワークを介して1または複数のスレーブ装置を制御する制御装置の動作方法であって、
     前記ネットワークのメンバとして登録されているスレーブ装置の各々についてのネットワーク接続の有効/無効の情報を含むデバイス構成情報と、当該登録されているスレーブ装置を制御するために必要なパラメータを含む設定情報と、を保持するステップと、
     前記設定情報を含むデータを用いてリストア処理を実行するステップとを備え、
     前記リストア処理を実行するステップは、前記デバイス構成情報を読み出し、前記データに含まれる対象のスレーブ装置のうち、読み出したデバイス構成情報の中でネットワーク接続が有効になっているスレーブ装置、または、前記ネットワーク上に存在しているスレーブ装置を特定し、特定された前記スレーブ装置に対応する設定情報をリストアするステップを含む、動作方法。
PCT/JP2014/051676 2013-01-25 2014-01-27 制御装置および制御装置の動作方法 WO2014115870A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP14743386.6A EP2937751B1 (en) 2013-01-25 2014-01-27 Control device and operation method for control device
CN201480005768.6A CN104956273B (zh) 2013-01-25 2014-01-27 控制装置及控制装置的动作方法
US14/801,973 US20150362903A1 (en) 2013-01-25 2015-07-17 Control device and method of operating control device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-012700 2013-01-25
JP2013012700A JP6167532B2 (ja) 2013-01-25 2013-01-25 制御装置および制御装置の動作方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/801,973 Continuation US20150362903A1 (en) 2013-01-25 2015-07-17 Control device and method of operating control device

Publications (1)

Publication Number Publication Date
WO2014115870A1 true WO2014115870A1 (ja) 2014-07-31

Family

ID=51227658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/051676 WO2014115870A1 (ja) 2013-01-25 2014-01-27 制御装置および制御装置の動作方法

Country Status (5)

Country Link
US (1) US20150362903A1 (ja)
EP (1) EP2937751B1 (ja)
JP (1) JP6167532B2 (ja)
CN (1) CN104956273B (ja)
WO (1) WO2014115870A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9927784B2 (en) 2014-12-04 2018-03-27 At&T Intellectual Property I, L.P. Ubiquitous computing methods and apparatus

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106063197B (zh) * 2014-03-04 2019-04-09 欧姆龙株式会社 控制系统、控制装置及控制方法
KR101820253B1 (ko) * 2014-11-05 2018-01-18 미쓰비시덴키 가부시키가이샤 리모트 제어장치 및 제어 시스템
JP6323685B2 (ja) * 2015-06-18 2018-05-16 株式会社安川電機 プログラマブルコントローラ
US9836426B2 (en) * 2015-08-04 2017-12-05 Honeywell International Inc. SD card based RTU
WO2017149526A2 (en) * 2016-03-04 2017-09-08 May Patents Ltd. A method and apparatus for cooperative usage of multiple distance meters
JP6477555B2 (ja) * 2016-03-14 2019-03-06 オムロン株式会社 中継装置、中継装置の制御方法、制御プログラム、および記録媒体
CN106094702B (zh) * 2016-05-31 2020-07-07 中国神华能源股份有限公司 一种料堆建模方法和料堆建模装置
CN109643093A (zh) * 2016-08-30 2019-04-16 三菱电机株式会社 程序编辑装置、程序编辑方法及程序编辑程序
JP7000686B2 (ja) * 2017-02-13 2022-01-19 オムロン株式会社 制御装置
CN107055189B (zh) * 2017-05-11 2018-10-19 深圳怡化电脑股份有限公司 一种缠绕机构运行控制装置及控制方法
JP6863305B2 (ja) * 2018-01-29 2021-04-21 オムロン株式会社 ネットワークシステム、制御方法および制御装置
JP7183545B2 (ja) * 2018-02-27 2022-12-06 オムロン株式会社 制御システムおよび機能ユニット
JP7021610B2 (ja) * 2018-07-04 2022-02-17 オムロン株式会社 多光軸光電センサのデータ処理装置
CN111377055A (zh) * 2018-12-28 2020-07-07 成都天府新区光启未来技术研究院 一种无人机投放装置及投放方法
JP2020149404A (ja) * 2019-03-14 2020-09-17 オムロン株式会社 制御システム、制御方法、および制御デバイス
JP7070479B2 (ja) * 2019-03-14 2022-05-18 オムロン株式会社 制御システムおよび制御装置
CN111660309A (zh) * 2020-06-05 2020-09-15 中国科学院微电子研究所 一种用于转移晶圆的机器臂
JP2022029907A (ja) * 2020-08-06 2022-02-18 オムロン株式会社 制御装置およびプログラム
US11586573B2 (en) 2020-11-18 2023-02-21 Applied Materials, Inc. Distributed input/output (IO) control and interlock ring architecture
JP6973678B1 (ja) * 2021-06-30 2021-12-01 富士電機株式会社 制御装置、制御方法、及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05304529A (ja) * 1992-04-27 1993-11-16 Matsushita Electric Ind Co Ltd ネットワーク制御装置
JPH10177401A (ja) * 1996-12-16 1998-06-30 Yokogawa Electric Corp フィールドバスシステム
JP2001014007A (ja) * 1999-06-25 2001-01-19 Mitsubishi Electric Corp ネットワーク分散デバイス管理装置
JP2001034301A (ja) * 1990-11-22 2001-02-09 Hitachi Ltd フィールドバスシステム
JP2001209413A (ja) * 2000-01-25 2001-08-03 Yaskawa Electric Corp プログラム自動転送機能付きplcおよびエンジニアリング装置とその制御方法
JP2002297207A (ja) * 2001-03-30 2002-10-11 Omron Corp バックアップ処理装置
JP2009015401A (ja) * 2007-06-29 2009-01-22 Omron Corp 分散型制御システム
JP2011215814A (ja) 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3292300B2 (ja) * 1990-11-22 2002-06-17 株式会社日立製作所 フィールドバスシステム
US5980078A (en) * 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
US20020046299A1 (en) * 2000-02-09 2002-04-18 Internet2Anywhere, Ltd. Method and system for location independent and platform independent network signaling and action initiating
KR100474930B1 (ko) * 2003-02-17 2005-03-10 엘지전자 주식회사 홈 네트워크 제품군의 히스토리 모니터링 장치 및 방법
KR101044937B1 (ko) * 2003-12-01 2011-06-28 삼성전자주식회사 홈 네트워크 시스템 및 그 관리 방법
US20050129372A1 (en) * 2003-12-11 2005-06-16 Tieyu Zheng Method and apparatus for manufacturing a transistor-outline (TO) can having a ceramic header
US20070014612A1 (en) * 2005-07-18 2007-01-18 Seong Kim Parallel printing solution
JP2007109208A (ja) * 2005-09-14 2007-04-26 Ricoh Co Ltd 出力要求装置、出力要求方法、および出力要求プログラム
US20070097877A1 (en) * 2005-11-02 2007-05-03 Hoekstra G J Distributing information over parallel network interfaces
US8051191B2 (en) * 2008-04-28 2011-11-01 Microsoft Corporation Ethernet extensibility
TW201138372A (en) * 2010-04-29 2011-11-01 Hon Hai Prec Ind Co Ltd Master server and method for decoding multimedia files using the master server
WO2012090291A1 (ja) * 2010-12-28 2012-07-05 株式会社日立製作所 モーションコントローラ
US8677343B2 (en) * 2011-09-16 2014-03-18 Cisco Technology, Inc. Centrally coordinated firmware upgrade model across network for minimizing uptime loss and firmware compatibility

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034301A (ja) * 1990-11-22 2001-02-09 Hitachi Ltd フィールドバスシステム
JPH05304529A (ja) * 1992-04-27 1993-11-16 Matsushita Electric Ind Co Ltd ネットワーク制御装置
JPH10177401A (ja) * 1996-12-16 1998-06-30 Yokogawa Electric Corp フィールドバスシステム
JP2001014007A (ja) * 1999-06-25 2001-01-19 Mitsubishi Electric Corp ネットワーク分散デバイス管理装置
JP2001209413A (ja) * 2000-01-25 2001-08-03 Yaskawa Electric Corp プログラム自動転送機能付きplcおよびエンジニアリング装置とその制御方法
JP2002297207A (ja) * 2001-03-30 2002-10-11 Omron Corp バックアップ処理装置
JP2009015401A (ja) * 2007-06-29 2009-01-22 Omron Corp 分散型制御システム
JP2011215814A (ja) 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9927784B2 (en) 2014-12-04 2018-03-27 At&T Intellectual Property I, L.P. Ubiquitous computing methods and apparatus
US10671033B2 (en) 2014-12-04 2020-06-02 At&T Intellectual Property I, L.P. Ubiquitous computing methods and apparatus

Also Published As

Publication number Publication date
CN104956273A (zh) 2015-09-30
EP2937751A1 (en) 2015-10-28
US20150362903A1 (en) 2015-12-17
CN104956273B (zh) 2017-07-28
EP2937751B1 (en) 2018-05-16
EP2937751A4 (en) 2016-09-14
JP6167532B2 (ja) 2017-07-26
JP2014146077A (ja) 2014-08-14

Similar Documents

Publication Publication Date Title
JP6167532B2 (ja) 制御装置および制御装置の動作方法
JP6442843B2 (ja) 制御装置
US9618922B2 (en) CPU of PLC, system program for PLC, and recording medium storing system program for PLC
JP4317341B2 (ja) 安全関連オートメーション・バス・システム
EP2515189B1 (en) Plc cpu unit, system program for plc, and storage medium having system program for plc stored therein
US9618924B2 (en) CPU of PLC, system program for PLC, and recording medium storing system program for PLC
US8706262B2 (en) CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
JP6299064B2 (ja) 制御装置、制御方法、およびプログラム
JP2012524354A (ja) 自動化システムを制御する安全コントローラおよびユーザプログラムを生成する方法
US20120239201A1 (en) Cpu unit of plc, system program for plc, and recording medium storing system program for plc
KR20100048857A (ko) 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법
JP2017515418A (ja) 独立した基礎ネットワークにマップされた論理モデルを提供するゲートウェイ
EP2725438B1 (en) System and method for vendor release independent reusable customized function block libraries
CN111818125A (zh) 一种全厂商rpa机器人的控制方法
US8676354B2 (en) Automation system having framework based controller
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP5725974B2 (ja) 受配電監視制御システム
US9507334B2 (en) Programming template for distributed application programs
JP2018200731A (ja) サポート装置およびサポートプログラム
JP5212509B2 (ja) ネットワークシステムにおけるアドレス設定方法
WO2020184063A1 (ja) 制御システムおよび制御装置
WO2020184062A1 (ja) 制御システムおよび制御装置
JP2007018026A (ja) コントローラ
WO2020184034A1 (ja) 制御システムおよび制御装置
JP3315258B2 (ja) プログラマブルコントローラシステム

Legal Events

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

Ref document number: 14743386

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014743386

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE