Programmable Logic Controller and Display

The PLC system with redundancy addresses the challenge of distinguishing log data sources by incorporating equalization and logging processes, ensuring reliable data collection and display, thus maintaining control system reliability.

JP7790619B1Active Publication Date: 2025-12-23FUJI ELECTRIC CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2025093843
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-06-05
Publication Date
2025-12-23
Estimated Expiration
2045-06-05

AI Technical Summary

Technical Problem

In redundant PLC configurations, it is difficult to determine whether log data is collected from the operating or standby PLC, affecting the reliability of control systems.

Method used

A programmable logic controller (PLC) system with redundancy, where one PLC operates and the other stands by, includes processes for equalization data transfer and expansion, logging variable data, and associates data with operating status, while a display device shows collected data graphically.

Benefits of technology

Enables reliable collection and display of log data in association with PLC operating status, ensuring continuous control system operation even in failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007790619000001_ABST
    Figure 0007790619000001_ABST
Patent Text Reader

Abstract

In a control system with redundant PLCs, log data related to the control of various devices is collected and displayed in association with the operating status of the PLC. [Solution] In a control system (8) made redundant by PLCs (1a) and (1b), the PLC in operation executes a control program for controlling external devices, collects variable data representing the values ​​of variables used in the control program, and transfers the variable data to the PLC in standby mode. The PLC in standby mode collects the variable data received from the PLC in operation. Each PLC creates collected data in which the data collection time, which is the time the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the PLC was in operation or standby mode at the data collection time are associated with each other, and the collected data is stored in a storage unit.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a programmable logic controller and a display device for displaying data collected in the programmable logic controller. [Background technology]

