Programmable display device and programmable logic controller system including the same

The programmable display device addresses the complexity of PLC operations by allowing touch-based navigation and data display, enhancing troubleshooting efficiency in FA systems.

JP2026001735APending Publication Date: 2026-01-07KEYENCE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025155581
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-03-29
Filing Date
2025-09-19
Publication Date
2026-01-07

AI Technical Summary

Technical Problem

On-site personnel in FA systems face challenges in quickly identifying and resolving issues due to the complexity of ladder programs and the difficulty in understanding programmable logic controller (PLC) operations, leading to prolonged downtime when problems arise.

Method used

A programmable display device connected to a PLC that stores time-series data, allowing for touch-based operations to switch between pages and display device waveforms, enabling easy access to relevant information for troubleshooting, and includes features like device waveform overlay, real-time data display, and image integration from external cameras.

Benefits of technology

Facilitates quick identification of problem causes by providing intuitive access to device waveforms and relevant data, reducing system downtime by enabling on-site personnel to resolve issues efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026001735000001_ABST
    Figure 2026001735000001_ABST
Patent Text Reader

Abstract

To easily solve a trouble occurring at an FA site at the site.SOLUTION: The programmable display 50 includes a display-data generating section 51a that generates display-data for pages corresponding to a plurality of different page identifiers, a display section 55 that displays the pages corresponding to the page identifiers on the display screen based on the display-data generated by the display-data generating section 51a, and a touch detecting section 53 that detects a touch operation on the display screen of the display section 55. When a preset second touch operation is detected by the touch detection unit 53, display data for displaying a device waveform of a device specified by the target device setting 52c is generated based on the time-series data stored in the PLC1, and the display unit 55 is configured to display the device waveform on the display screen based on the display data generated by the display data generation unit 51a.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a programmable display and a programmable logic controller system including the same. [Background technology]

[0002] In FA (Factory Automation) systems, programmable logic controllers (hereafter referred to as "PLCs") are used as control devices for controlling input / output devices such as sensors, motors, and actuators. The system designer building the FA system considers the sequence in which each input / output device should operate and creates a ladder program to realize that sequence. Ladder programs are designed using a general-purpose computer with a dedicated application program for editing programs installed. After designing, debugging, and creating the ladder program, the system designer transfers the completed ladder program to the PLC and has it executed by the PLC.

[0003] Meanwhile, while the PLC is operating, the status of the input / output devices is monitored on-site using a programmable display connected to the PLC. Various functional components, such as lamps and switches, are arranged on the display screen of the programmable display, and each component is assigned a specific function. The display data for the display screen is designed using a general-purpose PC with a dedicated application program for editing the display data installed. Like the system designer mentioned above, on-site personnel who maintain FA systems typically understand the sequence in which each input / output device should operate. However, because there are many different ways to write ladder programs to efficiently implement those sequences, it takes a typical on-site personnel a long time to read and understand the ladder program descriptions.

[0004] When a problem occurs during the operation of a production line equipped with an FA system, the production line may come to a halt. When a problem occurs in a typical programmable display, an alarm lamp (part image) located on the display screen lights up or flashes to notify the on-site personnel that a problem has occurred.

[0005] However, there are many cases where the cause of a problem cannot be determined by checking the alarm lamp alone. These include simple problems that can be solved immediately on-site, and in such cases, having on-site personnel solve the problem immediately will lead to early recovery of the system. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-029829 Summary of the Invention [Problem to be solved by the invention]

[0007] An object of the present invention is to provide a programmable display device that makes it easy to solve problems that occur in an FA site on-site, and a programmable logic controller system that includes the same.

[0008] A programmable display according to a first aspect of the present invention is connected to a programmable logic controller that stores time-series data relating to device values ​​of devices that are storage areas referenced by a user program based on predetermined storage conditions. The programmable display includes: a setting storage unit that stores, with a screen on which a plurality of components for monitoring or changing the states of the devices of the programmable logic controller are arranged as a page, component settings for assigning the devices to each of the components arranged on the screen, page settings for managing the component settings on a page-by-page basis using page identifiers that identify a plurality of different pages, and target device settings for identifying a target device on which a device waveform, which represents time-series data stored in the programmable logic controller, is to be displayed; a display data generation unit that generates display data for each page corresponding to the plurality of different page identifiers based on the component settings and page settings stored in the setting storage unit; a display unit that displays the page corresponding to the page identifier on the display screen based on the display data generated by the display data generation unit; and a touch detection unit that detects a touch operation on the display screen of the display unit. When the touch detection unit detects a preset first touch operation on the display screen, the display data generation unit generates display data for switching from the current page to another page based on the page setting, and when the touch detection unit detects a preset second touch operation on the display screen, generates display data for displaying the device waveform of the device specified by the target device setting based on time-series data stored in a programmable logic controller. The display unit displays the other page or the device waveform on the display screen based on the display data generated by the display data generation unit. With the above configuration, it is possible to selectively perform an operation of switching to a different page and an operation of displaying the device waveform of the time-series data stored in a programmable logic controller by a touch operation on the programmable display.In particular, device waveforms can be checked on the display screen of the programmable display, making it easy to obtain information needed to quickly resolve any problems that occur at the FA site.

[0009] Furthermore, in a programmable display according to a second aspect of the present invention, in addition to the above configuration, the setting storage unit stores default screen information indicating a default screen having a predetermined format for displaying the device waveform, and when the touch detection unit detects the predetermined second touch operation on the display screen, the display data generation unit can generate display data for displaying the device waveform of the device specified by the target device setting by overlaying the time series data on the default screen based on the default screen information and the time series data.

[0010] Furthermore, in a programmable display according to a third aspect of the present invention, in addition to any of the above configurations, when the touch detection unit detects a change operation (e.g., a slide operation of a time designation cursor) for changing the display range of the device waveform while the device waveform is being displayed on the display screen by the display unit, the display data generation unit can extract time series data from the time series data that corresponds to the changed display range specified by the change operation, thereby generating display data for displaying the device waveform in the changed display range.

[0011] Furthermore, in a programmable display according to a fourth aspect of the present invention, in addition to any of the above configurations, the component settings stored in the setting memory unit further include settings for a waveform display component for displaying the device waveform, and the second touch operation is a touch operation on the waveform display component arranged on the first page displayed on the display screen.

[0012] Furthermore, in a programmable display according to a fifth aspect of the present invention, in addition to any of the above configurations, the second touch operation is a specific operation on a non-placement area on the display screen other than the area on the first page where the display component is placed.

[0013] Furthermore, in addition to any one of the above configurations, a programmable display device according to a sixth aspect of the present invention is such that the specific operation is any one of a long press, a flick, a pinch-in, and a pinch-out on the non-location area.

[0014] Furthermore, in a programmable display according to a seventh aspect of the present invention, in addition to any of the above configurations, the component settings stored in the setting memory unit further include settings for an acquisition device that repeatedly acquires time series data of device values ​​temporarily recorded in a temporary recording unit of the programmable logic controller, and settings for a real-time display component for sequentially displaying the time series data of the acquisition device, and the display data generation unit is configured, when a touch operation on the real-time display component is detected, to generate display data for sequentially displaying the device values ​​on the display screen based on the time series data of the device values ​​of the acquisition device temporarily recorded in the temporary recording unit of the programmable logic controller.

[0015] Furthermore, in addition to any of the above configurations, a programmable display according to an eighth aspect of the present invention is configured such that, when predetermined storage conditions are met, image data input from an external camera connected to the programmable logic controller is temporarily stored in the programmable logic controller in association with information regarding the acquisition time at which the image data was acquired, and the programmable display causes the programmable logic controller system to acquire the driving record data and, based on the information regarding the acquisition time contained in the driving record data, display an image based on the image data contained in the driving record data on the display unit.

[0016] Furthermore, a ninth aspect of the present invention provides a programmable display device having any of the above configurations, which is configured to, when a predetermined storage condition is met, store the user program that was being executed by the programmable logic controller at the time the storage condition was met, in association with the driving record data. The programmable display device is configured to acquire the stored driving record data from the programmable logic controller and, based on information regarding the acquisition time included in the driving record data, display a device value corresponding to the acquisition time on the display unit over the user program included in the driving record data.

[0017] Furthermore, in addition to any of the above configurations, a programmable display device according to a tenth aspect of the present invention is configured such that, in a state in which the programmable logic controller collects event data corresponding to a plurality of events that occur in a programmable logic controller or a controlled device controlled by the programmable logic controller, and associates the event data with the occurrence time of the events and stores them in chronological order, when predetermined storage conditions are met, the stored event data is stored together with the driving record data so that it is associated with the driving record data, and the programmable display device acquires the stored driving record data and displays an event corresponding to the event data included in the driving record data on the display unit based on the occurrence time included in the driving record data.

[0018] Furthermore, in addition to any of the above configurations, a programmable display according to an eleventh aspect of the present invention is capable of displaying a selection screen for selecting the target device as the initial display when displaying the device waveform on the display screen.

[0019] Furthermore, a programmable display according to a twelfth aspect of the present invention, in addition to any of the above configurations, can be configured so that when the device waveforms are displayed on the display screen, the one or more target devices to be displayed can be displayed based on identification information for specifying the one or more target devices. With the above configuration, when some kind of trouble occurs during operation of the FA system, by selectively displaying device waveforms of devices that are likely to be related to the cause of the trouble, it is possible to realize a programmable display that presents information useful for identifying the cause of the trouble and is useful for early recovery.

[0020] Furthermore, a programmable display according to a thirteenth aspect of the present invention, in addition to any one of the above configurations, is capable of displaying a setting screen for setting one or more target devices and their display format when displaying the device waveforms on the display screen. With the above configuration, when some kind of trouble occurs during operation of the FA system, by selectively displaying device waveforms of devices that are likely to be related to the cause of the trouble, it is possible to realize a programmable display that presents information useful for identifying the cause of the trouble and is useful for early recovery.

[0021] Furthermore, in addition to any of the above configurations, a programmable display device according to a fourteenth aspect of the present invention further comprises a display-side communication section that communicates with the programmable logic controller.

[0022] Furthermore, a programmable display according to a fifteenth aspect of the present invention, in addition to any of the above configurations, further includes a display-side device unit that communicates with a programmable logic controller via the display-side communication unit and holds device values ​​synchronized with the device values ​​of the programmable logic controller.

[0023] Furthermore, in addition to any of the above configurations, a programmable display according to a sixteenth aspect of the present invention further includes a guidance information storage unit that stores guidance information associated with a device identified by the target device setting and that guides users in how to resolve an error event when the storage condition is met, and the display data generation unit is configured to generate display data that is stored in the guidance information storage unit and is used to display the guidance information associated with the device identified by the target device setting when the touch detection unit detects the second touch operation on the display screen.

[0024] A seventeenth aspect of the present invention provides a programmable logic controller system comprising: a programmable logic controller that stores time-series data relating to device values ​​of devices that are storage areas referenced by a user program based on predetermined storage conditions; and a programmable display connected to the programmable logic controller. The programmable logic controller comprises a program execution unit that repeatedly executes a user program, a device unit having devices that are storage areas referenced by the program execution unit, a temporary recording unit that collects device values ​​stored in the device unit and temporarily records the device values ​​in chronological order in association with information relating to the acquisition time of the device values, and a storage memory that stores the time-series data relating to the device values ​​temporarily recorded in the temporary recording unit as driving record data when the predetermined storage conditions are satisfied. The programmable display device includes a setting memory unit that stores, as a page, a screen on which a plurality of components for monitoring or changing the status of devices of a programmable logic controller are arranged, component settings for assigning the devices to each of the components arranged on the screen, page settings for managing the component settings on a page-by-page basis using page identifiers that identify a plurality of different pages, and target device settings for identifying a target device on which to display a device waveform that shows time-series data stored in the programmable logic controller in waveform form; a display data generation unit that generates display data for each page corresponding to the plurality of different page identifiers based on the component settings and page settings stored in the setting memory unit; a display unit that has a display screen, and displays the page corresponding to the page identifier on the display screen based on the display data generated by the display data generation unit; and a touch detection unit that detects a touch operation on the display screen of the display unit.The display data generation unit generates display data for switching from the current page to another page based on the page setting when the touch detection unit detects a preset first touch operation on the display screen, and generates display data for displaying the device waveform of the device specified by the target device setting based on the time-series data stored in the programmable logic controller when the touch detection unit detects a preset second touch operation on the display screen, and the display unit displays the other page or the device waveform on the display screen based on the display data generated by the display data generation unit. With this configuration, it is possible to selectively switch to a different page or display the device waveform of the time-series data stored in the programmable logic controller by a touch operation on the programmable display. In particular, since the device waveform can be viewed on the display screen of the programmable display, information for quickly resolving problems that occur at an FA site can be easily obtained.

[0025] Furthermore, in addition to the above configuration, in a programmable logic controller system according to an eighteenth aspect of the present invention, the component settings stored in the setting memory unit further include settings for a waveform display component for displaying the device waveform, and the second touch operation is a touch operation on the waveform display component arranged on the first page displayed on the display screen.

[0026] Furthermore, in addition to any of the above configurations, a programmable logic controller system according to a 19th aspect of the present invention is characterized in that the second touch operation is a specific operation on a non-placement area on the display screen other than the area on the first page where the display component is placed.

[0027] Furthermore, in addition to any of the above configurations, a programmable logic controller system according to a twentieth aspect of the present invention is such that the specific operation is any one of a long press, a flick, a pinch-in, and a pinch-out on the non-placement area.

[0028] Furthermore, in a programmable logic controller system according to a 21st aspect of the present invention, in addition to any of the above configurations, the setting memory unit of the programmable display stores an acquisition device setting for identifying an acquisition device that repeatedly acquires time series data of device values ​​temporarily recorded by the recording control unit, and the display data generation unit is configured to, when detecting a touch operation on a component for displaying the time series data of the acquisition device identified by the acquisition device setting, generate display data for sequentially displaying the device values ​​of the acquisition device based on the time series data of device values ​​temporarily recorded by the recording control unit.

[0029] Furthermore, in a programmable logic controller system according to a 22nd aspect of the present invention, in addition to any of the above configurations, the programmable logic controller further comprises an external interface connected to an external camera and receiving image data from the camera, an image recording unit which temporarily records the image data received from the camera via the external interface, and a camera unit processing unit which collects the image data received from the camera via the external interface, associates the image data with information relating to the time the image data was acquired, and temporarily stores the image data in the image recording unit; and when the storage conditions are met, the storage memory stores the image data temporarily stored in the image recording unit by the camera unit processing unit in association with the driving record data, and the programmable display device acquires the driving record data stored in the storage memory and displays an image based on the image data included in the driving record data on the display unit based on the information relating to the time the driving record data was acquired.

[0030] Furthermore, in a programmable logic controller system according to a 23rd aspect of the present invention, in addition to any of the above configurations, the programmable logic controller is configured so that when the storage condition is met, the programmable logic controller stores in the storage memory the user program that was being executed by the program execution unit at the time the storage condition was met, including the user program in the driving record data so that it is associated with the driving record data, and the programmable display is configured to acquire the driving record data stored in the storage memory and, based on information regarding the acquisition time included in the driving record data, display the device value corresponding to the acquisition time on the display unit on the user program included in the driving record data.

[0031] Furthermore, in a programmable logic controller system according to a 24th aspect of the present invention, in addition to any of the above configurations, the programmable logic controller further includes an event collection unit that collects event data corresponding to a plurality of events that occur in the programmable logic controller or a controlled device controlled by the programmable logic controller, associates the event data with the occurrence time of the events, and stores them in chronological order in the temporary recording unit, and when the storage conditions are met, the storage memory stores the event data stored by the event collection unit together with the driving record data so that it is associated with the driving record data, and the programmable display device is configured to retrieve the driving record data stored in the storage memory and display an event corresponding to the event data included in the driving record data on the display unit based on the occurrence time included in the driving record data. [Brief explanation of the drawings]

[0032] [Figure 1] FIG. 1 is a functional block diagram of a programmable logic controller system. [Figure 2] FIG. 10 is a schematic diagram showing an example of a user screen displayed on a programmable display device. [Figure 3]FIG. 1 is a functional block diagram of a programmable logic controller system. [Figure 4] FIG. 2 is a schematic diagram of a ladder program. [Figure 5] FIG. 2 is a functional block diagram of the program creation device. [Figure 6] FIG. 1 is a functional block diagram of a PLC. [Figure 7] FIG. 10 is a schematic diagram illustrating scanning of a ladder program. [Figure 8] FIG. 2 is a functional block diagram of a CPU unit. [Figure 9] FIG. 1 is a functional block diagram of a programmable logic controller system equipped with a camera unit. [Figure 10] FIG. 2 is a functional block diagram of an expansion unit. [Figure 11] FIG. 2 is a functional block diagram of a programmable display device. [Figure 12] FIG. 10 is a schematic diagram showing a device waveform display screen in replay mode. [Figure 13] FIG. 2 is a schematic diagram showing a page setting screen of the screen data creating device. [Figure 14] FIG. 2 is a schematic diagram showing a switch setting screen of the screen data creating device. [Figure 15] FIG. 15 is a schematic diagram showing a state in which "replay mode activation" is selected on the switch setting screen of FIG. 14. [Figure 16] FIG. 2 is a schematic diagram showing a target device setting screen of the screen data creating device; [Figure 17] FIG. 10 is a schematic diagram illustrating an example of a display screen on which a page switching component is arranged. [Figure 18] FIG. 10 is a schematic diagram showing another example of a display screen on which a page switching component is arranged. [Figure 19] FIG. 10 is a schematic diagram showing another example of a display screen on which a page switching component is arranged. [Figure 20] FIG. 10 is a schematic diagram showing another example of a display screen on which a page switching component is arranged. [Figure 21] FIG. 2 is a schematic diagram showing a menu screen of a programmable display device. [Figure 22] FIG. 10 is a schematic diagram showing an initial screen in a replay mode. [Figure 23] FIG. 10 is a schematic diagram showing the state in which a camera and event display screen is selected on the replay mode screen. [Figure 24] FIG. 10 is a schematic diagram showing the state in which a viewer display screen is selected on the replay mode screen. [Figure 25] FIG. 10 is a schematic diagram showing a state in which a unit display screen is selected on the replay mode screen. [Figure 26] FIG. 10 is a schematic diagram showing a state in which a unit display screen is selected on the replay mode screen. [Figure 27] FIG. 10 is a schematic diagram showing a state in which a program display screen is selected on the replay mode screen. [Figure 28A] 10 is a flowchart showing a processing operation of the programmable display device. [Figure 28B] 28B is a flowchart showing details of step S2804 in the flowchart of FIG. 28A. [Figure 28C] 28B is a flowchart showing details of step S2809 in the flowchart of FIG. 28A. [Figure 28D] 28B is a flowchart showing details of step S2810 in the flowchart of FIG. 28A. [Figure 29] FIG. 10 is a schematic diagram showing a device waveform display screen in a monitor mode. [Figure 30] 10 is a flowchart showing a processing operation when a real-time chart monitor of a programmable display device is set to a monitor mode. [Figure 31] FIG. 10 is a schematic diagram showing only the device waveform display screen in replay mode. [Figure 32] FIG. 10 is a schematic diagram showing how the device waveform to be displayed is changed depending on the storage conditions. [Figure 33] 10 is a schematic diagram showing a user interface screen of a screen data creating device that links an alarm when a problem occurs with display data. FIG. [Figure 34A] FIG. 2 is a schematic diagram showing a data structure of screen data of a user screen. [Figure 34B] FIG. 2 is a schematic diagram illustrating a data structure of screen data of a system screen. [Figure 34C] FIG. 10 is a schematic diagram of a data structure in which an RTCMID and a device are linked. [Figure 35] FIG. 2 is a functional block diagram of a programmable logic controller. [Figure 36] FIG. 10 is a schematic diagram showing how the programmable display displays driving record data. [Figure 37] FIG. 2 is a functional block diagram of a display processing unit. [Figure 38] FIG. 10 is a diagram illustrating a program display module. [Figure 39] FIG. 10 is a diagram illustrating a user interface screen displayed on the programmable display device. [Figure 40] FIG. 10 is a diagram illustrating a display module for project data and log data. [Figure 41] FIG. 10 is a schematic diagram showing the timing of acquiring device values, a workpiece image, and other images. [Figure 42] 10A and 10B are schematic diagrams showing the display timing and display duration of log data. [Figure 43] 10 is a flowchart showing a procedure for linking image data with time information. [Figure 44] 10 is a flowchart showing a procedure for linking event data with time information. [Figure 45] 10 is a flowchart showing a basic processing operation of the programmable display device for performing device monitoring. [Figure 46] FIG. 10 is a schematic diagram showing a user screen of a programmable display device according to a second embodiment. [Figure 47] FIG. 10 is a schematic diagram showing a user screen of a programmable display device according to a third embodiment. [Figure 48] FIG. 10 is a schematic diagram showing a user screen of a programmable display device according to a fourth embodiment. [Figure 49] FIG. 10 is a schematic diagram showing a switch setting screen of a screen data creating device for a programmable logic controller system according to a fifth embodiment. [Figure 50] FIG. 10 is a schematic diagram showing a modified example of the device waveform display screen in replay mode. DETAILED DESCRIPTION OF THE INVENTION

