WO2023228357A1 - Programmable logic controller, control system, data collection method, and program - Google Patents

Programmable logic controller, control system, data collection method, and program Download PDF

Info

Publication number
WO2023228357A1
WO2023228357A1 PCT/JP2022/021567 JP2022021567W WO2023228357A1 WO 2023228357 A1 WO2023228357 A1 WO 2023228357A1 JP 2022021567 W JP2022021567 W JP 2022021567W WO 2023228357 A1 WO2023228357 A1 WO 2023228357A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
line data
unit
line
device data
Prior art date
Application number
PCT/JP2022/021567
Other languages
French (fr)
Japanese (ja)
Inventor
知洋 古川
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2022563986A priority Critical patent/JPWO2023228357A1/ja
Priority to PCT/JP2022/021567 priority patent/WO2023228357A1/en
Publication of WO2023228357A1 publication Critical patent/WO2023228357A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Definitions

  • the present invention relates to a programmable logic controller, a control system, a data collection method, and a program.
  • a programmable logic controller is a controller that controls manufacturing equipment, transport equipment, inspection equipment, etc. in factory automation.
  • programmable logic controllers are connected to many external devices via networks and control the external devices by sending and receiving a lot of data.
  • Patent Document 1 discloses a control device that can efficiently collect line data necessary to identify the cause of an abnormality by providing dynamically changeable filtering conditions when collecting line data.
  • Patent Document 2 discloses a display device that can efficiently analyze line data by displaying line data and status logs of control devices and target devices in a chronologically correlated manner.
  • the present disclosure has been made in order to solve the above-mentioned problems, and provides a programmable logic controller, etc. that can facilitate the task of identifying the cause of abnormalities occurring in communication with external devices.
  • the purpose is to provide.
  • a programmable logic controller includes a communication section, a program execution section, a device data collection section, a line data collection section, and a data output section.
  • the communication unit communicates with external equipment.
  • the program execution unit executes a user program for controlling a controlled object.
  • the device data collection unit collects a plurality of device data stored in a plurality of devices that are storage areas referenced by the program execution unit, and stores each of the plurality of device data with time information when each device data was collected. It is associated and saved in the first buffer.
  • the line data collection unit collects a plurality of line data that satisfies collection conditions from among the data communicated by the communication unit, associates the plurality of line data with time information at which each line data was communicated, and stores the line data in a second buffer. Save to.
  • the data output unit outputs the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer.
  • a plurality of device data stored in a plurality of devices is collected, each of the collected plurality of device data is associated with time information when each device data was collected, and the data to be communicated with an external device is A plurality of pieces of line data that satisfy the collection conditions are collected, and the collected pieces of line data are associated with time information at which each piece of line data was communicated. Therefore, according to the present disclosure, it is possible to facilitate the task of identifying the cause of an abnormality occurring in communication with an external device.
  • a diagram showing the configuration of a control system according to Embodiment 1 A block diagram showing the hardware configuration of a PLC and an interface device according to Embodiment 1.
  • Block diagram showing the functional configuration of the control system according to Embodiment 1 A diagram showing an example of device data collected by PLC in Embodiment 1
  • a diagram showing an example of line data collected by PLC in Embodiment 1 A diagram showing an example of a display screen displayed on the interface device in Embodiment 1.
  • a diagram showing an example when device data or line data is selected on the display screen shown in FIG. A diagram showing an example when a device is selected on the display screen shown in FIG. 6
  • Flowchart showing the flow of data collection processing executed by the PLC according to the first embodiment Flowchart showing the flow of display output processing executed by the interface device according to Embodiment 1
  • FIG. 1 shows the configuration of a control system 1 according to the first embodiment.
  • the control system 1 is an FA (factory automation) system installed in a factory, and corresponds to a production system that produces products.
  • the control system 1 performs various processing, typified by processing, monitoring, and inspection, on the workpieces flowing on the production line.
  • control system 1 includes a PLC (programmable logic controller) 10, an interface device 20, and an external device 30.
  • PLC programmable logic controller
  • the PLC 10 is a controller for controlling a controlled object in factory automation.
  • the objects to be controlled are manufacturing equipment, transport equipment, inspection equipment, etc. installed in a factory.
  • the PLC 10 transmits various control commands to each of a plurality of control targets installed in a factory by executing a user program created in the interface device 20. Thereby, the PLC 10 comprehensively controls the manufacturing line in factory automation.
  • PLC10 is an example of a control device.
  • the interface device 20 is a terminal device operated by a user.
  • the interface device 20 is, for example, a general-purpose or industrial computer.
  • the interface device 20 can create and edit a user program for controlling the PLC 10.
  • the interface device 20 may also be called an engineering tool, a program creation support device, or the like.
  • the interface device 20 is communicably connected to the PLC 10 via a USB (Universal Serial Bus) cable, LAN (Local Area Network), or other communication line.
  • USB Universal Serial Bus
  • LAN Local Area Network
  • the external device 30 is a device used in factory automation.
  • External equipment 30 includes equipment to be controlled by PLC 10 in factory automation.
  • the external device 30 includes input devices such as sensors and cameras, and output devices such as actuators and arm robots.
  • the operation of the output device is controlled by the PLC 10 according to the detected value of the input device.
  • external devices 30 may be one or multiple.
  • the external devices 30 may include devices that are not to be controlled by the PLC 10, such as databases, server devices, etc.
  • External device 30 may be called a field device.
  • the external device 30 is communicably connected to the PLC 10 via a communication cable 31.
  • the communication cable 31 is an industrial control network realized by communication lines installed within a factory.
  • the communication cable 31 may be, for example, a USB cable or EtherNET (registered trademark), or may be EtherCAT (registered trademark) or EtherNet/IP (registered trademark) used as an industrial network protocol.
  • the PLC 10 and the interface device 20 each include a processor 11, a main memory 12, an auxiliary memory 13, a clock section 14, an input section 15, an output section 16, a communication section 17, Equipped with. Each of these elements is connected via an internal bus.
  • the processor 11 includes a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like.
  • the processor 11 implements various functions of the PLC 10 and the interface device 20 by executing programs stored in the auxiliary memory 13, and executes the processes described below.
  • the main memory 12 includes volatile storage devices such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory).
  • a program is loaded into the main memory 12 from the auxiliary memory 13. Further, the main memory 12 is used as a work area for the processor 11.
  • the auxiliary memory 13 includes a nonvolatile storage device such as a ROM (Read Only Memory) and a flash memory.
  • Auxiliary memory 13 stores various data used in processing by processor 11.
  • the auxiliary memory 13 supplies data used by the processor 11 to the processor 11 according to instructions from the processor 11, and stores data supplied from the processor 11.
  • the clock section 14 includes elements typified by a crystal resonator and an oscillation circuit.
  • the clock section 14 provides a clock signal to the processor 11 .
  • Clock signals are utilized to measure time.
  • the input unit 15 includes input devices such as switches, input keys, and pointing devices.
  • the input unit 15 acquires information input by the user and notifies the processor 11 of the acquired information.
  • the output unit 16 includes output devices such as an LED (Light Emitting Diode), an LCD (Liquid Crystal Display), and a speaker.
  • the output unit 16 presents various information to the user according to instructions from the processor 11.
  • the communication unit 17 includes a communication interface circuit for communicating with external devices in accordance with well-known communication standards such as USB and Ethernet (registered trademark).
  • the communication unit 17 receives a signal from the outside and outputs data indicated by this signal to the processor 11. Furthermore, the communication unit 17 transmits a signal indicating data output from the processor 11 to an external device.
  • the communication unit 17 of the PLC 10 communicates with the communication unit 17 of the interface device 20. Furthermore, the communication unit 17 of the PLC 10 communicates with the external device 30 via the communication cable 31.
  • the processor 11 functionally includes a program acquisition section 110, a parameter setting section 120, a program execution section 130, a device data collection section 140, a line data collection section 150, It includes a data storage section 160 and a data output section 170. Further, in the interface device 20, the processor 11 functionally includes a program creation section 210, a display output section 220, and a selection section 230.
  • Each of these functions is realized by software, firmware, or a combination of software and firmware.
  • Software and firmware are written as programs and stored in the auxiliary memory 13.
  • the processor 11 implements each function by executing the program stored in the auxiliary memory 13.
  • the program creation unit 210 creates a user program 21 according to an operation received from the user via the input unit 15.
  • the user program 21 is data that defines procedures for processing executed by the PLC 10.
  • the user program 21 is created using, for example, a graphical programming language or a high-level programming language.
  • the graphical programming language is, for example, a motion program in a flowchart format such as a ladder language or SFC (sequential function chart).
  • the high-level programming language is, for example, the C language.
  • the user program 21 will be described as a ladder program created in a ladder language.
  • a development tool for the user program 21 is installed on the interface device 20.
  • the user operates the input unit 15 to combine a plurality of predefined types of commands on the development tool.
  • the user program 21 can be designed in accordance with the configuration of the external device 30.
  • the program creation unit 210 transmits the created user program 21 to the PLC 10 via the communication unit 17 in response to an instruction from the user.
  • the program acquisition unit 110 acquires the user program 21 created in the interface device 20.
  • the program acquisition unit 110 communicates with the interface device 20 via the communication unit 17, and receives the transmitted user program 21.
  • the parameter setting unit 120 sets various parameters related to the operation of the PLC 10.
  • the parameters set by the parameter setting unit 120 include, for example, a device to be controlled, a file to be used, a timer setting value, a storage destination and storage format of device data and line data, and the like.
  • the parameter setting unit 120 sets such parameters based on information input by the user from the input unit 15 of the PLC 10. Alternatively, the parameter setting unit 120 may receive parameters from the interface device 20 and set the parameters.
  • the program execution unit 130 executes the user program 21 acquired by the program acquisition unit 110. Specifically, in order to control the controlled object, the program execution unit 130 generates a control command for the controlled object according to an arbitrarily created user program 21. Then, the program execution unit 130 transmits the generated control command to the controlled object via the communication cable 31. Thereby, the program execution unit 130 causes the controlled object to execute the operation according to the user program 21.
  • the device data collection unit 140 collects device data.
  • device data also called device value
  • the device is data stored in a device.
  • the device is also called a device memory, and means a storage area on the main memory 12 provided for storing device data.
  • Examples of the device include a relay device that holds 1 bit of information, a word device that holds 1 word of information, and the like.
  • Device data includes, for example, an input state input from an input device such as a sensor or a camera among the external devices 30, an output state output from an output device such as an actuator or an arm robot among the external devices 30, and a user information. It shows the status of internal relays, timers, counters, data memory, etc. set on the program 21.
  • the program execution unit 130 uses the main memory 12 as a storage area for device data when executing the user program 21 to control the control target. Specifically, the program execution unit 130 controls the controlled object while temporarily storing data related to control according to the user program 21 in the main memory 12 as device data. Specifically, the data related to control is a measurement value measured by a sensor, a camera, etc., a control value transmitted from the PLC 10 to a controlled object, a state value indicating a control result by the controlled object, etc.
  • the device data collection unit 140 collects a plurality of device data stored in a plurality of devices, which are storage areas that the program execution unit 130 refers to when executing the user program 21 and controlling a control target. Then, the device data collection unit 140 stores the collected plurality of device data in a first buffer, which is a storage area on the main memory 12, in association with time information at which each device data was collected.
  • FIG. 4 shows an example of multiple device data stored in the first buffer.
  • time represents the time when each device data was collected by the device data collection unit 140.
  • Target represents identification information of a device that is a target of each device data.
  • Value represents the value of each device data.
  • the "value” is, for example, a measured value, a control value, a state value, etc. related to control according to the user program 21 as described above.
  • the device data collection unit 140 collects a plurality of pieces of device data used when the program execution unit 130 controls the control target according to the user program 21, in association with the time information at which each piece of device data was collected.
  • Device data linked to time information can be called “device log data.” Note that the time information associated with each device data is not limited to the time itself, and may be, for example, the value of a scan counter as long as it is information indicating the time.
  • the line data collection unit 150 collects a plurality of line data that satisfy the collection conditions from among the communication data communicated with the external device 30 by the communication unit 17.
  • the communication data is data such as packets and protocols transmitted between the PLC 10 and the external device 30 via the communication cable 31.
  • the communication data includes data transmitted from the PLC 10 to the external device 30 and data transmitted from the external device 30 to the PLC 10.
  • communication data data indicating a control command transmitted from the PLC 10 to a device to be controlled
  • data indicating a control result transmitted from the device to be controlled to the PLC 10 data indicating the state of the external device 30, a sensor, a camera.
  • data indicating the state of the external device 30 data indicating the state of the external device 30, a sensor, a camera.
  • Various data exist, such as data measured by etc.
  • the collection conditions are filtering conditions set in advance to filter out unnecessary data from communication data. Specifically, the collection condition is satisfied when the data communicated by the communication unit 17 is data for operating the user program 21 or the device being used with preset parameters.
  • the preset parameters are parameters set by the parameter setting section 120.
  • Data operating a device means data written to or read from the device.
  • data for operating the device used by the user program 21 corresponds to data written to or read from the device when the program execution unit 130 is executing the user program 21.
  • data for operating a device being used with preset parameters corresponds to data written to the device or data read from the device using parameters used when the PLC 10 performs various operations.
  • line data collection unit 150 does not collect communication data if the communication data corresponds to a read command. Furthermore, communication data that is relayed to another device, that is, communication data where neither the destination nor the source is the PLC 10, does not satisfy the collection condition. Therefore, the line data collection unit 150 does not collect communication data to be relayed to other devices.
  • the line data collection unit 150 accesses the communication unit 17 and determines whether the communication data satisfies the collection conditions set in this way. do. As a result of the determination, the line data collection unit 150 does not collect communication data that does not satisfy the collection conditions, but collects data that satisfies the collection conditions as line data.
  • the line data collection unit 150 stores the collected line data in a second buffer, which is a storage area on the main memory 12, in association with time information at which the line data was communicated.
  • the second buffer is a storage area different from the first buffer in which device data on the main memory 12 is stored.
  • FIG. 5 shows an example of multiple line data stored in the second buffer.
  • time represents the time when each line data was transmitted and received.
  • Src represents the device that is the transmission source of each line data.
  • Dst represents the device to which each line data is transmitted.
  • the line data collection unit 150 links the line data communicated with the external device 30 when the program execution unit 130 controls the controlled object according to the user program 21 to the time information communicated. collect.
  • Line data linked to time information can be called "line log data.” Note that the time information associated with each line data is not limited to the time itself, and may be, for example, the value of a scan counter as long as it is information indicating the time.
  • the line data collection unit 150 collects line data for operating the device used by the user program 21 or parameters from among the data communicated by the communication unit 17.
  • line data necessary to identify the cause of the abnormality can be efficiently collected from a huge amount of line data. I can do it.
  • even a user with little knowledge can easily collect only the line data for operating the device being used. can.
  • the collection condition is satisfied when the communication data is data for operating a device used by the user program 21 or parameters. Therefore, even if the user program 21 or parameters are changed, the line data collection unit 150 can collect appropriate line data.
  • the line data collection unit 150 collects line data corresponding to the changed user program 21 or parameters without requiring the user to take the trouble of resetting the collection conditions every time the user program 21 or parameters are changed. be able to.
  • the data storage unit 160 saves the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer. It is saved in the auxiliary memory 13 of the PLC 10.
  • the storage condition is a condition that determines the timing for moving multiple device data and multiple line data from the main memory 12 to the auxiliary memory 13.
  • the storage condition may be such that when at least one of the size of the plurality of device data stored in the first buffer and the size of the plurality of line data stored in the second buffer exceeds a predetermined threshold, It is filled.
  • the storage condition may be satisfied when a predetermined periodic timing arrives.
  • the data storage unit 160 stores a plurality of device data and a plurality of line data in a storage destination set by the user in a storage format set by the user.
  • the user can specify a desired data folder in the auxiliary memory 13 as the storage destination.
  • the user can specify a desired data file format as the storage format.
  • the parameter setting unit 120 sets the storage destination and storage format according to such user specifications.
  • the user can freely specify the storage destination and storage format. Therefore, a plurality of device data and a plurality of line data associated with time information can be stored for easy use by the user.
  • the data output unit 170 outputs the plurality of device data and the plurality of line data stored by the data storage unit 160 to the interface device 20. Specifically, when a predetermined output timing arrives or in response to a request from the interface device 20, the data output unit 170 outputs the plurality of device data and the plurality of line data stored by the data storage unit 160. is transmitted to the interface device 20 via the communication unit 17.
  • the display output unit 220 acquires multiple device data and multiple line data output from the PLC 10, and displays the acquired multiple device data and multiple line data. Specifically, upon acquiring a plurality of device data and a plurality of line data from the PLC 10, the display output section 220 displays the display screen 40 shown in FIG. 6 on the LCD in the output section 16.
  • the display output unit 220 displays a display screen 40 that includes a program monitor 41, a line data list 42, a device data list 43, and a device monitor 44.
  • the program monitor 41 displays the contents of the user program 21.
  • the line data list 42 displays a list of a plurality of line data collected by the PLC 10.
  • the device data list 43 displays a list of a plurality of device data collected by the PLC 10.
  • the device monitor 44 displays current values of multiple devices. In this way, the display output section 220 displays the plurality of line data and the plurality of device data stored by the data storage section 160 in a list format.
  • the user can select any one of the plurality of line data displayed in the line data list 42 and the plurality of device data displayed in the device data list 43.
  • Data or device data can be selected.
  • the user operates the input unit 15 of the interface device 20 to click desired line data or device data from the line data list 42 and the device data list 43.
  • the selection unit 230 selects one of the plurality of device data displayed by the display output unit 220 or one of the plurality of line data displayed by the display output unit 220. Select one of the line data.
  • the display output unit 220 displays the time associated with the selected device data among the plurality of line data displayed in the line data list 42. Highlight the line data associated with the closest time information.
  • the display output unit 220 selects the most suitable time information associated with the selected line data among the plurality of device data displayed in the device data list 43. Highlight device data with associated time information.
  • FIG. 7 shows an example where one device data or one line data is selected.
  • the display output unit 220 displays the time of the selected device data among the plurality of line data displayed in the line data list 42.
  • the line data surrounded by a broken line is highlighted as the line data with the closest time to "2021/11/10 9:00:16:100".
  • the display output unit 220 displays the selected line data from among the plurality of device data displayed in the device data list 43.
  • the device data surrounded by a broken line is highlighted as the device data with the closest time to "2021/11/10 9:00:16:100" which is the time of the line data.
  • the data should be displayed in a manner that allows it to be distinguished from other data, such as displaying the data in a different color or size from other data, or displaying the data in a blinking manner. means.
  • the user can select any one device from among the multiple devices displayed on the device monitor 44.
  • the user operates the input unit 15 of the interface device 20 to click on a desired device from the device monitor 44.
  • the selection unit 230 selects one of the plurality of devices displayed by the display output unit 220 in accordance with such user operations. Note that when selecting a device, the user is not limited to selecting a device from among the plurality of devices displayed on the device monitor 44, and may select a device used in the user program 21.
  • the display output unit 220 selects one of the plurality of device data displayed in the device data list 43 and the plurality of line data displayed in the line data list 42. Highlights all device data and line data that operated the device.
  • FIG. 8 shows an example where one device from the device monitors 44 is selected.
  • the display output unit 220 displays all the device data whose target is “D6” among the plurality of device data displayed in the device data list 43. Highlight device data. Specifically, the display output unit 220 highlights a plurality of device data surrounded by broken lines in FIG. 8 .
  • the display output unit 220 also highlights the line data that is closest to the time information associated with each device data whose target is "D6" among the plurality of line data displayed in the line data list 42. do. Specifically, the display output unit 220 highlights the plurality of line data surrounded by broken lines in FIG. 8 .
  • the data collection process shown in FIG. 9 is an example of a data collection method executed by the PLC 10.
  • the data collection process starts when the PLC 10 receives an instruction to execute the user program 21.
  • the user program 21 is created in advance by the program creation section 210 in the interface device 20, and is acquired by the program acquisition section 110 in the PLC 10.
  • the processor 11 of the PLC 10 functions as the program execution unit 130 and executes the user program 21 (step S11).
  • the processor 11 When the user program 21 is executed, the processor 11 functions as the device data collection unit 140 and collects device data stored in the device referenced when the user program 21 is executed (step S12). Then, the processor 11 stores the collected device data in the first buffer in association with the time information at which the device data was collected (step S13).
  • the processor 11 determines whether or not it has communicated with the external device 30 via the communication unit 17 (step S14). When communicating with the external device 30 (step S14; YES), the processor 11 next determines whether the communication data satisfies the collection conditions (step S15).
  • the processor 11 If it is determined that the communication data satisfies the collection conditions (step S14; YES), the processor 11 functions as the line data collection unit 150 and collects the communication data as line data (step S16). Then, the processor 11 stores the collected line data in the second buffer in association with the time information at which the line data was communicated (step S17).
  • step S14 if the processor 11 is not communicating with the external device 30 (step S14; NO), or if the communication data does not satisfy the collection conditions even if it is communicating with the external device 30 (step S15; NO), the processor 11 skips steps S16 and S17.
  • the processor 11 determines whether a predetermined storage condition is satisfied (step S18). If the storage condition is satisfied (step S18; YES), the processor 11 functions as the data storage section 160 and stores the device data and line data in the auxiliary memory 13 (step S19). On the other hand, if the storage condition is not satisfied (step S18; NO), the processor 11 skips step S19.
  • the processor 11 After that, the processor 11 returns the process to step S11. Then, the processor 11 repeats the processes of steps S11 to S19 until the execution of the user program 21 is finished, and collects device data and line data during the process. With the above, the collection process shown in FIG. 9 ends.
  • the display output process shown in FIG. 10 is an example of a display output method executed by the interface device 20.
  • the display output process is executed by the display output unit 220 when the interface device 20 receives a command to display device data and line data.
  • the display output unit 220 acquires the device data and line data collected and stored in the PLC 10 (step S21).
  • the display output unit 220 displays the acquired device data and line data (step S22). For example, the display output unit 220 displays a display screen 40 including a program monitor 41, a line data list 42, a device data list 43, and a device monitor 44, as shown in FIG.
  • the display output unit 220 determines whether any device data has been selected by the user from the displayed device data list 43 (step S23). If device data is selected (step S23; YES), the display output unit 220 highlights the line data whose time is closest to the time of the selected device data, as shown in FIG. 7 (step S24). .
  • step S23 if device data is not selected (step S23; NO), the display output unit 220 skips step S24.
  • the display output unit 220 determines whether any line data from the displayed line data list 42 has been selected by the user (step S25). If line data is selected (step S25; YES), the display output unit 220 highlights the device data whose time is closest to the time of the selected line data (step S26), as shown in FIG. .
  • step S25 if line data is not selected (step S25; NO), the display output unit 220 skips step S26.
  • the display output unit 220 determines whether any device has been selected by the user on the device monitor 44 (step S27). If a device is selected (step S27; YES), the display output unit 220 highlights the device data and line data corresponding to the selected device, as shown in FIG. 8 (step S28).
  • step S27; NO the display output unit 220 skips step S28.
  • the display output unit 220 returns the process to step S23. Then, the display output unit 220 repeats the processing of steps S23 to S28 while the display screen 40 is displayed. This allows the user to recognize the relationship between device data and line data when the user program 21 is executed.
  • the PLC 10 collects a plurality of device data stored in a plurality of devices that are storage areas referenced by the program execution unit 130, and each of the collected device data is associated with the time information at which each device data was collected, a plurality of line data that satisfy the collection conditions are collected from among the data communicated by the communication unit 17, and each line data is Correlate with the communicated time information.
  • Embodiment 2 Next, a second embodiment will be described. Descriptions of configurations and functions similar to those in Embodiment 1 will be omitted as appropriate.
  • the collection conditions for the line data collection unit 150 to collect line data are such that the data communicated by the communication unit 17 is transmitted by the user program 21 or the device being used with preset parameters. If the data to be manipulated is met.
  • the collection condition is satisfied when the data communicated by the communication unit 17 is data related to the function used by the user program 21 or preset parameters. It will be done.
  • the collection conditions in Embodiments 1 and 2 can be referred to as “first collection conditions” and "second collection conditions,” respectively.
  • data related to a function used by the user program 21 or preset parameters means data required to realize the function.
  • data related to the function is SNTP (Simple Network Time Protocol). Therefore, in this case, SNTP satisfies the collection condition.
  • SMB Server Message Block
  • the line data collection unit 150 accesses the communication unit 17 and determines whether the communication data satisfies the collection conditions set in this way. do. As a result of the determination, the line data collection unit 150 does not collect communication data that does not satisfy the collection conditions, but collects data that satisfies the collection conditions as line data.
  • the line data collection unit 150 stores the collected line data in a second buffer, which is a storage area on the main memory 12, in association with time information at which the line data was communicated.
  • the other configurations and functions are the same as in the first embodiment.
  • the line data collection unit 150 collects line data related to the functions used in the user program 21 or parameters from among the data communicated by the communication unit 17.
  • line data necessary to identify the cause of the abnormality can be efficiently collected from a huge amount of line data. I can do it. Further, since there is no need to be aware of the protocols used by each function, even a user with little knowledge can easily collect only the line data of the protocols related to each function.
  • the collection condition is satisfied when the communication data is data related to a function used in the user program 21 or parameters. Therefore, even if the user program 21 or parameters are changed, the line data collection unit 150 can collect appropriate line data.
  • the line data collection unit 150 collects line data corresponding to the changed user program 21 or parameters without requiring the user to take the trouble of resetting the collection conditions every time the user program 21 or parameters are changed. be able to.
  • the user can, for example, manually set which of the collection conditions described in Embodiment 1 and the collection conditions described in Embodiment 2 is to be used.
  • the collection conditions described in Embodiment 1 and the collection conditions described in Embodiment 2 may be combined using a logical OR or AND and used as conditions for the line data collection unit 150 to collect line data. good.
  • processor 11 may also be dedicated hardware.
  • the dedicated hardware is, for example, a single circuit, a composite circuit, a programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • each part may be realized by dedicated hardware, and the other part may be realized by software or firmware.
  • the processor 11 can implement the above-mentioned functions using hardware, software, firmware, or a combination thereof.
  • the distribution method of such programs is arbitrary; for example, it can be distributed on computer-readable recording media such as CD-ROM (Compact Disk ROM), DVD (Digital Versatile Disk), MO (Magneto Optical Disk), memory card, etc. It may be stored and distributed, or it may be distributed via a communication network such as the Internet.
  • CD-ROM Compact Disk ROM
  • DVD Digital Versatile Disk
  • MO Magnetic Optical Disk
  • memory card etc. It may be stored and distributed, or it may be distributed via a communication network such as the Internet.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

