CONTROL SYSTEM AND FUNCTIONAL UNIT

A control system and a functional unit are capable of freely setting a place at which an operation for executing an access process is performed independently of an installation place of a controller. A CPU unit capable of communicating with a storage unit, and a plurality of functional units communicatively connected to the CPU unit are included. The functional unit includes an input unit including a switch that receives a user operation. The input unit generates a command for executing an access process when an input portion receives execution of the access process for accessing the storage unit from an IO unit. A designated IO unit executes the access process.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority benefit of Japan Application No. 2018-033109, filed on Feb. 27, 2018. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.

BACKGROUND

Technical Field

The present disclosure relates to a technology in which a functional unit included in a control system that is used to control an operation of a machine, a facility, or the like accesses an external memory such as a memory card.

Description of Related Art

A machine or a facility that is used in many production sites is typically controlled by a control system including, for example, a programmable controller (programmable logic controller, hereinafter also referred to as a “PLC”). In such a control system, the PLC includes a central processing unit (CPU), and an input and output (IO) unit that is responsible for a signal input from an external switch or sensor and a signal output to an external relay or actuator.

In such a control system, setting information of each unit included in the control system is restored, and the setting information of each unit included in the control system is backed up.

Patent Document 1 discloses a PLC that starts a process of restoring setting information on the basis of insertion of a secure digital (SD) card into a CPU unit of the PLC.

PATENT DOCUMENTS

As a control system has a large number of functions, a plurality of remote IO devices can be connected to one CPU unit via a network, and the IO unit can be installed at a place separate from the CPU unit.

However, in the control system described in Patent Document 1, an access process for restoring or backing up setting information cannot be performed unless a user goes to a place at which the CPU unit has been installed in order to execute the access process.

Therefore, a place at which an operation for executing the access process is performed depends on a place at which a controller (such as the CPU unit) has been installed.

SUMMARY

According to an example of the present disclosure, a control system is provided. The control system includes a storage unit; a controller communicatively connected to the storage unit; and a plurality of functional units that operate on the basis of predetermined setting information and are communicatively connected to the controller. The functional units include a first functional unit including an input portion that receives a user operation. When the input portion receives execution of an access process for accessing the storage unit from a specific one or a plurality of functional units according to a user operation, the first functional unit generates a command for executing the access process. A second functional unit designated according to a user operation received by the input portion executes at least one of a process of loading the setting information of the second functional unit into the storage unit and a process of reading the setting information from the storage unit as the access process according to the command.

According to another example of the present disclosure, a functional unit that operates on the basis of predetermined setting information is provided. The functional unit includes a communication control unit that controls communication with a controller communicatively connected to another functional unit and a storage unit; an input portion that receives a user operation; and a generation unit that generates a command for executing at least one of a process of loading the setting information of a specific one or each of a plurality of functional units into the storage unit and a process of reading the setting information from the storage unit as an access process when the input portion receives execution of the access process for accessing the storage unit from the specific one or the plurality of functional units according to the user operation. When the generation unit generates the command, the communication control unit transmits the command to a second functional unit designated according to the user operation received by the input portion.

DESCRIPTION OF THE EMBODIMENTS

The present disclosure provides a control system and a functional unit capable of freely setting a place at which an operation for executing an access process is performed independently of an installation place of a controller.

According to an example of the present disclosure, a control system is provided. The control system includes a storage unit; a controller communicatively connected to the storage unit; and a plurality of functional units that operate on the basis of predetermined setting information and are communicatively connected to the controller. The functional units include a first functional unit including an input portion that receives a user operation. When the input portion receives execution of an access process for accessing the storage unit from a specific one or a plurality of functional units according to a user operation, the first functional unit generates a command for executing the access process. A second functional unit designated according to a user operation received by the input portion executes at least one of a process of loading the setting information of the second functional unit into the storage unit and a process of reading the setting information from the storage unit as the access process according to the command.

According to this example, by operating the input portion provided in the first functional unit, it is possible to execute at least one of the process of loading the setting information into the storage unit and the process of reading the setting information from the storage unit. As a result, the user can freely set a place at which an operation for executing the access process is performed independently of an installation place of a controller simply by changing an installation place of the first functional unit.

In an example of the disclosure, when the first functional unit generates the command, the first functional unit specifies the second functional unit on the basis of association information corresponding to the user operation received by the input portion, and transmits the command to the second functional unit.

According to this disclosure, it is possible to change the second functional unit by rewriting the association information and to easily change an execution target of the access process.

In an example of the disclosure, the first functional unit transmits the command to functional units different from the first functional unit. Each of the functional units different from the first functional unit determines whether or not the functional unit executes the access process for accessing the storage unit on the basis of the command.

According to this example, in a control system in which a recombination of functional units is frequent, it is possible to update a setting simply by changing a setting of a recombined functional unit without changing a setting of the first functional unit.

In an example of the disclosure, the control system includes a plurality of storage units. The input portion further receives a selection of a storage unit that is accessed by the second functional unit. The second functional unit executes the access process for accessing the storage unit selected by the input portion according to the command.

According to this example, it is possible to select an arbitrary storage unit from a plurality of storage units as an access destination of the second functional unit.

In an example of the disclosure, the input portion further receives a designation of a plurality of functional units as the second functional unit.

According to this example, it is possible to execute the access process of a plurality of second functional units in a single operation.

In an example of the disclosure, the first functional unit further includes a notification portion capable of notifying of an execution situation of the access process.

According to this example, the user can confirm an execution situation of the access process without moving from a place at which an operation for executing the access process has been performed.

According to another example of the present disclosure, a functional unit that operates on the basis of predetermined setting information is provided. The functional unit includes a communication control unit that controls communication with a controller communicatively connected to another functional unit and a storage unit; an input portion that receives a user operation; and a generation unit that generates a command for executing at least one of a process of loading the setting information of a specific one or each of a plurality of functional units into the storage unit and a process of reading the setting information from the storage unit as an access process when the input portion receives execution of the access process for accessing the storage unit from the specific one or the plurality of functional units according to the user operation. When the generation unit generates the command, the communication control unit transmits the command to a second functional unit designated according to the user operation received by the input portion.

According to this example, by operating the input portion provided in the first functional unit, it is possible to execute at least one of the process of loading the setting information into the storage unit and the process of reading the setting information from the storage unit. As a result, the user can freely set a place at which an operation for executing an access process is performed independently of an installation place of a controller simply by changing an installation place of the first functional unit.

A place at which an operation for executing the access process is performed can be set freely independently of an installation place of a controller.

An embodiment of the present disclosure will be described in detail with reference to the drawings. It should be noted that the same or corresponding units in the figures are denoted by the same reference numerals and description thereof will not be repeated.

First, an example of a scene to which the present disclosure is applied will be described with reference toFIG. 1.FIG. 1is a diagram schematically illustrating an application scene of a control system1according to the embodiment.

The control system1includes a storage unit400, a CPU unit100that functions as a controller, and a plurality of functional units2. The CPU unit100is communicatively connected to the storage unit400. In addition, each functional unit2is communicatively connected to the CPU unit100, and operates on the basis of predetermined setting information.

The storage unit400is a recording medium, and the medium that stores information such as a program according to an electrical, magnetic, optical, mechanical, or chemical action so that a computer, another device, machines, or the like can read recorded information such as the program. The storage unit400includes an external memory directly connectable to the CPU unit100, a server connected to the CPU unit100via a network, and an internal memory such as a hard disk included in the CPU unit100or the functional unit2.

Connections between the CPU unit100and the storage unit400include a connection via an internal bus, a connection via a network, and a connection via an interface.

Connections between the functional unit2and the CPU unit100include a connection via an internal bus and a connection via a network. Further, connections between the functional units2also include a connection via an internal bus and a connection via a network.