[0033] Embodiments of the present invention will be described below with reference to the drawings. However, the embodiments described below are merely examples for embodying the technical concept of the present invention, and the present invention is not limited to these. Furthermore, this specification in no way specifies the components set forth in the claims as components of the embodiments. The dimensions, materials, shapes, and relative positions of components described in the embodiments are not intended to limit the scope of the present invention, and are merely illustrative unless otherwise specified. The size and relative positions of components shown in the drawings may be exaggerated for clarity. Furthermore, in the following description, the same names and symbols indicate identical or similar components, and detailed descriptions will be omitted as appropriate. Furthermore, the elements constituting the present invention may be configured with the same components, so that multiple elements are served by one component, or conversely, the functions of one component may be shared by multiple components. [Embodiment 1]

[0034] FIG. 1 shows a schematic diagram of a programmable logic controller system 1000. The programmable logic controller system 1000 shown in this figure exemplifies a system in which an object WK traveling along a line is imaged by a camera unit 98, processed by a motor MT, and inspected by an input / output device SS, such as a sensor. The programmable logic controller system 1000 includes a programmable logic controller 1, a programmable display 50, a program creation device 70, and a screen data creation device 60. The programmable logic controller (hereinafter also referred to as "PLC") 1 is connected to the program creation device 70. The program creation device 70 creates and edits user programs, such as ladder programs, executed by the PLC 1. The programmable display 50 is also connected to the screen data creation device 60. The screen data creation device 60 configures the screen displayed on the programmable display 50, such as the selection and layout of components to be placed for each page displayed on the display screen. The program creation device 70 and the screen data creation device 60 can be implemented as dedicated devices or software installed on a general-purpose PC. [PLC system configuration]

[0035] The PLC system includes a PLC1 that comprehensively controls input / output devices installed in a factory or the like, a program creation device 70 that creates ladder programs to operate the PLC1, a programmable display 50 that monitors and changes the status of the PLC1 devices, and a screen data creation device 60 that creates screen data to generate display data on the programmable display 50.

[0036] A device is a name that refers to a storage area in PLC 1 that is referenced by a ladder program. The device value of a device indicates the input or output status of an input / output device, or the status of an internal relay (auxiliary relay), timer, counter, etc., that is written in a ladder program. There are two types of device values: bit type and word type. A bit device stores a 1-bit device value, and a word device stores a 1-word device value.

[0037] The PLC 1 is broadly divided into a CPU unit 3 and expansion units 4. The expansion units 4 are functional expansion units that expand the functions of the CPU unit 3. Figure 1 shows an I / O unit 4f to which input / output devices, including input devices such as sensors and output devices such as alarm lamps, are connected; a camera unit 4c to which a camera that captures images of workpieces moving through the production line at predetermined times is connected; and a motion unit 4d to which motors that drive the production line and robots are connected. The motion unit 4d, also known as a positioning unit, controls the position of control targets called axes, and each axis generally has its own drive source, such as a motor. The CPU unit 3 collects data from these expansion units 4, executes ladder programs to perform the necessary calculations, and controls each expansion unit 4.

[0038] The program creation device 70 can create ladder programs, and edit and modify existing ladder programs. The program creation device 70 can also edit the configuration of one or more expansion units 4 connected to the CPU unit 3 and the operating parameters of the expansion units 4. Data including ladder programs and unit configuration information is called project data. The program creation device 70 creates project data based on user operations, converts the created project data into mnemonic code, and transfers the converted ladder program to the CPU unit 3.

[0039] The CPU unit 3 converts the ladder program into machine code, and while the PLC 1 is running, it periodically executes the ladder program, which is composed of the machine code. While periodically executing the ladder program, the CPU unit 3 collects device values ​​stored in multiple devices, associates them with the current time, and temporarily records them in a temporary storage unit 91a, such as a ring buffer. When the ring buffer becomes full, the oldest device values ​​are overwritten, so that time-series data of device values ​​for a certain period of time is temporarily stored according to the storage capacity of the ring buffer. When a predetermined storage condition is met, such as when a problem occurs on the production line, the time-series data of devices previously selected for storage in the program creation device 70 is automatically saved as log data in a storage memory 36, such as a flash memory or an SD card (see FIG. 6, described later).

[0040] At this time, image data collected in time series by the camera unit 4c is saved together with the device time series data as log data. The ladder program being executed by the CPU unit 3 when the save conditions were met, and the unit configuration information at that time, are also saved in association with the log data. When the predetermined save conditions are met, the log data, including the device time series data and time series image data, and the ladder program and unit configuration information are saved in the storage memory 36 in an associated manner, such as by being managed as a group of files with a common identifier. This group of files is referred to as "driving record data." In this embodiment, the contents of the driving record data can be viewed not only in the program creation device 70 but also in the programmable display device 50. This will be described in more detail later. [Programmable Display 50 System Configuration]

[0041] The programmable display 50 is connected to the PLC 1 via a communication cable, and device values ​​stored in the PLC 1's devices are transferred to the programmable display 50 via the communication cable. As shown in FIG. 2, various functional components FP, such as lamps and switches, are arranged on the display screen of the programmable display 50, and a device is assigned to each functional component FP. Generally, a screen on which one or more functional components FP are arranged is called a page, and multiple pages are managed by different screen IDs. The programmable display 50 displays a page corresponding to a screen ID on the display screen. The screen ID may also be displayed on the display screen. In the example of FIG. 2, a screen ID display field IA is provided in the upper right corner. The screen ID display field IA may be displayed constantly or only when necessary. For example, the screen ID display may be invoked by right-clicking an empty area of ​​the display screen. Alternatively, when switching pages with a flick, the screen ID may be displayed in a large overlay on the display screen.

[0042] Here, the various components shown in Fig. 2 will be explained in more detail. In addition to the various functional components FP described above, various other components are arranged on the screen shown in Fig. 2. The text "1" written in the above-mentioned "Screen ID Display Column 1A" and the text "Monitoring Screen" in the upper left corner are so-called text components TX. Generally, no device is assigned to a text component TX.

[0043] Below the "Monitoring Screen" text component TX1, a text component TX2 called "Production Part Number" is placed, and below that, a character display component CP is placed as a numeric display field 241. A specific device (which may be an internal device in the programmable display device 50 or an external device in the PLC 1; the same applies below) is assigned to the character display component CP, and a character or string of characters specified by that device is displayed on the character display component CP. In the example of FIG. 2, the string "ABC-123" is displayed as the character display component CP in the numeric display field 241.

[0044] To the right of the "Monitoring Screen" text component TX1, lamp components RP (one of the functional components FP) that indicate "normal" and "abnormal" are placed, and a specific device is assigned to each lamp component RP. Depending on the device value of the device, a component image indicating the lit state or the off state is displayed. In Figure 2, the lamp component RP1 that indicates "normal" displays a component image indicating the lit state, and the lamp component RP2 that indicates "abnormal" displays a component image indicating the off state.

[0045] To the right of the lamp component RP, a meter component MP consisting of a "temperature meter" is placed. A specific device is also assigned to the meter component MP. The position of the pointer of the meter component MP changes dynamically depending on the device value of that device. Figure 2 shows the state when the device value is 60.

[0046] In the center of Figure 2, there is a text component TX3 with the title "Counter Set Value Current Value Reset Counter Graph." Below it are text components TX4, TX5, TX6, and TX7 with the titles "Product A," "Product B," "Product C," and "Product D," and to the right of them are numeric display components NP that show the set value and current value for each product. Specific devices are assigned to the numeric display components NP, and the device values ​​of those devices are displayed in the numeric display components NP. In the example of Figure 2, there are numeric display components NP with the values ​​"100" and "80" for product A, "100" and "10" for product B, "100" and "100" for product C, and "100" and "80" for product D, respectively.

[0047] To the right of the numeric display component NP, a switch component SP labeled "RESET" is placed as the RESET switch 246. A specific device is also assigned to the switch component SP. The switch is configured to switch ON or OFF depending on the device value of that device. In FIG. 2, touching the RESET switch 246 changes the state of the specific assigned device (for example, from 1 to 0). This allows the current value of each product to be reset to 0 (i.e., the device value of the device assigned to the numeric display component NP can be rewritten to 0).

[0048] A graph component GP showing a counter graph is placed to the right of the switch component SP of the RESET switch 246. A specific device is also assigned to the graph component GP. The state of the bar graph changes dynamically depending on the device value of that device. In FIG. 2, the length of the bar changes depending on the current value of each product (that is, the device assigned to the numeric display component NP showing the current value is the same as the device assigned to the graph component GP showing the counter graph).

[0049] In this way, there are a wide variety of components arranged on one screen (one page) identified by a screen ID, including components with devices assigned, components with no devices assigned, components with component images assigned, and components with no component images assigned, etc. The data structure of one screen will be described in detail later.

[0050] The programmable display device 50 also detects user touch operations using a touch panel provided on the display screen. When the user touches any functional part FP, the state of the device assigned to that functional part FP can be changed. For example, when the user touches a switch functional part, the ON / OFF state of the device assigned to that switch can be changed, thereby realizing the function of the switch. The user's touch is detected by a touch detection unit 53 shown in FIG. 11, which will be described later. (PLC1)

[0051] First, the configuration of PLC 1 will be described. PLC 1 shown in FIG. 1 is composed of multiple connected units. The multiple units are connected to each other via an inter-unit bus 90 for communication. The units are broadly divided into a CPU unit 3 and an expansion unit 4. The CPU unit 3, also called a main unit or basic unit, performs the basic operations of PLC 1. The expansion unit 4 is a function expansion unit that expands the functions of CPU unit 3. In the example shown in FIG. 1, the expansion unit 4 includes a camera unit 4c, a motion unit 4d, a communication unit 4e, and an I / O unit 4f. The camera unit 4c, which is one type of expansion unit 4, is connected to a camera unit 98, captures images of an object WK at predetermined times, and sends the images to the CPU unit 3. The motion unit 4d, also called a positioning unit, controls the position of a control object called an axis. Generally, each axis has a drive source such as a motor. The communication unit 4e includes a communication unit processing unit 41e and communicates with external devices. The I / O unit 4f includes an I / O unit processing unit 41f and is connected to input / output devices SS, such as sensors. The CPU unit 3 also collects data from these expansion units 4 and performs the necessary control. (PLC system configuration)

[0052] Here, in order to allow those skilled in the art to better understand the PLC 1, the configuration and operation of a general PLC 1 will be described.

[0053] FIG. 3 shows an example of the configuration of a programmable logic controller system according to an embodiment of the present invention. As shown in this figure, the programmable logic controller system includes a PC 2 for editing user programs such as ladder programs, and a PLC 1 for comprehensively controlling various control devices installed in a factory or the like. PC is an abbreviation for personal computer. User programs may be created using a graphical programming language such as a ladder language or a flowchart-format motion program such as SFC (Sequential Function Chart), or may be created using a high-level programming language such as C. For convenience of explanation, the user program will be described below as a ladder program, but the present invention is not limited to ladder programs.

[0054] PLC1 comprises a CPU unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 are detachable from the CPU unit 3. For example, expansion unit 4a may be a positioning unit that drives a motor (field device 10a) to position a workpiece, and expansion unit 4b may be a counter unit. The counter unit counts signals from an encoder (field device 10b) such as a manual pulser. The letters a, b, c, etc. added to the end of the reference numerals may be omitted. A system including PLC1 and PC2 may be called a programmable logic controller system.

[0055] The CPU unit 3 is equipped with a PLC display unit 5 and a PLC operation unit 6. The PLC display unit 5 can display the operating status of each expansion unit 4 attached to the CPU unit 3. The PLC display unit 5 changes the display content depending on the operation content of the PLC operation unit 6. The PLC operation unit 6 may be implemented as buttons or the like integrated into the CPU unit 3, or as an input device such as an external console, mouse, or keyboard. Alternatively, the PLC display unit 5 can be a touch panel that also functions as an operation unit.

[0056] The PLC display unit 5 normally displays the current values ​​(device values) of devices within the PLC 1, error information that has occurred within the PLC 1, etc. A device is the name given to an area in memory that is provided to store device values ​​(device data), and is also called device memory. Device values ​​are information that indicates the input status from input devices, the output status to output devices, and the status of internal relays (auxiliary relays), timers, counters, data memory, etc. that are set in the user program. Device values ​​are classified into bit and word types. A bit device stores a 1-bit device value. A word device stores a 1-word device value.

[0057] The expansion units 4 are provided to expand the functions of the PLC 1. A field device (controlled device) 10 corresponding to the function of the expansion unit 4 is connected to each expansion unit 4, and each field device 10 is thereby connected to the CPU unit 3 via the expansion unit 4. The field device 10 may be an input device such as a sensor or a camera unit, or an output device such as an actuator. Furthermore, multiple field devices 10 may be connected to one expansion unit 4. (Programming device 70)

[0058] The PC2 implements a program creation device 70. The program creation device 70 is connected to the PLC 1 and performs settings, control during operation, and operational checks. It can also create various programs for operating the PLC 1 and the programmable logic controller system including the PLC 1, and edit and modify existing programs. In this sense, the program creation device 70 is also referred to as a program creation support device or a programmable logic controller engineering tool. Furthermore, the program creation device 70 can reproduce the operating status of each device at a time based on operation record data that records the past operation of the programmable logic controller system. The operation record data includes user programs such as ladder programs, project data including setting data such as unit configuration information for each unit, and log data, which is operational data such as device values ​​for each device at the time of operation and image data from the camera unit. The program creation device 70 can also read and edit project data from the operation record data. In this sense, the program creation device 70 is also referred to as a project data editing program.

[0059] The PC 2 is, for example, a portable notebook or tablet personal computer, and is equipped with a display unit 7 and a PC-side operation unit 8. A ladder program, which is an example of a user program for controlling the PLC 1, is created using the PC 2. The created ladder program is converted into mnemonic code within the PC 2. The PC 2 is connected to the CPU unit 3 of the PLC 1 via a communication cable 9 such as a USB (Universal Serial Bus), and sends the ladder program, which has been converted into mnemonic code, to the CPU unit 3. The CPU unit 3 converts the ladder program into machine code and stores it in a memory provided in the CPU unit 3. Note that, although the mnemonic code is sent to the CPU unit 3 in this example, the present invention is not limited to this. For example, the PC 2 may convert the mnemonic code into intermediate code and send the intermediate code to the CPU unit 3.

[0060] The PC-side operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2. The PC 2 may also be configured to be detachably connected to the CPU unit 3 of the PLC 1 via a communication cable 9 other than USB. Alternatively, the PC 2 may be connected to the PLC 1 wirelessly without using a physical cable such as the communication cable 9. (Ladder Program)

[0061] Figure 4 shows an example of a ladder diagram Ld displayed on the display unit 7 of PC2 when creating a ladder program. PC2 displays multiple cells arranged in a matrix on the display unit 7. A virtual device symbol is placed in each cell. The symbols represent input relays, output relays, etc. A relay circuit is formed by multiple such symbols. The ladder diagram Ld has, for example, 10 columns x N rows (N is any natural number) of cells arranged. Virtual device symbols are then placed appropriately within the cells of each row.

[0062] The relay circuit shown in Figure 4 is composed of symbols of three virtual devices (hereinafter referred to as "input devices") that are turned on / off based on input signals from an input device, and symbols of virtual devices (hereinafter referred to as "output devices") that are turned on / off to control the operation of an output device, which are appropriately combined.

[0063] The characters displayed above each input device symbol ("R0001," "R0002," and "R0003") represent the device name (address name) of that input device. The characters displayed below each input device symbol ("Flag 1," "Flag 2," and "Flag 3") represent the device comment associated with that input device. The characters displayed above the output device symbol ("Return to origin") are a label consisting of a string of characters that represent the function of that output device.

[0064] In the example shown in Figure 4, two input device symbols corresponding to device names "R0001" and "R0002," respectively, are connected in series to form an AND circuit. An input device symbol corresponding to device name "R0003" is connected in parallel to the AND circuit consisting of these two input device symbols to form an OR circuit. In other words, in this relay circuit, the output device corresponding to the symbol in the first row is turned ON only when both input devices corresponding to the two symbols in the first row are turned ON, or when the input device corresponding to the symbol in the second row is turned ON. (Programming device 70)

[0065] 5 shows a block diagram of the PC 2 that realizes the program creation device 70. As shown in this diagram, the PC 2 includes a PC memory unit 11, a PC CPU 21, a display unit 7, a PC operation unit 8, a PC storage device 22, and a PC communication unit 23. The display unit 7, the PC operation unit 8, the PC storage device 22, and the PC communication unit 23 are each electrically connected to the PC CPU 21.

[0066] The PC memory unit 11 is a working memory that serves as a working space for the PC CPU 21 to execute processes, and is typically configured with RAM, etc. The driving record data includes project data.

[0067] The PC-side storage device 22 includes a hard disk, semiconductor memory, ROM, etc., and may further include a removable memory card. CPU is an abbreviation for central processing unit. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory.

[0068] The user causes the PC CPU 21 to execute editing software, which is a computer program stored in the PC storage device 22, and edits the project data through the PC operation unit 8. This editing software corresponds to a project data editing program executed by the PC 2. (Project Data)

[0069] The project data includes one or more user programs (e.g., ladder programs) and unit configuration information for the CPU unit 3 and the expansion units 4. The project data may also include program configuration information that indicates what program components the user program is made up of. Furthermore, the unit configuration information is information indicating the connection positions of the multiple expansion units 4 relative to the CPU unit 3, the functions provided in the CPU unit 3 (e.g., communication functions and positioning functions), and the functions of the expansion units 4 (e.g., photography functions).

[0070] Here, editing of project data includes creating and changing project data. Project data created using the project data editing program is stored in the PC-side storage device 22. Furthermore, the user can read out the project data stored in the PC-side storage device 22 as needed and change the project data using the project data editing program. The PC-side communication unit 23 is used to communicatively connect the PC 2 to the CPU unit 3 via the communication cable 9. The PC-side CPU 21 transfers the project data to the CPU unit 3 via the PC-side communication unit 23.

[0071] The project data editing program has an edit mode, a monitor mode, and a history playback mode. The edit mode is also called an edit mode, and allows you to edit project data. The monitor mode allows you to perform simulation operations for debugging when creating a user program, and to display in real time device waveforms that show changes in device values ​​of controlled devices when the FA system is in operation. The history playback mode is also called a replay mode or time machine playback, and allows you to perform playback display. Switching between these edit mode, monitor mode, and history playback mode is performed by the mode switching unit. (PLC1)

[0072] A functional block diagram of the PLC 1 is shown in Figure 6. As shown in this diagram, the CPU unit 3 includes a CPU unit processing unit 31, a PLC side display unit 5, a PLC side operation unit 6, a CPU unit storage unit 32, and a PLC side communication unit 33. The PLC side display unit 5, the PLC side operation unit 6, the CPU unit storage unit 32, and the PLC side communication unit 33 are each electrically connected to the CPU unit processing unit 31. (CPU unit memory section 32)

[0073] The CPU unit storage section 32 includes a project storage section 35, a PLC side device section 34, a temporary recording section 91a, and a storage memory 36.

[0074] The project storage unit 35 stores project data input from the PC 2. The CPU unit storage unit 32 also stores a control program for the CPU unit 3.

[0075] The PLC-side device unit 34 has bit devices, word devices, etc., and each device stores a device value. This PLC-side device unit 34 functions as a device memory that stores each device value of a plurality of devices. It may also function as a storage area referenced by a user program.

[0076] The temporary recording unit 91a records in chronological order the device values ​​stored in the PLC-side device unit 34. This temporary recording unit 91a can be configured with a ring buffer or the like.

[0077] The storage memory 36 stores the device values ​​recorded in chronological order in the temporary recording unit 91a. The storage memory 36 is composed of non-volatile memory such as an internal memory 37 and a removable memory card 36A.

