Controller, monitoring system, monitoring method, and program

WO2026167779A1PCT designated stage Publication Date: 2026-08-13MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-05
Publication Date
2026-08-13

Smart Images

  • Figure JP2025003796_13082026_PF_FP_ABST
    Figure JP2025003796_13082026_PF_FP_ABST
Patent Text Reader

Abstract

A controller (2) controls an object by a program and comprises: a control processing unit (211) that controls the object; add-ons (212-215) that add new functions to functions of the control processing unit; and a storage unit (22) that stores performance measurement values ​​of the add-ons (212-215). For the add-ons (212-215), performance measurement values are stored ​​in the storage unit (22) at each calculation cycle, and the control processing unit (211) reads the performance measurement values ​​of the add-ons (212-215) from the storage unit (22) and outputs, to a monitoring device (1), performance measurement information indicating read performance measurement values ​​of the add-ons (212-215).
Need to check novelty before this filing date? Find Prior Art

Description

Controller, Monitoring System, Monitoring Method, and Program

[0001] The present disclosure relates to a controller, a monitoring system, a monitoring method, and a program.

[0002] Regarding a PLC (Programmable Logic Controller) that controls facilities and equipment by a program, there is a technology that visualizes the performance of functional units realized by software and the execution performance of a user program designed by a user, and enables monitoring of the performance of the PLC. Also, there is a program for adding a new function generally called an add-on to the software of the PLC.

[0003] Patent Document 1 discloses a technology for measuring and displaying the execution time of each program and the execution time of end processing in a PLC.

[0004] International Publication No. 2023 / 243012

[0005] However, in the technology described in Patent Document 1, it is not possible to measure the performance value of an add-on whose placement on the main memory device is determined at the time of startup of the PLC, and it cannot be monitored. Therefore, in a controller that controls an object by a program typified by a PLC, in order to improve the performance of an add-on, it is necessary to rely on know-how based on skilled knowledge and experience and repeat trials, which has a problem of consuming a lot of time.

[0006] The present disclosure has been made to solve the above problems, and an object thereof is to reduce the working time for improving the performance of an add-on of a controller that controls an object by a program. [[ID=第十九]]

[0007] To achieve the above objective, the controller relating to this disclosure is a controller that controls an object by program, and comprises a control processing unit, an add-on, and a storage unit. The control processing unit controls the object. The add-on adds new functions to the functions of the control processing unit. The storage unit stores performance measurement values ​​of the add-on. The add-on stores its performance measurement values ​​in the storage unit at each calculation cycle. The control processing unit reads the performance measurement values ​​of the add-on from the storage unit and outputs performance measurement information indicating the read performance measurement values ​​of the add-on to a monitoring device.

[0008] According to this disclosure, by making it possible to monitor performance measurements of add-ons for controllers that programmatically control objects, the performance of add-ons that need improvement can be precisely tuned, thereby reducing the time required to improve the performance of controller add-ons.

[0009] A diagram showing an example configuration of the monitoring system according to Embodiment 1. A diagram showing the arrangement of add-ons on the general-purpose memory according to Embodiment 1. A diagram showing an example of the functional configuration of the monitoring device and controller according to Embodiment 1. A diagram showing an example of the monitor screen according to Embodiment 1. A diagram showing the data flow from the add-on to the shared memory according to Embodiment 1. A diagram showing an example of the add-on processing executed for each calculation cycle according to Embodiment 1. A diagram showing an example of the add-on ID and performance measurement values ​​stored in the memory unit according to Embodiment 1. A diagram showing the data flow in the monitoring system according to Embodiment 1. A flowchart showing an example of the controller startup process according to Embodiment 1. A flowchart showing an example of the controller's add-on execution process according to Embodiment 1. A flowchart showing an example of the monitoring device startup process according to Embodiment 1. A flowchart showing an example of the monitoring process of the monitoring device according to Embodiment 1. A diagram showing an example of the monitoring device and controller's functional configuration according to Embodiment 2. A schematic diagram showing reinforcement learning of parameter improvement measures by AI according to Embodiment 2. A diagram showing an example of the monitor screen according to Embodiment 2. A flowchart showing an example of the improvement measure presentation process of the monitoring device according to Embodiment 2. A diagram showing an example of the hardware configuration of the monitoring devices according to Embodiments 1 and 2.

