Controller, method and program
The controller addresses the challenge of comparing and synchronizing AAS-based configuration information with actual production line configurations by using communication ports, storage units, and update mechanisms, thereby reducing manual errors and ensuring accurate system representation.
Patent Information
- Application Number
- JP2023192829
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-13
- Publication Date
- 2025-05-23
AI Technical Summary
Existing technologies fail to provide a mechanism for comparing the system configuration indicated by configuration information created according to AAS with the actual system configuration of a production line, leading to inconsistencies and manual corrections.
A controller with first and second communication ports, a storage unit for storing BoM indicating configuration information created according to AAS, and units for changing and comparing configuration information, as well as an update unit for synchronizing configuration information between the controller and an information processing device.
Enables automatic comparison and synchronization of system configurations, reducing manual errors and ensuring that configuration information accurately reflects the actual production line setup.
Smart Images

Figure 2025079939000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a controller, a method, and a program for FA (Factory Automation). [Background technology]
[0002] U.S. Patent Application Publication No. 2021 / 0344561 (Patent Document 1) discloses a technology for analyzing information of an industrial device described in accordance with AAS (Asset Administration Shell) and configuring network access for the industrial device. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] US Patent Application Publication No. 2021 / 0344561 Summary of the Invention [Problem to be solved by the invention]
[0004] A production line in a factory is composed of a system equipped with multiple types of physical equipment. By managing (operating and sharing) the configuration of such a system existing in the physical (real world) using configuration information created according to AAS, it is possible to connect the physical equipment that constitutes the system to a digital virtual space. On the other hand, at a factory or other site, the physical equipment that constitutes the system of the production line changes due to improvements or changes to the production line. For example, model changes, addition or deletion of equipment, etc. When such a system configuration changes at the production site, the system configuration indicated by the configuration information created in advance according to AAS becomes inconsistent with the system configuration realized at the site. Therefore, in order to understand whether the configuration information created according to AAS represents the actual system configuration installed at the site such as a factory, it is desired to provide a mechanism that makes it possible to compare the system configuration represented by the configuration information with the system configuration actually realized at the production site. The technology disclosed in Patent Document 1 does not take such issues and mechanisms into consideration.
[0005] The present disclosure has been made in consideration of the above-mentioned problems, and its purpose is to provide a controller, a method, and a program that enable a comparison of the system configuration indicated by configuration information created in accordance with AAS with the system configuration of an actual production line. [Means for solving the problem]
[0006] A controller according to an example of the present disclosure is a controller for controlling a production line system, and includes a first communication port for connecting a first network to which a plurality of devices constituting the production line system belong, a second communication port for connecting a second network to which an information processing device belongs, and a first storage unit for storing a BoM (Bill of Material) indicating configuration information of the system, which is created according to an AAS (Asset Administration Shell). The information processing device includes a second storage unit for storing the BoM indicating the configuration information of the system, which is created according to the AAS. The controller further includes a change unit for changing the configuration information indicated by the BoM in the first storage unit based on the change when a change is detected in the configuration of the system, and a comparison unit for comparing the configuration information of the BoM in the first storage unit with the configuration information of the BoM in the second storage unit when a predetermined condition is satisfied.
[0007] According to the above disclosure, the controller can compare the system configuration indicated by the configuration information created according to the AAS with the system configuration of the actual production line.
[0008] In the above disclosure, the controller further includes an update unit that communicates configuration information of the BoM of the second storage unit with the information processing device and performs an update process to update the configuration information of the BoM of the second storage unit using the configuration information of the BoM of the first storage unit.
[0009] According to the above disclosure, the controller can update the configuration information of the BoM of the second storage unit obtained by communicating with the information processing device, using the configuration information of the BoM of the first storage unit.
[0010] In the above disclosure, when the result of the above comparison indicates that the configuration information of the BoM of the first storage unit and the configuration information of the BoM of the second storage unit are inconsistent, the controller determines whether to allow the update unit to perform the above update process.
[0011] According to the above disclosure, the above update process is performed when the controller permits its execution.
[0012] In the above disclosure, the controller further includes an event detection unit that detects a predetermined type of event including a communication error in the communication of configuration information of the BoM of the second storage unit, and the controller permits the update unit to perform the update process based on the type of event detected by the event detection unit.
[0013] According to the above disclosure, the controller can determine whether to permit the execution of the above update process based on the type of event detected in the communication of BoM configuration information between the controller and an information processing device.
[0014] In the above disclosure, the controller outputs at least one of information indicating that the configuration information of the BoM in the first storage unit and the configuration information of the BoM in the second storage unit are inconsistent, information indicating whether the update process was successful or not, and the type of event detected by the event detection unit.
[0015] According to the above disclosure, the output information can be provided as information for managing or analyzing the history of update processing of the BoM configuration information.
[0016] In the above disclosure, the predetermined condition includes that the controller detects that the controller is powered on. According to this disclosure, the controller automatically executes the above comparison process when the controller is powered on.
[0017] In the above disclosure, the configuration information of the BoM includes device attributes and the mutual connection relationships of the devices. According to this disclosure, in the above-mentioned comparison process, the device attributes or the above-mentioned connection relationships can be compared.
[0018] A method according to an example of the disclosure is a method implemented by a processor of a controller that controls a production line system. The controller includes a first communication port for connecting a first network to which a plurality of devices that configure the production line system belong, a second communication port for connecting a second network to which an information processing device belongs, and a first storage unit that stores a BoM (Bill of Material) that indicates configuration information of the system, which is created according to an AAS (Asset Administration Shell). The information processing device includes a second storage unit that stores the BoM that indicates configuration information of the system, which is created according to the AAS. The method includes a step of changing the configuration information indicated by the BoM in the first storage unit based on the change when a change in the system configuration is detected, and a step of comparing the configuration information of the BoM in the first storage unit with the configuration information of the BoM in the second storage unit when a predetermined condition is satisfied.
[0019] A program according to an example of this disclosure indicates a program for causing a computer to execute the method described above. Effect of the Invention
[0020] According to the present disclosure, it is possible to compare the system configuration indicated by the configuration information created in accordance with the AAS with the actual system configuration of the production line. [Brief description of the drawings]
[0021] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a control system 1 according to the present embodiment. [Diagram 2] 1 is a schematic diagram showing a configuration of a main part of a PLC 100 according to the present embodiment. [Diagram 3] FIG. 6 is a diagram illustrating an example of a configuration of a server 600 according to the present embodiment. [Figure 4] FIG. 1 is a diagram illustrating a schematic configuration of a support device 500 according to the present embodiment. [Diagram 5] FIG. 11 is a diagram illustrating an example of a path setting process according to the present embodiment. [Figure 6]It is a diagram showing an example of a flowchart of the BoM generation process according to this embodiment. [Figure 7] It is a diagram showing an example of a flowchart of the BoM update process according to this embodiment. [Figure 8] It is a diagram showing an example of the configuration information according to this embodiment. [Figure 9] It is a diagram showing an example of the BoM according to this embodiment. [Figure 10] It is a diagram showing an example of a change in the network configuration according to this embodiment. [Figure 11] It is a diagram showing an example of the configuration information according to this embodiment. [Figure 12] It is a diagram showing an example of the BoM according to this embodiment. [Figure 13] It is a diagram showing an example of an AAS file corresponding to the configuration information 151a according to this embodiment. [Figure 14] It is a diagram for explaining the process of FIG. 6. [Figure 15] It is a diagram for explaining the process of FIG. 6. [Figure 16] It is a diagram for explaining the process of FIG. 6. [Figure 17] It is a diagram for explaining the process of FIG. 6. [Figure 18] It is a diagram for explaining the process of FIG. 7. [Figure 19] It is a diagram for explaining the process of FIG. 7.
Embodiments for Carrying Out the Invention
[0022] Hereinafter, each embodiment according to the present invention will be described with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0023] <Terms> "AAS" is a standard for digital representations and interfaces that describes information about IoT (Internet of Things) devices and equipment and promotes the operation and sharing of information.
[0024] "AAS file" refers to a file format for storing information described according to AAS. It is used to save, share, and transmit the digital representation of AAS. In this embodiment, an AAS file in a format recognizable by a PLC (Programmable Logic Controller) is shown.
[0025] "AAS server" refers to server software that enables the provision, management, and access of information according to AAS.
[0026] "Submodel" refers to a model that defines elements or subsystems specified by AAS. More specifically, "Submodel" defines information such as the attributes of elements, the relationships between elements, the functions of elements, and the interfaces of elements.
[0027] "AASX Package Explorer" refers to a tool (module) for visually exploring and managing the information of AAS files. In this embodiment, it is abbreviated as AASXPE.
[0028] "BoM (Bill of Material)" refers to the elements that make up "Submodel".
[0029] <A. Application Examples> Fig. 1 is a diagram showing a schematic example of a configuration of a control system 1 according to the present embodiment. Referring to Fig. 1, the control system 1 that can be applied to an FA includes, for example, a PLC 100 which is an example of a "controller", a server 600 which is an example of an "information processing device", and a plurality of field devices 90 which are an example of devices to be "controlled" and are provided on a production line. One or a plurality of field devices 90 which belong to a network 11 are connected to the PLC 100 via a wired or wireless network 11 (first network), and the server 600 which belongs to the network 8 is also connected via a wired or wireless network 8 (second network).
[0030] The server 600 may be provided as a server within the control system 1 or an external server such as a cloud server, etc. The PLC 100 may be configured as an industrial computer (a so-called IPC: Industrial Personal Computer).
[0031] A support device 500 configured by, for example, a computer can be further connected to the network 8. The support device 500 performs settings for the control system 1. In the control system 1, the support device 500 is provided as a device independent of the PLC 100 and the server 600, but the manner of provision is not limited to this. For example, the PLC 100 or the server 600 may incorporate the function of the support device 500. When the PLC 100 incorporates the function of the support device 500, the PLC 100 may be configured as an industrial computer such as an IPC. The server 600 may be connected to an information processing device 700 via the network 9. The information processing device 700 is a computing system that performs various processes using information transferred from the server 600, the support device 500, or the PLC 100. The information transferred in this manner includes an AAS file. For example, the information processing device 700 provides a so-called digital twin using the transferred information. The digital twin includes, for example, a software module that configures the control system 1 in a virtual space using such information, calculates the behavior of the control system 1 in the virtual space, and visualizes the behavior in the virtual space. Note that the technology provided by the information processing device 700 is not limited to the digital twin.
[0032] The support device 500 is a device that provides a support tool for supporting the PLC 100 in making preparations necessary for controlling a control target. The support tool is provided to a user by, for example, a UI (User Interface). Specifically, the support device 500 includes various modules for providing a development environment (program creation and editing tool, parser, compiler, etc.) for a program executed by the PLC 100, a setting environment for setting parameters (configuration) of the PLC 100 and various devices connected to the PLC 100, an environment for generating or changing configuration information of the control system 1, and the like. The support device 500 further includes a module for creating a BoM of a submodel of an AAS based on the "configuration information" and transferring the created BoM to the PLC 100 or the server 600.
[0033] In this embodiment, such "configuration information" is information indicating the configuration of the first network (network 11) connected to the PLC 100. For example, it includes information identifying each field device 90 belonging to the network 11, and information indicating the connection relationship between each field device 90 and other devices (or networks). Note that the configuration information may include information on devices constituting a system (control system 1) applied to the production line. In this embodiment, for the sake of explanation, information indicating the configuration of devices (PLCs, field devices, networks, etc.) belonging to the network 11 of the production line is exemplified as the configuration information.
[0034] The support device 500 transfers the user program and the BoM to the PLC 100 or the server 600 via the network 8, or via a recording medium.
[0035] Such a user program includes a control program having an instruction code of a control operation for controlling a control object, and the operation instruction includes an instruction for calculating control data using data exchanged with the control object. A user program is created arbitrarily according to the control object, and includes a sequence program written in a language defined in IEC61131-3. Hereinafter, a user program including a control program is referred to as UPG (User Program) 69.
[0036] The PLC 100 includes a calculation unit 10 including a CPU (Central Processing Unit) that controls the entire PLC, an input / output unit 20 that communicates with the calculation unit 10 via a bus, and a power supply unit 30 that supplies power to the entire PLC. Field devices 90 are connected to the PLC 100 via the input / output unit 20 or the calculation unit 10. Each of the field devices 90 includes an actuator (such as a servo motor) that exerts some kind of physical action on a production line or the like (hereinafter also collectively referred to as the "field"), and an input / output device (such as a sensor, button, lamp, etc.) that exchanges information with the field.
[0037] In the control system 1, each device can communicate with other devices at high speed. Specifically, a protocol that enables high-speed data communication is applied to the network 8. For example, the network 8 may be a network based on a protocol such as EtherNet / IP (registered trademark). The network 11 may be a network based on a protocol such as EtherCAT (registered trademark).
[0038] In the control system 1, configuration information is managed according to the AAS. For example, when the control system 1 is started up, the support device 500 creates configuration information according to a user operation (process 630), creates a BoM indicating the created configuration information (process 632), and transfers the created BoM to the PLC 100 and the server 600 (process 633). The PLC 100 stores the BoM transferred from the support device 500 in a first storage unit, and the server 600 stores the BoM transferred from the support device 500 in a second storage unit. Thereafter, the configuration of the control system 1 is changed. For example, a factory worker changes the production line, and the model, number, and connection relationship of the field devices 90 belonging to the network 11 are changed.
[0039] Even if the BoM of configuration information is held in PLC 100 or server 600 in accordance with AAS in this way, work to change the configuration of control system 1 at the factory site will be carried out first, and as a result, the configuration indicated by the BoM held by PLC 100 or server 600 will no longer match the configuration of control system 1 at the actual site.
[0040] To solve such problems, the support device 500 accepts changes to the configuration information and creates configuration information indicating the configuration of the control system 1 after the changes (process 631). The support device 500 creates a BoM' indicating the configuration information after the changes (process 632) and transfers the created BoM' to the PLC 100. The PLC 100 rewrites (changes) the BoM in the first storage unit with the BoM' transferred from the support device 500 (process 71).
[0041] When the PLC 100 detects that power has been supplied to the PLC, a predetermined event has occurred, or a regular timing has been reached, that is, when a predetermined condition is satisfied, it compares the BoM' in the first storage unit of the PLC 100 with the BoM retrieved from the second storage unit of the server 600 (process 72). If it detects from the comparison result that the BoM' does not match the BoM, the PLC 100 can determine that the BoM of the server 600 does not represent the system configuration of the actual production line in the factory. When the PLC 100 detects such a mismatch, it communicates with the BoM in the second storage unit of the server 600 and performs an update process (for example, overwriting) to update the configuration information of the BoM received from the server 600 using the configuration information of the BoM' in the first storage unit (process 73a). This update process is executed in response to the above-mentioned detection of the mismatch or in response to a user operation on the PLC 100. Note that the trigger for executing the update process is not limited to these. By such an update process, the PLC 100 can manage the BoM in the second storage unit of the server 600 to represent the system configuration of the actual production line in the factory.
[0042] Hereinafter, a more specific application example of the present embodiment will be described. <B. Configuration of the device> The configuration of the devices included in the control system 1 will be described.
[0043] (b1. Configuration of the PLC 100) FIG. 2 is a schematic diagram showing the main configuration of the PLC 100 according to the present embodiment. Referring to FIG. 2, the arithmetic unit 10 of the PLC 100 includes an arithmetic processing unit 110, a communication circuit 130, a communication controller 107, a power supply unit 30, a bus controller 160 for communicating with the input / output unit 20, a communication port 136 for connecting to the network 11, a communication port 137 for connecting to the network 8, and a memory card interface 108.
[0044] The arithmetic processing unit 110 includes a processor 112, a memory unit 114 which is an example of a main memory device, and a storage 119 which is an example of an auxiliary memory device. The main memory device is configured with a volatile memory device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). The auxiliary memory device is configured with a non-volatile memory device such as a hard disk drive (HDD) or a solid state drive (SSD).
[0045] For ease of explanation, PLC 100 includes only one processor 112, but multiple processors may be implemented. Each processor may have multiple cores. In arithmetic processing unit 110, processor 112 periodically executes one or multiple tasks. When multiple tasks are executed by arithmetic processing unit 110, different priorities may be set for the multiple tasks.
[0046] The memory unit 114 provides a work area required for the processor 112 to execute the program. The storage 119 stores a system program 122 including an OS (Operating System), a UPG library 170 including one or more UPGs 69, a management program 126 for managing the BoM, and a communication program 127 for controlling communication with other devices, and has an area for storing record information 123, the BoM 152, and path information 120 as information related to the management of the BoM. The communication program 127 includes an event detection program 121. The management program 126 includes a change program 86 for executing a change process 71, a comparison program 87 for executing a BoM comparison process 72, and an update program 88 for implementing an update process. The event detection program 121 detects a predetermined type of event (including an error event) in communication between the server 600 and the BoM when the communication program 127 executes the communication.
[0047] The UPG 69 includes a control calculation program that is executed using input data indicating the state of the field device 90 from the field device 90 in order to control the controlled object. The control calculation includes sequence control and motion control calculation for controlling the behavior of a robot, for example. Commands calculated by the control calculation processing of the UPG 69 are output (transferred) to the field device 90. The field device 90 operates according to the commands and changes its state.
[0048] The communication controller 107 has a communication port 137 that physically connects to the network 8. The arithmetic unit 10 communicates the UPG 69 or the BoM via the network 8 or another communication path. The processor 112 stores the communicated information in the storage 119. The memory card interface 108 is configured to allow the memory card 116 to be detachably attached, and is capable of writing data to the memory card 116 and reading various data (such as user programs or data) from the memory card 116. The UPG 69 or the BoM may be stored in the storage 119 from the memory card 116 via the memory card interface 108. The processor 112 reads (deploys) the program in the storage 119 into the memory unit 114 and executes it.
[0049] The communication circuit 130 includes a network interface card (NIC). The communication circuit 130 communicates with devices including the field device 90 via a communication port 136 that physically connects to the network 11, using a buffer.
[0050] 2, for convenience of explanation, the arithmetic processing unit 110 and the communication circuit 130 are depicted as separate components, but any implementation form can be adopted without being limited to this. For example, the arithmetic processing unit 110 and the communication circuit 130 may be configured as a SoC (System on Chip) in which all or part of the arithmetic processing unit 110 and all or part of the communication circuit 130 are implemented on the same chip. These implementation forms can be selected as appropriate.
[0051] (b2. Hardware configuration of server 600) FIG. 3 is a diagram showing a configuration example of a server 600 according to the present embodiment. The server 600 has a computer configuration. Referring to FIG. 3, the server 600 includes a timer 601, a processor 603 such as a CPU or MPU, a storage device, and a network controller 620 for exchanging data with other devices including the PLC 100 and the information processing device 700. The server 600 further includes a memory card interface 621 to which a memory card 622 is detachably attached and which reads and writes data from the attached memory card 622. The network controller 620 may be configured to include, for example, a NIC. These components are connected to each other via an internal bus 602 so as to be able to perform data communication. The storage device includes a read only memory (ROM) 604, a random access memory (RAM) 605, and a hard disk drive (HDD) 606.
[0052] The HDD 606 stores a system program 701 including an OS, a program for an AAS server 68, and a communication program 64 that controls communication with each device, and also has an area for storing an AAS file 153 including a BoM 154. The processor 603 reads (expands) the program from the HDD 606 into the RAM 605 and executes it.
[0053] (b3. Configuration of Support Device 500) FIG. 4 is a diagram showing a schematic configuration of a support device 500 according to the present embodiment. Referring to FIG. 5, the support device 500 is a computer system including a CPU 502 and a storage unit for storing programs and data, and operates according to the programs. The storage unit includes a ROM 503, a RAM 504, and a HDD 505. The support device 500 further includes a communication controller 507, an I / O (Input / Output) interface 508, a keyboard 509, and a display 510. The keyboard 509 accepts inputs including instructions from a user to the support device 500. To accept the inputs, the support device 500 may include other devices such as a mouse. The display 510 includes an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence), and displays a video or image according to a video signal or an image signal output from the support device 500. The support apparatus 500 includes an R / W (reader / writer) device 506 for removably mounting an external storage medium 501 and reading and writing programs and / or data to the mounted storage medium 501.
[0054] The communication controller 507 controls communication between the support apparatus 500 and external devices via the network 8. The communication controller 507 includes, for example, a NIC. The I / O interface 508 controls data exchange between the CPU 502 and a keyboard 509 and a display 510.
[0055] HDD 505 stores a system program 70 including an OS, a UPG generation program 71a for generating a UPG 69, a UPG library 172 that stores the generated one or more UPGs 69, a program 61 for generating a BoM, a communication program 611 for communicating with other devices, and configuration information 151 that indicates the configuration of the control system 1. Here, configuration information 151 indicates information on devices that belong to (are connected to) network 11. CPU 502 reads out the program from HDD 505, expands it in RAM 504, and executes it.
[0056] The UPG generation program 71a includes an editor that edits (generates) the UPG 69 according to a user operation received from the keyboard 509, a compiler that compiles the edited UPG 69, a builder that converts the UPG 69 into an executable format, and the like. The device setting program 162 generates or changes the configuration information 151 according to a user operation received from the keyboard 509 (processes 630, 631). When the BoM generation program 262 is executed, it provides a function equivalent to that of the AASXPE. The BoM generation program 262 generates a BoM based on the configuration information 151 (process 632). The path setting program 163 sets the location (position) of the BoM in the server 600, for example, with a URL (Uniform Resource Locator). Further, the program 61 transfers the generated BoM to the PLC 100 or the server 600, and transfers path information 120 indicating the set path to the PLC 100 (process 633).
[0057] <C. Path Setting> FIG. 5 is a diagram showing an example of the path setting process according to the present embodiment. When the path setting program 163 is executed, it provides the UI (User Interface) of FIG. 5 that receives a user operation. This UI is composed of objects 511 to 514 displayed on the screen of the display 510. More specifically, the object 511 includes an object 511a that receives the input of the URL of the AAS server and a button 511b. The user sets the URL of the AAS server in the object 511a and operates the button 511b. Here, an example of the URL set in the object 511a is shown in the object 512. When the button 511b is operated, the object 513 is displayed. The user selects the target AAS name from the list dialog of the AAS names displayed in the object 513, selects the BoM of the SM (abbreviation for Submodel) from among the elements constituting the AAS, and closes the dialog. In the object 514, a path indicating the location of the BoM set according to the selection received in the dialog indicated by the object 513 is displayed. The path displayed by the object 514 corresponds to, for example, the path information 120 indicating a URL.
[0058] <D. System startup process> FIG. 6 is a diagram showing an example of a flowchart of the BoM generation process according to the present embodiment. FIGS. 14 to 17 are diagrams for explaining the process of FIG. 6. For example, when the control system 1 is started up, the BoM indicating the configuration information of the network 11 of the PLC 100 has not yet been generated. The support device 500 starts generating the BoM from such a state.
[0059] In FIG. 6, the support device 500 receives the device settings of the PLC 100 (step S71). This device setting includes obtaining configuration information based on a user operation received via the UI or receiving configuration information from the PLC 100. In step S71, the support device 500 receives the configuration information 151 from the PLC 100. The support device 500 creates the UPG69 using the configuration information 151 (step S72), and also creates the BoM 152 of the Submodel of the PLC 100 based on the configuration information 151 (step S73). Further, in the support device 500, the creation of the AAS file 153 is started by the AASXPE (step S76), and other Submodels are created in the AAS file 153 (step S77). The state of each device at the end point of the process of step S77 is shown in FIG. 14.
[0060] In FIG. 6, the BoM 152 of the Submodel created in step S73 is imported into the AASXPE, and the imported BoM 152 is added to the AAS file 153 by the AASX (step S78). The support device 500 transfers (downloads) the AAS file 153 to which the BoM 152 is added to the server 600 by the AASXPE (step S79). The state of each device at the end point of the process of step S79 is shown in FIG. 15. Here, for the sake of explanation, the BoM 152 transferred to the server 600 is stored in the server 600 as the BoM 154.
[0061] The support device 500 sets the path of the BoM 154 (step S74), and transfers (downloads) the path information 120 indicating the set path and the BoM 152 to the PLC 100 (step S75). The states of the respective devices at the end of the process of step S75 are shown in FIG. 16.
[0062] The PLC 100 communicates with the server 600 and the BoM 154 using the path information 120, and acquires the BoM 154 stored in the server 600. The PLC 100 executes the comparison program 87 to compare the acquired BoM 154 of the server 600 with the BoM 152 stored in the PLC 100, and determines whether they match (step S80). For the determination of matching, for example, collation of the data of both BoMs, collation of the hash values of both BoMs, collation of the CRC (Cyclic Redundancy Check) values of both BoMs, etc. can be used. The states of the respective devices at the time of performing the process of step S80 are shown in FIG. 17.
[0063] <E. Update Process of BoM> FIG. 7 is a diagram showing an example of a flowchart of the BoM update process according to the present embodiment. FIGS. 18 and 19 are diagrams for explaining the process of FIG. 7. For example, when the control system 1 is in operation, the field device 90 belonging to the network 11 is changed for the production line at the factory site, and accordingly, the configuration information 151 of the PLC 100 changes.
[0064] In FIG. 7, the support device 500 receives a change (change of model, addition, deletion, etc.) in the setting of the field device 90 belonging to (connected to) the network 11 based on a user operation (step S81). The support device 500 changes the configuration information 151 based on the received change in the setting (step S82), creates a BoM 152a based on the changed configuration information 151a (step S83), and transfers it to the PLC 100 (step S84). The transferred changed configuration information 151a and BoM 152a are stored in the storage 119 of the PLC 100.
[0065] The PLC 100 may communicate with the field devices 90 belonging to the network 11 (connected to each node of the network 11) by scanning the network 11, detect changes in settings (changes in model, additions, deletions, etc.) based on the communicated information, change the configuration information 151 in the storage 119 based on the detection results, and obtain the changed configuration information 151a. In this case, the support device 500 creates the changed BoM 152a based on the configuration information 151a transferred from the PLC 100, and transfers (downloads) it to the PLC 100.
[0066] When the PLC 100 detects that the predetermined condition is satisfied, the PLC 100 communicates with the server 600 and the BoM 154 using the path information 120 (step S85), and acquires the BoM 154 stored in the server 600 (step S86).
[0067] During the communication of step S85, the PLC 100 executes the event detection program 121. When a predetermined type of event including a communication error occurs in the communication of the configuration information of the BoM 154, the PLC 100 causes the event detection program 121 to detect the type of event (step S87). The predetermined type of event includes, but is not limited to, a communication retry that exceeds a predetermined number of times, a buffer overflow, normal communication, and the like.
[0068] PLC 100 executes comparison program 87 to compare the acquired BoM 154 of server 600 with BoM 152a stored in PLC 100, and determines whether they match based on the comparison result (step S88). The state of each device when step S88 is performed is shown in FIG.
[0069] If it is determined that the comparison results in a match between the two (YES in step S88), the process ends, but if it is determined that the comparison results in a mismatch between the two (NO in step S88), PLC 100 determines whether or not to perform an update process for BoM 154 of server 600 (step S89). In step S89, PLC 100 determines whether or not to perform an update process based on whether or not there is a setting that permits the execution of the update process (for example, whether or not a user operation indicating permission has been received). In step S89, PLC 100 determines whether the type of event detected in step S87 is a specific type, and if it determines that a specific type of event has been detected, it may permit the update unit (the module of update program 88) to perform the update process ("Setting exists" in step S89).
[0070] If PLC 100 determines that permission has not been set ("Not set" in step S89), it does not perform the update process of BoM 154 of server 600. PLC 100 stores record information 123 indicating the determination result of step S88 ("Mismatch") and the communication event (type of event, etc.) detected in step S87 (step S95).
[0071] If PLC 100 determines that permission has been set (step S89: "Set"), it determines whether a security policy has been set for updating the BoM (step S90). If it determines that a security policy has not been set (step S90: "No"), PLC 100 performs an update process on BoM 154 of server 600 using BoM 152a (step S92), and updated BoM 154a is obtained. In step S94, PLC 100 stores record information 123 including the determination result of step S88 ("Mismatch"), the communication event (type of event, etc.) detected in step S87, and information on the success or failure of the update process (success or failure) (step S94).
[0072] When PLC 100 determines that a security policy has been set (step S90: "Yes"), PLC 100 performs an update process on BoM 154 of server 600 using BoM 152a in accordance with the security policy (step S91). In step S93, PLC 100 stores recorded information 123 including the determination result of step S88 ("Mismatch"), the communication event (type of event, etc.) detected in step S87, and information on the success or failure of the update process (step S93).
[0073] In this way, the record information 123 includes at least one of information indicating the determination result ("mismatch"), information on the success or failure of the update process, and the communication event (type of event, etc.) detected in step S87. If the determination result is "match" (YES in step S88), this determination result may be recorded as the record information 123.
[0074] The security policy of the update process includes a security level of communication for PLC 100 to communicate the updated BoM 154a with server 600. Such a security level includes the type of security protocol applied to the communication of BoM 154a, the encryption strength (encryption algorithm, encryption key length) of BoM 154a when communicating in an encrypted form, and the like, but is not limited to these.
[0075] In the update process, the PLC 100 obtains the updated BoM 154a by overwriting the entire information of the BoM 152a with the BoM 154 obtained from the server 600, and loads (transfers) the BoM 154a to the HDD 606 of the server 600 based on the path information 120. The update method is not limited to this, and may include partial update processes such as detecting the difference (delta) between the information of the BoM 154 and the BoM 152a and obtaining the BoM 154a by overwriting the detected delta. The output of the information in steps S93 to S94 is not limited to storing the recording information 123, and includes the PLC 100 sending a notification email of the recording information 123 to a specified device (for example, the support device 500, the server 600, the user's mobile terminal, etc.), the PLC 100 causing the support device 500 to display the recording information 123, and the like. The states of the respective devices when the update process is performed are shown in FIG. 19.
[0076] <F. Examples of Configuration Information and BoM> FIGS. 8 and 11 are diagrams showing an example of configuration information according to the present embodiment. FIGS. 9 and 12 are diagrams showing an example of a BoM according to the present embodiment. FIG. 10 is a diagram showing an example of a change in the network configuration according to the present embodiment. The configuration information 151 in FIG. 8 shows the system configuration shown in FIG. 1. Specifically, the configuration information 151 indicates that the PLC 100 includes the arithmetic unit 10, the input / output unit 20, and the power supply unit 30, two servo drivers (field devices 90) belong to the arithmetic unit 10, the network 11 to which EtherCAT is applied is connected, and one photoelectric sensor (field device 90) belongs to the input / output unit 20, and the network 11 to which IO-Link (registered trademark) is applied is connected. The configuration information 151 includes information on the identifier and attributes (the protocol of the network, the type and function of the field device 90) for each of a plurality of elements (units, field devices, and networks), and the connection relationship between the elements. The BoM 152 created based on the configuration information 151 in FIG. 8 is shown in FIG. 9. Such a BoM is described in, for example, the JSON or AutomationML format.
[0077] When additional AD is performed on a field device 90 belonging to network 11 in FIG. 1 as shown in FIG. 10, configuration information 151 in FIG. 8 is changed to configuration information 151a in FIG. 11, and with this change, BoM 152 in FIG. 9 is updated to BoM 152a in FIG. 12 based on configuration information 151a.
[0078] An AAS file is composed of a header and a body. The header includes an identifier of the AAS file. The body includes multiple SMs, and each SM includes multiple elements. The elements include Prop (property, attribute), Ent (Entity, device name (model name, virtual name)), and Rel (Relationship, relationship between devices (connection relationship between devices)). FIG. 13 is a diagram showing an example of an AAS file corresponding to the configuration information 151a according to this embodiment. In FIG. 13, under the BoM of the body, Ent and Rel corresponding to each element included in the configuration information 151a are described in parts 141 and 142, respectively. The devices (PLC 100, server 600, and support device 500) can search for, read, and write information on the BoM of the AAS file based on the structure of the AAS file.
[0079] The process shown in the flowchart of the support device 500 in FIG. 6 and FIG. 7 is mainly realized by executing the program 61, and the process shown in the flowchart of the PLC 100 in FIG. 6 and FIG. 7 is mainly realized by executing the management program 126 and the communication program 127 (event detection program 121). In the present embodiment, a configuration example in which the CPU 502 and the processor 112 execute the program to provide the necessary functions (program modules) has been shown, but the CPU 502 and the processor 112 may implement some or all of the provided functions using a dedicated hardware circuit (e.g., an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA)). Alternatively, the main parts of the CPU 502 and the processor 112 may be realized using hardware that conforms to a general-purpose architecture (e.g., an industrial personal computer based on a general-purpose personal computer). In this case, a virtualization technology may be used to run multiple OSs with different uses in parallel, and a required application may be run on each OS.
[0080] In this embodiment, the program described above is stored in a non-volatile storage medium such as the storage 119 or the HDD 505. However, instead of such a storage medium, it may be stored in another storage medium. Such another storage medium includes, for example, a storage medium (memory card 116 or storage medium 501) that is detachably attached to the support device 500 or the PLC 100. Such a detachable storage medium can be realized by a non-volatile storage medium such as an optical disk, a CD-ROM (Compact Disc-Read Only Memory), a DVD-ROM (Digital Versatile Disk-Read Only Memory), a USB (Universal Serial Bus) memory, an FD (Flexible Disk), a magnetic tape, an MO (Magnetic Optical Disc), an MD (Mini Disc), an IC (Integrated Circuit) card (excluding the memory card), an optical card, a mask ROM, an EPROM (Erasable Programmable Read-Only Memory), an EEPROM (Electronically Erasable Programmable Read-Only Memory), etc. Further, the support device 500 or the PLC 100 can also acquire these programs, for example, by downloading via a network.
[0081] <G. Advantages> In a field such as a factory, the field device 90 that constitutes the system of the production line may be changed by replacement or the like. Even when an AAS file indicating the configuration information of the system is created according to the AAS, the replacement work of the field device 90 at the field may precede, and as a result, a situation may occur in which the configuration information of the AAS file does not reflect the actual factory system configuration. In this case, conventionally, after the user changes the field device 90 at the field, it is necessary to manually correct the configuration information of the AAS according to the system configuration after replacement. Such correction requires knowledge of the specifications and standards of the AAS, knowledge of operating the AAS editor, and man-hours required for the correction. Further, due to the manual correction of the AAS file, description errors may be included in the AAS file.
[0082] In contrast, according to the present embodiment, as shown in FIG. 7, when an event occurs (for example, when the power is turned on) or at regular timings, the PLC 100 reads out the BoM of the AAS file managed by the server 600, compares the system configuration indicated by the BoM with the actual system configuration, and if a discrepancy is detected as a result of the comparison, the PLC 100 updates the AAS file (configuration information indicated by the BoM) managed by the server 600 so as to indicate the actual system configuration. Thereby, the configuration information indicated by the BoM of the AAS file can be managed to indicate the actual configuration information constituting the production line.
[0083] Further, when the PLC 100 detects the above-mentioned discrepancy, it can save the information (record information 123) related to the detection or update.
[0084] <H. Supplementary Note> As described above, the disclosures according to the above embodiments and modification examples include the following disclosures.
[0085] [Configuration 1] A controller (100) for controlling the system (1) of a production line, a first communication port (136) for connecting to a first network (11) to which a plurality of devices (90) constituting the system of the production line belong, a second communication port (137) for connecting to a second network (8) to which an information processing apparatus (600) belongs, a first storage unit (119) for storing a BoM (Bill of Material) (152) indicating the configuration information of the system created according to AAS (Asset Adminisatration Shell), the information processing apparatus includes a second storage unit (606) for storing a BoM (154) indicating the configuration information of the system created according to the AAS, the controller further a change unit (86) that changes the configuration information indicated by the BoM in the first storage unit based on a change detected in the configuration of the system; a comparison unit (87) that compares the configuration information of the BoM of the first storage unit with the configuration information of the BoM of the second storage unit when a predetermined condition is satisfied. [Configuration 2] The controller according to configuration 1, further comprising an update unit (88) that communicates configuration information of the BoM of the second storage unit with the information processing device and performs an update process that updates the configuration information of the BoM of the second storage unit using the configuration information of the BoM of the first storage unit. [Configuration 3] A controller as described in configuration 2, which determines whether to allow the update unit to perform the update process when the result of the comparison indicates that the configuration information of the BoM of the first storage unit and the configuration information of the BoM of the second storage unit are inconsistent. [Configuration 4] An event detection unit (121) that detects a predetermined type of event including a communication error in communication of the configuration information of the BoM of the second storage unit, The controller according to configuration 3, wherein the controller permits the update unit to perform the update process based on a type of the event detected by the event detection unit. [Configuration 5] The controller of configuration 4 outputs at least one of information indicating that the configuration information of the BoM of the first storage unit and the configuration information of the BoM of the second storage unit are inconsistent, information indicating whether the update process was successful or not, and the type of event detected by the event detection unit. [Configuration 6] 6. The controller according to any one of configurations 1 to 5, wherein the predetermined condition includes that the controller detects that power has been turned on. [Configuration 7] The controller according to any one of configurations 1 to 6, wherein the configuration information of the BoM includes attributes of devices and mutual connection relationships between the devices. [Configuration 8] A method implemented by a processor (112) of a controller (100) that controls a production line system (1), comprising: The controller: a first communication port (136) for connecting a first network (11) to which a plurality of devices (90) constituting the production line system belong; a second communication port (137) for connecting a second network (8) to which the information processing device (600) belongs; a first storage unit (119) for storing a Bill of Material (BoM) (152) indicating configuration information of the system, the Bill of Material (BoM) being created in accordance with an Asset Administration Shell (AAS); The information processing device includes a second storage unit (606) for storing a BoM (154) indicating configuration information of the system, the BoM being created in accordance with the AAS; The method comprises: When a change in the configuration of the system is detected, modifying the configuration information indicated by the BoM in the first storage unit based on the change (S82); and comparing (S88) configuration information of the BoM of the first storage unit with configuration information of the BoM of the second storage unit when a predetermined condition is met. [Configuration 9] A program (126) for causing a computer (112) to execute the method according to aspect 8.
[0086] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention 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 inventions 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]
[0087] 1 control system, 8, 9, 11 network, 10 arithmetic unit, 20 input / output unit, 30 power supply unit, 600 server, 62, 62a, 151, 151a configuration information, 64, 127, 611 communication program, 70, 122, 701 system program, 71, 72, 73a, 630, 631, 632, 633 processing, 71a, 262 generation program, 86 change program, 87 comparison program, 88 update program, 90 field device, 112, 603 processor, 107, 507 communication controller, 108, 621 memory card interface, 110 arithmetic processing unit, 114 memory unit, 116, 622 memory card, 119 storage, 120 path information, 121 event detection program, 123 recording information, 126 management program, 130 Communication circuit, 136, 137 communication port, 140 controller, 141, 142 part, 153 AAS file, 160 bus controller, 162 device setting program, 163 path setting program, 170, 172 UPG library, 500 support device, 501 storage medium, 503 ROM, 504, 605 RAM, 506 R / W device, 508 I / O interface, 509 keyboard, 510 display, 511, 511a, 512, 513, 514 object, 511b button, 601 timer, 602 internal bus, 620 network controller, 700 information processing device.
Claims
1. A controller for controlling a production line system, a first communication port for connecting a first network to which a plurality of devices constituting the production line system belong; a second communication port for connecting a second network to which the information processing device belongs; A first storage unit that stores a Bill of Material (BoM) that indicates configuration information of the system and is created in accordance with an Asset Administration Shell (AAS), The information processing device includes a second storage unit that stores a BoM indicating configuration information of the system, the BoM being created in accordance with the AAS; The controller further comprises: a change unit that changes the configuration information indicated by the BoM in the first storage unit based on a change in the configuration of the system when the change is detected; a comparison unit that compares the BoM configuration information of the first storage unit with the BoM configuration information of the second storage unit when a predetermined condition is satisfied.
2. The controller of claim 1, further comprising an update unit that communicates configuration information of the BoM of the second storage unit with the information processing device and performs an update process that updates the configuration information of the BoM of the second storage unit using the configuration information of the BoM of the first storage unit.
3. The controller of claim 2, further comprising: a controller configured to: determine whether to allow the update unit to perform the update process when the result of the comparison indicates that the configuration information of the BoM of the first storage unit and the configuration information of the BoM of the second storage unit are inconsistent;
4. An event detection unit that detects a predetermined type of event including a communication error in communication of the configuration information of the BoM of the second storage unit, The controller according to claim 3 , wherein the controller permits the update unit to perform the update process based on a type of the event detected by the event detection unit.
5. 5. The controller of claim 4, further comprising: information indicating that the BoM configuration information of the first storage unit and the BoM configuration information of the second storage unit are inconsistent; information indicating whether the update process was successful; and information indicating the type of event detected by the event detection unit.
6. The controller according to any one of claims 1 to 5, wherein the predetermined condition includes that the controller detects that power has been turned on.
7. The controller according to any one of claims 1 to 5, wherein the BoM configuration information includes attributes of devices and mutual connection relationships between the devices.
8. 1. A method implemented by a processor of a controller that controls a production line system, comprising: The controller: a first communication port for connecting a first network to which a plurality of devices constituting the production line system belong; a second communication port for connecting a second network to which the information processing device belongs; A first storage unit that stores a Bill of Material (BoM) that indicates configuration information of the system and is created in accordance with an Asset Administration Shell (AAS), The information processing device includes a second storage unit that stores a BoM indicating configuration information of the system, the BoM being created in accordance with the AAS; The method comprises: When a change in the configuration of the system is detected, modifying the configuration information indicated by the BoM in the first storage unit based on the change; and comparing the configuration information of the BoM of the first store with the configuration information of the BoM of the second store when a predetermined condition is met.
9. A program for causing a computer to execute the method according to claim 8.
Citation Information
Patent Citations
Intent-based networking using device administrative shell
US20210344561A1