In a programmable logic controller (10), a communication unit (17) communicates with external equipment (30). A program execution unit (130) executes a user program for controlling a controlled object. A device data collection unit (140) collects a plurality of sets of device data stored in a plurality of devices, which are storage areas referenced by the program execution unit (130), and associates and stores, in a first buffer, each of the plurality of sets of device data with information about the time at which the set of device data was collected. A line data collection unit (150) collects a plurality of sets of line data that satisfy collection conditions from the data communicated by the communication unit (17), and associates and stores, in a second buffer, the plurality of sets of line data with information about the time at which each set of line data was communicated. A data output unit (170) outputs the plurality of sets of device data stored in the first buffer and the plurality of sets of line data stored in the second buffer.

Description

プログラマブルロジックコントローラ、制御システム、データ収集方法及びプログラムProgrammable logic controller, control system, data acquisition method and program
 本発明は、プログラマブルロジックコントローラ、制御システム、データ収集方法及びプログラムに関する。 The present invention relates to a programmable logic controller, a control system, a data collection method, and a program.
 プログラマブルロジックコントローラは、ファクトリーオートメーションにおいて製造機器、搬送装置、検査装置等を制御するコントローラである。近年、プログラマブルロジックコントローラは、ネットワークを介して多くの外部機器と接続され、多くのデータを送受信して外部機器を制御している。 A programmable logic controller is a controller that controls manufacturing equipment, transport equipment, inspection equipment, etc. in factory automation. In recent years, programmable logic controllers are connected to many external devices via networks and control the external devices by sending and receiving a lot of data.
 多くの外部装置と接続されたプログラマブルロジックコントローラでは、外部機器との通信に起因して、意図しない動作、エラー等の異常が発生する場合がある。異常の要因を特定するために、プログラマブルロジックコントローラと外部機器との間の通信データを収集して確認する手法が知られている。 In a programmable logic controller connected to many external devices, abnormalities such as unintended operations and errors may occur due to communication with the external devices. In order to identify the cause of an abnormality, a method is known in which communication data between a programmable logic controller and an external device is collected and confirmed.
 例えば、特許文献1は、回線データの収集時に、動的に変更可能なフィルタリング条件を備えることで、異常の要因を特定するために必要な回線データを効率的に収集可能な制御装置を開示している。また、特許文献2は、回線データと、制御機器及び対象機器の状態ログとを、時系列に関連付けて表示することで、回線データを効率的に解析可能な表示装置を開示している。 For example, Patent Document 1 discloses a control device that can efficiently collect line data necessary to identify the cause of an abnormality by providing dynamically changeable filtering conditions when collecting line data. ing. Further, Patent Document 2 discloses a display device that can efficiently analyze line data by displaying line data and status logs of control devices and target devices in a chronologically correlated manner.
