Programmable controller, programmable controller system, data saving method, and recording medium
Patent Information
- Application Number
- CN202180088801.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-13
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2041-05-13
AI Technical Summary
[0009]根据本发明,储存单元在第1触发条件成立时,将由数据收集单元收集到的数据储存于存储单元。由此,能够避免因最终保存数据的存储单元之外的临时记录部的容量而产生限制。另外,附加单元在第2触发条件成立的情况下,将附加信息附加至第1数据和第2数据的至少一者,删除单元基于附加信息而将第1数据保存至存储单元,并且将第2数据从存储单元删除。因此,通过将所需的数据保存至存储单元、并在存储单元确保用于储存新数据的区域,从而能够留下与控制相关的数据的许多履历。因而,能够更容易地进行故障的原因查明。
Smart Images

Figure CN117203588B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to programmable controllers, programmable controller systems, data storage methods, and programs. Background Technology
[0002] In a Factory Automation (FA) environment, various instruments are controlled by control devices to create production lines, such as manufacturing lines, processing lines, and inspection lines. When a malfunction occurs during production line operation, data representing the control history is analyzed to determine the cause of the malfunction. To this end, a technique for storing the data used during control has been proposed (see, for example, Patent Document 1).
[0003] Patent Document 1 describes a technique in which, when a first condition for recording triggering is met, a time-series device value is recorded as log data to a temporary recording unit; and when a second condition for saving triggering is met, the log data held in a ring buffer serving as the temporary recording unit is saved to a storage memory. According to this technique, inputting a save trigger when a fault occurs allows the log data to aid in identifying the cause of the fault.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2020-134984 Summary of the Invention
[0005] In the technology of Patent Document 1, in addition to the limitation imposed by the capacity of the storage memory that ultimately stores the log data, there is also a limitation imposed by the capacity of the temporary recording unit. Specifically, in cases where the period from the occurrence of a recording trigger to the occurrence of a fault is long, or where multiple recording triggers occur before the fault occurs, the amount of log data recorded in the temporary recording unit increases. Therefore, if a temporary recording unit with sufficient capacity cannot be prepared, the log data recorded in the temporary recording unit before the actual occurrence of a fault may be overwritten and lost. Furthermore, it may become difficult to determine the cause of the fault.
[0006] The present invention is proposed under the above circumstances, and its purpose is to make it easier to identify the cause of the failure.
[0007] To achieve the above objectives, the programmable controller of the present invention is a programmable controller for controlling an instrument, comprising: a data collection unit that repeatedly collects data that changes during the control of the instrument from a memory; a storage unit that, when a predetermined first trigger condition is met, stores the data collected by the data collection unit in the storage unit at a timing corresponding to the meeting of the first trigger condition; an appending unit that, when a second trigger condition different from the first trigger condition is met, appends appending information to at least one of the data stored in the storage unit, namely first data, and second data collected by the data collection unit after the first data; and a deletion unit that, after storing the first data and the second data in the storage unit, saves the first data to the storage unit based on the appending information and deletes the second data from the storage unit.
[0008] The effects of the invention
[0009] According to the present invention, when the first trigger condition is met, the storage unit stores the data collected by the data collection unit. This avoids limitations imposed by the capacity of the temporary recording section outside the storage unit where the final data is stored. Furthermore, when the second trigger condition is met, the appending unit appends additional information to at least one of the first and second data, and the deletion unit saves the first data to the storage unit based on the additional information and deletes the second data from the storage unit. Therefore, by saving the required data to the storage unit and ensuring a region within the storage unit for storing new data, a rich history of control-related data can be maintained. Consequently, the cause of a fault can be more easily identified. Attached Figure Description
[0010] Figure 1 This is a diagram showing the structure of the PLC system involved in Implementation Method 1.
[0011] Figure 2 This is a diagram showing the hardware structure of the PLC involved in Implementation Method 1.
[0012] Figure 3 This is a diagram showing the functional structure of the PLC involved in Implementation Method 1.
[0013] Figure 4 This diagram illustrates the deletion of a file via a deletion unit according to Embodiment 1.
[0014] Figure 5 This is a flowchart illustrating the collection process involved in Implementation 1.
[0015] Figure 6 This is a flowchart illustrating the storage process involved in Implementation 1.
[0016] Figure 7 This is a diagram used to illustrate the saving and deletion of files involved in Implementation Method 1.
[0017] Figure 8 This is a flowchart illustrating the additional processing involved in Implementation Method 1.
[0018] Figure 9 This is a diagram used to explain the timing of the fulfillment of the first triggering condition and the second triggering condition according to Embodiment 1.
[0019] Figure 10 This is a flowchart illustrating the deletion process involved in Implementation Method 1.
[0020] Figure 11 This is a diagram showing the functional structure of the PLC involved in Implementation Method 2.
[0021] Figure 12 This is a diagram used to explain additional information related to Embodiment 3.
[0022] Figure 13 This is a diagram showing the functional structure of the PLC involved in Implementation Method 4.
[0023] Figure 14 This is a diagram illustrating the functional structure of the display data generation device according to Embodiment 5.
[0024] Figure 15 This is a diagram showing a first example of a display screen according to Embodiment 5.
[0025] Figure 16 This is a diagram showing a second example of a display screen according to embodiment 5.
[0026] Figure 17 This is a diagram showing the functional structure of the PLC involved in Implementation Method 6.
[0027] Figure 18 This is a diagram used to illustrate the relationship between the timing of data collection and the data assigned a trigger ID in the variant example. Detailed Implementation
[0028] The following is for reference only. Figure 1 The programmable controllers according to embodiments of the present invention will be described in detail below.
[0029] Implementation Method 1
[0030] exist Figure 1The diagram shows the structure of a PLC (Programmable Logic Controller) system 1000 having the programmable controller according to this embodiment. The PLC system 1000 is a control system that is part of a manufacturing system, inspection system, or other processing system built in a facility such as a factory. In the PLC system 1000, the PLC 100, as a programmable controller, operates the production line by controlling a mechanical device 200, which is a controlled instrument connected by a communication line. The PLC 100 has a device memory 110 for controlling the mechanical device 200, a buffer 120 for recording a log of device data 111 stored in the device memory 110, and a storage unit 130.
[0031] The device data 111 stored in the device memory 110 includes data synchronized with the data stored in the machine device 200. For example, the PLC 100 determines the state of the machine device 200 by reading the device data 111, and changes the operating mode of the machine device 200 by rewriting the device data 111. In addition to the data synchronized with the machine device 200, the device data 111 may also include intermediate data used by the PLC 100 in the calculation process for controlling the machine device 200, statistical data used for managing the machine device 200, and other internal data. The machine device 200 may include, for example, sensor devices, actuators, robots, and other FA instruments installed on a production line.
[0032] Additionally, the PLC 100 saves the log of device data 111 to the storage unit 130 after passing through the buffer 120. The buffer 120 is provided to absorb the speed difference between reading and writing to the device memory 110 and the storage unit 130. The log saved in the storage unit 130 is read by the display data generation device 300, which is connected to the PLC 100 via a communication line, and displays display data for identifying the cause of the fault is generated based on the log. Then, based on the generated display data, the display device 301 displays a display screen to the user. In this display screen, images representing multiple data points are displayed in a form that allows the user to compare the data.
[0033] The display data generation device 300 and the display device 301 can be an industrial PC (Personal Computer) connected to the PLC 100 and an associated LCD (Liquid Crystal Display), or they can be an integrated flat panel terminal. Furthermore, although in Figure 1 The display data generation device 300 is configured outside the PLC 100, but the display data generation device 300 can also be a unit constituting the modular PLC 100.
[0034] exist Figure 2 The diagram schematically illustrates the hardware structure of PLC 100. For example... Figure 2 As shown, the PLC 100 includes a processor 101, a main storage unit 102, an auxiliary storage unit 103, an input unit 104, an output unit 105, and a communication unit 106. The main storage unit 102, the auxiliary storage unit 103, the input unit 104, the output unit 105, and the communication unit 106 are all connected to the processor 101 via an internal bus 107.
[0035] The processor 101 includes a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The processor 101 performs various functions and executes the processing described later by executing the program P1 stored in the auxiliary storage unit 103. Furthermore, the processor 101 controls the mechanical device 200 by executing the control program P2 stored in the auxiliary storage unit 103. The control program P2 can be, for example, a ladder logic program, or a binary file in executable form generated from source code written in a high-level language such as C.
[0036] The main storage unit 102 contains RAM (Random Access Memory). Program P1 and control program P2 are loaded from the auxiliary storage unit 103 into the main storage unit 102. Then, the main storage unit 102 is used as the working area of the processor 101.
[0037] The auxiliary storage unit 103 includes non-volatile memory such as EEPROM (Electrically Erasable Programmable Read-Only Memory) and HDD (Hard Disk Drive). In addition to program P1 and control program P2, the auxiliary storage unit 103 also stores various data used in the processing of processor 101. The auxiliary storage unit 103 supplies data used by processor 101 to processor 101 according to instructions from processor 101. Furthermore, the auxiliary storage unit 103 stores data supplied from processor 101.
[0038] The input unit 104 includes input devices such as hardware switches, input keys, and positioning devices. The input unit 104 acquires information input by the user and notifies the processor 101 of the acquired information.
[0039] The output unit 105 includes output devices such as LED (Light Emitting Diode), LCD (Liquid Crystal Display), and speakers. The output unit 105 displays various information to the user according to the instructions of the processor 101.
[0040] The communication unit 106 includes a network interface circuit for communicating with external devices. The communication unit 106 receives signals from the outside and outputs data indicated by those signals to the processor 101. Additionally, the communication unit 106 transmits signals indicating data output from the processor 101 to external devices.
[0041] Furthermore, in the case where the PLC 100 is a modular programmable controller, each unit constituting the PLC 100 can also have... Figure 2 The hardware structure represented is part or all of which are interconnected via the system bus.
[0042] Through the coordinated operation of the aforementioned hardware structure, the PLC 100 performs the function of logging equipment data. Specifically, the PLC 100... Figure 3 As shown, the device includes, as part of its functions: a program execution unit 141 that executes the control program P2; a device memory 110 that stores data that changes according to the control of the mechanical device 200; a data collection unit 142 that repeatedly collects the data stored in the device memory 110; a trigger determination unit 143 that determines whether a trigger related to data storage exists; a buffer unit 144 that stores the collected data in a buffer 120; a buffer 120 that temporarily stores data; a storage unit 145 that reads data from the buffer and stores it in a storage unit 130; a storage unit 130 that stores data; an append unit 146 that appends additional information (described later) to the data stored in the storage unit 130; a deletion unit 147 that deletes data without appended information after a certain period of storage; and a setting unit 148 that sets various parameters.
[0043] The program execution unit 141 is mainly implemented by the processor 101. The program execution unit 141 controls the mechanical device 200 by repeatedly executing the steps specified in the control program P2 and using the data in the device memory 110.
[0044] The device memory 110 is primarily implemented by the main storage unit 102. The data in the device memory 110 changes according to the execution of the control program P2 by the program execution unit 141. For example, through the execution of the control program P2, data representing the sensing results of the sensor device, i.e., the mechanical device 200, is periodically acquired and updated. Furthermore, through the execution of the control program P2, data representing the rotation angle of the stepper motor constituting the mechanical device 200 as an actuator is updated at the timing when the mechanical device 200 should be instructed to operate. Figure 3The example shows the data D[T100] being stored in device memory 110. Here, "T100" corresponds to time, and "D[T100]" refers to the value of the data at time T100.
[0045] The data collection unit 142 is primarily implemented by the processor 101. The data collection unit 142 repeatedly reads data stored in a predetermined address area of the device memory 110 at a predetermined cycle, and outputs the read data to the trigger determination unit 143. The predetermined cycle is, for example, the scan time equivalent to one execution of the control program P2 by the program execution unit 141. In the PLC 100, the data collection unit 142 is an example of a data collection unit that repeatedly collects data that changes during instrument control from the device memory 110, which serves as storage.
[0046] The trigger determination unit 143 is mainly implemented by the processor 101. The trigger determination unit 143 determines whether a first trigger condition for storing data in the storage unit 130 is met, and determines whether a second trigger condition for extending the retention period of the data stored in the storage unit 130 is met.
[0047] The first and second trigger conditions are preset by the setting unit 148. The first and second trigger conditions are each different conditions, such as the change of a specified bit value in the device data from an OFF state to an ON state, the detection of a bit value remaining in the ON state for more than a threshold time, the detection of multiple bit values becoming ON in a specified order, the determination of a condition related to the numerical value represented by the device data changing from false to true, or a combination thereof. The first and second trigger conditions are not limited to these and can be other conditions. Furthermore, the first and second trigger conditions can each be conditions determined based on a determination related to collected data or data not collected in the device data, or conditions that are unrelated to the device data. For example, the first and second trigger conditions can also be conditions established based on the reception of a trigger signal from outside the PLC 100.
[0048] The trigger determination unit 143 outputs the data collected by the data collection unit 142 to the buffer unit 144. If the trigger determination unit 143 determines that the first trigger condition is met, it outputs the data together with the trigger ID indicating that the first trigger condition is met to the buffer unit 144.
[0049] Furthermore, if the trigger determination unit 143 determines that the second trigger condition is met, it notifies the attachment unit 146 of the trigger ID. Here, the second trigger condition is a condition for extending the length of the storage period of the following data from the length in the case where the second trigger condition is not met; the aforementioned data is the data that was determined to be stored in the storage unit 130 because the first trigger condition was met. When the second trigger condition is met, the trigger ID is used as information to identify the data whose storage period has been extended.
[0050] The cache unit 144 is mainly implemented by the processor 101. The cache unit 144 stores the data output from the trigger determination unit 143 into the buffer 120 in sequence. When a trigger ID is output due to the fulfillment of the first trigger condition, the trigger ID and the corresponding data are stored together in the buffer 120.
[0051] Buffer 120 is a ring buffer primarily implemented by the main storage unit 102. Figure 3 In the example, D[T89], D[T90], D[T91]...D[T100] are stored sequentially as data in buffer 120, and data D[T90] is assigned TR[T90] as a trigger ID. This trigger ID, TR[T90], indicates that the first trigger condition for storing data D[T90] in storage unit 130 is met. Buffer 120 in PLC 100 is equivalent to an example of a buffer that stores data collected by the data collection unit sequentially.
[0052] Storage unit 145 is primarily implemented by processor 101. Storage unit 145 checks the presence of data assigned trigger IDs in buffer 120 at predetermined time intervals. Upon detecting new data assigned a trigger ID, storage unit 145 reads a series of data containing the new data along with the trigger ID from buffer 120. This series of data consists of continuously collected data, starting from a predetermined number of data points before the number of data points assigned trigger IDs and ending with a predetermined number of data points after the number of data points assigned trigger IDs. Storage unit 145 then stores a file containing the read series of data along with the read trigger ID in storage unit 130. Figure 3 In the example shown, storage unit 145 acknowledges data D[T90] assigned a trigger ID called TR[T90], and stores a file D[T86-T95] summarizing D[T86] to D[T95] in storage unit 130. Storage unit 145 in PLC 100 is equivalent to an example of a storage unit that stores data collected by the data collection unit at a timing corresponding to the fulfillment of a predetermined first trigger condition in a storage unit.
[0053] The storage unit 130 is mainly implemented by the auxiliary storage unit 103 or a removable memory card.
[0054] The appender unit 146 is primarily implemented by the processor 101. When the appender unit 146 receives a trigger ID from the trigger determination unit 143 due to the fulfillment of the second trigger condition, it retrieves the file assigned that trigger ID from the storage unit 130. Then, the appender unit 146 appends append information to the retrieved result, i.e., the found file. The append information is equivalent to a marker used to set the retention period of the file with the appended information to be longer than that of the file without the appended information. The appending of append information can be, for example, inserting a marker at the end of the file, appending a specific string to the filename, or assigning folder attributes to the folder representing the stored file. Figure 3 In the example, it is shown that additional information AD[T30] is appended to file D[T26-T35] which is assigned a trigger ID called TR[T30], and additional information AD[T50] is appended to file D[T46-T55] which is assigned a trigger ID called TR[T50]. In PLC 100, the appending unit 146 is equivalent to an example of an appending unit that appends additional information to data stored in the storage unit by the storage unit when the second trigger condition is met.
[0055] The deletion unit 147 is primarily implemented by the processor 101. The deletion unit 147 scans the files stored in the storage unit 130 by the storage unit 145 at predetermined time intervals, deleting files that have passed their storage period and their associated trigger IDs from the storage unit 130, provided they do not have any additional information attached. The deletion of files in the storage unit 130 can be due to the creation of empty areas caused by data deletion or movement, or it can be due to the overwriting of other files. The storage period for files without additional information is, for example, one day or one week. Figure 4 The diagram shows an empty region being generated by deleting a file without additional information by the deletion unit 147.
[0056] Additionally, the deletion unit 147 can also delete files with attached additional information that have exceeded their retention period from the storage unit 130, along with the trigger ID associated with that file and the attached additional information. The retention period for files with attached additional information is longer than that for files without attached additional information, for example, one month or one year. The deletion unit 147 is an example of a deletion unit in the PLC 100 that deletes data from the storage unit.
[0057] The setting unit 148 is mainly implemented by the coordinated operation of the processor 101 and the input unit 104. The setting unit 148 acquires parameters input by the user and sets the acquired parameters in the data collection unit 142, the trigger determination unit 143, the storage unit 145, and the deletion unit 147. The parameters set by the setting unit 148 include the address of the data of the collection target in the device memory 110, the data collection period, the contents of the first trigger condition and the second trigger condition, the information for generating the trigger ID, the time interval for the storage unit 145 to check the buffer 120, the number of data from the data that becomes the start of the file to the data that is assigned the trigger ID, the number of data from the data that becomes the end of the file to the data that is assigned the trigger ID, the time interval for the deletion unit 147 to scan the files in the storage unit 130, the length of the storage period for files with attached information and files without attached information, and the file operation content when deleting a file. The information for generating the trigger ID may be, for example, the address of the device data that stores the value treated as the trigger ID, or an indication of treating the time as the trigger ID. The file operation content may be, for example, information indicating the selection of file deletion or movement, and the location of the file's destination.
[0058] Next, refer to Figures 5 to 9 The processing performed by PLC 100 is described in detail.
[0059] exist Figure 5 The diagram illustrates the steps of data collection processing performed by PLC 100 on device memory 110. This collection processing can begin simultaneously with the execution of a specific application program operated by the user, or it can begin simultaneously with the execution of control program P2.
[0060] During the data collection process, the data collection unit 142 determines whether the current time is a data collection timing point (step S11). Specifically, the data collection unit 142 determines whether a time equivalent to the collection period set by the setting unit 148 has elapsed since the last time data was collected. The collection period is, for example, 1 millisecond or 1 second. However, when the determination of step S11 is initially performed at the start of the data collection process, the determination of step S11 can be accepted regardless of whether the previous collection occurred, or the determination of step S11 can be omitted.
[0061] If it is determined that the current time is not yet the data collection timing (step S11; No), the determination in step S11 is repeated, and PLC 100 waits until the data collection timing. On the other hand, if it is determined that the current time is the data collection timing (step S11; Yes), the data collection unit 142 reads the data stored at the address set by the setting unit 148 from the device memory 110 and collects it (step S12).
[0062] Next, the trigger determination unit 143 determines whether the first trigger condition is met (step S13). For example, if the first trigger condition is met based on the sensing result indicating that a single product has passed through the conveyor belt in the final stage of the manufacturing process, the trigger determination unit 143 determines whether the manufacturing of one product in the manufacturing process has ended.
[0063] If the first trigger condition is determined to be met (step S13; Yes), the trigger determination unit 143 assigns a trigger ID to the data collected in step S12 and outputs it to the buffer unit 144 (step S14). The trigger ID is, for example, a value that corresponds one-to-one with the serial number of the manufactured product. On the other hand, if the first trigger condition is determined to be unmet (step S13; No), the trigger determination unit 143 does not assign a trigger ID to the collected data, but instead outputs the collected data to the buffer unit 144 as is, and transfers the processing to step S15.
[0064] Following step S14, the buffer unit 144 buffers the data (step S15). Specifically, the buffer unit 144 stores the data output from the trigger determination unit 143, along with the trigger ID, in the buffer 120 if a trigger ID has been assigned to it.
[0065] Subsequently, step S11 and subsequent processing are repeated. Thus, whenever data of the collected object is read from the device memory 110, the data is stored in the buffer 120. Furthermore, if the first trigger condition is met, a trigger ID is assigned to the data.
[0066] Next, use Figure 6 The storage process by which the PLC 100 generates a file corresponding to the fulfillment of the first trigger condition based on the data from the buffer 120 and stores it in the storage unit 130 will be described. This storage process is related to... Figure 5 The collection and processing begin simultaneously.
[0067] During storage processing, the storage unit 145 determines whether the current time is the storage time for the file (step S21). Specifically, the storage unit 145 determines whether a time interval set by the setting unit 148 has elapsed since the previous time interval for storing the file in the storage unit 130. This time interval is, for example, 10 milliseconds or 10 seconds. However, when the storage processing begins and the determination of step S21 is initially performed, the determination of step S21 may be accepted regardless of whether a previous storage occurred, or the determination of step S21 may be omitted.
[0068] If it is determined that the current time is not yet the file storage time (step S21; No), the determination in step S21 is repeated, and the PLC 100 remains in standby until the file storage time is reached. On the other hand, if it is determined that the current time is the file storage time (step S21; Yes), the storage unit 145 determines whether new data that meets the first trigger condition is stored in the buffer 120 (step S22). Specifically, the storage unit 145 scans the buffer 120 and retrieves unacknowledged data that has been assigned a trigger ID.
[0069] If it is determined that no new data is stored in buffer 120 (step S22; No), storage unit 145 repeats step S21 and subsequent processing. On the other hand, if it is determined that new data is stored in buffer 120 (step S22; Yes), storage unit 145 reads a series of data groups containing data that the first trigger condition is met from buffer 120 and stores them as a file in storage unit 130 (step S23). Specifically, storage unit 145 generates a file containing the new data with a trigger ID found in step S22, and one or more consecutive data sets before and after the new data set by setting unit 148, and stores this file in storage unit 130 in association with the trigger ID.
[0070] Subsequently, the storage unit 145 repeats step S21 and the subsequent processing. Thus, the time series data before and after the data stored in the buffer 120 along with the trigger ID is repeatedly read, and the file representing the time series data is stored in the storage unit 130.
[0071] exist Figure 7 The diagram schematically illustrates the storage of files to storage unit 130 through collection and storage processes. Figure 7 The arrows on the left, indicating "first trigger," represent the data for which the first trigger condition is met. Furthermore, it shows that files F1 to F5 are generated based on multiple data sets containing the data for which the first trigger condition is met, and stored in the storage unit 130.
[0072] Next, use Figure 8 The appending process by which PLC 100 appends additional information to a file stored in storage unit 130 is described. This appending process is related to... Figure 5 The collection and processing begin simultaneously.
[0073] In the additional processing, the trigger determination unit 143 determines whether the second trigger condition is met (step S31). For example, if the second trigger condition is met based on the detection of a defective product in the inspection process after the manufacturing process, the trigger determination unit 143 determines whether there is an abnormality in the product manufactured in the manufacturing process.
[0074] If the second trigger condition is determined to be false (step S31; No), the trigger determination unit 143 repeats the determination in step S31. On the other hand, if the second trigger condition is determined to be true (step S31; Yes), the attachment unit 146 attaches additional information to the file corresponding to the fulfillment of the second trigger condition in step S31 (step S32). Specifically, the attachment unit 146 attaches the additional information to the file having the trigger ID notified by the trigger determination unit 143.
[0075] Subsequently, step S31 and subsequent processing are repeated. This results in additional information being appended to the file where the second trigger condition is met. Figure 7 In the example, the arrows for "Second Trigger" indicate that the second trigger condition is met, and additional information is appended to files F2 and F3.
[0076] In addition, such as Figure 7 As shown, the files for which additional information is appended due to the fulfillment of the second triggering condition are not limited to files stored in storage unit 130 before the second triggering condition is about to be fulfilled. Sometimes, additional information is appended by tracing back multiple files from the point in time when the second triggering condition is fulfilled. For example, consider the following scenario: Figure 9 As shown, in the manufacturing process, products are manufactured one by one, and the fulfillment of the first trigger condition is determined based on the output of the manufacturing completion sensor 201. However, in the subsequent inspection process, all three products are inspected together by the inspection sensor 202 to determine the fulfillment of the second trigger condition. In this case, the cycle for determining the fulfillment of the first trigger condition is different from the cycle for determining the fulfillment of the second trigger condition. Furthermore, the product among the three products whose second trigger condition is met could be a product whose first trigger condition was met two or three times earlier.
[0077] Next, use Figure 10 This section describes the deletion process for files stored in the storage unit 130 of the PLC 100. This deletion process is related to... Figure 5 The collection and processing begin simultaneously.
[0078] In the deletion process, the deletion unit 147 determines whether the current time is a file deletion timer (step S41). Specifically, the deletion unit 147 determines whether a time interval set by the setting unit 148 has elapsed since the previous deletion timer. This time interval is, for example, 1 minute or 1 hour. However, when the deletion process begins and the determination of step S41 is initially performed, the determination of step S41 can be accepted regardless of the existence or absence of the previous deletion timer, or the determination of step S41 can be omitted.
[0079] If it is determined that the current time is not yet the file deletion time (step 41; No), the determination in step S41 is repeated, and the deletion unit 147 waits until the file deletion time. On the other hand, if it is determined that the current time is the file deletion time (step S41; Yes), the deletion unit 147 deletes the file from the storage unit 130 based on the additional information (step S42). Specifically, the deletion unit 147 scans the files stored in the storage unit 130, and deletes the files with and without additional information after the corresponding storage period has elapsed.
[0080] Subsequently, step S41 and subsequent processing are repeated. Thus, after a specific time interval during the storage period, files with attached information and files without attached information are deleted from storage unit 130. This specific time interval can be, for example, a point in time after a predetermined length of time has elapsed since the file was stored in storage unit 130, or a point in time after a predetermined length of time has elapsed since the first or second trigger condition is met for the file. For example, for files with attached information, they may be stored in storage unit 130 for at least one year after storage; on the other hand, for files without attached information, to ensure empty areas, they may be deleted as soon as one day or more has elapsed since the first trigger condition is met. Alternatively, the aforementioned specific time interval can also be a point in time when the number or amount of data stored in storage unit 130 exceeds a threshold. For example, for files with additional information, deletion starts from the earlier files when the usage of storage unit 130 exceeds 90%. On the other hand, for files without additional information, it is sufficient to have only the 10 most recent files, and deletion starts from the earlier files when the number of files stored in storage unit 130 exceeds 10.
[0081] As explained above, if the first trigger condition is met, the storage unit 145 stores the data collected by the data collection unit 142 into the storage unit 130. This avoids limitations caused by the capacity of the buffer 120 outside the storage unit 130 where the data is ultimately stored. Furthermore, if the second trigger condition is met, the attachment unit 146 attaches additional information to the file specified by the trigger ID. While saving the file with the attached information to the storage unit 130, the deletion unit 147 deletes all files except those for which the attachment unit 146 attached additional information from the storage unit 130. Therefore, the required data is saved to the storage unit 130, and on the other hand, a region for storing new data is secured within the storage unit 130, thus leaving behind a rich record of control-related data. Consequently, it becomes easier to identify the cause of a fault.
[0082] Furthermore, the specific timing for the deletion unit 147 to delete files without attached additional information is a time point from when the file was stored in the storage unit 130 that has elapsed for a period greater than or equal to a predetermined length, a time point from when the first trigger condition for the file was met that has elapsed for a period greater than or equal to a predetermined length, or a time point from when the number or amount of data stored in the storage unit 130 exceeds a threshold. Therefore, files without attached additional information can be deleted after the period desired by the user of the PLC 100 that the PLC 100 has stored in the storage unit 130.
[0083] Implementation Method 2
[0084] Next, Embodiment 2 will be described focusing on its differences from Embodiment 1 described above. Furthermore, equivalent reference numerals will be used for structures that are the same as or equivalent to those in Embodiment 1 described above. The difference between this embodiment and Embodiment 1 is that the additional part 146 also adds additional information to the data in the buffer.
[0085] In Embodiment 1 described above, an example was given of the additional unit 146 retrieving a file with a trigger ID notified by the trigger determination unit 143 from the storage unit 130. However, it is possible to consider a scenario where the file with the trigger ID notified by the trigger determination unit 143 has not yet been stored in the storage unit 130 due to the low data write speed to the storage unit 130.
[0086] The additional part 146 involved in this embodiment is in a scenario such as in Figure 11 As shown by the thick arrow, the trigger ID is also retrieved for the data stored in buffer 120, and additional information is appended to the data with the trigger ID.
[0087] Storage unit 145 stores files containing data assigned a trigger ID in storage unit 130 with additional information appended. Here, files with appended information are considered more important than those without, and are preferably saved to storage unit 130 before disappearing due to updates to the data in the circular buffer, i.e., buffer 120. Storage unit 145 prioritizes storing files containing data with appended information in buffer 120 in storage unit 130 over files containing data without appended information. For example, storage unit 145... Figure 11 As shown, among data D[T70] which has been assigned a trigger ID but no additional information, and data D[T90] which has both a trigger ID and additional information, data D[T90] is read out before data D[T70]. Then, storage unit 145 stores the file containing data D[T90] in storage unit 130 before the file containing data D[T70].
[0088] As explained above, when the storage unit 145 reads data assigned trigger IDs sequentially from the buffer 120 and stores the file in the storage unit 130, it prioritizes reading data with attached additional information from the buffer 120 compared to other data collected earlier but without attached additional information, and stores the file containing that data in the storage unit 130. This prevents data with attached additional information that should be stored long-term in the storage unit 130 from being lost due to updates to the buffer 120. The attachment unit 146 in this embodiment is an example of an attachment unit that, when the second trigger condition is met, attaches additional information to the attachment unit of the first data (between the third data and the first data collected before the first data) stored in the buffer.
[0089] Implementation Method 3
[0090] Next, Embodiment 3 will be described focusing on its differences from Embodiment 1 described above. Furthermore, equivalent reference numerals will be used for structures that are the same as or equivalent to those in Embodiment 1 described above. The difference between this embodiment and Embodiment 1 is that, in addition to the file for which the second trigger condition is met, the appendix 146 appends additional information to the file stored in the storage unit 130 before and after the file.
[0091] The file with additional information indicates the progression of equipment data. If the fulfillment of the first trigger condition corresponds to the completion of manufacturing of one product, and the fulfillment of the second trigger condition corresponds to the detection of an anomaly in that product, it is desirable to confirm the progression of equipment data for products manufactured before and after the product for which an anomaly was detected.
[0092] In response to this expectation, the additional part 146 involved in this embodiment is as follows: Figure 12 As shown, since the second trigger condition is met, additional information is added not only to file F3, which has a trigger ID notified from the trigger determination unit 143, but also to file F2, which was stored in the storage unit 130 before file F3, and file F4, which was stored in the storage unit 130 after file F3.
[0093] Therefore, the retention period for files F2 and F4 is also extended, making it easier to identify the cause of the expected failure. The additional unit 146 involved in this embodiment is an example of an additional unit that adds additional information to the first data and stores the fourth data in the storage unit 130 due to the fulfillment of at least one of the first triggering conditions before and after the fulfillment of the first triggering condition corresponding to the first data.
[0094] Furthermore, the file to which the additional information is attached by the appendix 146 is not limited to [the file specified in the appendix 146]. Figure 12The example shown. The attachment unit 146 may also attach additional information to file F1 or file F5. Alternatively, the attachment unit 146 may not attach additional information to files F4 and F5, but instead attach additional information to one or more consecutive files stored in storage unit 130 before file F3, which has the notified trigger ID, and which are set by the setting unit 148. Furthermore, the attachment unit 146 may not attach additional information to files F1 and F2, but instead attach additional information to one or more consecutive files stored in storage unit 130 after file F3, which has the notified trigger ID, and which are set by the setting unit 148. The attachment unit 146 only needs to attach additional information to the file that notifies the trigger ID and the data stored in storage unit 130 due to the fulfillment of at least one of the first trigger condition preceding and following the fulfillment of the first trigger condition corresponding to that file. Furthermore, while the description focuses on the differences from Embodiment 1, in the structure of Embodiment 2, additional information may also be attached to files before and after the file specified by the trigger ID.
[0095] Implementation Method 4
[0096] Next, Embodiment 4 will be described focusing on its differences from Embodiment 1 described above. Furthermore, equivalent reference numerals will be used for structures that are the same as or equivalent to those in Embodiment 1 described above. The difference between this embodiment and Embodiment 1 is that the additional part 146 adds any one of multiple categories of additional information. Figure 13 The functional structure of the PLC 100 involved in this embodiment is shown in the figure.
[0097] In Embodiment 1 described above, an example of extending the retention period of documents related to products for which anomalies were detected was given. However, it is conceivable that for a certain period of time, documents related to products for which no anomalies were detected but which were determined to be normal should also be retained, and the desire would be to compare documents for which anomalies were detected with documents for which they were determined to be normal.
[0098] In this embodiment, the setting unit 148 pre-sets multiple categories of second trigger conditions in the trigger determination unit 143. These multiple categories of second trigger conditions include, for example, a first type of second trigger condition for determining that the product is normal, and a second type of second trigger condition for determining that the product is abnormal. Here, the second type of second trigger condition can be a condition that occurs when the first type of second trigger condition is not met, or it can be a condition that occurs regardless of whether the first type of second trigger condition is met. For example, an abnormality can be detected when the dimensional error of the product exceeds the allowable value, and the product can be determined to be normal when the dimensional error converges to a range smaller than the tolerance.
[0099] Alternatively, the setting unit 148 can be set in the trigger determination unit 143 to set all products as the object for determining whether the second trigger condition of the second type is met in order to detect whether there is an abnormality, and periodically determine one of the multiple products for the second trigger condition of the first type used to determine that it is normal.
[0100] The trigger determination unit 143 determines whether a second trigger condition of multiple categories is met based on the settings of the setting unit 148. Then, if the second trigger condition is determined to be met, the trigger ID and the category of the second trigger condition are notified to the attachment unit 146. Figure 13 In the example, the trigger determination unit 143 notifies the trigger ID called TR[T30] together with information indicating normal operation, and notifies the trigger ID called TR[T50] together with information indicating abnormal operation.
[0101] The appender 146 appends additional information corresponding to the category of the notification to the file having the notification trigger ID based on the notification from the trigger determination unit 143. For example, in Figure 13 In the example, appender 146 appends the normal information, named OK[T30], to file D[T26-T35] with a trigger ID named TR[T30], and appends the abnormal information, named NG[T50], to file D[T46-T55] with a trigger ID named TR[T50]. The appending of information can be done by inserting a string named "OK" (normal) or "NG" (abnormal) into the file terminal or filename, or by assigning folder attributes corresponding to the category.
[0102] The deletion unit 147 deletes files from the storage unit 130 that have been stored for a period corresponding to the length of the category of the additional information. For example, for files without additional information, the deletion unit 147 may delete files in ascending order when the remaining capacity of the storage unit 130 is less than 10%, so that the remaining capacity becomes greater than or equal to 10%. Additionally, for files with additional information indicating an anomaly, the deletion unit 147 may delete files starting from those stored for one year in ascending order. Furthermore, for files with additional information indicating normality, the deletion unit 147 may delete files in ascending order when the number of files stored in the storage unit 130 exceeds 100. Generally, considering the low frequency of anomalies, files judged as abnormal are kept in the storage unit 130 for a longer period than files judged as normal, and the number of files judged as normal is kept to a minimum for comparison with files judged as abnormal. The deletion unit 147 according to this embodiment is an example of a deletion unit that deletes data with additional information corresponding to the category of the second trigger condition from the storage unit after the data has been stored in the storage unit for a period corresponding to that category.
[0103] As explained above, when the second trigger condition of one of the multiple categories is met, the appending unit 146 appends additional information corresponding to that category to the file, and the deletion unit 147 deletes the file with the appended information from the storage unit 130 after it has been stored in the storage unit 130 for a period corresponding to the length of that category. Thus, different storage periods can be set corresponding to the category of the saved file.
[0104] Furthermore, the number of categories for the second trigger condition is not limited to two; it can be three or more. For example, additional information of different categories can be added to the file based on anomalies in size error, weight error, or impurity contamination. While the description has focused on the differences from Embodiment 1, multiple categories can also be set for the additional information in Embodiments 2 and 3. When setting multiple categories for the additional information in Embodiment 3, it is sufficient to add the additional information of the same category as the file specified by the trigger ID to the files before and after that file.
[0105] Implementation Method 5
[0106] Next, Embodiment 5 will be described focusing on its differences from Embodiment 4 described above. Furthermore, equivalent reference numerals will be used for structures that are the same as or equivalent to those in Embodiment 4 described above. The difference between this embodiment and Embodiment 4 is that the display data generation device 300 generates display data used to generate a screen with additional information based on multiple categories.
[0107] exist Figure 14 The functional structure of the display data generation apparatus 300 according to this embodiment is shown in the diagram. Furthermore, the display data generation apparatus 300 has the same... Figure 2 The PLC 100 shown has the same hardware structure, and its various functions are achieved through the coordinated operation of its hardware components. For example... Figure 14 As shown, the display data generation device 300 includes: a UI (User Interface) unit 310, which outputs parameters received by the user and set by the setting unit 148 of the PLC 100 to the setting unit 148; an acquisition unit 320, which reads a file from the storage unit 130; a waveform display data generation unit 330, which displays a waveform representing the shift of values of device data contained in the file; and a program display data generation unit 340, which displays information related to the control program P2 in conjunction with the waveform.
[0108] The acquisition unit 320 is mainly implemented by the communication unit 106 of the display data generation device 300. The acquisition unit 320 acquires a list of files from the storage unit 130. Then, the acquisition unit 320 causes the display device 301 to display, as shown in the image. Figure 15 The screen shown prompts the user to select any file. Figure 15 The screen displays a list of filenames containing the string "OK" indicating normal status and filenames containing the string "NG" indicating abnormal status.
[0109] If the user selects any file, the acquisition unit 320 compares it with the selected file, identifying files with attached information indicating an error and files with attached information indicating a normal file, and displays them on the screen. Specifically, the acquisition unit 320 identifies the file previously stored in the storage unit 130 among the files with attached information indicating normal and error, prior to the file selected by the user. Figure 15 The text is highlighted using a shading method. Furthermore, the acquisition unit 320 can determine the next file to be stored in the storage unit 130 after the user-selected file from files containing additional information indicating normal or abnormal conditions. Additionally, the user can reselect the file to be compared.
[0110] The user selects one of the three files displayed on the display device 301 by pressing or clicking the "Confirm" button. The acquisition unit 320, within the display data generation device 300, is an example of a receiving unit that accepts the selection of any one of the first data points made by the user from a plurality of first data points stored in the programmable controller. The acquisition unit 320 outputs the selected three files to the waveform display data generation unit 330.
[0111] The waveform display data generation unit 330 generates waveforms from the shifts in device data values contained in the three files and displays them on the display device 301 in a comparable format. More specifically, as... Figure 16 As shown, the waveform display data generation unit 330 aligns the data assigned with the trigger ID corresponding to the fulfillment of the first trigger condition with the position of the guide G1, and displays the waveform W1 corresponding to the file selected by the user and the waveforms W2 and W3 used as comparison objects. Thus, the three waveforms are displayed side-by-side in the vertical direction, allowing the user to easily compare them. Furthermore, the waveform display data generation unit 330 can also display the sample values of the waveforms overlapping with the guide G1, and the user can also move the guide G1 horizontally. In the display data generation device 300, the waveform display data generation unit 330 is equivalent to reading from the programmable controller a first data selected by the user and other first data that precedes or follows the first data and has additional information of the same or different category as the first data, generating display data for displaying information related to the read first data and the other first data.
[0112] Additionally, the waveform display data generation unit 330 outputs information related to the file selected by the user to the program display data generation unit 340. The program display data generation unit 340, as shown... Figure 16 The display device 301 is configured to display a sub-window A1 that displays information related to the control program P2. In this sub-window A1, the control program P2, which is a ladder diagram program, is displayed. When the user moves the guide G1, the image in sub-window A1 is updated to display the state of the ladder diagram program at that point in time. Specifically, within the ladder diagram program, the values of device data corresponding to the sampled values of the waveform overlapping with the guide G1 are displayed.
[0113] As explained above, the movement of device data is displayed in a comparative form. This makes it easy to trace the cause of a malfunction. Furthermore, an example of displaying three waveforms based on a user-selected file, the most recent file containing supplementary information indicating normality, and the most recent file containing supplementary information indicating anomaly has been described, but this is not a limitation. Two waveforms may also be displayed based on a user-selected file and the most recent file containing supplementary information indicating normality or anomaly. While the description focuses on the differences from Embodiment 4, the display data generation device 300 may also generate display data for displaying information related to the fulfillment of a second triggering condition corresponding to a single category. For example, the display data generation device 300 may also display waveforms represented by multiple files selected by the user on the display device 301.
[0114] Implementation Method 6
[0115] Next, Embodiment 6 will be described focusing on its differences from Embodiment 1 described above. Furthermore, equivalent reference numerals will be used for structures that are the same as or equivalent to those in Embodiment 1 described above. The difference between this embodiment and Embodiment 1 is that the PLC 100, as... Figure 17 The illustrated location has a forwarding unit 149 that forwards data to the outside.
[0116] The forwarding unit 149 monitors the information stored in the storage unit 130 and, when information is updated, forwards the information before or after the update to the external server 40 for backup. Specifically, when the storage unit 145 stores a file, the forwarding unit 149 forwards that file to the external server 40. Furthermore, when the attachment unit 146 attaches additional information to a file, the forwarding unit 149 forwards the additional information and the file with the attached information to the external server 40. Further, when the deletion unit 147 deletes a file, the forwarding unit 149 forwards the file to be deleted to the external server 40. Alternatively, the forwarding unit 149 may omit all of these forwarding operations, omitting some of them.
[0117] Therefore, files deleted from storage unit 130 by deletion unit 147 are also stored on external server 40, and can be referenced when needed. Forwarding unit 149 in PLC 100 is an example of a forwarding unit that forwards information to the server. Furthermore, while the description focuses on the differences from Embodiment 1, the structure could also include the forwarding unit 149 described in this embodiment, added to embodiments 2-5.
[0118] The embodiments of the present invention have been described above, but the present invention is not limited to the embodiments described above.
[0119] For example, in the above embodiment, an example was described in which the storage unit 145 stores a series of data containing data assigned a trigger ID as a file in the storage unit 130, but this is not a limitation. For example, the storage unit 145 may also store the data read from the buffer 120 as is in the storage unit 130 without converting it into a file.
[0120] Furthermore, considering the scenario where the short-term progression of device data is of low importance, and it is sufficient to know the instantaneous value at the point when the first trigger condition is met, the storage unit 145 can replace a file containing a series of data, or it can store a single piece of data assigned a trigger ID as is, or store a file containing that single piece of data, in the storage unit 130.
[0121] Furthermore, attaching additional information to a file is not limited to creating a single dataset containing both the additional information and the file. Alternatively, management information that associates the additional information with the file and stores it in different regions can be used, and the additional information can be attached by linking it to the file. When using management information, it is preferable to ensure the reservation area is updated in order to maintain the management information.
[0122] Furthermore, while an example of attaching additional information to a file whose retention period should be extended has been described, this is not a limitation. Additional information may also be attached to files other than those eligible for extended retention periods, and the file with the additional information may be deleted for a shorter period than the file without the additional information. Alternatively, any one of two or more categories of additional information may be attached to all files. That is, the attaching unit 146 may attach additional information to at least one of the first data of a file stored in the storage unit 130 by the storage unit 145, and the second data collected by the data collection unit 142 after the first data. Furthermore, after storing the first data and the second data in the storage unit 130, the deletion unit 147 may save the first data to the storage unit 130 based on the additional information and delete the second data from the storage unit 130.
[0123] Furthermore, an example is given where, after data is read from the device memory 110 by the data collection unit 142, the trigger determination unit 143 determines whether a first trigger condition for that data is met. That is, an example is given where the timing of data collection and the timing of determining whether the first trigger condition is met are approximately simultaneous. However, this is not limited to such examples of synchronized timing.
[0124] For example, in Figure 18 The diagram illustrates an example where data collection unit 142 collects data D[T1], D[T2], D[T3], D[T4], and D[T5] sequentially. In this example, the first trigger condition is determined to be met at the time when data D[T3] is output to the trigger determination unit 143, but the data assigned a trigger ID based on this determination could also be two previous data D[T1]. That is, assuming n is an integer, the trigger ID can be assigned to data D[T(n-2)] when the first trigger condition is determined to be met at the time when data D[Tn] is output to the trigger determination unit 143. Furthermore, with... Figure 18 Conversely, when the trigger determination unit 143 determines that the first trigger condition is met at the time point when the data D[Tn] is output to the trigger determination unit 143, the trigger ID can be assigned to the data D[T(n+2)]. The data stored in the storage unit 130 only needs to be the data collected by the data collection unit 142 at the time corresponding to the meeting of the first trigger condition whenever the first trigger condition is met.
[0125] The functions of the PLC 100 described above can be implemented by dedicated hardware or by a conventional computer system.
[0126] For example, program P1 can be stored and distributed on a computer-readable recording medium such as floppy disk, CD-ROM (Compact Disk Read-Only Memory), DVD (Digital Versatile Disk), or MO (Magneto-Optical disk). By installing program P1 on a computer, an apparatus can be constructed to perform the above-described processing.
[0127] Alternatively, program P1 can be stored on a disk drive of a server device on a communication network such as the Internet, or downloaded to a computer, for example, by being overlaid on a carrier wave.
[0128] Alternatively, the above process can also be accomplished by executing the startup process while forwarding the program P1 via a network such as the Internet.
[0129] Furthermore, the above-mentioned processing can also be accomplished by having all or part of program P1 executed on a server device, and by having the computer execute program P1 while sending and receiving information related to the processing via a communication network.
[0130] Furthermore, when the aforementioned functions are implemented by the OS (Operating System) or through the coordinated operation of the OS and applications, only the parts other than the OS can be stored on media and distributed, or they can be downloaded to a computer.
[0131] In addition, the means of realizing the functions of PLC 100 are not limited to software; they can also be implemented in part or in whole by dedicated hardware or circuits.
[0132] This invention can be implemented in various ways and with modifications without departing from its broad spirit and scope. Furthermore, the above-described embodiments are illustrative of the invention and do not limit its scope. That is, the scope of the invention is not shown by the embodiments, but by the claims. Moreover, various modifications that can be implemented within the scope of the claims and their equivalents are considered to fall within the scope of this invention.
[0133] Industrial applicability
[0134] This invention is applicable to the logging of data used by PLC control.
[0135] Explanation of the label
[0136] 1000 PLC System, 100 PLC, 101 Processor, 102 Main Storage Unit, 103 Auxiliary Storage Unit, 104 Input Unit, 105 Output Unit, 106 Communication Unit, 107 Internal Bus, 110 Device Memory, 111 Device Data, 120 Buffer, 130 Storage Unit, 141 Program Execution Unit, 142 Data Collection Unit, 143 Trigger Decision Unit, 144 Buffer Unit, 145 Storage Unit, 146 Additional Unit, 147 Deletion Unit, 148 Setting Unit, 149 Forwarding Unit, 200 Mechanical Device, 201 Manufacturing End Sensor, 202 Inspection Sensor, 300 Display Data Generation Device, 301 Display Device, 310 UI Unit, 320 Acquisition Unit, 330 Waveform Display Data Generation Unit, 340 Program Display Data Generation Unit, 40 External Server, A1 Sub-Window, F1 to F5 Files, G1 Guide, P1 Program, P2 Control Program, W1 to W3 Waveforms.
Claims
1. A programmable controller for controlling instruments, This programmable controller has: A data collection unit that repeatedly collects data from a memory that changes during the control of the instrument; The storage unit stores the data collected by the data collection unit at a timing corresponding to the fulfillment of the first trigger condition when the predetermined first trigger condition is met. An appending unit, which, when a second triggering condition different from the first triggering condition is met, appends additional information to either the data stored in the storage unit (i.e., the first data) or the second data collected by the data collection unit after the first data; as well as The deletion unit, after storing the first data and the second data in the storage unit, saves the first data to the storage unit and deletes the second data from the storage unit based on the presence or absence of the additional information. The second triggering condition is a condition used to extend the length of the first data during the period it is stored in the storage unit from the length in the case where the second triggering condition is not met.
2. The programmable controller according to claim 1, wherein, In this programmable controller, The appending unit appends the additional information to the first data. The deletion unit saves the first data with the attached additional information to the storage unit, and deletes the second data, excluding the objects from which the additional information was attached by the attachment unit, from the storage unit.
3. The programmable controller according to claim 2, wherein, It also has a buffer that stores the data collected by the data collection unit sequentially. When the second trigger condition is met, the appending unit appends the appended information to the first data stored in the buffer, which is the third data collected before the first data and the first data. When the storage unit reads the data from the buffer sequentially and stores it in the storage unit, the first data with the additional information attached is read from the buffer and stored in the storage unit before the third data.
4. The programmable controller according to claim 2, wherein, When the second triggering condition of one of the multiple categories is met, the appending unit appends the additional information corresponding to the category to the first data. The deletion unit deletes the first data with the attached additional information from the storage unit after the storage unit has stored the data for a length corresponding to the category.
5. The programmable controller according to claim 3, wherein, When the second triggering condition of one of the multiple categories is met, the appending unit appends the additional information corresponding to the category to the first data. The deletion unit deletes the first data with the attached additional information from the storage unit after the storage unit has stored the data for a length corresponding to the category.
6. The programmable controller according to any one of claims 2 to 5, wherein, The appending unit appends the appended information to the first data and the fourth data stored in the storage unit due to the fulfillment of at least one of the first triggering conditions preceding and following the fulfillment of the first triggering condition corresponding to the first data.
7. The programmable controller according to any one of claims 1 to 5, wherein, The deletion unit saves the first data to the storage unit at a specific time interval and deletes the second data from the storage unit. The specific timing is a point in time from when the second data is stored in the storage unit after a time greater than or equal to a predetermined length has elapsed, a point in time from when the first trigger condition is met after a time greater than or equal to a predetermined length has elapsed, or a point in time when the number or amount of data stored in the storage unit exceeds a threshold.
8. The programmable controller according to any one of claims 1 to 5, wherein, It also includes a forwarding unit that performs at least one of the following forwarding operations: forwarding the first data and the second data to an external server when the storage unit stores the first data and the second data; forwarding the additional information and the data with the additional information attached to the first data and the second data to the server when the attachment unit attaches the additional information to at least one of the first data and the second data; and forwarding the second data to the server when the deletion unit deletes the second data.
9. A programmable controller system, comprising: The programmable controller according to any one of claims 2 to 6; and The display data generation device is connected to the programmable controller. In this programmable controller system, The display data generating device reads a plurality of the first data with the additional information attached from the programmable controller and generates display data for displaying information related to the plurality of the first data.
10. A programmable controller system, comprising: The programmable controller according to claim 4 or 5; and The display data generation device is connected to the programmable controller. In this programmable controller system, The display data generation device has: A receiving unit that accepts a selection of any one of the first data points made by the user from a plurality of the first data points stored in the programmable controller; and A generation unit reads from the programmable controller a first data selected by the user, and other first data that have been appended with the same or different categories of additional information as the first data before or after the first data, and generates display data for displaying information related to the read first data and the other first data.
11. A data storage method, wherein the data storage method is executed by a programmable controller. This data saving method includes the following steps: Repeatedly collect changing data from memory. If the predetermined first trigger condition is met, the collected data will be stored in the storage unit at the timing corresponding to the meeting of the first trigger condition. If a second triggering condition, different from the first triggering condition, is met, additional information is appended to either the data stored in the storage unit (i.e., the first data) or the second data collected after the first data. After storing the first data and the second data in the storage unit, the first data is saved to the storage unit based on the presence or absence of the additional information, and the second data is deleted from the storage unit. The second triggering condition is a condition used to extend the length of the first data during the period it is stored in the storage unit from the length in the case where the second triggering condition is not met.
12. A recording medium for recording a program that causes a programmable controller to perform the following steps: Repeatedly collect changing data from memory. If the predetermined first trigger condition is met, the collected data will be stored in the storage unit at the timing corresponding to the meeting of the first trigger condition. If a second triggering condition, different from the first triggering condition, is met, additional information is appended to either the data stored in the storage unit (i.e., the first data) or the second data collected after the first data. After storing the first data and the second data in the storage unit, the first data is saved to the storage unit based on the presence or absence of the additional information, and the second data is deleted from the storage unit. The second triggering condition is a condition used to extend the length of the first data during the period it is stored in the storage unit from the length in the case where the second triggering condition is not met.
Citation Information
Patent Citations
Programmable logic controller and log data store method therefor
JP2020134984A
System and program for storing operation history data
JP2005065023A
Metadata restoration system, method thereof, storage device and program therefor
JP2005149248A