The functional unit2includes an input unit300including an input portion that receives a user operation. The functional unit2includes, for example, IO units120and200, the input unit300, a servo unit, a communication unit, and a special unit. In the embodiment, an IO unit connected to the CPU unit100via an internal bus is an IO unit120, and an IO unit connected to the CPU unit100via a network is an IO unit200. A communication coupler500is an example of a communication unit.

The input unit300may include only a function of receiving an input from the input portion, or may further include functions included in the IO unit, the communication unit, the servo unit, the special unit, and the like. The input portion is configured of, for example, a DIP switch or a rotary switch. In the embodiment, the input portion is described as being the DIP switch (switch30). Further, it is assumed that the input unit300does not have functions included in the IO unit, the communication unit, the servo unit, the special unit, and the like. In other words, the input unit300will not be described as including an input portion provided for the IO unit, the communication unit, the servo unit, the special unit, or the like. InFIG. 1, oblique lines indicate that a selection is made in the input portions.

Among the plurality of functional units2, the functional unit2specified according to the user operation received by the input portion can execute an access process for accessing the storage unit400. The access process is a process including at least one of a process of reading data into the storage unit400and a process of reading data from the storage unit400.

For example, the input unit300may include a plurality of switches30. Specifically, the input unit300includes a first switch31that receives execution of the access process and a third switch33that receives an operation for specifying the functional unit2that executes the access process for accessing the storage unit400. It should be noted that, although the first switch31and the third switch33are included, a configuration in which only one switch is included may be adopted. In this case, one or a plurality of functional units2that execute the access process are determined in advance, and when the input portion receives the execution of the access process, the one or the plurality of functional units2that have been determined in advance may execute the access process. Further, an input portion including a plurality of channels such as a rotary switch may be used as the input portion. In this case, the one or the plurality of functional units2may be determined for each channel in advance, and the one or the plurality of functional units2corresponding to the selected channel may execute the access process.

A process of the switch from the reception of the execution of the access process to the execution of the access process will be described in an order of (1) to (3) inFIG. 1.

1) When the first switch31receives the execution of the access process according to the user operation, the input unit300generates a command for executing the access process. This command may be a command indicating only a signal received by the switch30or may be a command indicating a part or all of the content of the access process. In the example illustrated inFIG. 1, it is assumed that an IO unit2001has been selected as an execution target of the access process according to the user operation received by the third switch33, at a timing when the first switch31receives the execution of the access process.

2) The IO unit2001receives the command generated by the input unit300. The input unit300may multicast the generated command to the execution targets of the access process when the input unit300can specify the execution targets of the access process on the basis of an operation with respect to the third switch33or may broadcast the generated command. When the input unit300cannot specify the execution targets of the access process on the basis of the operation with respect to the third switch33, the input unit300broadcasts the command indicating the signal received by the switch30, and each of functional units2which have received the command determines whether or not the functional unit2is to execute the access process on the basis of the signal received by the switch30.

3) On the basis of the received command, the IO unit2001executes at least one of a process of reading setting information of the IO unit2001into the storage unit400and a process of reading the setting information from the storage unit400as the access process for accessing the storage unit400. As an example of the access process, the IO unit2001performs a process of backing up the setting information of the IO unit2001to the storage unit400or a process of restoring the setting information of the IO unit2001to the setting information stored in the storage unit400. For example, the IO unit2001can transmit a command for executing the access process to the CPU unit100, and the CPU unit100can access the storage unit400to execute the access process for accessing the storage unit400.

The input unit300illustrated inFIG. 1corresponds to an example of a “first functional unit” of the present disclosure, and the IO unit2001corresponds to an embodiment of a “second functional unit” of the present disclosure.

Thus, by operating the input portion provided in the first functional unit, it is possible to execute at least one of the process of loading the setting information into the storage unit and the process of reading the setting information from the storage unit. As a result, the user can freely set a place at which an operation for executing the access process is performed independently of an installation place of a controller simply by changing an installation place of the first functional unit.

Hereinafter, a more detailed configuration and process of the control system1according to the embodiment will be described as a specific example of the present disclosure.

A. Overall Configuration Example of Control System1

FIG. 2is a schematic diagram illustrating a schematic configuration of the control system1according to the embodiment. The control system1includes a CPU unit100and a remote IO device3connected to the CPU unit100via a field network176. The control system1may include at least one remote IO device3or may include a plurality of remote IO devices3. Further, the control system1may include a plurality of CPU units100. In this case, the respective CPU units100are communicatively connected to each other via a high-level network151. The control system1illustrated inFIG. 2includes a plurality of remote IO devices3.

The CPU unit100can be connected to the functional unit2such as a power supply unit130and an IO unit120via an internal bus51. The power supply unit130supplies power with an appropriate voltage to each unit. The CPU unit100executes a main calculation process. The CPU unit100and each functional unit2are configured to be able to exchange data with each other via the internal bus51. The CPU unit100is communicatively connected to a support device600via a connection cable161or the like. The functional unit2connected to the CPU unit100via the internal bus51specifically includes an IO unit, a communication unit, a special unit, and a servo unit.

The IO unit is a unit regarding a general input and output process, and serves to input or output binarized data such as ON/OFF. The IO unit collects information indicating any one of a state in which a sensor such as a detection switch is detecting a certain target (ON) and a state in which the sensor is detecting no target (OFF). In addition, the IO unit outputs any one of an activation command (ON) and a deactivation command (OFF) to an output destination such as a relay or an actuator.

The communication unit has a function of communicating with another PLC. The communication unit decodes data sent from the high-level network151and encodes data to be transmitted to the high-level network151.

The special unit has functions not supported by the IO unit, such as input and output of analog data, temperature control, PID (Proportional-Integral-Differential) control, pulse counting, servo control, inverter control, and communication using a specific communication scheme (for example, serial communication or encoder input).

Further, a memory card interface (IF)115for mounting a memory card410which is an example of the storage unit400is provided in the CPU unit100. The backup data sent from each functional unit2, backup data for restoration to be transmitted to each functional unit2, and the like are stored in the memory card410.

The field network176transfers various pieces of data that are exchanged with the CPU unit100. Typically, various Ethernets (registered trademark) for industry can be used as the field network176.

It should be noted that althoughFIG. 2illustrates the control system1including both the internal bus51and the field network176, a system configuration having only one of the internal bus51and the field network176mounted therein can also be adopted. For example, all the units may be connected by the field network176. Alternatively, all the functional units2may be connected directly to the internal bus51without using the field network176.

The remote IO device3is intended to allow expansive disposition of the functional unit2that is mounted on the CPU unit100, at a position different from a disposition position of the CPU unit100. More specifically, the remote IO device3includes a communication coupler500for performing a process regarding data transfer in the field network176, and one or more functional units2. Each unit included in the remote IO device3is configured to be able to exchange data with the others via the internal bus51. Further, the remote IO device3can be set irrespective of the position of the CPU unit100.

The communication coupler500is an example of a functional unit2functioning as a communication unit. Further, the communication coupler500controls an operation (such as a data updating timing) of each functional unit2connected via the internal bus51.

The functional unit2included in the remote IO device3, which can communicate with the communication coupler500, can communicate with the CPU unit100via the communication coupler500. That is, the functional unit2included in the remote IO device3, which can communicate with the communication coupler500, is communicatively connected to the CPU unit100.

At least one functional unit2among the plurality of functional units2communicatively connected to the CPU unit100functions as the input unit300including the switch30which is an example of an input portion that receives a user operation. In the embodiment, the input unit300is communicatively connected to the CPU unit100via the field network176, the communication coupler500, and the internal bus51. It should be noted that the input unit300may be connected to the CPU unit100via the internal bus51.

In the embodiment, it is assumed for convenience of description that the functional unit2other than the input unit300connected to the communication coupler500via the internal bus51does not include another type of unit other than the TO unit200. However, the functional unit2may include another type of unit such as a special unit, a servo unit, or a communication unit.