[0010] The controller, monitoring system, monitoring method, and program according to this embodiment will be described in detail below with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and their descriptions will not be repeated in principle.

[0011] (Embodiment 1) The configuration of the monitoring system 100 according to Embodiment 1 will be described with reference to Figure 1. As shown in Figure 1, the monitoring system 100 comprises a monitoring device 1 and a controller 2. The monitoring device 1 and the controller 2 are connected by wire or wireless.

[0012] Controller 2 is a controller that controls an object according to a program, and is, for example, a PLC. As shown in Figure 1, Controller 2 has processors 201, 202, and 203 that perform processing to control the object, a general-purpose memory 204 that stores various programs, a shared memory 205 that stores various data, and an external interface 206 that communicates with the outside, all connected by an internal BUS, and they send and receive data from each other. Processors 201, 202, and 203 each output control signals to control the object via the external interface 206 according to the control program stored in the general-purpose memory 204. In the example in Figure 1, one Controller 2 is shown as a representative, but it is not limited to this, and multiple Controllers 2 may be connected to the monitoring device 1. Also, in the example in Figure 1, three processors are shown, but it is not limited to this, and one or more processors are sufficient. The external interface 206 is, for example, USB, Ethernet, serial communication, wireless communication device, etc.

[0013] Controller 2 has a mechanism in its software to determine the placement of add-ons in general-purpose memory 204 at startup. The placement of add-ons in general-purpose memory 204 will be explained using Figure 2. Controller 2 associates the add-on name, which is the name of the add-on, with the add-on ID that identifies the add-on. Specifically, when Controller 2 performs its startup process, it reads the add-on name of the add-on stored as a file in general-purpose memory 204, associates it with the add-on ID, places the add-on's execution code in general-purpose memory 204, and executes the add-on. As shown in Figure 2, Controller 2 stores the add-on name, add-on ID, and assigned address in general-purpose memory 204. The executed add-on stores time information, its own ID, and information regarding the calculation period in shared memory 205.

[0014] The monitoring device 1 reads the add-on names stored in advance and obtains the add-on ID corresponding to the read add-on name from the controller 2. The monitoring device 1 stores the add-on ID obtained from the controller 2 in association with the add-on name.

[0015] Returning to Figure 1, processors 201, 202, and 203 measure the performance of the add-on in their respective computation cycles and store the performance measurement values ​​in the shared memory 205. The performance measurement value of the add-on is, for example, the execution time of the process. In response to an inquiry from the monitoring device 1, processors 201, 202, and 203 read the performance measurement values ​​from the shared memory 205 and transmit the performance measurement information indicating the performance measurement values ​​to the monitoring device 1 via the external interface 206. The monitoring device 1 displays a monitoring screen that shows the performance measurement values ​​of the add-on based on the performance measurement information. The monitoring device 1 is, for example, a general PC (Personal Computer) with software installed to implement the monitoring device 1.

[0016] The functional configuration of the monitoring device 1 and controller 2 according to Embodiment 1 will be explained with reference to Figure 3. As shown in Figure 3, the monitoring device 1 includes an information acquisition unit 11 that queries the controller 2 to acquire performance measurement value information, a monitoring function unit 12 that generates a monitoring screen that displays the performance measurement value of the add-on based on the performance measurement value information, and an information output unit 13 that outputs the monitoring screen.

[0017] The information acquisition unit 11, in accordance with the information acquisition request from the monitoring function unit 12, queries the control processing unit 211 of the controller 2 for the performance measurement values ​​of the add-on to be displayed on the monitoring screen. The information acquisition unit 11 acquires the performance measurement value information in response to the query from the controller 2 and sends it to the monitoring function unit 12.