[0078] In this way, the CPU unit storage section 32 has multiple storage areas. The CPU unit storage section 32 may include RAM, ROM, a memory card, etc. For example, in the example of Fig. 6, the storage memory 36 is configured as a removable memory card 36A called an SD card (product name). (CPU unit processing section 31)

[0079] The CPU unit processing unit 31 includes a program execution unit 40, a storage condition setting unit 45, a recording control unit 39, a storage control unit 39C, and an event collection unit 92b. The program execution unit 40 repeatedly executes a user program. The PLC-side device unit 34, which is a storage area referenced by the program execution unit 40 in accordance with the user program, stores device values ​​for multiple devices.

[0080] The storage condition setting unit 45 is a component for setting various conditions. Here, the storage condition setting unit 45 sets a first trigger condition for a recording trigger for recording in the temporary recording unit 91a, a second trigger condition for a storage trigger for storing in the storage memory 36, and a buffer recording period that indicates a period for temporary recording in the temporary recording unit 91a, which is a period including at least one of the period up to and the period from the reference time, with the time indicated by the recording trigger as the reference time.

[0081] The storage condition setting unit 45 can set a condition for a recording start trigger for starting recording in the temporary recording unit 91a as the first trigger condition, and can also set a period from a reference time indicated by the recording start trigger as the buffer recording period.

[0082] When a first trigger condition for a recording trigger is satisfied, the recording control unit 39 records, as log data in the temporary recording unit 91a, time-series device values ​​corresponding to a buffer recording period with the time indicated by the recording trigger as the reference time. The recording control unit 39 also stores the recorded log data in the temporary recording unit 91a until the time when a second trigger condition for the storage trigger is satisfied or the time when the first trigger condition for the next recording trigger is satisfied, whichever occurs first. Then, when the next first trigger condition for the recording trigger is satisfied, the recording control unit 39 records, as log data in the temporary recording unit 91a, time-series device values ​​corresponding to a buffer recording period with the time indicated by the next recording trigger as the reference time.

[0083] When the second trigger condition for the save trigger is satisfied, the save control unit 39C saves the log data held in the temporary recording unit 91a by the recording control unit 39 in the save memory 36. Here, when the second trigger condition for the save trigger is satisfied, the save control unit 39C preferably saves the log data held in the temporary recording unit 91a by the recording control unit 39 and corresponding to the recording trigger immediately before the save trigger in the save memory 36. In this way, the save control unit 39C holds the log data recorded during the buffer recording period even after the buffer recording period has elapsed, and when the save trigger is activated, saves the log data held in association with the recording trigger. However, the log data saved by the recording control unit 39 is not limited to the log data corresponding to the most recent recording trigger, and may also be the log data from the recording trigger two or three times before.

[0084] The event collection unit 92b collects event data corresponding to multiple events that occur in PLC1 or a controlled device (field device 10) controlled by PLC1, associates the event data with the time of occurrence of the event, and stores it in chronological order in the temporary recording unit 91a.

[0085] 6, the CPU unit 3 and the expansion unit 4 are connected via an inter-unit bus 90, which is a type of expansion bus. The communication function related to the inter-unit bus 90 may be implemented as part of the PLC-side communication unit 33. The PLC-side communication unit 33 may also have a network communication circuit. The CPU unit processing unit 31 may transmit log data, etc. to the PC 2, the cloud, etc. via the PLC-side communication unit 33.

[0086] Here, a supplementary explanation will be given about the inter-unit bus 90. This inter-unit bus 90 is a bus on which input / output refresh and the like, which will be described next, are performed. Communication control on the inter-unit bus 90 is realized by a so-called bus master 38. The bus master may be provided as part of the PLC side communication unit 33, or as part of the CPU unit processing unit 31. The bus master 38 is a control circuit for controlling communication on the inter-unit bus 90, and upon receiving a communication request from the CPU unit processing unit 31, performs communication with the expansion unit 4, such as input / output refresh, which will be described later.

[0087] The expansion unit 4 includes an expansion unit processing unit 41 and an expansion unit memory 42. The expansion unit processing unit 41 controls the field device 10 in accordance with instructions (device values) from the CPU unit 3 that are stored in the device. The expansion unit processing unit 41 also stores the control results of the field device 10 in a device called a buffer memory. The control results stored in the device are transferred to the CPU unit 3 by input / output refresh. The control results stored in the device are also transferred to the CPU unit 3 in accordance with a read command from the CPU unit 3, even at a timing different from the input / output refresh. The expansion unit memory 42 includes RAM, ROM, etc. In particular, the RAM has a storage area reserved for use as a buffer memory. The expansion unit memory 42 may also have a buffer that temporarily stores data (e.g., still image data or video data) acquired by the field device 10. (Scan time of CPU unit 3)

[0088] The scan time of the CPU unit 3 is shown in the schematic diagram of FIG. 7. As shown in this diagram, one scan time ST consists of inter-unit communication 201 for refreshing input and output, program execution 202, and END processing 204. During inter-unit communication 201, the CPU unit 3 executes a ladder program and transmits the resulting output data from the CPU unit storage 32 within the CPU unit 3 to an external device such as the expansion unit 4. Furthermore, the CPU unit 3 retrieves input data received from an external device such as the expansion unit 4 into the CPU unit storage 32 within the CPU unit 3. In other words, the device values ​​stored in the PLC-side device section 34 of the CPU unit 3 are reflected in the devices of the expansion unit 4 by output refresh. Similarly, the device values ​​stored in the devices of the expansion unit 4 are reflected in the devices of the CPU unit 3 by input refresh. Similarly, the device values ​​stored in the devices of the programmable display 50 (display-side device section 56a shown in FIG. 11, described later) are also reflected in the devices of the CPU unit 3 by input refresh. In this way, input / output refresh synchronizes the devices in the CPU unit 3 and the devices in the expansion unit 4, achieving so-called mirroring.

[0089] It is also possible to adopt a mechanism for updating device values ​​between units at times other than refresh (inter-unit synchronization). However, the devices in CPU unit 3 are rewritten by CPU unit 3 at any time, and similarly the devices in expansion unit 4 are rewritten by expansion unit 4 at any time. In other words, the devices in CPU unit 3 can be accessed at any time by the devices inside CPU unit 3, and similarly the devices in expansion unit 4 can be accessed at any time by the devices inside expansion unit 4. Basically, device values ​​are updated and synchronized between the CPU unit 3 and expansion unit 4 at the timing of refresh.

[0090] The CPU unit 3 executes (calculates) a program using updated input data at the timing of program execution 202 shown in Figure 7. As shown in this figure, program execution 202 can also execute multiple program modules or ladder programs in order according to project data. Note that a program module is one of multiple program components that make up a user program. For example, a program module includes a main ladder program and a sub-ladder program. Programs are also sometimes called function blocks, where each function is divided into blocks. The CPU unit 3 processes data by executing such programs.

[0091] The END process 204 refers to the overall processing related to peripheral services such as data communication with external devices such as the programmable display 50 connected to the PC 2 or the CPU unit 3, and system error checks.

[0092] In this way, PC2 creates a ladder program in response to user operations and transfers the created ladder program to PLC1. PLC1 executes a cycle (one scan) consisting of input / output refresh, ladder program execution, and END processing periodically, i.e., cyclically. This allows it to control various output devices (motors, etc.) based on timing signals from various input devices (sensors, etc.). In addition to the scan cycle, the CPU unit 3 and expansion unit 4 each have an internal control cycle. The CPU unit 3 and expansion unit 4 control the functions of the field device 10, etc., based on the internal control cycle. (Logging)

[0093] When a user improves or modifies a user program, the device values ​​acquired while the PLC is executing the user program can be useful. Therefore, the PLC acquires pre-specified device values ​​and creates log data. The devices managed by the PLC include not only those used by the user program but also those not used by the user program. Furthermore, some devices are useful when improving or modifying a user program, while others are not. Since there are typically thousands of devices, it is a significant burden for the user to specify the required devices. Therefore, the PC analyzes the user program and extracts the devices used or described in the user program as targets for logging. This reduces the burden on the user.

[0094] If all devices managed by a PLC are subject to logging, the scan time will be long. This is because logging is executed as part of the user program or during I / O refresh. Sometimes, the delay caused by logging can prevent the user program from running as desired. Therefore, the number of devices subject to logging should be kept appropriate.

[0095] As mentioned above, a user program may be composed of multiple program parts. In some cases, it may be sufficient for a user to log devices related to the program parts that the user wishes to modify. In addition, the user may wish to exclude or add specific program parts from the targets of extraction. Therefore, it would be convenient for the user if they could add or delete devices from the targets of logging on a program part-by-program part basis.

[0096] A detailed functional block diagram of the CPU unit processing unit 31 of the CPU unit 3 is shown in Figure 8. The same reference numerals are used to designate the same components as those described above, and detailed explanations will be omitted. Here, it is assumed that the CPU unit processing unit 31 stores project data 71 and log setting data 72 received from the PC 2 in the CPU unit storage unit 32. The PLC-side device unit 34 of the CPU unit storage unit 32 includes a CPU unit device unit 34a and an extension unit device unit 34b.

[0097] The CPU unit processing unit 31 shown in FIG. 8 includes a program execution unit 40, a unit control unit 80b, a detection unit 82, a recording unit 81, an event collection unit 92a, a time management unit 83a, and an output unit 84. The detection unit 82 detects, for example, an external device rewriting a device value of one of the devices included in the PLC-side device unit 34. When a predetermined output condition is met, such as when execution of a user program ends or when a trigger relay for saving to a memory card is turned on, the output unit 84 writes the project data 71, log data 73, and image data to the memory card 36A constituting the storage memory 36 or the internal memory 37. Until the predetermined output condition is met, the log data 73 is recorded in memory (e.g., a ring buffer). When the memory becomes full, the oldest log data 73 is erased and new log data 73 is added and recorded (recorded in a so-called FIFO format). The memory card 36A is removed from the CPU unit 3 and inserted into the insertion unit of the PC 2. As a result, the log data 73 is displayed on the display unit 7 of the PC 2. The output unit 84 may transmit the log data 73 via the PLC-side communication unit 33 to the PC 2, the cloud, or the like.

[0098] The program execution unit 40 repeatedly executes the user program as described above. The unit control unit 80b controls the program execution unit 40 and executes input / output refresh with the expansion unit 4. The program execution unit 40 repeatedly executes the user program included in the project data 71 and controls the expansion unit 4 in accordance with the user program. Note that the program execution unit 40 writes device values ​​to output devices held in the CPU unit device unit 34a of the PLC-side device unit 34 and reads device values ​​from input devices held in the CPU unit device unit 34a in accordance with the user program.

[0099] The recording unit 81 acquires device values ​​from the PLC side device unit 34 (CPU unit device unit 34a or expansion unit device unit 34b) in accordance with the log setting data 72, or acquires device values ​​from the buffer memory of the expansion unit 4, and writes them to a temporary recording unit 91a (for example, a ring buffer). The recording unit 81 also executes logging processing at predetermined times, such as during the END processing, as described above. The log data 73 and project data 71 are written to the storage memory 36 (for example, the memory card 36A or the internal memory 37).

[0100] When a predetermined storage condition, i.e., a collection start condition for collecting data, is satisfied, the event collection unit 92a reads out from the device unit 34, among the device values ​​held in the PLC-side device unit 34, a device value specified by the log setting data 72, and acquires time information from the time management unit 83a. The event collection unit 92a associates the device value with the time information and stores them in the temporary recording unit 91a. The event collection unit 92a may also acquire the device value and time information for each collection period (e.g., scan period) specified by the log setting data 72 and store them in the temporary recording unit 91a.

[0101] A ring buffer is preferably used for the temporary recording unit 91a. The reason for using a ring buffer is that not all of the data stored in the ring buffer is saved as log data 73 in the storage memory 36. For example, when a predetermined saving condition is met, the storage unit 93 may read device values ​​and time information from the temporary recording unit 91a of the ring buffer, create log data 73, and save it in the storage memory 36. Similarly, when a predetermined saving condition is met, the storage unit 93 may read a large amount of data including many device values ​​and time information from the expansion unit 4, create log data 73, and save it in the storage memory 36.

[0102] The storage unit 93 stores the device values ​​and time information, the large-capacity data, and the time information in association with each other. Here, "associated" storage means that the data is stored in a format that is easy to play on the PC 2. For example, file management may be performed in which multiple files are associated with each other. Specifically, if a first subfolder containing device values ​​and time information and a second subfolder containing large-capacity data and time information are located under a specific folder in the storage memory 36, the path (directory path) to the specific folder serves as a common flag. This common flag can be used to store the files in the first subfolder and the files in the second subfolder in association with each other. Furthermore, if there is another folder located at the same level (directory) as the specific folder, this folder represents a data package saved at a different time. Of course, similar subfolders are also located under this folder. In this way, the storage unit 93 may store the device values ​​and time information, the data (large-capacity data), and the time information in multiple files identified by a common flag (a specific directory path) and save these multiple files. Alternatively, for example, file names can be used as a common flag to create files with the same or corresponding file names, allowing for "associated" storage. Additionally, for example, time information can be used as a key to associate device values ​​with data (large-volume data) and create a list, which can then be compiled into a single file, allowing for "associated" storage.

[0103] In this embodiment, large-volume data is considered as an example of data from a monitoring device. However, it goes without saying that other types of data, such as continuous data such as motion data, communication data, and audio data, may also be used. The transmitter 94 may transmit the log data 73 to a PC 2, a cloud, or the like. When the temporary recording unit 91a of the ring buffer becomes full, the event collector 92a overwrites the oldest information stored in the ring buffer with the newest information. Here, a ring buffer is used as an example of a buffer for the temporary recording unit 91a, but this is merely an example. A FIFO buffer would be sufficient as the buffer. Furthermore, the recording unit 81 and the event collector 92a described above may be separate components or may be integrated into a single component.

[0104] As mentioned above, the CPU unit 3 and expansion unit 4 have one or more functions. Various devices are assigned to each function. Therefore, it would be convenient for the user if devices could be added or deleted from the logging targets for each of these functions. For example, if an undesirable event occurs related to the communication function of the CPU unit 3, the user can easily resolve this event by referencing the device value of the device related to the communication function of the CPU unit 3. (Camera unit 4c)

[0105] A camera can be connected to the PLC 1. Therefore, the expansion unit 4 constituting the PLC 1 can include a camera unit 4c to which a camera can be connected. An example of such a PLC 1 is shown in the functional block diagram of FIG. 9. The PLC 1 shown in this diagram includes an external interface 97, an image recording unit 520, and a camera unit processing unit 41c. The external interface 97 is connected to an external camera and receives image data from the camera. The image recording unit temporarily records the image data input from the camera via the external interface 97. The camera unit processing unit 41c also collects image data input from the camera via the external interface 97, associates the image data with information about the time the image data was acquired, and temporarily stores the image data in the image recording unit.

[0106] When the storage conditions are met, the PLC 1 stores the image data temporarily stored in the image recording unit by the camera unit processing unit 41c in association with the driving record data. The storage may be performed, for example, in the storage memory 36 on the CPU unit 3 side, or in the camera setting information storage unit 530 on the camera unit side.

[0107] The programmable display device 50 acquires the driving record data stored in the storage memory 36 and displays an image based on the image data contained in the driving record data on the display unit based on information regarding the acquisition time contained in the driving record data.

[0108] The functions of the expansion unit processing unit 41 of the camera unit 4c, which is an expansion unit 4 with camera input functionality, are described below with reference to the functional block diagram of FIG. 10. The clock of the time management unit 83b is synchronized with the clock of the time management unit 83a of the CPU unit 3 shown in FIG. 8. For example, the time management unit 83a of the CPU unit 3 transmits time information to the time management unit 83b during END processing. The time management unit 83b synchronizes the clock of the time management unit 83b with the clock of the time management unit 83a of the CPU unit 3 based on the received time information. The clock may be implemented by a counter that counts time based on the time information. The event collection unit 92b periodically outputs a trigger signal when a predetermined collection condition (e.g., a predetermined relay device is turned ON) is met. The time management unit 83b obtains time information from the clock when the trigger signal is input and stores it in the time information buffer 95. The expansion unit memory 42 includes the time information buffer 95 and the temporary recording unit 91a. The external interface 97 is an interface for connecting the camera unit 98 to the camera unit 4c. The external interface 97 periodically outputs trigger signals issued by the event collection unit 92b to the camera unit 98 and outputs image data output by the camera unit 98 to the image receiving unit 96a. Image data is an example of large-capacity data. The external interface 97 is connected to a monitoring device such as the camera unit 98 and is an example of an interface through which data (image data) is input from the monitoring device. The image receiving unit 96a constitutes all or part of the function executing unit 96, which executes an imaging function involving input of image data from the camera unit 98 via the external interface 97. In this embodiment, the function executing unit 96 (image receiving unit 96a) controls the camera unit 98 based on imaging parameters (examples of setting information), such as exposure time, gain, white balance, and contrast. Desired parameter values ​​for such imaging parameters are set in the PC 2 and sent to the function executing unit 96 via the PLC-side communication unit 33 and CPU unit processing unit 31 of the CPU unit 3 shown in FIG. 6. Therefore, the PLC-side communication unit 33 shown in FIG. 6 is an example of another interface that receives setting information from an external setting device such as the PC 2 or a display.The PLC-side communication unit 33 also accepts a user program created by the PC 2, as described above. The camera unit 98 captures an image in response to a trigger signal and outputs image data. The image receiving unit 96a transfers the image data to the event collecting unit 92b. The event collecting unit 92b associates the time information stored in the time information buffer 95 with the image data output from the image receiving unit 96a and stores the associated data in the ring buffer 91b. When the ring buffer 91b becomes full, the event collecting unit 92b overwrites the oldest information stored in the ring buffer 91b with the newest information. In this embodiment, the event collecting unit 92b automatically and periodically outputs an imaging trigger signal to the camera unit 98. However, the present invention is not limited to this. The event collecting unit 92b may output an imaging trigger signal to the camera unit 98 based on, for example, a command from a user program.

[0109] The CPU unit 3 communicates with the expansion unit 4 using any of the following: refresh communication, which is performed for each scan; direct communication, which can be performed at any time; and message communication, which is performed on a best-effort basis when an event occurs. The storage unit, for example, uses direct communication to read image data and time information from the ring buffer 91b of the expansion unit 4 and adds the data to the log data 73. Note that multiple direct communications with priorities may be implemented as direct communications. In this case, the priority of direct communications executed in connection with a user program may be set relatively high, and the priority of direct communications for logging may be set relatively low. This makes it possible to reduce the impact of logging on the execution of a user program.

[0110] As described above, Figure 9 shows a functional block diagram of a programmable logic controller system including a camera unit 4c. In the programmable logic controller system shown in this figure, a PLC 1 is configured with a CPU unit 3, a camera unit 4c, and an expansion unit 4. The CPU unit 3, camera unit 4c, and expansion unit 4 are connected via an inter-unit bus 90. A PC 2 is also connected to the CPU unit 3 via a communication line CL. A camera unit 98 is further connected to the camera unit 4c via an imaging trigger line. The camera unit 98 is equipped with a camera setting recording unit 575. Meanwhile, the CPU unit 3 is equipped with a device unit. Setting information for the camera unit 98 is recorded in the camera setting recording unit 575.

[0111] 9 is connected to the CPU unit 3, which is a basic unit, via an inter-unit bus 90. An imaging trigger line and an image communication line are connected to an external interface 97 that connects the camera unit 4c to a camera section 98. By transmitting an ON / OFF signal that defines the imaging trigger to the camera section 98 via the imaging trigger line, the synchronization timing on the inter-unit bus 90 can be extended to the camera section 98, thereby enabling precise synchronization between the recording time of the device values ​​and the acquisition time of the camera image data. (Camera unit 4c)

[0112] The camera unit 4c is electrically connected to the CPU unit 3 via an inter-unit bus 90. The camera unit 4c is a unit for connecting a camera section 98 that captures an image of a predetermined area in response to an imaging trigger from the PLC 1 and generates image data corresponding to the captured image of the predetermined area. The camera unit 4c shown in FIG. 9 includes an external interface 97, a camera setting information storage section 530, a camera unit processing section 41c, and an image recording section 520.

[0113] The camera setting information storage unit 530 stores setting information of the camera unit 98, including imaging trigger conditions. The setting information of the camera unit 98 stored in the camera setting information storage unit 530 includes setting information created by the program creation device 70 and received via the CPU unit 3. The user program executed by the CPU unit 3 is created by the program creation device 70 connected to the CPU unit 3.

[0114] The camera unit processing unit 41c generates an ON / OFF signal that specifies an imaging trigger based on the setting information of the camera unit 98 stored in the camera setting information storage unit 530, and processes the image data generated by the camera unit 98 using this ON / OFF signal as an imaging trigger.