B. Hardware Configuration of Remote IO Device3

A hardware configuration of the remote IO device3will be described with reference toFIGS. 3 to 6.

b1. Connection Configuration of Remote IO Device3

FIG. 3is a schematic diagram illustrating a connection configuration of the remote IO device3according to the embodiment. It is assumed that the remote IO device3illustrated inFIG. 3includes the input unit300. As illustrated inFIG. 3, in the remote IO device3, the communication coupler500, one or more IO units200, and the input unit300are connected to each other to be able to transfer data via the internal bus51(a downlink51A and an uplink51B) which is a communication line. That is, the remote IO device3includes a plurality of units (the communication coupler500, the IO unit200, and the input unit300) connected via the internal bus51.

As an example, in the downlink51A and the uplink51B, serial communication is adopted and data that is a target is transferred in a form aligned in a line in time series. More specifically, in the downlink51A, data is transmitted in one direction from the communication coupler500to the IO unit200and the input unit300via the downlink51A. On the other hand, in the uplink51B, data is transmitted in one direction from the IO unit200and the input unit300to the communication coupler500via the uplink51B.

In the embodiment, data is transmitted as a frame including header information. Each frame includes one or more blocks. The header information includes information indicating a priority of data in the frame.

When each IO unit200receives a frame transferring via the downlink51A or the uplink51B, the IO unit200decodes data from the frame and executes a necessary process. Each IO unit200generates the frame again and then retransmits (forwards) the frame to the IO unit200or the input unit300at the next stage.

When the input unit300receives the frame transferred via the downlink51A or the uplink51B, the input unit300decodes the data from the frame and executes a necessary process, similar to the IO unit200. The input unit300generates the frame again and retransmits (forwards) the frame to the IO unit200at the next stage.

In order to realize such sequential transfer of the frames including data, each IO unit200includes a reception unit (hereinafter also referred to as “RX”)220aand a transmission unit (hereinafter also referred to as “TX”)220bwith respect to the downlink51A, and includes a reception unit230aand a transmission unit230bwith respect to the uplink51B. The reception units230aand220areceive data transmitted as a frame from another unit via the internal bus51which is a communication line. The transmission units230band220btransmit data as a frame to another unit via the internal bus51which is a communication line. Each IO unit200includes the processor210which is a control unit, and the processor210controls processing of these pieces of data.

The input unit300includes a processor310, reception units220aand230a, and transmission units220band230b. Since a basic configuration related to data transfer of the input unit300is the same as that of the IO unit200, description of corresponding units (denoted by the same reference numerals) will not be repeated. The processor310controls processing of data transmitted and received by the input unit300and processing based on a signal from the switch30.

The communication coupler500includes a processor510, a field bus control unit170, a reception unit172, a transmission unit174, and an internal bus control unit140. That is, the communication coupler500is not only connected to the internal bus51(the downlink51A and the uplink51B), but also connected to the field network176which is a high-level communication network via the reception unit172and the transmission unit174. The field bus control unit170manages data transfer via the field network176, and the internal bus control unit140manages data transfer via the internal bus51.

b2. Configuration of Communication Coupler500

FIG. 4is a schematic diagram illustrating a hardware configuration of the communication coupler500of the remote IO device3according to the embodiment. As illustrated inFIG. 4, the communication coupler500of the remote IO device3includes a processor510, a nonvolatile memory511, a field bus control unit170, a reception unit172, a transmission unit174, and an internal bus control unit140.

The reception unit172receives a high-level communication frame transmitted from the CPU unit100via the field network176, decodes the high-level communication frame into data, and outputs the data to the field bus control unit170. The transmission unit174generates the high-level communication frame from the data output from the field bus control unit170again and retransmits (forwards) the high-level communication frame via the field network176.

The field bus control unit170transmits and receives data to and from another device (the CPU unit100and the other remote IO device3) in each predetermined control cycle via the field network176in cooperation with the reception unit172and the transmission unit174. More specifically, the field bus control unit170includes a field bus communication controller171, a memory controller173, and a first in first out (FIFO) memory175, a reception buffer177, and a transmission buffer179.

The field bus communication controller171interprets a command or the like transmitted from the CPU unit100via the field network176and executes a process necessary for realization of communication via the field network176. Further, the field bus communication controller171performs copying of data from the high-level communication frame sequentially stored in a FIFO memory175, and a data writing process for the high-level communication frame.

The memory controller173is a control circuit that realizes a function such as dynamic memory access (DMA), and controls writing and reading of data to and from the FIFO memory175, the reception buffer177, the transmission buffer179, and the like.

The FIFO memory175temporarily stores the high-level communication frames received via the field network176, and sequentially outputs the high-level communication frames according to a stored order.

The reception buffer177extracts data to be output to the IO unit200and/or the input unit300connected to the own device among the data included in the high-level communication frame sequentially stored in the FIFO memory175, and temporarily stores the data. The reception buffer177stores, for example, backup data for restoration sent from the CPU unit100and data indicating an execution log for a backup process.

The transmission buffer179temporarily stores process data sent from the IO unit200and/or the input unit300, which is data to be written to a predetermined area of the high-level communication frame sequentially stored in the FIFO memory175. The transmission buffer179stores, for example, data for executing the access process that is executed on the basis of an operation with respect to the switch30.

The processor510issues an instruction to the field bus control unit170and the internal bus control unit140and controls, for example, data transfer between the field bus control unit170and the internal bus control unit140.

The internal bus control unit140transmits and receives a frame (data) to and from the IO unit200and/or the input unit300via the internal bus51(the downlink51A and the uplink51B).

More specifically, the internal bus control unit140includes an internal bus communication controller143, a transmission circuit142, a reception circuit144, and a storage device145.

The internal bus communication controller143manages data transfer via the internal bus51independently (as a master).

The transmission circuit142generates and transmits a frame flowing on a downlink of the internal bus51according to an instruction from the internal bus communication controller143. The reception circuit144receives a frame flowing on an uplink of the internal bus51and outputs the frame to the internal bus communication controller143.

The storage device145corresponds to a buffer memory that stores a frame (data) that is transferred via the internal bus51. More specifically, the storage device145includes a shared memory146, a reception buffer147, and a transmission buffer148. The shared memory146temporarily stores data that is exchanged between the field bus control unit170and the internal bus control unit140. The reception buffer147temporarily stores data received from the IO unit200and/or the input unit300via the internal bus51. The transmission buffer148temporarily stores data included in the high-level communication frame received by the field bus control unit170.

b3. Configuration of IO Unit200

FIG. 5is a schematic diagram illustrating a hardware configuration of the IO unit200of the remote IO device3according to the embodiment. As illustrated inFIG. 5, each of the IO units200of the remote IO device3includes inverse serializers (de-serializer, hereinafter also referred to as a “DES unit”)222and232, serializers (SER: hereinafter also referred to as a “SER unit”)226and236, and forward controllers224and234. Further, each of the IO units200includes a reception processing unit240, a transmission processing unit250, a processor210, a shared memory212, an IO module216, and a memory218, which are connected to each other via a bus260. The memory218includes, for example, a volatile memory and a nonvolatile memory.

The DES unit222, the forward controller224, and the SER unit226correspond to the reception unit220aand the transmission unit220bof the downlink51A illustrated inFIG. 3. That is, these units execute a process related to transmission and reception of frames flowing through the downlink51A. Similarly, the DES unit232, the forward controller234, and the SER unit236correspond to the reception unit230aand the transmission unit230bof the uplink51B illustrated inFIG. 3. That is, these units execute a process related to transmission and reception of frames flowing through the uplink51B.

The reception processing unit240includes a decoding unit242and a CRC check unit244. The decoding unit242decodes the received frame into data according to a predetermined algorithm. The CRC check unit244performs an error check (for example, cyclic redundancy check (CRC) code) on the basis of a frame check sequence (FCS) or the like that is added to an end of the frame.