[0002] In factory automation, a programmable logic controller (PLC) controls manufacturing equipment, conveying equipment, inspection equipment, etc., by executing application programs such as ladder programs. In control systems using PLCs, there is a demand for recording logs related to the control of various devices and for referencing the logs as needed. To address this demand, a technology has been proposed that enables logging without affecting the control of various devices (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 7188631 Summary of the Invention [Problem to be solved by the invention]

[0004] To improve the reliability of the control system described above, a redundant PLC configuration is considered. For example, a pair of PLCs is implemented in parallel, with one PLC operating to control various devices while the other PLC is set to standby. However, with conventional technology, when performing the above-mentioned logging in a redundant PLC configuration, it can be difficult to determine whether the collected log data is from the operating PLC or the standby PLC.

[0005] An object according to one aspect of the present invention is to collect and display log data relating to the control of various devices in a control system in which PLCs are made redundant, in association with the operating status of the PLCs. [Means for solving the problem]

[0006] According to one aspect of the present invention, a programmable logic controller operates as a first programmable logic controller in a control system provided with redundancy by a first programmable logic controller and a second programmable logic controller, and includes a control unit and a storage unit for storing data collected by the control unit. When the programmable logic controller is in an operating state, the control unit executes control processes at predetermined intervals, including a program execution process for executing a control program for controlling an external device, an equalization data transfer process for transferring the execution results of the program execution process to the second programmable logic controller as equalization data, and a logging process for collecting variable data representing values ​​of variables used in the control program. When the programmable logic controller is in a standby state, the control unit executes control processes at predetermined intervals, including an equalization data expansion process for expanding equalization data received from the second programmable logic controller, and a logging process for collecting variable data obtained by the equalization data expansion process. The control unit stores in the storage unit the collected data, which is associated with the data collection time, which is the time when the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the programmable logic controller was in an operating state or a standby state at the data collection time.

[0007] A display device according to one aspect of the present invention displays data collected by a first programmable logic controller and a second programmable logic controller in a control system provided with redundancy by the first programmable logic controller and the second programmable logic controller. The first programmable logic controller and the second programmable logic controller each include a control unit. When the programmable logic controller is in an operating state, the control unit executes control processes at predetermined intervals, including: a program execution process for executing a control program for controlling an external device; an equalization data transfer process for transferring the execution results of the program execution process to the other programmable logic controller as equalization data; and a logging process for collecting variable data representing values ​​of variables used in the control program. When the programmable logic controller is in a standby state, the control unit executes control processes at predetermined intervals, including: an equalization data expansion process for expanding equalization data received from the other programmable logic controller; and a logging process for collecting variable data obtained by the equalization data expansion process. The control unit stores collected data in a storage unit, the collected data being associated with a data collection time, which is a time when the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the programmable logic controller was in an operating state or a standby state at the data collection time. The display device includes a reading unit that reads the collected data from the storage unit, a display control unit that creates a graph showing changes in the variable data based on the collected data, and a display unit that displays the graph created by the display control unit. [Effects of the Invention]

[0008] According to the above-described aspect, in a control system in which PLCs are made redundant, log data relating to the control of various devices can be collected and displayed in association with the operating status of the PLCs. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a control system according to an embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating an example of a hardware configuration of a PLC. [Figure 3] FIG. 2 is a diagram illustrating an example of a hardware configuration of a PC. [Figure 4] FIG. 2 is a diagram illustrating an example of a control process cycle executed by a PLC. [Figure 5] FIG. 1 is a diagram illustrating an example of a control process cycle executed by a pair of redundant PLCs. [Figure 6] FIG. 1 illustrates an example of a functional configuration of a support device. [Figure 7] FIG. 10 is a diagram illustrating an example of a method for creating logging setting data. [Figure 8] FIG. 10 is a diagram illustrating an example of a UI screen provided by a collection target setting unit. [Figure 9] FIG. 10 is a diagram illustrating an example of logging setting data. [Figure 10] FIG. 10 is a diagram illustrating an example of collection target setting information. [Figure 11] FIG. 2 is a diagram illustrating an example of a functional configuration of a PLC. [Figure 12] FIG. 10 is a diagram illustrating an example of a method for setting the operation state of each PLC. [Figure 13] FIG. 10 illustrates an example of a logging process executed by a PLC. [Figure 14] 10 is a flowchart illustrating an example of a logging process and a saving process. [Figure 15] FIG. 2 is a diagram illustrating an example of a data structure of collected data. [Figure 16] FIG. 2 is a diagram illustrating an example of a data structure of sample data. [Figure 17] 10 is a flowchart illustrating an example of a collection process. [Figure 18] FIG. 10 illustrates an example of a logging process for collecting event log data. [Figure 19] 10A and 10B are diagrams illustrating examples of data structures of event log data and event logging collection data. [Figure 20] FIG. 2 is a diagram illustrating an example of a hardware configuration of a collected data display device. [Figure 21] FIG. 2 is a diagram illustrating an example of a functional configuration of a collected data display device. [Figure 22] FIG. 10 is a diagram illustrating an example of a method for displaying data collected in a PLC. [Figure 23] FIG. 10 illustrates an example of a program display process. [Figure 24] FIG. 10 is a diagram showing a first example of a user program display screen. [Figure 25] FIG. 10 is a diagram illustrating an example of a warning screen displayed on the display device. [Figure 26] FIG. 10 is a diagram illustrating an example of a waveform display process. [Figure 27] FIG. 10 is a diagram showing a first example of a waveform display screen for collected data. [Figure 28] FIG. 10 is a diagram showing an example of collected data referred to by the collected data display device. [Figure 29] FIG. 10 illustrates an example of an event display process. [Figure 30] FIG. 10 is a diagram showing a first example of an event display screen. [Figure 31] FIG. 10 is a diagram showing a second example of an event display screen. [Figure 32] FIG. 10 is a diagram illustrating an example of a logging file analysis and conversion process. [Figure 33] 10 is a flowchart showing an example of a logging file analysis and conversion process. [Figure 34] FIG. 10 is a diagram illustrating an example of a display control process. [Figure 35] FIG. 10 is a diagram showing a second example of a user program display screen. [Figure 36] FIG. 10 is a diagram showing a third example of a user program display screen. [Figure 37] 10A and 10B are diagrams showing variations of waveform display screens for collected data. [Figure 38] FIG. 10 is a diagram illustrating the complementation of a waveform display. DETAILED DESCRIPTION OF THE INVENTION

[0010] <Control system configuration> Fig. 1 shows an example of a control system according to an embodiment of the present invention. The control system 8 according to the embodiment of the present invention includes a plurality of redundant programmable logic controllers (PLCs) 1 (1a, 1b), a personal computer (PC) 2, an I / O module 3, a communication module 4, a field device 5, a switch 6, and an information processing device 7. The control system 8 may further include other devices not shown in Fig. 1.

[0011] Each PLC 1 is connected to a switch 6 via a link 11. The multiple PLCs 1 are connected to each other via links 12. Each PLC 1 is connected to an I / O module 3 and a communication module 4 via a field bus 13. One or more field devices 5 are connected to the I / O module 3. A PC 2 is connected to the switch 6 via a link 14. An information processing device 7 is connected to the switch 6 via a link 15. That is, each PLC 1 and PC 2 are configured to be able to communicate with each other. A pair of PLCs 1 (1a, 1b) are also configured to be able to communicate with each other. Furthermore, each PLC 1 and information processing device 7 are also configured to be able to communicate with each other. The links 11, 12, 14, and 15 may each be a wireless link or a communication cable. The field bus 13 may be a wired / wireless LAN (local area network).

[0012] PLC1 is an example of a control device that controls manufacturing equipment, conveying equipment, inspection equipment, etc. in factory automation. PLC1 controls various devices or equipment by executing application programs (e.g., ladder programs) created by the user. In the following description, application programs that control various devices implemented in PLC1 may be referred to as "user programs" or "control programs."

[0013] The user program may be created using, for example, a ladder language conforming to IEC (International Electrotechnical Commission) 61131-3. The user program may be created using a graphical programming language such as a motion program in a flowchart format, such as a sequential function chart (SFC). The user program may be created using a high-level programming language, such as C.

[0014] The PC 2 functions as a support device that supports the PLC 1. The PC 2 can edit user programs installed in the PLC 1.

[0015] The I / O module 3 is provided between the PLC 1 and the field devices 5, and transmits input data from the field devices 5 to the PLC 1 and transmits output data generated by the PLC 1 to the field devices 5. At this time, the I / O module 3 may convert the signal format as necessary. The I / O module 3 may process digital signals, may process analog signals, or may convert between digital and analog signals. The communication module 4 provides a communication interface with devices external to the control system 8.

[0016] The field device 5 is an example of a control target controlled by the PLC 1, and is various devices for achieving factory automation. For example, the field device 5 is a servo amplifier, an encoder, a sensor, or the like. In this case, the PLC 1 may control the servo amplifier and / or the encoder via the I / O module 3. Furthermore, the PLC 1 may acquire data indicating the status of the servo amplifier and / or the encoder and / or sensor data via the I / O module 3.

[0017] The switch 6 controls communication between the PLC 1, the PC 2, and the information processing device 7. The control system 8 does not necessarily have to include the switch 6. The information processing device 7 acquires and processes various data collected by the PLC 1. For example, the information processing device 7 may analyze the operating status of the control system 8. Specifically, the information processing device 7 may acquire and process variable data representing the values ​​of variables in a user program executed by the PLC 1. The information processing device 7 may be realized by the PC 2.

[0018] In the control system 8 configured as described above, one pair of PLCs 1 (1a, 1b) is made redundant. That is, one of PLCs 1a and 1b is set to an active state to control the I / O module 3 and the communication module 4. The other of PLCs 1a and 1b is set to a standby state. For example, when PLC 1a is set to an active state, PLC 1b is set to a standby state. In this case, PLC 1a transmits data generated within PLC 1a to PLC 1b, and PLC 1b acquires and expands the data transmitted from PLC 1a. That is, equalized data transfer is performed between PLCs 1a and 1b. As a result, PLC 1b in the standby state holds the same data as PLC 1a in the standby state. Therefore, even if a failure occurs in PLC 1a, which is active, and PLC 1b switches from the standby state to the active state, the control system 8 can continue to operate.

[0019] 1, the control system 8 includes a pair of redundant PLCs 1a and 1b, but the embodiment of the present invention is not limited to this configuration. That is, a redundant configuration may be realized by implementing three or more PLCs 1 in parallel in the control system 8. In this case, one of the three or more PLCs 1 is set to an operating state, and the other PLCs 1 are set to a standby state.

[0020] Also, in the example shown in FIG. 1, PLCs 1a and 1b control the same target device, but the embodiments of the present invention are not limited to this configuration. For example, a configuration in which PLC 1a controls target device a and PLC 1b controls target device b may be employed. However, in this case, target device a and target device b are devices having substantially the same configuration and performing substantially the same operations as each other.

[0021] <Hardware Configuration of PLC1 and PC2> FIG. 2 shows an example of the hardware configuration of PLC1. As shown in FIG. 2, PLC1 includes a CPU (Central Processing Unit) 101, a memory 102, a storage device I / F 103, a communication I / F 104, a communication I / F 105, and a field bus I / F 106. All of these components 101 to 106 are hardware and can exchange data with each other via an internal bus 107. "I / F" is an abbreviation for interface. The CPU may also be called a processor.

[0022] The CPU 101 executes various programs such as a system program for managing the operation of PLC1 itself and a user program for logging processing. The memory 102 is, for example, a semiconductor memory and includes a RAM (Random Access Memory) area and a ROM (Read Only Memory) area. The RAM area is used as a storage area for temporarily storing various data when the CPU 101 executes various programs. The ROM area is an area in which various programs and data are stored and is realized, for example, by a non-volatile memory.

[0023] The storage device I / F 103 manages writing and reading of various data to and from the external storage device 111. The external storage device 111 is not particularly limited, and may be, for example, a memory card. The PLC 1 may have a built-in storage device (not shown) instead of or in addition to the external storage device 111. The external storage device 111 is an example of a storage unit that saves data collected by the CPU 101. However, the storage unit that saves data collected by the CPU 101 may be a storage device built into the PLC 1.

[0024] The communication I / F 104 is connected to the link 11 and manages the exchange of various data between the PC 1 and the information processing device 7. The communication I / F 105 is connected to the link 12 and manages the exchange of various data with other PLCs 1. The field bus I / F 106 is connected to the field bus 13 and manages the exchange of various data between the I / O module 3 and the communication module 4.

[0025] Fig. 3 shows an example of the hardware configuration of PC 2. As shown in Fig. 3, PC 2 includes a CPU 201, memory 202, input device 203, display device 204, auxiliary storage device 205, and communication I / F 206. All of these components are hardware, connected to an internal bus 207, and can transmit data between them.

[0026] The CPU 201 executes programs using the memory 202 to provide functions such as setting up the PLC 1 (including editing functions for user programs). The input device 203 is, for example, a keyboard and / or a pointing device, and is used for inputting instructions or information from the user. The display device 204, for example, queries the user, gives instructions to the user, and displays processing results.

[0027] The auxiliary storage device 205 is realized by, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a hard disk drive, or a flash memory. Note that the PC 2 can store programs and data in the auxiliary storage device 205 and load them into the memory 202 for use. The communication I / F 206 is connected to the link 14 and communicates with the PLC 1 via the switch 6.

[0028] <Control processing cycle of PLC1> FIG. 4 shows an example of the control processing cycle executed by the PLC 1. As shown in FIG. 4, the PLC 1 repeatedly executes control processing including input processing, program execution processing, output processing, logging processing, and system processing at a predetermined control cycle. Note that the control processing cycle may include other processing not shown in FIG. 4. Also, the PLC 1 may execute other processing in parallel with the control processing cycle.

[0029] The input processing takes in the input data received from the I / O module 3 into the PLC 1. The input data may include the value represented by the signal output from the field device 5. The program execution processing executes the user program created by the user. In the execution of the user program, the input data taken in by the input processing may be used. The output processing controls the I / O module 3 (and the field device 5) by outputting the execution result of the user program. That is, the execution result of the user program is reflected in the output of the I / O module 3.

[0030] The logging processing collects variable data representing the values of the variables used in the user program. Also, the logging processing may save, as a history, the operation states of the respective constituent devices of the control system 8 including the PLC 1. These data may be part of the log data. The system processing maintains the proper operation of the PLC 1 by managing the settings and operations of the PLC 1.

[0031] PLC1 executes logging processing after output processing in each control processing cycle so as not to interfere with the execution of user programs. In this example, the control cycle of PLC1 is the sum of the execution times of input processing, program execution processing, output processing, logging processing, and system processing. Therefore, if the control cycle is fixed, the period allocated to logging processing is limited by the bandwidth of the control cycle.

[0032] Therefore, the control period of the PLC 1 is specified, for example, by the user. This allows the desired amount of variable data to be collected in the logging process without affecting the execution periods of input processing, program execution processing, and output processing related to the control of external devices. In other words, the values ​​of variables used in the control of external devices can be appropriately collected. Note that the bandwidth of the logging process may be adjusted by changing the ratio of the execution periods of program execution processing, system processing, and logging processing.

[0033] Fig. 5 shows an example of a control process cycle executed by a pair of redundant PLCs 1. In the example shown in Fig. 5, PLC 1a is set to an operating state, and PLC 1b is set to a standby state.

[0034] In the operating state, control processes including input processing, program execution processing, equalized data transfer processing, output processing, logging processing, and system processing are repeatedly executed at a predetermined cycle. That is, equalized data transfer processing is provided between the program execution processing and the output processing. In the equalized data transfer processing, the execution results obtained by the input processing and program execution processing are transmitted to PLC 1 in the standby state (PLC 1b in this case) via link 12. Note that the equalized data transmitted by the equalized data transfer processing includes, for example, the values ​​of variables of the user program executed in PLC 1 in the operating state (PLC 1a in this case).

[0035] In the standby state, control processes including system processing, equalized data expansion processing, output processing, and logging processing are repeatedly executed at a predetermined interval. That is, the standby PLC 1 (here, PLC 1b) does not need to execute input processing or program execution processing, but receives the execution results obtained by the operating PLC 1 (here, PLC 1a) as equalized data. The equalized data expansion processing expands the received equalized data in memory. This enables the standby PLC 1 to output the same data as the operating PLC 1 outputs. Therefore, when a pair of PLCs 1 is operating normally and equalized data is being transferred between the pair of PLCs 1, the variable data collected by the logging processing in the standby PLC 1 is the same as the variable data collected by the logging processing in the operating PLC 1. Note that the period of the control processing executed in the standby state is the same as the period of the control processing executed in the operating state.

[0036] In this way, the equalization data transfer process and the equalization data expansion process allow a pair of PLCs 1 to share the same execution results. Therefore, if a failure occurs in an operating PLC 1, the standby PLC 1 transitions to an operating state and uses its execution results, allowing control of external devices to continue. It is preferable that the logging process be performed at the same time in both the operating PLC 1 and the standby PLC 1. The logging process may be performed before the output process, or after the output process.

[0037] <Logging process settings> Information related to the logging process in PLC 1 is set by a support device. This support device is realized by PC 2 shown in Fig. 1 or 3 executing a predetermined setting tool program. In other words, the functions of this support device are provided by PC 2.

[0038] FIG. 6 shows an example of the functional configuration of the support device 20. The support device 20 sets the conditions for executing the logging process in PLC 1. That is, the support device 20 creates logging setting data to be referenced by PLC 1 and provides the data to PLC 1. As shown in FIG. 6, the support device 20 includes a program analysis unit 21, a selection unit 22, a reception unit 23, a setting information output unit 24, a calculation unit 25, and a data amount information output unit 26. Note that the support device 20 may further include other functions not shown in FIG. 6. It is also assumed that a control period for causing PLC 1 to perform the control process shown in FIG. 5 is set in advance in the support device 20 by a user.

[0039] The program analysis unit 21 analyzes a user program to be executed by the PLC 1 and extracts variables used in the user program. The selection unit 22 selects variables whose values ​​should be collected in the logging process by the PLC 1 (i.e., collection target variables) from among the variables extracted by the program analysis unit 21. The reception unit 23 receives a user operation or input from the user. For example, the reception unit 23 may receive information indicating a data collection period in the logging process. The length of the collection period may be, for example, N (N is an integer equal to or greater than 2) times the control period shown in FIG. 5. The setting information output unit 24 outputs, as setting information, information indicating multiple collection target variables and information indicating the data collection period in the logging process. In this case, the PLC 1 executes the logging process based on the setting information output from the support device 20. In the following description, variables whose values ​​should be collected in the logging process (i.e., collection target variables) may be simply referred to as "target variables."

[0040] The calculation unit 25 calculates the total amount of data collected for each collection period or each control cycle based on the data amount of each target variable. The data amount information output unit 26 outputs data amount information representing the data amount calculated by the calculation unit 25.

[0041] The support device 20 having the above-described functions can cause the PLC 1 to collect a desired amount of log data (values ​​of target variables), thereby enabling the PLC 1 to appropriately collect values ​​of variables used in controlling external devices.

[0042] 7 shows an example of a method for creating logging setting data, which is an example of an assistance method executed by the assistance device 20 shown in FIG.

[0043] The support device 20 includes a setting tool 30. In the PC 2, the functions of the setting tool 30 are provided by causing the CPU 201 to execute a predetermined setting tool program.

[0044] Project data 41 is input to the setting tool 30. The project data 41 includes information related to the system configuration of the control system 8, user programs executed by the PLC 1, and information related to function settings of external devices (I / O module 3, communication module 4, field device 5, etc.) included in the control system 8. Here, it is assumed that the project data 41 is created by a user by executing a predetermined project data editing program on the PC 2, for example, and is stored in the auxiliary storage device 205.

[0045] In the setting tool 30, project data 41 is provided to a collection target setting unit 31. The collection target setting unit 31 provides the functions of the program analysis unit 21 and the selection unit 22 shown in Fig. 6. In other words, the collection target setting unit 31 selects target variables to be logged from the variables used in the user program.

[0046] Specifically, the collection target setting unit 31 analyzes the user program included in the project data 41 and extracts variables used in the user program. Furthermore, the collection target setting unit 31 selects target variables (i.e., variables to be collected by the logging process executed by the PLC 1) from the extracted variables.

[0047] Here, the UI screen provided by the collection target setting unit 31 will be described with reference to Fig. 8. "UI" is an abbreviation for user interface.

[0048] 8, the UI screen 50 includes a program selection section 51, an extracted variable display section 52, and a target variable display section 53. When the functions of the support device 20 are provided by the PC 2 shown in FIG. 3, the UI screen 50 is displayed by the display device 204.

[0049] The program selection section 51 displays information indicating user programs included in the project data 41. In this embodiment, a task is configured as a collection of multiple programs, and a user program is configured as a collection of multiple tasks. In the example screen shown in FIG. 8, "Application Name" is the name of the user program, "Task 1," "Task 2," and "Task 3" are the names of the tasks, respectively, and "Program" to "Program N" are the names of the programs belonging to each task. In this example screen, the relationship between the user program, each task, and each program is displayed in a tree format.

[0050] When the user selects one of the program names displayed in the program selection section 51, the program analysis section 21 executes an analysis process on the selected program, and the variables used in that program are extracted. If the name of a task is selected instead of the name of a program, variables are extracted from each of the programs belonging to the selected task. At this time, the names of the extracted variables are displayed in the extracted variable display section 52.

[0051] When the user selects one or more names from the names of the variables displayed in the extracted variable display section 52 and then presses the register button 54, the variables corresponding to the selected names are selected as target variables. At this time, the names of the selected target variables are displayed in the target variable display section 53. Note that when the user selects one or more names from the names of the target variables displayed in the target variable display section 53 and presses the cancel button 55, the selected variables are excluded from the selection results of the target variables.

[0052] When the user presses the batch registration button 56, all variables displayed in the extracted variable display area 52 are selected as target variables, and their names are displayed in the target variable display area 53. When the user presses the batch release button 57, all variables displayed in the target variable display area 53 are excluded from the selection results of the target variables.

[0053] In addition, the collection target setting unit 31 calculates the total amount of data that will be collected when logging processing is executed for all of the target variables selected as described above, based on the project data 41. The calculated total data amount is displayed in the collected data size display unit 58 on the UI screen 50.

[0054] Returning to the explanation of Fig. 7, in the setting tool 30, the collection operation setting unit 32 creates setting information related to the operation of the logging process. This information sets in the PLC 1, for example, the timing to collect the values ​​of target variables that are data to be collected, the period for collecting the data, and the timing when the PLC 1 saves the collected data in the external storage device 111.

[0055] The setting content confirmation unit 33 determines whether the execution time of one cycle of the control process when the PLC 1 executes the logging process for all of the target variables selected by the collection target setting unit 31 falls within a preset control period.

[0056] The setting file creation unit 34 corresponds to the function of the setting information output unit 24 shown in Fig. 6. The setting file creation unit 34 outputs information specifying the target variables selected by the collection target setting unit 31 and setting information related to the operation of the logging process set by the collection operation setting unit 32 as logging setting data 42. The logging setting data 42 is transmitted to the PLC 1. The PLC 1 executes the logging process based on the contents of the logging setting data 42.

[0057] 9 shows an example of the logging setting data 42. The logging setting data 42 includes project data information 61, collection operation setting information 62, and collection target setting information 63, as shown in FIG.

[0058] The project data information 61 is information that identifies a user program to be executed by the PLC 1, and includes, for example, information such as the name given to the object code obtained by compiling the user program, the date and time of the compilation, etc. The project data information 61 may be part of the project data 41.

[0059] The collection operation setting information 62 is created by the collection operation setting unit 32. The collection operation setting information 62 includes, for example, information indicating the timing to collect data, information indicating the period for collecting data, information indicating the timing at which the PLC 1 stores the collected data in the external storage device 111, and information specifying the external storage device 111 in which the collected data is to be stored.

[0060] The collection target setting information 63 includes information related to the target variables selected by the collection target setting unit 31. As shown in FIG. 10, the collection target setting information 63 includes information indicating the total size of collected data at the timing of data collection. The collection target setting information 63 includes information indicating the number of target variables from which data is collected. The collection target setting information 63 includes information indicating the memory type, data type, memory address, and data size for each target variable. This information identifies the location and size in memory 102 of the storage area used to hold the values ​​of the target variables when PLC 1 executes a user program.

[0061] In this way, by using the setting tool 30, the support device 20 can set the conditions related to the execution of the logging process in the PLC 1.

[0062] <Executing logging process> The following describes the logging process executed by the PLC 1 in the control system 8 shown in Fig. 1. The PLC 1 executes the logging process in accordance with logging setting data 42 created by the PC 2 operating as the support device 20. The logging setting data 42 is stored in a predetermined area in the memory 102 provided in the PLC 1, although this is not shown in the figure.

[0063] Fig. 11 shows an example of the functional configuration of PLC 1. In the example shown in Fig. 11, PLC 1 includes a control unit 121, a ring buffer 122, and a storage processing unit 123. An external storage device 111 is also connected to PLC 1. It is assumed that a control cycle for performing the above-mentioned control processing is set in advance by the user in PLC 1.

[0064] The control unit 121 repeatedly executes control processing S1 at a predetermined cycle. The control processing S1 corresponds to the control processing cycle shown in FIG. 5. Specifically, in the PLC 1 in the operating state, the control unit 121 executes control processing including input processing S11, program execution processing S12, output processing S13, equalized data transfer processing S14, logging processing S16, and system processing S17. In addition, in the PLC 1 in the standby state, the control unit 121 executes control processing including output processing S13, equalized data expansion processing S15, logging processing S16, and system processing S17. In the hardware configuration example shown in FIG. 2, this control processing is executed by the CPU 101.

[0065] The control unit 121 executes a state management process S2 in addition to the control process S1. The state management process S2 determines whether the PLC 1 operates in an active state or a standby state. At this time, the state management process S2 may determine whether the PLC 1 operates in an active state or a standby state in cooperation with other PLCs constituting a redundant pair. The state management process S2 may be executed as part of the system process S17.

[0066] The ring buffer 122 is a storage area (or storage unit) that stores collected data, which associates the data collection time by the logging process S16 with the value of the target variable collected at the data collection time, every time the value of the target variable is collected. In the example hardware configuration shown in FIG. 2, the ring buffer 122 is configured, for example, by a part of the storage area of ​​the memory 102.

[0067] The logging process S16 collects variable data representing the values ​​of specified target variables in accordance with the logging setting data 42. The logging process S16 may also collect event information relating to events occurring in the PLC 1 and events occurring in devices connected to the PLC 1. The logging process S16 may also collect status information representing whether the PLC 1 is in an operating state or a standby state. The collected data stored in the ring buffer 122 may include variable data, event information, and status information associated with the data collection time.

[0068] The storage processing unit 123 sequentially reads out the collected data that has not been discarded and is stored in the ring buffer 122, and stores the data in the external storage device 111. In the example hardware configuration shown in Fig. 2, the storage device I / F 103 may provide the function of the storage processing unit 123 under the control of the CPU 101. In this case, the control unit 121 provided by the CPU 101 may control the storage device I / F 103 as part of the logging process S16.

[0069] FIG. 12 shows an example of a method for setting the operating state of each PLC 1. In this embodiment, operating / standby definition information is provided to each PLC 1 (1a, 1b) from the support device 20. Here, the operating / standby definition information indicates that PLC 1a operates in an operating state, and PLC 1b operates in a standby state. In this case, when PLC 1a confirms that its own operation is normal, it sets its operating state to operating. After this, PLC 1a sends an operating notification to PLC 1b. Upon receiving the operating notification, PLC 1b confirms that its own operation is normal and sets its operating state to standby. After this, PLC 1b sends a standby notification to PLC 1a. Thereafter, PLC 1a operates in an operating state, and PLC 1b operates in a standby state.

[0070] PLC 1a, which has been set to the operating state, periodically transmits a heartbeat notification to PLC 1b. The heartbeat notification may be transmitted together with the equalized data. PLC 1b continues to be in a standby state while periodically receiving the heartbeat notification from PLC 1a.

[0071] Assume that a failure occurs in PLC 1a, and PLC 1a stops sending heartbeat notifications to PLC 1b. In this case, PLC 1b detects an abnormality in PLC 1a in response to not receiving the heartbeat notification. PLC 1b then switches its own operating state from standby to active. This allows the control system 8 to continue controlling external devices. PLC 1a may also send a state switch instruction to PLC 1b when it detects the failure. In this case, PLC 1b may switch its own operating state from standby to active in response to receiving the state switch instruction from PLC 1a.

[0072] It is preferable that the event that switches the operation state of PLC 1 between the operating state and the standby state be specified in advance. For example, the operation state of PLC 1 may be switched between the operating state and the standby state when an event occurs that should be detected by the event detection process S24 shown in Fig. 18, which will be described later.

[0073] 13 shows an example of the logging process executed by the PLC 1. The functional configuration of the PLC 1 is as described with reference to FIG.

[0074] The program execution process S12 executes a user program using input data received in the input process S11 and sent from the I / O module 3, communication module 4, field device 5, etc. The execution results are output by the output process S13 to control external devices. In the example hardware configuration shown in FIG. 2, the CPU 101 that executes the program execution process S12 uses a storage area of ​​the memory 102 to execute the user program. The storage area used at this time is sometimes referred to as the "program usage area 102a."

[0075] The logging process S16 collects the values ​​of each target variable selected from the variables used in the user program executed by the program execution process S12. It is assumed that the logging setting data 42, which includes information about the target variables and operation setting information for the logging process, has been created in the support device 20 (PC2) and provided to the PLC 1 in advance.

[0076] The CPU 101 of the PLC 1 executes a time management process S21 and a collection timing detection process S22 in parallel with the control process S1. The time management process S21 measures the current time. The collection timing detection process S22 detects the arrival of the data collection timing indicated by the collection operation setting information 62 included in the logging setting data 42.

[0077] The logging process S16 collects the values ​​of each target variable when the collection timing detection process S22 detects the collection timing. The logging process S16 also identifies the collection time of each variable value based on the timekeeping result of the time management process S21, and stores the collected data in which the variable value and the collection time are associated with each other in the ring buffer 122.

[0078] The CPU 101 of the PLC 1 executes a save process S23. The save process S23 includes a process of detecting the arrival of a save timing indicated by the collection operation setting information 62 included in the logging setting data 42. Furthermore, in response to the detection of the arrival of the save timing, the save process S23 controls the storage device I / F 103 to read the collected data stored in the ring buffer 122. Then, the save process S23 saves the read collected data (collected data 70 in FIG. 13) in the external storage device 111. The save destination is indicated by the collection operation setting information 62.

[0079] 14 is a flowchart showing an example of the logging process S16 and the saving process S23. The process of this flowchart is executed when the timing to start the logging process arrives in each cycle of the control process S1.

[0080] In S31, the control unit 121 uses the collection timing detection process S22 to determine whether or not the collection timing has arrived. If the arrival of the collection timing is detected (S31: Yes), the collection process is performed in S32. The collection process includes a process of collecting the values ​​of each target variable and a process of saving the collected values ​​in the ring buffer 122 as collected data 70, which will be described later. Details of this collection process will be described later. On the other hand, if the arrival of the collection timing is not detected (S31: No), the process shown in FIG. 14 ends.

[0081] In S33, the save processing unit 123 executes the save process S23 to determine whether the save timing has arrived. The save timing is specified by the collection operation setting information 62 included in the logging setting data 42. If the save timing has arrived (S33: Yes), the process of the save processing unit 123 proceeds to S34. On the other hand, if the save timing has not arrived (S33: No), the process of S34 is not performed and the process shown in FIG. 14 ends.

[0082] In S34, the storage processing unit 123 reads out the data stored in the ring buffer 122 in the logging process S16. Then, the control unit 121 stores the read out data as collected data 70 in the storage destination specified by the collection operation setting information 62 (here, the external storage device 111).

[0083] 15 shows an example of the data structure of the collected data 70. The collected data 70 includes project data information 61, operating / standby definition information 71, the number of sample data 72, the sample data size 73, and sample data 74.

[0084] The project data information 61 is information that identifies a user program executed by the PLC 1, and includes, for example, a name given to an object code obtained by compiling the user program and information on the date and time of the compilation. That is, the project data information 61 included in the collected data 70 is the same as the project data information 61 included in the logging setting data 42. Note that the CPU 101 may obtain the project data information 61 from the logging setting data 42 and write it into the collected data 70 in the collection process S32.

[0085] The operating / standby definition information 71 indicates whether PLC 1 itself will be started in an operating state or a standby state when PLC 1 is started. The operating / standby definition information 71 may be written, for example, in a user program executed by PLC 1. In this case, PLC 1 can acquire the operating / standby definition information 71 when executing the user program. Alternatively, the support device 20 may acquire the operating / standby definition information 71 from the user program and provide it to PLC 1. Alternatively, the operating / standby definition information 71 does not have to be written in the user program. In this case, for example, the operating / standby definition information 71 is provided to PLC 1 from the support device 20.

[0086] The number of sample data 72 indicates the number of sample data 74 included in the collected data 70. The sample data size 73 indicates the total amount of sample data 74 included in the collected data 70. The sample data 74 includes variable data indicating the values ​​of target variables collected in the logging process, and is written into the collected data 70 in the order in which it was collected. In this embodiment, one sample data 74 is made up of data collected at one collection timing.

[0087] 16 shows an example of the data structure of sample data 74. In this embodiment, the sample data 74 includes a timestamp 75, operating / standby state information 76, and variable data 77. The timestamp 75 indicates the time at which the value of the target variable was collected by the logging process S16. The operating / standby state information 76 indicates whether PLC1 was in an operating state or a standby state at the time indicated by the timestamp 75 (i.e., when the value of the target variable was collected). Each variable data 77 includes information indicating the value of the target variable collected at the time indicated by the timestamp 75.

[0088] The operating state of PLC 1 (operating state or standby state) is predetermined by operating / standby definition information 71. However, as described with reference to FIG. 12, the operating state of PLC 1 may change. The operating state of PLC 1 is managed by the state management process S2 shown in FIG. 11. When collecting variable data representing the values ​​of target variables in the logging process S16, the control unit 121 checks the operating state of PLC 1 itself using the state management process S2. Thereafter, operating / standby state information 76 representing the operating state of PLC 1 itself and variable data 77 representing the values ​​of each target variable are stored as sample data 74 constituting collected data 70, in association with a timestamp 75 representing the time the variable data was collected. That is, the control unit 121 creates collected data 70 in which the data collection time, which is the time the variable data was collected, the variable data collected at the data collection time, and state information representing whether the PLC 1 was in an operating state or a standby state at the data collection time are associated with each other, and stores the collected data in a storage unit (e.g., the external storage device 111).

[0089] In this way, in S34, the saving processing unit 123 creates collected data 70 having the data structure shown in Fig. 15 using the logging setting data 42 and the sample data saved in the ring buffer 122. Then, the collected data 70 is saved in, for example, the external storage device 111.

[0090] 13 and 14 is completed, the CPU 101 saves the logging setting data 42 in the external storage device 111. The logging setting data 42 is also used when the sample data 74 is displayed.

[0091] 17 is a flowchart showing an example of the collection process, which corresponds to S32 shown in FIG.

[0092] In S41, the control unit 121 creates a timestamp 75 that indicates the current time being measured by the time management process S21. Then, the control unit 121 writes this timestamp 75 into the ring buffer 122 as the first data of the sample data 74. In S42, the control unit 121 acquires operating / standby status information 76 that indicates the current operating status of PLC1 and is managed by the status management process S2 (or system process S17). The operating / standby status information 76 is written into the ring buffer 122 in association with the timestamp 75.

[0093] In S43, the control unit 121 obtains the current value of each target variable. Here, in the operating PLC 1, the value of each target variable is calculated by executing a user program. The calculated value of each target variable is written to a predetermined memory location in the program usage area 102a. This memory location is identified based on the memory type, data type, memory address, and data size information for the target variable included in the collection target setting information 63 of the logging setting data 42. Therefore, the control unit 121 can obtain the value of the target variable from the program usage area 102a by referring to the logging setting data 42.

[0094] The values ​​of each target variable calculated in PLC 1 in the operating state are transferred to PLC 1 in the standby state by the above-mentioned equalization data transfer. PLC 1 in the standby state then expands the received values ​​of each target variable in the program usage area 102a. That is, even in PLC 1 in the standby state, the value of each target variable is written to a predetermined memory location in the program usage area 102a. Therefore, even in PLC 1 in the standby state, the control unit 121 can obtain the values ​​of the target variables by referring to the logging setting data 42.

[0095] Thereafter, variable data 77 indicating the value of each target variable is written to the ring buffer 122 in association with the timestamp 75. This operation is the same for the PLC 1 in the operating state and the PLC 1 in the standby state.

[0096] In S44, the control unit 121 determines whether collection of variable data has been completed for all target variables registered in the collection target setting information 63 of the logging setting data 42. If variable data for all target variables has been collected (S44: Yes), the collection process ends. On the other hand, if there are target variables for which variable data has not been collected (S44: No), the process of the control unit 121 returns to S43. That is, the control unit 121 acquires variable data for the next target variable. Then, when the variable data for all target variables has been acquired and saved in the ring buffer 122, the save process S23 is executed.

[0097] In this way, when the control unit 121 of PLC 1 acquires variable data indicating the values ​​of target variables used in a user program, it also acquires operating / standby state information indicating whether PLC 1 itself is in an operating state or a standby state. The variable data and operating / standby state information are then associated with a timestamp and stored in the ring buffer 122. Therefore, by referring to the data stored in the ring buffer 122, it is possible to determine whether the variable data acquired at any or desired time was data obtained from PLC 1 in an operating state or data obtained from PLC 1 in a standby state.

[0098] <Event log> As described above, the PLC 1 collects variable data representing the values ​​of target variables used in the user program through the logging process S16. In addition, the logging process S16 can also collect event log data representing various events that have occurred in the PLC 1.

[0099] 18 shows an example of a logging process for collecting event log data. In this example, the PLC 1 executes an event detection process S24.

[0100] The event detection process S24 detects a predetermined event that has been specified in advance. For example, the event detection process S24 detects a change in the internal status of PLC 1, a parameter managed within PLC 1 exceeding a threshold, a predetermined process being executed within PLC 1, or a value of a variable used by a user program satisfying a predetermined condition. The events detected by the event detection process S24 may also include a disconnection of a link connecting to PLC 1, an inability to receive data from a communication partner, or a change in the operating state (operating state, standby state). The event detected by the event detection process S24 may also be an event in which the operating state of PLC 1 switches between an operating state and a standby state. The event detection process S24 may be part of the logging process S16 or the system process S17.

[0101] An event detected by the event detection process S24 is notified to the logging process S16. Then, the logging process S16 acquires time information from the time management process S21. Then, event information representing the detected event is stored in the ring buffer 122 in association with the time information.

[0102] 19A shows an example of the data structure of event log data 81. Event log data 81 includes an event type 81a, an occurrence status 81b, an operating / standby status 81c, an event detection time 81d, occurrence source information 81e, and an event code 81f.

[0103] The event type 81a indicates the type of event log data 81. The occurrence status 81b indicates that an event has occurred or has been recovered from. The operating / standby status 81c indicates the operating state of PLC 1 (operating state or standby state) at the time the event occurred. The event detection time 81d indicates the time when the event occurred. The time when the event occurred can be obtained from the time management process S21. The origin information 81e indicates the location where the event occurred. For example, the origin information 81e may indicate in which device of PLC 1, I / O module 3, or communication module 4 the event occurred, or may indicate in which function of the functions provided by PLC 1 the event occurred, or may include both. The event code 81f indicates what type of event has occurred. The coding system for the event code 81f may be determined based on the event type 81a.

[0104] Returning to the description of Fig. 18, when the control unit 121 detects an event in the event detection process S24, it creates event log data 81. Alternatively, the control unit 121 may create part of the event log data 81 in the event detection process S24, and complete the event log data 81 in the logging process S16.

[0105] In the logging process S16, the control unit 121 writes the event log data 81 to the ring buffer 122. When the ring buffer 122 is filled, the event log data 81 stored in the ring buffer 122 is written to the external storage device 111 as event logging collected data 80 in the storage process S23.

[0106] 19B shows an example of the data structure of the event logging collection data 80. The event logging collection data 80 includes project data information 82, operating / standby definition information 83, the number of event logs 84, and event log data 81.

[0107] The project data information 82 is substantially the same as the project data information 61 shown in Fig. 15. The operating / standby definition information 83 is substantially the same as the operating / standby definition information 71 shown in Fig. 15. The number of event logs 84 indicates the number of event log data 81 included in the event logging collected data 80. The event log data 81 is as described with reference to Fig. 19A.

[0108] <Configuration and functions of the display device> As described above, the PLC 1 performs logging processing in the control system 8 shown in Fig. 1. As a result, collected data 70 including variable data representing the values ​​of target variables used in the user program is stored in the external storage device 111. In addition, event logging collected data 80 related to events that have occurred in the PLC 1 is also stored in the external storage device 111. A method for displaying the collected data 70 and the event logging collected data 80 will be described below.

[0109] 20 shows an example of the hardware configuration of a collected data display device. The collected data display device 300 includes a CPU 301, memory 302, input device 303, auxiliary storage device 304, display device 305, and storage device I / F 306. All of these components are hardware, and can transmit data to each other using an internal bus 307.

[0110] The CPU 301 executes programs using the memory 302 to provide functions such as displaying the collected data 70 and the event logging collected data 80, and processing the collected data 70 to display graphs or waveforms. The input device 303 is, for example, a keyboard and / or a pointing device, and is used for inputting instructions or information from the user. The auxiliary storage device 304 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a hard disk drive, or a flash memory. The collected data display device 300 stores programs and data in the auxiliary storage device 304 and can load them into the memory 302 for use.

[0111] The display device 305, for example, displays inquiries and instructions to the user and processing results. The storage device I / F 306 manages the reading of various data from the external storage device 111 such as a memory card.

[0112] 20 is a standard configuration of a general computer, the collected data display device 300 may be realized using a general computer. Also, the collected data display device 300 may be realized using the PC 2 operating as the support device 20 in the control system 8 shown in FIG. 1. Furthermore, the collected data display device 300 may be the information processing device 7 shown in FIG. 1.

[0113] FIG. 21 shows an example of the functional configuration of a collected data display device 300. The collected data display device 300 can be connected to an external storage device 111. The collected data 70 and the event logging collected data 80 described above are assumed to be stored in the external storage device 111 by the PLC 1. As described with reference to FIGS. 15 and 16, in the collected data 70, sample data 74 containing values ​​collected by the logging process for each target variable is arranged in order of collection time. As shown in FIG. 16, the sample data 74 includes a timestamp, operating / standby status information, and variable data. Furthermore, as described with reference to FIG. 19, in the event logging collected data 80, event log data 81 related to detected events is arranged in order of detection time. The event log data 81 includes the event type, operating / standby status, and event detection time.

[0114] The collected data display device 300 includes a readout unit 311, a display unit 312, and a display control unit 313. The readout unit 311 reads out the collected data 70 and the event logging collected data 80 from the external storage device 111. The display unit 312 displays the collection time in association with the variable data collected at the collection time, based on the collected data 70 read out from the external storage device 111. The display unit 312 also displays the event detection time in association with the event detected at the event detection time, based on the event logging collected data 80 from the external storage device 111. The display control unit 313 controls the display unit 312 based on the data 70 and 80 read out from the external storage device 111.

[0115] The collected data display device 300 may display data requested by a user, taking into account the operating state (operating state or standby state) of each PLC 1. For example, the collected data display device 300 may display variable data used by an operating PLC 1. Furthermore, the collected data display device 300 may display, for each PLC 1, variable data used when the PLC 1 was in an operating state and variable data used when the PLC 1 was in a standby state so that the variable data can be distinguished from the variable data. Furthermore, the collected data display device 300 may display whether each detected event was detected by an operating PLC 1 or a standby PLC 1. Therefore, in a control system 8 in which PLCs 1 are redundant, a user of the control system 8 can recognize log data and event log data related to the control of various devices in association with the operating state of the PLC 1.

[0116] 22 shows an example of a method for displaying data collected by the PLC 1. The collected data display device 300 executes a program display process S310, a waveform display process S320, an event display process S330, a logging file analysis and conversion process S340, and a display control process S350. The program that causes the CPU 101 to perform these processes is sometimes called engineering software.

[0117] The program display process S310 displays the user program included in the above-mentioned project data 41, and also displays the values ​​of target variables used in the user program using the sample data 74 included in the collected data 70. The project data 41 has already been created by the user using a predetermined editing program on the PC 2, and is stored, for example, in the auxiliary storage device 304 shown in Fig. 20 (or the auxiliary storage device 205 shown in Fig. 3).

[0118] The waveform display process S320 displays the relationship between the collection time and the value of the target variable using a waveform or graph based on the sample data 74 included in the collected data 70. The event display process S330 uses the event log data 81 included in the event logging collected data 80 to display the content of the event in a user-identifiable format based on the event detection time and the information included in the event log data 81.

[0119] The logging file analysis and conversion process S340 analyzes the logging setting data 42 and the collected data 70 and converts the sample data 74 into the input data format for the program display process S310 and the waveform display process S320. The logging file analysis and conversion process S340 also analyzes the event logging collected data 80 and converts the event log data 81 into the input data format for the event display process S330. In this embodiment, the logging setting data 42, the collected data 70, and the event logging collected data 80 are provided from the external storage device 111. That is, the logging file analysis and conversion process S340 reads these data from the external storage device 111 and uses them.

[0120] The display control process S350 includes a process of providing variable data associated with collection times obtained by the logging file analysis / conversion process S340 to the program display process S310 and the waveform display process S320. The display control process S350 also includes a process of providing event log data 81 associated with event detection times to the event display process S330. Furthermore, the display control process S350 includes a process of interlocking the displays of the program display process S310, the waveform display process S320, and the event display process S330.

[0121] <User program display> 23 shows an example of the program display processing S310. The program display processing S310 includes an operation UI processing S311, a variable value display control processing S312, a user program display processing S313, a comparison processing S314, and a warning processing S315.

[0122] The operation UI process S311 receives information corresponding to operations performed on the input device 303 by the user of the collected data display device 300. The variable value display control process S312 controls the display of the value of the target variable according to the information received by the operation UI process S311 and information related to the linked operation from the display control process S350. The user program display process S313 displays the user program included in the project data 41, and also displays the value of the target variable under the control of the variable value display control process S312.

[0123] 24 shows a first example of a user program display screen by the collected data display device 300. This display screen is displayed on the display device 305 by the CPU 301 executing the program display process S310. In this screen example, a UI screen 420 generated by the operation UI process S311 is displayed superimposed on a user program display screen 410 generated by the program display process S310. In addition, a diagram (e.g., a ladder program) representing the contents of the user program included in the project data 41 is created by the program display process S310 and displayed on the user program display screen 410.

[0124] The UI screen 420 includes a frame advance button 421, a seek bar 422, a time input field 423, and a display selection section 424. The frame advance button 421 and the seek bar 422 accept instructions to sequentially update the display of the target variable values ​​collected at each collection timing. The time input field 423 accepts the time of collection of the target variable values ​​to be displayed. The time input field 423 also has a function of displaying the time of collection timing specified using the frame advance button 421 or the seek bar 422.

[0125] When the operation UI processing S311 detects the collection timing specified using the frame advance button 421 or the seek bar 422, the time representing this timing is displayed in the time input field 423. Furthermore, when the user specifies a time using the time input field 423, the operation UI processing S311 recognizes the collection timing at which the value of the target variable should be displayed.

[0126] The display selection unit 424 accepts the selection of the status to be displayed. Using the display selection unit 424, the user can select, for example, a mode that displays only data related to PLC 1a, a mode that displays only data related to PLC 1b, or a mode that displays only data related to PLC 1 in an operating state.

[0127] The variable value display control processing S312 acquires information indicating the value of the target variable associated with the collection timing in the collected data 70 and the collection timing specified using the operation UI processing S311 (i.e., the collection timing at which the value of the target variable should be displayed). Here, the collected data 70 is acquired by the logging file analysis / conversion processing S340 and passed to the display control processing S350. The variable value display control processing S312 acquires the collected data 70 from the display control processing S350. The variable value display control processing S312 also sends the value of the target variable at the specified collection timing to the program display processing S310. The program display processing S310 then displays the value of the target variable at the specified collection timing on the user program display screen 410.

[0128] As shown in FIG. 24, the user program display screen 410 includes an ON / OFF display 411 and a variable display 412. When a program component representing an ON or OFF state is selected as a target variable, the ON / OFF display 411 displays the variable value by filling in the element with a color corresponding to the state represented by the value of the variable. In this example screen, the ON / OFF display 411 displays the elements in the user program to be collected in black, but in reality, for example, they may be displayed in red for "ON" and in blue for "OFF." When a numerical value related to a program component is selected as a target variable, the variable display 412 displays the numerical value as the variable value.

[0129] In this way, the program display process S310 displays the collection times and the values ​​of the target variables collected at those collection times in association with each other on the display device 305.

[0130] The comparison process S314 compares the consistency between the project data 41, the project data information 61 in the logging setting data 42, and the project data information 61 in the collected data 70. The comparison process S314 also compares the consistency between the logging setting data 42 of PLC 1a and PLC 1b and the project data information 61 in the collected data 70. The warning process S315 outputs a predetermined warning when the comparison process S314 finds that the project data 41 and the project data information 61 do not match each other.

[0131] 25 shows an example of a warning screen displayed on the display device 305. The warning by the warning process S315 is realized, for example, by displaying a warning screen such as that shown in FIG. 25 on the display device 305. This warning screen includes a warning dialog 430 for informing the user that the project data 41 and the project data information 61 do not match. Note that, since this is useful when debugging a user program, it is preferable that the collected data display device 300 display the values ​​of the target variables even when a warning is output.

[0132] <Display variable data> Fig. 26 shows an example of the waveform display process S320. As shown in Fig. 26, the waveform display process S320 includes an operation UI process S321, a variable value display control process S322, and a waveform creation process S323.

[0133] The operation UI processing S321 is substantially the same as the operation UI processing S311 shown in Fig. 23, and receives information in response to an operation on the input device 303 by the user of the collected data display device 300. The variable value display control processing S322 is substantially the same as the variable value display control processing S312 shown in Fig. 23, and controls the display of the value of the target variable in response to the information received by the operation UI processing S321 and information related to the linked operation from the display control processing S350. The waveform creation processing S323 creates and displays a waveform and / or a graph indicating the relationship between the collection timing and the target variable, based on the value of the target variable associated with the collection timing, which is provided by the display control processing S350.

[0134] 27 shows a first example of a waveform display screen for the collected data 70. A waveform display screen 440 is displayed on the display device 305 by the CPU 301 shown in FIG.

[0135] The waveform 441 displayed on the waveform display screen 440 is created by the waveform display process S320. In the example screen shown in Fig. 27, the waveforms 441 corresponding to "variable 1," "variable 2," and "variable 3" are represented by a solid line, a dashed line, and a dashed-dotted line, respectively. In addition, a time display area 442 is set for the waveform 441 and indicates the time at which the variable values ​​were collected. In the following description, the terms "waveform" and "graph" are interchangeable.

[0136] When the operation UI processing S321 receives an instruction to change the collection time range, the waveform display processing S320 displays a waveform 441 for the specified collection time range on the waveform display screen 440. The collection time range is specified by the user, for example, using the UI screen 420 shown in Fig. 24. Furthermore, the time corresponding to the collection timing identified by the thick line 443 (11:20 PM in Fig. 27) is displayed in the time display field 444 by the waveform display processing S320. The thick line 443 is set, for example, by the user specifying the time.

[0137] The variable value display control process S322 acquires the value of the target variable associated with the collection timing in the collected data 70. The variable value display control process S322 also recognizes the time corresponding to the collection timing displayed in the time display field 444. The variable value display control process S322 then displays the value corresponding to the intersection of the waveform 441 and the thick line 443 in the variable value display field 445 as the value of the target variable at the time specified by the user. For example, the value of variable 3 at 23:20 is displayed as "200."

[0138] The waveform display screen 440 includes a display selection section 446. The display selection section 446 accepts the selection of the state to be displayed, similar to the display selection section 424 included in the UI screen 420 shown in Fig. 24. That is, the user can use the display selection section 446 to select a mode that displays only data related to PLC 1a, a mode that displays only data related to PLC 1b, or a mode that displays only data related to PLC 1 in an operating state. In Fig. 27, the mode that displays only data related to PLC 1 in an operating state is selected.

[0139] Here, the waveform display process S320 creates a graph of variable values ​​based on collected data 70 stored in the external storage device 111. The collected data 70 includes sample data 74 collected at each collection time in each PLC 1. In this example, it is assumed that the collected data 70 obtained in each of PLC 1a and PLC 1b is stored in the external storage device 111, as shown in FIG.

[0140] In this case, the waveform display process S320 extracts sample data 74 according to the mode selected using the display selection unit 446 and creates a graph. For example, when "PLC 1a" is selected, the waveform display process S320 creates and displays a graph based on the variable data collected by PLC 1a. When "PLCs in operation" is selected, the waveform display process S320 extracts variable data from sample data whose operation / standby status information is "operational" from the variable data collected by PLC 1a and the variable data collected by PLC 1b, and creates a graph. For example, in the collected data 70 shown in FIG. 28, PLC 1a and PLC 1b were in the operation status and standby status, respectively, before 11:30 PM, and PLC 1a and PLC 1b were in the standby status and operation status, respectively, after 11:31 PM. In this case, the graph for the time period before 11:30 PM is created based on the variable data collected by PLC 1a, and the graph for the time period after 11:31 PM is created based on the variable data collected by PLC 1b.

[0141] In this way, the collected data display device 300 can display the change in the value of each target variable over time using a waveform or a graph by executing the waveform display process S320. At this time, the collected data display device 300 can display the change in the value of each target variable using a waveform or a graph depending on the operating state of each PLC 1.

[0142] <Display Event> Fig. 29 shows an example of the event display processing S330. As shown in Fig. 29, the event display processing S330 includes operation UI processing S331, event display control processing S332, and event display creation processing S333.

[0143] 23, and receives information in response to an operation on the input device 303 by the user of the collected data display device 300. The event display control process S332 controls the display of events in response to the information received by the operation UI process S331 and information related to linked operations from the display control process S350. The event display creation process S333 creates and displays a screen showing the relationship between the event detection time and the content of the event that occurred, based on the event log data 81 of the target event associated with the event detection time, which is provided by the display control process S350.

[0144] Fig. 30 shows a first example of an event display screen. The event display screen 450 shown in Fig. 30 is displayed on the display device 305 when the CPU 301 executes the event display process S330. The event log data 81 shown in Fig. 19 is displayed in chronological order on the event display screen 450. The display contents of the event display screen 450 are created based on the event log data 81 by the event display creation process S333. Specifically, this is as follows.

[0145] "Event type" corresponds to the value of event type 81a included in event log data 81, and indicates the type of event that has occurred so that the user can determine. "Operating / standby" corresponds to the value of operating / standby status 81c included in event log data 81, and indicates whether PLC1 was in an operating state or a standby state when the event occurred so that the user can determine.

[0146] "Status" corresponds to the value of occurrence status 81b included in event log data 81, and is displayed so that the user can determine whether an event occurred or has been restored. For example, if communication has been restored after a temporary communication failure, "restored" is displayed. "Date and time" corresponds to the value of event detection time 81d included in event log data 81, and is displayed so that the user can determine the time when the event occurred.

[0147] The "event name" corresponds to the value of the event code 81f included in the event log data 81, and indicates the type of event that has occurred so that the user can determine the content of the event that has occurred. The "occurrence device" and "occurrence location" correspond to the value of the occurrence source information 81e included in the event log data 81, and indicate the type of device in which the event has occurred and the node in the connection order from the PLC 1 in question where the event has occurred so that the user can determine the type of device in which the event has occurred and the node in the connection order from the PLC 1 in question where the event has occurred.

[0148] The display selection unit 451 accepts the selection of the status to be displayed, similar to the display selection unit 424 shown in Fig. 24 or the display selection unit 446 shown in Fig. 27. That is, the user can use the display selection unit 451 to select a mode that displays only data related to PLC 1a, a mode that displays only data related to PLC 1b, or a mode that displays only data related to PLC 1 in an operating state. In Fig. 30, the mode that displays only events related to PLC 1a is selected.

[0149] The user can use the operation unit 452 to display events for a desired time period on the event display screen 450. The filter unit 453 provides a filter function for extracting events desired by the user and a sort function for arranging events in an order desired by the user. The operation unit 452 and the filter unit 453 are realized by the operation UI processing S331.

[0150] The event or event type selected in the event display creation process S333 may be highlighted on the event display screen 450. In the example shown in Fig. 30, the event related to the fifth record is highlighted.

[0151] In this way, by executing the event display process S330, the collected data display device 300 correlates the event occurrence time with the event log data 81 collected at that time and displays them. That is, each event that occurred in the control system 8 is displayed in association with the occurrence time.

[0152] 31 shows a second example of the event display screen. In the second example, the event display screen 450 displays an "operating / standby definition." The "operating / standby definition" corresponds to the operating / standby definition information 71 set for the PLC 1 that detected the event, and indicates the state (operating or standby) of the PLC 1 at the time of initial setup of the control system 8. In this example, at the time of initial setup of the control system 8, PLC 1a is set to an operating state, and PLC 1b is set to a standby state.

[0153] In the example shown in FIG. 31, "All PLCs 1" is selected in the display selection section 451. In this case, events detected in PLC 1a and events detected in PLC 1b are displayed. In this situation, the user can identify the PLC 1 that detected the event by referring to the "operating / standby definition." For example, records 1 to 7 have an "operating / standby definition" of "operating," so they represent events that occurred in PLC 1a. Note that the event display screen 450 may directly display the PLC (PLC 1a or PLC 1b) that detected the event, instead of the "operating / standby definition."

[0154] 31, record 6 recognizes that PLC 1a detected a minor failure in I / O module 3. Record 7 recognizes that the operating state of PLC 1a has switched from an operating state to a standby state. Record 8 recognizes that the operating state of PLC 1b has switched from a standby state to an operating state.

[0155] <Analysis and display control of logging files> 32 shows an example of the logging file analysis / conversion process S340. The logging file analysis / conversion process S340 includes a logging setting data acquisition process S341, a collected data acquisition process S342, an event logging collected data acquisition process S343, an operating / standby determination process S344, and a display data creation process S345.

[0156] The logging setting data acquisition process S341 acquires the logging setting data 42 from the external storage device 111. The collected data acquisition process S342 acquires the collected data 70 from the external storage device 111. The event logging collected data acquisition process S343 acquires the event logging collected data 80 from the external storage device 111. Note that the logging setting data acquisition process S341, the collected data acquisition process S342, and the event logging collected data acquisition process S343 provide the function of the reading unit 311 shown in FIG. 21 .

[0157] The operating / standby determination process S344 searches for traces of information related to the operating state (operating or standby) of PLC 1 in the collected data 70 read from the external storage device 111. Specifically, the operating / standby determination process S344 refers to the operating / standby state information 76 in each sample data 74 included in the collected data 70, thereby determining whether the PLC 1 was in an operating state or a standby state at the time the sample data 74 was collected.

[0158] The display data creation process S345 creates display data of the sample data 74 for the program display process S310 and the waveform display process S320 based on the logging setting data 42 and the collected data 70. Furthermore, when the operating / standby determination process S344 detects that the operating / standby state information 76 in the sample data 74 indicates an operating state, the display data creation process S345 may create highlighted display data indicating that the value of the target variable is a value collected by PLC 1 in an operating state.

[0159] 33 is a flowchart showing an example of the logging file analysis and conversion process S340. The process of this flowchart is executed by the readout unit 311 and the display control unit 313 of the collected data display device 300 shown in FIG.

[0160] The external storage device 111 stores logging setting data 42, collected data 70, and event logging collected data 80 for each of the multiple redundant PLCs 1. The processes of S3401 to S3406 in the flowchart shown in Fig. 33 are executed for each of the multiple redundant PLCs 1. In the following description, one PLC 1 selected from the multiple redundant PLCs 1 may be referred to as the "target PLC."

[0161] In S3401, the reading unit 311 obtains the logging setting data 42, collected data 70, and event logging collected data 80 for the target PLC from the external storage device 111. This process corresponds to the logging setting data obtainment process S341, the collected data obtainment process S342, and the event logging collected data obtainment process S343 shown in FIG. 32. The collected data 70 obtained in each PLC 1 includes multiple sample data 74, as shown in FIG. 15. Each sample data 74 includes a timestamp 75, operating / standby state information 76, and one or more variable data 77, as shown in FIG. 16.

[0162] In S3402, the display control unit 313 initializes a counter. The counter value of this counter identifies each sample data 74 in the collected data 70 obtained in the target PLC. In other words, the counter value specifies the collection time of the variable data in the logging process.

[0163] In S3403, the display control unit 313 detects the operating state (operating state or standby state) of the target PLC. That is, it is detected whether the target PLC was in an operating state or a standby state at the collection time specified by the counter value. The operating state is represented by operating / standby state information 76, as shown in FIG. 16. This process corresponds to the operating / standby determination process S344 shown in FIG. 32.

[0164] In S3404, the display control unit 313 creates display data including the collection time (timestamp 75) and the variable value (variable data 77) based on the sample data 74 specified by the counter value. Information indicating the operating state detected in S3403 is added to this display data.

[0165] In S3405 and S3406, the display control unit 313 increments the counter. If the counter value has not reached the number of sample data, the display control unit 313 returns to S3403. That is, the processes of S3403 and S3404 are executed for the sample data 74 collected at the next collection time. When the processes of S3403 and S3404 have been executed for all sample data 74, the display control unit 313 proceeds to S3407.

[0166] In S3407, the display control unit 313 determines whether display data has been created for all of the multiple redundant PLCs 1. If there are any PLCs 1 for which display data has not been created, the process of the display control unit 313 returns to S3401. That is, the process of creating display data for the next PLC 1 is executed. When display data has been created for all PLCs 1, the process of the display control unit 313 ends.

[0167] 34 shows an example of the display control process S350. The display control process S350 includes a variable value providing process S351, a playback control process S352, and a sample data obtaining process S353.

[0168] The variable value providing process S351 provides the collected data 70 obtained by the logging file analysis and conversion process S340 as the value of the target variable associated with the collection timing to the program display process S310 and the waveform display process S320. The provided collected data 70 may be accompanied by information indicating the operating state (operating state or standby state) of each PLC 1.

[0169] Upon receiving an instruction to link the display screens, the playback control process S352 controls the program display process S310, waveform display process S320, and event display process S330 to link the contents of the user program display screen 410, waveform display screen 440, and event display screen 450. The playback control process S352 includes processing for matching the timing specified using the UI screen 420 shown in Fig. 24 with the time indicated by the thick line 443 on the waveform display screen 440 shown in Fig. 27. The playback control process S352 may also include processing for displaying events in a time period near the timing specified using the UI screen 420 on the event display screen 450 shown in Fig. 30.

[0170] The sample data acquisition process S353 acquires collected data 70 from the logging file analysis / conversion process S340 and passes it to the variable value provision process S351. When any one PLC 1 (PLC 1a or PLC 1b) is designated in the display selection unit 424 shown in Fig. 24 or the display selection unit 446 shown in Fig. 27, the sample data acquisition process S353 provides sample data 74 collected in the designated PLC 1. When the display selection unit 424 or 446 designates that data for a PLC 1 in an operating state be displayed, the sample data acquisition process S353 extracts and provides sample data whose operating / standby status information 76 is "operating" from the sample data 74 collected in each of the multiple PLCs 1 (PLC 1a and PLC 1b).

[0171] In this way, the collected data 70 obtained by the logging file analysis and conversion process S340 is provided to the program display process S310 and the waveform display process S320. At this time, in the collected data 70, the sample data 74 collected at each collection time includes operating / standby state information 76. Therefore, in a control system 8 in which multiple PLCs 1 are redundantly configured, the collected data display device 300 can extract and display only the variable data of PLCs 1 in an operating state. Furthermore, when displaying the variable data of a desired PLC 1, the collected data display device 300 can also distinguish and display whether the variable data is for when that PLC 1 is in an operating state or when that PLC 1 is in a standby state.

[0172] 35 shows a second example of a user program display screen. In the second example, the user selects "PLC 1a" using the display selection unit 424. The user also specifies a desired time using the frame advance button 421 or the seek bar 422. The display data creation process S345 then displays the status of the user program being executed by PLC 1a at the specified time. The example shown in FIG. 35 indicates that the values ​​of variables 1, 2, and 3 used by PLC 1a were "180," "20," and "200," respectively, at the specified time.

[0173] The display data creation process S345 detects the operating state of PLC 1a by referencing the operating / standby state information 76 in the sample data 74 collected at the specified time. In this example, it is assumed that the operating / standby state information 76 at the specified time indicates an "operating state." In this case, the display of the user program display screen 410 is created to indicate that the PLC 1 selected by the user is in an operating state. In the example shown in FIG. 35, the user program display screen 410 is surrounded by a red frame.

[0174] Furthermore, the display data creation process S345 provides a redundancy status display section 461 near the user program display screen 410. The redundancy status display section 461 indicates whether the selected PLC 1 is in an operating state or a standby state at the specified time. The redundancy status display section 461 may be displayed within the user program display screen 410.

[0175] 36 shows a third example of a user program display screen. In this third example, the user selects "PLC1" using the display selection unit 424. In this case, the display data creation process S345 displays user program display screens corresponding to multiple redundant PLCs 1 (i.e., PLC1a, PLC1b) side by side. Here, it is assumed that the operating / standby status information 76 of PLC1a and PLC1b at the specified time indicates "operating status" and "standby status," respectively. The user program display screen corresponding to PLC1a is surrounded by a red frame, and the user program display screen corresponding to PLC1b is surrounded by a blue frame.

[0176] 37 shows variations of the waveform display screen for collected data. Sample data 74 collected by PLC 1a and PLC 1b is stored in the external storage device 111. As shown in FIG. 16, each sample data 74 includes a timestamp 75, operating / standby status information 76, and variable data 77. The collected data display device 300 then executes a waveform display process S320, a logging file analysis / conversion process S340, and a display control process S350 to create and display a waveform display screen 440.

[0177] In the example shown in FIG. 37A, the user selects "PLC1a" using the display selection unit 446. In this case, a graph showing changes in the variable values ​​calculated by PLC1a is displayed. Here, it is assumed that PLC1a was set to standby before 23:20 and set to operating after 23:20. In other words, it is assumed that the operating state of PLC1a switched from standby to operating at 23:20. The operating state of PLC1a is recorded as operating / standby state information 76 for each collection time of sample data 74. Therefore, on the waveform display screen 440, the graph of the variable values ​​before 23:20 is represented by a dashed line because PLC1a was in standby, and the graph of the variable values ​​after 23:20 is represented by a solid line because PLC1a was in operating.

[0178] 37B, the graphs for PLC1a and PLC1b are displayed side by side. Assume that at 23:20, the operating state of PLC1a switches from standby to active, and the operating state of PLC1b switches from active to standby. In this case, the graph of the variable values ​​of PLC1a is shown with a dashed line indicating that it was in standby before 23:20, and with a solid line indicating that it was in active after 23:20. Furthermore, the graph of the variable values ​​of PLC1b is shown with a solid line indicating that it was in active before 23:20, and with a dashed line indicating that it was in standby after 23:20.

[0179] 37C, the user selects "operating only" using the display selection unit 446. In this case, only the changes in the variable values ​​calculated by PLC 1, which was in an operating state, are displayed on the waveform display screen 440. Specifically, before 11:20 PM, the changes in the variable values ​​calculated by PLC 1b are displayed, and after 11:20 PM, the changes in the variable values ​​calculated by PLC 1a are displayed.

[0180] 38 is a diagram illustrating the complementation of a waveform display. In this example, at time T1, the operating state of PLC 1a switches from an operating state to a standby state. Thereafter, at time T2, the operating state of PLC 1b switches from a standby state to an operating state. In other words, during the period from time T1 to time T2, both PLCs 1a and 1b are in a standby state. In this situation, it is assumed that the user selects "operating only" using the display selection unit 446.

[0181] In this case, the collected data display device 300 creates a graph showing changes in variable values ​​by extracting sample data 74 whose operating / standby state information 76 is "operating state." That is, in the example shown in FIG. 38, a graph showing changes in variable values ​​calculated by PLC 1a is created before time T1, and a graph showing changes in variable values ​​calculated by PLC 1b is created after time T2. However, no PLC 1 is set to operating state during the period from time T1 to T2. Therefore, the collected data display device 300 performs an interpolation process based on sample data 74 collected by either PLC 1a or PLC 1b, which is set to standby state, to create and display a graph showing changes in variable values ​​during the period from time T1 to T2. The graph obtained by the interpolation process may be drawn with dashed lines so that graphs for other time periods can be distinguished.

[0182] Although the disclosed embodiments and their advantages have been described in detail above, it will be appreciated that those skilled in the art may make various modifications, additions, and omissions without departing from the scope of the invention as clearly set forth in the claims. [Explanation of symbols]

[0183] 1(1a, 1b) PLC 2 PC 3 I / O modules 4. Communication Module 5 Field devices 7. Information processing equipment 8. Control System 20 Support equipment 21 Program Analysis Unit 22 Selection section 24 Setting information output section 41 Project Data 42 Logging configuration data 70 Collected Data 74 Sample Data 75 Timestamp 76 Operating / standby status information 77 Variable Data 80 Event logging collected data 81 Event Log Data 101 CPU 102 memory 111 External storage device 121 Control Unit 122 Ring Buffer 123 Preservation Processing Department 300 Collected data display device 440 Waveform display screen 450 Event Display Screen

Claims

1. 1. A display device for displaying data collected in a control system provided with redundancy by a first programmable logic controller and a second programmable logic controller, the display device comprising: the first programmable logic controller and the second programmable logic controller each include a control unit; When the programmable logic controller is in an operating state, the control unit a program execution process for executing a control program for controlling an external device; an equalization data transfer process for transferring the execution result of the program execution process to the other programmable logic controller as equalization data; a logging process for collecting variable data representing values ​​of variables used in the control program, and When the programmable logic controller is in a standby state, the control unit an equalization data expansion process for expanding the equalization data received from the other programmable logic controller; a logging process for collecting variable data obtained by the equalization data expansion process, and the control unit stores in a storage unit collected data in which a data collection time, which is a time when the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the programmable logic controller was in an operating state or a standby state at the data collection time are associated with each other; The display device includes: a reading unit that reads the collected data from the storage unit; a display control unit that creates a graph showing changes in the variable data based on the collected data; a display unit that displays the graph created by the display control unit, The display control unit extracting the variable data associated with the status information representing the operating status from the collected data; In the process of creating a graph showing changes in the extracted variable data, for a period when neither the first programmable logic controller nor the second programmable logic controller is in an operating state, the graph is supplemented with variable data collected in either the first programmable logic controller or the second programmable logic controller. A display device characterized by:

2. 1. A display device for displaying data collected in a control system provided with redundancy by a first programmable logic controller and a second programmable logic controller, the display device comprising: the first programmable logic controller and the second programmable logic controller each include a control unit; When the programmable logic controller is in an operating state, the control unit a program execution process for executing a control program for controlling an external device; an equalization data transfer process for transferring the execution result of the program execution process to the other programmable logic controller as equalization data; a logging process for collecting variable data representing values ​​of variables used in the control program, and When the programmable logic controller is in a standby state, the control unit an equalization data expansion process for expanding the equalization data received from the other programmable logic controller; a logging process for collecting variable data obtained by the equalization data expansion process, and the control unit stores in a storage unit collected data in which a data collection time, which is a time when the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the programmable logic controller was in an operating state or a standby state at the data collection time are associated with each other; The display device includes: a reading unit that reads the collected data from the storage unit; a display control unit that creates a graph showing changes in the variable data based on the collected data; a display unit that displays the graph created by the display control unit, When an instruction to display the variable data collected in the first programmable logic controller is given, the display control unit creates a graph that enables the variable data for a period in which the status information indicates an operating state and the variable data for a period in which the status information indicates a standby state to be distinguished from each other, based on the collected data stored in the storage unit by the first programmable logic controller. A display device characterized by:

3. 1. A display device for displaying data collected in a control system provided with redundancy by a first programmable logic controller and a second programmable logic controller, the display device comprising: the first programmable logic controller and the second programmable logic controller each include a control unit; When the programmable logic controller is in an operating state, the control unit a program execution process for executing a control program for controlling an external device; an equalization data transfer process for transferring the execution result of the program execution process to the other programmable logic controller as equalization data; a logging process for collecting variable data representing values ​​of variables used in the control program, and When the programmable logic controller is in a standby state, the control unit an equalization data expansion process for expanding the equalization data received from the other programmable logic controller; a logging process for collecting variable data obtained by the equalization data expansion process, and the control unit stores in a storage unit collected data in which a data collection time, which is a time when the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the programmable logic controller was in an operating state or a standby state at the data collection time are associated with each other; The display device includes: a reading unit that reads the collected data from the storage unit; a display control unit that creates a graph showing changes in the variable data based on the collected data; a display unit that displays the graph created by the display control unit, the display control unit creates a first graph based on the collected data stored in the storage unit by the first programmable logic controller, which allows variable data for a period during which the status information represents an operating state to be distinguished from variable data for a period during which the status information represents a standby state, and creates a second graph based on the collected data stored in the storage unit by the second programmable logic controller, which allows variable data for a period during which the status information represents an operating state to be distinguished from variable data for a period during which the status information represents a standby state, The display unit displays the first graph and the second graph side by side. A display device characterized by:

4. 1. A display device for displaying data collected in a control system provided with redundancy by a first programmable logic controller and a second programmable logic controller, the display device comprising: the first programmable logic controller and the second programmable logic controller each include a control unit; When the programmable logic controller is in an operating state, the control unit a program execution process for executing a control program for controlling an external device; an equalization data transfer process for transferring the execution result of the program execution process to the other programmable logic controller as equalization data; a logging process for collecting variable data representing values ​​of variables used in the control program, and When the programmable logic controller is in a standby state, the control unit an equalization data expansion process for expanding the equalization data received from the other programmable logic controller; a logging process for collecting variable data obtained by the equalization data expansion process, and the control unit stores in a storage unit collected data in which a data collection time, which is a time when the variable data was collected, the variable data collected at the data collection time, and status information indicating whether the programmable logic controller was in an operating state or a standby state at the data collection time are associated with each other; The display device includes: a reading unit that reads the collected data from the storage unit; a display control unit that creates a graph showing changes in the variable data based on the collected data; a display unit that displays the graph created by the display control unit, the display control unit creates a first graph portion representing a change in the variable data during a period in which the first programmable logic controller was in an operating state and a second graph portion representing a change in the variable data during a period in which the second programmable logic controller was in an operating state, based on the collected data stored in the storage unit by the first programmable logic controller and the collected data stored in the storage unit by the second programmable logic controller; The display unit displays the first graph portion and the second graph portion in combination. A display device characterized by:

Citation Information

Patent Citations

  • Digital controller

    JP1991244002A

  • Duplexing system for programmable controller

    JP1992049402A

  • Doubled data synchronization system

    JP2000242316A

  • Controller and controller control method

    JP2020087179A

  • Facility monitoring system and communication method in facility monitoring system

    JP2020091618A