[0115] The image recording unit 520 records the image data acquired by the camera unit processing unit 41c. The image recording unit 520 also records the image data acquired by the camera unit processing unit 41c in chronological order, associating it with information relating to the time at which the image data was acquired. Furthermore, the image recording unit 520 transmits the image data and information relating to the time to the CPU unit 3 in response to an instruction from the CPU unit 3.

[0116] The external interface 97 is provided between the camera unit processing section 41c and the camera section 98. This external interface 97 includes an imaging trigger line and an image communication line.

[0117] The imaging trigger line is an interface for sending an ON / OFF signal that is generated by the camera unit processing unit 41c and defines an imaging trigger that causes the camera unit 98 to capture an image to the camera unit 98. This imaging trigger line is preferably a non-communication line. This allows the imaging trigger to be instructed by ON / OFF I / O rather than by communication, thereby achieving extremely fast imaging trigger instruction compared to sending an imaging command via communication.

[0118] A camera connection cable 550 that connects the external interface 97 and the camera section 98 bundles together an image communication line 502 and an imaging trigger line 501. As a result, by simply connecting the camera unit 4c and the camera section 98 via the external interface 97, it is possible to realize the exchange of all electrical signals that operate the camera section 98, thereby simplifying the wiring and the configuration.

[0119] The camera setting information storage unit 530 stores setting information for the camera unit 98 received from the CPU unit 3 via the inter-unit bus 90. The camera setting information includes various information such as the frame rate, image quality, rotation, exposure, gain, exposure time, white balance, contrast, gamma, sharpness, and anti-flicker during image capture. The camera unit processing unit 41c is connected to the CPU unit 3 and the expansion unit 4 via the inter-unit bus 90. The camera unit processing unit 41c acquires image data from the camera unit 98 via the external interface 97 based on the setting information for the camera unit 98 stored in the camera setting information storage unit 530. The image recording unit 520 collects image data acquired by the camera unit 98 and records the image data in association with information regarding the time the image data was acquired. This configuration enables highly accurate time synchronization between device recording of image data captured by the camera unit 98 and the time. In particular, by sending the imaging trigger that commands imaging as an ON / OFF signal over a dedicated imaging trigger line without going through a communication line or command interpretation, highly accurate time synchronization that avoids time delays can be achieved. (Time series data)

[0120] Here, we will explain the configuration of the programmable logic controller system shown in FIG. 1, in which device values ​​are stored as time-series data and displayed as device waveforms on the programmable display 50. The PLC 1 stores time-series data on device values ​​for devices, which are storage areas referenced by user programs, based on predetermined storage conditions. As shown in FIG. 6, the PLC 1 includes a CPU unit processing unit 31 and a CPU unit storage unit. The CPU unit processing unit 31 includes a program execution unit 40 that repeatedly executes user programs, a recording control unit 39, and a storage control unit 39C. The CPU unit storage unit includes a device unit having devices, which are storage areas referenced by the program execution unit 40, a temporary recording unit 91a, and a storage memory 36. The recording of the temporary recording unit 91a is controlled by the recording control unit 39. Here, the recording control unit 39 collects device values ​​stored in the device unit and temporarily records them in chronological order in the temporary recording unit 91a, associating them with information on the acquisition time of the device values. The storage of the storage memory 36 is controlled by the storage control unit 39C. Here, when a predetermined storage condition is satisfied, the storage control unit 39C stores the time-series data relating to the device values ​​temporarily recorded in the temporary recording unit 91a in the storage memory 36 as driving record data.

[0121] On the other hand, the programmable display device 50 connected to this PLC 1 displays a display screen that has been set in advance by a screen data creation device 60 on a display unit 55. A functional block diagram of the programmable display device 50 connected to the screen data creation device 60 is shown in FIG. 11. As shown in this diagram, the screen data creation device 60 can be connected to the programmable display device 50, and various screen data to be displayed on the programmable display device 50 is created using the screen data creation device 60. First, the screen data creation device 60 will be described. (Screen data creation device 60)

[0122] The screen data creation device 60 is realized, for example, by executing a drawing editor program running on an information processing terminal such as a personal computer. A user creates multiple pages in which various functional components FP are arranged in a desired layout. The screen data creation device 60 transfers screen data for these multiple pages to the programmable display device 50 based on user input. The programmable display device 50 stores the transferred screen data in a flash memory or the like and displays a page corresponding to a screen ID based on the user's touch operation. For example, assume that a page corresponding to screen ID1 is displayed on the display screen of the display unit 55 of the programmable display device 50, and a switching component for switching to a page corresponding to screen ID2 is disposed on that page. In this case, when a user's touch operation on the switching component is detected, display data for the page corresponding to screen ID2 is generated, and the page corresponding to screen ID2 is displayed based on the generated display data.

[0123] As described above, the programmable display device 50 according to this embodiment is configured to enable the contents of driving record data stored in the PLC 1 to be confirmed. For example, suppose that a page corresponding to screen ID 1 is displayed on the display screen of the display unit 55 of the programmable display device 50, and that page has a waveform display component arranged thereon for displaying device waveforms made up of time-series data of devices included in the driving record data. When the user touches the waveform display component, the driving record data is read from the CPU unit 3 of the PLC 1, and display data for displaying the device waveforms is generated. Then, based on the generated display data, the device waveforms of the devices to be displayed are displayed on the system screen.

[0124] At this time, the devices to be displayed are determined by the target device setting 52c, which will be described later. The target device setting 52c is a setting for specifying the devices for which device waveforms are to be displayed. That is, the types of devices included in the log data of the operation record data are very large, and the types and number of device waveforms to be displayed on the programmable display device 50 vary depending on the site where the programmable display device 50 is installed. Therefore, in the programmable display device 50 according to this embodiment, devices specified in advance by the user using the screen data creation device 60 are stored in the programmable display device 50 as the target device setting 52c. As a result, when the user touches the waveform display component, the programmable display device 50 can display the optimal type and number of device waveforms for the site from the operation record data stored in the PLC 1, making it easier to quickly resolve problems that occur at the factory automation site. (Programmable Display 50)

[0125] Next, we will explain the programmable display device 50. The programmable display device 50 shown in Figure 11 includes a setting storage unit 52, a display device processing unit 51, a touch detection unit 53, a display unit 55, a data memory 56, a screen data receiving unit 57, and a display device communication unit 58. (Settings storage unit 52)

[0126] The setting storage unit 52 is a component for storing various screen data necessary for generating display data on the programmable display device 50, such as component settings 52a, page settings 52b, target device settings 52c, acquisition device settings 52d, system default screen information 52f, and guidance information 52g. The guidance information 52g is associated with a device specified by the target device settings and is information for guiding how to resolve an error event when a save condition is met. The setting storage unit 52 that stores the guidance information 52g functions as a guidance information storage unit.

[0127] The component settings 52a are settings that assign devices to each of the components arranged on a single screen, where a single screen is used as a page to monitor or change the status of devices in the PLC 1. For example, the component settings 52a set the devices assigned to each component arranged on the display screen and the functions executed when each component is touched. The component settings 52a also include component images that represent each component. For example, an image showing the on state of a lamp and an image showing the off state of a lamp can be used.

[0128] The page settings 52b are settings for managing the component settings 52a on a page-by-page basis using page identifiers that identify multiple different pages. The page identifier is, for example, a screen ID that indicates a page number. The page settings 52b manages each page using multiple different screen IDs, with one screen on which one or multiple components are arranged as a page.

[0129] The target device setting 52c is a setting for specifying a target device for displaying a device waveform that shows the time-series data stored in the PLC 1. The target device setting 52c selects and sets a target device from the driving record data for displaying a device waveform on the programmable display 50.

[0130] The acquisition device setting 52d is a setting for specifying a device to acquire as a device waveform to be displayed in the monitor mode of the real-time chart monitor, which will be described later. The system default screen information 52f is information relating to a system default screen that is prepared in advance.

[0131] The display processing unit 51 may be realized by software using a CPU and a program, or by hardware such as an FPGA or ASIC, or by a combination of both. Of course, the specific configuration for realizing the display processing unit 51 is not important, and may include using multiple CPUs or multiple pieces of hardware. The display processing unit 51 includes a display data generation unit 51a and a driving record data interpretation unit 51b.

[0132] The display data generation unit 51a is a component for generating display data for each page corresponding to a plurality of different page identifiers based on the component settings 52a and page settings 52b stored in the setting storage unit 52. The display data generation unit 51a generates display data to be displayed on the display screen of the display unit 55. The touch detection unit 53 detects whether or not a user has performed a touch operation, and if a touch operation has been performed, changes the display content according to the touch operation. The display data generation unit determines whether or not a component (e.g., a switch component SP) assigned with a specific function exists at a position on the display screen indicated by the user's touch operation. If a component exists at the touched position, the function corresponding to the component is executed. Specifically, for example, if the component is a switch component SP, the state of the device assigned to the switch component SP is changed, and a component image corresponding to the device state (e.g., a component image indicating a switch ON or a component image indicating a switch OFF) is displayed on the display screen.

[0133] On the other hand, when there is no touch operation, the display data generation unit 51a generates display data for device monitoring. For example, the display data generation unit 51a generates display data for monitoring the status of devices in PLC1 so as to display a page such as that shown in FIG. 2 while PLC1 is operating. Specifically, the display data generation unit 51a periodically reads the device values ​​of the devices used in the display data from the data memory 56 and rewrites the contents of the display data to generate new display data. The display unit 55 displays a page corresponding to the newly generated display data on the display screen. The contents of the data memory 56 are mirrored by the display-side communication unit 58 (described later) with the device values ​​of the devices used in the display data among the devices in PLC1. This makes it possible to monitor and change the status of devices in PLC1 in real time. The basic processing operations during device monitoring will be described later.

[0134] The driving record data interpretation unit 51b reads out the management information data from the driving record data and determines what is included in the driving record data (details will be described later). (Touch detection unit 53)

[0135] The touch detection unit 53 is a component for detecting touch operations on the display screen of the display unit 55. The touch detection unit 53 detects touch operations on the display screen in a touch panel manner. Types of touch operations include long taps (long presses), double taps, flicks, pinch-in, pinch-out, etc. (Display section 55)

[0136] The display unit 55 has a display screen. Based on the display data generated by the display data generating unit 51a, a page corresponding to a page identifier according to the display data is displayed on the display unit 55. The display unit 55 can be configured, for example, with an LCD or organic EL display having a touch panel function. (Data memory 56)

[0137] The data memory 56 is a component for storing various settings. Here, it includes a display-side device section 56a that stores device values. The display-side device section 56a stores the device values ​​of devices used in display data among the devices of the PLC 1. The contents are updated as appropriate by a display-side communication section 58, which will be described later. (Screen data receiving unit 57)

[0138] The screen data receiving unit 57 is an interface that receives screen data created and transferred by the screen data creating device 60. The display device processing unit 51 stores the screen data received via the screen data receiving unit 57 in the setting storage unit 52. (Display unit communication unit 58)

[0139] The display-side communication unit 58 is a communication interface for communicating with an external device, such as the PLC 1. This display-side communication unit 58 repeatedly communicates with the PLC 1 at a predetermined cycle (for example, 10 ms) and synchronizes (mirrores) the contents of the data memory 56 with the device values ​​of the PLC 1's devices used for display data. For example, if one scan of the ladder program is approximately 100 μs and the communication cycle between the PLC 1 and the programmable display 50 is 10 ms, the programmable display 50 will read the PLC 1's devices once every 100 scans of the ladder program. The display-side communication unit 58 can also perform protocol conversion, etc., as necessary. (Display data generation unit 51a)

[0140] When the touch detection unit 53 detects a first touch operation on the page switching component 131 located on the first page displayed on the display screen, the display data generation unit 51a generates display data for the second page corresponding to the second page identifier based on the page setting 52b.

[0141] Furthermore, when the touch detection unit 53 detects a second touch operation that has been set in advance on the display screen, the display data generation unit 51a generates display data for displaying the device waveform of the device specified by the target device setting 52c, based on the time-series data stored in the PLC 1. The display unit 55 is configured to display the second page or the device waveform on the display screen, based on the display data generated by the display data generation unit 51a.

[0142] For example, the device waveforms of preset devices are displayed on the device waveform display screen 160 shown in Fig. 12. In the example of Fig. 12, the devices DM100, DM200, and R000 are displayed as graphs. By turning on / off the checkboxes provided to the left of each device, the corresponding device waveforms can be displayed / hidden.

[0143] With this configuration, it is possible to selectively switch to a different page or display the device waveform of the time-series data stored in the PLC 1 by touching the programmable display device 50. In particular, since the device waveform can be checked on the display screen of the programmable display device 50, it is possible to easily obtain information to quickly solve problems that occur at the FA site.

[0144] Here, the device waveform display screen 160 shown in Fig. 12 is a type of system screen of the programmable display device 50, and therefore, when the "x" button 166 in the upper right of Fig. 12 is touched, the screen returns from the system screen to the normal monitoring screen (a screen created by the user in the screen data creation device 60). Also, the device waveform display screen 160 shown in Fig. 12 is realized by overlaying time-series data read from the driving record data on a system default screen (a so-called standard default specification screen) prepared in advance by the developer of the programmable display device 50. Details of the data structure of the system screen will be described later.

[0145] In the above example, a configuration in which pages are switched by a first touch operation of touching a page switching component has been described, but the present invention does not limit the means for switching pages to a method using a dedicated page switching component. It goes without saying that pages may be switched by a predetermined touch operation, such as a flick operation. In this case, the predetermined operation for switching pages is the first touch operation. (Functional block diagram of the screen data creation device 60)

[0146] Next, a description will be given of the screen data creation device 60. The screen data creation device 60 shown in Fig. 11 includes a screen data creation input unit 63, a screen data creation display unit 65, a screen data creation unit 61, a screen data creation storage unit 62, and a screen data transfer unit 67.

[0147] The screen data creation input unit 63 is an input device such as a mouse, a keyboard, etc. A user can operate the screen data creation device 60 via the screen data creation input unit 63 to determine the layout of components within a page and assign devices to components.

[0148] The screen data creation display unit 65 is a display or the like connected to the screen data creation device 60, and is used to check the screen data.

[0149] The screen data creation unit 61 creates screen data including component settings 52a, page settings 52b, and target device settings 52c in accordance with user operation input via a screen data creation input unit 63. The screen data being edited is displayed on a screen data creation display unit 65 for the user to confirm.

[0150] The screen data creating storage unit 62 stores screen data including a component setting 52a, a page setting 52b, and a target device setting 52c.

[0151] The screen data transfer unit 67 reads out the screen data created by the screen data creation unit 61 from the screen data creation side storage unit 62 and transfers it to the programmable display device 50 . (User interface screen of screen data creation device 60)

[0152] 13 to 16 show examples of user interface screens of the screen data creation device 60. FIG. 13 shows a page setting screen 110 for setting a menu screen and the like. From this page setting screen 110, the user sets the buttons to be arranged on each screen (page) of the programmable display device 50 and the functions of each button. On the right side of the page setting screen 110, a screen selection field 111 listing configurable screens is provided, and on the right side, a screen display field 112 is provided. In the screen selection field 111, configurable screens are displayed together with screen IDs, which are page identifiers. A screen selected in the screen selection field 111 is displayed in the screen display field 112. The example in FIG. 13 shows a state in which a menu screen (screen ID is 0001) has been selected. In addition, a "Screen" tab 113 and a "System Settings" tab 114 are provided below the screen selection field 111. Selecting the "System Settings" tab 114 switches to the system setting screen 130 shown in FIG. 16. Settings for display components such as switches to be placed in the screen display field 112 are made from a switch setting screen 120 shown in Fig. 14. When an arbitrary switch is selected in the screen display field 112 of the page setting screen 110 in Fig. 13 or when properties are selected by right-clicking, the screen switches to the switch setting screen 120 shown in Fig. 14.

[0153] The switch setting screen 120 shown in FIG. 14 has a switch function selection field 121 for assigning switch functions. Switches that can be assigned include "bit set," "page change," "replay mode activation," "real-time chart monitor (replay mode)," and "real-time chart monitor (monitor mode)." In this case, the switch function selection field 121 allows the switch function to be selected using a drop-down list. The user selects the desired switch function from multiple options displayed in the drop-down list. When a switch function is selected in the switch function selection field 121, the switch setting screen 120 displays setting items corresponding to the selected switch function, as shown in FIG. 15. In this case, "replay mode activation" is selected in the switch function selection field 121, and accordingly, an initial display screen selection field 122, a driving record data selection field 123, and a real-time chart monitor (replay mode) detailed setting field 124 are displayed.

[0154] 16 shows a system setting screen 130. This system setting screen 130 displays a target device setting screen 220 for setting a target device for the device waveform to be displayed on the real-time chart monitor (in this example, replay mode). Details will be described later.

[0155] The screen data created by the screen data creating device 60 in this manner is transmitted to the programmable display device 50 via the screen data transfer unit 67. When the programmable display device 50 receives the screen data at the screen data receiving unit 57, it stores the screen data in the setting storage unit 52. (Part setting 52a)

[0156] The component settings 52a stored in the setting storage unit 52 of the programmable display device 50 shown in FIG. 11 include at least one of the settings of the waveform display component, the setting of the page switching component 131, the setting of the real-time display component, and the setting of the replay display component. (Waveform display component)

[0157] The waveform display component is a display component for displaying device waveforms. Using the screen data creation device 60 shown in FIG. 11 , a user defines a user screen from the screen data creation unit 61 by operating the screen data creation input unit 63. While displaying the user screen on the screen data creation display unit 65, the user selects display components, such as the waveform display component and the page change component 131, stored in the screen data creation storage unit 62 and places them at desired positions on the page of the user screen. Once the user screen is created in this manner, the screen data transfer unit 67 transfers the screen data to the screen data receiving unit 57 of the programmable display device 50. Based on the transferred screen data, the programmable display device 50 acquires information necessary for screen display, such as device values ​​specified in the target device setting 52c, from the PLC 1 via the display device communication unit 58. The display data generation unit 51a of the display processing unit 51 generates display data, which is then displayed on the display unit 55. Then, the touch detection unit 53 detects that the user has touched a display component displayed on the display screen of the display unit 55, and the corresponding processing is performed by the display processing unit 51. For example, when a touch operation is performed on a waveform display component, the device waveform display screen 120 in FIG. 12 is displayed. (Page Switcher 131)

[0158] The page switching component 131 is a component placed on a first page corresponding to an arbitrary first page identifier among a plurality of different page identifiers on the display screen, for switching to a second page corresponding to a second page identifier different from the first page identifier.

[0159] 17 to 20 show examples of user screens on which a page switching component 131 is arranged. In the example of user screen 130A shown in FIG. 17, the page switching component 131 is a button 132 labeled "Next Page." By pressing this "Next Page" button 132 displayed on the display screen, the user can switch the display content on the display screen to a specified page (for example, the page next to the currently displayed page). In addition, in the example of user screen 130B shown in FIG. 18, two buttons 133 and 134, "→" and "←," are arranged as the page switching component 131. By pressing the "→" button 133, the display content can be switched to the corresponding page with an incremented page number, and by pressing the "←" button 134, the display content can be switched to the corresponding page with a decremented page number. Furthermore, in the example of user screen 130C shown in FIG. 19, the page switching component 131 includes "△" and "▽" buttons 135 and 136 and a page number display field 137. The user can increase the page number displayed in the current page number display field 137 by pressing the "△" button 135, and decrease the page number displayed in the current page number display field 137 by pressing the "▽" button 136. Page switching may be performed when the "△" button 135 or the "▽" button 136 is pressed to increase or decrease the page number. Alternatively, a "move" button 138 may be provided separately from the "△" and "▽" buttons 135 and 136, and a desired page number may be displayed in the page number display field 137 using the "△" and "▽" buttons 135 and 136, and the user may then move to the desired page by pressing the "move" button 138. Furthermore, in the example of the user screen 130D shown in FIG. 20 , thumbnail screens 139 of each page are displayed as page switching components 131. The user can switch the display content to the desired page by pressing the thumbnail screen 139 corresponding to the desired page. (User interface screen of programmable display device 50)