The transmission processing unit250is connected to the forward controllers224and234and performs generation of a frame to be retransmitted (forwarded) to the IO unit200or the input unit300at the next stage, timing control, or the like according to an instruction from the processor210or the like. In addition, the transmission processing unit250generates data to be transmitted to the IO unit200or the input unit300at the next stage in cooperation with the processor210or the like. More specifically, the transmission processing unit250includes a CRC generation unit252and an encoding unit254. The CRC generation unit252calculates an error control code (CRC) for data from the processor210or the like, and adds the error control code (CRC) to a frame in which the data is stored. The encoding unit254encodes the data from the CRC generation unit252and outputs encoded data to the corresponding forward controller224or234.

The processor210is a computing entity that independently controls the IO unit200. More specifically, the processor210executes a pre-stored program or the like to store a frame received via the reception processing unit240into the shared memory212or to read predetermined data from the shared memory212and output the data to the transmission processing unit250so that a frame is generated.

The shared memory212includes a reception buffer213for temporarily storing the frame received via the reception processing unit240, and a transmission buffer214for temporarily storing a frame to be transmitted via the transmission processing unit250. Further, the shared memory212includes an area for storing various pieces of data.

The IO module216receives an input signal from an external switch or sensor and writes a value of the input signal to the shared memory212, and outputs the signal to an external relay or actuator according to a value written to the corresponding area of the shared memory212. That is, the IO module216includes at least one of an input portion that collects a state value (IN data) of an externally input signal and an output portion that outputs a signal having a designated state value (OUT data). The memory218stores various pieces of data. For example, the memory218holds setting information, and data for executing various applications.

b4. Configuration of Input Unit300

FIG. 6is a schematic diagram illustrating a hardware configuration of the input unit300of the remote IO device3according to the embodiment. As illustrated inFIG. 6, the input unit300includes a DES unit222, a forward controller224and a SER unit226corresponding to the reception unit220aand the transmission unit220bfor the downlink51A illustrated inFIG. 3, and a DES unit232, a forward controller234, and a SER unit236corresponding to the reception unit230aand the transmission unit230bfor the uplink51B. Further, the input unit300includes a reception processing unit240, a transmission processing unit250, a processor310, a shared memory212, a memory318, an LED (light emitting diode)315, and a switch30that is an example of an input portion, which are connected to each other via the bus260. Since a basic configuration related to data transfer of the input unit300is the same as that of the IO unit200(FIG. 5), description of corresponding units (denoted by the same reference numerals) will not be repeated.

The processor310is a computing entity that independently controls the input unit300. More specifically, the processor310executes a pre-stored program or the like to thereby store the frame received via the reception processing unit240into the shared memory212or to read predetermined data from the shared memory212and output the data to the transmission processing unit250so that a frame is generated.

The switch30includes four switches31,32,33, and34having different assigned functions. When the switch30is operated, the functional unit2can execute an access process for accessing the memory card410.

The LED315functions as a notification portion that notifies the user of an execution situation of the access process by the lighting mode. For example, the LED315may be turned OFF when the access process is not executed, and the LED315may blink when the access process is being executed.

The memory318stores various pieces of data. For example, the memory318holds setting information, and data for executing various applications.

C. Hardware Configuration of CPU Unit100

FIG. 7is a schematic diagram illustrating a hardware configuration of the CPU unit100according to the embodiment. The CPU unit100includes a processor112, a memory113, a nonvolatile memory114, a field bus control unit170, a reception unit172, a transmission unit174, an internal bus control unit140, a memory card IF115, and a communication IF116. Since a basic configuration related to data transfer of the CPU unit100is the same as that of the communication coupler500(FIG. 4) described above, description of corresponding units (denoted by the same reference numerals) will not be repeated.

The processor112executes a user program related to control of a target. More specifically, the processor112reads the user program from the nonvolatile memory114or the like, develops the user program in the memory113, and executes the user program. By executing this user program, the processor112executes a process of backing up the setting information of the functional unit2to the memory card410that is an example of the storage unit, a process of restoring the setting information stored in the memory card410to each functional unit2, a process of transmitting various pieces of data for executing the access process to each functional unit2, and the like.

The memory card IF115is an interface for mounting the memory card410which is a storage medium, and mediates data transfer between the processor112and the memory card410. The memory card410stores backup data sent from each functional unit2, backup data for restoration to be transmitted to each functional unit2, and the like.

The communication IF116mediates data transfer between the processor112and the support device600. Specifically, the communication IF116is a USB (Universal Serial Bus) connector or the like for connection with the support device600.

D. Execution of Access Process

By operating the switch30, the user can cause the IO unit200communicatively connected to the CPU unit100to execute an access process for accessing the storage unit400. Hereinafter, an overview of a process that is performed by operating the switch30, a software configuration included in each IO unit200in executing the access process, an example of a functional configuration of each IO unit200functioning in executing the access process, and a flow of access process will be described.

d1. Overview of Process

FIG. 8is a diagram illustrating an overview of a process that is performed by operating the switch30according to the embodiment. The user can cause the specific IO unit200to execute the access process by operating the switch30. The input unit300includes a plurality of switches31to34having different functions. The functions of the respective switches31to34will be described.

The first switch31is a switch for selecting execution or non-execution of the access process. The input unit300generates a command for executing an access process according to conditions that are defined according to signals from a second switch32to a fourth switch34on the basis of the user having selected “ON” of the first switch31.

The second switch32is a switch for selecting an access destination of the functional unit2. Specifically, when the CPU unit100is able to communicate with a plurality of storage units400, the second switch32receives a selection of the storage unit400to be accessed by the IO unit200from the plurality of storage units400.

For example, in the example illustrated inFIG. 8, when the CPU unit100can communicate with the memory card410and the server420, the user can select one of the memory card410and the server420as the access destination by operating the second switch32. When the user turns “ON” the second switch32, the user can select the memory card410as an access destination, and when the user turns “OFF” the second switch32, the user can select the server420as an access destination. It should be noted that the access destination can be selected from a plurality of storage units400or can be selected from a plurality of files included in one storage unit.

The third switch33is a switch for selecting the IO unit200that accesses the storage unit400. For example, in the example illustrated inFIG. 8, the control system1includes a plurality of remote IO devices3, and each remote IO device3includes a plurality of IO units200. In this case, a group of IO units200consisting of one or a plurality of IO units200can be selected as the IO unit200that accesses the storage unit400.

For example, in the example illustrated inFIG. 8, a first group G1including the IO units200A,200B,200a,200b, and200cand a second group G2including the IO units200X,200Y,2001, and20011are assumed to be set in advance. When the user turns “ON” the third switch33, the user can select all the IO units200included in the first group G1, and when the user turns “OFF” the third switch33, the user can select all the IO units200included in the second group G2. It should be noted that, although it is assumed that a plurality of IO units200can be selected by operating the third switch33, a configuration in which only one IO unit200can be selected may be adopted. By operating the third switch33, the IO unit200that executes the access process is specified.

The fourth switch34is a switch for selecting content of an application that is executed as the access process. For example, in the example illustrated inFIG. 8, the user can select execution of a backup process as the access process when the user turns “ON” the fourth switch34and can select execution of a restoration process as the access process when the user turns “OFF” the fourth switch34. Here, the access process is a process that can be realized by the IO unit200storing data into the storage unit400or reading data from the storage unit400via the CPU unit100.

For example, in the example illustrated inFIG. 8, when the first switch31is turned “ON” in a state in which the second switch32is turned “ON”, the third switch33is turned “ON”, and the fourth switch34is turned “ON”, backup data of the setting information of the IO units200A,200B,200a, and200bincluded in the first group G1is stored into the memory card410. On the other hand, when the first switch31is turned “ON” in a state in which the second switch32is turned “OFF”, the third switch33is turned “OFF”, and the fourth switch34is turned “OFF”, the setting information of the IO units200X,200Y,2001, and20011included in the second group G2is restored to the setting information stored in the server420.