[0018] The monitoring function unit 12 generates a monitoring screen that displays the performance measurement values ​​of the add-on based on the performance measurement value information received from the information acquisition unit 11. The information output unit 13 outputs the monitoring screen generated by the monitoring function unit 12. The method of outputting the monitoring screen may be, for example, by displaying it on the screen or by sending it to a terminal used by the user.

[0019] Here, the monitoring screen output by the information output unit 13 will be explained using Figure 4. In the example in Figure 4, the calculation cycles of processor 201, processor 202, and processor 203 are set to the first cycle, second cycle, and third cycle, respectively, and the cumulative values ​​of the add-on performance measurements for each calculation cycle are displayed in a graph and table on the left side of the monitoring screen. For example, the cumulative value of the add-on performance measurement for the first cycle is 24.509 [μs], the cumulative value of the add-on performance measurement for the second cycle is 80.464 [μs], and the cumulative value of the add-on performance measurement for the third cycle is 460.727 [μs].

[0020] In the upper right corner of the monitoring screen, an option selection button is displayed, allowing you to choose an option to display the performance measurements of an add-on. Options include, for example, displaying real-time add-on performance measurements, displaying the maximum add-on performance measurement for each calculation cycle, and displaying the performance measurements of a specific add-on. In the lower right corner of the monitoring screen, the add-on performance measurements for each calculation cycle, according to the selected option, are displayed, corresponding to the add-on name. For example, the processing of add-on A1 took 1.101 [μs] in the first cycle, 4.885 [μs] in the second cycle, and 36.519 [μs] in the third cycle.

[0021] Returning to Figure 3, the controller 2 includes a processing unit 21 that performs processing to control the target object and a storage unit 22 that stores performance measurement values ​​of the add-ons. The processing unit 21 includes a control processing unit 211 that has the function of controlling the target object, and add-ons 212, 213, 214, and 215 that add new functions to the functions of the control processing unit 211. In the example in Figure 1, four add-ons are shown, but the controller 2 is not limited to this, and one or more add-ons are sufficient.

[0022] The control processing unit 211 controls the target object by transmitting control signals to it. The control processing unit 211 also receives inquiries from the information acquisition unit 11 of the monitoring device 1. In response to inquiries from the information acquisition unit 11 of the monitoring device 1, the control processing unit 211 reads performance measurement values ​​from the storage unit 22 and outputs performance measurement value information indicating the performance measurement values ​​to the information acquisition unit 11. Add-ons 212, 213, 214, and 215 add new functions to the control processing unit 211's function of controlling the target object. Add-ons 212, 213, 214, and 215 also store performance measurement values ​​in the storage unit 22 at each calculation cycle. The storage unit 22 is configured as a shared memory 205.

[0023] Here, we will explain the data flow from the add-ons to the shared memory using Figure 5. As shown in Figure 5, add-ons 212, 213, 214, and 215 write their own add-on IDs and performance measurement values ​​to the storage unit 22 (shared memory 205) at each calculation cycle. In this way, by having the add-ons simply write their own IDs and performance measurement values ​​without processing the data, the processing time related to recording performance measurement values ​​can be shortened, and a decrease in the add-on's performance can be prevented.

[0024] Next, using Figure 6, the processing performed by the add-ons for each calculation cycle will be explained. As shown in Figure 6, add-ons A1, A2, A3, and A4 perform specific processing for each of the first, second, and third calculation cycles of processors 201, 202, and 203, respectively, and store the execution time of each in the storage unit 22. In the example in Figure 6, the first cycle is a cycle in which one unit time (for example, 31.25 [μs]) is added to the reference time. Similarly, the second cycle is a cycle in which two unit time is added to the reference time. The third cycle is a cycle in which four unit time is added to the reference time. The time width added to the reference time does not necessarily have to be one unit time, two unit time, or four unit time; for example, it can be a positive integer multiple of a unit time, such as three unit time or ten unit time. As shown in Figure 7, the storage unit 22 stores a combination of the add-on ID and the performance measurement value for each calculation cycle.