[0160] 12 and 21 to 27 show examples of user interface screens of the programmable display device 50. In these figures, Fig. 21 shows a menu screen 140 of the programmable display device 50, Fig. 22 shows an initial screen 150 in replay mode that is displayed when the "Start Replay Mode" button 141 is touched on the menu screen 140 of Fig. 21, Fig. 12 shows a device waveform display screen 160 that is displayed when the "Real-Time Chart Monitor" tab 161 is selected in replay mode, Fig. 23 shows a camera event display screen 170 that is displayed when the "Camera Event" tab 162 is selected, Fig. 24 shows a viewer display screen 180 that is displayed when the "Viewer" tab 163 is selected, Fig. 25 shows a unit display screen 190 that is displayed when the "Unit" tab 164 is selected, Fig. 26 shows a unit display screen 190B that is displayed when the "Details" button 191 is touched on the unit display screen 190 of Fig. 25, and Fig. 27 shows a program display screen 200 that is displayed when the "Program" tab 165 is selected. A user screen such as a "maintenance screen" that is displayed when the "viewer" tab 163 shown in FIG. 24 is touched is created by the user using the program creation device 70.

[0161] The camera and event display screen 170 shown in FIG. 23 is an example of a system screen in this embodiment, and similar to the device waveform display screen 160 described above, it displays camera images read from the driving record data and events associated with their occurrence times superimposed on a system default screen. This camera and event display screen 170 has a camera image display field 172 on the right side of the screen. An event and error history field 171 displays a list of each event included in the driving record data, along with the event content and the date and time of occurrence. In the example of FIG. 23, the row for "mode switch (PROG>RUN)" is highlighted among the event group EV listed in the event and error history field 171. This indicates that the focus is on the time when the "mode switch (PROG>RUN)" event occurred.

[0162] At this time, the camera image displayed in the camera image display field 172 on the left side is the camera image captured closest to the time the event occurred, extracted from the driving record data. Furthermore, below the camera image display field 172, image information IX such as the date and time the displayed camera image was captured and the number of images captured is displayed.

[0163] Also, the time display area 409 displays "20XX / 4 / 20 11:26:23," which is synchronized with the time when the above-mentioned "mode switch (PROG>RUN)" event occurred. In other words, the time when the event touched in the event error history field 171 occurred is displayed in the time display area 409.

[0164] Here, if an arbitrary event other than "Mode Switch (PROG>RUN)" is touched in the event error history field 171, the arbitrary event is highlighted. Accordingly, the time when the arbitrary event occurred is displayed in the time display area 409. In addition, the camera image displayed in the camera image display field 172 also changes. Specifically, it changes to the camera image captured closest to the time when the arbitrary event occurred.

[0165] A time specification cursor 404 that can be moved left and right like a slider is displayed to the right of the time display area 409. The time specification cursor 404 indicates "20XX / 4 / 20 11:26:23" displayed in the time display area 409. When the time specification cursor 404 is moved left or right, the camera image changes in response to this operation, and at the same time, the highlighted portion in the event / error history column 171 also changes.

[0166] In this way, the switching of camera images, the switching of highlighted events, and the position of the time specification cursor are all linked (synchronized) with one another. The user can change the reference time for the linked display by using the slider operation of the time specification cursor 404 left or right, or by touching a specific event in the event error history field 171. The linked display will be described in detail later.

[0167] The viewer display screen 180 shown in FIG. 24 is an example of a system screen in this embodiment. Similar to the device waveform display screen 160 described above, the viewer display screen 180 displays device values ​​read from the driving record data superimposed on a system default screen. The viewer display screen 180 incorporates a "maintenance screen" created by the user in the screen data creation device 60 into the system default screen. As described in detail with reference to FIG. 2, the maintenance screen includes text components TX such as "maintenance screen" and "replay in progress." Additionally, character display components CP such as "general," "AD conversion data," "special data," "offset value," "analog data," "disconnection detection," "scaling," "upper limit value," "lower limit value," "comparator," "item," "value," "relay," "upper limit value ON level," "upper limit value OFF level," "lower limit value OFF level," and "lower limit value ON level" are arranged. Numerical display components NP (displaying values ​​such as 12345 or 3452) or character display components CP (displaying ON or OFF) are arranged corresponding to some character display components CP.

[0168] 24, the position of the time specification cursor 404 and the device value displayed by the numeric display component NP are linked. That is, by operating the time specification cursor 404 left or right as a slider, the display content of the numeric display component NP or the text display component CP can be changed. For example, in FIG. 24, "20XX / 4 / 20 11:26:23" is displayed in the time display area 409, so the numeric display component NP or the text display component CP displays the device value for "20XX / 4 / 20 11:26:23."

[0169] Furthermore, the viewer display screen 180 shown in Fig. 24 is linked (synchronized) with the above-mentioned camera and event display screen 170 shown in Fig. 23. As described above, "20XX / 4 / 20 11:26:23" is displayed in the time display area 409 of the camera and event display screen 170 shown in Fig. 23, and when the user touches the "Viewer" tab 163 in this state, "20XX / 4 / 20 11:26:23" is displayed in the time display area 409, and the viewer display screen 180 (Fig. 24) is displayed in which the device value corresponding to this time is displayed in the numeric display component NP or the character display component CP.

[0170] The "Check Waveform" button 181 in Figure 24 is a so-called switch part SP, and when the user touches it, a real-time chart monitor (replay mode) is displayed that displays the devices used on the "Maintenance Screen" shown in Figure 24.

[0171] The unit display screen 190 shown in FIG. 25 is an example of a system screen in this embodiment, and similar to the device waveform display screen 160 described above, displays the unit configuration read from the driving record data superimposed on the system default screen. The "Details" button 191 and the "Confirm Waveform" button 181 are also pre-installed in the system default screen (they are not user-created) and are displayed according to the number of unit configurations. In FIG. 25, it is assumed that the unit configuration UL included in the driving record data includes four units: a "CPU Unit," an "I / O Unit," a "Camera Unit," and a "Motion Unit." Therefore, four sets of the "Details" button 191 and the "Confirm Waveform" button 181 are displayed. For example, touching the "Details" button 191 corresponding to the "Motion Unit" displays the unit display screen shown in FIG. 26.

[0172] The unit display screen 190B shown in Fig. 26 is an example of a system screen in this embodiment, and similar to the device waveform display screen 160 described above, the buffer memory (UG), which is a device in the motion unit read from the driving record data, and its device values ​​are displayed on the system default screen. In Fig. 26, "current coordinates," "command coordinates," "current speed," "command speed," and "feedback torque" are displayed as examples of UGs, and the device values ​​are displayed to the right of each UG.

[0173] The time display area 409 in FIG. 26 displays "20XX / 4 / 20 11:26:23," which is the same time as those in FIGS. 23 to 25 described above. In other words, the time shown on the unit display screen 190B shown in FIG. 26 is linked (synchronized) with the time shown on the camera / event display screen 170 shown in FIG. 23 described above and the time shown on the viewer display screen 180 shown in FIG. 24. Furthermore, when the time specification cursor 404 in FIG. 26 is operated left or right as a slider, the time is specified by the position of the time specification cursor 404 after the slider operation, and the device value at the specified time is displayed. In other words, in response to the slider operation of the time specification cursor 404, the device value corresponding to the position of the time specification cursor 404 is read from the driving record data and displayed.

[0174] When the "Confirm Waveform" button 181 shown in FIG. 26 is touched, a real-time chart monitor (replay mode) is displayed that displays the devices used on the unit display screen 190B shown in FIG.

[0175] The program display screen 200 shown in Fig. 27 is an example of a system screen in this embodiment, and similar to the above-mentioned device waveform display screen 160, displays the unit configuration and ladder program read from the operation record data superimposed on the system default screen. In Fig. 27, a unit configuration display field 207 is provided on the left side, and a ladder program display field 208 is provided on the right side.

[0176] The time display area 409 in Fig. 27 displays "20XX / 4 / 20 11:26:23," which is the same time as those in Figs. 23 to 26 described above. That is, the time shown on the program display screen 200 in Fig. 27 is linked (synchronized) with the time shown on the camera / event display screen 170 shown in Fig. 23 described above, the time shown on the viewer display screen 180 shown in Fig. 24, and the unit display screens 190 and 190B shown in Figs. 25 and 26. Furthermore, when the time specification cursor 404 shown in Fig. 27 is operated left or right as a slider, the time is specified by the position of the time specification cursor 404 after the slider operation, and the device value at the specified time is superimposed on the ladder program displayed in the ladder program display field 208. That is, in response to the slider operation of the time specification cursor 404, the device value corresponding to the position of the time specification cursor 404 is read from the operation record data and superimposed on the ladder program. (Processing operation of the programmable display device 50)

[0177] Here, the processing operation for displaying a device waveform in the replay mode of Fig. 12 on the programmable display device 50 will be described with reference to the flowchart of Fig. 28A. First, in step S2801, a user's touch operation is accepted. Next, in step S2802, it is determined whether or not this touch operation is a touch operation on a waveform display component. If it is not a touch operation on a waveform display component, the process proceeds to step S2803, where it is determined whether or not this touch operation is a touch operation on a switch component. If it is not a touch operation on another component, the process ends without performing any processing. On the other hand, if it is a touch operation on another component in step S2803, the process proceeds to step S2804, where a function corresponding to the touched component is executed, and the process ends.

[0178] On the other hand, if it is determined in step S2802 that the touch operation was on the waveform display component, the process proceeds to step S2806, where the selection of driving record data is accepted. Here, the user is prompted to select which driving record data waveform to display. Then, once a driving record data item is selected, the corresponding driving record data is read in step S2807. More specifically, the display data generation unit 51a of the programmable display device 50 acquires driving record data from driving record data stored in the storage memory of the PLC 1 or from driving record data previously stored in the data memory 56 of the programmable display device 50.

[0179] Further, in step S2808, the device to be displayed is specified, and further in step S2809, display data is generated by the display data generating unit 51a. Finally, in step S2810, the device waveform is displayed on the display unit 55, and the process ends. (Performs functions according to parts)

[0180] Here, details of step S2804 shown in FIG. 28A will be described based on the flowchart in FIG. 28B. "Executing a function according to a component" performed in FIG. 28B is executed when a user touches a switch component in step S2803 in FIG. 28A. There are two types of functions for switch components: one is the bit set function described above with reference to FIG. 2. The other is a page switching function. A switch component with the bit set function set is assigned a specific device, while a switch component with the page switching function set is assigned a specific page (screen ID). For example, the RESET switch 246 shown in FIG. 2 has a bit set function and is assigned a specific device. Furthermore, the page switching component 131 shown in FIG. 17 has a page switching function and is assigned a page number (screen ID) of the switching destination (jump destination).

[0181] In FIG. 28B, first, in step S2804-1, it is determined whether the function of the switch component is a bit set function. If it is a bit set function, the process proceeds to step S2804-2, where the device value of the device assigned to the switch component is rewritten in response to the touch operation (1 → 0, etc.). On the other hand, if it is not a bit set function, the process proceeds to step S2804-3, where it is determined whether the function of the switch component is a page switching function. If it is a page switching function, in step S2804-4, pages are switched to the page number (screen ID) assigned to the switch component in response to the touch operation. On the other hand, if it is not a page switching function, the process returns to the flowchart of FIG. 28A, and the process ends. (Display data generation)

[0182] Details of step S2809 shown in Fig. 28 will be described with reference to the flowchart in Fig. 28C. In the flowchart in Fig. 28C, display data is generated. First, in step S2809-1, system default screen information 52f for displaying a system default screen is read. This system default screen information 52f is created by the developer of the programmable display device 50 and is stored in the setting storage unit 52 shown in Fig. 11. The display data generation unit 51a of the programmable display device 50 reads the system default screen information 52f from the setting storage unit 52.

[0183] Next, in S2809-2, time-series data of device values ​​is extracted from the driving record data. More specifically, the display data generation unit 51a of the programmable display device 50 extracts time-series data of device values ​​of the device identified in step S2808 from the driving record data acquired in step S2807. Then, in S2809-3, the display data generation unit 51a generates display data in which the time-series data is superimposed on the system default screen, based on the read system default screen information 52f and the extracted time-series data of the device values. (Device waveform display)

[0184] Further, details of step S2810 shown in Fig. 28A will be described with reference to the flowchart in Fig. 28D. Fig. 28D shows the procedure for displaying a device waveform. First, in step S2810-1, the display processing unit 51 displays the device waveform based on the display data generated by the display data generation unit 51a in step S2809.

[0185] Next, in step S2810-2, the display processing unit 51 determines whether or not the time designation cursor 404 has been moved while the device waveform is being displayed. If the time designation cursor 404 has not been moved, no particular processing is performed and the processing of step S2810-2 is repeated.

[0186] On the other hand, if the time designation cursor 404 has been moved, the process proceeds to step S2810-3, where the display data generation unit 51a of the display device processing unit 51 extracts, from the driving record data, time series data corresponding to the time of the moved time designation cursor 404. The extraction range may be, for example, a time range in which waveform display is possible, centered on the time of the moved time designation cursor. Then, in step S2810-4, the display data generation unit 51a uses the extracted time series data to generate display data and update the display content.

[0187] For example, in the example of FIG. 12, when the time designation cursor 404 is at a position corresponding to the time "20XX / 4 / 20 11:26:23" (scan count 35,000), the user operates the slider to the right to advance the time. For example, suppose the time is advanced from scan count 35,000 to the time corresponding to scan count 40,000. In response, the display data generation unit 51a of the display processing unit 51 extracts time series data corresponding to a predetermined number of scans before and after scan count 40,000 from the driving record data. Then, the display data generation unit 51a uses the extracted time series data to generate display data such that scan count 40,000 overlaps with the identification line IL, and updates the display content.

[0188] When one-step playback button 408 is touched, display data generation unit 51a of display processing unit 51 uses the time specified by this touch operation as a reference, extracts time-series data corresponding to a predetermined number of scans before and after this reference, generates display data, and updates the display content. Also, when playback button 406 is touched, display data generation unit 51a sequentially extracts time-series data from the driving record data and sequentially updates the display content so that the corresponding device waveform is displayed (this causes the device waveform to scroll horizontally).

[0189] Also, in Figure 28D, we have explained the processing operation when the time specification cursor is moved while the device waveform is displayed, but the processing is similar when a touch operation is performed on any event from a group of multiple events EV in the event error history field 171 shown on the camera event display screen 170 shown in Figure 23, for example.

[0190] Specifically, the display data generation unit 51a of the display processing unit 51 determines whether a touch operation has been performed on any event in the event / error history field 171 while the camera / event display screen 170 shown in FIG. 23 is displayed. If it is determined that a touch operation has been performed, the display data generation unit 51a not only switches the highlighted portion in the event / error history field 171 to the event, but also specifies the occurrence time of the event and displays it in the time display area 409. The display data generation unit 51a also changes the display position of the time designation cursor 404 to match the occurrence time of the event. Furthermore, the display data generation unit 51a extracts from the driving record data the camera image captured at the time closest to the occurrence time of the event and displays it in the camera image display field 172. (Real-time chart monitor)

[0191] The programmable display device 50 can also acquire device waveforms via the PLC 1 and display them in real time. This real-time display is realized as the monitor mode of the real-time chart monitor displayed on the programmable display device 50. The real-time chart monitor has a monitor mode that sequentially collects current device values ​​and displays them as moving images in real time, as well as a replay mode that reads and displays previously acquired time-series data. That is, the real-time chart monitor has a monitor mode that displays the current state as it is, and a replay mode that reproduces the state at a certain point in time in the past. Switching between these modes can be performed using a mode switching unit. The mode switching unit can be implemented, for example, by switching between a "Real-time Chart Monitor (Replay Mode)" button 142 and a "Real-time Chart Monitor (Monitor Mode)" button 143, which are display components displayed on the menu screen 140 of FIG. 21. Touching the "Real-time Chart Monitor (Monitor Mode)" button 143 on the screen of FIG. 21 executes the monitor mode of the real-time chart monitor on the programmable display device 50, and the device waveform display screen 210 of FIG. 29 is displayed. The device waveform display screen 210 in FIG. 29 is displayed as a moving image whose display content is updated in real time. (Acquisition Device Settings 52d)

[0192] 11 stores an acquisition device setting 52d for specifying an acquisition device as a device waveform to be displayed in the monitor mode of the real-time chart monitor. The PLC 1 temporarily records the device values ​​of the device specified by the acquisition device setting 52d as time-series data in the temporary recording unit 91a using the recording control unit 39. The programmable display 50 then acquires this time-series data via the display-side communication unit 58, and displays the device values ​​as a moving image on the device waveform display screen 210 shown in FIG. 29, updating them as the data is successively updated.

[0193] In this way, the setting storage unit 52 stores the acquisition device setting 52d that specifies the acquisition device from which the time-series data of the device value is to be repeatedly acquired. The setting storage unit 52 also includes the setting of the real-time display component for sequentially displaying the time-series data of the acquisition device. (Monitor mode)

[0194] As described above, in the monitor mode of the real-time chart monitor, the programmable display device 50 sequentially displays the time-series data of the device values ​​temporarily recorded in the temporary recording unit 91a of the PLC1 on the display unit 55. To this end, the programmable display device 50 preliminarily sets the acquisition device setting 52d that specifies the acquisition device to be repeatedly acquired and the real-time display component that sequentially displays the time-series data of the acquisition device, and stores these settings in the setting storage unit 52. As a result, when the user touches the real-time display component on the user screen, the touch detection unit 53 detects this touch operation, and the display data generation unit 51a generates display data that sequentially displays the device values ​​on the display screen based on the time-series data of the acquisition device temporarily recorded in the temporary recording unit 91a of the PLC1. In the example of FIG. 21, the real-time display component corresponds to the "Real-time Chart Monitor (Monitor Mode)" button 143. (Target device setting screen)

[0195] In the real-time chart monitor, the target device for which the device waveforms are displayed in monitor mode or replay mode is set on the target device setting screen. FIG. 16 shows an example of the target device setting screen 220 for setting such target devices. The target device setting screen 220 can be set separately for each mode, i.e., for replay mode and monitor mode. If multiple user screens are set for each mode, the user can set the target device for each screen, i.e., for each RTCMID. In the example of FIG. 16, the target device to be displayed for RTCMID0 in replay mode is set. Here, candidate target devices are displayed in a list in the unit selection field 221, and for each device, the unit name, device name, and display format are displayed. The display format indicates the format to be displayed on the display unit 55 (e.g., whether decimal or binary display, the number of bits, whether positive or negative signs are used, etc.). The display format may be a preset format, or the user may be able to arbitrarily specify the display format for each device. For example, from the screen shown in FIG. 16, the user selects a desired device and specifies the display format.

[0196] Display on the real-time chart monitor is performed according to the settings on this target device setting screen 220. For example, in the example of Fig. 16, DM100, DM200, and R000 are selected as target devices, and when displaying in replay mode on the real-time chart monitor of Fig. 12, the device waveforms of DM100, DM200, and R000 designated as target devices are displayed. (Real-time chart monitor (monitor mode))

[0197] The programmable display device 50 according to this embodiment can display a real-time chart monitor (monitor mode). The real-time chart monitor (monitor mode) uses a temporary recording unit 91a (ring buffer) provided in the CPU unit storage unit 32 separately from the PLD-side device unit 34 in the PLC 1 shown in FIG.

[0198] Here, the processing operation when the real-time chart monitor of the programmable display device 50 is set to monitor mode will be described with reference to the flowchart in Fig. 30. First, the display device processing unit 51 of the programmable display device 50 requests the PLC 1 to monitor a device waveform via the display device communication unit 58 (step S3001). When the CPU unit processing unit 31 receives this monitoring request, it stores the device values ​​of the device that is the target of the monitoring request in a ring buffer for a certain period of time. As a result, the ring buffer stores time-series data of the device values ​​for the device that is the target of the monitoring request for a certain period of time.

[0199] The display unit processing unit 51 periodically requests the PLC 1 to transfer data via the display unit communication unit 58 (step S3002). This data transfer request requests the transfer of a predetermined amount of data from the previously read position of the time-series data of device values ​​sequentially stored in the ring buffer, which is the temporary storage unit 91a provided in the CPU unit storage unit 32. The CPU unit processing unit 31 transfers a predetermined amount of data from the previously read position of the time-series data of device values ​​stored in the ring buffer to the programmable display unit 50 (step S3003). In addition, to display device waveforms (the horizontal axis is the time axis) on the programmable display unit 50, the CPU unit processing unit 51 acquires information on the time when the device values ​​were stored in the ring buffer from an internal clock (the time management unit 83b in FIG. 8 ) or the like. The CPU unit processing unit 51 then transfers the time-series data of device values ​​and information on the time when each device value was stored in the ring buffer to the programmable display unit 50. The display unit processing unit 51 then receives this data and additionally displays the device waveform based on the time information (step S3004). In this way, additional display of device waveforms is repeated until monitoring of device waveforms is completed (step S3005). (Monitor mode display example)