Function settings of the respective switches31to34can be performed using the support device600. When execution of the access process is selected according to operation with respect to the first switch31, the input unit300generates a command for executing the access process according to the conditions that are defined on the basis of the signals from the second switch32to the fourth switch34. For example, the input unit300transmits the generated command to the IO unit200identified according to the operation with respect to the third switch33. When the IO unit200receives the command sent from the input unit300, the IO unit200executes an access process according to the received command.

d2. Software Configuration of IO Unit200Capable of Executing Access Process

FIG. 9is a schematic diagram illustrating an example of a software configuration included in the IO unit200capable of executing the access process in executing the access process according to the embodiment. The example of the software configuration included in the functional unit2will be described with the IO unit200as an example inFIG. 9. As illustrated inFIG. 9, setting information21, an application program29, a command correspondence information26, a memory device information27, and an application information28are stored as information for executing the access process in the memory218of the IO unit200.

The IO unit200operates on the basis of the setting information21. That is, the setting information21is information including set values or programs necessary for an operation of the IO unit200.

The application program29includes a program for executing the access process. For example, the application program29includes a backup program292, a restoration program294, a stop program296, and a command analysis program298.

The backup program292is a program for backing up the setting information21. When an application to execute backup is selected according to an operation with respect to the fourth switch34, the functional unit2backs up the setting information21according to the backup program292.

The restoration program294is a program for restoring the setting information21. When an application to execute the restoration is selected according to an operation with respect to the fourth switch34, the functional unit2restores the setting information21to the setting information21stored in the storage unit400according to the restoration program294.

The stop program296is a program for stopping the operation of the functional unit2. For example, a program for stopping the operation of the functional unit2is included as an application that can be selected through an operation with respect to the fourth switch34, and when the application is selected, the functional unit2stops an operation according to the stop program296.

The command analysis program298is a program for analyzing a command sent from the input unit300. The functional unit2analyzes the command sent from the input unit300according to the command analysis program298, and executes a process of executing the access process according to a result of the analysis.

The command correspondence information26indicates information meant by the command that is transmitted by the input unit300. In greater detail, the IO unit200specifies the access destination and the type of application from the command correspondence information26on the basis of the signals from the second switch32and the fourth switch34. For example, an indication that a signal corresponding to “ON” from the second switch32means that the access destination is the memory card410, a signal corresponding to “OFF” means that the access destination is the server420, a signal corresponding to “ON” from the fourth switch34indicates execution of a backup process, and a signal corresponding to “OFF” indicates execution of a restoration process is stored in the memory318as the command correspondence information26.

The memory device information27is information for specifying the storage unit400, and is stored in the memory218for each type of storage unit400. The memory device information27includes hierarchy information271indicating a layer in the entire control system1on which the CPU unit100connected to the storage unit400is located, and an IP (Internet Protocol) address272of a device to which the storage unit400is connected, and file information273of the storage unit400.

In the application information28, an application type/setting281indicating content of execution and a setting of the application is stored for each type of application. The application type/setting281may be information different among the respective IO units200. Specifically, a configuration in which a storage condition or a storage range, a method of designating a file name at the time of storing, and the like may be changed for each IO unit200that accesses the storage unit400may be adopted.

(d3. Software Configuration of Input Unit300)

FIG. 10is a schematic diagram illustrating an example of a software configuration of the input unit300in executing the access process according to the embodiment. As illustrated inFIG. 10, a command generation program61, signal correspondence information62, unit information63, group information64, and LED lighting program65are stored in the memory318of the input unit300as information for instructing execution of the access process.

The command generation program61is a program for generating a command for executing an access process according to conditions defined on the basis of the signals from the second switch32to the fourth switch34.

Information corresponding to each of the signals from the switches31to34is stored in the signal correspondence information62. Specifically, an indication that a signal corresponding to “ON” from the first switch31means execution of the access process, a signal corresponding to “OFF” means non-execution of the access process, a signal corresponding to “ON” from the third switch33indicates the first group G1, and a signal corresponding to “OFF” indicates the second group G2is stored in the memory318as the signal correspondence information62.

The unit information63includes hierarchy information631indicating an address of the functional unit2that can execute the access process and is stored for each functional unit2that can execute the access process.

In the group information64, group setting information641capable of specifying the functional units2included in one group is stored for each group. It should be noted that the group setting information641may be information on a group other than the group assigned to “ON” and “OFF” of the second switch32. For example, a third group G3, a fourth group G4, . . . and information on a plurality of groups may be stored in the group information64, in addition to the first group G1and the second group G2.

d4. Functional Configuration of Functional Unit2

FIG. 11is a diagram illustrating an example of a functional configuration of each functional unit2that functions in executing the access process according to the embodiment.

A process that is executed by each functional unit2when the first switch31is switched from “OFF” to “ON”, that is, execution of the access process is received according to a user operation will be described with reference toFIG. 11.

The input unit300includes a command generation unit611, a communication control unit613, and a lighting control unit651. The processor310achieves a function of the command generation unit611by developing the command generation program61in the memory318and executing the command generation program61. The processor310achieves a function of the lighting control unit651by developing the LED lighting program65in the memory318and executing the LED lighting program65. A function of the communication control unit613is achieved by the reception units220aand230a, the transmission units220band230b, the reception processing unit240, the transmission processing unit250, the shared memory312, and the processor310.

1-1) The command generation unit611determines that the first switch31has been switched from “OFF” to “ON” on the basis of the input signal input from the switch30, and generates a command D60on the basis of the first switch31having been switched from “OFF” to “ON”.

The command generation unit611determines a transmission destination of the command D60on the basis of an input signal from the third switch33and generates the command D60capable of specifying input signals from the second switch32and the fourth switch34.

The command generation unit611specifies the group indicated by the input signal from the third switch33on the basis of the signal correspondence information62and specifies the unit included in the specified group on the basis of the group information64. The command generation unit611acquires an address of the specified unit from the unit information63. Thus, the command generation unit611can determine a transmission destination.

The command generation unit611transmits the command D60to the communication control unit613in order to transmit the command D60to the unit determined to be the transmission destination. The command generation unit611may generate the command D60for each unit determined to be a transmission destination and send the command D60to the communication control unit613.

In the example illustrated inFIG. 11, it is assumed that the command generation unit611sends the information capable of specifying the transmission destination and the generated command D60to the communication control unit613.

1-2) Further, the lighting control unit651determines that the first switch31has been switched from “OFF” to “ON” on the basis of the input signal input from the switch30, and causes the LED315to blink at 1 s cycles on the basis of the first switch31having been switched from “OFF” to “ON”.

2) The communication control unit613reconfigures the frame in order to transmit the command D60to each transmission destination, and transmits the frame to the communication coupler500via the uplink51B. For example, the communication control unit613transmits, to the communication coupler500, a command D62indicating that the command D60is to be transmitted to a specific unit. Further, the communication control unit613also controls a timing at which the command D62is transmitted.

3) The communication coupler500includes a communication control unit520. The communication control unit520performs a process of transmitting the command D60to each unit on the basis of the command D62sent from the communication control unit613of the input unit300. When the communication control unit520transmits the command D60to a unit connected via the internal bus51, the communication control unit520reconfigures the frame and transmits the command D60to each unit via the downlink51A. For example, in the example illustrated inFIG. 11, it is assumed that the communication control unit520transmits the command D60to the IO unit200A and an IO unit200B.

Further, when the communication control unit520transmits the command D60to a unit connected, via the internal bus51, to another communication coupler500or CPU unit100connected via a field network, the communication control unit520generates a command D64indicating that the command D60is transmitted to the unit, reconstructs a high-level frame, and sends the command D64to the communication coupler500or the CPU unit100via the field network176.