[0025] Here, the data flow in the monitoring system 100 will be explained using Figure 8. When the monitoring function unit 12 of the monitoring device 1 receives a monitoring start command from the user, for example, it sends an information acquisition request to the information acquisition unit 11 requesting the acquisition of performance measurement values ​​of the add-ons to be displayed on the monitoring screen. The information acquisition request includes the add-on ID of the add-on to be displayed on the monitoring screen. When the information acquisition unit 11 receives the information acquisition request, it queries the control processing unit 211 of the controller 2 for the performance measurement values ​​of the add-on with the add-on ID included in the information acquisition request.

[0026] The control processing unit 211 of the controller 2 requests the storage unit 22 to store the performance measurement values ​​corresponding to the add-on IDs queried by the information acquisition unit 11. The storage unit 22 sends the performance measurement values ​​of all add-ons for the add-on IDs requested by the control processing unit 211 back to the control processing unit 211. The control processing unit 211 aggregates the received add-on performance measurement values ​​by add-on ID for each calculation cycle. The control processing unit 211 sends the performance measurement value information, which shows the aggregated add-on performance measurement values ​​for each calculation cycle, to the information acquisition unit 11. The information acquisition unit 11 obtains the performance measurement value information in response to the query from the control processing unit 211 and sends it to the monitoring function unit 12. Based on the performance measurement value information received from the information acquisition unit 11, the monitoring function unit 12 displays a monitoring screen that shows the performance measurement values ​​for each add-on for each calculation cycle.

[0027] By having the monitoring device 1 query the controller 2 only for the performance measurement values ​​of the add-ons displayed on the monitoring screen, and obtaining performance measurement information from the controller 2 that shows the performance measurement values ​​of the add-ons aggregated by add-on ID for each calculation cycle, the communication load between the monitoring device 1 and the controller 2 can be reduced. In addition, the control processing unit 211 can reduce the processing load by aggregating the performance measurement values ​​for each calculation cycle only for the queryed add-on IDs, compared to aggregating for each calculation cycle for all add-ons. Furthermore, by storing the performance measurement values ​​of all add-ons in the storage unit 22, it is possible to prevent situations where necessary performance measurement values ​​cannot be obtained.

[0028] To further reduce the processing load of the control processing unit 211, the monitoring device 1 may perform the aggregation of performance measurement values ​​for each add-on ID per calculation cycle, although this will increase the communication load between the monitoring device 1 and the controller 2. In this case, the information acquisition unit 11 of the monitoring device 1 acquires performance measurement information showing all performance measurement values ​​corresponding to the add-on IDs queried from the controller 2 and sends it to the monitoring function unit 12. Based on the performance measurement information received from the information acquisition unit 11, the monitoring function unit 12 aggregates the performance measurement values ​​for each add-on ID per calculation cycle and generates a monitoring screen that displays the aggregated performance measurement values ​​along with the corresponding add-on names. At this time, if there are performance measurement values ​​for add-on IDs that the monitoring device 1 does not store, the add-on names are grouped together as "Other Add-ons" as shown in Figure 4, and the performance measurement values ​​are aggregated for each calculation cycle. Add-on IDs that the monitoring device 1 does not store are, for example, the IDs of add-ons that the user later added to the controller 2.

[0029] Here, the startup process performed by controller 2 will be explained using Figure 9. The startup process shown in Figure 9 begins when controller 2 starts up. Controller 2 reads the add-on file stored in general-purpose memory 204 (step S11) and generates an add-on ID (step S12). Controller 2 obtains the add-on name from the add-on file (step S13), associates the add-on ID with the add-on name, and stores it in general-purpose memory 204 (step S14). Controller 2 places the add-on execution code in general-purpose memory 204 (step S15), associates the allocated address with the add-on name and add-on ID, and stores it in general-purpose memory 204 (step S16). Controller 2 starts the execution of the add-on (step S17) and then finishes the process.