[0200] Next, an example of the display of the real-time chart monitor (monitor mode) is shown in the device waveform display screen 210 of FIG. 29. As shown, in the monitor mode of the real-time chart monitor, device waveforms are displayed in graph form. In this graph, the time axis indicates the number of scans, and can be switched to a time display. The left side of the graph represents older time periods, and the right side of the graph represents newer time periods. In the example of the device waveform display screen 210 of FIG. 29, device waveforms for devices DM100, DM200, and R000 are displayed. For each device waveform, the right end indicates the most recent device value. After this, the display processing unit 51 adds and displays the time-series data of the device values ​​received from the PLC to the right end of each device waveform. This extends to the right of each device waveform. When the device waveform reaches the right end of the real-time chart monitor field, the monitor screen including the graph scrolls to the left, and device values ​​are sequentially hidden starting from the left end of the device waveform.

[0201] The real-time chart monitor (monitor mode) shown in FIG. 29 can be displayed on the display unit 55 of the programmable display device 50 by performing the following settings. That is, first, in the screen data creation device 60, the "real-time chart monitor (monitor mode)" is assigned as a switch function to the switch component of the "real-time chart monitor (monitor mode)." Then, in the target device setting screen 220 of the system setting screen 130 shown in FIG. 16, the RTCM ID to be displayed in the "real-time chart monitor (monitor mode)" is specified, and the type and number of devices whose device waveforms should be displayed on the screen corresponding to the RTCM ID are set. The type and number of devices whose device waveforms should be displayed may be the same as those set in the "real-time chart monitor (replay mode)." The screen data created in this manner is transferred from the screen data creation device 60 to the programmable display device 50. By touching the "real-time chart monitor (monitor mode)" button 143 on the menu screen 140 of FIG. 21, time-series data (device waveforms) of a desired type and number of devices can be displayed on the system screen of the programmable display device 50. (Replay display component)

[0202] To switch to replay mode, touch the replay display component. In the example of the menu screen 140 shown in FIG. 21, two replay display components are provided: a "Real-Time Chart Monitor (Replay Mode)" button 142 and a "Start Replay Mode" button 141. Touching the "Start Replay Mode" button 141 displays a replay mode screen (e.g., as shown in FIG. 12, 23-27, etc.) according to the pre-defined settings. From these replay mode screens, the user can configure various settings related to replay mode and switch the display content. Specifically, touching a tab at the top of the screen allows switching to a different display screen. For example, selecting the "Real-Time Chart Monitor" tab 161 displays the device waveform display screen 160 shown in FIG. 12. Selecting the "Camera / Event" tab 162 displays the camera / event display screen 170 shown in FIG. 23. Furthermore, selecting the "Viewer" tab 163 displays the viewer display screen 180 shown in FIG. 24. Furthermore, when the "Unit" tab 164 is selected, the unit display screens 190 and 190B shown in Figures 25 and 26 are displayed. Furthermore, when the "Program" tab 165 is selected, the program display screen 200 shown in Figure 27 is displayed.

[0203] On the other hand, when the "Real-time chart monitor (replay mode)" button 142 is touched, a device waveform display screen 160B shown in Fig. 31 is displayed. On this screen, multiple tabs like those in Fig. 12 and Figs. 23 to 27 are not displayed, and only the device waveform display screen is displayed. This can be called up in one go when you want to display only the real-time device waveform without having to go through detailed settings. (Initial display screen setting section)

[0204] The initial display screen displayed in replay mode is set by the screen data creation device 60. When displaying device waveforms on the initial display screen, the target device to be displayed can be selected. Additionally, the target device initially displayed can be changed depending on the conditions. Replay mode is used to investigate the cause of a problem, and the device believed to be the cause of the problem often differs depending on the type of problem. Therefore, by changing the target device initially displayed in replay mode depending on the type of storage conditions, the state of the target device can be quickly examined and the cause of the problem can be identified. Therefore, as shown in FIG. 32, for example, the screen data creation device 60 can be set in advance to change the device waveforms displayed on the programmable display device 50 in replay mode depending on the cause of the problem. This allows the programmable display device 50 to selectively display device waveforms of devices likely to be related to the cause of the problem when a problem occurs during FA system operation, thereby providing information useful for identifying the cause of the problem and helping to quickly restore the system. Furthermore, when displaying device waveforms on the display screen, a setting screen for setting one or more target devices and their display format can be displayed.

[0205] Such settings are made from an initial display screen setting unit 230 of the screen data creation device 60 as shown in FIG. 33. The initial display screen setting unit 230 shown in this figure is common to the switch setting screen 120 shown in FIG. 15, and detailed description thereof will be omitted. Here, a "RTCMID Designation Method" field 126 is provided in the real-time chart monitor (replay mode) detailed setting field 124. The RTCMID can be designated externally. In the case of external designation, the location and device name of the target device are designated in a location selection field 127 and a device name selection field 128, respectively. In the example of FIG. 33, the device values ​​of "PLC1" as the location and "DM300" as the device name are designated as RTCMID. In this case, if the device value of DM300 is 0, RTCMID=0 is designated, and if the device value of DM300 is 1, RTCMID=1 is designated. In this way, by using the device allocation mechanism as a method for specifying the RTCMID, when a problem occurs, it is possible to dynamically change the RTCMID of the real-time chart monitor (replay mode) displayed on the programmable display device 50. Note that the "RTCMID specification method" field 126 allows you to select "external specification" or "internal specification" as a method for specifying the RTCMID, and as described above, you may select "internal specification" if you want to set the RTCMID to a fixed value. (Data Structure)

[0206] Next, in this embodiment, the data structure of the screen data of the user screen created by the screen data creation device 60 is shown in Figure 34A, the data structure of the system screen pre-installed by the developer of the programmable display device 50 is shown in Figure 34B, and a schematic diagram of the data structure in which the above-mentioned RTCMID and device are linked is shown in Figure 34C.

[0207] As shown in Fig. 34A, the data structure of screen data created by a user has page settings for each page managed by a screen ID (e.g., 0001 to 0003), and component settings for various components arranged on one page. As described in detail with reference to Fig. 2, component types for components arranged on one page include text components TX, character display components CP, numeric display components NP, switch components SP (including page switching components), lamp components RP, meter components MP, and graph components GP. Component IDs are also assigned to distinguish between multiple components of the same type. For example, if there are two text components, different component IDs are assigned to each.

[0208] 34A shows that a device is assigned to each component, except for the text component TX. For example, the example in Fig. 34A shows that a device DM1001 is assigned to a character display component CP with a component ID of 0002, a device DM1002 is assigned to a numeric display component NP with a component ID of 0003, a device R1001 is assigned to a switch component SP with a component ID of 0004, a device R1002 is assigned to a lamp component RP with a component ID of 0005, a device DM1003 is assigned to a meter component MP with a component ID of 0006, and a device DM1004 is assigned to a graph component GP with a component ID of 0007.

[0209] Furthermore, all components are associated with the X and Y coordinates where they are placed on one page. For example, in the example of Fig. 34A, a text component is shown to be placed at coordinates (10, 10) on one page. The same applies to other components.

[0210] Furthermore, each component, except for text components, is assigned one or more component images. For example, in the example of Fig. 34A, in the case of the character display component CP and the numeric display component NP, a component image of a frame in which the characters or numeric values ​​are displayed is assigned, and the thickness and color of this frame can be freely set by the user. The same applies to other components.

[0211] As shown in FIG. 34B, information for displaying the system default screen (system default screen information 52f) is stored in advance in the setting storage unit 52 by the developer of the programmable display device 50 (or may be stored in the data memory 56 or another system memory). As described with reference to FIG. 28A, the display data generation unit 51a of the programmable display device 50 reads out this system default screen information 52f, extracts necessary time-series data of device values ​​from the driving record data, and generates display data DP for superimposing and displaying the time-series data of device values ​​on the system default screen. Then, the display processing unit 51 performs a desired screen display based on the display data DP generated by the display data generation unit 51a. While FIG. 34B describes the data structure for displaying the device waveform display screen 160 shown in FIG. 12, the same applies to the data structures for displaying each of the screens shown in FIGS. 23 to 27.

[0212] As shown in FIG. 34C, a designated device that designates the RTCMID and a target device that is displayed in the real-time chart monitor replay mode are assigned to each different RTCMID.

[0213] In this way, the alarm that occurs when a problem occurs can be linked to the display data. For example, when the "Start Replay Mode" button 141 is touched on the system screen of FIG. 21, a user screen is displayed according to the device value of the specified target device (DM300) in accordance with the settings in FIG. 33. As described above, when the device value of DM300 is 0, the page of RTCMID0 is selected as the initial screen 150 (FIG. 22) for replay mode; when the device value of DM300 is 1, the page of RTCMID1 is selected. This allows the appropriate user screen (device to be displayed) to be selected and initially displayed depending on the state of the problem, and by linking highly relevant devices in advance depending on the problem phenomenon, it helps to smoothly resolve the problem. (Ladder Monitor)

[0214] The programmable display device 50 may also have a ladder monitor function that displays a ladder program in the replay mode of the real-time chart monitor, as shown in the program display screen 200 of FIG. 27. Specifically, when a storage condition is met, the PLC 1 stores the user program that was being executed by the program execution unit 40 at the time the storage condition was met in the storage memory 36, including the user program in the driving record data so that the user program is associated with the driving record data. The programmable display device 50 then acquires the driving record data stored in the storage memory 36 of the PLC 1 and displays the user program on the display unit 55 based on information about the acquisition time included in the driving record data. At this time, the device values ​​corresponding to the acquisition time are displayed on the user program (e.g., ladder program) included in the driving record data. As shown in FIG. 27, device values ​​are displayed for each device shown in the ladder diagram display field 206. (Event Monitor)

[0215] Furthermore, the programmable display device 50 may be equipped with an event monitor function that displays events. The event collection unit 92b of PLC1 collects event data corresponding to multiple events that occur in PLC1 or controlled devices controlled by PLC1, and stores the event data in chronological order in the temporary recording unit 91a, associating the event occurrence time with the event data. When the storage conditions are met, the event data stored by the event collection unit 92b is stored in the storage memory 36, included in the driving record data so that it is associated with the driving record data.

[0216] The programmable display device 50 then acquires the driving record data stored in the storage memory 36 and displays on the display unit 55 events corresponding to the event data contained in the driving record data based on the occurrence times contained in the driving record data. FIG. 23 shows the event monitor function being executed in replay mode of the real-time chart monitor. In this example, an event / error history column 171 is provided on the left of the camera / event display screen 170, and a camera image display column 172 is provided on the right. The event / error history column 171 displays a list of each event contained in the driving record data, along with the event content and the date and time of occurrence. Furthermore, when a desired event is selected in the event / error history column 171, a camera image captured by a camera corresponding to that event is displayed in the camera image display column 172. (Playback control column 402)

[0217] Furthermore, a playback control field 402 is provided at the bottom of the camera / event display screen 170 for controlling playback of log data such as saved device values. A time designation cursor 404, displayed as a slider, can be moved left and right. The time designation cursor 404 is assigned according to time, linked to the time information contained in the driving record data, with the left indicating the past and the right indicating the future. Tapping and moving the time designation cursor 404 selects the event at the corresponding time in the event / error history field 171, and also switches the camera image in the camera image display field 172. The currently selected time information is displayed in the time display area 409.

[0218] The play button 406 is a button for instructing the chronological display of device values. When the play button 406 is tapped, the event changes over time, and the camera image in the camera image display field 172 is displayed like a moving image. The one-step reverse play button 407 is a button for instructing the chronological display of device values ​​while updating (rewinding) the display time one step at a time. The one-step play button 408 is a button for instructing the chronological display of device values ​​while updating the display time one step at a time. (PLC1 function block diagram)

[0219] User programs such as ladder programs executed by the above-described PLC 1 are created by a program creation device 70. The user programs created by the program creation device 70 are transferred to the PLC 1. FIG. 35 shows a functional block diagram of the PLC 1 connected to the program creation device 70. The PLC 1 shown in FIG. 35 includes a CPU unit storage unit 32, a CPU unit processing unit 31, a bus master 38, a PLC-side communication unit 33, and a program receiving unit 47. The CPU unit storage unit 32 includes a project storage unit 35, a PLC-side device unit 34, a temporary storage unit 91a, and a save memory 36.

[0220] The project storage unit 35 is a component for storing project data, including ladder programs, input from the program creation device 70. The PLC-side device unit 34 has bit devices and word devices, and each device is a component for storing device values. The PLC-side device unit 34 functions as a device memory for storing each device value of multiple devices. This PLC-side device unit 34 is a storage area referenced in accordance with a user program. The temporary recording unit 91a is a component for recording the device values ​​stored in the PLC-side device unit 34 in chronological order for each scan. The temporary recording unit 91a is composed of a ring buffer or the like. The storage memory 36 is a component for saving the chronological data of the device values ​​stored in the temporary recording unit 91a when predetermined storage conditions are met. The storage memory 36 is composed of an internal memory, a removable memory card, or the like.

[0221] The CPU unit processing unit 31 includes a program execution unit 40, a recording control unit 39, a storage control unit 39C, and an event management unit 76. The program execution unit 40 is an execution engine for the ladder program. When a recording start trigger condition for starting recording in the temporary recording unit 91a is met, the recording control unit 39 collects device values ​​of predetermined devices and records the device values ​​in the temporary recording unit 91a in association with information about the time the device values ​​were acquired (which may be the current time or the number of scans of the ladder program). The recording start trigger condition may be when the PLC 1 transitions from setting mode to RUN mode. However, the recording start trigger condition is not limited to this and may be other conditions. When a storage trigger condition for saving to the storage memory 36 is met, the storage control unit 39C saves the device values ​​temporarily recorded in the recording control unit 39 as log data along with information about the acquisition time. The event management unit 76 is a component for detecting events. Details of the event management unit 76 will be described later.

[0222] The bus master 38 controls communication on the inter-unit bus connecting the CPU unit 3 and the expansion unit 4. The bus master 38 performs input / output refresh. The CPU unit 3 performs a scan consisting of an input / output refresh, ladder program execution, and END processing, and repeatedly executes this scan process at high speed. The input / output refresh synchronizes the devices in the CPU unit 3 and the devices in the expansion unit 4. The input / output refresh also reflects the results of the ladder program executed by the program execution unit 40 in the devices in the expansion unit 4. The END processing performs peripheral services such as system error checks and performs data communication with the programmable display 50 via the PLC-side communication unit 33. The PLC-side communication unit 33 is a component that repeatedly communicates with the programmable display 50 at a predetermined interval. The program receiving unit 47 receives project data, including ladder programs, transferred from the programming device 70. (Functional block diagram of program creation device 70)

[0223] On the other hand, the program creation device 70 shown in Fig. 35 includes a program creation input unit 74, a program creation display unit 75, a program creation storage unit 76, a program creation unit 77, and a program transfer unit 78. The program creation device 70 may be installed on a PC that also serves as the screen data creation device 60. The program creation input unit 74 can use a mouse, keyboard, or the like. A user can edit and input ladder programs and set unit configurations via the program creation input unit 74. The program creation display unit 75 is a display or the like connected to the PC.

[0224] The program creation unit 77 creates a ladder program in accordance with user input via the program creation input unit 74. It also sets the unit configuration. The ladder program and unit configuration are collectively called project data. The program creation storage unit 76 stores the project data created by the program creation unit 77. The program creation storage unit 76 also stores the operation record data of PLC1. The program transfer unit 78 is a component for transferring the project data, including the ladder program, stored in the program creation storage unit 76 to PLC1. (Driving record data)

[0225] The driving record data stored in the storage memory 36 will now be described in detail. The driving record data includes project data and log data. An example of the configuration of driving record data is shown in FIG. 36. The project data included in the driving record data is project data during driving that was being executed by the program execution unit 40 when the storage trigger condition was met. The log data includes time-series data of device values ​​associated with information relating to the acquisition time, time-series image data from the camera unit 4c, event data, etc. This image data and event data are also associated with information relating to the acquisition time of the image data and the occurrence time of the event data, and the details of these associations will be described later.

[0226] Furthermore, driving record data is a package of multiple files, and includes management information data and project identification information. Here, management information data is information about what is included in the driving record data. Its extension can be, for example, TMN. The identifier of the project data included in the driving record data can be, for example, TPJ. Project identification information is information for identifying the project data when the driving record data is saved. Its extension can be, for example, TPI. The extension of time-series data of device values ​​can be, for example, TDV. The extension of time-series image data can be, for example, TCA. The extension of event data can be, for example, TEV. These examples of extensions are merely examples, and any character string can be used as the extension.

[0227] Furthermore, project data (extension TPJ) includes project files, module files, function blocks, unit setting files, etc. Project files are information related to project settings, and their extension may be, for example, kpr. Module files are information related to so-called ladder programs, and their extension may be, for example, mod. Function blocks are information related to modularized ladder programs, and their extension may be, for example, kfb. Unit setting files are configuration information for units, and their extension may be ue2. Only some of this information may be included in the project data, or other information may be added. The program creation unit 77 in FIG. 35 interprets the management information data included in the driving record data and can display the contents of the driving record data on the program creation side display unit 75. (Driving record data interpretation unit 51b)

[0228] As described above, the contents of the driving record data can be displayed not only on the PLC 1 but also on the programmable display device 50. For this reason, the programmable display device 50 is equipped with a driving record data interpretation unit 51b. Here, the manner in which the contents of the driving record data are displayed on the programmable display device 50 side will be described with reference to FIG. 36. The display device processing unit 51 of the programmable display device 50 shown in this figure is equipped with a driving record data interpretation unit 51b. The driving record data interpretation unit 51b reads the management information data from the driving record data and determines what is contained in the driving record data. It also reads the project data corresponding to the project identification information and loads the project file, module file, function block, unit setting file, etc. that make up the project data. This allows the display device processing unit 51 to synchronously display (linked display) various user interfaces in replay mode. (Synchronized display of driving record data (linked display))

[0229] 37 shows a functional block diagram of the display processing unit 51 of the programmable display unit 50. As shown in this diagram, the display processing unit 51 has a waveform display module 322, an image display module 323, an event display module 326, a viewer display module 327, a unit display module 325, a program display module 321, and a replay synchronization control module 324. The waveform display module 322 is a module that displays time-series data of device values ​​included in the log data on the display unit 55 as device waveforms.

[0230] On the device waveform display screen 160 shown in FIG. 12, when the time specification cursor 404 is dragged left or right, the device waveform moves left or right in tandem. A thick vertical identification line IL is displayed in the center of the device waveform display screen 160 (at the position of scan count 35,000), and the device waveform moves left or right so that the time (scan count) specified by the time specification cursor 404 overlaps with the identification line IL. For example, when the time specification cursor 404 is moved rightward from the state shown in FIG. 12 to the position of scan count 40,000, the device waveform moves left so that the position of scan count 40,000 on the device waveform overlaps with the identification line IL. Note that the device value of the device waveform that overlaps with the identification line IL may be displayed on the screen.

[0231] The image display module 323, the event display module 326, the viewer display module 327, the unit display module 325, and the program display module 321 will be described in detail with reference to FIGS.

[0232] 37 includes a program display module 321. The program display module 321 is a module that displays the user program included in the project data 71 as well as the device values ​​included in the log data 73 on the display unit 55. The program display module 321 may also be capable of displaying not only the user program but also various other information that allows the user to visually recognize the settings of the project data 71, such as program configuration information, multiple program parts, unit configuration, and function settings for each unit, all of which are included in the project data 71. The image display module 323 displays time-series image data included in the log data 73 on the display unit 55.

[0233] The waveform display module 322 is a module that converts time-series device values ​​included in the log data 73 into waveforms and displays them on the display unit 55. The replay synchronization control module 324 synchronizes the information displayed by the program display module 321 with the information displayed by the waveform display module 322 in time. The replay synchronization control module 324 can replay and display device waveforms on the device waveform display screen 160 of FIG. 12. Furthermore, the event display module 326 extracts events in chronological order from the driving record data as shown in FIG. 23, and displays them as a list in the event / error history column 171. Furthermore, the viewer display module 327 extracts maintenance information from the driving record data as shown in FIG. 24, and displays a maintenance screen, etc.

[0234] These modules may be called engineering software. The image display module 323 may be implemented as one function (image display unit) of the program display module 321, or may be implemented as one function (image display unit) of the waveform display module 322. (Program Display Module 321)