It should be noted that the communication control unit520controls each of a timing at which the command D60is transmitted and a timing at which the command D64is transmitted.

4) The IO unit200capable of executing the access process includes a command analysis unit291, an application execution unit295, and a communication control unit293. It should be noted that, for convenience of description, it is assumed that the IO unit200A has received the command D60.

When the communication control unit293receives the command D60directed to the communication control unit293, the communication control unit293transfers the command D60to the command analysis unit291. A function of the communication control unit293is achieved by the reception units220aand230a, the transmission units220band230b, the reception processing unit240, the transmission processing unit250, the shared memory312, and the processor210.

5) The command analysis unit291specifies the input signals from the second switch32and the fourth switch34from D60, and determines the execution condition of the access process on the basis of the specified input signals. The processor210develops the command analysis program298in the memory218and executes the command analysis program298, thereby achieving the function of the command analysis unit291.

The command analysis unit291specifies the access destination indicated by the input signal from the second switch32on the basis of the command correspondence information26and specifies an address of the specified access destination on the basis of the memory device information27. In addition, the command analysis unit291specifies a type of application indicated by the input signal from the fourth switch34on the basis of the command correspondence information26, and specifies content of execution of the specified application on the basis of the application information28.

6) The command analysis unit291sends the specified access destination and content of the execution of the application to the application execution unit295. The processor210achieves a function of the application execution unit295by developing at least one program among the backup program292, the restoration program294, and the stop program296in the memory218and executing the at least one program.

7) The application execution unit295executes a process on the basis of the access destination and the content of the execution of the application sent from the command analysis unit291. The application execution unit295generates a command D66A for executing a access process of accessing the storage unit400to the CPU unit100communicatively connected to the storage unit400that is the access destination, and transmits the command D66A and information capable of specifying the CPU unit100capable of communicating with the storage unit400that is the access destination to the communication control unit293. That is, the application execution unit295transmits, to the communication control unit293, the command D66A and the transmission destination to which the command D66A is to be transmitted.

8) On the basis of the information sent from the application execution unit295, the communication control unit293reconfigures the frame in order to transmit the command D66A to the CPU unit100capable of communicating with the storage unit400that is the access destination, and transmits the frame to the communication coupler500via the uplink51B. For example, the communication control unit293transmits, to the communication coupler500, a command D68A indicating that the command D66A is to be transmitted to the specific CPU unit100. It should be noted that the communication control unit293controls a timing at which the command D68A is transmitted.

9) The communication control unit520of the communication coupler500specifies the CPU unit100to which the commands D66A and D66B are to be transmitted, from the commands D68A and D68B. The communication control unit520reconfigures a high-level frame and transmits the commands D66A and D66B to the CPU unit100via the field network176. It should be noted that the communication control unit520controls a timing at which the commands D66A and D66B are transmitted.

10) The CPU unit100performs a process in which each of the IO units200A,200B, . . . accesses the storage unit400according to the commands D66A, D66B, . . . sent via the field network176.

d5. Flow of Process

A flow of the access process will be described with reference toFIG. 12.FIG. 12is a sequence chart illustrating the access process according to the embodiment. In sequence SQ2, the input unit300detects that the first switch31is switched from “OFF” to “ON” (also referred to as “detects an execution signal”). In sequence SQ4, the input unit300causes the LED315to blink in 1 s cycles. Accordingly, the user can recognize that the execution of the access process has started.

In sequence SQ6, the input unit300generates a command on the basis of the input signal from the switch30. In this case, the input unit300may further generate a command indicating that an execution log regarding the process corresponding to the input signal is sent to the input unit300at constant cycles until the process is completed.

In sequence SQ8, the input unit300transmits the generated command to the communication coupler500.

In sequence SQ10, the communication coupler500transmits the received command to the IO unit200specified according to the operation with respect to the third switch33on the basis of information of the command.

In sequence SQ12, the IO unit200having received the command analyzes the received command. The IO unit200analyzes the command to determine the content of the execution of the application.

In sequence SQ14, the IO unit200having received the command executes the application according to the determined content of the execution of the application to generates a command corresponding to the application. When the IO unit200performs backup, the IO unit200generates backup data according to the content of the execution and generates a command to store the generated backup data. When the IO unit200performs restoration, the IO unit200generates a command to request transmission of setting information in order to perform the restoration. In addition, the IO unit200specifies the storage unit400that is an access destination from the received command.

In sequence SQ16, the IO unit200transmits the generated command and information on the storage unit400that is the access destination (for example, an address of the CPU unit100that can communicate with the storage unit400) to the communication coupler500.

In sequence SQ17, the communication coupler500transmits the command sent from each IO unit200to the CPU unit100capable of communicating with the storage unit400that is the access destination.

In sequence SQ18, the CPU unit100having received the command executes a process according to the command. For example, when backup is performed, the backup data is stored into the storage unit400under designated storage conditions. When restoration is performed, the setting information is read from the storage unit400and the read setting information is transferred according to the command.

In sequence SQ20, the CPU unit100transmits an execution log indicating an execution situation regarding a process based on the received command to the input unit300in constant cycles. It should be noted that when the CPU unit100cannot directly communicate with the input unit300, the CPU unit100transmits the execution log to the input unit300via the communication coupler500.

In sequence SQ22, the input unit300controls the LED315on the basis of the execution log. Specifically, when the input unit300has detected an abnormality on the basis of the execution log, the input unit300causes the LED315to blink in 0.5 s cycles. Further, when the input unit300has detected the end of the process on the basis of the execution log, the input unit300turns OFF the LED315. It should be noted that although the execution log is transmitted by the CPU unit100, a configuration in which the execution log is transmitted by the IO unit200that has received a command from the input unit300may be adopted, and a configuration in which the execution log is transmitted from any of the CPU unit100and the IO unit200may be adopted. That is, there is no problem in a realizing means as long as the input unit300is configured to be able to monitor an execution situation of a process.

E. Setting of Access Process

By operating the support device600, the user can set the content of processing to be executed by operating the switches31to34.

e1. Hardware Configuration of Support Device600

FIG. 13is a schematic diagram illustrating a hardware configuration of the support device600that is connected to the CPU unit100according to the embodiment. The support device600is typically configured of a general-purpose computer.

As illustrated inFIG. 13, the support device600includes a processor602that executes various programs including an operating system (OS), a memory608that stores data necessary for execution of the programs in the processor602, and a nonvolatile memory606that holds the programs that are executed in the processor602, a basic input output system (BIOS), various pieces of data, and the like.

A support program650for realizing functions that are provided by the support device600is stored in the nonvolatile memory606. A program that is executed by the support device600, such as the support program650, is stored and distributed in a CD-ROM (Compact Disc-Read Only Memory)690. The program stored in the CD-ROM690is read by a CD-ROM driving device616and stored in the nonvolatile memory606or the like. Alternatively, a configuration in which the program is downloaded from a host computer at a higher level or the like through a network may be adopted.

The support device600is connected to the CPU unit100via a communication IF618, and the processor602executes the support program650, thereby acquiring the memory device information27and the unit information63. In addition, the user generates a user program660by using the support program650. The user program660is a program for realizing the execution of the access process. Specifically, various programs (the command generation program61, the signal correspondence information62, the group information64, the application program29, the command correspondence information26, and the application information28) and the like necessary for execution of the access process are uploaded by the processor602executing the user program660.

The support device600further includes a keyboard610and a mouse612that receive an operation from the user, and a display614for presenting information to the user. Further, the support device600includes a communication interface (IF)618for communicating with the CPU unit100or the like.

The support device600receives an operation from the user, executes the user program660on the basis of information on the received operation, and performs various settings of the access process.

