Control system and control method
The control system integrates project files by uniquely reassigned node identifiers and virtual control units, addressing communication issues and enhancing maintainability in control systems.
Patent Information
- Application Number
- JP2021039408
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-11
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2041-03-11
AI Technical Summary
Existing technologies face challenges in easily integrating project files for multiple control units, leading to communication issues due to duplicate node identifiers.
A control system that integrates project files by uniquely reassigned node identifiers across all nodes, utilizing virtual control units and conversion information to manage communication between nodes, while maintaining compatibility with existing control cycles.
Enables seamless integration of multiple project files without altering the original files, improving maintainability and allowing parallel creation and integration of control programs.
Smart Images

Figure 0007608885000001 
Figure 0007608885000002 
Figure 0007608885000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to control systems and, more particularly, to integrating project files for multiple control units. [Background technology]
[0002] Factory automation (FA) technology using control devices such as programmable controllers (PLCs) is becoming widespread in various production sites. For example, multiple control devices are installed in a production site, and each control device can control multiple robots or machine tools.
[0003] Regarding a control device, for example, JP 2019-036043 A (Patent Document 1) discloses a control device including "a memory unit that stores a first program whose entirety is scanned for each execution and a second program that is executed sequentially, an execution processing unit that executes the first program for each predetermined control period to calculate a first command value, an interpreter that interprets at least a part of the second program to generate intermediate code, a command value calculation unit that calculates a second command value for each control period according to the intermediate code generated in advance by the interpreter, and an output unit that outputs the first command value calculated by the execution processing unit and the second command value calculated by the command value calculation unit for each control period" (see [Abstract]). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2019-036043 A Summary of the Invention [Problem to be solved by the invention]
[0005] According to the technology disclosed in Patent Document 1, project files for multiple control units cannot be easily integrated. Therefore, a technology for easily integrating project files for multiple control units is needed.
[0006] The present disclosure has been made in view of the above-described background, and an object of one aspect is to provide a technique for easily integrating project files for multiple control units. [Means for solving the problem]
[0007] According to an example of the present disclosure, a control system is provided. The control system includes a storage unit that stores a first project file for a first control unit, a second project file for a second control unit, and an integrated project file generated based on the first and second project files, and a control unit that executes processing based on each project file. Each of the first and second project files includes a plurality of node identifiers that are assigned to each of a plurality of nodes independently for each project file. The integrated project file includes node identifiers that are uniquely reassigned to each of all the nodes. The control unit identifies the node identifier of the node to communicate with, using the node identifiers that are uniquely reassigned to each of all the nodes.
[0008] According to this disclosure, the control system is able to communicate with each node by setting a unique node identifier for each of all nodes included in the first and second project files.
[0009] In the above disclosure, the storage unit further stores a first virtual control unit, a second virtual control unit, and a virtual integrated control unit. The control unit installs a first project file in the first virtual control unit, installs a second project file in the second virtual control unit, installs an integrated project file in the virtual integrated control unit, and transfers communication data between the virtual integrated control unit and each of the nodes to either the first virtual control unit or the second virtual control unit.
[0010] According to this disclosure, the control system may integrate each control unit by operating it as a virtual control unit and may also forward communications between each control unit and each node.
[0011] In the above disclosure, the storage unit further stores conversion information between the first network information file included in the first project file and the second network information file included in the second project file, and the integrated network information file included in the integrated project file. Each of the first network information file, the second network information file, and the integrated network information file includes a node identifier used in each project. The control unit transfers communication data between the virtual integrated control unit and each of the nodes to either the first virtual control unit or the second virtual control unit using the conversion information.
[0012] According to this disclosure, the control system can use the conversion information to convert between node identifiers managed by each virtual integrated control unit and node identifiers assigned to each node on the real network.
[0013] In the above disclosure, the control unit communicates with each of the nodes based on a control period that is a common divisor of a first control period defined in a first network information file and a second control period defined in a second network information file.
[0014] According to this disclosure, the control system can communicate with each node at the control period (communication period) of each virtual control unit by operating at a control period that is a common divisor of the control periods used in each project file to be integrated.
[0015] In the above disclosure, the control system further includes an apparatus for integrating a plurality of project files. The apparatus generates the integrated project file based on the first project file and the second project file. The control unit acquires the first project file, the second project file, and the integrated project file from the apparatus.
[0016] According to this disclosure, the control system can obtain an integrated project file generated by the device.
[0017] In the above disclosure, the device outputs an error based on the sum of the processing time occupancy rate of the first virtual control unit and the processing time occupancy rate of the second virtual control unit within a control period of the control system exceeding 100%.
[0018] According to this disclosure, if the sum of the processing time occupancy rates of each virtual control unit within the control period of the control system exceeds 100%, the control system can output an error to inform the user that the projects cannot be merged.
[0019] In the above disclosure, the control unit generates an integrated project file based on the first project file and the second project file.
[0020] According to this disclosure, the control system can generate an integrated project file by the control unit.
[0021] According to an example of the present disclosure, there is provided a control method for a control system including a control unit. The control method includes a step of referencing an integrated project file generated based on a first project file for a first control unit and a second project file for a second control unit. Each of the first and second project files includes a plurality of node identifiers assigned to each of a plurality of nodes independently for each project file. The integrated project file includes node identifiers uniquely reassigned to each of all the nodes. The control method further includes a step of identifying a node identifier of a node to communicate with using the node identifiers uniquely reassigned to each of all the nodes.
[0022] According to this disclosure, by setting a unique node identifier for each of all nodes included in the first and second project files, it becomes possible to communicate with each node.
[0023] In the above disclosure, the control method further includes the steps of installing a first project file in a first virtual control unit, installing a second project file in a second virtual control unit, installing an integrated project file in a virtual integrated control unit, and transferring communication data between the virtual integrated control unit and each of the nodes to either the first virtual control unit or the second virtual control unit.
[0024] According to this disclosure, each control unit can be integrated by operating as a virtual control unit, and communications between each control unit and each node can be transferred.
[0025] In the above disclosure, the control method further includes a step of accessing conversion information between the first network information file included in the first project file and the second network information file included in the second project file, and the integrated network information file included in the integrated project file. Each of the first network information file, the second network information file, and the integrated network information file includes a node identifier used in each project. The control method further includes a step of forwarding communication data between the virtual integrated control unit and each of the nodes to either the first virtual control unit or the second virtual control unit using the conversion information.
[0026] According to this disclosure, the conversion information can be used to convert between the node identifiers managed by each virtual integrated control unit and the node identifiers assigned to each node on the real network.
[0027] In the above disclosure, the control method further includes a step of communicating with each of the nodes based on a control period that is a common divisor of a first control period defined in the first network information file and a second control period defined in the second network information file.
[0028] According to this disclosure, by operating at a control period that is a common divisor of the control periods used in each of the integrated project files, it is possible to communicate with each node at the control period (communication period) of each virtual control unit.
[0029] In the above disclosure, the control method further includes a step of outputting an error based on the sum of the processing time occupancy rate of the first virtual control unit and the processing time occupancy rate of the second virtual control unit within a control period of the control system exceeding 100%.
[0030] According to this disclosure, if the total occupancy rate of the processing time of each virtual control unit within the control period of the control system exceeds 100%, an error can be output to inform the user that the projects cannot be merged. Effect of the Invention
[0031] According to an embodiment, project files for multiple control units can be easily merged.
[0032] The above and other objects, features, aspects and advantages of the present disclosure will become apparent from the following detailed description of the disclosure taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0033] [Figure 1] FIG. 2 is a diagram illustrating an example of a control unit to which an embodiment is applied. [Diagram 2] FIG. 1 is a diagram illustrating an overall configuration of a network system 10 including a control system 1 according to an embodiment. [Diagram 3] FIG. 1 is an external view showing a configuration example of a control system 1 according to an embodiment. [Figure 4] 1 is a schematic diagram showing an example of a hardware configuration of a control unit 20 constituting a control system 1 according to an embodiment. [Diagram 5] 1 is a schematic diagram showing an example of a hardware configuration of a support device 6 that can be connected to a control system 1 according to an embodiment. [Figure 6] FIG. 4 is a schematic diagram showing an example of the operation of a control unit 20 according to an embodiment. [Figure 7] 2 is a schematic diagram showing an example of a frame transferred by the control unit 20. FIG. [Figure 8] FIG. 13 is a schematic diagram showing an example of integrating network information files. [Figure 9] 6 is a schematic diagram showing an example of an integrated network information file 645. FIG. [Figure 10]It is a schematic diagram showing an example of the conversion table 650. [Figure 11] It is a schematic diagram showing an example of the control cycle of the integrated control unit 20D. [Figure 12] It is a schematic diagram showing an example of the control cycle included in the network information file 615. [Figure 13] It is a flowchart showing an example of the procedure for integrating a plurality of project files. [Figure 14] It is a flowchart showing an example of the procedure for processing the integrated control unit 20 (integrated control unit) in which the integrated project file is installed.
Embodiments for Carrying Out the Invention
[0034] Hereinafter, embodiments of the technical idea according to the present disclosure will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0035] <A. Application Example> First, with reference to FIG. 1, a scenario to which the technology according to the present embodiment is applied will be described.
[0036] FIG. 1 is a diagram showing an example of a control unit to which the present embodiment is applied. With reference to FIG. 1, taking as an example the procedure of integrating the first project file of the first control unit 20A, the second project file of the second control unit 20B, and the third project file of the third control unit 20C and installing them in the integrated control unit 20D, the outline of the technology according to the present embodiment will be described. The integrated control unit 20D has the same hardware configuration as the first control unit 20A, the second control unit 20B, and the third control unit 20C. Hereinafter, when collectively referring to the first control unit 20A, the second control unit 20B, the third control unit 20C, and the integrated control unit 20D, they will be called the control unit 20. Note that the control unit 20 may be configured as one or more devices or a system.
[0037] 1 is just an example, and the technology according to the present embodiment can integrate project files of any number of control units 20, two or more. The project file includes at least a control program executed by the control unit 20 and a network information file that defines the configuration on the field network 7.
[0038] A control unit 20 such as a PLC controls a plurality of control targets 8 such as robots or machine tools via a field network 7 (see FIG. 2). In one aspect, the field network 7 may be realized by EtherCAT (registered trademark). In this case, the network information file may be, for example, an ENI (EtherCAT Network Information) file. The network information file may be a file in a unique format.
[0039] The control unit 20 manages these control targets 8 as nodes. A unique node identifier (node ID (Identifier)) is assigned to each node. The first control unit 20A, the second control unit 20B, and the third control unit 20C each manage nodes that are assigned node identifiers 1 to 10.
[0040] Each control unit 20 stores a network information file for managing each node identifier in the secondary storage device 33 (see FIG. 4). Each control unit 20 communicates with each node based on the network information file and a control program. The network information file and the control program can be managed in units called projects. Various data included in a project is also collectively called a project file.
[0041] 1, the first control unit 20A stores a first project file, the second control unit 20B stores a second project file, and the third control unit 20C stores a third project file. In other words, the first control unit 20A operates according to the first project, the second control unit 20B operates according to the second project, and the third control unit 20C operates according to the third project.
[0042] The first project file includes at least an object file of a first control program executed by the first control unit 20A and a first network information file including one or more node identifiers controlled by the first control unit 20A. Similarly, the second project file includes at least an object file of a second control program executed by the second control unit 20B and a second network information file including one or more node identifiers controlled by the second control unit 20B. Also, the third project file includes at least an object file of a third control program executed by the third control unit 20C and a third network information file including one or more node identifiers controlled by the third control unit 20C.
[0043] When one control unit 20 communicates with multiple nodes, each node identifier must be unique. If multiple nodes assigned the same node identifier exist on the same field network 7, the control unit 20 cannot communicate normally with these nodes. For example, if the integrated control unit 20D reads and uses the project files of the first control unit 20A, the second control unit 20B, and the third control unit 20C as is, the node identifiers "1 to 10" are duplicated and it is not possible to communicate normally with each node.
[0044] Therefore, the technology according to the present embodiment resets unique node identifiers for all nodes when integrating the project files of the multiple control units 20. In this way, a user can, for example, create a control program using multiple control units 20 in a division of labor, and integrate and operate these multiple control programs during operation.
[0045] More specifically, the technology according to the present embodiment installs each project file (first to third project files) of the multiple control units in each of the multiple virtual control units 610 (see FIG. 6) in the integrated control unit 20D. Also, the technology according to the present embodiment generates an integrated project file in which node identifiers unique to all nodes are reassigned from the first to third project files, and installs the integrated project file in the virtual integrated control unit 640 (see FIG. 6). In other words, the virtual first control unit 20A, the virtual second control unit 20B, the virtual third control unit 20C, and the virtual integrated control unit 640 operate in the integrated control unit 20D. The integrated project file includes identifiers uniquely reassigned to all nodes. The integrated control unit 20D can identify the node identifiers of the nodes with which it communicates by the identifiers uniquely reassigned to all nodes.
[0046] In one aspect, the integrated control unit 20D may generate an integrated project file from each installed project file (first to third project files). In another aspect, an external information processing device including the support device 6 (see FIG. 2) may generate an integrated project file from each project file (first to third project files) and install each project file and the integrated project file in the integrated control unit 20D.
[0047] Since the virtual first control unit 20A, second control unit 20B, and third control unit 20C within the integrated control unit 20D use the first to third project files in which the node identifiers "1 to 10" overlap, they cannot communicate directly with the nodes. Therefore, while executing the conversion process of the node identifier, the virtual integrated control unit 640 transfers the communication data received from any of the nodes (control target 8) to any of the plurality of virtual control units 610. Also, while executing the conversion process of the node identifier, the virtual integrated control unit 640 transfers the communication data received from any of the plurality of virtual control units 610 to any of the nodes. Taking FIG. 1 as an example, when the virtual integrated control unit 640 transfers the data communicated with the node 101 to the virtual control unit 610, it converts the node identifier "101" (node identifier within the integrated project) to the node identifier "1" (node identifier within the second project).
[0048] As described above, the technology according to the present embodiment operates a plurality of virtual control units 610 and a virtual integrated control unit 640 within the integrated control unit 20D, and causes the virtual integrated control unit 640 to execute the conversion process of the node identifier. By doing so, the user can integrate and use these plurality of project files without modifying the plurality of project files.
[0049] Furthermore, the technology according to the present embodiment does not modify each of the project files (first to third project files) before integration. Therefore, the user can create a plurality of project files in parallel and easily integrate the plurality of project files. Also, even if there is a change in the control program after integration, the user only needs to individually edit each of the project files before integration and execute the integration process again, and the maintainability of the project files is also improved.
[0050] <B. System Configuration> Next, a configuration example of a network system 10 according to the present embodiment will be described with reference to Fig. 2. A system such as the control system 1 in the following description may be composed of one or more devices. In addition, the system may be a part of a device or may cooperate with other devices.
[0051] 2 is a diagram showing a schematic diagram of an overall configuration of a network system 10 including a control system 1 according to the present embodiment. The above-described control unit 20 can be realized as a part of the control system 1.
[0052] The network system 10 includes a control system 1, a server device 2, a display device 3, and a gateway (GW) 4. These components can be connected to each other via a network 5. The network 5 is also connected to the Internet, which is an external network, via the gateway 4. In one aspect, the network 5 may be realized by Ethernet (registered trademark) or EtherNet / IP (registered trademark), which are common network protocols.
[0053] The control system 1 is connected to controlled objects 8 including field facilities and equipment as well as various devices (sensors, actuators, etc.) arranged thereon, via a field network 7. The field network 7 preferably employs a bus or network that performs periodic communication and guarantees data arrival time.
[0054] The support device 6 provides a support tool that supports a user in operating the control system 1. The support device 6 may also have a function of installing a program in the control system 1. In one aspect, the support device 6 may be a personal computer, a tablet, a smartphone, or any other information processing device.
[0055] As an example, the support device 6 is detachably connected to the control system 1 via USB (Universal Serial Bus). For this USB communication, a communication protocol for user authentication may be adopted to ensure communication security. As another example, the support device 6 may communicate with the control system 1 via the network 5.
[0056] The server device 2 is, for example, a database system, a manufacturing execution system (MES: Manufacturing Execution System), or the like. The manufacturing execution system acquires information from manufacturing devices or facilities to be controlled, monitors and manages the entire production, and can handle, for example, order information, quality information, shipping information, and other production-related information. As another example, the server device 2 may be a device that provides information system services (processing for acquiring various information from the control target and performing macro or micro analysis, etc.).
[0057] The display device 3 receives an operation from the user, outputs a command or the like corresponding to the user operation to the control system 1, and graphically displays the calculation result or the like in the control system 1. In a certain aspect, the display device 3 may include any output device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. Further, the display device 3 may include any input device such as a touch panel or a switch.
[0058] The gateway 4 performs protocol conversion between the network 5 and an external network (Internet) and processes as a firewall.
[0059] <C. Hardware Configuration> Next, with reference to FIGS. 3 to 5, the hardware configuration of the main devices or systems (control system 1, control unit 20, and support device 6) according to the present embodiment will be described.
[0060] (a. Appearance of the control system 1) 3 is an external view showing a configuration example of a control system 1 according to the present embodiment. The control system 1 includes a control unit 20, a security unit 21, a safety unit 22, one or more functional units 23, and a power supply unit 24. In one aspect, the control system 1 may include one or more of each of the control unit 20, the security unit 21, the safety unit 22, the functional unit 23, and the power supply unit 24.
[0061] The control unit 20 and the security unit 21 are connected to each other via a PCI Express bus or the like. In addition, the control unit 20, the safety unit 22, one or more functional units 23, and the power supply unit 24 are connected to each other via an internal bus.
[0062] The control unit 20 controls the control target by executing a control program. The control program includes programs such as IO refresh and control arithmetic processing that exchange signals with the equipment and devices that are the control target and various devices (sensors, actuators, etc.) arranged thereon. Specifically, the IO refresh outputs a command value calculated in the control unit 20 to the control target, or collects input values from the control target. The control arithmetic processing calculates, for example, a command value or a control amount based on the input value collected by the IO refresh. A control program with such functions is also an example of a "user program" that includes a program created by a user or a development company according to the required specifications of the control target.
[0063] The security unit 21 sets the security of the control system 1, and more particularly, of the control unit 20. The security settings (ACL table) include settings for preventing unintentional copying, that is, unauthorized copying, of the control program.
[0064] The safety unit 22 executes control calculations for implementing safety functions for control targets, independent of the control unit 20. The functional unit 23 provides various functions for implementing control of various control targets by the control system 1.
[0065] The functional units 23 may typically include an I / O unit, a safety I / O unit, a communication unit, a motion controller unit, a temperature adjustment unit, a pulse counter unit, etc. Examples of the I / O units include a digital input (DI) unit, a digital output (DO) unit, an analog output (AI) unit, an analog output (AO) unit, a pulse catch input unit, and a composite unit that combines multiple types. The safety I / O unit is responsible for I / O processing related to safety control. The power supply unit 24 supplies power of a predetermined voltage to each unit that constitutes the control system 1.
[0066] (b. Hardware Configuration of Control Unit 20) Next, a hardware configuration example of the control unit 20 included in the control system 1 according to the present embodiment will be described.
[0067] Fig. 4 is a schematic diagram showing an example of a hardware configuration of a control unit 20 constituting a control system 1 according to the present embodiment. Referring to Fig. 4, the control unit 20 includes, as main components, a processor 31 such as a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit), a chipset 32, a secondary storage device 33, a main storage device 34, a communication controller 35, an indicator 36, a switch interface 37, an internal bus controller 39, network controllers 40, 41, 42, a memory card interface 43, and a USB controller 44.
[0068] The processor 31 realizes various processes including control calculations and service processes by reading out various programs stored in the secondary storage device 33, and deploying and executing the various programs in the main storage device 34. The chipset 32 realizes the processes of the control unit 20 as a whole by mediating the exchange of data between the processor 31 and each component.
[0069] The main memory device 34 includes a volatile memory device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). At least a part of these volatile memory devices constitutes a volatile memory area 50 for storing the decrypted control program 51. In one aspect, the decrypted control program 51 may include, for example, a control program for a plurality of virtual control units and a control program for a virtual integrated control unit. The decrypted control program 51 may also refer to a network information file for a plurality of virtual control units and a network information file for the virtual integrated control unit.
[0070] The secondary storage device 33 typically includes a non-volatile storage device such as a hard disk drive (HDD) or a solid state drive (SSD), a read only memory (ROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. At least a part of these non-volatile storage devices constitutes a non-volatile storage area 48 for storing the encrypted control program 49.
[0071] The secondary storage device 33 further stores a system program 45 including an OS (Operating System), a service program 46, an integrated program 401, etc. The system program 45 provides a program execution environment for user programs such as the decrypted control program 51 and the service program 46 to operate.
[0072] The integration program 401 integrates a plurality of project files. More specifically, the integration program 401 generates an integrated project file from a plurality of project files. The integrated project file includes an integration control program that runs on the virtual integrated control unit 640, an integrated network information file 645 (see FIG. 6), and a conversion table 650 (see FIG. 6) for converting node identifiers.
[0073] The conversion table 650 is used for conversion processing between the node identifier included in the network information file in each project (or project file) before integration and the node identifier included in the network information file in the integrated project (or integrated project file). Taking FIG. 1 as an example, the control unit 20 uses the conversion table 650 for conversion processing between, for example, the node identifier "101" (node identifier used in the integrated project) and the node identifier "1" (node identifier used in the second project). In other words, the conversion table 650 is conversion information between the first network information file 615A, the second network information file 615B, and the third network information file 615C and the integrated network information file 645 included in the integrated project file. In a certain aspect, when the support device 6 includes the integration tool 552 (see FIG. 5), the control unit 20 does not need to include the integration program 401.
[0074] The communication controller 35 transmits and receives data to and from the security unit 21 via the bus 52. The communication controller 35 can be realized by, for example, a communication chip compatible with a bus such as PCI Express.
[0075] The indicator 36 notifies the operating state, etc. of the control unit 20, and is composed of one or more LEDs (Light Emitting Diodes) etc. arranged on the surface of the unit. The switch interface 37 is, for example, connected to a DIP switch 38, and outputs an ON or OFF signal of the DIP switch 38 to the processor 31.
[0076] The internal bus controller 39 transmits and receives data via an internal bus between the safety unit 22 and one or more functional units 23 constituting the control system 1. For this internal bus, a manufacturer-specific communication protocol may be used, or a communication protocol that is the same as or conforms to any industrial network protocol may be used.
[0077] Each of the network controllers 40, 41, and 42 is responsible for transmitting and receiving data between any device via the network. The network controllers 40, 41, and 42 may employ industrial network protocols such as EtherCAT, EtherNet / IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark).
[0078] The memory card interface 43 is configured to allow a memory card 53 such as an SD card to be detachably attached, and allows writing of user programs or data such as various settings to the memory card 53, or reading of the user programs or data such as various settings from the memory card 53. The USB controller 44 can transmit and receive data to and from any information processing device including the support device 6 via a USB connection. In one aspect, the control unit 20 may include, in addition to the memory card interface 43, an external device interface to which any storage medium can be connected.
[0079] While FIG. 4 shows an example of a configuration in which the necessary functions are provided by the processor 31 executing a program, some or all of these provided functions may be implemented using a dedicated hardware circuit (e.g., an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array)). Alternatively, the main part of the control unit 20 may be realized using hardware that conforms to a general-purpose architecture (e.g., an industrial PC based on a general-purpose PC). In this case, virtualization technology may be used to run multiple OSs with different uses in parallel, and necessary applications may be executed on each OS.
[0080] (c. Hardware configuration of support device 6) Next, a hardware configuration example of the support device 6 that can be connected to the control system 1 according to the present embodiment will be described.
[0081] 5 is a schematic diagram showing an example of a hardware configuration of a support device 6 that can be connected to the control system 1 according to the present embodiment. As an example, the support device 6 can be realized using a device (such as a personal computer or a tablet) that complies with a general-purpose architecture.
[0082] The support device 6 includes a processor 91 such as a CPU or GPU, a main memory device 92, an input section 93, an output section 94, a secondary memory device 95, an optical drive 96, and a communication interface 97. These components are connected via a processor bus 98. The main memory device 92 and the secondary memory device 95 can be configured in the same manner as the main memory device 34 and the secondary memory device 33 of the control unit 20, respectively, and therefore their description will not be repeated.
[0083] The processor 91 reads out programs (for example, an OS 554 and a support program 553) stored in the secondary storage device 95, expands them in the main storage device 92, and executes them to realize various types of processing.
[0084] The secondary storage device 95 stores an OS 554 for realizing basic functions, as well as a support program 553 for providing the functions of the support device 6. The support device 6 (effectively the processor 91) executes the support program 553 to realize the functions of various support tools provided by the support device 6. The support tools provide a development environment for programs in the support device 6.
[0085] The secondary storage device 95 also stores a control program 551 created using the support tool, and an integrated tool 552. The control program 551 may be a source code of a program executed by the control unit 20. The control program 551 may also include an executable file (object file) of the program executed by the control unit 20.
[0086] The integration tool 552 integrates a plurality of project files. More specifically, the integration tool 552 generates an integrated project file from a plurality of project files. The integrated project file includes an integration control program that runs on the virtual integrated control unit 640, an integrated network information file 645, and a conversion table 650 for converting node identifiers. In a certain aspect, when the control unit 20 includes the integration program 401, the support device 6 does not need to include the integration tool 552 (see FIG. 5).
[0087] In addition, in one aspect, the secondary storage device 95 may store an encrypted control program. Furthermore, the secondary storage device 95 may store a key for encrypting the control program 551, and an encryption processing program that executes the encryption processing. Furthermore, the secondary storage device 95 may store a simplified encryption processing program that executes encryption processing that is simpler and faster than the encryption processing program. The processor 91 may generate a simplified encrypted control program by executing the simplified encryption processing program.
[0088] The input unit 93 is composed of a keyboard, a mouse, etc., and accepts user operations. In a certain aspect, the input unit 93 may further include a camera, a microphone, and other arbitrary devices. In other aspects, these devices may be connected to the support device 6 via the communication interface 97. The output unit 94 is composed of a display, various indicators, a printer, etc., and outputs processing results from the processor 91, etc.
[0089] The support device 6 has an optical drive 96. The optical drive 96 reads a program stored therein from a recording medium 550 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)), and installs the program in a secondary storage device 95, etc.
[0090] The communication interface 97 can transmit and receive data with the control unit 20 or the security unit 21 provided in the control system 1 via an arbitrary communication medium such as USB or Ethernet.
[0091] Support programs 553, etc. executed on the support device 6 may be installed via a computer-readable recording medium 550, or may be installed in a form downloaded from a server device, etc. on a network. Also, the functions provided by the support device 6 according to the present embodiment can be realized by using a part of the modules provided by the OS 554.
[0092] FIG. 5 shows a configuration example in which the necessary functions as the support device 6 are provided by the processor 91 executing a program, but some or all of these provided functions may be implemented using a dedicated hardware circuit (for example, an ASIC or an FPGA, etc.). Also, in the present embodiment, the support device 6 may be removed from the control system 1 during the operation of the control system 1.
[0093] <D. Operation of the Control Unit 20> Next, the operation of control unit 20 according to the present embodiment will be described with reference to FIGS.
[0094] FIG. 6 is a schematic diagram showing an example of the operation of the control unit 20 according to the present embodiment. In the example shown in FIG. 6, the control unit 20 operates as the integrated control unit 20D described with reference to FIG. 1. That is, the control unit 20 integrates and uses three project files (the first project file of the first control unit 20A, the second project file of the second control unit 20B, and the third project file of the third control unit 20C). Also, each node identifier is assumed to be the same as the node identifier shown in FIG. 1. Note that the configuration shown in FIG. 6 is an example, and the control unit 20 can integrate the project files of any number of control units, two or more.
[0095] (a. Functional configuration of control unit 20) The control unit 20 includes, as main functional components, a first virtual control unit 610A, a second virtual control unit 610B, and a third virtual control unit 610C (collectively referred to as "virtual control units 610"), virtual network drivers 620 and 630, a virtual integrated control unit 640, a network driver 660, and hardware 670. In one aspect, the virtual control unit 610, the virtual network drivers 620 and 630, the virtual integrated control unit 640, and the network driver 660 may be realized by a program. In another aspect, the multiple virtual control units 610, the virtual network drivers 620 and 630, the virtual integrated control unit 640, and the network driver 660 may be realized as hardware.
[0096] The control unit 20 includes the same number of virtual control units 610 as the number of loaded project files. In the example shown in Fig. 6, the control unit 20 has loaded three project files and therefore includes three virtual control units 610. In one aspect, the processor 31 may execute a program that realizes the virtual control units.
[0097] An example of the hardware 670 is the hardware shown in Fig. 4. The network driver 660 is a driver used when the system program 45 or the like uses the network controllers 40, 41, 42 or the like.
[0098] Each virtual control unit 610 is a program that operates in the same manner as the control unit 20. Like the control unit 20, the virtual control unit 610 operates based on an installed project file (a control program and a network information file such as an ENI file). For example, a first project file for the first control unit 20A is installed in the virtual control unit 610 corresponding to the first control unit 20A. Hereinafter, as an example, the first virtual control unit 610A corresponds to the first control unit 20A, the second virtual control unit 610B corresponds to the second control unit 20B, and the third virtual control unit 610C corresponds to the third control unit 20C.
[0099] Each virtual control unit 610 operates in the same manner as the control unit 20 in which the project file is installed. For example, the first virtual control unit 610A in which the first project file is installed operates in the same manner as the first control unit 20A in which the first project file is installed. Each of the first virtual control unit 610A, the second virtual control unit 610B, and the third virtual control unit 610C has the first to third project files installed therein.
[0100] The virtual integrated control unit 640 mediates communication between each virtual control unit 610 and each node. The virtual integrated control unit 640 also communicates with each virtual control unit 610 via virtual network drivers 620 and 630. The virtual integrated control unit 640 also communicates with each node (control target 8) on the field network 7 via a network driver 660 and hardware 670. An integrated project file is installed in the virtual integrated control unit 640.
[0101] (b. Management of node identifiers) Next, how node identifiers are managed in the configuration shown in FIG. 6 will be described. The first virtual control unit 610A, the second virtual control unit 610B, and the third virtual control unit 610C can operate independently. More specifically, for example, the first virtual control unit 610A communicates with each node based on the first project file. At this time, the operation of the first virtual control unit 610A may be completely independent of the operation of the second virtual control unit 610B and the third virtual control unit 610C, or may be synchronized.
[0102] Each virtual control unit 610 transmits a command for the node to the virtual integrated control unit 640. Also, each virtual control unit 610 may receive data from the node from the virtual integrated control unit 640. The virtual integrated control unit 640 converts the node identifier included in the received command for the node from the node identifier used in each virtual control unit 610 to the node identifier used in the virtual integrated control unit 640, and transmits the converted command for the node to any of the nodes. Conversely, the virtual integrated control unit 640 converts the node identifier included in the received data from the node from the node identifier used in the virtual integrated control unit 640 to the node identifier used in each virtual control unit 610, and transmits the converted data from the node to any of the virtual control units 610.
[0103] For example, the first virtual control unit 610A assigns node identifiers "1-10" to the nodes with which it communicates based on the first network information file 615A (ENI file, etc.). Similarly, the second virtual control unit 610B assigns node identifiers "1-10" to the nodes with which it communicates based on the second network information file 615B (ENI file, etc.). Furthermore, the third virtual control unit 610C assigns node identifiers "1-10" to the nodes with which it communicates based on the third network information file 615C (ENI file, etc.). The first network information file 615A, the second network information file 615B, and the third network information file 615C are collectively referred to as network information files 615.
[0104] In response to this, the virtual integrated control unit 640 assigns node identifiers "201-210" to the nodes with which the first virtual control unit 610A communicates, assigns node identifiers "101-110" to the nodes with which the second virtual control unit 610B communicates, and assigns node identifiers "1-10" to the nodes with which the third virtual control unit 610C communicates. The integrated network information file 645 includes these newly assigned node identifiers (node identifiers "1-10," "101-110," and "201-210").
[0105] The conversion table 650 manages the correspondence between the node identifiers included in each network information file 615 and the node identifiers included in the integrated network information file 645. For example, the conversion table 650 manages the node identifiers "1-10" included in the first network information file 615A and the node identifiers "201-210" included in the integrated network information file 645 in association with each other. Similarly, the conversion table 650 manages the node identifiers "1-10" included in the second network information file 615B and the node identifiers "101-110" included in the integrated network information file 645 in association with each other. The conversion table 650 also manages the node identifiers "1-10" included in the third network information file 615C and the node identifiers "1-10" included in the integrated network information file 645 in association with each other.
[0106] As described above, each of the first virtual control unit 610A, the second virtual control unit 610B, and the third virtual control unit 610C only needs to manage the first network information file 615A, the second network information file 615B, and the third network information file 615C. The virtual integrated control unit 640 manages the integrated network information file 645 and the conversion table 650. The virtual integrated control unit 640 can convert the node identifier in the integrated network information file 645 and the node identifier in each network information file 615 to each other based on the conversion table 650. In this way, the virtual integrated control unit 640 can transfer communication between each virtual control unit 610 and each node even if the node identifiers used by each virtual control unit 610 are duplicated.
[0107] (c. An example of communication flow) Next, the operation of the control unit 20 will be described using as an example the communication between the second virtual control unit 610B and the node 201 (the node with the node identifier "201").
[0108] When the second virtual control unit 610B sends an instruction to node 201, in a first step, the second virtual control unit 610B refers to the second network information file 615B and sends an instruction including the node identifier "1" to the virtual integrated control unit 640 via the virtual network drivers 620, 630.
[0109] In a second step, the virtual integrated control unit 640 refers to the conversion table 650 to obtain the node identifier "201" in the integrated network information file 645 that corresponds to the node identifier "1" in the second network information file 615B. In a third step, the virtual integrated control unit 640 changes the node identifier "1" included in the command to the node identifier "201."
[0110] In a fourth step, the virtual integrated control unit 640 outputs the command with the node identifier changed to the field network 7 via the network driver 660 and the hardware 670. The command with the node identifier changed is received by the node 201.
[0111] When the node 201 transmits data to the second virtual control unit 610B, in a first step, the node 201 outputs data including the node identifier “201” to the field network 7. Then, the virtual integrated control unit 640 acquires the data via the network driver 660 and the hardware 670.
[0112] In a second step, the virtual integrated control unit 640 refers to the conversion table 650 to obtain the node identifier "1" in the second network information file 615B that corresponds to the node identifier "201" in the integrated network information file 645. In a third step, the virtual integrated control unit 640 changes the node identifier "201" included in the command to the node identifier "1."
[0113] In a fourth step, the virtual integrated control unit 640 transmits the data with the changed node identifier to the second virtual control unit 610B via the virtual network drivers 620 and 630.
[0114] 7 is a schematic diagram showing an example of a frame transferred by the control unit 20. Commands transmitted from the control unit 20 to the nodes and data transmitted from the nodes to the control unit 20 are realized in the format of the frame shown in FIG.
[0115] A frame 700 is transmitted and received between each virtual control unit 610 and the virtual integrated control unit 640. A frame 710 is transmitted and received between the virtual integrated control unit 640 and each node. The frames 700 and 710 each include a header, data, and a cyclic redundancy check (CRC). Furthermore, the header includes a frame type and a node identifier.
[0116] When the second virtual control unit 610B transmits a command to the node 201, the second virtual control unit 610B transmits a frame 700 including the node identifier 701 “1” to the virtual integrated control unit 640. Next, the virtual integrated control unit 640 refers to the conversion table 650 and converts the node identifier 701 “1” to the node identifier 711 “201”, thereby converting the frame 700 to a frame 710. Then, the virtual integrated control unit 640 transmits the frame 710 to the node 201. In other words, the virtual integrated control unit 640 rewrites the node identifier 701 of the frame 700, and transfers the frame 700 with the rewritten node identifier 701 to the node 201.
[0117] When node 201 sends data to the second virtual control unit 610B, node 201 sends a frame 710 including the node identifier 711 "201" to the virtual integrated control unit 640. Next, the virtual integrated control unit 640 refers to the conversion table 650 and converts the frame 710 into a frame 700 by changing the node identifier 711 "201" to the node identifier 701 "1". Then, the virtual integrated control unit 640 sends the frame 700 to the second virtual control unit 610B. In other words, the virtual integrated control unit 640 rewrites the node identifier 711 of the frame 710 and transfers the frame 710 with the rewritten node identifier 711 to the second virtual control unit 610B.
[0118] <E. Integration Procedure of Project Files> Next, with reference to FIGS. 8 to 12, the procedure for integrating project files will be described. The integration of project files includes, at least, generating an integrated network information file 645, a conversion table 650, and a control program for the virtual integrated control unit 640 from the network information files 615 included in each project file.
[0119] FIG. 8 is a schematic diagram showing an example of the integration of network information files. The control unit 20 or the support device 6 generates an integrated network information file 645 (such as an integrated ENI file) based on the network information files 615 (such as ENI files) in a plurality of projects.
[0120] More specifically, when the control unit 20 generates the integrated network information file 645, first, the control unit 20 acquires a plurality of project files from any interface (such as the communication controller 35, the USB controller 44, or the memory card interface 43) and stores the plurality of project files in the secondary storage device 33.
[0121] Next, the control unit 20 generates an integrated network information file 645 based on the network information files 615 in the multiple projects using the integration program 401. At the same time, the control unit 20 generates a conversion table 650 and an integrated control program based on the network information files 615 in the multiple projects using the integration program 401. Finally, the control unit 20 stores the generated integrated network information file 645, conversion table 650 and integrated control program in an integrated project file in the secondary storage device 33. The integrated control program mainly includes frame forwarding processing and node identifier conversion processing.
[0122] When the support device 6 generates the integrated network information file 645, the support device 6 uses the integration tool 552 to generate an integrated project file (including the integrated network information file 645, the conversion table 650, and the control program) in the same procedure as the control unit 20. Next, the support device 6 transmits the multiple project files and the integrated project file to the control unit 20.
[0123] 9 is a schematic diagram showing an example of an integrated network information file 645. The integrated network information file includes node identifiers 910 that are uniquely assigned to all nodes. The integration program 401 or the integration tool 552 acquires multiple node identifiers included in multiple network information files. If there are duplicates among the acquired multiple node identifiers, the integration program 401 or the integration tool 552 generates the integrated network information file 645 by reassigning uniquely identifiable node identifiers 910 to all nodes, as in the example shown in FIG. 9.
[0124] 10 is a schematic diagram showing an example of the conversion table 650. The conversion table 650 includes an apparatus identifier 1010, a first node identifier 1020, and a second node identifier 1030. The apparatus identifier 1010 uniquely identifies the virtual control unit 610. The first node identifier 1020 is a node identifier used by the virtual control unit 610. The second node identifier 1030 is a node identifier used by the virtual integrated control unit 640.
[0125] Taking communication between the second virtual control unit 610B and node 201 (node with node identifier "201") as an example, the device identifier 1010 "2" identifies the second virtual control unit 610B. The first node identifier 1020 is the node identifier "1" used by the second virtual control unit 610B, and the second node identifier 1030 is the node identifier "201" used by the virtual integrated control unit 640. The virtual integrated control unit 640 refers to this information to perform a transfer process for communication between each virtual control unit 610 and each node.
[0126] FIG. 11 is a schematic diagram showing an example of a control period of the integrated control unit 20D. Normally, each control unit 20 communicates with each node based on a control period defined in a project file. In the example shown in FIG. 11, the first control unit 20A communicates with each node in group A at a control period of "1.5 ms" (milliseconds). The second control unit 20B communicates with each node in group B at a control period of "1.5 ms". The third control unit 20C communicates with each node in group C at a control period of "2.0 ms".
[0127] When the integrated control unit 20D uses the first to third project files in an integrated manner, it needs to communicate with each node in group A at a control period of "1.5 ms", communicate with each node in group B at a control period of "1.5 ms", and communicate with each node in group C at a control period of "2.0 ms".
[0128] Therefore, the integrated control unit 20D executes processing at a control period that is a common divisor of the control periods defined in the first to third projects. The control periods defined in the first to third projects are "1.5 ms", "1.5 ms", and "2.0 ms". The common divisors of these periods are "0.1 ms, 0.25 ms, 0.5 ms", etc. In one aspect, the integrated control unit 20D may execute processing at a control period that is the greatest common divisor of the control periods defined in the first to third projects.
[0129] The integrated control unit 20D operates at a common divisor (e.g., 0.1 ms) of the control periods defined in the first to third projects, thereby enabling it to communicate with each node in group A at a control period of 1.5 ms, communicate with each node in group B at a control period of 1.5 ms, and communicate with each node in group C at a control period of 2.0 ms.
[0130] 12 is a schematic diagram showing an example of a control period included in the network information file 615. The network information file 615 (ENI file, etc.) in each project includes a control period 1210 as an item in addition to the node identifier. The integration program 401 or the integration tool 552 acquires the control period 1210 included in the network information file in each project. In one aspect, the integration program 401 or the integration tool 552 may acquire the control period from the control program in each project or from any other file.
[0131] The integration program 401 or the integration tool 552 calculates a control period that is a common divisor of the multiple control periods 1210 obtained, and includes the calculated control period in the integrated network information file 645 .
[0132] In one aspect, the integration program 401 or the integration tool 552 may calculate the occupancy rate of the processing time of each project based on the network information file 615 in each project. The occupancy rate of the processing time is the occupancy rate of the processing time within the control period of the virtual integrated control unit 640. For example, when the control period of the virtual integrated control unit 640 is "1.0 ms" and the processing time of the first virtual control unit 610A is "0.2 ms", the occupancy rate of the processing time of the first virtual control unit 610A is "20% (0.2 ms / 1.0 ms*100=20)".
[0133] 11, if the sum of the processing time occupancy rate of the first virtual control unit 610A, the processing time occupancy rate of the second virtual control unit 610B, and the processing time occupancy rate of the third virtual control unit 610C within the control period of the virtual integrated control unit 640 exceeds the control period of the virtual integrated control unit 640 (if the sum of the processing time occupancy rates exceeds 1 (100%)), the virtual integrated control unit 640 (integrated control unit 20D) cannot process the first to third project files. In this case, the integration program 401 or the integration tool 552 cannot integrate the project files, and may output an error via one of the interfaces.
[0134] <F.フローチャート> Next, the process of integrating a plurality of project files and the operation procedure of the control unit 20 in which the integrated project file is installed will be described with reference to Figs.
[0135] Fig. 13 is a flow chart showing an example of a procedure for integrating a plurality of project files. A procedure for the support device 6 (integration tool 552) to integrate a plurality of project files will be described with reference to Fig. 13. The control unit 20 (integration program 401) can also integrate a plurality of project files in a procedure similar to that shown below.
[0136] 13 from the secondary storage device 95 to the main storage device 92, and executes the program. In another aspect, a part or all of the processing may be realized as a combination of circuit elements configured to execute the processing.
[0137] In step S1310, the processor 91 builds the project file of each control unit 20 to generate an object file (an object file of the control program) and a network information file 615.
[0138] In step S1320, the processor 91 imports the object files and network information files 615 of each control unit 20 into the integration tool 552. In one aspect, the processor 91 may import the object files and network information files from each control unit 20 and import the acquired object files and network information files 615 into the integration tool 552.
[0139] In step S1330, the processor 91 assigns the virtual control units 610 to the virtual network driver of the integrated control unit 20D, and further assigns a device identifier 1010 to each virtual control unit 610.
[0140] In step S1340, the processor 91 uses the integration tool 552 to build the integrated files to generate the integrated network information file 645, the conversion table 650, and the integrated control program. The integrated control program is a control program executed by the virtual integrated control unit 640. The processor 91 transmits or installs the integrated project file including the integrated network information file 645, the conversion table 650, and the integrated control program, and each of the project files before integration, to the integrated control unit.
[0141] Fig. 14 is a flowchart showing an example of a processing procedure of the control unit 20 (integrated control unit) in which an integrated project file is installed. In one aspect, the processor 31 may load a program (integrated program 401) for performing the processing of Fig. 14 from the secondary storage device 33 to the main storage device 34 and execute the program. In another aspect, a part or all of the processing may be realized as a combination of circuit elements configured to perform the processing.
[0142] In step S1410, after startup, each of the virtual control units 610 goes into a state of waiting for communication establishment with a slave (node).
[0143] In step S1420, after the hardware (physical layer) 670 has started up, the virtual integrated control unit 640 checks all slaves listed in the integrated network information file.
[0144] In step S1430, the virtual integrated control unit 640 assigns post-integration node numbers (corresponding to node identifiers 910 in FIG. 9) to all of the integrated slaves, thereby enabling communication with all of the slaves. In a certain aspect, the processes from steps S1410 to S1430 may be executed in parallel, or the order of the processes may be changed.
[0145] In step S1440, each of the virtual integrated control unit 640 and the virtual control unit 610 repeatedly executes the processes from step S1450 onwards.
[0146] In step S1450, each of the virtual control units 610 checks whether communication with the slaves is possible, and starts communication with each slave via the virtual network drivers 620, 630. In one aspect, each of the virtual control units 610 may check whether communication with the slaves is possible by transmitting a survival confirmation frame to each slave and receiving a reply thereto.
[0147] In step S1460, the virtual integrated control unit 640 changes the node identifier 701 in the frame 700 (sent by the virtual control unit 610) set in the virtual network drivers 620, 630 to the node identifier 711 of the real network (field network 7), and transmits and receives the frame 710.
[0148] In step S1470, the virtual integrated control unit 640 uses the conversion table 650 to change the node identifier 711 in the frame 710 received from the real network to the node identifier 701 in the virtual control unit 610. Then, the virtual integrated control unit 640 sets the frame 700 in the virtual network drivers 620, 630 (sends the frame 700 to one of the virtual control units 610).
[0149] In step S1480, each of the virtual control units 610 receives the responses from the virtual network drivers 620 and 630, and executes processing within the virtual control unit 610 based on the responses.
[0150] In step S1490, if input of a stop request or the like is detected, each of virtual integrated control unit 640 and virtual control unit 610 ends the process. Otherwise, each of virtual integrated control unit 640 and virtual control unit 610 repeatedly executes the processes from step S1450 onwards. In a certain aspect, the processes from step S1450 to S1480 may be executed in parallel by each of virtual control unit 610 and virtual integrated control unit 640, or the order of the processes may be interchanged.
[0151] As described above, the technology according to the present embodiment operates a plurality of virtual control units 610 and a virtual integrated control unit 640 in an integrated control unit, and causes the virtual integrated control unit 640 to execute a node identifier conversion process. In this way, the user can integrate and use a plurality of project files without making any changes to these project files.
[0152] Furthermore, the technology according to this embodiment does not modify each project file itself before integration. Therefore, a user can create a plurality of project files in parallel and easily integrate the plurality of project files. Also, even if there are changes to the control program after integration, the user only needs to individually edit each of the project files before integration and execute the integration process again, which also improves the maintainability of the project files.
[0153] <G. Appendix> As described above, this embodiment includes the following disclosures. (Configuration 1) A storage unit that stores a first project file for a first control unit (20A), a second project file for a second control unit (20B), and an integrated project file generated based on the first and second project files; A control unit (31) that executes processing based on each project file, Each of the first and second project files includes a plurality of node identifiers assigned to each of a plurality of nodes independently for each project file, The integrated project file includes node identifiers that are reassigned uniquely to each of all the nodes, The control unit (31) is a control system (1, 20) that identifies the node identifiers of the nodes to communicate with using the node identifiers that are reassigned uniquely to each of all the nodes. (Configuration 2) The storage unit further stores a first virtual control unit (610), a second virtual control unit (610), and a virtual integration control unit (640), The control unit (31) Installs the first project file in the first virtual control unit (610), Installs the second project file in the second virtual control unit (610), Installing the integrated project file in the virtual integrated control unit (640); A control system (1, 20) of configuration 1 that transfers communication data between the virtual integrated control unit (640) and each of the nodes to either the first virtual control unit (610) or the second virtual control unit (610). (Configuration 3) the storage unit (33) further stores conversion information between a first network information file included in the first project file and a second network information file included in the second project file, and an integrated network information file included in the integrated project file; each of the first network information file, the second network information file and the integrated network information file includes a node identifier used within each project; A control system (1, 20) of configuration 2, in which the control unit (31) uses the conversion information to transfer communication data between the virtual integrated control unit (640) and each of the nodes to either the first virtual control unit (610) or the second virtual control unit (610). (Configuration 4) A control system (1, 20) of configuration 3, wherein the control unit (31) communicates with each of the nodes based on a control period that is a common divisor of a first control period defined in the first network information file and a second control period defined in the second network information file. (Configuration 5) a device (6) for integrating a plurality of project files; The device (6) generates the integrated project file based on the first project file and the second project file, The control system (1, 20) of any one of configurations 2 to 4, wherein the control unit (31) acquires the first project file, the second project file, and the integrated project file from the device (6). (Configuration 6) The control system (1, 20) of configuration 5, wherein the device (6) outputs an error based on the sum of the processing time occupancy rate of the first virtual control unit (610) and the processing time occupancy rate of the second virtual control unit (610) exceeding 100% within a control period of the control system (1, 20). (Configuration 7) The control system (1, 20) of the first configuration, wherein the control unit (31) generates the integrated project file based on the first project file and the second project file. (Configuration 8) A method for controlling a control system (1, 20) including a control unit (20), comprising: Referencing an integrated project file generated based on a first project file for a first control unit (20) and a second project file for a second control unit (20); each of the first and second project files includes a plurality of node identifiers assigned to each of a plurality of nodes independently for each project file; the integrated project file includes uniquely reassigned node identifiers for all nodes; The control method further includes a step of identifying a node identifier of a communicating node using the node identifiers uniquely reassigned to each of all of the nodes. (Configuration 9) installing the first project file in a first virtual control unit (610); installing the second project file in a second virtual control unit (610); Installing the integrated project file in a virtual integrated control unit (640); The control method of configuration 8, further comprising a step of forwarding communication data between the virtual integrated control unit (640) and each of the nodes to either the first virtual control unit (610) or the second virtual control unit (610). (Configuration 10) accessing conversion information between a first network information file included in the first project file and a second network information file included in the second project file, and an integrated network information file included in the integrated project file; each of the first network information file, the second network information file and the integrated network information file includes a node identifier used within each project; The control method of configuration 9 further includes a step of forwarding communication data between the virtual integrated control unit (640) and each of the nodes to either the first virtual control unit (610) or the second virtual control unit (610) using the conversion information. (Configuration 11) The control method of configuration 10, further comprising a step of communicating with each of the nodes based on a control period that is a common divisor of a first control period defined in the first network information file and a second control period defined in the second network information file. (Configuration 12) The control method of configuration 11 further includes a step of outputting an error based on the sum of the processing time occupancy rate of the first virtual control unit (610) and the processing time occupancy rate of the second virtual control unit (610) exceeding 100% within a control period of the control system (1, 20).
[0154] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is indicated by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims. In addition, the disclosure contents described in the embodiments and each modified example are intended to be implemented, as far as possible, either alone or in combination. [Explanation of symbols]
[0155] 1 control system, 2 server device, 3 display device, 4 gateway, 5 network, 6 support device, 7 field network, 8 controlled object, 10 network system, 20 control unit, 20A first control unit, 20B second control unit, 20C third control unit, 20D integrated control unit, 21 security unit, 22 safety unit, 23 function unit, 24 power supply unit, 31, 91 processor, 32 chip set, 33, 95 secondary storage device, 34, 92 main storage device, 35 communication controller, 36 indicator, 37 switch interface, 38 dip switch, 39 internal bus controller, 40, 41, 42 network controller, 43 memory card interface, 44 USB controller, 45 system program, 46 service program, 48 non-volatile storage area, 49 encrypted control program, 50 volatile storage area, 51 decrypted control program, 52 bus, 53 memory card, 93 Input section, 94 Output section, 96 Optical drive, 97 Communication interface, 98 Processor bus, 101, 201 Node, 401 Integrated program, 550 Recording medium, 551 Control program, 552 Integrated tool, 553 Support program, 610 Virtual control unit, 610A First virtual control unit, 610B Second virtual control unit, 610C Third virtual control unit, 615 Network information file, 615A First network information file, 615B Second network information file, 615C Third network information file, 620, 630 Virtual network driver, 640 Virtual integrated control unit, 645 Integrated network information file, 650 Conversion table, 660 Network driver, 670 Hardware, 700, 710 Frame, 701, 711, 910 Node identifier, 1010 Device identifier, 1020 First node identifier, 1030 Second node identifier, 1210 Control period.
Claims
1. A control system comprising: a storage unit that stores a first project file for a first control unit, a second project file for a second control unit, and an integrated project file that is generated based on the first and second project files; a control unit that executes processing based on each project file, the first project file includes a plurality of node identifiers for the first control unit to communicate with a plurality of nodes on a field network connected to the first control unit, the second project file includes a plurality of node identifiers for the second control unit to communicate with a plurality of nodes on a field network connected to the second control unit, the integrated project file includes a plurality of node identifiers uniquely reassigned to each of all nodes included in the first project file and the second project file, The control unit is configured to be able to communicate with each of a plurality of nodes on a field network connected to the control system using each of a plurality of node identifiers uniquely reassigned to each of all of the nodes.
2. The storage unit further stores a first virtual control unit, a second virtual control unit, and a virtual integrated control unit; The control unit is Installing the first project file in the first virtual control unit; Installing the second project file in the second virtual control unit; Installing the integrated project file in the virtual integrated control unit; The control system according to claim 1 , wherein the virtual integrated control unit transfers communication data received from any node on a field network connected to the control system to either the first virtual control unit or the second virtual control unit.
3. the storage unit further stores conversion information between a first network information file included in the first project file and a second network information file included in the second project file, and an integrated network information file included in the integrated project file; each of the first network information file, the second network information file and the integrated network information file includes a node identifier used within each project; The control system of claim 2 , wherein the control unit is configured to use the conversion information to forward the communication data to either the first virtual control unit or the second virtual control unit.
4. 4. The control system according to claim 3, wherein the control unit communicates with each of the nodes based on a control period that is a common divisor of a first control period defined in the first network information file and a second control period defined in the second network information file.
5. a device for integrating a plurality of project files; The apparatus generates the integrated project file based on the first project file and the second project file; The control system according to any one of claims 2 to 4, wherein the control unit acquires the first project file, the second project file, and the integrated project file from the device.
6. The control system of claim 5, wherein the device outputs an error based on the sum of the processing time occupancy rate of the first virtual control unit and the processing time occupancy rate of the second virtual control unit within a control period of the control system exceeding 100%.
7. The control system according to claim 1 , wherein the control unit generates the integrated project file based on the first project file and the second project file.
8. A control method for a control system including a control unit, comprising: Referencing an integrated project file generated based on a first project file for a first control unit and a second project file for a second control unit; the first project file includes a plurality of node identifiers for the first control unit to communicate with a plurality of nodes on a field network connected to the first control unit, the second project file includes a plurality of node identifiers for the second control unit to communicate with a plurality of nodes on a field network connected to the second control unit, the integrated project file includes a plurality of node identifiers uniquely reassigned to each of all nodes included in the first project file and the second project file, The control method further includes a step of communicating with each of a plurality of nodes on a field network connected to the control system using each of a plurality of node identifiers uniquely reassigned to each of all of the nodes.
9. installing the first project file in a first virtual control unit; installing the second project file in a second virtual control unit; installing the integration project file in a virtual integration control unit; The control method according to claim 8, further comprising a step of transferring, in the virtual integrated control unit, communication data received from any node on a field network connected to the control system to either the first virtual control unit or the second virtual control unit.
10. The method further includes a step of accessing conversion information between a node identifier included in each of a first network information file included in the first project file and a second network information file included in the second project file, and an integrated network information file included in the integrated project file; each of the first network information file, the second network information file and the integrated network information file includes a node identifier used within each project; The control method of claim 9 , further comprising the step of forwarding the communication data to either the first virtual control unit or the second virtual control unit using the conversion information.
11. 11. The control method of claim 10, further comprising the step of communicating with each of the nodes based on a control period that is a common divisor of a first control period defined in the first network information file and a second control period defined in the second network information file.
12. The control method according to claim 11, further comprising a step of outputting an error based on a sum of an occupancy rate of the processing time of the first virtual control unit and an occupancy rate of the processing time of the second virtual control unit within a control period of the control system exceeding 100%.
Citation Information
Patent Citations
Computer system for working line
JP1997024403A
Communication controller, measurement control system and recording medium
JP2000341357A
Method and device for file system virtualization
JP2008159027A
Process controller and system
JP2014010811A
Support device for programmable controller, program therefor, and programmable controller system
JP2014206830A