Engineering tool and computer program
The engineering tool facilitates seamless mode transitions in PLC systems by transferring and matching monitoring targets, addressing the inefficiencies in existing systems by ensuring continuous display of relevant information without user intervention.
Patent Information
- Application Number
- JP2024024323
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2025-09-02
AI Technical Summary
Existing programmable logic controller (PLC) systems lack the ability to seamlessly transition between history playback and real-time playback modes without requiring users to reinitialize display settings and check for target data, leading to inefficiencies in mode switching.
An engineering tool that includes a current data acquisition unit, history data acquisition unit, reception unit, and a management unit that transfers and matches monitoring targets between display modes, ensuring continuous display of relevant information during mode transitions.
Enables smooth transition between display modes by carrying over information, reducing the need for users to reset monitor targets, thereby enhancing usability and efficiency.
Smart Images

Figure 2025127559000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an engineering tool and a computer program. [Background technology]
[0002] A programmable logic controller (PLC) is a controller used in factory automation to control manufacturing equipment, conveying equipment, and inspection equipment. PLCs control various expansion units and controlled devices by executing user programs, such as ladder programs created by the user. When a user program is actually run on a PLC, an issue that was not anticipated when the user program was created may be discovered, requiring the user program to be modified. In order to identify areas to modify, users not only review the user program but also refer to the log data generated by the PLC. The log data stores device values (device values) collected when the user program is running. In the field of PLCs, a device refers to a memory area that stores information. Devices include relay devices that store one bit of information and word devices that store one word of information.
[0003] Patent Document 1 proposes that a screen for viewing a PLC user program and a screen for viewing device log data can be switched back and forth. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2020-013528 Summary of the Invention [Problem to be solved by the invention]
[0005] It would be convenient for users if they could switch between history playback mode, which displays historical data previously recorded in a PLC, and real-time playback mode, which displays the current device values of an operating PLC in real time. However, the device values displayed in history playback mode are not associated with the device values displayed in real-time playback mode. Therefore, when a user switches from history playback mode to real-time playback mode or vice versa, even if the display settings are the same, the display targets are different, so it is necessary to check whether the target data exists. Therefore, initialization is required when switching modes.
[0006] Therefore, an object of the present invention is to carry over information to be displayed when switching between a plurality of display modes. [Means for solving the problem]
[0007] The present invention is, for example, 1. An engineering tool connected to a programmable logic controller, comprising: a current data acquisition unit that sequentially acquires current input / output data in the programmable logic controller; a history data acquisition unit that acquires, as history data, the input / output data recorded in chronological order along with time information based on an event; a receiving unit that receives designation of input / output data to be monitored; a generation unit that, in a first mode, sequentially acquires the input / output data designated through the reception unit by the current data acquisition unit and displays the input / output data in a time-series graph, and, in a second mode, generates a graph screen that displays, in a time-series graph, the input / output data designated through the reception unit among the input / output data acquired by the history data acquisition unit; a monitoring target management unit that, when switching from one of the first mode and the second mode to the other mode, transfers information specifying the monitoring target in the one mode to the other mode, and matches the monitoring target between the one mode and the other mode based on the information; The present invention provides an engineering tool having the following features. [Effects of the Invention]
[0008] According to the present invention, it is possible to carry over information to be displayed when switching between a plurality of display modes. [Brief explanation of the drawings]
[0009] [Figure 1] Diagram explaining a PLC system [Figure 2] Diagram explaining the engineering tool (setting support device) [Figure 3] Diagram explaining the basic unit [Figure 4] Diagram explaining the expansion unit [Figure 5] Diagram explaining the expansion unit [Figure 6] A diagram explaining the functions realized by the CPU [Figure 7] Diagram explaining the user interface [Figure 8] Diagram explaining the user interface [Figure 9] Diagram explaining the user interface [Figure 10] Diagram explaining the user interface [Figure 11] Flowchart showing the steps executed by the CPU [Figure 12] Flowchart showing the steps executed by the CPU [Figure 13] Diagram explaining the user interface [Figure 14] Diagram explaining the user interface [Figure 15]Diagram explaining the user interface DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention as claimed, and not all combinations of features described in the embodiments are necessarily essential to the invention. Two or more of the features described in the embodiments may be arbitrarily combined. Furthermore, the same reference numerals are used for the same or similar components, and redundant explanations will be omitted.
[0011] <PLCシステム> FIG. 1 shows an example of the configuration of a programmable logic controller system (hereinafter referred to as PLC system 1) according to an embodiment of the present invention. As shown in FIG. 1, this PLC system 1 includes a PC (computer) that is a setting support device for editing user programs such as ladder programs; a base unit 3 that is a PLC (programmable logic controller) for comprehensively controlling various control devices installed in a factory or the like; and multiple expansion units 4a-4c. The multiple expansion units 4a-4c are used to expand the functions of the base unit 3, such as a motion unit, motor driver, motor amplifier, I / O unit, analog input unit, analog output unit, communication unit, and counter unit. When the multiple expansion units 4a-4c are each a motion unit, the expansion units 4a-4c supply power to motors 10a-10c and control the amount of rotation and other parameters in accordance with commands from the base unit 3. The motors 10a, 10b, and 10c drive a load to be controlled. The motors 10a-10c may be, for example, servo motors or stepping motors. The expansion unit 4c may have a camera 47 to capture images of the motion unit working and the workpiece, and store the image data. The expansion unit 4c may also be a data collection unit or a data utilization unit that collects and records various data from the PLC system 1 and is used for maintaining the PLC system 1.
[0012] The user program created by PC2, which is a setting support device, may be created using a graphical programming language such as a ladder language or a flowchart-format motion program, or may be created using a high-level programming language such as C language.
[0013] In the PLC system 1, the basic unit 3 has a CPU that controls one or more expansion units 4, and is therefore sometimes referred to as a CPU unit. The basic unit 3 has a display unit 5 and an operation unit 6. The display unit 5 can display the operating status of the expansion units 4a to 4c. The display unit 5 may switch the display content depending on the operation of the operation unit 6. The display unit 5 typically displays the current values (device values) of devices in the PLC system 1, values (buffer values) stored in the buffer memory of the expansion unit 4, error information (presence or absence of alarms or warnings) occurring in the PLC system 1, and device values and buffer values (historical data) acquired before and after the occurrence of an event such as an error. A device is a memory area provided for storing device values (device data) and is sometimes called a data memory (DM) or device memory. Device values are information indicating the input status from input devices, the output status to output devices, and the status of internal relays (auxiliary relays), timers, counters, data memories, etc. set in a user program. Device values are classified into bit and word types. A bit device stores a 1-bit device value. A word device stores a one-word device value.
[0014] The PC2 is a computer that provides a development environment for the PLC system 1. The PC2 is, for example, a portable notebook or tablet personal computer, and is equipped with a display unit 7 and an operation unit 8. A ladder program, which is an example of a user program for controlling the PLC system 1, is created using the PC2. The created ladder program is converted into mnemonic code within the PC2. The PC2 is connected to the basic unit 3 of the PLC system 1 via a communication cable 9a such as a universal serial bus (USB) and sends the ladder program converted into mnemonic code to the basic unit 3. The basic unit 3 converts the ladder program into machine code and stores it in a memory provided in the basic unit 3. Note that, although the mnemonic code is transmitted to the basic unit 3 in this example, the present invention is not limited to this. For example, the PC2 may convert the mnemonic code into intermediate code and transmit the intermediate code to the basic unit 3.
[0015] Although not shown in FIG. 1, the operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2. The PC 2 may also be configured to be detachably connected to the basic unit 3 via a communication cable 9a other than USB. The PC 2 may also be connected to the basic unit 3 wirelessly, without using the communication cable 9a. In this case, the communication cable 9a may be understood to represent a wireless link.
[0016] The basic unit 3 and expansion unit 4a are connected by a communication cable 9b and can communicate with each other via the communication cable 9b. The expansion units 4a and 4b are connected by a communication cable 9c and can communicate with each other via the communication cable 9c. The expansion unit 4b can communicate with the basic unit 3 via the communication cables 9b and 9c. The expansion units 4b and 4c are connected by a communication cable 9d and can communicate with each other via the communication cable 9d. Furthermore, the expansion unit 4c can communicate with the basic unit 3 via the communication cables 9b, 9c, and 9d.
[0017] In the following, when common matters regarding the extension units 4a to 4c are described, they will be referred to as extension unit 4. Similarly, when common matters regarding the motors 10a to 10c are described, they will be referred to as motor 10.
[0018] <Setting support device> FIG. 2 is a block diagram illustrating the electrical configuration of a PC 2 that operates as a setting support device. The PC 2 may also be called an engineering tool or a program creation support device. As shown in FIG. 2, the PC 2 includes a CPU 11, a display unit 7, an operation unit 8, a storage device 12, and a communication unit 13. The display unit 7, the operation unit 8, the storage device 12, and the communication unit 13 are each electrically connected to the CPU 11. The storage device 12 includes RAM, ROM, HDD, and SSD, and may also include a removable memory card 14. In this example, the memory card 14 is inserted into a memory card reader 15, and data is read and written through the memory card reader 15. CPU is an abbreviation for central processing unit. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory. HDD is an abbreviation for hard disk drive. SSD is an abbreviation for solid-state drive.
[0019] A user of the PC 2 causes the CPU 11 to execute the setting program 21 stored in the storage device 12, edits the user program 22 via the operation unit 8, and transmits the user program 22 to the basic unit 3. The user program 22 may be a ladder program, a motion program, or the like. The setting program 21 may store configuration information of the PLC system 1 in the setting data 24. The configuration information may include information indicating the connection positions of multiple expansion units 4 relative to the basic unit 3, information indicating the functions (e.g., communication function and positioning function) provided in the basic unit 3, information indicating the functions of the expansion units 4, and device allocation information. The user program 22 and the configuration information of the PLC system 1 are part of the project data. Here, editing the project data includes creating and changing (re-editing) the project data. The user reads out the project data stored in the storage device 12 as needed and changes the project data using the setting program 21.
[0020] The CPU 11 accesses the basic unit 3 through the communication unit 13 in accordance with the monitor program 23, acquires current values (current data) of devices, etc., creates a graph, and displays the graph on the display unit 7. The CPU 11 accesses the expansion unit 4 through the communication unit 13 in accordance with the monitor program 23, acquires current values (current data) of buffer values, creates a graph, and displays the graph on the display unit 7, or acquires image data and displays it on the display unit 7. Furthermore, the CPU 11 accesses the data collection unit 100 (expansion unit 4c) through the communication unit 13 in accordance with the monitor program 23, acquires historical data, creates a graph, and displays the graph on the display unit 7. Alternatively, the CPU 11 accesses the memory card 14 through the memory card reader 15 in accordance with the monitor program 23, acquires historical data, creates a graph, and displays the graph on the display unit 7. If the historical data includes image data, an image based on the image data may be displayed on the display unit 7. The historical data collected by the basic unit 3 or the data collection unit 100 is written to the memory card 14. In this way, the history data may be transferred from the basic unit 3 or the data collection unit 100 to the PC 2 by communication, or may be passed from the basic unit 3 or the data collection unit 100 to the PC 2 via the memory card 14.
[0021] The communication unit 13 communicates with the basic unit 3 and the data collection unit 100 via the communication cable 9a. The CPU 11 transfers project data (user program 22, configuration information, etc.) to the basic unit 3 via the communication unit 13. The communication unit 13 includes a communication circuit capable of performing communication compliant with the USB standard, a communication circuit for performing wired LAN communication, and a communication circuit for performing wireless LAN communication. LAN is an abbreviation for local area network.
[0022] <Basic unit> FIG. 3 shows the hardware configuration of the basic unit 3. The CPU 31 writes information to and reads information from the memory 32. The memory 32 includes RAM, ROM, HDD, and SSD, and may further include a removable memory card 14. The memory 32 may include a ROM area for storing project data created and transferred by the PC 2. The project data includes the user program 22 and configuration information. The memory 32 includes a device memory 38 for storing device values and a variable memory 39 for storing variables. The CPU 31 receives information input from the operation unit 6. The CPU 31 displays various information on the display unit 5.
[0023] The CPU 31 connects to the PC 2 via the communication unit 33a, and also connects to the expansion unit 4 via the communication unit 33b to perform communication. The communication unit 33a is, for example, a communication circuit compatible with USB. The communication unit 33b is a communication circuit capable of executing communication compatible with industrial Ethernet protocols (e.g., EtherCAT, EtherNet / IP, PROFINET, MECHATROLINK-III).
[0024] The program execution unit 34 is an arithmetic processing circuit that executes a user program stored in the memory 32. The program execution unit 34 updates device values stored in the device memory 38 in accordance with the user program, and updates variables stored in the variable memory 39. The program execution unit 34 may be implemented in a CPU different from the CPU 31.
[0025] The current data providing unit 35 reads the current values of devices stored in the device memory 38 and the current values of variables stored in the variable memory 39, and displays them on the PC 2 via the communication unit 33a. The history data providing unit 36 acquires history data (e.g., device values, buffer values, image data, error information) from the basic unit 3 or the expansion unit 4 using the history acquisition unit 37, and stores the data in the memory 32, the memory card 14, or transmits the data to the PC 2 via the communication unit 33a. The history data providing unit 36 and the history acquisition unit 37 may be implemented in the data collection unit 100. The history acquisition unit 37 may acquire history data using a predetermined event (e.g., the occurrence of an error or alarm) as a trigger. The history acquisition unit 37 assigns time information to each piece of history data, indicating the time the history data was acquired.
[0026] <Expansion unit> (1) Expansion units such as motion units 4 shows the hardware configuration of the expansion unit 4. The CPU 41 writes information to and reads information from the memory 42. The memory 42 includes RAM, ROM, HDD, and SSD, and may further include a removable memory card. The memory 42 may have a buffer memory 46. The buffer memory 46 stores, for example, the coordinates of the load controlled by the motor 10 and data used for calculations performed inside the expansion unit 4.
[0027] The CPU 41 communicates with the basic unit 3 and other expansion units 4 via the communication unit 43. The communication unit 43 is a communication circuit capable of performing communication compatible with industrial Ethernet protocols (e.g., EtherCAT, EtherNet / IP, PROFINET, MECHATROLINK-III). The communication unit 43 is capable of performing cyclic communication and message communication. Motor control data (e.g., cam control data) is sent from the basic unit 3 via cyclic communication.
[0028] The input / output unit 44 includes input terminals and input circuits to which limit switches and the like are connected, and output circuits and output terminals that output information to the outside. The motor drive circuit 45 is controlled by the motor control unit 49 and supplies power and a control signal for driving the motor 10 to the motor 10. Note that the power to the motor 10 may be supplied from an external power source.
[0029] The current data providing unit 48 of the CPU 41 acquires the current buffer value (current data) stored in the buffer memory 46 and transmits it to the PC 2 through the communication unit 43. Further, the current data providing unit 48 may transmit the image data acquired by the camera 47 to the PC 2 through the communication unit 43. Note that the motor control unit 49, the motor drive circuit 45, and the camera 47 are optional.
[0030] (2) Expansion unit as a data collection unit FIG. 5 shows an expansion unit 4 that functions as a data collection unit 100. Among the components shown in FIG. 5, the same reference numerals are assigned to the components already described in FIG. 4, and the description thereof is incorporated herein by reference.
[0031] The CPU 41 has the history data providing unit 36 and the history acquisition unit 37 described above. The history acquisition unit 37 communicates with the basic unit 3 and other expansion units 4 through the communication unit 43, acquires device values, variable values, buffer values, image data, etc., and stores them in the memory 42 or writes them to the memory card 14. The history data providing unit 36 communicates with the PC 2 via the communication unit 43, reads out the history data from the memory 42, and transmits it to the PC 2. The data collection unit 100 may include the image data acquired by the camera 47 in the history data.
[0032] <Function of the CPU of the PC> FIG. 6 shows functions realized by the CPU 11 executing the monitor program 23. The reception unit 51 receives the designation of input / output data to be monitored, input by the user via the operation unit 8. The current data acquisition unit 53a sequentially acquires current input / output data (e.g., device values, buffer values, image data) in the PLC system 1. This input / output data is acquired, for example, from the basic unit 3 or the expansion unit 4. The history data acquisition unit 53b acquires, as history data, input / output data recorded in chronological order along with time information based on the occurrence of a predetermined event. This history data is acquired, for example, from the basic unit 3, the data collection unit 100, or the memory card 14. The UI unit 54 generates graphs from the current data and history data and displays the graphs on the display unit 7. UI is an abbreviation for user interface. The UI unit 54 may have multiple display modes. For example, in a first mode (e.g., current value mode), the UI unit 54 has a current graph generation unit 55 that sequentially acquires input / output data specified through the reception unit 51 using the current data acquisition unit 53a and displays the input / output data in a time-series graph. In a second mode (e.g., history mode), the UI unit 54 may have a history graph generation unit 56 that generates a graph screen that displays, in a time-series graph, the history data acquired by the history data acquisition unit 53b. In the second mode (e.g., history mode), the history graph generation unit 56 may generate a graph screen that displays, in a time-series graph, the input / output data specified through the reception unit 51, among the history data. The first mode may be called a normal mode or a current value mode. The second mode may be called a history mode or a replay mode.
[0033] The user issues a command to switch from one of the first and second modes to the other mode via the operation unit 8. At this time, the management unit 52 may transfer information specifying the monitor target in one mode to the other mode and, based on this information, match the monitor target between the one mode and the other mode. Generally, a user can select a desired mode from multiple modes and specify data to be monitored on the display screen of the desired mode, thereby displaying a graph of the desired data on the display screen. Therefore, when switching from one mode to the other, the user must re-specify the data to be monitored on the display screen of the other mode. Requiring the user to specify multiple monitor targets every time the mode is switched would be unusable. Therefore, usability is improved by the management unit 52 performing a monitor target transfer process. In other words, the burden on the user associated with re-specifying the monitor target when switching modes is reduced.
[0034] The management unit 52 may identify input / output data to be monitored in one mode based on information specifying a monitor target for the other mode. The management unit 52 may determine whether the identified input / output data can be acquired in the other mode. For example, it may be possible to acquire the current value of a device, but not record historical data for that device. This is because the setting of the historical target for the historical data was previously performed. In this way, if the identified input / output data cannot be acquired in the other mode, the management unit 52 may modify or create information specifying a monitor target for the other mode to exclude the identified input / output data from being monitored in the other mode.
[0035] In this way, when one mode is the first mode (current value mode) and the other mode is the second mode (history mode), input / output data that cannot be acquired in the other mode is input / output data that is not included in the history data.
[0036] The management unit 52 displays various screens on the display unit 7 through the UI unit 54. Based on information specifying the monitor targets for one mode, the management unit 52 may identify multiple input / output data to be monitored in the other mode and display a confirmation screen for the user to confirm whether or not to monitor each of the multiple input / output data. The management unit 52 and the reception unit 51 may receive, through the confirmation screen, designation of input / output data to be monitored or input / output data to be deleted from the monitor targets. Some users may wish to change some of the monitor targets between the previous mode and the new mode. Therefore, the confirmation screen may provide the user with an opportunity to select the monitor targets.
[0037] The UI unit 54 may display a graph screen for one mode and then display a graph screen for the other mode. In other words, the UI unit 54 may continue to display the graph screen for one mode while displaying the graph screen for the other mode on the display unit 7. This will allow the user to easily compare current data with historical data.
[0038] The UI unit 54 may generate a graph screen in which input / output data to be monitored in one mode is overlaid with the same input / output data to be monitored in another mode, thereby allowing the user to easily compare current data with historical data.
[0039] Some device values and buffer values may be obtainable from the current data acquisition unit 53a, while others may not. In this case, a mode displaying current data obtainable from the current data acquisition unit 53a may be referred to as a normal mode. A mode displaying current data obtainable by the special data acquisition unit 53c but not obtainable from the current data acquisition unit 53a may be referred to as a special mode. The special data acquisition unit 53c may function as a restricted data acquisition unit that sequentially acquires input / output data that the current data acquisition unit 53a is restricted from acquiring, among the current input / output data in the PLC system 1. The current graph generation unit 55 of the UI unit 54 is configured to generate a graph screen that displays, in a time series graph, input / output data specified through the reception unit 51, among the input / output data obtained by the special data acquisition unit 53c, in the third mode (e.g., special mode). When switching from one of the current value mode, history mode, and special mode to another mode, the management unit 52 may transfer information specifying the monitor target in the one mode to the other mode and, based on that information, match the monitor target between the one mode and the other mode. This reduces the user's burden of specifying the monitor target when switching between the three display modes. Note that the range of data accessible in the current value mode may be a portion of the range of data accessible in the special mode. In this case, the special mode can access all of the data accessible in the current value mode. On the other hand, the range of data accessible in the special mode may be a portion of the range of data accessible in the current value mode. Alternatively, the current value mode and the special mode may have a common accessible range, but each mode may have its own unique range that it can access. For example, one mode may be able to access both the device memory and the buffer memory, while the other mode may be able to access the device memory but not the buffer memory.Alternatively, the data memory may be divided into a first group, a second group, and a third group, and one mode may be able to access only the first group and the second group, and the other mode may be able to access only the second group and the third group.
[0040] The information specifying the monitored object includes display settings indicating at least one of the display format of the graph of the monitored object on the graph screen, the display color of the monitored object, the display range of the monitored object, the display position of the graph of the monitored object, and the scale of the graph of the monitored object. The display settings may be stored in the storage device 12 as part of the setting data 24. The management unit 52 may transfer the display settings of the monitored object in one mode to the display settings in the other mode.
[0041] <User Interface> (1) Current value mode 7 shows the monitor UI 70a in the current value mode. Here, it is assumed that the monitor program 23 has just been started and no monitoring target has yet been specified.
[0042] Button 71 is a button for selecting the current value mode. Button 72 is a button for selecting the special mode. Button 73 is a button for selecting the history mode. The user presses the desired button with pointer 103. In this example, button 71 is pressed, and the current value mode is selected. Note that buttons 71 to 73 for selecting the display mode may be realized by other controls, such as pull-down menus or tabs.
[0043] The graph area 74 is an area for displaying a graph of the data designated as the monitoring target. The device list area 75 is an area for displaying a list of the data designated as the monitoring target (device, buffer memory, image data (camera number)). The image area 76 is an area for displaying image data acquired by the camera 47.
[0044] FIG. 8 shows a monitor target setting UI 80. The setting UI 80 is called from a menu displayed by, for example, right-clicking the device list area 75 with the pointer 103. The monitor target setting unit 81 accepts settings for the data to be monitored, the program in which the data is written, the display format of the data, and the display color of the line representing the data in the graph. A check box 84 may be provided for selecting whether to display the data in the graph in logic format (0 or 1) or as an analog value. For example, when the check box 84 is checked, only the graph is displayed, and the analog value is not displayed. When the check box 84 is not checked, both the graph and the analog value may be displayed. A check box 85 may be provided for selecting whether to apply real-time scaling, which modifies the display range of the data (the range from the upper limit to the lower limit) in real time according to the maximum value of the data. When the check box 85 is checked and the data is fluctuating, the UI unit 54 automatically adjusts the display scale. A cancel button 82 is a button for canceling the settings entered in the monitor target setting unit 81. The OK button 83 is a button for saving the settings input to the monitor target setting section 81 in the setting data 24 .
[0045] FIG. 9 shows an example of the monitor UI 70a in current value mode. The device list area 75 indicates that five devices have been selected for monitoring. The graph area 74 displays a graph for each device. The name of the data may be displayed to the right of each graph. The graph area 74 may also display the latest value of each data item as a numerical value (analog value) along with the graph. In this example, image data acquired in real time by the camera 47 is displayed in the image area 76.
[0046] The special mode is a type of current value mode, and therefore the monitor UI for the special mode may be the same as the monitor UI 70a for the current value mode (normal mode).
[0047] (2) History mode Fig. 10 shows the monitor UI 70b in history mode. Most of the monitor UI 70b in history mode is common to the monitor UI 70a in current value mode and special mode. Here, it is assumed that the user has pressed button 73 in the UI 70a shown in Fig. 9, switching the display mode from current value mode to history mode. Also, it is assumed that the history data does not include some data (e.g., EEE) that can be acquired as the current value.
[0048] The management unit 52 references the current value mode settings included in the setting data 24 and identifies five monitor targets. The management unit 52 identifies data from the setting data 24 that has been preset as a history target. The management unit 52 determines whether the five monitor targets are history targets, i.e., whether the data for the five monitor targets is included in the history data. In this example, AAA to DDD are monitor targets and history targets. On the other hand, EEE is a monitor target but not a history target. Therefore, the management unit 52 creates handover information indicating that AAA to DDD will be taken over as monitor targets and stores it in the storage device 12. Furthermore, the management unit 52 selects AAA to DDD as monitor targets in the history mode based on the handover information. In other words, EEE is excluded or deleted from the monitor targets. The history graph generation unit 56 obtains history data for AAA to DDD from the memory card 14, the basic unit 3, the data collection unit 100, etc., creates graphs, and displays them in the graph area 74. In this example, four graphs are created from the history data of AAA to DDD and displayed in the graph area 74.
[0049] A sequence bar 77 that moves from left (past) to right (future) may be displayed in the graph area 74. The sequence bar 77 moves in conjunction with the time information of the history data. The image area 76 displays image data that was captured at the time closest to the time indicated by the sequence bar 77. The user can specify the history data that they wish to play back by moving the sequence bar 77 with the pointer 103. This allows the user to check, through images, events that occurred at a specific time.
[0050] <Flowchart> (1) Example 1 FIG. 11 shows the procedure that the CPU 11 executes in accordance with the monitor program 23.
[0051] In S1101, the CPU 11 (accepting unit 51) accepts an instruction to switch the display mode input by the user via the operation unit 8.
[0052] In S1102, the CPU 11 (management unit 52) refers to the setting of the display mode before switching and the setting of the display mode after switching. For example, when switching from current value mode to history mode, the monitor target in current value mode and the history target in history mode are referenced. When switching from current value mode to special mode, the monitor target in current value mode and the acquireable target in special mode are referenced. When switching from history mode to current value mode, the monitor target in history mode and the acquireable target in current value mode are referenced. When switching from history mode to special mode, the monitor target in history mode and the acquireable target in special mode are referenced. When switching from special mode to history mode, the monitor target in special mode and the history target in history mode are referenced. When switching from special mode to current value mode, the monitor target in special mode and the acquireable target in current value mode are referenced.
[0053] In S1103, the CPU 11 (management unit 52) identifies monitor targets that can be displayed in the switched display mode from among the monitor targets in the display mode before switching. Note that the management unit 52 may also identify monitor targets that cannot be displayed in the switched display mode from among the monitor targets in the display mode before switching.
[0054] In S1104, the CPU 11 (management unit 52) stores handover information indicating the identified monitoring targets in the storage device 12. The handover information may be part of the setting data 24, or the handover information may be stored in the storage device 12 as information independent of the setting data 24. The handover information includes, for example, information indicating monitoring targets that can be displayed in the switched display mode among the monitoring targets in the display mode before the change.
[0055] In S1105, the CPU 11 (management unit 52) updates the setting of the post-switching display mode based on the takeover information. For example, the management unit 52 sets the monitor target in the post-switching display mode based on the takeover information. For example, if the takeover information includes information specifying data AAA to DDD, the monitor target in the post-switching display mode is set to AAA to DDD.
[0056] In S1106, the CPU 11 (UI unit 54) displays the UI 70 (UI 70a or UI 70b) based on the setting of the switched display mode, and displays the data of the monitor target in the graph area 74 as a graph.
[0057] (2) Example 2 Figure 12 shows another procedure executed by the CPU 11 in accordance with the monitor program 23. Among the procedures shown in Figure 12, procedures common to the procedures shown in Figure 11 are given the same reference numerals, and the description thereof is incorporated herein by reference. The second embodiment differs from the first embodiment in that, if there is a monitoring target that cannot be taken over when switching the display mode, the user is asked whether or not to continue switching the display mode. Here, S1103 and S1104 are replaced with S1201 to S1210.
[0058] In S1201, the CPU 11 (management unit 52) identifies monitor targets that cannot be displayed in the display mode after switching from among the monitor targets in the display mode before switching. For example, when switching from the current value mode to the history mode, a monitor target (e.g., EEE) that is not a history target from among the monitor targets in the current value mode is identified.
[0059] In S1202, the CPU 11 (management unit 52) determines whether or not the identified monitor target (i.e., a monitor target that cannot be displayed) exists. If no monitor target that cannot be displayed exists, the CPU 11 proceeds from S1202 to S1205. If a monitor target that cannot be displayed exists, the CPU 11 proceeds from S1202 to S1203.
[0060] In S1203, the CPU 11 (UI unit 54) displays a confirmation dialog 90 on the display unit 7. Fig. 13 shows an example of the confirmation dialog 90. The confirmation dialog 90 includes a message 91. The message 91 includes, for example, a message that a monitor target that cannot be continuously displayed has been found after switching the display mode, and an inquiry as to whether to continue switching the display mode.
[0061] In S1204, the CPU 11 (management unit 52) determines whether to continue switching the display mode based on a user instruction input via the operation unit. When the OK button 83 in the confirmation dialog 90 is pressed with the pointer 103, the management unit 52 determines to continue switching the display mode, and proceeds to S1205. When the cancel button 82 in the confirmation dialog 90 is pressed with the pointer 103, the management unit 52 determines to cancel switching the display mode, and proceeds to S1210. In S1210, the CPU 11 (management unit 52) cancels switching the display mode, and maintains the display mode before switching.
[0062] In S1205, the CPU 11 (management unit 52) creates handover information and saves it in the storage device 12. The handover information includes information indicating the monitoring targets that are to be carried over to the display mode after the switch from the monitoring targets in the display mode before the switch. Monitoring targets that are identified as not displayable are deleted and are not included in the handover information. Thereafter, the CPU 11 proceeds from S1205 to S1105.
[0063] <Other> (1) Display of camera images FIG. 14 shows a monitor UI 70c in the case where the monitored object is image data from multiple cameras 47. Here, an image area 76 is provided overlaid on a graph area 74. In this example, the first monitored object is a side camera, which captures the side of the workpiece. The second monitored object is an overhead camera, which captures the work scene including the workpiece. In the current value mode and special mode, images acquired in real time from these cameras are displayed in the image area 76. In the history mode, image data previously acquired by these cameras and included in the history data is displayed in the image area 76. In these cases, when switching display modes, handover information is created and the monitored object is carried over.
[0064] (2) Overlay display FIG. 15 shows the monitor UI 70d when the monitored object is image data from multiple cameras 47. In this example, a graph 79b in a display mode before switching (e.g., history mode) and a graph 79a in a display mode after switching (e.g., current value mode) are displayed overlapping each other in the graph area 74. The display format of the graph 79a (e.g., color, line thickness, solid / dashed line) may be more eye-catching than the display format of the graph 79b. For example, the color of the graph 79a may be red, and the color of the graph 79b may be gray. In this way, the graph 79b in the display mode before switching and the graph 79a in the display mode after switching may be displayed simultaneously or in a contrasting manner. This may make it easier for the user to compare the two graphs.
[0065] <Technical ideas derived from examples> A number of aspects are listed below. One or more of the components listed in each aspect may be omitted. Two or more of the multiple aspects may be combined in any manner as long as no technical contradiction occurs.
[0066] [Point 1] The PC 2 is an example of an engineering tool (setting support device) connected to the PLC system 1. The CPU 11 functions as a current data acquisition unit 53a that sequentially acquires current input / output data in the PLC system 1, a history data acquisition unit 53b that acquires, as history data, input / output data recorded in chronological order along with time information based on events, a reception unit 51 that receives designation of input / output data to be monitored, a UI unit 54 that, in a first mode, sequentially acquires the input / output data designated through the reception unit 51 by the current data acquisition unit and displays the input / output data in a chronological graph, and, in a second mode, generates a graph screen that displays, in a chronological order, the input / output data designated through the reception unit 51 among the input / output data acquired by the history data acquisition unit 53b, and a management unit 52 that, when switching from one of the first mode and the second mode to the other, carries over information designating a monitor target in one mode to the other mode and matches the monitor target between the first mode and the second mode based on the carried over information. This enables the inheritance of information to be displayed when switching between multiple display modes. The user no longer needs to reset all monitor targets for each display mode, simplifying the setting work required when switching between display modes.
[0067] [Point 2] The CPU 11 (management unit 52) may identify input / output data to be monitored in one mode based on information specifying a monitor target for the other mode, and determine whether the identified input / output data can be acquired in the other mode. If the identified input / output data cannot be acquired in the other mode, the CPU 11 (management unit 52) may exclude the identified input / output data from the monitor targets in the other mode. For example, the CPU 11 (management unit 52) may create or modify information specifying a monitor target for the other mode so that the monitor target is excluded. This allows monitor targets that can be displayed in the switched display mode to be carried over, and monitor targets that cannot be displayed in the switched display mode to be excluded. This may reduce the burden on the user of setting monitor targets.
[0068] [Point 3] One mode may be a first mode and the other mode may be a second mode. In this case, input / output data that cannot be acquired in the other mode is input / output data that is not included in the history data. Data that is not subject to history is not recorded as history data and therefore cannot be displayed. Therefore, such data is excluded from the monitoring targets in the display mode after switching. This will reduce the burden on the user of setting the monitoring targets.
[0069] [Point 4] Based on information specifying the monitor target for one mode, the management unit 52 may identify multiple input / output data to be monitored in the other mode and display a confirmation screen (e.g., a confirmation dialog 90) for confirming with the user whether to specify each of the multiple input / output data as the monitor target. The reception unit 51 may receive, through the confirmation screen, designation of input / output data to be monitored or input / output data to be deleted from the monitor target. Note that in the confirmation dialog 90 illustrated in FIG. 13, only continuation and cancellation of the display mode switching are selectable, but this is merely an example. The confirmation dialog 90 may display a check box for each of the multiple monitor targets and receive, through the check box, designation of input / output data to be monitored or input / output data to be deleted from the monitor target. In this way, the user may be given an opportunity to confirm the monitor target.
[0070] [Point 5] 15, a graph screen for one mode may be displayed first, and then a graph screen for the other mode may be displayed while the graph screen for one mode remains displayed. This makes it easier for the user to compare the two graphs. The UI unit 54 may simultaneously display the UI 70a and UI 70b on the display unit 7.
[0071] [Point 6] 15, the UI unit 54 may generate a graph screen in which input / output data to be monitored in one mode is displayed overlaid on the same input / output data to be monitored in the other mode, making it easier for the user to compare the two graphs.
[0072] [Point 7] The CPU 11 may function as a restricted data acquisition unit (e.g., special data acquisition unit 53c) that sequentially acquires input / output data that is currently restricted from being acquired by the data acquisition unit from among the current input / output data in the PLC system 1. In the third mode (e.g., special mode), the UI unit 54 may generate a graph screen that chronologically displays input / output data designated through the reception unit 51 from among the input / output data acquired by the restricted data acquisition unit. When switching from one of the first, second, and third modes to another, the management unit 52 may transfer information specifying a monitor target in one mode to the other mode and, based on the information, match the monitor target between the one mode and the other mode. In this way, smooth transition of display modes is possible in cases where three or more display modes exist.
[0073] [Point 8] The information specifying the monitored object may include display settings indicating at least one of the following: the display format (e.g., graph type, whether or not to display numerical values) of the monitored object's graph on the graph screen (e.g., UI70a to UI70d), the display color (e.g., red, green, blue, orange, yellow) of the monitored object, the display range (e.g., upper and lower limits) of the monitored object's graph, the display position (e.g., display position in the graph area 74), and the scale (e.g., display scale) of the monitored object's graph. The management unit 52 may carry over the display settings of the monitored object in one mode to the display settings in the other mode. In this way, not only the monitored object but also the graph display method may be carried over. This will reduce the burden on the user of setting the display method.
[0074] [Point 9] The monitor program 23 is an example of a computer program that causes a computer (e.g., PC2) connected to the PLC system 1 to function as a current data acquisition unit 53a that sequentially acquires current input / output data in the PLC system 1, a history data acquisition unit 53b that acquires input / output data recorded in chronological order along with time information based on events as history data, a reception unit 51 that accepts designation of input / output data to be monitored, a generation unit (e.g., UI unit 54) that, in a first mode, sequentially acquires the input / output data designated through the reception unit 51 by the current data acquisition unit and displays the input / output data in a chronological order as a graph, and in a second mode, generates a graph screen that displays, in a chronological order, the input / output data designated through the reception unit 51 from the input / output data acquired by the history data acquisition unit 53b, and a monitor target management unit (e.g., management unit 52) that, when switching from one of the first mode and the second mode to the other, carries over information designating the monitor target in one mode to the other mode and matches the monitor target between the one mode and the other mode based on the information.
[0075] The invention is not limited to the above-described embodiment, and various modifications and variations are possible within the scope of the gist of the invention.
Claims
1. 1. An engineering tool connected to a programmable logic controller, comprising: a current data acquisition unit that sequentially acquires current input / output data in the programmable logic controller; a history data acquisition unit that acquires, as history data, the input / output data recorded in chronological order along with time information based on an event; a receiving unit that receives designation of input / output data to be monitored; a generation unit that, in a first mode, sequentially acquires the input / output data designated through the reception unit by the current data acquisition unit and displays the input / output data in a time-series graph, and, in a second mode, generates a graph screen that displays, in a time-series graph, the input / output data designated through the reception unit among the input / output data acquired by the history data acquisition unit; a monitoring target management unit that, when switching from one of the first mode and the second mode to the other mode, transfers information specifying the monitoring target in the one mode to the other mode, and matches the monitoring target between the one mode and the other mode based on the information; An engineering tool comprising:
2. 2. The engineering tool according to claim 1, wherein the monitoring target management unit identifies input / output data to be monitored in the other mode based on information specifying the monitoring target for the one mode, determines whether the identified input / output data can be acquired in the other mode, and if the identified input / output data cannot be acquired in the other mode, modifies the information specifying the monitoring target for the other mode so as to exclude the identified input / output data from the monitoring target in the other mode.
3. the one mode is the first mode and the other mode is the second mode; 3. The engineering tool according to claim 2, wherein the input / output data that cannot be acquired in the other mode is input / output data that is not included in the history data.
4. 2. The engineering tool according to claim 1, wherein the monitoring target management unit identifies a plurality of input / output data to be monitored in the other mode based on information specifying the monitoring target for the one mode, displays a confirmation screen for a user to confirm whether or not each of the plurality of input / output data should be monitored, and accepts designation of the input / output data to be monitored or the input / output data to be deleted from the monitoring target through the confirmation screen.
5. 2. The engineering tool according to claim 1, wherein after a graph screen for one of the modes is displayed, a graph screen for the other mode is displayed, thereby displaying the graph screen for the one mode while continuing to display the graph screen for the other mode.
6. 2. The engineering tool according to claim 1, wherein the generation unit generates the graph screen so that the input / output data to be monitored in one mode is displayed superimposed on the input / output data to be monitored in the other mode.
7. a restricted data acquisition unit that sequentially acquires input / output data that is restricted from being acquired by the current data acquisition unit, among the current input / output data in the programmable logic controller; the generation unit is configured, in a third mode, to generate a graph screen that displays, in a time series graph, the input / output data designated through the reception unit, among the input / output data acquired by the restriction data acquisition unit; 2. The engineering tool according to claim 1, wherein, when switching from one of the first mode, the second mode, and the third mode to another mode, the monitoring target management unit carries over information specifying the monitoring target in the one mode to the other mode, and matches the monitoring target between the one mode and the other mode based on the information.
8. the information specifying the monitored object includes display settings indicating at least one of a display format of the graph of the monitored object on the graph screen, a display color of the monitored object, a display range of the monitored object, a display position of the graph of the monitored object, and a scale of the graph of the monitored object; 2. The engineering tool according to claim 1, wherein the monitor target management unit carries over display settings of the monitor target in the one mode to display settings of the other mode.
9. A computer connected to a programmable logic controller a current data acquisition unit that sequentially acquires current input / output data in the programmable logic controller; a history data acquisition unit that acquires, as history data, the input / output data recorded in chronological order along with time information based on an event; a receiving unit that receives designation of input / output data to be monitored; a generation unit that, in a first mode, sequentially acquires the input / output data designated through the reception unit by the current data acquisition unit and displays the input / output data in a time-series graph, and, in a second mode, generates a graph screen that displays, in a time-series graph, the input / output data designated through the reception unit among the input / output data acquired by the history data acquisition unit; a monitoring target management unit that, when switching from one of the first mode and the second mode to the other mode, transfers information specifying the monitoring target in the one mode to the other mode, and matches the monitoring target between the one mode and the other mode based on the information; A computer program characterized by causing a computer to function as follows.
Citation Information
Patent Citations
Engineering tool for programmable logic controller
JP2020013528A