The components constituting the support device600are coupled to each other via a path620.

FIG. 14is a diagram illustrating an example of a screen on the display614of the support device600that is connected to the CPU unit100according to the embodiment. The screen illustrated inFIG. 14is an example of a screen that is displayed on the display614when various settings of the access process are performed. The user can perform various settings according to the screen that is displayed on the display614.

The setting screen90includes a detailed setting screen91for setting a function of the switch30and a network screen92that graphically displays an entire configuration of the network.

Screens are provided according to the number of switches30on the detailed setting screen91. Specifically, a first screen910for the first switch31, a second screen920for the second switch32, a third screen930for the third switch33, a fourth screen940for the fourth switch34are provided.

For example, the function of each operation of the first switch31is displayed on the first screen910. Input areas921and922for inputting IP addresses of access destinations at the time of executing the process are provided in the second screen920. The IP addresses can be input, for example, by operating the keyboard610. It should be noted that a memory corresponding to the storage unit400may be displayed on the network screen92and selected with the mouse612or the like such that the access destination can be selected.

Further, after the storage unit400is selected, a file in the selected storage unit400can be designated.

The third screen930is a screen for selecting the functional unit2that executes the application. Selection of the functional unit2that executes the application is performed, for example, by selecting a unit displayed on the network screen92using the mouse612. Further, a configuration in which the selected unit is displayed in a different aspect so that the user can recognize the selected unit may be adopted. Further, a configuration in which a unit selected when “ON” is selected and a unit selected when “OFF” is selected are displayed in different aspects may be adopted.

The fourth screen940is a screen for selecting an application that is executed by the functional unit2. The fourth screen940may be configured such that selectable applications are displayed when tabs941and942are clicked with the mouse612, and the application is selected from among the displayed applications.

When the function to be assigned to each of the switches31to34is determined, the support device600generates information necessary for realization of the assigned function and transmits the information to the CPU unit100. The CPU unit100transfers the information sent from the support device600to each functional unit2. For example, the support device600generates the signal correspondence information62and the command correspondence information26and transmits the signal correspondence information62and the command correspondence information26to the CPU unit100. The CPU unit100transfers the signal correspondence information62and the command correspondence information26to each functional unit2and restarts each functional unit2.

It should be noted that a configuration in which the unit information63, the group information64, the memory device information27, the application information28, the command generation program61, the LED lighting program65, and the application program29are transferred to each functional unit2each time the setting is changed may be adopted or a configuration in which the unit information63, the group information64, the memory device information27, the application information28, the command generation program61, the LED lighting program65, and the application program29are transferred only at the time of initial setting and a determination is made as to whether or not the unit information63, the group information64, the memory device information27, the application information28, the command generation program61, the LED lighting program65, and the application program29are transferred according to the changed setting may be adopted. For example, when only the functions assigned to the switches31to34are changed, the support device600may transfer only the signal correspondence information62and the command correspondence information26. On the other hand, when a network configuration has been changed, the support device600may transfer the unit information63, the group information64, the memory device information27, the application information28, the command generation program61, the LED lighting program65, and the application program29, in addition to the signal correspondence information62and the command correspondence information26.

Thus, since the functions of the second switch32to the fourth switch34can be set from the support device600, the user can easily change the functions of the second switch32to the fourth switch34. For example, when the functional unit2(the IO unit200) included in the control system1is recombined or added, the setting can be easily changed from the support device600. As a result, it is possible to use the function of each switch30without fixing the function, and it is possible to provide the highly versatile switch30.

It should be noted that although the support device600can be connected to the CPU unit100, a configuration in which the support device600can be connected to at least one of the functional units2included in the control system1may be adopted.

F. Example of Application

An example of an application executable in this embodiment will be described.

f1. Backup Function

A backup function is a function of storing, in the storage unit400, the backup data of the setting information21stored in the functional unit2. Specifically, when it is determined that the backup process is to be executed on the basis of the command from the input unit300, each functional unit2transmits the setting information21to the CPU unit100that is communicatively connected to the storage unit400. The CPU unit100creates backup data and stores the backup date in the storage unit400.

f2. Restoration Function

The restoration function is a function of restoring the setting information21stored in the functional unit2. Specifically, when it is determined that the restoration process is to be executed on the basis of a command from the input unit300, each functional unit2requests the CPU unit100communicatively connected to the storage unit400to transmit restoration data.

The CPU unit100specifies the functional unit2that has requested the restoration data and generates the restoration data corresponding to the specified functional unit2on the basis of the backup data stored in the storage unit400.

The CPU unit100transmits the generated restoration data to the functional unit2corresponding to the restoration data. The functional unit2overwrites the setting information21on the received restoration data.

f4. Data Collection Function

A data collection function is a function of collecting, for example, data that is sent from a device connected to each functional unit2and a log temporarily stored by each functional unit, which is not stored as the backup data. For example, it is possible to store, in the storage unit400, detailed information on the functional unit2necessary when maintenance is performed. The user can store necessary information in the storage unit400such as the memory card410by operating the input unit300. Further, a device connected to the functional unit2or a function of stopping an operation of the functional unit2may be added to the data collection function. Thus, when a trouble has occurred, the user can collect information necessary for investigation of causes of the trouble simultaneously with work for stopping the functional unit2or the device.

f5. Format Function

A format function is a function of formatting (erasing) the setting information stored in each functional unit2. For example, in order to initialize the setting of the functional unit2, the user can erase the setting of the functional unit2by selecting the format function.

G. Use Example

An example in which the user can instruct the other IO unit200to execute the access process of accessing the storage unit400by operating the switch30will be described below.

g1. Backup, Restoration, and the Like in Units of Production Lines

For example, it is assumed that one or a plurality of IO units200are in operation when one production line is operated, and one or a plurality of CPU units100control a plurality of production lines. In this case, a group of IO units200that are used for operating one production line is set as one group. This setting makes it possible to switch a production line accessing the storage unit400simply by switching the switch30.

With such a configuration, for example, when setup change has been performed on a production line basis, it is possible to back up or restore only the setting information of the IO unit200corresponding to the production line in which the setup change has performed. Further, even when only information on a specific production line is desired to be collected, it is possible to collect only the information of the IO unit200corresponding to the production line of which the information is desired to be collected. Moreover, it is possible to stop only the production line in which a trouble has occurred.

g2. Backup, Restoration, or the Like in Units of Types of IO Units200

Although the units of the groups are the units of production lines, the units of the groups may be units of types of the IO units200. For example, the IO unit200connected to a specific type of device may be set as one group. Accordingly, when the user upgrades or maintains the specific type of device, the user can perform backup or restoration of the IO unit200connected to the specific type of device. In addition, by setting the group as described above, the user can also collect information on the specific type of device at the same timing.

g3. Installation of Plurality of Input Units300

The control system1may include a plurality of input units300. For example, the input unit300may be provided for each production line.FIG. 15is a diagram illustrating an example of the control system1including a plurality of input units300. As illustrated inFIG. 15, the input unit300may be provided for each production line L. For example, an instruction to perform a access process for accessing the storage unit400is sent from the IO unit200in the first group G1included in the first production line L1by operating a switch30of an input unit300A provided in a first production line L1. Thus, when the input unit300is provided in each production line L, the user can intuitively ascertain that a command is issued to a certain TO unit200through an operation with respect to the switch30.

Further, a switch30T may be provided in the CPU unit100B communicatively connected to the CPU unit100A via the high-level network151, in addition to the input units300A and300B provided in the respective production lines L. In this case, when the switch30T is operated, a command for an access process may be transmitted to all the IO units200communicatively connected to the CPU unit100A via the field network176or/and the internal bus51.

