Support device, support method, and program
The support device automates the identification and execution of maintenance tasks for multiple control devices, reducing maintenance time by eliminating the need for manual checks.
Patent Information
- Application Number
- JP2024080018
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-16
- Publication Date
- 2025-11-28
AI Technical Summary
Maintenance of multiple control devices in FA systems is time-consuming due to the need for manual checking of each device's status to determine maintenance requirements.
A support device with a selection unit, extraction unit, and task execution unit that automatically identifies target control devices based on predefined conditions, reducing the need for manual checks and streamlining maintenance operations.
Reduces the time required for maintaining multiple control devices by automating the extraction and execution of maintenance tasks.
Smart Images

Figure 2025174031000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a support device, a support method, and a program. [Background technology]
[0002] Factory automation (FA) systems that automate production processes are becoming widespread in various production sites. FA systems include various industrial devices and control devices that control the devices. The control devices control the devices according to control programs developed by developers. Support devices that support the maintenance of control devices have been developed. As one such support device, Japanese Patent Laid-Open Publication No. 5-289886 (Patent Document 1) discloses a data management device that centrally changes the common parts of the control programs of multiple control devices all at once. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 5-289886 Summary of the Invention [Problem to be solved by the invention]
[0004] According to the technology disclosed in Patent Document 1, a maintenance worker operates a data management device to select a control device to be maintained. An FA system generally includes multiple control devices. Therefore, the maintenance worker must check the status of each control device to determine whether or not that control device is a target for maintenance. This increases the time required to maintain multiple control devices.
[0005] The present disclosure has been made in consideration of the above-mentioned problems, and its purpose is to provide a support device, a support method, and a program that can reduce the time required for maintenance of multiple control devices. [Means for solving the problem]
[0006] According to one example of the present disclosure, a support device that supports multiple control devices includes a selection unit that selects a target task from multiple maintenance tasks in accordance with input to a user interface, an extraction unit that extracts one or more target control devices from the multiple control devices that meet extraction conditions corresponding to the target task, and a task execution unit that performs the target task on one or more target control devices.
[0007] According to this disclosure, one or more target control devices for which the target work should be performed are automatically extracted according to the target work selected by the maintenance worker. This eliminates the need for the maintenance worker to check the status of each control device and determine whether or not to perform the target work. As a result, the maintenance worker can reduce the time required to maintain multiple control devices.
[0008] In the above disclosure, the plurality of maintenance operations include a first operation related to a server function that provides data to a client in response to a request from the client, and an extraction condition corresponding to the first operation is that the server function is running.
[0009] According to this disclosure, a control device that is to execute a first task related to a server function is automatically extracted as a target control device.
[0010] In the above disclosure, the plurality of maintenance operations includes a second operation related to troubleshooting. Each of the plurality of control devices holds a flag indicating whether or not the state is abnormal. The extraction condition corresponding to the second operation is a condition that the flag indicates an abnormality.
[0011] According to this disclosure, a control device in which some abnormality has occurred is automatically extracted as a target control device.
[0012] In the above disclosure, the plurality of maintenance operations includes a third operation for backing up designated data. Each of the plurality of control devices stores the most recent date and time at which the backup was performed. The extraction condition corresponding to the third operation is that the elapsed time from the most recent date and time exceeds a predetermined threshold.
[0013] According to this disclosure, a control device for which the time elapsed since the previous backup execution timing is longer than a threshold value is automatically extracted as a target control device.
[0014] In the above disclosure, the third operation includes an operation of adding a comment entered into the user interface to the designated data.
[0015] According to this disclosure, a maintenance worker can easily find data to be used for restoration based on the comments.
[0016] In the above disclosure, the extraction unit extracts one or more target control devices from one or more specific control devices among a plurality of control devices that are connected to a support device in accordance with connection conditions specified by input to a user interface.
[0017] According to this disclosure, a maintenance worker can narrow down a plurality of control devices by specifying connection conditions.
[0018] According to one example of the present disclosure, a support method for supporting multiple control devices includes a processor selecting a target task from multiple maintenance tasks in accordance with input to a user interface, the processor extracting one or more target control devices from the multiple control devices that meet extraction conditions corresponding to the target task, and the processor performing the target task on the one or more target control devices.
[0019] According to yet another example of the present disclosure, a program causes a computer to execute the above support method. These disclosures also reduce the time required for maintenance of multiple control devices. [Effects of the Invention]
[0020] According to the present disclosure, the time required for maintenance of multiple control devices is reduced. [Brief explanation of the drawings]
[0021] [Figure 1] FIG. 1 is a diagram illustrating an example of a system including a support device according to an embodiment. [Figure 2] FIG. 2 illustrates an example of a hardware configuration of a support device. [Figure 3] FIG. 1 is a schematic diagram illustrating an example of a hardware configuration of a PLC. [Figure 4] FIG. 2 is a block diagram showing an example of the functional configuration of a support device and a PLC. [Figure 5] FIG. 10 is a sequence diagram showing the flow of a process for supporting the maintenance of multiple PLCs. [Figure 6] FIG. 10 is a diagram illustrating an example of a dialog box that prompts selection of connection conditions. [Figure 7] FIG. 10 is a diagram showing another example of a dialog box prompting selection of connection conditions. [Figure 8] FIG. 10 is a diagram showing an example of a user interface displayed in step S15. [Figure 9] FIG. 10 is a diagram showing an example of a user interface that is displayed when a first task is selected as a target task. [Figure 10] FIG. 10 illustrates an example of a process for collectively registering a user account, a security policy, and an OPC UA client certificate. [Figure 11] FIG. 10 is a diagram showing an example of a user interface that is displayed when a second task is selected as a target task. [Figure 12] FIG. 10 is a diagram showing an example of a user interface that is displayed when a third task is selected as a target task. [Figure 13] FIG. 10 illustrates an example of a data backup process. [Figure 14]FIG. 10 illustrates an example of a user interface for supporting the restoration of a PLC. DETAILED DESCRIPTION OF THE INVENTION
[0022] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present disclosure will be described in detail with reference to the accompanying drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and the description thereof will not be repeated.
[0023] §1 Application Examples Fig. 1 is a diagram illustrating a schematic example of a system including a support device according to an embodiment. The system 1 shown in Fig. 1 is an FA system that automates a production process. The system 1 includes a support device 100 and a plurality of programmable logic controllers (PLCs 200). The support device 100 and the PLCs 200 are connected to each other via, for example, a general-purpose Ethernet (registered trademark), a USB (Universal Serial Bus), or a hub.
[0024] Each of the multiple PLCs 200 is an example of a "control device" in the present disclosure. Note that the system 1 may include an industrial computer, a robot controller, or the like as a "control device" in the present disclosure instead of or in addition to the PLCs 200.
[0025] Each of the multiple PLCs 200 executes a control program developed to control a control object (not shown). The control object includes an actuator that exerts some physical action on a production facility or a production line (hereinafter collectively referred to as "field"), various sensors installed in the field, or an input / output device that exchanges information with the field. In the example shown in FIG. 1, each of the multiple PLCs 200 is installed in one of production lines 2A and 2B.
[0026] The support device 100 is, for example, a notebook or desktop computer, a smartphone, or a tablet terminal. The support device 100 provides a user interface and supports the maintenance of the multiple PLCs 200 by a maintenance worker 3 in response to inputs to the user interface. In this specification, the term "maintenance worker" refers to a user who uses the support device 100. Note that the support device 100 may also support the development of a control program to be installed in each of the multiple PLCs 200.
[0027] 1, the support device 100 includes a selection unit 11, an extraction unit 12, and an operation execution unit 13. The selection unit 11, the extraction unit 12, and the operation execution unit 13 execute a processing flow that supports the maintenance of a plurality of PLCs 200. The processing flow includes steps S1 to S3.
[0028] The selection unit 11 selects a target task from among a plurality of maintenance tasks in accordance with an input by the maintenance worker 3 to the user interface (step S1). The plurality of maintenance tasks are tasks related to the maintenance of the PLC 200. The plurality of maintenance tasks may include not only tasks for maintaining the PLC 200 but also pre-tasks for maintaining the PLC 200. The pre-tasks may include, for example, tasks for checking the status of the PLC 200.
[0029] The extraction unit 12 extracts one or more target PLCs from the plurality of PLCs 200 that satisfy extraction conditions corresponding to the target work (step S2). The one or more target PLCs are an example of "one or more target control devices" in the present disclosure. The extraction conditions are predetermined for each maintenance work so that the extraction conditions are satisfied by the PLC 200 that is to perform the maintenance work.
[0030] The work execution unit 13 performs the target work on one or more target PLCs extracted by the extraction unit 12 (step S3).
[0031] According to the support device 100 of this embodiment, one or more target PLCs on which the target task should be performed are automatically extracted in accordance with the target task selected by the maintenance worker 3. This eliminates the need for the maintenance worker 3 to check the status of each PLC 200 and determine whether or not to perform the target task. As a result, the maintenance worker 3 can reduce the time required to perform maintenance on multiple PLCs 200.
[0032] §2 Specific examples <Hardware configuration of the supported device> Fig. 2 is a diagram showing an example of the hardware configuration of the support device 100. As shown in Fig. 2, the support device 100 mainly includes a processor 110, a memory 112, a storage device 114, an input device 118, a display device 120, a communication interface 124, a data reader / writer 126, and a bus 128.
[0033] The processor 110 is a computing entity (computer) that executes various programs to perform various processes. The processor 110 is configured, for example, as a central processing unit (CPU) or a microprocessing unit (MPU). The processor 110 has the function of executing various processes by executing programs, but some or all of these functions may be implemented using dedicated hardware circuits such as an application specific standard product (ASIC) or a field programmable gate array (FPGA). The processor 110 is not limited to a processor in the narrow sense that executes processes using stored programs, such as a CPU or MPU, but may also include hardwired circuits such as an ASIC or FPGA. Therefore, the processor 110 can also be interpreted as a processing circuitry whose processes are predefined by computer-readable code and / or hardwired circuits. The processor 110 may be configured as a single chip or multiple chips. Furthermore, the processor 110 and related processing circuits may be configured as multiple computers interconnected by wire or wirelessly via a local area network, a wireless network, or the like. The processor 110 and associated processing circuitry may be configured as a cloud computer that performs computations remotely based on input data and outputs the results of the computations to other devices at remote locations.
[0034] The memory 112 includes a volatile storage area (for example, a working area) that temporarily stores program code, work memory, etc. when the processor 110 executes various programs. Examples of the memory 112 include volatile memories such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory).
[0035] The storage device 114 stores various programs executed by the processor 110, various data, and the like. The storage device 114 may be one or more non-transitory computer-readable media, or may be one or more computer-readable storage media. Examples of the storage device 114 include a hard disk drive (HDD) and a solid state drive (SSD). In the support device 100 according to the embodiment, the storage device 114 stores an operating system (OS) 115 and a support program 116.
[0036] The selection unit 11, extraction unit 12 and task execution unit 13 shown in FIG. 1 are realized by the processor 110 executing the support program 116.
[0037] The input device 118 includes, for example, peripheral devices such as a keyboard, a mouse, or a touchpad. Note that the input device 118 may be an interface for connecting a peripheral device configured to mediate data exchange between the support device 100 and the peripheral device. That is, the support device 100 may be configured with the peripheral device or may be separate from the peripheral device.
[0038] The display device 120 is, for example, a display. The display device 120 may be an interface for connecting a display configured to mediate data exchange between the support device 100 and the display. That is, the support device 100 may be configured to include a display, or may be separate from the display.
[0039] The communication interface 124 mediates the exchange of data between the support device 100 and external devices (including the PLC 200).
[0040] The data reader / writer 126 is configured to be detachable from the storage medium 130. The data reader / writer 126 is an interface for the support device 100 to write various data to the storage medium 130 or read various data from the storage medium 130. The storage medium 130 may be one or more non-transitory computer readable media, such as a memory card, a removable disk, or a USB memory, or may be one or more computer readable storage media.
[0041] The bus 128 mediates the exchange of data between the components constituting the support device 100.
[0042] <Hardware Configuration of PLC> FIG. 3 is a schematic diagram showing an example of the hardware configuration of a PLC. As shown in FIG. 3, the PLC 200 includes, as main components, a power supply circuit 201 that supplies power PW to each part of the PLC 200, a CPU 202, a chipset 204, a memory 206, a storage 208, a USB controller 250, a field network controller 252, a network controller 254, and a data reader / writer 260.
[0043] The CPU 202 reads the control program 214 stored in the storage 208 and expands it in the memory 206. The CPU 202 realizes arithmetic processing for controlling a control target by repeatedly executing the control program 214 at a predetermined control cycle.
[0044] The CPU 202 reads the IO refresh program 215 stored in the storage 208 and loads it in the memory 206. The CPU 202 updates the values of multiple variables by executing the IO refresh program 215 at a predetermined control period. The multiple variables include variables received from a control target, variables output to the control target, and variables generated by arithmetic processing for controlling the control target. The values of the multiple variables can be used in arithmetic processing for controlling the control target.
[0045] The CPU 202 reads the communication management program 216 stored in the storage 208 and loads it into the memory 206. By executing the communication management program 216, the CPU 202 operates as an OPC UA (registered trademark) (Open Platform Communications Unified Architecture) server. OPC UA is a communication standard established to enable data exchange between multiple devices regardless of the vendor or the type of operating system (OS). By the PLC 200 operating as an OPC UA server, an OPC UA client (not shown) can easily access data managed by the PLC 200. The OPC UA client includes, for example, a human machine interface (HMI), a laptop or desktop personal computer (PC), a smartphone, a tablet terminal, or other information processing device with a display function.
[0046] The CPU 202 reads the backup program 217 stored in the storage 208 and loads it into the memory 206. The CPU 202 executes the backup program 217 to back up the specified data to a storage destination. The storage destination may include, for example, the support device 100, another external device, a storage medium, etc.
[0047] The memory 206 is configured with a volatile storage device such as a DRAM or an SRAM. The storage 208 is configured with a non-volatile storage device (including, for example, an HDD, an SSD, or a flash memory). A portion of the storage 208 may be configured with volatile storage.
[0048] The chipset 204 mediates data exchange between the CPU 202 and each component, thereby realizing processing of the PLC 200 as a whole.
[0049] The storage 208 stores a system program 211 including an OS (Operating System) 212 and a scheduler program 213 for implementing the basic functions of the PLC 200, as well as a control program 214 created according to the control target and an IO refresh program 215. The storage 208 also stores a communication management program 216 for causing the PLC 200 to operate as an OPC UA server. Note that the communication management program 216 may not be stored in the storage 208 of some of the multiple PLCs 200. The storage 208 also stores a backup program 217 for backing up data. The storage 208 also stores one or more files 220 used for executing the programs.
[0050] The USB controller 250 is responsible for transferring data to and from external devices (including the support device 100) via a USB connection.
[0051] The field network controller 252 has a connector 252a that connects a field network to which the control target belongs, and controls the exchange of data between the PLC 200 and the control target via the field network. An industrial network may be used as the field network. Known industrial networks include, for example, EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark). The field network controller 252 has an internal buffer that stores input data received from the field network and output data output from the PLC 200 to the field network. The input data and output data indicate variable values.
[0052] The network controller 254 has a connector 254a that connects to an information system network, and controls the exchange of data between the PLC 200 and external devices (including the support device 100 and an OPC UA client).
[0053] The data reader / writer 260 is configured to allow a storage medium 265 to be detachably attached. The data reader / writer 260 is an interface that allows the PLC 200 to write various types of data to the storage medium 265 or to read various types of data from the storage medium 265. Note that the storage medium 265 may be one or more non-transitory computer-readable media such as a memory card, a removable disk, or a USB memory, or may be one or more computer-readable storage media.
[0054] While FIG. 3 shows an example of a configuration in which the CPU 202 executes a program to provide the necessary functions, some or all of these provided functions may be implemented using dedicated hardware circuits (e.g., ASIC or FPGA). Alternatively, the main part of the PLC 200 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, multi-core technology may be applied to execute processes in parallel. Alternatively, virtualization technology may be used to execute multiple operating systems with different purposes in parallel, with necessary applications executed on each operating system.
[0055] <Functional configuration> Fig. 4 is a block diagram showing an example of the functional configuration of the support device and the PLC. As shown in Fig. 4, the support device 100 includes a tool 10 as a functional configuration. The tool 10 is realized by the processor 110 shown in Fig. 2 executing the support program 116. The tool 10 includes a user interface unit (hereinafter referred to as "UI unit 11a") and a support processing unit 14.
[0056] The UI unit 11a generates a user interface for supporting the maintenance of multiple PLCs 200 and displays the user interface on the display device 120. Furthermore, the UI unit 11a accepts input to the user interface from the input device 118. The UI unit 11a operates as the selection unit 11 shown in Fig. 1. That is, the UI unit 11a selects a target operation from multiple maintenance operations in accordance with the input to the user interface.
[0057] The support processing unit 14 supports the maintenance of multiple PLCs 200. The support processing unit 14 includes a browsing unit 12a, a status monitoring unit 12b, a server function support unit 13a, a troubleshooting unit 13b, and a backup management unit 13c. The browsing unit 12a and the status monitoring unit 12b operate as the extraction unit 12 shown in FIG. 1. Each of the server function support unit 13a, the troubleshooting unit 13b, and the backup management unit 13c is an example of the operation execution unit 13 shown in FIG.
[0058] The browsing unit 12a searches for the PLC 200 that is communicably connected to the support device 100.
[0059] The status monitoring unit 12b monitors the status of the PLC 200. In response to the UI unit 11a selecting a target task, the status monitoring unit 12b extracts, based on the monitoring result, one or more target PLCs that satisfy the extraction conditions corresponding to the target task from among the multiple PLCs 200.
[0060] The plurality of maintenance tasks include, for example, first to third tasks. The first task is a task related to an OPC UA server function that provides data to an OPC UA client in response to a request from the OPC UA client. The second task is a task related to troubleshooting. The third task is a task for backing up data.
[0061] The server function support unit 13a performs a first task on the PLC 200 in which the OPC UA server function is running. Specifically, the server function support unit 13a acquires status information indicating the implementation state of the OPC UA server function from the PLC 200 and provides the status information to the maintenance worker 3. Alternatively, the server function support unit 13a downloads various files related to security to the PLC 200. Alternatively, the server function support unit 13a instructs the PLC 200 to generate a certificate for the OPC UA server.
[0062] The troubleshooting unit 13b performs a second task on the PLC 200 in which an abnormality has occurred. Specifically, the troubleshooting unit 13b recognizes the details of the abnormality that has occurred in the PLC 200 by analyzing various data held by the PLC 200. The details of the abnormality include the location where the abnormality has occurred, the type of abnormality, etc. Furthermore, the troubleshooting unit 13b stores in advance correlation information that correlates the type of abnormality with a countermeasure, and identifies a countermeasure for the recognized abnormality based on the correlation information.
[0063] The backup management unit 13c performs a third task on the PLC 200 that requires data backup. Specifically, the backup management unit 13c outputs an instruction to the PLC 200 to back up the specified data to a storage destination.
[0064] As shown in FIG. 4, the PLC 200 includes an interface 21 for the tool 10, a file management unit 22, an OPC UA function module 23, a variable memory space 24, an IO refresh module 25, and a backup execution module 26.
[0065] The interface 21 and the file management unit 22 are realized by the CPU 202, storage 208, memory 206, and network controller 254 shown in Figure 3. The OPC UA function module 23 is realized by the CPU 202 executing a communication management program 216. The variable memory space 24 is a partial area of the memory 206. The IO refresh module 25 is realized by the CPU 202 executing an IO refresh program 215. The backup execution module 26 is realized by the CPU 202 executing a backup program 217.
[0066] The interface 21 stores production information 21a indicating the model and version of the PLC 200 and information indicating active functions (hereinafter referred to as "active function information 21b"), and outputs this information in response to an external request. The active function information 21b is updated according to the operating status of each function. For example, when the OPC UA server function is started, the active function information 21b is updated to indicate that the OPC UA server function is running. When the OPC UA server function is stopped, the active function information 21b is updated to indicate that the OPC UA server function is stopped.
[0067] The file management unit 22 manages files related to the settings of various functions. For example, the file management unit 22 stores a setting file 221 and a certificate file 222 as files related to security settings of the OPC UA server function. The setting file 221 includes a file indicating an account of a user of the OPC UA client (hereinafter referred to as a "user account") and a file indicating a security policy. The certificate file 222 is used for authentication of secure communication. The certificate file 222 includes a file indicating a certificate of the OPC UA server and a file indicating a certificate of the OPC UA client.
[0068] The OPC UA function module 23 executes an OPC UA server function that provides data to an OPC UA client in response to a request from the OPC UA client. Furthermore, the OPC UA function module 23 performs server status control 231, certificate control 232, security setting control 233, and operation log control 234 as control related to the OPC UA server function.
[0069] The server status control 231 is a process for collecting information (hereinafter referred to as "OPC UA status information") indicating the status of the OPC UA server function, the number of connected OPC UA clients, etc. The collected OPC UA status information can be output to the support device 100 in response to a request from the support device 100.
[0070] Certificate control 232 includes a process for authenticating an OPC UA client by exchanging certificate file 222 with the OPC UA client. Furthermore, certificate control 232 includes a process for generating a file indicating the certificate of the OPC UA server and a process for registering a file indicating the certificate of the OPC UA client.
[0071] Security settings control 233 includes registering or updating settings files 221 related to user accounts or security policies.
[0072] The operation log control 234 generates a log file that indicates the operation history of the OPC UA server function and saves the log file in the storage medium 265. The saved log file can be output to the support device 100 in response to a request from the support device 100.
[0073] The variable memory space 24 stores the values of multiple variables. The IO refresh module 25 updates the values of the multiple variables stored in the variable memory space 24 at each predetermined control period. The multiple variables include abnormality flags that indicate whether various abnormalities have occurred in the PLC 200.
[0074] The backup execution module 26 backs up specified data to a specified storage destination in response to an instruction from the support device 100. For example, the backup execution module 26 backs up files (including the setting file 221 and the certificate file 222) managed by the file management unit 22 to the support device 100. The backup execution module 26 holds information indicating the latest date and time when a backup was executed (hereinafter referred to as "latest date and time information 261"). The backup execution module 26 updates the latest date and time information 261 every time a backup is executed.
[0075] <Process flow to support maintenance of multiple PLCs> The flow of processing for supporting the maintenance of a plurality of PLCs 200 will be described with reference to Figures 5 to 14. Figure 5 is a sequence diagram showing the flow of processing for supporting the maintenance of a plurality of PLCs.
[0076] First, in step S1, the maintenance worker 3 starts the tool 10 of the support device 100. In the next step S2, the UI unit 11a of the tool 10 generates a dialog box as a user interface that prompts the user to select connection conditions, and displays the dialog box on the display device 120. In the next step S3, the maintenance worker 3 selects connection conditions in the dialog box.
[0077] FIG. 6 is a diagram showing an example of a dialog box that prompts the user to select connection conditions. The dialog box 30 shown in FIG. 6 includes a list of connection methods with the PLC 200. The maintenance worker 3 selects a desired connection method from the list. In the example shown in FIG. 6, four connection methods are shown. The connection method "USB-direct connection" means that the device is directly connected to the support device 100 via a USB cable. The connection method "Ethernet-direct connection" means that the device is directly connected to the support device 100 via an Ethernet (registered trademark) cable. The connection method "USB-remote connection" means that the device is hub-connected to the PLC 200 that is directly connected to the support device 100 via a USB cable. The connection method "Ethernet-HUB connection" means that the device is connected to a hub that is directly connected to the support device 100 via an Ethernet (registered trademark) cable.
[0078] When a connection method is selected from the dialog box 30, the browsing section 12a of the tool 10 searches for the PLC 200 that is connected according to the selected connection method.
[0079] 7 is a diagram showing another example of a dialog box that prompts the user to select connection conditions. The dialog box 31 shown in FIG. 7 includes a list of pre-registered IP addresses. The maintenance worker 3 may select all or some of the IP addresses in the dialog box 31. When an IP address is selected, the browsing unit 12a of the tool 10 searches for the PLC 200 having the selected IP address.
[0080] Returning to FIG. 5, the tool 10 performs a loop process L1 for each PLC 200 (specific PLC) that satisfies the selected connection condition. The one or more specific PLCs that satisfy the selected connection condition are an example of the "one or more specific control devices" of the present disclosure. For example, when a connection method is selected from the dialog box 30 shown in FIG. 6, the browsing unit 12a of the tool 10 performs a loop process L1 for each PLC 200 that is connected according to the selected connection method. When an IP address is selected in the dialog box 31 shown in FIG. 7, the browsing unit 12a performs a loop process L1 for each PLC 200 that has the selected IP address.
[0081] In the loop process L1, the browsing unit 12a requests the PLC 200 for the production information 21a and acquires the production information 21a from the PLC 200.
[0082] By executing the loop process L1 for each PLC 200 that satisfies the selected connection condition, the tool 10 acquires the production information 21a of each PLC 200 that satisfies the selected connection condition.
[0083] In the next step S14, the UI unit 11a of the tool 10 generates a user interface including a list of PLCs 200 that satisfy the selected connection conditions and a list of multiple maintenance operations. In the next step S15, the UI unit 11a displays the generated user interface on the display device 120.
[0084] FIG. 8 is a diagram showing an example of a user interface displayed in step S15. The user interface 40 shown in FIG. 8 includes a list 41 of PLCs 200 that satisfy the selected connection condition and a list 42 of multiple maintenance operations. The list 41 is created based on the production information 21a acquired by the loop process L1. The list 42 is created in advance. The user interface 40 can accept a selection input of one maintenance operation in the list 42. The list 42 includes a first operation 42a related to the OPC UA server function, a second operation 42b related to troubleshooting, and a third operation 42c for backing up data.
[0085] Returning to FIG. 5, in the next step S16, the maintenance worker 3 selects and inputs one maintenance task from the list 42. In response to the input in step S16, the UI unit 11a of the tool 10 selects the target task from among the multiple maintenance tasks.
[0086] Next, the status monitoring unit 12b of the tool 10 performs loop processing L2 for each PLC 200 that satisfies the connection condition selected in step S13. Loop processing L2 is processing for acquiring information indicating the status of the PLC 200 (hereinafter referred to as "PLC status information") from the PLC 200. Specifically, the status monitoring unit 12b requests the PLC 200 for PLC status information and receives the PLC status information output from the PLC 200 in response to the request. The type of PLC status information is determined according to the extraction condition corresponding to the target task.
[0087] In the next step S17, the state monitoring unit 12b of the tool 10 extracts one or more target PLCs that satisfy the extraction condition corresponding to the target task from the multiple PLCs 200, based on the PLC state information obtained by executing the loop process L2. Note that in the example shown in Fig. 5, one or more target PLCs are extracted from one or more specific PLCs that satisfy the connection condition among the multiple PLCs 200.
[0088] In the next step S18, the UI unit 11a of the tool 10 generates a user interface including a list of one or more target PLCs. In the next step S19, the UI unit 11a of the tool 10 displays the generated user interface on the display device 120.
[0089] In the next step S20, the maintenance worker 3 inputs settings related to the target work. Next, the work execution unit 13 (server function support unit 13a, troubleshooting unit 13b, or backup management unit 13c) of the tool 10 performs loop processing L3 for each target PLC in accordance with the setting input. In loop processing L3, the work execution unit 13 of the tool 10 performs the target work.
[0090] In the next step S21, the UI unit 11a of the tool 10 generates a user interface showing the execution result of the target task. In the next step S22, the UI unit 11a of the tool 10 displays the generated user interface on the display device 120.
[0091] (Example of processing when the first operation is selected as the target operation) A processing example will be described in which the first task related to the OPC UA server function is selected as the target task in step S16.
[0092] The extraction condition corresponding to the first task is that the OPC UA server function is running. Therefore, in loop processing L2, the status monitoring unit 12b of the tool 10 acquires the running function information 21b as PLC status information. In step S17, the status monitoring unit 12b extracts, as the target PLC, the PLC 200 that has output the running function information 21b indicating that the OPC UA server function is running. As a result, one or more PLCs 200 with the OPC UA server function running are extracted as one or more target PLCs from among the multiple PLCs 200.
[0093] 9 is a diagram showing an example of a user interface displayed when a first task is selected as a target task. The user interface 50 shown in FIG. 9 includes a list 51 of one or more target PLCs. Furthermore, the user interface 50 includes icons 52 to 54 representing subtasks belonging to the first task. Icon 52 represents a subtask of checking the status of the OPC UA server. Icon 53 represents a subtask related to the OPC UA server certificate. Icon 54 represents a subtask related to the OPC UA client certificate.
[0094] The user interface 50 can accept input of selection of one or more target PLCs in the list 51. All target PLCs in the list 51 may be selected. Furthermore, the user interface 50 can accept operation of icons 52 to 54. That is, the list 51 and icons 52 to 54 are used to input settings related to the target work in step S20.
[0095] 9, the PLC 200 "Device_A1" is selected in the list 51, and the icon 52 is operated. In response to the operation of the icon 52, the UI unit 11a of the tool 10 updates the user interface 50 to include an area 55 and a button 56.
[0096] Area 55 is used to display the status of the OPC UA server. Button 56 is used to obtain the latest OPC UA status information. In response to the operation of button 56, loop processing L3 is executed for each target PLC selected in list 51. Specifically, server function support unit 13a of tool 10 requests the latest OPC UA status information and obtains the OPC UA status information from the target PLC. Server function support unit 13a outputs the OPC UA status information to UI unit 11a. UI unit 11a displays the OPC UA status information in area 55.
[0097] When the icon 53 is operated, for example, the server function support unit 13a may collectively instruct all target PLCs selected in the list 51 to generate OPC UA server certificates. This eliminates the need for the maintenance worker 3 to repeatedly select a target PLC 200 and instruct the generation of an OPC UA server certificate for each of the target PLCs 200. As a result, the effort required to generate OPC UA server certificates for multiple target PLCs 200 is reduced.
[0098] When the icon 54 is operated, for example, the server function support unit 13a may collectively register the OPC UA client certificates for all the target PLCs selected in the list 51. That is, the server function support unit 13a downloads a file indicating the specified certificate to each target PLC.
[0099] Alternatively, when the icon 54 is operated, the server function support unit 13a may collectively register the user account, security policy, and OPC UA client certificate for all target PLCs selected in the list 51.
[0100] FIG. 10 illustrates an example of a process for collectively registering a user account, a security policy, and an OPC UA client certificate. In step S20, the server function support unit 13a of the tool 10 accepts the designation of a file set 58 to be registered. The file set 58 includes a file indicating a user account, a file indicating a security policy, and a file indicating an OPC UA client certificate. The server function support unit 13a downloads the file set 58 to all target PLCs selected in the list 51 (PLCs 200A and 200B in the example illustrated in FIG. 10). This eliminates the need for the maintenance worker 3 to repeatedly designate and issue download instructions for the file set 58 for each of the multiple target PLCs. As a result, the effort required to download the file set 58 to multiple target PLCs is reduced.
[0101] (Example of processing when the second operation is selected as the target operation) An example of processing when a second task related to troubleshooting is selected as the target task in step S16 will be described.
[0102] The extraction condition corresponding to the second operation is that the abnormality flag indicates an abnormality. Therefore, in loop processing L2, the state monitoring unit 12b of the tool 10 acquires various abnormality flags stored in the variable memory space 24 of each PLC 200 as PLC state information. In step S17, the state monitoring unit 12b extracts, as the target PLC, a PLC 200 that has output an abnormality flag indicating an abnormality. As a result, one or more PLCs 200 in which some kind of abnormality has occurred are extracted as the target PLC.
[0103] FIG. 11 is a diagram showing an example of a user interface displayed when the second task is selected as the target task. The user interface 60 shown in FIG. 11 includes a list 61 of one or more target PLCs. Furthermore, the user interface 60 includes tabs 62 to 65 that represent sub-tasks belonging to the second task. Tab 62 represents an operation to check details of an abnormality in each module in the PLC 200 (hereinafter referred to as a "controller abnormality"). Tab 63 represents an operation to check the history of controller abnormalities. Tab 64 represents an operation to check details of an abnormality in the control program 214 installed in the PLC 200 (hereinafter referred to as a "program abnormality"). Tab 65 represents an operation to check the history of program abnormalities.
[0104] The user interface 60 can accept input of the selection of one or more target PLCs in the list 61. All target PLCs in the list 61 may be selected. Furthermore, the user interface 60 can accept operation of tabs 62 to 65. That is, the list 61 and tabs 62 to 65 are used to input settings related to the target work in step S20. In the example shown in FIG. 11, the PLC 200 "Device_A2" is selected in the list 61, and the tab 62 is operated.
[0105] The troubleshooting unit 13b of the tool 10 performs a loop process L3 for each target PLC selected in the list 61 in response to an operation of any one of the tabs 62 to 65.
[0106] For example, when tab 62 is operated, the troubleshooting unit 13b acquires data related to a controller abnormality from the target PLC. By analyzing the acquired data, the troubleshooting unit 13b recognizes information about each controller abnormality occurring in the target PLC, such as the severity, source, details of the source, and an event name indicating the type of abnormality. The UI unit 11a displays the recognized information in area 66 of the user interface 60, as shown in FIG. 11 .
[0107] Similarly, when tab 64 is operated, troubleshooting unit 13b acquires data related to program errors from the target PLC and recognizes information about each program error occurring in the target PLC. UI unit 11a displays the recognized information in area 66.
[0108] When tab 63 is operated, troubleshooting unit 13b acquires an event log related to a controller abnormality from the target PLC. When tab 65 is operated, troubleshooting unit 13b acquires an event log related to a program abnormality from the target PLC. UI unit 11a displays the acquired event log in area 66.
[0109] Furthermore, the troubleshooting unit 13b may identify a countermeasure for the recognized type of abnormality based on correlation information that correlates the type of abnormality with the countermeasure. The UI unit 11a displays the identified countermeasure on the user interface 60.
[0110] By checking the user interface 60, the maintenance worker 3 can grasp the status of the abnormality for each target PLC in which some abnormality has occurred, and can take measures to resolve the abnormality.
[0111] (Example of processing when the third operation is selected as the target operation) An example of processing when the third task of backing up data is selected as the target task in step S16 will be described.
[0112] The extraction condition corresponding to the third operation is that the time elapsed since the most recent backup execution date and time exceeds a predetermined threshold. Therefore, in loop processing L2, the status monitoring unit 12b of the tool 10 acquires latest date and time information 261 indicating the most recent backup execution date and time from each PLC 200 as PLC status information. In step S17, the status monitoring unit 12b extracts, as target PLCs, PLCs 200 that hold latest date and time information 261 indicating a latest date and time that exceeds the predetermined threshold. As a result, of the multiple PLCs 200, one or more PLCs 200 for which the predetermined threshold or more has elapsed since the execution of the previous backup are extracted as one or more target PLCs.
[0113] Fig. 12 is a diagram showing an example of a user interface that is displayed when the third task is selected as the target task. The user interface 70 shown in Fig. 12 includes a list 71 of one or more target PLCs. The user interface 70 can accept selection input of one or more target PLCs in the list 71. All target PLCs in the list 71 may be selected. The list 71 is used to input settings related to the target task in step S20.
[0114] Furthermore, the user interface 70 includes input fields 72 and 74, a group of check boxes 73, and a button 75. The input field 72 is used to input path information to the destination folder. The group of check boxes 73 is used to specify the type of data to be backed up. The input field 74 is used to input comments. The input fields 72 and 74 and the group of check boxes 73 are used to input settings related to the target work for one or more target PLCs in step S20.
[0115] The button 75 is used to instruct the start of execution of the third task. In response to the operation of the button 75, the backup management unit 13c of the tool 10 executes a loop process L3 for each target PLC selected in the list 71. Specifically, the backup management unit 13c collectively outputs an instruction to back up data to all target PLCs selected in the list 71. The instruction is accompanied by the path information entered in the input field 72, the data type specified by the check box group 83, and the comment entered in the input field 74. The backup execution module 26 of the target PLC that receives the instruction identifies data of the specified data type as the data to be backed up. The backup execution module 26 adds the comment to the data to be backed up and then saves the data in the folder indicated by the path information.
[0116] Fig. 13 is a diagram showing an example of data backup processing. In the example shown in Fig. 13, PLCs 200C and 200D are selected from the list 71 of the user interface 70 shown in Fig. 12. In response to an instruction from the backup management unit 13c of the tool 10, the PLCs 200C and 200D generate data sets 80C and 80D, respectively, that include data of the specified data type. Comments entered in the input field 74 are added to the data sets 80C and 80D.
[0117] The destination folder is managed to have a hierarchical structure according to the backup date and time and the PLC. For example, in the example shown in FIG. 13, the backup management unit 13c creates a child folder 81 corresponding to the backup date and time in the destination folder "Backups," and creates grandchild folders 82C and 82D corresponding to PLCs 200C and 200D, respectively, in the child folder 81. The backup management unit 13c instructs PLC 200C to save data set 80C in the grandchild folder 82C corresponding to PLC 200C. Similarly, the backup management unit 13c instructs PLC 200C to save data set 80D in the grandchild folder 82D corresponding to PLC 200D. This allows the maintenance worker 3 to easily identify the data sets by checking the hierarchical structure of the destination folder.
[0118] The backed up data set is used to restore the PLC 200. The backup management unit 13c of the tool 10 may support the restoration of the PLC 200.
[0119] 14 is a diagram showing an example of a user interface for supporting the restoration of a PLC. The user interface 90 shown in FIG.
[0120] The user interface 90 includes a list 91 of a plurality of PLCs 200. The user interface 90 can accept a selection input from the list 91 of a PLC 200 that is to be restored.
[0121] The user interface 90 further includes an input field 92 and an area 93. Path information to the storage location of the backed-up dataset is input into the input field 92. The UI unit 11a displays, in the area 93, attribute information 96 of the dataset stored in the location indicated by the path information input into the input field 92. The attribute information 96 indicates the backup date and time of the corresponding dataset and any comments added to the corresponding dataset. The user interface 90 can accept selection input of the attribute information 96 in the area 93.
[0122] The user interface 90 further includes a group of check boxes 94. The group of check boxes 94 are used to specify the data types to be restored from among the data included in the data set.
[0123] The user interface 90 includes a button 95 for accepting the start of restoration execution. In response to the operation of the button 95, the backup management unit 13c of the tool 10 restores the PLC 200 selected from the list 91 using the data type specified by the check box group 94 from among the data sets corresponding to the attached information 96 selected in the area 93. When restoring a certain PLC 200, the backup management unit 13c uses the data set backed up from that PLC 200.
[0124] In this way, the maintenance worker 3 can select a dataset to be used for restoration by using the attached information 96 including the comment. The comment is arbitrarily written by the maintenance worker 3 in the user interface 70 shown in FIG. 12. Therefore, by using a character string that can be easily identified later as the comment, the maintenance worker 3 can easily select the desired dataset to be used for restoration.
[0125] §3 Supplementary Note As described above, the present embodiment includes the following disclosures.
[0126] (Configuration 1) A support device (100) that supports a plurality of control devices (200), a selection unit (11, 11a) for selecting a target maintenance task from among a plurality of maintenance tasks in accordance with an input to a user interface (40); an extraction unit (12, 12a, 12b) that extracts one or more target control devices that satisfy extraction conditions corresponding to the target work from among the plurality of control devices (200); A support device (100) includes a task execution unit (13, 13a to 13c) that performs the target task for the one or more target control devices.
[0127] (Configuration 2) the plurality of maintenance operations include a first operation related to a server function of providing a client with data in response to a request from the client; 2. The support device (100) according to configuration 1, wherein the extraction condition corresponding to the first task is that the server function is running.
[0128] (Configuration 3) the plurality of maintenance operations includes a second operation related to troubleshooting; Each of the plurality of control devices (200) holds a flag indicating whether or not the state is abnormal, 3. The support device (100) according to configuration 1 or 2, wherein the extraction condition corresponding to the second task is that the flag indicates an abnormality.
[0129] (Configuration 4) the plurality of maintenance operations include a third operation of backing up designated data; Each of the plurality of control devices (200) holds the latest date and time when the backup was executed, 4. The support device (100) according to any one of configurations 1 to 3, wherein the extraction condition corresponding to the third task is that the time elapsed since the latest date and time exceeds a predetermined threshold.
[0130] (Configuration 5) 5. The support device (100) according to configuration 4, wherein the third operation includes an operation of adding a comment input to the user interface (70) to the specified data.
[0131] (Configuration 6) The support device (100) according to any one of configurations 1 to 5, wherein the extraction unit (12, 12a, 12b) extracts the one or more target control devices from one or more specific control devices connected to the support device (100) according to connection conditions specified by input to the user interface (30, 31) among the plurality of control devices (200).
[0132] (Configuration 7) A method for supporting a plurality of control devices (200), comprising: a processor (110) selecting a target maintenance task from among a plurality of maintenance tasks in accordance with an input to a user interface (40); The processor (110) extracts one or more target control devices that satisfy extraction conditions corresponding to the target work from among the plurality of control devices (200); The method comprises the processor (110) performing the target task for the one or more target control devices.
[0133] (Configuration 8) A program (116) that causes a computer (110) to execute a support method for supporting a plurality of control devices (200), The support method includes: selecting a target maintenance task from among a plurality of maintenance tasks according to an input to a user interface (40); Extracting one or more target control devices that satisfy extraction conditions corresponding to the target work from among the plurality of control devices (200); and performing the target task on the one or more target control devices.
[0134] Although the embodiments of the present invention have been described, the embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, and it is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0135] 1 System, 2A, 2B Production line, 3 Maintenance worker, 10 Tool, 11 Selection section, 11a UI section, 12 Extraction section, 12a Browse section, 12b Status monitoring section, 13 Work execution section, 13a Server function support section, 13b Troubleshooting section, 13c Backup management section, 14 Support processing section, 21 Interface, 21a Production information, 21b Running function information, 22 File management section, 23 Function module, 24 Memory space, 25 Refresh module, 26 Backup execution module, 30, 31 Dialog box, 40, 50, 60, 70, 90 User interface, 58 File set, 80C, 80D Data set, 81 Child folder, 82C, 82D Grandchild folder, 96 Attached information, 100 Support device, 108, 208 Storage, 110 Processor, 112, 206 Memory, 114 Storage device, 116 support program, 118 input device, 120 display device, 124 communication interface, 126, 260 data reader / writer, 128 bus, 130, 265 storage medium, 200, 200A to 200D PLC, 201 power supply circuit, 202 CPU, 204 chipset, 211 system program, 213 scheduler program, 214 control program, 215 refresh program, 216 communication management program, 217 backup program, 220 file, 221 setting file, 222 certificate file, 250 USB controller, 252 field network controller, 252a, 254a connector, 254 network controller, 261 latest date and time information.
Claims
1. A support device that supports a plurality of control devices, a selection unit that selects a target maintenance task from among a plurality of maintenance tasks in accordance with an input to a user interface; an extraction unit that extracts one or more target control devices that satisfy extraction conditions corresponding to the target work from the plurality of control devices; a task execution unit that performs the target task for the one or more target control devices.
2. the plurality of maintenance operations include a first operation related to a server function of providing a client with data in response to a request from the client; The support device according to claim 1 , wherein the extraction condition corresponding to the first task is that the server function is running.
3. the plurality of maintenance operations includes a second operation related to troubleshooting; Each of the plurality of control devices holds a flag indicating whether or not a state is abnormal, The support device according to claim 1 , wherein the extraction condition corresponding to the second task is that the flag indicates an abnormality.
4. the plurality of maintenance operations include a third operation of backing up designated data, Each of the plurality of control devices holds the most recent date and time when the backup was executed, The support device according to claim 1 , wherein the extraction condition corresponding to the third task is that the elapsed time from the latest date and time exceeds a predetermined threshold.
5. The support device according to claim 4 , wherein the third operation includes an operation of adding a comment input to the user interface to the specified data.
6. A support device described in any one of claims 1 to 5, wherein the extraction unit extracts the one or more target control devices from one or more specific control devices among the plurality of control devices that are connected to the support device in accordance with connection conditions specified by input to the user interface.
7. 1. A method for supporting multiple control devices, comprising: a processor selecting a target maintenance task from among a plurality of maintenance tasks in accordance with input to a user interface; The processor extracts one or more target control devices that satisfy an extraction condition corresponding to the target work from the plurality of control devices; the processor performing the target task for the one or more target control devices.
8. A program that causes a computer to execute a support method for supporting a plurality of control devices, The support method includes: selecting a target maintenance task from among a plurality of maintenance tasks according to an input to a user interface; extracting one or more target control devices that satisfy extraction conditions corresponding to the target work from among the plurality of control devices; performing the target task on the one or more target control devices.
Citation Information
Patent Citations
Data management device
JP1993289886A