特開2019-161388号公報JP 2019-161388 Publication 特開2019-197461号公報Japanese Patent Application Publication No. 2019-197461
 プログラマブルロジックコントローラが多くの外部機器と接続されている場合、外部機器との間で送受信される回線データは膨大となる。そのため、外部機器との通信に起因して異常が発生した場合、異常の要因を特定するために必要な回線データを収集することが難しい場合がある。また、異常の要因を特定するために必要な回線データを収集できた場合であっても、どの回線データがどのような影響を与えたかを解析する作業には、多くの手間がかかり得る。 When a programmable logic controller is connected to many external devices, a huge amount of line data is sent and received between the external devices. Therefore, when an abnormality occurs due to communication with an external device, it may be difficult to collect line data necessary to identify the cause of the abnormality. Further, even if it is possible to collect the line data necessary to identify the cause of the abnormality, it may take a lot of effort to analyze which line data has what kind of influence.
 本開示は、上述のような課題を解決するためになされたものであり、外部機器との通信において発生する異常の要因を特定するための作業を容易化することが可能なプログラマブルロジックコントローラ等を提供することを目的とする。 The present disclosure has been made in order to solve the above-mentioned problems, and provides a programmable logic controller, etc. that can facilitate the task of identifying the cause of abnormalities occurring in communication with external devices. The purpose is to provide.
 上記目的を達成するため、本開示に係るプログラマブルロジックコントローラは、通信部と、プログラム実行部と、デバイスデータ収集部と、回線データ収集部と、データ出力部と、を備える。通信部は、外部機器と通信する。プログラム実行部は、制御対象を制御するためのユーザプログラムを実行する。デバイスデータ収集部は、プログラム実行部により参照される記憶領域である複数のデバイスに格納された複数のデバイスデータを収集し、複数のデバイスデータのそれぞれを、各デバイスデータが収集された時刻情報と関連付けて第1バッファに保存する。回線データ収集部は、通信部により通信されるデータのうちの、収集条件を満たす複数の回線データを収集し、複数の回線データを、各回線データが通信された時刻情報と関連付けて第2バッファに保存する。データ出力部は、第1バッファに保存された複数のデバイスデータと第2バッファに保存された複数の回線データとを出力する。 In order to achieve the above object, a programmable logic controller according to the present disclosure includes a communication section, a program execution section, a device data collection section, a line data collection section, and a data output section. The communication unit communicates with external equipment. The program execution unit executes a user program for controlling a controlled object. The device data collection unit collects a plurality of device data stored in a plurality of devices that are storage areas referenced by the program execution unit, and stores each of the plurality of device data with time information when each device data was collected. It is associated and saved in the first buffer. The line data collection unit collects a plurality of line data that satisfies collection conditions from among the data communicated by the communication unit, associates the plurality of line data with time information at which each line data was communicated, and stores the line data in a second buffer. Save to. The data output unit outputs the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer.
 本開示では、複数のデバイスに格納された複数のデバイスデータを収集し、収集した複数のデバイスデータのそれぞれを、各デバイスデータが収集された時刻情報と関連付け、外部機器と通信されるデータのうちの、収集条件を満たす複数の回線データを収集し、収集した複数の回線データを、各回線データが通信された時刻情報と関連付ける。従って、本開示によれば、外部機器との通信において発生する異常の要因を特定するための作業を容易化することができる。 In the present disclosure, a plurality of device data stored in a plurality of devices is collected, each of the collected plurality of device data is associated with time information when each device data was collected, and the data to be communicated with an external device is A plurality of pieces of line data that satisfy the collection conditions are collected, and the collected pieces of line data are associated with time information at which each piece of line data was communicated. Therefore, according to the present disclosure, it is possible to facilitate the task of identifying the cause of an abnormality occurring in communication with an external device.
実施の形態1に係る制御システムの構成を示す図A diagram showing the configuration of a control system according to Embodiment 1 実施の形態1に係るPLC及びインタフェース装置のハードウェア構成を示すブロック図A block diagram showing the hardware configuration of a PLC and an interface device according to Embodiment 1. 実施の形態1に係る制御システムの機能的な構成を示すブロック図Block diagram showing the functional configuration of the control system according to Embodiment 1 実施の形態1においてPLCにより収集されるデバイスデータの例を示す図A diagram showing an example of device data collected by PLC in Embodiment 1 実施の形態1においてPLCにより収集される回線データの例を示す図A diagram showing an example of line data collected by PLC in Embodiment 1 実施の形態1においてインタフェース装置に表示される表示画面の例を示す図A diagram showing an example of a display screen displayed on the interface device in Embodiment 1. 図6に示した表示画面においてデバイスデータ又は回線データが選択された場合の例を示す図A diagram showing an example when device data or line data is selected on the display screen shown in FIG. 図6に示した表示画面においてデバイスが選択された場合の例を示す図A diagram showing an example when a device is selected on the display screen shown in FIG. 6 実施の形態1に係るPLCによって実行されるデータ収集処理の流れを示すフローチャートFlowchart showing the flow of data collection processing executed by the PLC according to the first embodiment 実施の形態1に係るインタフェース装置によって実行される表示出力処理の流れを示すフローチャートFlowchart showing the flow of display output processing executed by the interface device according to Embodiment 1
 以下、実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付す。 Hereinafter, embodiments will be described in detail with reference to the drawings. In addition, the same or equivalent parts in the figures are given the same reference numerals.
 (実施の形態1)
 図1に、実施の形態1に係る制御システム1の構成を示す。制御システム1は、工場に設置されるFA(ファクトリーオートメーション)システムであって、製品を生産する生産システムに相当する。制御システム1は、製造ラインに流れるワークに対して加工、監視及び検査に代表される種々の処理を施す。