[0030] The add-on execution process performed by controller 2 will be explained using Figure 10. Processors 201, 202, and 203 of controller 2 each store the start time of processing in the shared memory 205 for each calculation cycle (step S21), and then execute the add-on processing (step S22). Processors 201, 202, and 203 each store the difference between the start time and the end time of processing as a performance measurement value in the shared memory 205 (step S23). Steps S21 to S23 are repeated for each calculation cycle. Note that in step S23, add-ons 212, 213, 214, and 215 may be configured to store both the start time and end time of processing in the shared memory 205. In this case, the control processing unit 211 performs a process to calculate the performance measurement value from the difference between the start time and the end time of processing.

[0031] Next, the startup process performed by the monitoring device 1 will be explained using Figure 11. The startup process shown in Figure 11 begins when the monitoring device 1 is started. The monitoring device 1 reads the add-on name stored in advance (step S31), and obtains the add-on ID corresponding to the read add-on name from the controller 2 (step S32). The monitoring device 1 stores the add-on ID obtained from the controller 2 in association with the add-on name (step S33), and then terminates the process.

[0032] The flow of the monitoring process performed by the monitoring device 1 will be explained using Figure 12. The monitoring process shown in Figure 12 starts, for example, when a monitoring start command is input from the user. The monitoring function unit 12 of the monitoring device 1 sends an information acquisition request to the information acquisition unit 11 requesting the acquisition of performance measurement values ​​of the add-on to be displayed on the monitoring screen (step S41). The information acquisition request includes the add-on ID of the add-on to be displayed on the monitoring screen. The information acquisition unit 11 queries the control processing unit 211 of the controller 2 for the performance measurement values ​​of the add-on with the add-on ID included in the information acquisition request (step S42).

[0033] If the information acquisition unit 11 does not acquire performance measurement value information in response to an inquiry from the control processing unit 211 (step S43; NO), it repeats step S43 and waits for the acquisition of performance measurement value information. When the information acquisition unit 11 acquires performance measurement value information in response to an inquiry from the control processing unit 211 (step S43; YES), it sends it to the monitoring function unit 12. Based on the performance measurement value information received from the information acquisition unit 11, the monitoring function unit 12 displays a monitoring screen that shows the performance measurement value for each calculation cycle for each add-on (step S44).

[0034] If the monitoring screen is not closed (step 45; NO) and the displayed add-on is not changed (step S46; NO), the process returns to step S45 and repeats steps S45 and S46. If the displayed add-on is changed (step S46; YES), the process returns to step S41 and repeats steps S41 to S45. If the monitoring screen is closed (step 45; YES), the process terminates.

[0035] According to the monitoring system 100 of Embodiment 1, by making the performance measurement values ​​of the add-ons of the controller 2 that control the target object by program available for monitoring by the monitoring device 1, the performance of add-ons that need improvement can be precisely tuned, and the time required to improve the performance of the controller 2's add-ons can be reduced.

[0036] (Embodiment 2) In Embodiment 2, the monitoring device 1 has an AI (Artificial Intelligence) function that uses a trained model that has learned the changes in the performance measurements of the add-on due to parameter changes to suggest improvement measures for the performance measurements of the add-on on the monitoring screen. The following mainly describes the differences between Embodiment 2 and Embodiment 1.

[0037] The functional configuration of the monitoring device 1 and controller 2 according to Embodiment 2 will be explained with reference to Figure 13. The functional configuration of the controller 2 in Embodiment 2 is the same as in Embodiment 1. In addition to the information acquisition unit 11, the monitoring function unit 12, and the information output unit 13, the functional configuration of the monitoring device 1 in Embodiment 2 includes an AI function unit 14 that takes the performance measurement values ​​of the add-on as input and outputs improvement measures for the performance measurement values ​​of the add-on.

