Programmable logic controller, terminal device, method used to provide information, and program
The programmable logic controller's data management system efficiently identifies error causes by recording and associating device values, operational events, and communication data with time information, reducing maintenance time.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2026-04-02
AI Technical Summary
Existing methods for identifying errors in programmable logic controllers (PLCs) require significant time to determine the cause, especially when incorrect data writes occur, making maintenance inefficient.
A programmable logic controller equipped with data management features that record device values, operational events, and communication data, associating them with time information for efficient analysis.
Reduces maintenance time by enabling quick identification of error causes through detailed record analysis.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present disclosure relates to a programmable logic controller, a terminal device, a method for providing information, and a program. background
[0002] Some factory automation (FA) systems operate by having a programmable logic controller (PLC) execute a user-generated program to control various machines. A consequence of advances in communication technology in recent years, such as Internet of Things (IoT) technologies and cloud systems, is that the PLC is often connected to and communicates with external devices. These external devices can cause unexpected operation of the user program while the PLC is controlling the machines.
[0003] The occurrence of such an unexpected operation of the user program can be easily identified using logging techniques (see, for example, patent reference 1). Patent reference 1 discloses a technique for facilitating error analysis by collecting recording data on PLC communications and recording data on status, including PLC errors. List of patent literature
[0004] Patent literature 1: Unexamined Japanese patent application, publication number 2019-197461 Overview of the invention Technical problem
[0005] However, the technique disclosed in patent literature 1 sometimes requires a significant amount of time to identify the cause of an error. For example, a PLC error may occur due to an incorrect write of control details data, regardless of whether the command to write the data was sent to the PLC via communication. In such a case, an operator may find it difficult to identify the incorrect write as the cause of the error, even if the operator recognizes the error based on the recorded status data and locates the command to write the data based on the recorded communication data. This situation can result in a significant time commitment for maintenance work based on the records collected in the PLC.
[0006] One of the purposes of the present disclosure, made under the above circumstances, is to reduce the time required for maintenance work based on the records collected in the PLC. Solution to the problem
[0007] To solve the above problem, a data management device according to the present disclosure is a programmable logic controller for controlling a machine and comprises: program execution means for executing a control program for controlling the machine; a memory to be shared with the machine; value recording means for collecting records of values stored in the memory during the execution of the control program; event recording means for collecting records of predetermined events occurring within the programmable logic controller and including operational events relating to the values stored in the memory; communication means for communicating with the machine and / or a device other than the machine via a network; communication recording means for collecting records of communication data sent or received by the communication means;Time information reference means for obtaining time information specifying a time; and provision means for providing the records of values, the records of predetermined events, and the records of communication data in association with the time information specifying the times of collection of the respective records. Advantageous effects of the invention
[0008] The present disclosure may reduce the time required for maintenance work based on the records collected in the PLC. Brief description of the drawings Fig. Figure 1 shows a configuration of an information service system according to embodiment 1; Fig. Figure 2 shows hardware components of an FA device according to embodiment 1; Fig. Figure 3 shows a functional configuration of a PLC and a terminal device according to embodiment 1; Fig. Figure 4 shows an exemplary list of value records according to embodiment 1; Fig. Figure 5 shows an exemplary list of event records according to embodiment 1; Fig. Figure 6 shows a structure of query data according to embodiment 1; Fig. Figure 7 is a first diagram showing a structure of response data according to embodiment 1; Fig. Figure 8 is a second diagram showing a structure of the response data according to embodiment 1; Fig. Figure 9 shows an exemplary list of communication data records according to embodiment 1; Fig. Figure 10 shows exemplary information about error codes according to embodiment 1; Fig. Figure 11 shows an exemplary screen displayed on a display according to embodiment 1; Fig. Figure 12 shows a list of communication data records displayed on the screen according to embodiment 1; Fig. Figure 13 shows an example where a user selects a recording from a list of communication data recordings according to embodiment 1; Fig. Figure 14 shows an example of how an error handling process according to embodiment 1 is displayed; Fig. Figure 15 shows a first exemplary screen for highlighting a correspondence between records on the display according to embodiment 1; Fig. Figure 16 shows a second exemplary screen for highlighting a correspondence between records on the display according to embodiment 1; Fig. Figure 17 shows a process for providing information according to embodiment 1; and Fig. Figure 18 shows a correspondence between records according to embodiment 2. Description of embodiments
[0009] The following describes an information service system according to the embodiment shown in the attached drawings. Design 1
[0010] An information service system 100 according to this embodiment corresponds to a part of a production system, a machining system, a testing system, or another processing system that is used in a factory or plant. As in the Fig. As shown in Figure 1, the information service system 100 provides a user U1 with logs collected in the programmable logic controller (PLC) 10 via a user interface (UI) of an end device 30, thus supporting the user U1's verification of detailed functions of the PLC 10. This verification work is typically maintenance work to identify the cause of a fault. The verification work can also be part of work to manage the quality of items processed by the PLC 10, part of work to manage processes to improve the efficiency of the PLC 10's control, or part of other work.
[0011] PLC 10 is connected to a control-target machine 20 via a network, such as a field network or a dedicated line, and controls the control-target machine 20. PLC 10 is an example of a programmable logic controller (PLC) for controlling a machine. PLC 10 executes various processes by controlling the control-target machine 20. For example, PLC 10 controls a production line for processing workpieces and finished products, a testing line for inspecting workpieces, or a machine processing line for processing workpieces.
[0012] PLC 10 includes a memory 11 that stores a device value 111, while the target control machine 20 includes a memory 21 that stores a device value 211. The device values stored in memories 11 and 21 are synchronized, usually by a so-called cyclic transfer. In other words, memory 11 is shared between PLC 10 and target control machine 20.
[0013] Although the Fig. While Figure 1 shows a single target control machine 20, the target control machine 20 can be replaced by two or more target control machines 20. Each of the target control machines 20 shares the memory 11 of the PLC 10 with the PLC 10. Sharing the memory 11 allows the PLC 10 to execute different control processes. For example, the device value 211, which indicates a result of a detection by the target control machine 20 acting as a sensor, is written to memory 21 and then synchronized with the device value 111 in memory 11, thus providing the detection result to the PLC 10. Based on this detection result, the PLC 10 stores the device value 111, which specifies an operating instruction for the target control machine 20 acting as a robot, in memory 11. The device value 111 is then synchronized with the device value 211 of the robot, so that the robot operates in accordance with the operating instruction.The target control machine 20 corresponds to an example of a machine to be controlled by the programmable logic controller.
[0014] This means that the device value 111 in PLC 10 is used to execute various control processes for the target machine 20. The details of these control processes can therefore be analyzed later based on a history of the device values 111, which are recorded in the form of records 51. Records 51 reveal changes in the device values 111, but do not necessarily help user U1 identify the cause of a change in the device values 111. PLC 10 thus records and captures events that can change the device values 111 and provides these events to user U1 in the form of records 52. Records 52 reveal changes in events occurring within PLC 10, but do not necessarily help user U1 identify events occurring outside of PLC 10.The PLC 10 therefore provides user U1 with a communication history in the form of records 53.
[0015] Both the PLC 10 and the terminal 30 comprise hardware components that function as a computer. Specifically, as detailed in the Fig. Figure 2 shows a FA device 40, which corresponds to both the PLC 10 and the terminal device 30, a processor 41, a main memory 42, an auxiliary memory 43, an input unit 44, an output unit 45 and a communication unit 46. The main memory 42, the auxiliary memory 43, the input unit 44, the output unit 45 and the communication unit 46 are each connected to the processor 41 via internal buses 47.
[0016] The processor 41 comprises a central processing unit (CPU) or a microprocessor unit (MPU), which serves as a processing circuit. The processor 41 executes a program P1 stored in the auxiliary memory 43 and thereby performs various functions to carry out the process described below. The program P1 in the PLC 10 corresponds to an example of a control program for controlling the target control machine 20.
[0017] The main memory 42 comprises a random access memory (RAM). The main memory 42 receives the program P1 loaded from the auxiliary memory 43. The main memory 42 serves as a working area for the processor 41.
[0018] Auxiliary memory 43 comprises non-volatile memory, such as an electrically erasable programmable read-only memory (EEPROM) or a hard disk drive (HDD). Auxiliary memory 43 stores the program P1 and various types of data used in the processes of processor 41. Upon instruction from processor 41, auxiliary memory 43 provides processor 41 with the data to be used by processor 41. Auxiliary memory 43 stores data supplied by processor 41.
[0019] The input unit 44 comprises an input device, such as a hardware switch, an input button, a keyboard, or a pointing device. The input unit 44 captures information entered by a user of the FA device 40 and notifies the processor 41 of the captured information.
[0020] The output unit 45 includes an output device, such as a light-emitting diode (LED), a liquid crystal display (LCD), or a loudspeaker. The output unit 45 presents various types of information to the user of the FA device 40 upon instruction from the processor 41.
[0021] The communication unit 46 comprises a communication interface circuit for communicating with external devices. The communication unit 46 receives signals from the external devices and outputs data specified by these signals to the processor 41. The communication unit 46 also sends signals to the external devices indicating data output by the processor 41. Although in the Fig. Figure 2 shows a single communication unit 46 as a representative example; the FA device 40 can include multiple communication units 46. For example, the PLC 10 can include one communication unit 46 for communicating with the target control machine 20 and another, separate communication unit 46 for communicating with the terminal device 30. The communication unit 46 of the PLC 10 can, for example, communicate with both the target control machine 20 and the terminal device 30 via the aforementioned network, or communicate with the target control machine 20 via the network and with the terminal device 30 via a USB cable (universal serial bus - USB).
[0022] The interaction of the hardware components described above enables the PLC 10 and the terminal 30 to perform various functions. In detail, the PLC 10, as described in the Fig. Figure 3 shows functional components, including memory 11, which stores device values; a program execution unit 12, which executes a control program P2 to control the target control machine 20; a value log collector 13, which collects device value records at regular intervals; an event log collector 14, which records events occurring within the PLC 10 and thus collects event records of predetermined events; a communication log collector 15, which collects communication records of communications carried out by a communication unit 16; the communication unit 16, which communicates with external devices; and a recording memory.log storage) 17, which accumulates and stores the records collected by the value recording collection unit 13, the event recording collection unit 14 and the communication recording collection unit 15, a time information reference unit 18, which obtains time information specifying a time, and a provisioning unit 19, which provides the records stored in the recording storage unit 17 to the terminal device 30.
[0023] Memory 11 is primarily implemented by main memory 42. Program execution unit 12 is primarily implemented by processor 41 of PLC 10. Program execution unit 12 executes the control program P2 written to PLC 10 by terminal device 30. Control program P2 corresponds to program P1 in PLC 10 and is developed, for example, in ladder diagram language or the C programming language. The execution of control program P2 by program execution unit 12 initiates reading and writing of the device values to and from memory 11, thereby controlling the target machine 20. Program execution unit 12 represents an example of a program execution device for executing a control program to control the machine.
[0024] The value recording collection unit 13 is primarily implemented by the processor 41 of the PLC 10. The value recording collection unit 13 collects target device values defined by a setting unit 31 of the terminal device 30, in accordance with collection parameters defined by the setting unit 31. The target device values can be all device values used in the control program P2, values selected by the user U1 from the device values used in the control program P2, or values arbitrarily defined independently of the values used in the control program P2.
[0025] The data collection parameters include a cycle and a period for collecting device values. The cycle might be, for example, 100 microseconds, 100 milliseconds, 1 second, or 1 minute. The period might begin, for example, when PLC 10 is activated, when the power supply is reset, when an instruction to start data collection is received from terminal device 30, when a designated initiation trigger occurs, or when designated initiation conditions are met.The period ends, for example, at a specific termination operation on PLC 10, a specific instruction to stop collecting from terminal 30, a specific time defined as one of the collection parameters elapses, a specific termination trigger occurs, or specific termination conditions are met.
[0026] With each reading of the device values, the value recording collection unit 13 obtains time information from the time information reference unit 18. Examples of the time information include a timestamp, which directly indicates the time, and a counter value, such as the value of a scan counter, which increases or decreases over time. The scan counter measures the number of repetitions of a scan process executed by the program execution unit 12, which corresponds to one execution of a single control process defined in the control program P2. The scan counter is implemented by the processor 41.
[0027] The value recording collection unit 13 writes the device values read from the memory 11 to the recording memory 17 in the form of a device value recording, in association with the time information corresponding to the time of reading. Fig. Figure 4 shows exemplary records that were accumulated in the recording memory 17 by the value recording collection unit 13. As shown in the Fig. As shown in Figure 4, the accumulated records form a record list that specifies sequence data which correlates the addresses of the device values in memory 11, the device values, and the times of collecting the device values. This record list shows a transition of the collected device values. The value recording collection unit 13 corresponds to an example of a value recording collection device for collecting records of values stored in memory during the execution of the control program.
[0028] The event recording unit 14 is primarily implemented by the processor 41 of the PLC 10. The events detected and collected by the event recording unit 14 are identified by predetermined event codes and include operational events relating to the device values. Examples of operational events relating to the device values include reading and writing the device values caused by the execution of the control program P2, and reading and writing the device values to and from memory 11 by an external device outside the PLC 10, independent of the execution of the control program P2. The external device can be the target control machine 20 or the terminal device 30, or it can be another machine.
[0029] The events recorded and collected by the event logging unit 14 can include, in addition to operational events relating to device values, operational events relating to files stored in a memory separate from the memory 11 of the PLC 10. This memory can be implemented as the auxiliary memory 43 of the PLC 10 or as a non-volatile, removable storage medium, such as a memory card. The events recorded and collected by the event logging unit 14 can also include other events that do not relate to device values and files. For example, the events can include the activation or deactivation of the PLC 10 and the initialization of memory 11. These events are preferably events that can influence the control processes of the PLC 10 or events that result from the control processes of the PLC 10.
[0030] With each event recording, the event recording collection unit 14 obtains time information from the time information reference unit 18 and writes information specifying the recorded events, in association with the time information, in the form of an event recording in the recording memory 17. Fig. Figure 5 shows exemplary recordings accumulated by the event recording collection unit 14 in the recording memory 17. As shown in the Fig. As shown in Figure 5, the accumulated records form a record list that specifies sequence data, the date and time of the events' occurrence, the event statuses (which are predetermined depending on the importance rating of the events), the event codes, the event details, and the event origin units. In the case of a PLC 10 consisting of function blocks with a combination of units, the origin units each denote a unit in which the event occurs within the PLC 10. The event recording collection unit 14 corresponds to an example of an event recording collection device for collecting records of predetermined events that occur within the programmable logic controller, where the predetermined events include operational events with respect to the values stored in the memory.
[0031] The communication recording unit 15 is primarily implemented by the processor 41 of the PLC 10. The communication recording unit 15 collects communication data sent to or received from an external device by the communication unit 16. The external device communicating with the communication unit 16 can be the target control machine 20, the terminal device 30, or another device. The communication unit 16 can be configured as in the example of... Fig. 1. The communication unit 16 can communicate with the external device via a network, such as a field network or the internet, or via a dedicated line. The communication unit 16 can also perform socket communication with the target control machine 20. Alternatively, the communication recording and collection unit 15 can collect communication data transmitted through multiple communication channels.
[0032] Once the communication recording unit 15 has collected all communication data, it would have to handle an excessively large volume of data. Therefore, the communication recording unit 15 limits its collection targets and collects only the communication data defined by the setting unit 31 of the terminal device 30. For example, the communication recording unit 15 collects communication data containing an operating command that relates to the device values used in the control program P2.
[0033] The operating command concerning the device values is an instruction to perform a read and write operation of the device values. Fig. Figure 6 is a schematic diagram showing a structure of request data for requesting the PLC 10 to execute a command as an example of communication data containing an operating command that concerns the device values.
[0034] As in the Fig. As shown in Figure 6, the request data contains a command number, a subcommand, and data content. The command number is assigned to each command in advance. The correspondence between the commands and the command numbers is agreed upon in advance between the communication partners. The command can be an operating command regarding device values or another type of command. The subcommand is an auxiliary parameter added to the command and can be omitted. Subcommands can be replaced with subcommand numbers, which, similar to the command numbers, are assigned to the subcommands in advance.
[0035] The data content includes information that defines the goal of the instruction. In the case where the instruction is an operational instruction, the data content includes information that specifies an operational goal. For example, the request data to read the device value at address "A10" includes an instruction number "1000", corresponding to reading the device value, and data content "A10" for addressing.
[0036] The program execution unit 12 notifies the communication recording collection unit 15 of information regarding the device values referenced during the execution of the control program P2. This device value information includes the device value addresses. In one example case, where a device value at address "A10" is used in the control program P2 based on the address "A10" specified in the source code of the control program P2, the collection targets of the communication recording collection unit 15 include request data containing the address "A10". However, in another example case, where the device value at address "A10" is not used in the control program P2, the collection target of the communication recording collection unit 15 does not include the request data containing the address "A10".
[0037] After any change to the device values used in the control program P2, the communication recording collection unit 15 collects communication data containing an operating command relating to the changed device values and excludes from its collection destinations the communication data containing an operating command relating to the device values before the change. For example, if the device values used in the control program P2 are changed from "A10" to "A20", the communication recording collection unit 15 is notified of this change by the program execution unit 12, stops collecting the recordings of communication data containing an operating command relating to the device values at address "A10", and begins collecting the recordings of communication data containing an operating command relating to the device value at address "A20".
[0038] In addition to the ones in the Fig. In addition to the request data shown in section 6, the communication recording collection unit 15 can also collect response data as a reply to the request data. Fig. 7 and Fig. Figure 8 is a schematic diagram showing the structure of the response data. The response data exhibits the following characteristics: Fig. In the error-free case shown in Figure 7, no data content is displayed. In the case where the response data is a response to the request data for reading the device values from PLC 10, the data content specifies the requested device values.
[0039] The response data indicate in the Fig. In the example shown, an arbitrary error is represented by an error code, a command number, a subcommand, and data content. The error code is provided to identify details of the error. The command number and subcommand are identical to those contained in the query data. The data content includes information about a target of the command.
[0040] Although the collection targets of the communication recording collection unit 15 in the example above include communication data relating to the device values used in the control program P2, the communication recording collection unit 15 can also collect communication data containing an operating instruction relating to the device values used as parameters of the control program P2. The device values used as parameters of the control program P2 are not written directly into the source code of the control program P2, but they do influence the details of the processing by the processor 41 for executing the control program P2 and are referenced indirectly in accordance with the source code description.
[0041] Although the control objectives of the communication recording unit 15 in the examples above include communication data relating to device values, the communication recording unit 15 can also collect communication data relating to files instead of device values. Specifically, the communication recording unit 15 can collect communication data that includes an operating command, files used in the control program P2, and files used as parameters of the control program P2. These files are stored in a memory separate from the main memory 11. This memory can be implemented as the auxiliary memory 43 of the PLC 10 or can be a non-volatile, removable storage medium, such as a memory card.The communication recording collection unit 15 can be notified by the program execution unit 12 about information regarding files referenced during the execution of the control program P2.
[0042] The communication recording collection unit 15 corresponds to an example of a communication recording collection device for collecting records of communication data which include an operating command which relates to the values or files used in the control program or as parameters of the control program which are stored in a memory separate from the main memory.
[0043] Although the collection targets of the communication recording collection unit 15 in the example above are limited by specifying certain data, such as values and files, the collection targets can be limited by other processes. For example, the communication recording collection unit 15 can be notified by the program execution unit 12 via a protocol relating to the control program P2 and collect communication data sent in accordance with that protocol. Examples of protocols relating to the control program P2 include a protocol used within the control program P2 and a protocol of communications concerning the parameters of the control program P2.
[0044] The protocols used in the control program P2 set the standard for communication that occurs during the execution of the control program P2. Examples of these protocols include FTP (File Transfer Protocol) and SNTP (Simple Network Time Protocol) for communication processing, provided the source code of the control program P2 defines communication processing in accordance with this protocol. The protocol for communication regarding the parameters of the control program P2 sets the standard for communication that occurs during the execution of the control program P2, even if the source code of the control program P2 does not directly define a command to execute communication processing.In particular, this communication protocol is used in communications through which the program execution unit receives 12 parameters that are needed to determine details of the processing during the execution of the control program P2.
[0045] Following any change to the protocol of the control program P2, the communication recording collection unit 15 collects communication data sent in accordance with the changed protocol and excludes communication data sent in accordance with the protocol before the change from the collection targets. The communication recording collection unit 15 corresponds to an example of a communication recording collection device for collecting records of communication data sent in accordance with a protocol used in the control program or a protocol of communications relating to parameters of the control program.
[0046] The collection of communication data can involve any combination of processes for limiting the collection targets by specifying particular data and processes for limiting the collection targets based on a specific protocol. For example, the collection targets can include both the communication data containing an operating command that relates to the device values used in the control program P2 and the communication data sent in accordance with the communication protocol that relates to the parameters of the control program P2.
[0047] With each acquisition of communication data, the communication recording collection unit 15 obtains time information from the time information reference unit 18 and writes the communication data and the time information in the form of communication data records, corresponding to each other, into the recording memory 17. Fig. Figure 9 shows exemplary recordings accumulated by the communication recording collection unit 15 in the recording memory 17. As in the Fig. As shown in Figure 9, the accumulated records contain a record list that corresponds to sequence data, which assign to each other TIME, which indicates the time of sending or receiving the communication data, SOURCE, which indicates the source of the communication data, DESTINATION, which indicates the destination of the communication data, PROTOCOL, which indicates the protocol according to which the communication data is sent, INFO, which indicates the content of the communication data, and LENGTH, which indicates the length of the communication data.
[0048] If the communication data contains an operating command that affects the device values, the event recording unit 14 captures an operating event related to the device values in accordance with the operating command. This means that both the communication recording unit 15 and the event recording unit 14 collect records for an operating command from an external device. These records differ in that those collected by the communication recording unit 15 are in a communication data format, whereas those collected by the event recording unit 14 are in a format provided with an event code. The event recordings inside and outside the PLC 10, which are recorded in different formats, allow the user U1 to analyze these events in detail.
[0049] The time information is listed under the in the Fig. 4 device value records shown, which are in the Fig. 5 event recordings shown and those in the Fig. The communication data records shown are expressed in various formats. The time information can be in different formats if it is converted into any common format.
[0050] Returning to Fig. It should be noted that the communication unit 16 is primarily implemented by the communication unit 46 of the PLC 10. Communication parameters defined by the setting unit 31 of the terminal device 30 are provided to the communication unit 16, and the communication unit 16 communicates with the external device in accordance with these defined communication parameters. The communication parameters include, for example, the IP address (IP: Internet Protocol) of the PLC 10 itself and the addresses of the external devices. The communication unit 16 represents an example of a communication means for communicating with the machine and / or a device other than the machine via a network.
[0051] The recording memory 17 is primarily implemented by the auxiliary memory 43 of the PLC 10. The time information reference unit 18 is primarily implemented by the processor 41 of the PLC 10. The time information reference unit 18 can obtain a time measured within the PLC 10 or obtain information about a time from an external device, such as a time server. The time information reference unit 18 corresponds to an example of a time information reference device for obtaining time information that specifies a time. The provisioning unit 19 is primarily implemented by the processor 41 of the PLC 10. The provisioning unit 19 reads the records from the terminal device 30 in response to a request from the terminal device 30 and provides the read records to the terminal device 30.Provisioning unit 19 corresponds to an example of provisioning means for providing the records of device values, the records of predetermined events and the records of communication data in association with the time information that specifies the times of collection of the respective records.
[0052] Examples of terminal equipment 30 include commercial personal computers (PCs) and tablets. As in the Fig. As shown in Figure 3, the terminal unit 30 comprises the setting unit 31, which defines several parameters relating to the acquisition of records in the PLC 10; a receiver 32, which receives various records from the PLC 10; a memory 33, which stores a large number of received records; a display 34, which shows lists of the records; an receiving unit 35, which accepts a name for any of the records from the user U1; and a recovery unit 36, which recovers other types of records associated with the named records. The setting unit 31, the receiver 32, the memory 33, the display 34, the receiving unit 35, and the recovery unit 36 each correspond to a part of the functions of an engineering tool, which is a software application that allows the user U1 to create and edit the control program P2 and to write the control program P2 to the PLC 10.
[0053] The setting unit 31 is primarily implemented by the processor 41 of the terminal device 30. In accordance with instructions from the user U1, the setting unit 31 defines parameters in the PLC 10 relating to the collection of device value records by the value recording unit 13, parameters relating to the collection of event records by the event recording unit 14, parameters relating to the limitation of the collection targets by the communication recording unit 15, and communication parameters of the communication unit 16.
[0054] The receiver 32 is primarily implemented by the communication unit 46 of the terminal device 30. The receiver 32 corresponds to an example of a receiving means for receiving the recordings of the device values, the recordings of the predetermined events, and the recordings of the communication data provided by the PLC 10, in association with time information indicating the times of collection of the respective recordings by the PLC 10.
[0055] Memory 33 is primarily implemented through the auxiliary memory 43 of the terminal device 30. Memory 33 stores various records received by the receiver 32. Memory 33 also stores error codes that may be contained in the communication data, details of the error codes, and processes for handling the errors indicated by the error codes in relation to each other, as described in the Fig. Figure 10 shows that memory 33 is an example of a storage device for the related storage of error codes and details of the errors indicated by the error codes.
[0056] The display 34 is primarily realized through the cooperation of the processor 41 and the output unit 45 of the terminal device 30. The display 34 shows lists of the records stored in the memory 33 in accordance with user input U1. Fig. Figure 11 shows an example screen displayed on display 34. This screen shows the information in the Fig. 5 shown list of event records and those in the Fig. The list of communication data records shown is number 9. The screen also displays, along with the diagram of control program P2, the device values used in control program P2 and recorded at a specific time. Fig. Figure 11 shows an example that includes the device value -32 at address "D0" and the device value 24 at address "D1". Alternatively, display 34 can show the first of the collected device values as an initial value on the screen.
[0057] Display 34 can also be used to display the list of communication data records instead of the one in the Fig. The table shown in 9 is one of the Fig. 12. This table is a list of sequence data, which maps to each other: NO., which indicates the number of the sequence data entry; TIME, which indicates the time of collection of the communication data provided with that number; SOURCE and DESTINATION, which indicates the source and destination of the communication data; OPERATING COMMAND TYPE, which indicates the type of operating command contained in the communication data; OPERATING DESTINATION, which indicates the destination of the operating command; ERROR CODE, which indicates the error code contained in the communication data; and ERROR SUMMARY, which indicates the details of the error.
[0058] The one in Fig. Table 12 is shown by modifying the one in the Fig. The original recordings of the communication data shown in section 9 are generated. In detail, the following are derived from the data shown in the Fig. The type and target of the operating command can be determined from the 12 elements shown by analyzing INFO in the... Fig. The error code and details of the error are obtained from the list shown in section 9. Fig. Information about the errors is obtained as shown in Figure 10. Display 34 corresponds to an example of display means for showing the records of device values, the records of predetermined events, and the records of communication data, wherein the display means are configured to show details of an error specified by any of the error codes in a case where the records of communication data include any of the error codes.
[0059] Returning to Fig. It should be noted that the receiving unit 35 is primarily implemented by the input unit 44 of the terminal device 30. The receiving unit 36 is primarily implemented by the processor 41 of the terminal device 30. The receiving unit 35 accepts a selection from any of the records in the list of communication data records by the user U1, as is the case, for example, in the Fig. 13 is shown. In the Fig. The selected recording (13) is highlighted with a frame. The selected recording contains the error code "0100". This error code is included in the response data when opening the file fails due to the missing target file in PLC 10.
[0060] The recovery unit 36 then recovers a process for handling the fault associated with the selected record from memory 33. The display 34 then shows the recovered handling process in a pop-up window, as shown in the Fig. 14 shown. Fig. Figure 14 shows the error handling process associated with error code "0100", as described in the Fig. 10 shown.
[0061] When any of the records from the list of communication data records is selected, as indicated by the cursor in the Fig. As specified in 15, the recovery unit 36 retrieves an event record and a device value record from memory 33, which are associated with this communication data record, based on the time information. Specifically, the recovery unit 36 identifies the time specified by the time information provided for the selected communication data record and retrieves an event record and a device value record, which are provided with time information indicating the time identical to the identified time or the time with the smallest difference from the identified time. The display 34 then highlights the event record retrieved by the recovery unit 36, as shown in the Fig. Figure 15 shows the selected communication data recording and the event recording that was collected simultaneously with the selected recording, both of which are highlighted, thus emphasizing their correspondence.
[0062] Display 34 replaces the device value recording present on the screen with the device value recording obtained from the extraction unit 36. Fig. Figure 15 shows an example of the device value -30 at address "D0". The selected communication data record and the device value record, which was acquired simultaneously with the selected record, are both displayed on the screen, thus emphasizing their correspondence. Display 34 corresponds to an example of display means for identifying a device value record associated with the selected record, based on the time information, and for the corresponding display of the selected first record, the second record acquired from the acquisition means, and the identified device value record.
[0063] Acceptance unit 35 accepts a selection of any recordings from the list of event recordings by user U1, as indicated by the cursor in the Fig. 16 is specified. The acquisition unit 36 then acquires a communication data recording and a device value recording from memory 33, which are assigned to the selected event recording based on the time information. The acquired communication data recording is highlighted, and the acquired device value recording appears with the device value name in the diagram of the control program P2.
[0064] That is, the receiving unit 35 accepts a selection of a recording from either the communication data recordings or the event recordings, and the recovery unit 36 recovers a recording from the other recordings as well as a device value recording associated with the selected recording. The receiving unit 35 corresponds to an example of receiving means for accepting a selection of any first recording from a first recording list that includes first recordings, wherein the first recordings are the predetermined event recordings or the communication data recordings.Extraction unit 36 corresponds to an example of extraction means for extracting one of the selected first records from a second record list, which includes second records based on the time information, where the second records are the records of predetermined events or the communication data records and are different from the first records. Display 34 corresponds to an example of display means for displaying the selected first record and the second record extracted from the extraction means in a related manner.
[0065] The following describes a process for providing information to user U1 with reference to Fig. 17, wherein the process is executed by the PLC 10 and the terminal 30 with the functions described above. As in the Fig. As shown in Figure 17, the terminal device 30 writes the control program P2 generated by user U1 to the PLC 10 (step S1) and defines some parameters relating to the collection of records in the PLC 10 (step S2). The PLC 10 then controls the target machine 20 by executing the control program P2 (step S3) and collects the device value records, the event records, and the communication data records in relation to the time information during the execution of the control program P2 (step S4).
[0066] PLC 10 then provides the collected records to terminal 30 in response to a request from terminal 30 (step S5). Terminal 30 then displays lists of the received records to user U1, as shown in the Fig. 11 shown (step S6). If the user U1 selects any of the records, as shown in the Fig. 13, Fig. 15 or Fig. As shown in section 16, the terminal 30 modifies the screen content, as shown in the Fig. 14, Fig. 15 or Fig. Figure 16 shows the correspondence between the three types of records (step S7). User U1 can therefore easily recognize the correspondence between the three types of records and efficiently analyze the process to identify the cause of the error. The process of providing information, which is described in the Fig. Figure 17 is an example of a procedure used to provide information.
[0067] As described above, the PLC 10 provides three types of records associated with time information. This technique can reduce the time required for maintenance operations based on the records collected in the PLC 10.
[0068] The communication recording collection unit 15 also collects communication data containing an operating command that affects device values or files related to the control program P2. After any change to the device values or files related to the control program P2, the communication recording collection unit 15 switches its collection targets to communication data containing an operating command that affects the changed device values or files. This configuration can limit the collection targets to necessary communication data without requiring the user U1 to monitor changes to the collection parameters.
[0069] Alternatively, the communication recording collection unit 15 can collect communication data sent in accordance with a protocol related to the control program P2. Following any change to the protocol related to the control program P2, the communication recording collection unit 15 switches its collection targets to communication data sent in accordance with the changed protocol. This configuration can limit the collection targets to the necessary communication data without requiring the user U1 to monitor changes to the collection parameters.
[0070] Display 34 shows details of an error based on the error code contained in the communication data, along with a process for handling the error. This configuration allows user U1 to easily identify potential issues related to the communication error that are not apparent by observing the device value records and event logs. The configuration also allows user U1 to resolve the error according to the handling process without having to analyze the error itself. Design 2
[0071] The following describes embodiment 2 and focuses on the differences from embodiment 1 described above. Components that are identical to or correspond to those of embodiment 1 are identified by the same reference numerals. In embodiment 1, the acquisition unit 36 acquires a recording that is associated with a time that is identical to, or differs from, the selected recording. However, the selected recording and the recording to be acquired may contain time information that differs from each other, for example, due to a processing time of the PLC 10's processor 41 or a communication delay.The following describes an example where the recovery unit 36 recovers a record that is associated with time information indicating a time different from that of the selected record.
[0072] Fig. Figure 18 shows the list of communication data records and the list of event records such that each pair of records associated with the same time information is connected by a dashed line. In the embodiment 1 described above, when a communication record 2 is selected from communication records 1 to 8, the acquisition unit 36 obtains an event record 2 that is associated with the same time information as event records 1 to 8, as shown in the Fig. 18 is evident.
[0073] In contrast, in this embodiment, the extraction unit 36 obtains a recording based on the details of the communication recordings and the event recordings. For example, if, as in the Fig. As shown in Figure 18, the communication recording 2 contains communication data which includes an operating command relating to the device value A10. The recovery unit 36 obtains the event recording 6 of an operating event for this device value A10.
[0074] This means that the acquisition unit 36 acquires a recording characterized by both the same operating mode in memory 11 and the same address of the device value or file being processed. Examples of the operating mode include operations of reading and writing the device value and operations of reading and writing the file. The acquisition unit 36 thus finds the correspondence between the communication recording, which contains a read operation for the device value A10, and the event recording, which contains a read operation for the device value A10. However, the acquisition unit 36 does not find a correspondence between the communication recording, which contains a read operation for the device value A10, and the event recording, which contains a write operation for the device value A10.Furthermore, the extraction unit 36 does not find a correspondence between the communication recording, which contains a read operation for the device value A10, and the event recording, which contains a read operation for the device value A20.
[0075] In general, any potential difference between the time of a communication data recording and the time of an event recording associated with that communication data recording is expected to be relatively short. The acquisition unit 36 therefore identifies any of the recordings associated with the time information indicating the time that differs from the time of the recording selected by user U1 by a predetermined threshold or less, based on the details of the recordings.
[0076] The extraction unit 36 corresponds to an example of extraction means for obtaining a second record associated with the time information specifying a time whose difference from the time specified by the time information associated with the selected first record is less than a difference threshold, wherein the second record has details related to the details of the first record.
[0077] As described above, the recovery unit 36 searches for a recording with related details, allowing a certain degree of time difference. Recovery unit 36 then retrieves a suitable recording to display, corresponding to the recording selected by user U1. This configuration improves the efficiency of user U1's maintenance operation.
[0078] The embodiments described above are not to be interpreted as limiting the scope of the present disclosure.
[0079] Although, for example, in the embodiments described above, the extraction unit 36 acquires any recording corresponding to the recording selected by the user U1, this configuration is merely an example. The extraction unit 36 can acquire multiple recordings.
[0080] Although in the above embodiments the accumulated recordings are stored both in the recording memory 17 of the PLC 10 and in the memory 33 of the terminal device 30, the recordings can be stored exclusively in one of the memories. In a modification without a recording memory 17 of the PLC 10, the recordings generated in the PLC 10 are sent sequentially from the provisioning unit 19 to the terminal device 30 and accumulated in the memory 33. In another modification without a memory 33 of the terminal device 30, the recordings are provided to the terminal device 30 by the provisioning unit 19 by retrieving a recording from the recording memory 17 of the PLC 10 as needed.
[0081] The functions of the PLC 10 and the terminal 30 according to the embodiments described above can be performed by dedicated hardware or an ordinary computer system.
[0082] For example, the P1 program can be stored on non-volatile, computer-readable storage media, such as floppy disks, CD-ROMs (Compact Disk Read-Only Memories), DVDs (Digital Versatile Disks), and MO disks (Magneto-Optical Disks), and distributed. The P1 program can then be installed on a computer to configure the device to perform the processes described above.
[0083] Alternatively, the program P1 can be stored on a drive contained in a server device in a communication network, such as the Internet, and can be downloaded to a computer, for example, by superimposing it on a carrier wave.
[0084] Alternatively, the program P1 can be activated while being transmitted over a network, such as the Internet, to perform the processes described above.
[0085] A server device can execute all or part of the program P1, and a computer can execute the program P1, while information about executed processes is sent to and received from the server device via a communication network to perform the processes described above.
[0086] In the case where the functions described above are shared with an operating system (OS) or achieved through cooperation between the OS and applications, only the components different from the OS can be stored and distributed on a non-volatile medium or downloaded to a computer.
[0087] The functions of PLC 10 and terminal 30 can also be performed by means other than software. Parts or all of the functions can be performed by dedicated hardware or circuits.
[0088] The foregoing describes some exemplary embodiments for illustrative purposes. Although the preceding discussion has presented specific embodiments, the person skilled in the art will recognize that changes in form and detail can be made without departing from the broader concept and scope of the invention. Accordingly, the description and drawings are to be understood in an illustrative rather than a limiting sense. This detailed description is therefore not to be understood in a limiting sense, and the scope of the invention is defined only by the included claims, together with the entire range of equivalents covered by those claims. Commercial applicability
[0089] The present disclosure is suitable for maintenance work on FA systems. Reference symbol list 10 PLCs 11, 21 storage 12 Program execution unit 13 Value Recording Collection Unit 14 Event recording collection unit 15 Communication recording collection unit 16 Communication unit 17 recording storage 18 Time information reference unit 19 Deployment Unit 20 Control target machine 30 terminals 31 Setting unit 32 recipients 33 storage 34 ads 35 Acceptance unit 36 extraction units 40 FA device 41 processor 42 GB main memory 43 Auxiliary storage 44 Input unit 45 output units 46 Communication unit 47 internal bus 51 to 53 Recording 100 Information Service System 111, 211 Device value P1 Program P2 control program U1 User QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2019 - 197 461
[0004]
Claims
[1] Programmable logic controller for controlling a machine, wherein the programmable logic controller comprises: Program execution means for executing a control program to control the machine; a memory to be shared with the machine; Value recording collection device for collecting records of values stored in the memory during the execution of the control program; Event recording collection means for collecting records of predetermined events occurring within the programmable logic controller, wherein the predetermined events include operational events relating to the values stored in the memory; Communication means for communicating with the machine and / or a device different from the machine via a network; Communication recording collection device for collecting records of communication data sent or received by the communication devices; Time information reference means for obtaining time information that specifies a time; and Provisioning means for providing the records of values, the records of predetermined events and the records of communication data in association with the time information, specifying the times of collection of the respective records. [2] Programmable logic controller according to claim 1, wherein the communication recording collecting means collect the recordings of the communication data which comprise an operating command relating to the values or files used in the control program or as parameters of the control program which are stored in a memory separate from the memory. [3] Programmable logic controller according to claim 1 or 2, wherein the communication recording means collects the records of communication data that are sent in accordance with a protocol used in the control program or a protocol of communications relating to parameters of the control program. [4] Terminal device for receiving both the recordings of values, the recordings of predetermined events, and the recordings of communication data in association with the time information from the programmable logic controller according to one of claims 1 to 3, wherein the terminal device comprises: Storage means for the related storage of error codes and details about errors indicated by the error codes; and Display means for displaying the records of values, the records of predetermined events and the records of communication data, wherein the display means are configured to display details of an error specified by the error code in a case where the records of communication data include any of the error codes. [5] Terminal according to claim 4, further comprising: Acceptance means for accepting a selection of any first record from a first record list comprising first records, wherein the first records are the records of predetermined events or the records of communication data; and Means of obtaining a recording from a second record list, which includes second records, based on the time information, and wherein the second records are the records of predetermined events or the records of communication data and are different from the first records. wherein the display means show the selected first record and the second record obtained from the extraction means assigned to each other. [6] Terminal according to claim 5, wherein the acquisition means acquire a second recording which is associated with the time information which specifies a time whose difference to the time specified by the time information associated with the selected first recording is less than a difference threshold, wherein the second recording has details which are related to the details of the first recording. [7] Terminal device according to claim 5 or 6, wherein the display means based on the time information, identify one of the records of values that is associated with the selected first record, and The selected first record, the second record obtained from the extraction resources, and the identified records of the values are displayed together. [8] A method executed by a programmable logic controller to control a machine and to provide information, comprising: Execution, by means of program execution, of a control program to control the machine; Collecting, by means of value recording collecting means, of recordings of values during the execution of the control program, wherein the values are stored in a memory to be used jointly by the programmable logic controller and the machine; Collecting, by means of an event recording collection device, records of predetermined events occurring within the programmable logic controller, wherein the predetermined events include operational events relating to the values stored in the memory; Communicate, through means of communication over a network, with the machine and / or a device different from the machine; Collection, by means of communication recording collection devices, of records of communication data sent or received by the communication devices; To obtain, through time information reference means, time information that specifies a time; and Provide, by means of provision, the records of values, the records of predetermined events and the records of communication data in association with the time information, specifying the times of collection of the respective records. [9] Program for a computer connected to a programmable logic controller, wherein the program causes the computer to function as: Receiving means for receiving records from the programmable logic controller in association with time information indicating the times of collection of the respective records by the programmable logic controller, wherein the records include records of values stored in a memory to be used jointly by the programmable logic controller and a machine to be controlled, records of events occurring within the programmable logic controller, and records of communication data sent or received by the programmable logic controller over a network; Storage means for the related storage of error codes and details about errors indicated by the error codes; and Display means for displaying the records of values, the records of events and the records of communication data, wherein the display means are configured to display details of an error specified by the error code in a case where the records of communication data include any of the error codes.
Citation Information
Patent Citations
Analysis support device and analysis support method
JP2019197461A
2019-197461