(Embodiment 1)
FIG. 1 shows the configuration of a control system 1 according to the first embodiment. The control system 1 is an FA (factory automation) system installed in a factory, and corresponds to a production system that produces products. The control system 1 performs various processing, typified by processing, monitoring, and inspection, on the workpieces flowing on the production line.
 図1に示すように、制御システム1は、PLC(プログラマブルロジックコントローラ)10と、インタフェース装置20と、外部機器30と、を備える。 As shown in FIG. 1, the control system 1 includes a PLC (programmable logic controller) 10, an interface device 20, and an external device 30.
 PLC10は、ファクトリーオートメーションにおいて制御対象を制御するためのコントローラである。ここで、制御対象は、工場に設置される製造機器、搬送装置、検査装置等である。PLC10は、インタフェース装置20において作成されるユーザプログラムを実行することにより、工場に設置される複数の制御対象のそれぞれに様々な制御命令を送信する。これにより、PLC10は、ファクトリーオートメーションにおける製造ラインを統括的に制御する。PLC10は、制御装置の一例である。 The PLC 10 is a controller for controlling a controlled object in factory automation. Here, the objects to be controlled are manufacturing equipment, transport equipment, inspection equipment, etc. installed in a factory. The PLC 10 transmits various control commands to each of a plurality of control targets installed in a factory by executing a user program created in the interface device 20. Thereby, the PLC 10 comprehensively controls the manufacturing line in factory automation. PLC10 is an example of a control device.
 インタフェース装置20は、ユーザによって操作される端末装置である。インタフェース装置20は、例えば、汎用又は産業用のコンピュータである。インタフェース装置20は、PLC10を制御するためのユーザプログラムを作成及び編集することができる。インタフェース装置20は、エンジニアリングツール、プログラム作成支援装置等と呼ばれても良い。インタフェース装置20は、USB(Universal Serial Bus)ケーブル、LAN(Local Area Network)又は他の通信線を介してPLC10と通信可能に接続される。 The interface device 20 is a terminal device operated by a user. The interface device 20 is, for example, a general-purpose or industrial computer. The interface device 20 can create and edit a user program for controlling the PLC 10. The interface device 20 may also be called an engineering tool, a program creation support device, or the like. The interface device 20 is communicably connected to the PLC 10 via a USB (Universal Serial Bus) cable, LAN (Local Area Network), or other communication line.
 外部機器30は、ファクトリーオートメーションにおいて利用される機器である。外部機器30は、ファクトリーオートメーションにおいてPLC10による制御対象となる機器を含む。具体的には、外部機器30は、センサ、カメラ等の入力機器と、アクチュエータ、アームロボット等の出力機器と、を含む。例えば、入力機器の検出値に応じて、出力機器の動作がPLC10によって制御される。 The external device 30 is a device used in factory automation. External equipment 30 includes equipment to be controlled by PLC 10 in factory automation. Specifically, the external device 30 includes input devices such as sensors and cameras, and output devices such as actuators and arm robots. For example, the operation of the output device is controlled by the PLC 10 according to the detected value of the input device.
 なお、外部機器30は1つであっても複数であっても良い。また、外部機器30は、PLC10による制御対象となる機器以外にも、例えばデータベース、サーバ装置等のような、PLC10による制御対象とならない機器を含んでも良い。外部機器30は、フィールドデバイスと呼ばれても良い。 Note that the number of external devices 30 may be one or multiple. In addition to the devices to be controlled by the PLC 10, the external devices 30 may include devices that are not to be controlled by the PLC 10, such as databases, server devices, etc. External device 30 may be called a field device.
 外部機器30は、通信ケーブル31を介してPLC10と通信可能に接続されている。通信ケーブル31は、工場内に設置された通信線によって実現される産業用の制御ネットワークである。通信ケーブル31は、例えば、USBケーブル又はEtherNET(登録商標)であっても良いし、産業用ネットワークプロトコルとして用いられるEtherCAT(登録商標)又はEtherNet/IP(登録商標)であっても良い。 The external device 30 is communicably connected to the PLC 10 via a communication cable 31. The communication cable 31 is an industrial control network realized by communication lines installed within a factory. The communication cable 31 may be, for example, a USB cable or EtherNET (registered trademark), or may be EtherCAT (registered trademark) or EtherNet/IP (registered trademark) used as an industrial network protocol.
 次に、PLC10及びインタフェース装置20の構成について説明する。PLC10及びインタフェース装置20は、それぞれ、図2に示すように、プロセッサ11と、主メモリ12と、補助メモリ13と、クロック部14と、入力部15と、出力部16と、通信部17と、を備える。これら各要素は、内部バスを介して接続されている。 Next, the configurations of the PLC 10 and the interface device 20 will be explained. As shown in FIG. 2, the PLC 10 and the interface device 20 each include a processor 11, a main memory 12, an auxiliary memory 13, a clock section 14, an input section 15, an output section 16, a communication section 17, Equipped with. Each of these elements is connected via an internal bus.
 プロセッサ11は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を備える。プロセッサ11は、補助メモリ13に記憶されるプログラムを実行することにより、PLC10及びインタフェース装置20の種々の機能を実現して、後述の処理を実行する。 The processor 11 includes a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. The processor 11 implements various functions of the PLC 10 and the interface device 20 by executing programs stored in the auxiliary memory 13, and executes the processes described below.
 主メモリ12は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等の揮発性記憶装置を備える。主メモリ12には、補助メモリ13からプログラムがロードされる。また、主メモリ12は、プロセッサ11の作業領域として用いられる。 The main memory 12 includes volatile storage devices such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory). A program is loaded into the main memory 12 from the auxiliary memory 13. Further, the main memory 12 is used as a work area for the processor 11.
 補助メモリ13は、ROM(Read Only Memory)、フラッシュメモリ等の不揮発性記憶装置を備える。補助メモリ13は、プロセッサ11の処理に用いられる種々のデータを記憶する。補助メモリ13 は、プロセッサ11の指示に従って、プロセッサ11によって利用されるデータをプロセッサ11に供給し、プロセッサ11から供給されたデータを記憶する。 The auxiliary memory 13 includes a nonvolatile storage device such as a ROM (Read Only Memory) and a flash memory. Auxiliary memory 13 stores various data used in processing by processor 11. The auxiliary memory 13 supplies data used by the processor 11 to the processor 11 according to instructions from the processor 11, and stores data supplied from the processor 11.
 クロック部14は、水晶振動子及び発振回路に代表される素子を含む。クロック部14は、クロック信号をプロセッサ11 に提供する。クロック信号は、時間を測定するために利用される。 The clock section 14 includes elements typified by a crystal resonator and an oscillation circuit. The clock section 14 provides a clock signal to the processor 11 . Clock signals are utilized to measure time.
 入力部15は、スイッチ、入力キー及びポインティングデバイスに代表される入力デバイスを備える。入力部15は、ユーザによって入力された情報を取得して、取得した情報をプロセッサ11に通知する。 The input unit 15 includes input devices such as switches, input keys, and pointing devices. The input unit 15 acquires information input by the user and notifies the processor 11 of the acquired information.
 出力部16は、LED(Light Emitting Diode)、LCD(Liquid Crystal Display)及びスピーカに代表される出力デバイスを備える。出力部16は、プロセッサ11の指示に従って、種々の情報をユーザに提示する。 The output unit 16 includes output devices such as an LED (Light Emitting Diode), an LCD (Liquid Crystal Display), and a speaker. The output unit 16 presents various information to the user according to instructions from the processor 11.
 通信部17は、USB、Ethernet(登録商標)等の周知の通信規格に従って、外部の装置と通信するための通信インタフェース回路を備える。通信部17は、外部から信号を受信して、この信号により示されるデータをプロセッサ11に出力する。また、通信部17は、プロセッサ11から出力されたデータを示す信号を外部の装置へ送信する。具体的に説明すると、PLC10の通信部17は、インタフェース装置20の通信部17との間で通信する。また、PLC10の通信部17は、通信ケーブル31を介して外部機器30と通信する。 The communication unit 17 includes a communication interface circuit for communicating with external devices in accordance with well-known communication standards such as USB and Ethernet (registered trademark). The communication unit 17 receives a signal from the outside and outputs data indicated by this signal to the processor 11. Furthermore, the communication unit 17 transmits a signal indicating data output from the processor 11 to an external device. Specifically, the communication unit 17 of the PLC 10 communicates with the communication unit 17 of the interface device 20. Furthermore, the communication unit 17 of the PLC 10 communicates with the external device 30 via the communication cable 31.
 次に、図3を参照して、制御システム1の機能的な構成について説明する。図3に示すように、PLC10において、プロセッサ11は、機能的に、プログラム取得部110と、パラメータ設定部120と、プログラム実行部130と、デバイスデータ収集部140と、回線データ収集部150と、データ保存部160と、データ出力部170と、を備える。また、インタフェース装置20において、プロセッサ11は、機能的に、プログラム作成部210と、表示出力部220と、選択部230と、を備える。 Next, the functional configuration of the control system 1 will be described with reference to FIG. 3. As shown in FIG. 3, in the PLC 10, the processor 11 functionally includes a program acquisition section 110, a parameter setting section 120, a program execution section 130, a device data collection section 140, a line data collection section 150, It includes a data storage section 160 and a data output section 170. Further, in the interface device 20, the processor 11 functionally includes a program creation section 210, a display output section 220, and a selection section 230.
 これらの各機能は、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア及びファームウェアは、プログラムとして記述され、補助メモリ13に格納される。そして、プロセッサ11が、補助メモリ13に記憶されたプログラムを実行することによって、各機能を実現する。 Each of these functions is realized by software, firmware, or a combination of software and firmware. Software and firmware are written as programs and stored in the auxiliary memory 13. The processor 11 implements each function by executing the program stored in the auxiliary memory 13.
 インタフェース装置20において、プログラム作成部210は、入力部15を介してユーザから受け付けた操作に従って、ユーザプログラム21を作成する。ユーザプログラム21は、PLC10により実行される処理の手続きを定めるデータである。 In the interface device 20, the program creation unit 210 creates a user program 21 according to an operation received from the user via the input unit 15. The user program 21 is data that defines procedures for processing executed by the PLC 10.
 ユーザプログラム21は、例えば、グラフィカルプログラミング言語又は高級プログラミング言語を用いて作成される。グラフィカルプログラミング言語は、例えば、ラダー言語、SFC(シーケンシャルファンクションチャート)等のフローチャート形式のモーションプログラムである。高級プログラミング言語は、例えば、C言語である。以下では、一例として、ユーザプログラム21は、ラダー言語で作成されたラダープログラムであるとして説明する。 The user program 21 is created using, for example, a graphical programming language or a high-level programming language. The graphical programming language is, for example, a motion program in a flowchart format such as a ladder language or SFC (sequential function chart). The high-level programming language is, for example, the C language. Hereinafter, as an example, the user program 21 will be described as a ladder program created in a ladder language.
 ユーザプログラム21の開発ツールは、インタフェース装置20にインストールされている。ユーザは、入力部15を操作して、予め規定されている複数種類の命令を開発ツール上で組み合わせる。これにより、外部機器30の構成に合わせたユーザプログラム21を設計することができる。 A development tool for the user program 21 is installed on the interface device 20. The user operates the input unit 15 to combine a plurality of predefined types of commands on the development tool. Thereby, the user program 21 can be designed in accordance with the configuration of the external device 30.
 プログラム作成部210は、ユーザプログラム21を作成すると、ユーザからの指示に応じて、作成したユーザプログラム21を、通信部17を介してPLC10に送信する。 After creating the user program 21, the program creation unit 210 transmits the created user program 21 to the PLC 10 via the communication unit 17 in response to an instruction from the user.
 PLC10において、プログラム取得部110は、インタフェース装置20において作成されたユーザプログラム21を取得する。プログラム取得部110は、インタフェース装置20からユーザプログラム21が送信されると、通信部17を介してインタフェース装置20と通信し、送信されたユーザプログラム21を受信する。 In the PLC 10, the program acquisition unit 110 acquires the user program 21 created in the interface device 20. When the user program 21 is transmitted from the interface device 20, the program acquisition unit 110 communicates with the interface device 20 via the communication unit 17, and receives the transmitted user program 21.
 パラメータ設定部120は、PLC10の動作に関連する各種のパラメータを設定する。パラメータ設定部120により設定されるパラメータとして、例えば、制御対象の機器、使用するファイル、タイマーの設定値、デバイスデータ及び回線データの保存先及び保存形式等が挙げられる。 The parameter setting unit 120 sets various parameters related to the operation of the PLC 10. The parameters set by the parameter setting unit 120 include, for example, a device to be controlled, a file to be used, a timer setting value, a storage destination and storage format of device data and line data, and the like.
 パラメータ設定部120は、このようなパラメータを、ユーザがPLC10の入力部15から入力した情報に基づいて設定する。或いは、パラメータ設定部120は、パラメータを、インタフェース装置20から受け付けて設定しも良い。 The parameter setting unit 120 sets such parameters based on information input by the user from the input unit 15 of the PLC 10. Alternatively, the parameter setting unit 120 may receive parameters from the interface device 20 and set the parameters.
 プログラム実行部130は、プログラム取得部110により取得されたユーザプログラム21を実行する。具体的に説明すると、プログラム実行部130は、制御対象を制御するために、任意に作成されるユーザプログラム21に従って、制御対象に対する制御命令を生成する。そして、プログラム実行部130は、生成した制御命令を、通信ケーブル31を介して制御対象に送信する。これにより、プログラム実行部130は、制御対象に、ユーザプログラム21に従った動作を実行させる。 The program execution unit 130 executes the user program 21 acquired by the program acquisition unit 110. Specifically, in order to control the controlled object, the program execution unit 130 generates a control command for the controlled object according to an arbitrarily created user program 21. Then, the program execution unit 130 transmits the generated control command to the controlled object via the communication cable 31. Thereby, the program execution unit 130 causes the controlled object to execute the operation according to the user program 21.
 デバイスデータ収集部140は、デバイスデータを収集する。ここで、デバイスデータは、デバイス値とも呼ばれ、デバイスに格納されるデータである。ここで、デバイスは、デバイスメモリとも呼ばれ、デバイスデータを格納するために設けられた主メモリ12上の記憶領域を意味する。デバイスとして、1ビットの情報を保持するリレーデバイス、1ワードの情報を保持するワードデバイス等が挙げられる。デバイスデータは、例えば、外部機器30のうちのセンサ、カメラ等の入力機器から入力される入力状態、外部機器30のうちのアクチュエータ、アームロボット等の出力機器に出力される出力状態、及び、ユーザプログラム21上で設定される内部リレー、タイマー、カウンタ、データメモリ等の状態を示す。 The device data collection unit 140 collects device data. Here, device data, also called device value, is data stored in a device. Here, the device is also called a device memory, and means a storage area on the main memory 12 provided for storing device data. Examples of the device include a relay device that holds 1 bit of information, a word device that holds 1 word of information, and the like. Device data includes, for example, an input state input from an input device such as a sensor or a camera among the external devices 30, an output state output from an output device such as an actuator or an arm robot among the external devices 30, and a user information. It shows the status of internal relays, timers, counters, data memory, etc. set on the program 21.
 プログラム実行部130は、ユーザプログラム21を実行して制御対象を制御する際に、デバイスデータの記憶領域として主メモリ12を使用する。具体的に説明すると、プログラム実行部130は、デバイスデータとして、ユーザプログラム21に従った制御に関連するデータを主メモリ12に一時的に保存しながら、制御対象を制御する。制御に関連するデータは、具体的には、センサ、カメラ等により測定された測定値、PLC10から制御対象に送信される制御値、制御対象による制御結果を示す状態値等である。 The program execution unit 130 uses the main memory 12 as a storage area for device data when executing the user program 21 to control the control target. Specifically, the program execution unit 130 controls the controlled object while temporarily storing data related to control according to the user program 21 in the main memory 12 as device data. Specifically, the data related to control is a measurement value measured by a sensor, a camera, etc., a control value transmitted from the PLC 10 to a controlled object, a state value indicating a control result by the controlled object, etc.
 デバイスデータ収集部140は、プログラム実行部130がユーザプログラム21を実行して制御対象を制御する際に参照する記憶領域である複数のデバイスに格納された複数のデバイスデータを収集する。そして、デバイスデータ収集部140は、収集した複数のデバイスデータを、各デバイスデータが収集された時刻情報と関連付けて、主メモリ12上の記憶領域である第1バッファに保存する。 The device data collection unit 140 collects a plurality of device data stored in a plurality of devices, which are storage areas that the program execution unit 130 refers to when executing the user program 21 and controlling a control target. Then, the device data collection unit 140 stores the collected plurality of device data in a first buffer, which is a storage area on the main memory 12, in association with time information at which each device data was collected.
 図4に、第1バッファに保存される複数のデバイスデータの例を示す。図4において、「時刻」は、各デバイスデータがデバイスデータ収集部140により収集された時刻を表す。「対象」は、各デバイスデータの対象となるデバイスの識別情報を表す。「値」は、各デバイスデータの値を表す。「値」は、例えば、上述したようなユーザプログラム21に従った制御に関連する測定値、制御値、状態値等である。 FIG. 4 shows an example of multiple device data stored in the first buffer. In FIG. 4, "time" represents the time when each device data was collected by the device data collection unit 140. “Target” represents identification information of a device that is a target of each device data. “Value” represents the value of each device data. The "value" is, for example, a measured value, a control value, a state value, etc. related to control according to the user program 21 as described above.
 このように、デバイスデータ収集部140は、プログラム実行部130がユーザプログラム21に従って制御対象を制御する際に用いられる複数のデバイスデータを、各デバイスデータが収集された時刻情報に紐付けて収集する。時刻情報に紐付けられたデバイスデータは、「デバイスログデータ」と呼ぶことができる。なお、各デバイスデータに紐付けられる時刻情報は、時刻そのものであることに限らず、時刻を示す情報であれば、例えばスキャンカウンタの値であっても良い。 In this way, the device data collection unit 140 collects a plurality of pieces of device data used when the program execution unit 130 controls the control target according to the user program 21, in association with the time information at which each piece of device data was collected. . Device data linked to time information can be called "device log data." Note that the time information associated with each device data is not limited to the time itself, and may be, for example, the value of a scan counter as long as it is information indicating the time.
 図3に戻って、回線データ収集部150は、通信部17により外部機器30と通信される通信データのうちの、収集条件を満たす複数の回線データを収集する。ここで、通信データは、PLC10と外部機器30との間で通信ケーブル31を介して伝送されるパケット、プロトコル等のデータである。通信データとして、PLC10から外部機器30に送信されるデータと、外部機器30からPLC10に送信されるデータと、が存在する。 Returning to FIG. 3, the line data collection unit 150 collects a plurality of line data that satisfy the collection conditions from among the communication data communicated with the external device 30 by the communication unit 17. Here, the communication data is data such as packets and protocols transmitted between the PLC 10 and the external device 30 via the communication cable 31. The communication data includes data transmitted from the PLC 10 to the external device 30 and data transmitted from the external device 30 to the PLC 10.
 例えば、通信データとして、PLC10から制御対象の機器に送信される制御命令を示すデータ、制御対象の機器からPLC10に送信される制御結果を示すデータ、外部機器30の状態を示すデータ、センサ、カメラ等により測定されたデータ等、様々なデータが存在する。 For example, as communication data, data indicating a control command transmitted from the PLC 10 to a device to be controlled, data indicating a control result transmitted from the device to be controlled to the PLC 10, data indicating the state of the external device 30, a sensor, a camera. Various data exist, such as data measured by etc.
 収集条件は、通信データのうちから、不要なデータをフィルタリングするために予め設定されるフィルタリング条件である。具体的には、収集条件は、通信部17により通信されるデータが、ユーザプログラム21又は予め設定されたパラメータで使用しているデバイスを操作するデータである場合に、満たされる。ここで、予め設定されたパラメータは、パラメータ設定部120により設定されたパラメータである。 The collection conditions are filtering conditions set in advance to filter out unnecessary data from communication data. Specifically, the collection condition is satisfied when the data communicated by the communication unit 17 is data for operating the user program 21 or the device being used with preset parameters. Here, the preset parameters are parameters set by the parameter setting section 120.
 デバイスを操作するデータは、デバイスに書き込まれるデータ、又はデバイスから読み出されるデータを意味する。言い換えると、ユーザプログラム21で使用しているデバイスを操作するデータは、プログラム実行部130がユーザプログラム21を実行している際にデバイスに書き込まれるデータ、又はデバイスから読み出されるデータに相当する。また、予め設定されたパラメータで使用しているデバイスを操作するデータは、PLC10が各種の動作を行う際に使用されるパラメータによりデバイスに書き込まれるデータ、又はデバイスから読み出されるデータに相当する。 Data operating a device means data written to or read from the device. In other words, data for operating the device used by the user program 21 corresponds to data written to or read from the device when the program execution unit 130 is executing the user program 21. Further, data for operating a device being used with preset parameters corresponds to data written to the device or data read from the device using parameters used when the PLC 10 performs various operations.
 例えば、モニタコマンドに代表されるリードコマンドは、それがユーザプログラム21又はパラメータで使用されない場合には、収集条件を満たさない。そのため、回線データ収集部150は、通信データがリードコマンドに該当する場合には、その通信データを収集しない。また、他の機器に中継する通信データ、すなわち送信先と送信元とのどちらもPLC10でない通信データは、収集条件を満たさない。そのため、回線データ収集部150は、他の機器に中継する通信データを収集しない。 For example, a read command such as a monitor command does not satisfy the collection condition if it is not used in the user program 21 or parameters. Therefore, line data collection unit 150 does not collect communication data if the communication data corresponds to a read command. Furthermore, communication data that is relayed to another device, that is, communication data where neither the destination nor the source is the PLC 10, does not satisfy the collection condition. Therefore, the line data collection unit 150 does not collect communication data to be relayed to other devices.
 このように、通信部17によりPLC10と外部機器30との間で送受信されるデータが、ユーザプログラム21又はパラメータで使用しているデバイスに書き込まれるデータ又はデバイスから読み出される場合に、そのデータを回線データとして収集する。 In this way, when data transmitted and received by the communication unit 17 between the PLC 10 and the external device 30 is written to or read from a device used in the user program 21 or parameters, the data is Collect as data.
 回線データ収集部150は、通信部17により外部機器30との間で通信が行われると、通信部17にアクセスし、通信データがこのように設定された収集条件を満たしているか否かを判定する。判定の結果、回線データ収集部150は、通信データのうちの収集条件を満たしていないデータは収集せず、収集条件を満たすデータを回線データとして収集する。 When the communication unit 17 communicates with the external device 30, the line data collection unit 150 accesses the communication unit 17 and determines whether the communication data satisfies the collection conditions set in this way. do. As a result of the determination, the line data collection unit 150 does not collect communication data that does not satisfy the collection conditions, but collects data that satisfies the collection conditions as line data.
 回線データ収集部150は、収集した回線データを、その回線データが通信された時刻情報と関連付けて、主メモリ12上の記憶領域である第2バッファに保存する。なお、第2バッファは、主メモリ12上のデバイスデータが保存される第1バッファとは異なる記憶領域である。 The line data collection unit 150 stores the collected line data in a second buffer, which is a storage area on the main memory 12, in association with time information at which the line data was communicated. Note that the second buffer is a storage area different from the first buffer in which device data on the main memory 12 is stored.
 図5に、第2バッファに保存される複数の回線データの例を示す。図5において、「時刻」は、各回線データが送受信された時刻を表す。「Src」は、各回線データの送信元の機器を表す。「Dst」は、各回線データの送信先の機器を表す。 FIG. 5 shows an example of multiple line data stored in the second buffer. In FIG. 5, "time" represents the time when each line data was transmitted and received. "Src" represents the device that is the transmission source of each line data. “Dst” represents the device to which each line data is transmitted.
 このように、回線データ収集部150は、プログラム実行部130がユーザプログラム21に従って制御対象を制御する際に外部機器30との間で通信される回線データを、通信される時刻情報に紐付けて収集する。時刻情報に紐付けられた回線データは、「回線ログデータ」と呼ぶことができる。なお、各回線データに紐付けられる時刻情報は、時刻そのものであることに限らず、時刻を示す情報であれば、例えばスキャンカウンタの値であっても良い。 In this way, the line data collection unit 150 links the line data communicated with the external device 30 when the program execution unit 130 controls the controlled object according to the user program 21 to the time information communicated. collect. Line data linked to time information can be called "line log data." Note that the time information associated with each line data is not limited to the time itself, and may be, for example, the value of a scan counter as long as it is information indicating the time.
 このように、回線データ収集部150は、通信部17により通信されるデータのうちから、ユーザプログラム21又はパラメータで使用しているデバイスを操作する回線データを収集する。これにより、PLC10と外部機器30との間の通信に起因する異常が発生した場合において、膨大な回線データの中から、異常の要因を特定するために必要な回線データを効率的に収集することができる。また、ユーザプログラム21又はパラメータで使用しているデバイスを完全に把握する必要がないため、知識が少ないユーザであっても、使用しているデバイスを操作する回線データのみを容易に収集することができる。 In this way, the line data collection unit 150 collects line data for operating the device used by the user program 21 or parameters from among the data communicated by the communication unit 17. As a result, when an abnormality occurs due to communication between the PLC 10 and the external device 30, line data necessary to identify the cause of the abnormality can be efficiently collected from a huge amount of line data. I can do it. Furthermore, since it is not necessary to completely understand the device being used in the user program 21 or parameters, even a user with little knowledge can easily collect only the line data for operating the device being used. can.
 更に、収集条件は、上述のように、通信データがユーザプログラム21又はパラメータで使用しているデバイスを操作するデータである場合に満たされる。そのため、ユーザプログラム21又はパラメータが変更された場合であっても、回線データ収集部150は、適切な回線データを収集することができる。 Further, as described above, the collection condition is satisfied when the communication data is data for operating a device used by the user program 21 or parameters. Therefore, even if the user program 21 or parameters are changed, the line data collection unit 150 can collect appropriate line data.
 例えば、ユーザがインタフェース装置20においてユーザプログラム21を変更した場合、又は、パラメータ設定部120により何らかのパラメータが変更された場合、その変更に追従して、ユーザプログラム21又はパラメータで使用されるデバイスは変更される。そのため、収集条件の対象となるデバイスも、その変更に追従して自動的に変更される。これにより、ユーザプログラム21又はパラメータを変更するたびにユーザが収集条件を設定し直す手間をかける必要なく、回線データ収集部150は、変更後のユーザプログラム21又はパラメータに対応する回線データを収集することができる。 For example, when the user changes the user program 21 on the interface device 20, or when some parameter is changed by the parameter setting unit 120, the device used in the user program 21 or the parameter changes in accordance with the change. be done. Therefore, the devices subject to the collection conditions are automatically changed to follow the change. As a result, the line data collection unit 150 collects line data corresponding to the changed user program 21 or parameters without requiring the user to take the trouble of resetting the collection conditions every time the user program 21 or parameters are changed. be able to.
 図3に戻って、データ保存部160は、予め定められた保存条件が満たされると、第1バッファの保存された複数のデバイスデータと、第2バッファに保存された複数の回線データとを、PLC10の補助メモリ13に保存する。 Returning to FIG. 3, when a predetermined storage condition is satisfied, the data storage unit 160 saves the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer. It is saved in the auxiliary memory 13 of the PLC 10.
 ここで、保存条件は、複数のデバイスデータ及び複数の回線データを主メモリ12から補助メモリ13に移すタイミングを定める条件である。例えば、保存条件は、第1バッファに保存された複数のデバイスデータのサイズと第2バッファに保存された複数の回線データのサイズとの少なくとも一方が、予め定められた閾値を超えた場合に、満たされる。或いは、保存条件は、予め定められた定期的なタイミングが到来すると、満たされるようにしても良い。 Here, the storage condition is a condition that determines the timing for moving multiple device data and multiple line data from the main memory 12 to the auxiliary memory 13. For example, the storage condition may be such that when at least one of the size of the plurality of device data stored in the first buffer and the size of the plurality of line data stored in the second buffer exceeds a predetermined threshold, It is filled. Alternatively, the storage condition may be satisfied when a predetermined periodic timing arrives.
 より詳細には、データ保存部160は、複数のデバイスデータと複数の回線データとを、ユーザにより設定された保存先に、ユーザにより設定された保存形式で保存する。具体的に説明すると、ユーザは、PLC10又はインタフェース装置20の入力部15を操作することにより、保存先として、補助メモリ13内の所望のデータフォルダを指定することができる。また、ユーザは、PLC10又はインタフェース装置20の入力部15を操作することにより、保存形式として、所望のデータファイル形式を指定することができる。パラメータ設定部120は、このようなユーザの指定に従って、保存先及び保存形式を設定する。 More specifically, the data storage unit 160 stores a plurality of device data and a plurality of line data in a storage destination set by the user in a storage format set by the user. Specifically, by operating the input unit 15 of the PLC 10 or the interface device 20, the user can specify a desired data folder in the auxiliary memory 13 as the storage destination. Furthermore, by operating the input unit 15 of the PLC 10 or the interface device 20, the user can specify a desired data file format as the storage format. The parameter setting unit 120 sets the storage destination and storage format according to such user specifications.
 このように、保存先と保存形式とをユーザが自由に指定することができる。そのため、時刻情報が関連付けられた複数のデバイスデータと複数の回線データとを、ユーザが利用し易いように保存することができる。 In this way, the user can freely specify the storage destination and storage format. Therefore, a plurality of device data and a plurality of line data associated with time information can be stored for easy use by the user.
 データ出力部170は、データ保存部160により保存された複数のデバイスデータ及び複数の回線データを、インタフェース装置20に出力する。具体的に説明すると、データ出力部170は、予め定められた出力タイミングが到来すると、或いはインタフェース装置20からの要求に応じて、データ保存部160により保存された複数のデバイスデータ及び複数の回線データを、通信部17を介してインタフェース装置20に送信する。 The data output unit 170 outputs the plurality of device data and the plurality of line data stored by the data storage unit 160 to the interface device 20. Specifically, when a predetermined output timing arrives or in response to a request from the interface device 20, the data output unit 170 outputs the plurality of device data and the plurality of line data stored by the data storage unit 160. is transmitted to the interface device 20 via the communication unit 17.
 インタフェース装置20において、表示出力部220は、PLC10から出力された複数のデバイスデータ及び複数の回線データを取得し、取得した複数のデバイスデータ及び複数の回線データを表示する。具体的に説明すると、表示出力部220は、PLC10から複数のデバイスデータ及び複数の回線データを取得すると、図6に示す表示画面40を、出力部16におけるLCDに表示する。 In the interface device 20, the display output unit 220 acquires multiple device data and multiple line data output from the PLC 10, and displays the acquired multiple device data and multiple line data. Specifically, upon acquiring a plurality of device data and a plurality of line data from the PLC 10, the display output section 220 displays the display screen 40 shown in FIG. 6 on the LCD in the output section 16.
 より詳細には、表示出力部220は、プログラムモニタ41と、回線データリスト42と、デバイスデータリスト43と、デバイスモニタ44と、を含む表示画面40を表示する。ここで、プログラムモニタ41は、ユーザプログラム21の内容を表示する。回線データリスト42は、PLC10において収集された複数の回線データの一覧を表示する。デバイスデータリスト43は、PLC10において収集された複数のデバイスデータの一覧を表示する。デバイスモニタ44は、複数のデバイスの現在値を表示する。このように、表示出力部220は、データ保存部160により保存された複数の回線データと複数のデバイスデータとを、リスト形式で表示する。 More specifically, the display output unit 220 displays a display screen 40 that includes a program monitor 41, a line data list 42, a device data list 43, and a device monitor 44. Here, the program monitor 41 displays the contents of the user program 21. The line data list 42 displays a list of a plurality of line data collected by the PLC 10. The device data list 43 displays a list of a plurality of device data collected by the PLC 10. The device monitor 44 displays current values of multiple devices. In this way, the display output section 220 displays the plurality of line data and the plurality of device data stored by the data storage section 160 in a list format.
 このような表示画面40が表示されると、ユーザは、回線データリスト42に表示された複数の回線データ、及び、デバイスデータリスト43に表示された複数のデバイスデータのうちのいずれか1つの回線データ又はデバイスデータを選択することができる。例えば、ユーザは、インタフェース装置20の入力部15を操作して、回線データリスト42及びデバイスデータリスト43のうちから、所望の回線データ又はデバイスデータをクリックする。選択部230は、このようなユーザの操作に従って、表示出力部220により表示された複数のデバイスデータのうちのいずれかのデバイスデータ、又は、表示出力部220により表示された複数の回線データのうちのいずれかの回線データを選択する。 When such a display screen 40 is displayed, the user can select any one of the plurality of line data displayed in the line data list 42 and the plurality of device data displayed in the device data list 43. Data or device data can be selected. For example, the user operates the input unit 15 of the interface device 20 to click desired line data or device data from the line data list 42 and the device data list 43. In accordance with such user operations, the selection unit 230 selects one of the plurality of device data displayed by the display output unit 220 or one of the plurality of line data displayed by the display output unit 220. Select one of the line data.
 具体的に説明すると、表示出力部220は、選択部230によりデバイスデータが選択された場合、回線データリスト42に表示された複数の回線データのうちの、選択されたデバイスデータに関連付けられた時刻情報に最も近い時刻情報が関連付けられた回線データを強調表示する。一方で、表示出力部220は、選択部230により回線データが選択された場合、デバイスデータリスト43に表示された複数のデバイスデータのうちの、選択された回線データに関連付けられた時刻情報に最も近い時刻情報が関連付けられたデバイスデータを強調表示する。 Specifically, when device data is selected by the selection unit 230, the display output unit 220 displays the time associated with the selected device data among the plurality of line data displayed in the line data list 42. Highlight the line data associated with the closest time information. On the other hand, when line data is selected by the selection unit 230, the display output unit 220 selects the most suitable time information associated with the selected line data among the plurality of device data displayed in the device data list 43. Highlight device data with associated time information.
 具体例として、図7に、1つのデバイスデータ又は1つの回線データが選択された場合の例を示す。デバイスデータリスト43のうちの破線で囲ったデバイスデータが選択された場合、表示出力部220は、回線データリスト42に表示された複数の回線データのうちの、選択されたデバイスデータの時刻である「2021/11/10 9:00:16:100」と最も近い時刻の回線データとして、破線で囲った回線データを強調表示する。これとは逆に、回線データリスト42のうちの破線で囲った回線データが選択された場合、表示出力部220は、デバイスデータリスト43に表示された複数のデバイスデータのうちの、選択された回線データの時刻である「2021/11/10 9:00:16:100」と最も近い時刻のデバイスデータとして、破線で囲ったデバイスデータを強調表示する。 As a specific example, FIG. 7 shows an example where one device data or one line data is selected. When the device data surrounded by a broken line in the device data list 43 is selected, the display output unit 220 displays the time of the selected device data among the plurality of line data displayed in the line data list 42. The line data surrounded by a broken line is highlighted as the line data with the closest time to "2021/11/10 9:00:16:100". On the contrary, when the line data surrounded by a broken line is selected from the line data list 42, the display output unit 220 displays the selected line data from among the plurality of device data displayed in the device data list 43. The device data surrounded by a broken line is highlighted as the device data with the closest time to "2021/11/10 9:00:16:100" which is the time of the line data.
 なお、強調表示は、該当データを他のデータとは色又はサイズを変えて表示する、該当データを点滅させて表示する等、該当データを他のデータと区別することができる態様で表示することを意味する。 In addition, for highlighting, the data should be displayed in a manner that allows it to be distinguished from other data, such as displaying the data in a different color or size from other data, or displaying the data in a blinking manner. means.
 このように、回線データとデバイスデータとの一方が選択された場合に、回線データとデバイスデータとの他方のうちの、時刻が最も近いデータを強調表示することで、回線データとデバイスデータとの関連性を視覚的に把握できる。そのため、異常要因の解析作業の一助となる。また、回線データのパケット構造を理解していなくても、直観的な操作で回線データとデバイスデータとの関連性を把握できるため、知識の少なくユーザであっても、効率的に解析作業を実施できる。 In this way, when one of the line data and device data is selected, by highlighting the data with the closest time between the other line data and device data, the line data and device data can be combined. You can visually understand the relationship. Therefore, it helps in analyzing the causes of abnormality. In addition, even if you do not understand the packet structure of line data, you can understand the relationship between line data and device data with intuitive operations, so even users with little knowledge can efficiently perform analysis work. can.
 更に、ユーザは、デバイスモニタ44に表示された複数のデバイスのうちから、いずれか1つのデバイスを選択することができる。例えば、ユーザは、インタフェース装置20の入力部15を操作して、デバイスモニタ44のうちから、所望のデバイスをクリックする。選択部230は、このようなユーザの操作に従って、表示出力部220により表示された複数のデバイスのうちのいずれかのデバイスを選択する。なお、ユーザは、デバイスを選択する場合、デバイスモニタ44に表示された複数のデバイスのうちからデバイスを選択することに限らず、ユーザプログラム21で使用されているデバイスを選択しても良い。 Furthermore, the user can select any one device from among the multiple devices displayed on the device monitor 44. For example, the user operates the input unit 15 of the interface device 20 to click on a desired device from the device monitor 44. The selection unit 230 selects one of the plurality of devices displayed by the display output unit 220 in accordance with such user operations. Note that when selecting a device, the user is not limited to selecting a device from among the plurality of devices displayed on the device monitor 44, and may select a device used in the user program 21.
 表示出力部220は、選択部230によりいずれかのデバイスが選択された場合、デバイスデータリスト43に表示された複数のデバイスデータ及び回線データリスト42に表示された複数の回線データのうちの、選択されたデバイスを操作した全てのデバイスデータ及び回線データを強調表示する。 When any device is selected by the selection unit 230, the display output unit 220 selects one of the plurality of device data displayed in the device data list 43 and the plurality of line data displayed in the line data list 42. Highlights all device data and line data that operated the device.
 具体例として、図8に、デバイスモニタ44のうちの1つのデバイスが選択された場合の例を示す。デバイスモニタ44のうちの破線で囲ったデバイス「D6」が選択された場合、表示出力部220は、デバイスデータリスト43に表示された複数のデバイスデータのうちの、対象が「D6」である全てのデバイスデータを強調表示する。具体的には、表示出力部220は、図8において破線で囲った複数のデバイスデータを強調表示する。 As a specific example, FIG. 8 shows an example where one device from the device monitors 44 is selected. When the device “D6” surrounded by a broken line in the device monitor 44 is selected, the display output unit 220 displays all the device data whose target is “D6” among the plurality of device data displayed in the device data list 43. Highlight device data. Specifically, the display output unit 220 highlights a plurality of device data surrounded by broken lines in FIG. 8 .
 このとき更に、表示出力部220は、回線データリスト42に表示された複数の回線データのうちの、対象が「D6」である各デバイスデータに関連付けられた時刻情報に最も近い回線データを強調表示する。具体的には、表示出力部220は、図8において破線で囲った複数の回線データを強調表示する。 At this time, the display output unit 220 also highlights the line data that is closest to the time information associated with each device data whose target is "D6" among the plurality of line data displayed in the line data list 42. do. Specifically, the display output unit 220 highlights the plurality of line data surrounded by broken lines in FIG. 8 .
 このように、特定のデバイスが選択された場合に、そのデバイスを操作した全てのデバイスデータ及び回線データを強調表示することで、デバイスの値の変遷を回線データと関連付けて視覚的に把握できる。そのため、異常要因の解析作業の一助となる。 In this way, when a specific device is selected, by highlighting all the device data and line data that operated that device, it is possible to visually understand the change in the value of the device in association with the line data. Therefore, it helps in analyzing the causes of abnormalities.
 次に、図9に示すフローチャートを参照して、PLC10において実行されるデータ収集処理の流れについて説明する。 Next, the flow of the data collection process executed in the PLC 10 will be described with reference to the flowchart shown in FIG.
 図9に示すデータ収集処理は、PLC10により実行されるデータ収集方法の一例である。データ収集処理は、PLC10において、ユーザプログラム21の実行命令を受けると、開始する。ユーザプログラム21は、予めインタフェース装置20においてプログラム作成部210により作成されて、PLC10においてプログラム取得部110により取得される。 The data collection process shown in FIG. 9 is an example of a data collection method executed by the PLC 10. The data collection process starts when the PLC 10 receives an instruction to execute the user program 21. The user program 21 is created in advance by the program creation section 210 in the interface device 20, and is acquired by the program acquisition section 110 in the PLC 10.
 データ収集処理を開始すると、PLC10のプロセッサ11は、プログラム実行部130として機能し、ユーザプログラム21を実行する(ステップS11)。 When the data collection process is started, the processor 11 of the PLC 10 functions as the program execution unit 130 and executes the user program 21 (step S11).
 ユーザプログラム21を実行すると、プロセッサ11は、デバイスデータ収集部140として機能し、ユーザプログラム21の実行時に参照されるデバイスに格納されたデバイスデータを収集する(ステップS12)。そして、プロセッサ11は、収集したデバイスデータを、そのデバイスデータが収集された時刻情報と関連付けて第1バッファに保存する(ステップS13)。 When the user program 21 is executed, the processor 11 functions as the device data collection unit 140 and collects device data stored in the device referenced when the user program 21 is executed (step S12). Then, the processor 11 stores the collected device data in the first buffer in association with the time information at which the device data was collected (step S13).
 デバイスデータを収集すると、プロセッサ11は、通信部17を介して外部機器30と通信したか否かを判定する(ステップS14)。外部機器30と通信した場合(ステップS14;YES)、プロセッサ11は、次に、通信データが収集条件を満たすか否かを判定する(ステップS15)。 After collecting the device data, the processor 11 determines whether or not it has communicated with the external device 30 via the communication unit 17 (step S14). When communicating with the external device 30 (step S14; YES), the processor 11 next determines whether the communication data satisfies the collection conditions (step S15).
 通信データが収集条件を満たすと判定した場合(ステップS14;YES)、プロセッサ11は、回線データ収集部150として機能し、その通信データを回線データとして収集する(ステップS16)。そして、プロセッサ11は、収集した回線データを、その回線データが通信された時刻情報と関連付けて第2バッファに保存する(ステップS17)。 If it is determined that the communication data satisfies the collection conditions (step S14; YES), the processor 11 functions as the line data collection unit 150 and collects the communication data as line data (step S16). Then, the processor 11 stores the collected line data in the second buffer in association with the time information at which the line data was communicated (step S17).
 一方で、外部機器30と通信していない場合(ステップS14;NO)、又は、外部機器30と通信した場合であっても通信データが収集条件を満たさない場合(ステップS15;NO)、プロセッサ11は、ステップS16,S17の処理をスキップする。 On the other hand, if the processor 11 is not communicating with the external device 30 (step S14; NO), or if the communication data does not satisfy the collection conditions even if it is communicating with the external device 30 (step S15; NO), the processor 11 skips steps S16 and S17.
 その後、プロセッサ11は、予め定められた保存条件が成立したか否かを判定する(ステップS18)。保存条件が成立した場合(ステップS18;YES)、プロセッサ11は、データ保存部160として機能し、デバイスデータ及び回線データを補助メモリ13に保存する(ステップS19)。一方で、保存条件が成立していない場合(ステップS18;NO)、プロセッサ11は、ステップS19をスキップする。 After that, the processor 11 determines whether a predetermined storage condition is satisfied (step S18). If the storage condition is satisfied (step S18; YES), the processor 11 functions as the data storage section 160 and stores the device data and line data in the auxiliary memory 13 (step S19). On the other hand, if the storage condition is not satisfied (step S18; NO), the processor 11 skips step S19.
 その後、プロセッサ11は、処理をステップS11に戻す。そして、プロセッサ11は、ユーザプログラム21の実行を終了するまで、ステップS11~S19の処理を繰り返し、その中でデバイスデータ及び回線データを収集する。以上により、図9に示した収集処理は終了する。 After that, the processor 11 returns the process to step S11. Then, the processor 11 repeats the processes of steps S11 to S19 until the execution of the user program 21 is finished, and collects device data and line data during the process. With the above, the collection process shown in FIG. 9 ends.
 次に、図10に示すフローチャートを参照して、インタフェース装置20において実行される表示出力処理の流れについて説明する。 Next, the flow of display output processing executed in the interface device 20 will be described with reference to the flowchart shown in FIG.
 図10に示す表示出力処理は、インタフェース装置20によって実行される表示出力方法の一例である。表示出力処理は、インタフェース装置20において、デバイスデータ及び回線データの表示命令を受けた場合に、表示出力部220により実行される。 The display output process shown in FIG. 10 is an example of a display output method executed by the interface device 20. The display output process is executed by the display output unit 220 when the interface device 20 receives a command to display device data and line data.
 表示出力処理を開始すると、表示出力部220は、PLC10において収集及び保存されたデバイスデータ及び回線データを取得する(ステップS21)。 When the display output process is started, the display output unit 220 acquires the device data and line data collected and stored in the PLC 10 (step S21).
 デバイスデータ及び回線データを取得すると、表示出力部220は、取得したデバイスデータ及び回線データを表示する(ステップS22)。例えば、表示出力部220は、図6に示したように、プログラムモニタ41と回線データリスト42とデバイスデータリスト43とデバイスモニタ44とを含む表示画面40を表示する。 After acquiring the device data and line data, the display output unit 220 displays the acquired device data and line data (step S22). For example, the display output unit 220 displays a display screen 40 including a program monitor 41, a line data list 42, a device data list 43, and a device monitor 44, as shown in FIG.
 次に、表示出力部220は、表示されたデバイスデータリスト43のうちから、いずれかのデバイスデータがユーザにより選択されたか否かを判定する(ステップS23)。デバイスデータが選択された場合(ステップS23;YES)、表示出力部220は、図7に示したように、選択されたデバイスデータの時刻に最も近い時刻の回線データを強調表示する(ステップS24)。 Next, the display output unit 220 determines whether any device data has been selected by the user from the displayed device data list 43 (step S23). If device data is selected (step S23; YES), the display output unit 220 highlights the line data whose time is closest to the time of the selected device data, as shown in FIG. 7 (step S24). .
 一方で、デバイスデータが選択されていない場合(ステップS23;NO)、表示出力部220は、ステップS24をスキップする。 On the other hand, if device data is not selected (step S23; NO), the display output unit 220 skips step S24.
 次に、表示出力部220は、表示された回線データリスト42のうちのいずれかの回線データがユーザにより選択されたか否かを判定する(ステップS25)。回線データが選択された場合(ステップS25;YES)、表示出力部220は、図7に示したように、選択された回線データの時刻に最も近い時刻のデバイスデータを強調表示する(ステップS26)。 Next, the display output unit 220 determines whether any line data from the displayed line data list 42 has been selected by the user (step S25). If line data is selected (step S25; YES), the display output unit 220 highlights the device data whose time is closest to the time of the selected line data (step S26), as shown in FIG. .
 一方で、回線データが選択されていない場合(ステップS25;NO)、表示出力部220は、ステップS26をスキップする。 On the other hand, if line data is not selected (step S25; NO), the display output unit 220 skips step S26.
 次に、表示出力部220は、デバイスモニタ44において、いずれかのデバイスがユーザにより選択されたか否かを判定する(ステップS27)。デバイスが選択された場合(ステップS27;YES)、表示出力部220は、図8に示したように、選択されたデバイスに該当するデバイスデータ及び回線データを強調表示する(ステップS28)。 Next, the display output unit 220 determines whether any device has been selected by the user on the device monitor 44 (step S27). If a device is selected (step S27; YES), the display output unit 220 highlights the device data and line data corresponding to the selected device, as shown in FIG. 8 (step S28).
 一方で、デバイスが選択されていない場合(ステップS27;NO)、表示出力部220は、ステップS28をスキップする。 On the other hand, if no device is selected (step S27; NO), the display output unit 220 skips step S28.
 その後、表示出力部220は、処理をステップS23に戻す。そして、表示出力部220は、表示画面40が表示されている間、ステップS23~S28の処理を繰り返す。これにより、ユーザプログラム21が実行される際におけるデバイスデータと回線データとの関連性をユーザに認識させる。 After that, the display output unit 220 returns the process to step S23. Then, the display output unit 220 repeats the processing of steps S23 to S28 while the display screen 40 is displayed. This allows the user to recognize the relationship between device data and line data when the user program 21 is executed.
 以上説明したように、実施の形態1に係るPLC10は、プログラム実行部130により参照される記憶領域である複数のデバイスに格納された複数のデバイスデータを収集し、収集した複数のデバイスデータのそれぞれを、各デバイスデータが収集された時刻情報と関連付け、通信部17により通信されるデータのうちの、収集条件を満たす複数の回線データを収集し、収集した複数の回線データを、各回線データが通信された時刻情報と関連付ける。 As described above, the PLC 10 according to the first embodiment collects a plurality of device data stored in a plurality of devices that are storage areas referenced by the program execution unit 130, and each of the collected device data is associated with the time information at which each device data was collected, a plurality of line data that satisfy the collection conditions are collected from among the data communicated by the communication unit 17, and each line data is Correlate with the communicated time information.
 このように、通信部17により通信されるデータのうちの、収集条件を満たすデータを回線データとして収集するため、メモリ不足を起こすことなく、膨大な通信データの中から異常の要因を特定するために必要な回線データを収集することができる。そして、デバイスデータと回線データとを時刻情報に関連付けるため、外部機器30との通信に起因して意図しない動作、エラー等の異常が発生した場合に、どの外部機器との通信によって引き起こされたかを特定し易くなる。その結果として、PLC10と外部機器30との通信の収集及び解析を効率的に実施できるため、PLC10と外部機器30との通信において発生する異常の要因を特定するための作業を容易化することができる。 In this way, out of the data communicated by the communication unit 17, data that satisfies the collection conditions is collected as line data, so it is possible to identify the cause of an abnormality from a huge amount of communication data without running out of memory. It is possible to collect the necessary line data. Since device data and line data are associated with time information, if an abnormality such as an unintended operation or error occurs due to communication with an external device 30, it is possible to identify which external device the communication caused. Easier to identify. As a result, communication between the PLC 10 and the external device 30 can be efficiently collected and analyzed, making it easier to identify the cause of abnormalities occurring in the communication between the PLC 10 and the external device 30. can.
 (実施の形態2)
 次に、実施の形態2について説明する。実施の形態1と同様の構成及び機能については、適宜説明を省略する。