[0038] The AI ​​function unit 14 uses a trained model that has learned improvement measures for add-on parameters through reinforcement learning based on past improvement examples. Figure 14 is a schematic diagram showing reinforcement learning of improvement measures for add-on parameters by AI. When the agent changes the add-on parameters of the controller 2, the performance measurement value of the add-on is output. The greater the improvement compared to the performance measurement value before the parameter change, the higher the reward generated and given to the agent. If the performance measurement value of the add-on is execution time, the improvement amount is the amount by which the total execution time of the add-on is reduced. This is repeated to generate a trained model that has learned improvement measures for add-on parameters.

[0039] Returning to Figure 13, the AI ​​function unit 14 inputs the performance measurement values ​​of the add-on, as indicated by the performance measurement information acquired by the information acquisition unit 11, into a trained model that has learned improvement measures for the add-on parameters, and obtains improvement measures for the add-on parameters. The AI ​​function unit 14 sends the improvement measures for the add-on parameters to the monitoring function unit 12. Based on the improvement measures for the add-on parameters received from the AI ​​function unit 14, the monitoring function unit 12 displays the improvement measures for the add-on parameters in relation to the add-on's performance measurement values ​​on the monitoring screen.

[0040] The display of parameter improvements for add-ons, for example as shown in Figure 15, shows improvements that improve the performance metrics of all add-ons as advice, and improvements that improve the overall performance metrics but include add-ons whose performance metrics worsen as suggestions.

[0041] Here, the improvement measure presentation process executed by the AI function unit 14 and the monitoring function unit 12 of the monitoring device 1 will be described with reference to FIG. 16. The improvement measure presentation process shown in FIG. 16 starts when the information acquisition unit 11 acquires performance measurement value information corresponding to an inquiry from the control processing unit 211. The AI function unit 14 inputs the performance measurement value of the add-on indicated by the performance measurement value information acquired by the information acquisition unit 11 into the learned model that has learned the improvement measures for the parameters (step S51), and obtains the improvement measures for the parameters related to the add-on (step S52). The AI function unit 14 sends the improvement measures for the parameters related to the add-on to the monitoring function unit 12.

[0042] The monitoring function unit 12 determines whether or not the performance measurement values of all add-ons are improved with respect to the improvement measures for the parameters related to the add-ons received from the AI function unit 14 (step S53). If the performance measurement values of all add-ons are improved (step S53; YES), the improvement measures are displayed on the monitoring screen as advice (step S54), and the process proceeds to step S56. If there are add-ons whose total performance measurement value is improved but whose performance measurement value deteriorates (step S53; NO), the improvement measures are displayed on the monitoring screen as suggestions (step S55). If not all improvement measures have been displayed (step S56; NO), the process returns to step S53, and steps S53 to S56 are repeated. If all improvement measures have been displayed (step S56; YES), the process ends.

[0043] Note that if the display of the improvement measures for the parameters related to the add-on is not separated into advice and suggestions, the determination process in step S53 is unnecessary.

[0044] According to the monitoring system 100 according to the second embodiment, the performance measurement value of the add-on of the controller 2 that controls the object by the program can be monitored by the monitoring device 1, and by presenting the improvement measures for the parameters related to the add-on by the AI function, the working time for improving the performance of the add-on of the controller 2 can be further reduced.

[0045] In the above-described Embodiments 1 and 2, the monitoring device 1 displays a monitoring screen for displaying the performance measurement values of the add-ons. However, the present invention is not limited to this. The controller 2 records not only the performance measurement values of the add-ons 212, 213, 214, and 215 but also the performance measurement value of the control processing unit 211. The monitoring device 1 may be configured to display not only the performance measurement values of the add-ons but also the performance measurement value of the control processing unit 211 on the monitoring screen.

[0046] The hardware configuration of the monitoring device 1 will be described with reference to FIG. 17. As shown in FIG. 17, the monitoring device 1 includes a temporary storage unit 301, a storage unit 302, a calculation unit 303, an input unit 304, a transmission / reception unit 305, and a display unit 306. The temporary storage unit 301, the storage unit 302, the input unit 304, the transmission / reception unit 305, and the display unit 306 are all connected to the calculation unit 303 via a BUS.