[0235] FIG. 38 shows details of the program display module 321. The time UI 330a provides a UI (e.g., a slide bar, cursor, etc.) for manipulating the acquisition time (display time) of a device displayed along with the user program. The display time control unit 331a sends the display time specified by the time UI 330a to the replay synchronization control module 324, and sets the display time notified by the replay synchronization control module 324 in the time UI 330a. The program display unit 332 displays the project data 71 on the display unit 55, and reads the project data 71 corresponding to the identification information from the PC-side storage device 22 and displays it on the display unit 55. The program display unit 332 also displays the device values ​​acquired by the device value acquisition unit 333a in association with the devices used or described in the user program. The device value acquisition unit 333a has a real-time playback mode and a history playback mode (log playback mode). In the real-time playback mode, the device value acquisition unit 333a accesses the real-time transmission unit of the PLC 1, acquires the device values, and passes them to the program display unit 332. In the log playback mode, the device value acquisition unit 333a accesses the replay synchronization control module 324 in FIG.

[0236] FIG. 39 is a schematic diagram showing an example of a user interface screen 1300 displayed on the display unit 55 of the programmable display device 50 by the program display unit 332 or the like. In FIG. 39, the project display area 420 in the left column displays various pieces of information constituting the project data 71. From top to bottom, the unit configuration (CPU unit 3, motion unit 4d, analog input unit, camera unit 4c) and program configuration (per-scan module, fixed-cycle module, inter-unit synchronization module, function block, macro) are displayed. For the motion unit 4d, axis configuration and axis control setting parameters are displayed as function settings. The user can double-click the axis configuration or axis control on the user interface screen 1300 shown in FIG. 39 to check the settings of these setting parameters. Furthermore, in the project display area 420, Main and Sub are displayed for each per-scan module. When the user clicks Main, the Main program is displayed in the program display area 410 of the central ladder monitor 450.

[0237] The program display module 321 shown in FIG. 37 reads out the project data 71 from the memory card 36A, and displays various information in the project display area 420 and a desired program in the program display area 410.

[0238] Here, the program display area 410 is part of the so-called ladder monitor 450, and can operate independently in real-time playback mode. It is also possible to hide only the ladder monitor 450 by clicking the cross mark. On the other hand, in log playback mode, the program display unit 332 can reproduce the ladder program included in the project when the operation record was saved. Also, in log playback mode, the program display unit 332 displays the device values ​​included in the log data 73 via the device value acquisition unit 333a in association with the devices described in the main program. The device values ​​to be displayed are those corresponding to the time specified by the time specification cursor 404.

[0239] In Figure 39, the device value associated with 18:52:54 on 10 / 01 / 20XX displayed in the time display area 409 is displayed in association with the device described in the Main program. [35000 / 74286] displayed to the right of this date indicates that the current scan count is 35000 out of a total of 74286 scans. The user can update the displayed time and scan count by dragging the time specification cursor 404, and the device value display is also updated. For example, after the updated displayed time, relay devices that are turned on are displayed as ON (for example, filled in with color), and relay devices that are turned off are displayed as OFF (for example, colored out).

[0240] 39, an image display area of ​​the camera monitor 430 is provided in the upper right column. The image display module 323 reads image data from the log data 73 and displays it in the image display area of ​​the camera monitor 430 in synchronization with the display time displayed on the ladder monitor 450 by the program display module 321. In FIG. 39, image data associated with the display time, 20XX / 10 / 01, 18:52:54, is displayed on the camera monitor 430. Also, to the right of this display time, 282 / 601 is displayed, which indicates the order of the current image data (the 282nd image) relative to the total number of captured images 601. The user can update the display time and the order of the current image data by dragging and moving the time designation cursor 404a on the camera monitor 430.

[0241] At this time, as the time designation cursor 404a moves, the time designation cursor 404 in the ladder monitor 450 described above also moves in conjunction with it. For example, if the time designation cursor 404a is set to 19:00:00 on October 1, 20XX, the time designation cursor 404 in the ladder monitor 450 also moves to the position of 19:00:00 on October 1, 20XX, following the display time. As the time designation cursor 404 moves, the device value in the ladder monitor 450 is also updated. While the time designation cursor 404a is moved in this example, the reverse is also true. For example, if the time designation cursor 404 in the ladder monitor 450 is moved, the time designation cursor 404a in the camera monitor 430 also moves accordingly. Such processing operations are possible because the program display module 321 and the image display module 323 execute synchronization control regarding display times via the replay synchronization control module 324.

[0242] 39, a unit monitor 440 is displayed in the lower right column. For example, the unit monitor 440 displays the device values ​​of the buffer memory (UG) in the motion unit 4d. More specifically, when the unit display module 325 of the display processing unit 51 receives the current display time to be played back from the replay synchronization control module 324, it reads out the device values ​​associated with that time from the memory card 36A and displays them on the unit monitor 440. Therefore, for example, in FIG. 39, a list of device values ​​associated with the display time 20XX / 10 / 01 18:52:54 is displayed on the unit monitor 440.

[0243] FIG. 40 is a diagram illustrating a data source for displaying a user interface screen in log playback mode. As shown in FIG. 40, the project display area 420 reads the unit configuration, function settings, program configuration, and program parts included in the project data 71 from memory and displays them in a tree format. The ladder monitor 450 reads the program configuration (what program parts it consists of) and program parts from memory and displays the program parts specified by the user, while also reading and displaying device values ​​corresponding to the display time from the log data 73. The camera monitor 430 reads and displays image data corresponding to the display time from the log data 73 based on information such as the unit configuration (whether or not a camera monitor is present) and function settings (camera monitor functions; for example, port numbers, imaging cycles, gain settings, etc. if multiple ports are present). The unit monitor 440 reads and displays device values ​​corresponding to the display time from the log data 73 based on information such as the unit configuration (what units are present) and function settings (axis configuration, axis control, etc. in the case of the motion unit 4d).

[0244] 39 and 40, the function of the replay synchronization control module 324 can synchronize and control the program display module 321, image display module 323, and unit display module 325 to work together. Details of the cooperation of the waveform display module 322 will be described later.

[0245] Here, in this embodiment, it is possible to verify whether the current project data matches the project data 71 at the time of the actual occurrence of a problem. More specifically, the collating unit 334 in the program display module 321 shown in Fig. 38 collates the identification information of the project data 71 (user program) output from the PLC 1 with the identification information of the project data 71 (user program) stored in the PC-side storage device 22, and outputs the collation result to the warning unit 335. The warning unit 335 displays a warning on the display unit 55 when the identification information of the project data 71 (user program) output from the PLC 1 when the operation record was saved does not match the identification information of the project data (user program) stored in the PC-side storage device 22.

[0246] In this embodiment, the identification information of two pieces of project data is compared to verify whether they match. More specifically, identification information is attached to the program configuration, multiple program parts, unit configuration, and function settings for each unit included in the project data, and verification is performed based on whether all of these match. However, the present invention is not limited to this, and it is sufficient to compare at least the identification information of a user program composed of multiple program parts to verify whether they match.

[0247] The log data includes not only the device values ​​and image data from the camera unit 98 when the operation record was saved, but also user programs such as ladder programs included in the project data when the operation record was saved, and setting files for each unit. For example, the log data includes image data captured by the camera unit 98 when a problem occurred, the status of each unit, and information such as the angle and coordinates of the motion unit 4d. This allows the log data to store the past status and connection status of each device, information about each unit, etc., so saving the log data makes it possible to reproduce past conditions. In other words, it is possible to go back to the time when a problem occurred and check what settings and what output were being generated, which is useful for identifying the cause of the problem. Furthermore, by reading the log data into the program creation device 70, the settings saved in the log data can be analyzed and reproduced.

[0248] FIG. 41 shows an example of the log data 73. In this example, device values ​​d1 to d10, workpiece images i1 to i3 acquired by the camera unit 98a, and the acquisition timings of other images j1 to j3 acquired by the camera unit 98b are shown. The device values ​​d1 to d10 are acquired at each scan cycle. The workpiece images i1 to i3 are acquired at the timing when a trigger signal is generated. The workpiece images j1 to j3 are acquired at the timing when a trigger signal is generated. The position of each piece of data indicates its respective time information. As shown in FIG. 41, the acquisition times and acquisition cycles of each piece of data do not match. Therefore, the display processing unit 51 adjusts the display timing of each piece of data based on the time information of each piece of data.

[0249] 42 is a diagram illustrating the display timing and display duration of log data 73. The display processing unit 51 displays each device value on the display unit 55 according to the time information of each device value. For example, the display processing unit 51 determines the difference in time between the time information of device value d1 and the time information of device value d2 as the display duration of device value d1. The display processing unit 51 starts displaying device value d1 when the display duration has elapsed. Thereafter, the display duration is calculated in the same manner, and the displayed device value is switched according to the time information and display duration.

[0250] As already shown in FIG. 41, the acquisition time of the device value d1 does not match the acquisition time of the workpiece image i1. Therefore, the display processing unit 51 compares the acquisition time of the workpiece image i1 with the acquisition times of the device values ​​d1 to d10, and finds the acquisition time of the device value dx that is closest to the acquisition time of the workpiece image i1. In this example, the acquisition time of the device value d1 is closest to the acquisition time of the workpiece image i1. Therefore, the display processing unit 51 starts displaying the device value d1 and also starts displaying the workpiece image i1. Next, the display processing unit 51 finds the acquisition time of the device value dx that is closest to the acquisition time of the workpiece image i2. In this example, the acquisition time of the device value d4 is closest to the acquisition time of the workpiece image i2. Therefore, when the timing to display the device value d4 arrives, the display processing unit 51 starts displaying the device value d4 and the workpiece image i2. The display processing unit 51 finds the acquisition time of the device value dx that is closest to the acquisition time of the other image j1. In this example, the acquisition time of the device value d2 is closest to the acquisition time of the other image j1. Therefore, when the display timing of the device value d2 arrives, the display processing unit 51 starts displaying the device value d2 and also starts displaying the other image j1.

[0251] In this way, among the multiple pieces of data included in the log data 73, the display timing of each piece of data may be adjusted based on the data with the shortest logging cycle. (An example of linking image data with acquisition time)

[0252] In this embodiment, as described above, image data captured by a camera can be displayed in synchronization with events. When an event is selected in the "Camera / Event" tab 162 in replay mode, a camera image based on image data captured at the time corresponding to the selected event is displayed, and the time specification cursor is also moved to the corresponding playback time. Pressing the play button plays a video in the camera monitor field, and the selected event changes over time. The device values ​​of the ladder program in the "Program" tab 165 are also updated. This synchronized display is possible because the image data and the acquisition time are stored in association with each other. The association between image data, acquisition time, and device values ​​will be described in detail below with reference to Figures 41 and 42. (Example of log data (device values ​​and image data))

[0253] Figure 41 shows the timing of logging when collecting device values ​​and images using the camera unit 4c shown in Figure 1. Note that up to two cameras can be connected to the camera unit 4c here. Each camera may have a different field of view.

[0254] FIG. 41 shows device values ​​d1 to d10, and the acquisition timing of workpiece images i1 to i3 acquired by camera 1, and other images j1 to j3 acquired by camera 2. Device values ​​d1 to d10 are acquired for each scan cycle. Workpiece images i1 to i3 are acquired at the timing when a trigger signal (image acquisition signal) is generated. Workpiece images j1 to j3 are acquired at the timing when another trigger signal is generated. The position of each piece of data indicates its respective time information. Generally, as shown in FIG. 41, the acquisition times and acquisition cycles of each piece of data do not match. Therefore, the display processing unit 51 of the programmable display 50 adjusts the display timing of each piece of data based on the time information of each piece of data. (Explanation of the timing and duration of log data display)

[0255] The display timing and display duration of log data are shown in Figure 42. The display processing unit 51 displays each device value on the display unit 55 according to the time information of each device value. For example, the display processing unit 51 determines the difference in time between the time information of device value d1 and the time information of device value d2 as the display duration of device value d1. The display processing unit 51 starts displaying device value d1 when the display duration has elapsed. Thereafter, the display duration is calculated in the same manner, and the displayed device value is switched according to the time information and display duration.

[0256] As already explained, the acquisition time of the device value d1 does not match the acquisition time of the workpiece image i1. Therefore, the display processing unit 51 compares the acquisition time of the workpiece image i1 with the acquisition times of the device values ​​d1 to d10, and finds the acquisition time of the device value dx that is closest to the acquisition time of the workpiece image i1. In this example, the acquisition time of the device value d1 is closest to the acquisition time of the workpiece image i1. Therefore, the display processing unit 51 starts displaying the device value d1 and also starts displaying the workpiece image i1. Next, the display processing unit 51 finds the acquisition time of the device value dx that is closest to the acquisition time of the workpiece image i2. In this example, the acquisition time of the device value d4 is closest to the acquisition time of the workpiece image i2. Therefore, when the timing to display the device value d4 arrives, the display processing unit 51 starts displaying the device value d4 and the workpiece image i2. The display processing unit 51 finds the acquisition time of the device value dx that is closest to the acquisition time of the other image j1. In this example, the acquisition time of the device value d2 is closest to the acquisition time of the other image j1. Therefore, when the display timing of the device value d2 arrives, the display processing unit 51 starts displaying the device value d2 and also starts displaying the other image j1. In this way, the display timing of each data is adjusted based on the data with the shortest logging cycle among the multiple data included in the log data. (Linking image data and time information)

[0257] On the camera event display screen 170 of FIG. 23, image data and time information are displayed in conjunction with each other. The procedure for linking image data and time information will now be described with reference to the flowchart of FIG. 43. Here, the procedure for logging in the camera unit 4c using the ring buffer 91b shown in FIG. 10 is shown. First, in step S4301, it is determined whether the acquisition relay is ON. Here, the camera unit processing unit 41c (CPU, etc.) of the camera unit 4c determines whether the image data acquisition conditions (for example, whether the PLC1 has been switched from PROG mode (setting mode) to RUN mode (execution mode) and the acquisition relay has been turned ON) are met. If the acquisition relay is not ON, the processing of step S4301 is repeated.

[0258] When the acquisition relay is turned ON, the process proceeds to step S4302, where it is determined whether the acquisition timing has arrived. Here, the camera unit processing unit 41c determines whether the acquisition timing for image data has arrived. The acquisition timing may be, for example, an image capturing cycle (internal control cycle) predetermined in the camera unit 4c. If it is not the acquisition timing, the process returns to step S4302 and repeats the process.

[0259] When the acquisition timing arrives, the process proceeds to step S4303, where image data and time information are acquired and written to the ring buffer. Here, an image capture command is issued to the camera, and image data is acquired from the camera. Furthermore, to link the time at which the image data was acquired, current time information is read from a time management unit such as an internal timer, and the image data and time information are associated and written to the ring buffer.

[0260] Next, in step S4304, it is determined whether or not there is a read request. Here, the camera unit processing unit 41c determines whether or not a read request (read command) to the ring buffer of the camera unit 4c has been issued from the CPU unit 3. If there is no read request, the process returns to step S4302 and repeats.

[0261] On the other hand, if a read request is received, the process proceeds to step S4305, where the image data and time information are obtained from the ring buffer and sent to the CPU unit 3. The CPU unit 3 adds the image data and time information to the driving record data as log data. In this way, the image data and time information are linked in the driving record data. (Linking motion data and time information)

[0262] While the linking of image data captured by a camera to time information was described in FIG. 43 above, a similar procedure can be used to link motion data to time information. Specifically, the motion unit 4d stores setting information for programs and parameters (such as parameters related to axis configuration and axis control) that define the operation of the motion unit 4d. The motion unit 4d shown in FIG. 1 includes a motion unit processing unit 41d. The motion unit processing unit 41d transmits operation command values, such as target coordinates and target speed, to an externally connected motor (motor amplifier) ​​according to the setting information. The motion unit processing unit 41d receives motion data, such as current coordinates and current speed, from the motor amplifier via an encoder. The control cycle for receiving motion data, such as current coordinates and current speed, is shorter than the scan cycle of the ladder program and is asynchronous with the scan cycle of the ladder program. Therefore, the motion unit processing unit 41d collects motion data at a predetermined cycle, associates information about the time the motion data was received with the motion data and time information (read from a time management unit, such as an internal timer), and writes the data to its ring buffer. Thereafter, as in the case of camera unit 4c described in Fig. 43, when it is time to save, the motion data (current coordinates, current speed, etc.) and time information are obtained from the ring buffer and sent to CPU unit 3. CPU unit 3 adds the motion data and time information to the driving record data as log data. In this way, the motion data and time information are linked in the driving record data. (Linking event data with time information)

[0263] Next, the procedure for linking event data and time information on the camera event display screen 170 of FIG. 23 will be described with reference to the flowchart of FIG. 44. First, in step S4401, the event management unit of the CPU unit processing unit 31 detects an event. The events referred to here include a variety of events. For example, rewriting project data including the user program of PLC 1 and unit configuration information of each unit, powering on / off input / output devices, switching between setting mode for configuring PLC 1 and operation mode for executing (operating) PLC 1, clearing various histories, inserting / removing a storage device (such as a memory card), inserting / removing an Ethernet cable for communicating with other devices, a device rewrite signal requested by the programmable display device 50 connected to PLC 1, or a motion error in a motion unit in PLC 1.

[0264] An event that occurs in an expansion unit 4 such as a motion unit can be detected, for example, as follows: The motion unit processing unit 41d sends a message communication command containing the event to the CPU unit 3 via the inter-unit bus. The CPU unit processing unit 31 then receives the message communication command containing the event by using interrupt processing. Upon receiving this, the CPU unit processing unit 31 extracts the event from the message communication command, thereby enabling it to recognize various events that have occurred in the motion unit in a timely manner.

[0265] Next, in step S4402, the event management unit of the CPU unit 3 checks the remaining capacity of the event log. In this embodiment, a predetermined storage area of ​​the temporary recording unit 91a is used as the event log memory. It goes without saying that a separate memory for the event log may be provided independent of the temporary recording unit 91a. If there is no remaining capacity for the event log, the process proceeds to step S4403, where old events are deleted from the event log memory. On the other hand, if there is remaining capacity, the process proceeds to step S4404, where time information on the order of microseconds is acquired, linked to the event, and stored in the event log memory. (Device monitoring using programmable display 50)

[0266] Here, the basic processing operation of the programmable display device 50 for monitoring devices will be described with reference to the flowchart in Figure 45. The programmable display device 50 monitors devices in PLC1. The devices displayed on the programmable display device 50 are not known on the PLC1 side. For this reason, the display-side communication unit 58 of the programmable display device 50 accesses PLC1 at regular intervals (for example, every 10 ms) and reads out the device values ​​of the devices used in the display data (step S4501). The read device values ​​are stored in the data memory 56 of the programmable display device 50.

[0267] The display processing unit 51 of the programmable display unit 50 then determines whether the read device values ​​have changed from the current device values ​​(step S4502). If they have not changed, the current screen can be maintained as is, and no special action is taken. On the other hand, if they have changed, display data is generated using the read device values, and the display content is updated using the read device values ​​(step S4503).

[0268] The above is the basic processing operation. Note that while the focus here is on reading device values, device values ​​are also written in communication with the PLC 1, such as by touching a switch component. In other words, when a device whose device value has changed is recognized in the data memory 56 of the programmable display 50, that information is sent to the PLC 1 through communication with the PLC 1, and the CPU unit processing unit 31 performs processing to write the information to the PLC-side device unit 34 in the CPU unit storage unit 32.

[0269] FIG. 2 shows a user interface screen of the monitoring screen 240. The monitoring screen 240 of FIG. 2 can be displayed by touching the "Monitoring Screen" button 144 in the menu screen 140 of FIG. 21 described above. Various components, such as switches, meters, and lamps, are arranged on this monitoring screen 240. "ABC-123" is displayed in the production part number display field 241, which is a field to which the device PLC1 is assigned. To the right of this, lamps 242 and 243 indicating normal or abnormal status are arranged. In the example of FIG. 2, the normal lamp 242 is lit, and the abnormal lamp 243 is off. The normal lamp 242 and the abnormal lamp 243 are each assigned a component label (component identification number) and a device and component image are assigned to each. The display form of the component changes depending on the device state. Specifically, two component images, one in a lit state and one in an unlit state, are assigned to the normal lamp 242, and which component image is displayed is determined depending on the device state. A temperature meter 244 is placed to the right of the lamps 242 and 243 and indicates 60°C. A component label is also attached to the temperature meter 244, and a device and component image are assigned to the temperature meter 244. The pointer of the temperature meter 244 moves according to the device value of the device.