(Embodiment 2)
Next, a second embodiment will be described. Descriptions of configurations and functions similar to those in Embodiment 1 will be omitted as appropriate.
 上記実施の形態1では、回線データ収集部150が回線データを収集するための収集条件は、通信部17により通信されるデータが、ユーザプログラム21又は予め設定されたパラメータで使用しているデバイスを操作するデータである場合に、満たされた。これに対して、実施の形態2では、収集条件は、通信部17により通信されるデータが、ユーザプログラム21又は予め設定されたパラメータで使用している機能に関連するデータである場合に、満たされる。なお、実施の形態1及び2における収集条件を、それぞれ「第1の取集条件」及び「第2の収集条件」と呼ぶことができる。 In the first embodiment described above, the collection conditions for the line data collection unit 150 to collect line data are such that the data communicated by the communication unit 17 is transmitted by the user program 21 or the device being used with preset parameters. If the data to be manipulated is met. On the other hand, in the second embodiment, the collection condition is satisfied when the data communicated by the communication unit 17 is data related to the function used by the user program 21 or preset parameters. It will be done. Note that the collection conditions in Embodiments 1 and 2 can be referred to as "first collection conditions" and "second collection conditions," respectively.
 実施の形態2における収集条件において、ユーザプログラム21又は予め設定されたパラメータで使用している機能に関連するデータは、その機能を実現するために必要となるデータを意味する。例えば、ユーザプログラム21又はパラメータで時刻同期の機能が使用されている場合、その機能に関連するデータの例として、SNTP(Simple Network Time Protocol)が挙げられる。そのため、この場合、SNTPは収集条件を満たす。或いは、ユーザプログラム21又はパラメータでネットワークドライブの機能が使用されている場合、その機能に関連するデータの例として、SMB(Server Message Block)が挙げられる。そのため、この場合、SMBは収集条件を満たす。 In the collection conditions in the second embodiment, data related to a function used by the user program 21 or preset parameters means data required to realize the function. For example, when a time synchronization function is used in the user program 21 or a parameter, an example of data related to the function is SNTP (Simple Network Time Protocol). Therefore, in this case, SNTP satisfies the collection condition. Alternatively, when a network drive function is used in the user program 21 or a parameter, an example of data related to the function is SMB (Server Message Block). Therefore, in this case, SMB satisfies the collection condition.
 回線データ収集部150は、通信部17により外部機器30との間で通信が行われると、通信部17にアクセスし、通信データが、このように設定された収集条件を満たすか否かを判定する。判定の結果、回線データ収集部150は、通信データのうちの収集条件を満たしていないデータは収集せず、収集条件を満たすデータを回線データとして収集する。回線データ収集部150は、収集した回線データを、その回線データが通信された時刻情報と関連付けて、主メモリ12上の記憶領域である第2バッファに保存する。その他の構成及び機能は、実施の形態1と同様である。 When the communication unit 17 communicates with the external device 30, the line data collection unit 150 accesses the communication unit 17 and determines whether the communication data satisfies the collection conditions set in this way. do. As a result of the determination, the line data collection unit 150 does not collect communication data that does not satisfy the collection conditions, but collects data that satisfies the collection conditions as line data. The line data collection unit 150 stores the collected line data in a second buffer, which is a storage area on the main memory 12, in association with time information at which the line data was communicated. The other configurations and functions are the same as in the first embodiment.
 このように、実施の形態2では、回線データ収集部150は、通信部17により通信されるデータのうちから、ユーザプログラム21又はパラメータで使用している機能に関連する回線データを収集する。これにより、PLC10と外部機器30との間の通信に起因する異常が発生した場合において、膨大な回線データの中から、異常の要因を特定するために必要な回線データを効率的に収集することができる。また、各機能が使用するプロトコルを意識する必要がないため、知識が少ないユーザであっても、各機能に関連するプロトコルの回線データのみを容易に収集することができる。 In this way, in the second embodiment, the line data collection unit 150 collects line data related to the functions used in the user program 21 or parameters from among the data communicated by the communication unit 17. As a result, when an abnormality occurs due to communication between the PLC 10 and the external device 30, line data necessary to identify the cause of the abnormality can be efficiently collected from a huge amount of line data. I can do it. Further, since there is no need to be aware of the protocols used by each function, even a user with little knowledge can easily collect only the line data of the protocols related to each function.
 更に、収集条件は、上述のように、通信データがユーザプログラム21又はパラメータで使用している機能に関連するデータである場合に満たされる。そのため、ユーザプログラム21又はパラメータが変更された場合であっても、回線データ収集部150は、適切な回線データを収集することができる。 Further, as described above, the collection condition is satisfied when the communication data is data related to a function used in the user program 21 or parameters. Therefore, even if the user program 21 or parameters are changed, the line data collection unit 150 can collect appropriate line data.
 例えば、ユーザがインタフェース装置20においてユーザプログラム21を変更した場合、又は、パラメータ設定部120により何らかのパラメータが変更された場合、その変更に追従して、ユーザプログラム21又はパラメータで使用される機能は変更される。そのため、収集条件の対象となる機能も、その変更に追従して自動的に変更される。これにより、ユーザプログラム21又はパラメータを変更するたびにユーザが収集条件を設定し直す手間をかける必要なく、回線データ収集部150は、変更後のユーザプログラム21又はパラメータに対応する回線データを収集することができる。 For example, when the user changes the user program 21 on the interface device 20, or when some parameter is changed by the parameter setting unit 120, the functions used in the user program 21 or the parameters are changed in accordance with the change. be done. Therefore, the functions subject to the collection conditions are automatically changed in accordance with the change. As a result, the line data collection unit 150 collects line data corresponding to the changed user program 21 or parameters without requiring the user to take the trouble of resetting the collection conditions every time the user program 21 or parameters are changed. be able to.
 なお、実施の形態1で説明した収集条件と、実施の形態2で説明した収集条件と、のうちのどちらの収集条件を用いるかは、例えば、ユーザが手動で設定することができる。また、実施の形態1で説明した収集条件と実施の形態2で説明した収集条件とを論理和又は論理積で組み合わせて、回線データ収集部150が回線データを収集するための条件として用いても良い。 Note that the user can, for example, manually set which of the collection conditions described in Embodiment 1 and the collection conditions described in Embodiment 2 is to be used. Alternatively, the collection conditions described in Embodiment 1 and the collection conditions described in Embodiment 2 may be combined using a logical OR or AND and used as conditions for the line data collection unit 150 to collect line data. good.
 (変形例)
 以上、実施の形態を説明したが、各実施の形態を組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