[0047] The calculation unit 303 is, for example, a CPU (Central Processing Unit). The calculation unit 303 executes the processing of the monitoring function unit 12 according to the control program stored in the storage unit 302.

[0048] The temporary storage unit 301 is, for example, a RAM (Random-Access Memory). The temporary storage unit 301 loads the control program stored in the storage unit 302 and is used as a work area for the calculation unit 303.

[0049] The storage unit 302 is a non-volatile memory such as a flash memory, a hard disk, a DVD-RAM (Digital Versatile Disc - Random Access Memory), or a DVD-RW (Digital Versatile Disc - ReWritable). The storage unit 302 stores in advance a program for causing the calculation unit 303 to perform the processing of the monitoring device 1. Further, in accordance with an instruction from the calculation unit 303, the storage unit 302 supplies the data stored in this program to the calculation unit 303 and stores the data supplied from the calculation unit 303.

[0050] The input unit 304 is an interface device that connects input devices such as a keyboard, pointing device, and voice input device to the BUS. Information entered by the user is supplied to the calculation unit 303 via the input unit 304. In a configuration where the user inputs a monitoring start command to the monitoring function unit 12, the input unit 304 functions as the monitoring function unit 12.

[0051] The transmitting / receiving unit 305 is a network termination device or wireless communication device connected to a network, and a serial interface or LAN (Local Area Network) interface connected to them. Information entered by the user is supplied to the calculation unit 303 via the input unit 304. The transmitting / receiving unit 305 functions as an information acquisition unit 11. In a configuration where the information output unit 13 transmits a monitoring screen to a terminal used by the user, the transmitting / receiving unit 305 functions as an information output unit 13.

[0052] The display unit 306 is a display device such as an LCD (Liquid Crystal Display) or an organic EL (electroluminescence) display. In a configuration where the information output unit 13 displays a monitoring screen, the display unit 306 functions as the information output unit 13.

[0053] The processing of the information acquisition unit 11, monitoring function unit 12, information output unit 13, and AI function unit 14 of the monitoring device 1 shown in Figures 3 and 13 is performed by a control program that uses resources such as the temporary storage unit 301, calculation unit 303, storage unit 302, input unit 304, transmission / reception unit 305, and display unit 306 for processing.

[0054] Furthermore, the aforementioned hardware configuration and flowchart are examples only and can be changed and modified as needed.

[0055] The core components of the monitoring device 1, such as the calculation unit 303, temporary storage unit 301, storage unit 302, input unit 304, transmission / reception unit 305, and display unit 306, can be implemented using a standard computer system, rather than a dedicated system. For example, the monitoring device 1 that performs the above operations may be configured by distributing a computer-readable recording medium such as a flexible disk, CD-ROM (Compact Disc - Read Only Memory), or DVD-ROM (Digital Versatile Disc - Read Only Memory) and installing the computer program on a computer. Alternatively, the monitoring device 1 may be configured by storing the computer program on a storage device of a server on a communication network such as the Internet and downloading it from a standard computer system.

[0056] Furthermore, if the functions of the monitoring device 1 are realized through a division of labor between the OS (Operating System) and the application program, or through cooperation between the OS and the application program, then only the application program portion may be stored on the recording medium or storage device.

[0057] Furthermore, it is possible to superimpose a computer program onto the carrier wave and provide it via a communication network. For example, the computer program may be posted on a bulletin board system (BBS) on the communication network and provided via the communication network. The system may then be configured to execute the aforementioned processing by starting this computer program and running it under the control of the OS, just like other application programs.

[0058] Furthermore, this disclosure allows for various embodiments and modifications without departing from its broad spirit and scope. The embodiments described above are for illustrative purposes only and do not limit the scope of this disclosure. That is, the scope of this disclosure is indicated by the claims, not by the embodiments. Various modifications made within the scope of the claims and the equivalent significance of the disclosure are considered to be within the scope of this disclosure.