[0270] At the bottom of FIG. 2, a progress management table 245 for products A to D is displayed, and a set value and a current value are displayed in a numeric display field 241 for each product. A RESET switch 246 is located to the right of the current value. A component label is also attached to the RESET switch 246, and a device and a component image are assigned to it. The component images include an image of the RESET switch 246 in a pressed state and an image of the RESET switch 246 in a released state. A counter graph is located to the right of the RESET switch 246, as described above. In this way, each component is labeled and a device and a component image are assigned to it. [Embodiment 2]

[0271] In the above-described first embodiment, a configuration has been described in which a touch operation is performed on the system screen, which is a specified page provided by the programmable display device 50, to switch to a device waveform display screen. That is, the touch detection unit 53 detects that a touch operation has been performed on a waveform display component arranged on the system screen, and the device waveform of the target device is displayed based on the time-series data stored in the PLC 1. Specifically, when the user touches the "Start replay mode" button 141 or the "Real-time chart monitor (replay mode)" corresponding to the waveform display component on the menu screen 140 shown in FIG. 21, the device waveform display screen 160 (real-time chart monitor screen) shown in FIG. 12 is displayed, and previously recorded operation record data is displayed in replay mode.

[0272] However, the present invention is not necessarily limited to a configuration in which the device waveform display screen is called from a pre-provided page, such as a system screen. For example, a waveform display component for switching to the device waveform display screen may be arranged on a user screen created by the user. An example of this configuration is shown in FIG. 46 as a user screen 250 of a programmable display device according to the second embodiment. Various display components created by the user are arranged on the user screen 250 shown in this figure. Pressing a "Start Replay Mode" button 251, a waveform display component located in the lower right of this user screen 250, displays the device waveform display screen 160 shown in FIG. 12. In this way, it is possible to quickly switch to the device waveform display screen 160 not only on the system screen but also on user screens created by the user. This makes it easy to call up information useful for troubleshooting, facilitating the transition to recovery work and improving convenience. [Embodiment 3]

[0273] Furthermore, in the above-described first and second embodiments, whether on the system screen or the user screen, the touch detection unit 53 detects that a touch operation has been performed on a waveform display component arranged on a page displayed on the display screen, and displays the device waveform of the target device based on the time-series data stored in the PLC 1.

[0274] However, the present invention is not limited to this configuration. A configuration may also be adopted in which a device waveform is displayed by detecting a predetermined special touch operation. Such an example is shown in FIG. 47 as a user screen 260 of a programmable display device according to a third embodiment. The programmable display device displays an arbitrary user screen 260 created by the user on the display unit. In this state, the user can call up the device waveform display screen 160 by performing a specific operation on a non-placement area NA (the area indicated by diagonal lines in FIG. 47 ) on the page where no display components are placed. The specific operation may be, for example, a long press, flick, pinch-in, or pinch-out on the non-placement area NA. In this example, the device waveform display screen 160 of FIG. 12 is switched to by the user flicking the non-placement area NA upward from the state of FIG. 47 . To return to the original page, a user can flick any position on the display screen of FIG. 12 downward to return to the screen of FIG. 47 . Furthermore, a screen switching operation may be assigned based on the direction of the flick on the display screen. For example, on any page, an upward flick causes the device waveform display screen 160 to be displayed, and a downward flick causes the page to return to the original page.

[0275] Furthermore, left and right flicks may be assigned to page switching operations. For example, flicking to the right will display a page with a screen ID that is incremented by one (the next page), and flicking to the left will display a page with a screen ID that is decremented by one (the previous page). This configuration makes it possible to switch to different pages depending on the direction of the flick, allowing the user to intuitively switch pages with a simple operation, improving convenience.

[0276] In the above example, the condition for switching the device waveform display screen is a touch operation on a non-placement area, but this is not limiting, and the device waveform display screen may be switched including an area where a display component is placed. For example, in the case of a flick operation, even if the position touched by the user with a finger or the like is an even-even area where a display component is placed, by not regarding this as an operation on this display component, it is possible to distinguish this from an operation that the user intentionally selects on this display component, such as a normal tap or long press. [Embodiment 4]

[0277] Furthermore, in the above first to third embodiments, the configuration for switching the display content of the display unit 55 to the device waveform display screen 160 has been described. However, the present invention may be configured to display device waveforms on a page such as a system screen or a user screen, without necessarily switching to a dedicated device waveform display screen. Such an example is shown in FIG. 48 as a user screen 270 of a programmable display device according to a fourth embodiment. Here, as one of the display components that the user can select and arrange, a waveform area display component 271 having a waveform display area for displaying device waveforms is provided. The user screen shown in FIG. 48 illustrates an example in which the waveform area display component 271 is arranged in the lower right corner. The waveform area display component 271 is relatively large, ensuring a waveform display area in which the device waveform can be displayed at a size large enough to be viewed. The display data generation unit 51a displays the operation record data acquired from the PLC 1 as a device waveform in the waveform display area of ​​the waveform area display component 271. The device waveform displayed in the waveform area display component 271 can be displayed as a moving image, or a waveform at a specific time can be displayed as a still image.

[0278] The waveform area display component 271 may also have a function for selecting a device to be displayed as a device waveform and changing the time at which the waveform is displayed. For example, the example in Fig. 48 is provided with a "Details" button 272, and touching this "Details" button 272 may display a device selection menu or a slider-shaped operation bar representing the time axis. Alternatively, touching the "Details" button 272 may display the real-time chart monitor in replay mode shown in Fig. 12.

[0279] In this way, by making it possible to easily check the device waveforms when a problem occurs on the programmable display 50, when a problem occurs, it becomes possible for on-site personnel to check and consider solutions on the spot for problems that can be solved by themselves, without having to ask the engineer who designed the FA system program to analyze them, thereby shortening the time required to resolve the problem and also contributing to the work of identifying the cause of the problem by selectively displaying the device waveforms of the necessary devices. [Embodiment 5]

[0280] Furthermore, the programmable display device according to the present invention may be configured to guide the user on how to deal with problems when they occur. For example, a guidance display screen may be prepared, and a troubleshooting method may be displayed to guide the user. Such an example will be described with reference to FIG. 49 as a programmable display device according to a fifth embodiment. FIG. 49 is a schematic diagram showing an example of a switch setting screen 120B displayed on a screen data creation device constituting a programmable logic controller system. Note that the switch setting screen 120B in FIG. 49 may be configured to be displayed when "replay mode activation" is selected in the switch function selection field 121 on the switch setting screen 120 of the screen data creation device shown in FIG. 14.

[0281] On the switch setting screen 120B of Fig. 49, clicking on the "RTCM" tab 125a in the real-time chart monitor (replay mode) detailed setting field 124 displays the content corresponding to the detailed setting of the real-time chart monitor (replay mode) in Fig. 15. The switch setting screen 120B shown in Fig. 49 also shows the state in which the "Guidance" tab 125b is clicked in the real-time chart monitor (replay mode) detailed setting field 124.

[0282] In FIG. 49, the real-time chart monitor (replay mode) detailed setting field 124 is provided with a content specification field 124A, a message block No. specification field 124B, and a block No. field 124C. In the content specification field 124A, a message or an image is selected. Here, an example is shown in which a message is selected. In the message block No. specification field 124B, either internal or external specification can be selected, and here, an example is shown in which internal specification is selected. 0 is selected in the block No. field 124C as the block No. to be used when internal specification is selected. Then, the guidance message display field 124D provided below the real-time chart monitor (replay mode) detailed setting field 124 displays the guidance message that has already been entered (this field is blank in the initial state). The display content of the guidance message on the programmable display device 50 can be edited by clicking the message edit button 129.

[0283] As described above, if a guidance message is previously associated with the "Start Replay Mode" button 141b shown in the menu screen displayed in the screen display field 112 of FIG. 13 and set from the screen of FIG. 49, the programmable display device 50 during operation displays a device waveform display screen 160C with a pop-up display (floating window display) 280 as shown in FIG. 50 superimposed on the replay mode screen as shown in FIG. 12. In other words, this guidance message is an example of guidance information for guiding the user to take measures to resolve an error event when a storage condition is met. This guidance information is associated with a device (DM100, DM200, R000) that is preset to display device waveforms, as shown in FIG. 16, for example. Then, when the "Start Replay Mode" button 141b is clicked in FIG. 13, display data for displaying this guidance information is generated, and the guidance message is displayed together with the device waveform on the device waveform display screen 160C of FIG. 50.

[0284] FIG. 50 is a schematic diagram showing a modified example of the device waveform display screen in replay mode. As shown in this figure, the guidance message set on the switch setting screen 120B in FIG. 49 is displayed as a pop-up on the foreground of the device waveform display screen 160C. In FIG. 50, when the "Real-time Chart Monitor" tab 161 is selected, the message is superimposed on the device waveform. In particular, among the guidance messages displayed in the pop-up display 280 shown in FIG. 50, item 3 displays a message such as "Please check the situation around the last ON in the device waveform of R000 with a camera." A field technician who sees this display can attempt to resolve the problem by checking the situation around the last ON in the device waveform of R000 with a camera.

[0285] For example, when an image is selected in the content specification field 124A of FIG. 49, a file number specification field is displayed instead of the message block number specification field 124B. This file number specification field is a field for specifying a specific image file. In the file number specification field, the file name of an image file located in a specific directory may be specified, an identifier for identifying the specific image file may be specified, or a path indicating the location where the image file is stored may be specified. In this case, the image specified in the file number specification field is displayed in a pop-up display 280 of FIG. 50 instead of a guidance message. The image file may be created in advance by the user and may include a message such as that shown in the pop-up display 280 of FIG. 49 or an illustration that guides the user on how to deal with problems when they occur.

[0286] Furthermore, for example, if external specification is selected in the message block number specification field 124B in Fig. 49, the device value of a specific device in the PLC can be referenced and the message block number can be dynamically specified by the device value currently in operation. This is the same as the external specification described in the RTCMID specification method in the "RTCMID specification method" field 126 in Fig. 33.

[0287] Note that Fig. 34C shows a schematic diagram of a data structure in which RTCMID and device are linked, but when the settings shown in Fig. 49 are made, message block No. and device are linked (associated) in the same way. That is, for example, the designated device DM300=0 is associated with RTCMID=0 and the message block No.=0 described with reference to Fig. 49. When an image is selected by content designation, the file No. and device are linked (associated) in the same way.

[0288] Also, a selection field for switching between displaying and hiding the guidance display may be provided on switch setting screen 120B shown in Fig. 49. In this case, if the user selects not to display the guidance display, the guidance message shown in pop-up display 280 in Fig. 50 will not be displayed.

[0289] In the above-described embodiment, when the storage conditions are satisfied in the PLC 1, the programmable display device 50 is configured to acquire the driving record data stored in the storage memory 36 of the PLC 1. At this time, an email indicating that the driving record data has been acquired may be automatically sent to a predetermined specific address (a so-called email notification function). This allows, for example, on-site personnel to know that some kind of abnormality has occurred on the production line. Furthermore, when this email is sent externally, the driving record data may be automatically attached. Furthermore, if the driving record data is large, it may be divided into multiple pieces of driving record data, and multiple emails with each piece of driving record data attached may be sent sequentially. It may also be configured to send the email with screen-captured image data attached. This allows, for example, a system designer to not only be notified that an abnormality has occurred, but also receive the driving record data and analyze the cause. [Industrial Applicability]

[0290] INDUSTRIAL APPLICABILITY A programmable display device according to the present invention and a programmable logic controller system including the same can be suitably used for troubleshooting, that is, for identifying the cause of a problem when it occurs in an FA system. [Explanation of symbols]

[0291] 1...PLC 2...PC 3...CPU unit 4, 4a, 4b... Expansion units 4c...Camera unit 4d...Motion unit 4e...Communication unit 4f...I / O unit 5...PLC side display section 6...PLC side operation section 7...Display section 8…PC side operation section 9...Communication cable 10, 10a, 10b...Field devices 11...PC memory section 21, 21B…PC side CPU 22…PC side storage device 23...PC communication section 31...CPU unit processing section 32...CPU unit memory section 33...PLC communication section 34...PLC side device section 34a...CPU unit device section; 34b...Expansion unit device section 35...Project Memory Section 36...Storage memory; 36A...Memory card 37...Internal memory 38...Bus master 39...Recording control unit 39C...Storage control section 40...Program Execution Unit 41...Expansion unit processing section 41c...Camera unit processing section 41d...Motion unit processing section 41e...Communication unit processing section 41f...I / O unit processing section 42...Expansion unit memory 45...Storage condition setting section 47...Program receiver 50...Programmable display 51... display processing unit; 51a... display data generating unit; 51b... driving record data interpreting unit 52...setting memory section; 52a...part setting; 52b...page setting; 52c...Target device settings; 52d...Acquisition device settings; 52f...System default screen information 53...Touch detection unit 55...Display section 56...data memory; 56a...display side device section 57...Screen data receiver 58...Display unit communication section 60...Screen data creation device 61...Screen data creation section 62...Screen data creation storage unit 63...Screen data creation input section 65...Screen data creation display unit 67...Screen data transfer section 70...Programming device 71...Project Data 72...Log setting data 73...Log data 74...Program creation input section 75...Program creation side display 76...Program creation side memory section 77...Program Creation Department 78...Program transfer section 80b...Unit control section 81...Recording section 82...Detection unit 83a…Time management department 83b…Time management department 84...Output section 90...Inter-unit bus 91a...Temporary recording section; 91b...Ring buffer 92b...Collection Department 92a...Collection Section 93…Storage section 94...Transmitter 95...Time information buffer 96...Function execution unit 96a...Image receiving unit 97...External interface 98...Camera Department 110...Page setting screen 111...Screen selection field 112...Screen display field 113..."Screen" tab 114...System Settings tab 120, 120B...Switch setting screen 121...Switch function selection field 122...Initial display screen selection field 123...Driving record data selection field 124...Real-time chart monitor (replay mode) detailed settings field 124A...Content specification field; 124B...Message block number specification field; 124C: Block No. column; 124D: Guidance message display column 125a..."RTCM" tab; 125b..."Guidance" tab 126..."Screen ID specification method" field 127...Location selection field 128...Device name selection field 129...Message edit button 130...System settings screen 130A, 130B, 130C, 130D...User screen 131...Page switcher 132...Next page button 133... "→" button 134..."←" button 135..."△" button 136..."▽" button 137...Page number display column 138..."Move" button 139...Thumbnail screen 140...Menu screen 141, 141b..."Replay mode start" button 142..."Real-time chart monitor (replay mode)" button 143... "Real-time chart monitor (monitor mode)" button 144...Monitoring screen button 150...Replay mode initial screen 160, 160B, 160C...Device waveform display screen 161... "Real-time Chart Monitor" tab 162... "Camera Event" tab 163..."Viewer" tab 164..."Unit" tab 165...Programs tab 166..."X" button 170...Camera / Event display screen 171...Event / Error History 172...Camera image display field 180...Viewer display screen 181..."Waveform Check" button 190, 190B... Unit display screen 191..."Details" button 200...Program display screen 201...Inter-unit communication 202...Program execution 204...END processing 206...Ladder diagram display field 207...Unit configuration display column 208...Ladder program display field 210...Device waveform display screen 220...Target device setting screen 221...Unit selection column 230…Initial display screen setting section 240…Monitoring screen 241...Numeric display field 242...Normal lamp 243...Abnormal lamp 244...Temperature meter 245...Progress management chart 246…RESET switch 250...User screen 251..."Replay mode start" button 260...User screen 270...User screen 271...Waveform area display component 272..."Details" button 280...Pop-up display 321...Program display module 322...Waveform display module 323...Image display module 324...Playback control module 325...Unit display module 326...Event display module 327...Viewer display module 330a…Time UI 331a...Display time control section 332...Program display section 333a...Device value acquisition unit 334...Collation section 335...Warning section 402...Playback control column 404, 404a...Time specification cursor 406...Play button 407...One-step reverse play button 408...One-step play button 409...Time display area 410...Program display area 420...Project display area 430...Camera monitor 440...Unit monitor 450...Ladder monitor 520...Image recording unit 530...Camera setting information storage unit 550...Camera connection cable 575...Camera setting recording section 1000...Programmable logic controller system 1300...User interface screen WK…Object MT: Motor; SS: Input / output device FP: Functional parts IA…Screen ID display field Ld...Ladder diagram d1~d10...Device value CL: communication line i1~i3...Workpiece image j1~j3...Workpiece images ST: Scan time IL…Identification line NA…Non-placement area TX, TX1, TX2, TX3, TX4, TX5, TX6, TX7...Text components CP: Character display parts RP, RP1, RP2...Lamp parts MP...Meter parts NP...Numerical display parts SP...Switch parts GP...Graph component IX...Image information EV: Events UL...Unit configuration UG...Buffer memory DP: Display data

Claims

1. A programmable display connected to a programmable logic controller that collects device values ​​of a plurality of devices that are storage areas referenced by a user program, associates information relating to the acquisition time of the device values ​​with the device values ​​and temporarily records them in chronological order, and when a predetermined storage condition is satisfied, stores in a storage memory the temporarily recorded time series data relating to the device values ​​of the plurality of devices, information relating to the acquisition time of the device values, a user program associated with driving record data including the time series data, image data input from an external camera, and information relating to the image data and relating to the acquisition time of the image data, a component setting in which a screen on which a plurality of components for monitoring or changing the status of a device of the programmable logic controller are arranged is used as a page, and the device is assigned to each of the components arranged on the screen; A page setting for managing the part setting on a page-by-page basis using a page identifier that identifies a plurality of different pages; and Default screen information indicating a default screen having a predetermined format for displaying a device waveform shown in the waveform shape of the time-series data stored in the storage memory. a setting storage unit that stores the a display data generating unit that generates display data for each page corresponding to the plurality of different page identifiers based on the component settings and page settings stored in the setting storage unit; a display unit having a display screen, the display unit displaying a page corresponding to the page identifier on the display screen based on the display data generated by the display data generating unit; a touch detection unit that detects a touch operation on the display screen of the display unit; Equipped with The display data generation unit generating, when the touch detection unit detects a first touch operation that is set in advance on the display screen, switching display data for switching from a current page to another page based on the page setting; When a second touch operation that is set in advance is detected on the display screen by the touch detection unit, first display data is generated based on the default screen information stored in the setting storage unit and the time series data stored in the storage memory, for displaying a device waveform that shows the time series data in a waveform shape superimposed on the default screen; and second display data for superimposing, on the display screen, the device value corresponding to the acquisition time based on information regarding the acquisition time of the device value stored in the storage memory, on the user program stored in the storage memory; or Third display data for displaying an image based on the image data on the display screen based on information about the acquisition time of the image data stored in the storage memory. A programmable display device configured to generate display data for at least one of the above.

2. 2. The programmable display according to claim 1, A programmable display device configured such that: the programmable logic controller collects event data corresponding to a plurality of events that occur in the programmable logic controller or a controlled device controlled by the programmable logic controller; the event data is associated with the time of occurrence of the events and stored in chronological order; and when predetermined storage conditions are met, the stored event data is stored as part of driving record data, including log data stored in the storage memory during operation of the programmable logic controller, so that the stored event data is associated with the driving record data; and the programmable display device is configured to acquire the stored driving record data and display, on the display unit, an event corresponding to the event data included in the driving record data based on the time of occurrence included in the driving record data.

3. 3. The programmable display according to claim 1 or 2, The programmable display device is configured such that the display data generating unit generates the first display data, the second display data, and the third display data.

4. The programmable display according to any one of claims 1 to 3, The component settings stored in the setting storage unit further include: setting an acquisition device that repeatedly acquires time-series data of device values ​​temporarily recorded in a temporary recording unit of the programmable logic controller; setting a real-time display component for sequentially displaying the time-series data of the acquisition device; The programmable display is configured such that, when a touch operation on the real-time display component is detected, the display data generation unit generates display data for sequentially displaying the device values ​​of the acquired device on the display screen based on the time series data of the device values ​​temporarily recorded in the temporary recording unit of the programmable logic controller.

5. The programmable display according to any one of claims 1 to 4, further comprising: A programmable display device includes a display device side communication unit that communicates with the programmable logic controller.

6. 6. The programmable display according to claim 5, further comprising: a programmable display including a display-side device section that communicates with the programmable logic controller via the display-side communication section and holds device values ​​synchronized with device values ​​of the programmable logic controller;

7. The programmable display according to any one of claims 1 to 6, the setting storage unit stores, based on a user designation, a target device setting for identifying a target device among the plurality of devices for displaying a device waveform in which the time-series data stored in the storage memory is represented as a waveform shape; The display data generation unit generates the first display data for displaying the device waveform of a device specified by the target device setting, based on the time series data stored in the storage memory and the target device setting stored in the setting storage unit.

Citation Information

Patent Citations

  • Plant monitor controller

    JP2003029829A