(Modified example)
Although the embodiments have been described above, it is possible to combine each embodiment, or to modify or omit each embodiment as appropriate.
 上記実施の形態では、PLC10及びインタフェース装置20のプロセッサ11は、プログラムを実行することによって、図3に示した各部として機能した。しかしながら、プロセッサ11は、専用のハードウェアであってもよい。専用のハードウェアとは、例えば単一回路、複合回路、プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又は、これらの組み合わせ等である。プロセッサ11が専用のハードウェアである場合、各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現してもよい。 In the above embodiment, the PLC 10 and the processor 11 of the interface device 20 functioned as each unit shown in FIG. 3 by executing the program. However, processor 11 may also be dedicated hardware. The dedicated hardware is, for example, a single circuit, a composite circuit, a programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. When the processor 11 is dedicated hardware, the functions of each part may be realized by separate hardware, or the functions of each part may be realized by a single piece of hardware.
 また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現してもよい。このように、プロセッサ11は、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせによって、上述の各機能を実現することができる。 Additionally, some of the functions of each part may be realized by dedicated hardware, and the other part may be realized by software or firmware. In this way, the processor 11 can implement the above-mentioned functions using hardware, software, firmware, or a combination thereof.
 PLC10又はインタフェース装置20の動作を規定する動作プログラムを既存のパーソナルコンピュータ、情報端末装置等のコンピュータに適用することで、当該コンピュータを、PLC10又はインタフェース装置20として機能させることも可能である。 By applying an operation program that defines the operation of the PLC 10 or the interface device 20 to an existing computer such as a personal computer or an information terminal device, it is also possible to cause the computer to function as the PLC 10 or the interface device 20.
 また、このようなプログラムの配布方法は任意であり、例えば、CD-ROM(Compact Disk ROM)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。 In addition, the distribution method of such programs is arbitrary; for example, it can be distributed on computer-readable recording media such as CD-ROM (Compact Disk ROM), DVD (Digital Versatile Disk), MO (Magneto Optical Disk), memory card, etc. It may be stored and distributed, or it may be distributed via a communication network such as the Internet.
 本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。 The present disclosure is capable of various embodiments and modifications without departing from the broad spirit and scope of the present disclosure. Moreover, the embodiments described above are for explaining this disclosure, and do not limit the scope of this disclosure. That is, the scope of the present disclosure is indicated by the claims rather than the embodiments. Various modifications made within the scope of the claims and the meaning of the disclosure equivalent thereto are considered to be within the scope of this disclosure.