[0059] 1 Monitoring device, 2 Controller, 11 Information acquisition unit, 12 Monitoring function unit, 13 Information output unit, 14 AI function unit, 21 Processing unit, 22 Storage unit, 100 Monitoring system, 201-203 Processor, 204 General-purpose memory, 205 Shared memory, 206 External interface, 211 Control processing unit, 212-215 Add-ons, 301 Temporary storage unit, 302 Storage unit, 303 Calculation unit, 304 Input unit, 305 Transmit / receive unit, 306 Display unit.

Claims

1. A controller for controlling an object by program, comprising: a control processing unit for controlling the object; an add-on for adding new functions to the functions of the control processing unit; and a storage unit for storing performance measurement values ​​of the add-on, wherein the add-on stores its performance measurement values ​​in the storage unit at each calculation cycle, and the control processing unit reads the performance measurement values ​​of the add-on from the storage unit and outputs performance measurement information indicating the read performance measurement values ​​of the add-on to a monitoring device.

2. The controller according to claim 1, wherein the storage unit stores an add-on ID that identifies the add-on and a performance measurement value of the add-on in association with each other, and the control processing unit receives an inquiry from the monitoring device, reads the performance measurement value of the add-on for the add-on ID included in the inquiry from the monitoring device from the storage unit, and outputs the performance measurement value information to the monitoring device.

3. The controller according to claim 2, which associates the add-on name, which is the name of the add-on, with the add-on ID, places the add-on's execution code in general-purpose memory, and executes the add-on.

4. The controller according to claim 2 or 3, wherein the add-ons are a plurality, and the control processing unit aggregates the performance measurement values ​​of the plurality of add-ons read from the storage unit for each calculation cycle, and outputs the performance measurement value information showing the aggregated performance measurement values.

5. A monitoring system comprising a controller and a monitoring device according to any one of claims 2 to 4, wherein the monitoring device obtains an add-on ID corresponding to a pre-stored add-on name from the controller, stores the obtained add-on ID in association with the add-on name, queries the controller for performance measurement values ​​of the add-on to be displayed on the monitoring screen, obtains performance measurement information in response to the query, and outputs the monitoring screen displaying the performance measurement values ​​of the add-on based on the performance measurement information.

6. A monitoring method performed by a computer, comprising: storing performance measurement values ​​measured at each calculation cycle for an add-on that adds a new function to a function that controls an object by a program; reading the stored performance measurement values ​​of the add-on, and generating a monitoring screen that displays the performance measurement values ​​of the add-on based on the performance measurement information that shows the read performance measurement values ​​of the add-on; and outputting the monitoring screen.

7. A program that causes a computer connected to a controller that stores performance measurement values ​​of an add-on, which adds a new function to a function that controls an object by program, measured at each calculation cycle, to function as: an information acquisition unit that queries the controller for performance measurement values ​​of the add-on to be displayed on a monitoring screen and acquires performance measurement information indicating the performance measurement values ​​of the add-on in response to the query; a monitoring function unit that generates the monitoring screen that displays the performance measurement values ​​of the add-on based on the performance measurement information; and an information output unit that outputs the monitoring screen.

8. The program according to claim 7, wherein the monitoring function unit displays the performance measurement values ​​of the add-on indicated by the performance measurement information obtained from the controller on the monitoring screen along with the add-on name which is the name of the add-on, and for add-ons for which there is no corresponding add-on name, the performance measurement values ​​are displayed together on the monitoring screen with the add-on name as "other add-ons".

9. The program according to claim 7 or 8, wherein the computer is further configured to function as an AI function unit that outputs improvement measures for the parameters of the add-on, taking the performance measurement values ​​of the add-on indicated by the performance measurement information as input, using a trained model that has learned improvement measures for the parameters of the add-on by reinforcement learning from past improvement cases, and the monitoring function unit displays the improvement measures for the parameters of the add-on output by the AI ​​function unit on the monitoring screen.