Further, another input unit300may receive a command transmitted from one input unit300and determine whether or not the command is to be executed on the basis of the input signal from the switch30. For example, it is assumed that the TO unit200included in each of the first production line L1and the second production line L2has been instructed to execute the access process on the basis of the operation with respect to the switch30T. In this case, the input unit300A and/or300B may determine whether or not the TO unit200included in the group G1and/or G2is instructed to execute the access process on the basis of input signals from the switches30A and/or30B.

In addition, in a manufacturing site or the like in which a plurality of control boards having the TO unit200disposed therein are installed, the input unit300may be provided in each control boa rd.

h. Modification Examples

In the embodiment, it is assumed that each of the TO unit200and the input unit300that can execute the access process has information according to the signal from the switch30. However, the configuration for receiving the signal from the input unit300and realizing that the TO unit200executes a process of accessing the storage unit400communicatively connected to the CPU unit100is not limited thereto.

h1. First Modification Example

Only the input unit300may have the information according to the signal from the switch30. For example, the input unit300may have functions of the command generation unit611and the command analysis unit291and may be configured to transmit information on an access destination (the memory device information27) and the application type/setting281to each TO unit200. The application execution unit295of each TO unit200executes the application on the basis of the application information28.

In such a configuration, the input unit300includes the application information28and the memory device information27. Further, the signal correspondence information62stored in the input unit300includes information indicating a correspondence relationship between the signal from the second switch32and the memory device information27and information indicating a correspondence relationship between the signal from the fourth switch34and the application information28. That is, in such a configuration, the input unit300can specify the IO unit200that executes the access process, content of the access process that is executed by each IO unit200, and a destination to be accessed by each IO unit200on the basis of the signal from the switch30. Each IO unit200executes the access process according to the command from the input unit300.

It should be noted that the input unit300may have information corresponding to an execution condition of the application for each type of application and type of IO unit200as the application information28or may have only information for each type of application.

In the case of a configuration in which only the input unit300has the information according to the signal from the switch30, it is possible to change the IO unit200that executes the access process, change content of a process that is executed as the access process, or change the storage unit400that is an access destination simply by changing the setting of the input unit300.

h2. Second Modification Example

The input unit300may not specify the IO unit200that accesses the storage unit400, but execute a process of determining whether or not each IO unit200executes a process of accessing the storage unit400, which is sent from the input unit300. That is, the input unit300may transfer the input signal from the switch30in a broadcasting manner and may determine that each IO unit200having received the input signal executes the access process on the basis of the input signal.

FIG. 16is a diagram illustrating an example of a functional configuration of the IO unit200in a second modification example. In the second modification example, when the input unit300has received a signal indicating the execution of the access process from the switch30, the input unit300generates the command D60capable of specifying input signals from the second switch32to the fourth switch34and broadcasts the generated command D60to all the IO units200included in the control system1. The IO unit200further includes, for example, a determination unit297and determination information299. The IO unit200determines execution of the access process on the basis of information included in the command D60and the determination information299. The determination information299is, for example, information in which an “ON” signal from the third switch33is associated with “execution” of the access process and an “OFF” signal from the third switch33is associated with “non-execution” of the access process.

When the determination unit297has determined the execution of the access process on the basis of the command D60, the command analysis unit291and the application execution unit295execute a process of executing the access process. It should be noted that since the content of the process executed by the command analysis unit291and the application execution unit295overlaps the process described with reference toFIG. 11, description thereof will be omitted.

Further, the IO unit200included in the first group causes the access process to be executed when the IO unit200has received a command indicating that the third switch33is “ON”, and the IO unit200included in the second group causes the access process to be executed when the IO unit200has received a command indicating that the third switch33is “OFF”.

In the case of a configuration in which each IO unit200executes the process of determining whether or not each IO unit200executes a process of accessing the storage unit400, which is sent from the input unit300, it is possible to change the function of the switch30simply by changing the setting of the IO unit200. As a result, in a control system in which a recombination of functional units is frequent, it is possible to update a setting simply by changing a setting of the recombined functional unit without changing a setting of the first functional unit.

Although a unit capable of executing the access process has been described to be the IO unit200in the embodiment, the input unit300, the communication coupler500, and other types of functional units2may be able to execute the access process.

By operating the switch30included in the input unit300, it is possible to execute at least one of the process of loading the setting information21into the storage unit400and the process of reading the setting information21from the storage unit400. As a result, it is possible to freely set a place at which an operation for executing an access process is performed independently of an installation place of the CPU unit100since the installation place of the input unit300does not depend on the installation place of the CPU unit100.

Further, the switch30can be provided in the CPU unit100, but the number of switches30that can be provided in the CPU unit100is limited. Since the number of switches30that can be provided in the CPU unit100is smaller than that of the functional units2that can be connected to the CPU unit100, functions that can be set are limited. On the other hand, in the case of a configuration in which the access process can be executed by connecting the input unit300as in the control system1of the embodiment, it is possible to set more functions as compared with a case in which the switch30is provided in only the CPU unit100by increasing the number of input units300.

Further, it is possible to cause the functional unit2that does not include the switch30to execute the access process simply by operating the switch30. In addition, it is possible to instruct functional units2present at a separate place to execute the access process at once.

Further, since the access process can be executed according to a physical operation such as an operation with respect to the switch30, the access process can be executed by an intuitive operation. In particular, when the switch30is provided for each functional unit2or for each production line L, it is easy for the user to intuitively ascertain which functional unit2is an execution target of the access process.

As described above, the embodiment includes the following disclosure.

A control system (1) comprising:

a storage unit (400);

a controller (100) communicatively connected to the storage unit (400); and

a plurality of functional units (2) that operate on the basis of predetermined setting information (21) and are communicatively connected to the controller (100),

wherein the functional units include a first functional unit (300) including an input portion (30) that receives a user operation,

when the input portion (30) receives execution of a access process for accessing the storage unit from a specific one or a plurality of functional units (200) according to a user operation, the first functional unit (300) generates a command (D60) for executing the access process, and

a second functional unit (200) designated according to a user operation received by the input portion (30) executes at least one of a process (292) of loading the setting information of the second functional unit into the storage unit and a process of reading the setting information from the storage unit as the access process according to the command.

The control system according to configuration 1, wherein when the first functional unit (300) generates the command (D60), the first functional unit (300) specifies the second functional unit on the basis of association information (62) corresponding to the user operation received by the input portion (611), and transmits the command to the second functional unit (613).

The control system according to configuration 1,

wherein the first functional unit (300) transmits the command (D60) to functional units (200) different from the first functional unit, and

each of the functional units different from the first functional unit determines whether or not the functional unit executes the access process for accessing the storage unit on the basis of the command (D60) (297).

The control system according to any one of configurations 1 to 3, comprising a plurality of storage units (410,420),

wherein the input portion (30) further receives a selection of a storage unit that is accessed by the second functional unit, and

the second functional unit (200) executes the access process for accessing the storage unit selected by the input portion according to the command (295).

The control system according to any one of configurations 1 to 4, wherein the input portion (30) further receives a designation of a plurality of functional units as the second functional unit.

The control system according to any one of configurations 1 to 5, wherein the first functional unit (300) further includes a notification portion (315) capable of notifying of an execution situation of the access process for accessing the storage unit.

A functional unit (300) that operates on the basis of predetermined setting information, the functional unit including:

a communication control unit (613) that controls communication with a controller (100) communicatively connected to another functional unit (200) and a storage unit (400);

an input portion (30) that receives a user operation; and

a generation unit (611) that generates a command (D60) for executing at least one of a process of loading the setting information of a specific one or a plurality of functional units (200) into the storage unit and a process of reading the setting information from the storage unit as an access process when the input portion (30) receives execution of the access process for accessing the storage unit (400) from the specific one or the plurality of functional units (200) according to the user operation (SQ2),

wherein when the generation unit (611) generates the command, the communication control unit (613) transmits the command to a second functional unit (200) designated according to the user operation received by the input portion (30) (SQ8, SQ10).