1 制御システム、10 PLC、11 プロセッサ、12 主メモリ、13 補助メモリ、14 クロック部、15 入力部、16 出力部、17 通信部、20 インタフェース装置、21 ユーザプログラム、30 外部機器、31 通信ケーブル、40 表示画面、41 プログラムモニタ、42 回線データリスト、43 デバイスデータリスト、44 デバイスモニタ、110 プログラム取得部、120 パラメータ設定部、130 プログラム実行部、140 デバイスデータ収集部、150 回線データ収集部、160 データ保存部、170 データ出力部、210 プログラム作成部、220 表示出力部、230 選択部 1 Control system, 10 PLC, 11 Processor, 12 Main memory, 13 Auxiliary memory, 14 Clock unit, 15 Input unit, 16 Output unit, 17 Communication unit, 20 Interface device, 21 User program, 30 External equipment, 31 Communication cable, 40 Display screen, 41 Program monitor, 42 Line data list, 43 Device data list, 44 Device monitor, 110 Program acquisition unit, 120 Parameter setting unit, 130 Program execution unit, 140 Device data collection unit, 150 Line data collection unit, 160 Data storage section, 170 data output section, 210 program creation section, 220 display output section, 230 selection section

Claims (9)

  1.  外部機器と通信する通信部と、
     制御対象を制御するためのユーザプログラムを実行するプログラム実行部と、
     前記プログラム実行部により参照される記憶領域である複数のデバイスに格納された複数のデバイスデータを収集し、前記複数のデバイスデータのそれぞれを、各デバイスデータが収集された時刻情報と関連付けて第1バッファに保存するデバイスデータ収集部と、
     前記通信部により通信されるデータのうちの、収集条件を満たす複数の回線データを収集し、前記複数の回線データを、各回線データが通信された時刻情報と関連付けて第2バッファに保存する回線データ収集部と、
     前記第1バッファに保存された前記複数のデバイスデータと前記第2バッファに保存された前記複数の回線データとを出力するデータ出力部と、を備える、
     プログラマブルロジックコントローラ。
    a communication section that communicates with external equipment;
    a program execution unit that executes a user program for controlling a controlled object;
    Collecting a plurality of device data stored in a plurality of devices that are storage areas referenced by the program execution unit, and associating each of the plurality of device data with time information at which each device data was collected. a device data collection unit that stores the data in a buffer;
    A line that collects a plurality of line data that satisfies a collection condition from among the data communicated by the communication unit, and stores the plurality of line data in a second buffer in association with time information at which each line data was communicated. a data collection department;
    a data output unit that outputs the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer;
    Programmable logic controller.
  2.  前記収集条件は、前記通信部により通信されるデータが、前記ユーザプログラム又は予め設定されたパラメータで使用しているデバイスを操作するデータである場合に、満たされる、
     請求項1に記載のプログラマブルロジックコントローラ。
    The collection condition is satisfied when the data communicated by the communication unit is data for operating the device being used with the user program or preset parameters;
    The programmable logic controller according to claim 1.
  3.  前記収集条件は、前記通信部により通信されるデータが、前記ユーザプログラム又は予め設定されたパラメータで使用している機能に関連するデータである場合に、満たされる、
     請求項1又は2に記載のプログラマブルロジックコントローラ。
    The collection condition is satisfied when the data communicated by the communication unit is data related to a function used in the user program or a preset parameter.
    The programmable logic controller according to claim 1 or 2.
  4.  予め定められた保存条件が満たされた場合、前記第1バッファに保存された前記複数のデバイスデータと前記第2バッファに保存された前記複数の回線データとを、ユーザにより設定された保存先に、前記ユーザにより設定された保存形式で保存するデータ保存部、を更に備える、
     請求項1から3のいずれか1項に記載のプログラマブルロジックコントローラ。
    If a predetermined storage condition is met, the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer are stored in a storage destination set by the user. , further comprising a data storage unit that stores the data in a storage format set by the user.
    A programmable logic controller according to any one of claims 1 to 3.
  5.  請求項1から4のいずれか1項に記載のプログラマブルロジックコントローラと、インタフェース装置と、を備える制御システムであって、
     前記プログラマブルロジックコントローラにおいて、
     前記データ出力部は、前記複数のデバイスデータ及び前記複数の回線データを前記インタフェース装置に出力し、
     前記インタフェース装置は、
     前記データ出力部により出力された前記複数のデバイスデータ及び前記複数の回線データを表示する表示出力部、を備える、
     制御システム。
    A control system comprising the programmable logic controller according to any one of claims 1 to 4 and an interface device,
    In the programmable logic controller,
    The data output unit outputs the plurality of device data and the plurality of line data to the interface device,
    The interface device includes:
    a display output unit that displays the plurality of device data and the plurality of line data output by the data output unit;
    control system.
  6.  ユーザの操作に従って、前記表示出力部により表示された前記複数のデバイスデータのうちのいずれかのデバイスデータ、又は、前記表示出力部により表示された前記複数の回線データのうちのいずれかの回線データを選択する選択部、を更に備え、
     前記表示出力部は、
     前記選択部により前記デバイスデータが選択された場合、前記複数の回線データのうちの、選択された前記デバイスデータに関連付けられた時刻情報に最も近い時刻情報が関連付けられた回線データを強調表示し、
     前記選択部により前記回線データが選択された場合、前記複数のデバイスデータのうちの、選択された前記回線データに関連付けられた時刻情報に最も近い時刻情報が関連付けられたデバイスデータを強調表示する、
     請求項5に記載の制御システム。
    Any device data among the plurality of device data displayed by the display output section or line data among the plurality of line data displayed by the display output section according to a user's operation. further comprising a selection section for selecting the
    The display output section is
    When the device data is selected by the selection unit, highlight line data associated with time information closest to time information associated with the selected device data among the plurality of line data;
    when the line data is selected by the selection unit, highlighting device data associated with time information closest to time information associated with the selected line data, among the plurality of device data;
    A control system according to claim 5.
  7.  前記表示出力部は、前記複数のデバイスを更に表示し、ユーザの操作により前記複数のデバイスのうちのいずれかのデバイスが選択された場合、前記複数のデバイスデータ及び前記複数の回線データのうちの、選択された該デバイスを操作した全てのデバイスデータ及び回線データを強調表示する、
     請求項5又は6に記載の制御システム。
    The display output unit further displays the plurality of devices, and when any one of the plurality of devices is selected by a user operation, the display output unit displays the plurality of device data and the plurality of line data. , highlighting all device data and line data that operated the selected device;
    The control system according to claim 5 or 6.
  8.  制御対象を制御するためのユーザプログラムを実行し、
     前記ユーザプログラムを実行する際に参照される記憶領域である複数のデバイスに格納された複数のデバイスデータを収集し、
     収集した前記複数のデバイスデータのそれぞれを、各デバイスデータが収集された時刻情報と関連付け、
     外部機器と通信されるデータのうちの、収集条件を満たす複数の回線データを収集し、
     収集した前記複数の回線データを、各回線データが通信された時刻情報と関連付ける、
     データ収集方法。
    Execute the user program to control the controlled object,
    Collecting a plurality of device data stored in a plurality of devices that are storage areas referenced when executing the user program,
    associating each of the plurality of collected device data with time information at which each device data was collected;
    Among the data communicated with external devices, collect multiple line data that meets the collection conditions,
    associating the plurality of collected line data with time information at which each line data was communicated;
    Data collection methods.
  9.  外部機器と通信する通信部を備えるコンピュータを、
     制御対象を制御するためのユーザプログラムを実行するプログラム実行部、
     前記プログラム実行部により参照される記憶領域である複数のデバイスに格納された複数のデバイスデータを収集し、前記複数のデバイスデータのそれぞれを、各デバイスデータが収集された時刻情報と関連付けて第1バッファに保存するデバイスデータ収集部、
     前記通信部により通信されるデータのうちの、収集条件を満たす複数の回線データを収集し、前記複数の回線データを、各回線データが通信された時刻情報と関連付けて第2バッファに保存する回線データ収集部、
     前記第1バッファに保存された前記複数のデバイスデータと前記第2バッファに保存された前記複数の回線データとを出力するデータ出力部、として機能させる、
     プログラム。
    A computer equipped with a communication unit that communicates with external equipment,
    a program execution unit that executes a user program for controlling a controlled object;
    Collecting a plurality of device data stored in a plurality of devices that are storage areas referenced by the program execution unit, and associating each of the plurality of device data with time information at which each device data was collected. a device data collection unit that stores it in a buffer;
    A line that collects a plurality of line data that satisfies a collection condition from among the data communicated by the communication unit, and stores the plurality of line data in a second buffer in association with time information at which each line data was communicated. data collection department,
    functioning as a data output unit that outputs the plurality of device data stored in the first buffer and the plurality of line data stored in the second buffer;
    program.
PCT/JP2022/021567 2022-05-26 2022-05-26 Programmable logic controller, control system, data collection method, and program WO2023228357A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022563986A JPWO2023228357A1 (en) 2022-05-26 2022-05-26
PCT/JP2022/021567 WO2023228357A1 (en) 2022-05-26 2022-05-26 Programmable logic controller, control system, data collection method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/021567 WO2023228357A1 (en) 2022-05-26 2022-05-26 Programmable logic controller, control system, data collection method, and program

Publications (1)

Publication Number Publication Date
WO2023228357A1 true WO2023228357A1 (en) 2023-11-30

Family

ID=88918741

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/021567 WO2023228357A1 (en) 2022-05-26 2022-05-26 Programmable logic controller, control system, data collection method, and program

Country Status (2)

Country Link
JP (1) JPWO2023228357A1 (en)
WO (1) WO2023228357A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003302260A (en) * 2002-04-09 2003-10-24 Denso Corp Data display device
JP2008033683A (en) * 2006-07-28 2008-02-14 Omron Corp Control system setting device
JP2019161388A (en) * 2018-03-12 2019-09-19 オムロン株式会社 Control device, control method, and control program
JP2019197461A (en) * 2018-05-11 2019-11-14 オムロン株式会社 Analysis support device and analysis support method
JP2020013526A (en) * 2018-10-23 2020-01-23 株式会社キーエンス Programmable logic controller and main unit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003302260A (en) * 2002-04-09 2003-10-24 Denso Corp Data display device
JP2008033683A (en) * 2006-07-28 2008-02-14 Omron Corp Control system setting device
JP2019161388A (en) * 2018-03-12 2019-09-19 オムロン株式会社 Control device, control method, and control program
JP2019197461A (en) * 2018-05-11 2019-11-14 オムロン株式会社 Analysis support device and analysis support method
JP2020013526A (en) * 2018-10-23 2020-01-23 株式会社キーエンス Programmable logic controller and main unit

Also Published As

Publication number Publication date
JPWO2023228357A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
EP3246827B1 (en) Method to automate historian configuration using controller-based meta attribute
CN110050237B (en) Data collection device, data collection method, and recording medium
US7904205B2 (en) Network opening method in manufacturing robots to a second network from a first network
EP3767410A1 (en) Control system, controller, and control method
WO2023228357A1 (en) Programmable logic controller, control system, data collection method, and program
WO2019176386A1 (en) Control system, control method, and control program
JP2022158228A (en) Monitoring device and programmable logic controller system
EP3506034B1 (en) Control system
JP7102801B2 (en) Control system, control device and display device
JP6322122B2 (en) Central monitoring and control system, server device, detection information creation method, and detection information creation program
US11215974B2 (en) Factory automation (FA) system, controller, and control method
US11226611B2 (en) Control device, control method, and control program
JP6969454B2 (en) Control device, control method, and control program
WO2015162792A1 (en) Function unit, analog input unit, and programmable controller system
JP5360382B2 (en) PLC program development support device
JP7412119B2 (en) Data utilization system
WO2024121975A1 (en) Display device, display method, and program
JP2022158229A (en) Programmable logic controller system
JP2010032228A (en) Measurement system

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022563986

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22943759

Country of ref document: EP

Kind code of ref document: A1