Control device, display device, and display program
The control device addresses the challenge of efficiently storing time-series data for alarm analysis by selectively storing relevant data based on alarm types and managing storage space effectively, ensuring optimal data retention and efficient use of resources.
Patent Information
- Application Number
- JP2023213273
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-18
- Publication Date
- 2025-06-30
AI Technical Summary
Existing control devices face challenges in efficiently storing and managing various types of time-series data to analyze the causes of alarms, leading to either excessive storage requirements or inadequate data retention.
A control device that acquires multiple types of time-series data and stores only the relevant data corresponding to the type of alarm, using a non-volatile storage unit, while managing storage space by deleting older alarm data when necessary.
The solution enables optimal data retention for alarm analysis, efficiently using storage space by storing only necessary data and allowing for more history data to be stored than with constant storage allocations.
Smart Images

Figure 2025097151000001_ABST
Abstract
Description
Technical Field
[0001] The disclosed technology relates to a control device, a display device, and a display program.
Background Art
[0002] Patent Document 1 describes a robot control device that periodically samples the torque command or actual current of motors in each part of a robot and holds the sampling data for a determined time width. Thereby, it is possible to check the sampling data for the time width determined retroactively from the time point when an alarm of the robot occurs in time series.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Generally, there are many types of alarms that can occur, and there are also a large number of time-series data that are desired to be confirmed in order to analyze the causes of the alarms, in addition to the torque commands and actual currents described in Patent Document 1. However, storing all the time-series data to be confirmed in the storage unit (such as a non-volatile memory) in the control device is not preferable because it causes design changes in the control device, such as replacing it with a non-volatile memory with a larger storage area.
[0005] On the other hand, in order to reduce the storage area, always holding only the same type of data may cause an excess or deficiency depending on the type of alarm, and it is difficult to say that the data optimal for analyzing the cause of the alarm is being held, and the storage area has not been used efficiently. Therefore, an object of the present invention is to provide a control device capable of holding data optimal for analyzing the cause of an alarm.
Means for Solving the Problems
[0006] The control device according to the first aspect is a control device that controls the operation of an actuator having a motor as a drive source, and includes an acquisition unit that acquires a plurality of types of time-series data including the state of the actuator, and from among the plurality of types of time-series data acquired by the acquisition unit, according to the type of alarm that can occur in the control device, a control unit capable of storing different types of time-series data as alarm data in a storage unit.
[0007] The control device according to the second aspect is the control device according to the first aspect, wherein the control unit stores the alarm data corresponding to the relationship between the type of the alarm and the type of time-series data related to the type of the alarm in the storage unit.
[0008] The control device according to the third aspect is the control device according to the first aspect, wherein when a new alarm occurs and the free space in the storage unit is less than a predetermined value, the control unit deletes the alarm data corresponding to the oldest-occurring alarm stored in the storage unit and stores the alarm data corresponding to the type of the new alarm in the storage unit.
[0009] The control device according to the fourth aspect is the control device according to the third aspect, wherein when a new alarm occurs and the free space in the storage unit is greater than or equal to the predetermined value, the control unit stores the alarm data corresponding to the type of the new alarm in the storage unit in addition to the alarm data already stored in the storage unit.
[0010] The control device according to the fifth aspect is the control device according to the first aspect, wherein the acquisition unit acquires instantaneous values constituting the time-series data at predetermined intervals and stores them in a volatile storage unit capable of temporarily storing them, and when the alarm occurs, the control unit copies the instantaneous values for a predetermined period stored in the volatile storage unit to a non-volatile storage unit as the alarm data.
[0011] The display device according to the sixth aspect includes an input unit that inputs the alarm data stored in the storage unit of the control device according to any one of the first to fifth aspects, and causes the display unit to display a graph based on the alarm data input by the input unit.
[0012] The display program according to the seventh aspect causes a computer to execute a process of inputting the alarm data stored in the storage unit of the control device according to any one of the first to fifth aspects, and displaying a graph based on the input alarm data on the display unit.
Advantages of the Invention
[0013] The present invention can hold data optimal for analyzing the causes of alarms.
Brief Description of the Drawings
[0014]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Mode for Carrying Out the Invention
[0015] Hereinafter, the control system 100 according to the present embodiment will be described with reference to the drawings. In each drawing, the same or equivalent components and parts are given the same reference numerals. Also, the dimensional ratios in the drawings are exaggerated for convenience of explanation and may be different from the actual ratios. Further, the present disclosure is not limited to the following embodiments, and can be implemented with appropriate modifications within the scope of the object of the present disclosure.
[0016] (Configuration of Control System) FIG. 1 is a diagram schematically showing an example of the hardware configuration of the control system 100 and the drive control device 20 according to the present embodiment.
[0017] The control system 100 of the present embodiment includes a display device 10, a drive control device 20, and an actuator 30. Note that the control system 100 may include a PLC (Programmable Logic Controller) not shown. Also, in FIG. 1, the display device 10, the drive control device 20, and the actuator 30 are shown one by one, but there may be a plurality of each. The drive control device 20 is an example of a "control device".
[0018] The drive control device 20, the display device 10, and the actuator 30 are connected via a network. Examples of the network include the Internet, LAN (Local Area Network), WAN (Wide Area Network), and in addition, networks using serial communication such as USB (Universal Serial Bus), RS-485, and RS-232C. Each device may be provided with a communication I / F (not shown) and be capable of communicating with each other by wire or wirelessly.
[0019] The display device 10 is a computer equipped with a display, a teaching pendant, etc. The computer and the teaching pendant are examples of a "display device". The display is an example of a "display unit". The display device 10 is connected to the drive control device 20 as needed by the user, for example, when it is desired to analyze the cause of an alarm that has occurred, when it is desired to teach the operation of the actuator 30, when it is desired to test-drive the actuator 30, or when it is desired to monitor the operating state of the actuator 30.
[0020] The actuator 30 is an electric drive device including a motor 31, a slider 32, and various sensors (not shown) as components. Specifically, the motor 31 is a servo motor, a pulse motor, etc. Note that the actuator 30 may be provided with a rod, a table, etc. instead of the slider 32, as long as the motor 31 is used as the drive source. In addition, examples of the actuator 30 include a rotary type actuator capable of rotating a load and a gripper type actuator used as a robot hand.
[0021] The drive control device 20 is a device that controls the actuator 30. In addition, the drive control device 20 is connected to the display device 10 as needed and outputs information to the display device 10.
[0022] (Configuration of the drive control device) As shown in FIG. 1, the drive control device 20 includes a CPU (Central Processing Unit) 21, a ROM (Read Only Memory) 22, a RAM (Random Access Memory) 23, a FeRAM (Ferroelectric Random Access Memory) 24, a storage 25, and an input / output I / F 26. Each component is connected to be communicable with each other via a bus 27. The RAM 23 is an example of a "volatile storage unit". The FeRAM 24 is an example of a "non-volatile storage unit". Note that the drive control device 20 may not include the storage 25.
[0023] The CPU 21 is a central processing unit that executes various programs and controls each part. The ROM 22 stores various programs and various data. The RAM 23 temporarily stores a program or data as a work area. That is, the CPU 21 reads a program from the ROM 22 and executes the program using the RAM 23 as a work area.
[0024] FIG. 2 is a diagram schematically showing an example of the configuration of the ROM 22 of the drive control device 20 according to the present embodiment. The ROM 22 of the present embodiment stores data including a control program 22A, an alarm list 22B, a time series data list 22C, and an alarm table 22D. Note that the control program 22A, the alarm list 22B, the time series data list 22C, and the alarm table 22D may be stored in the FeRAM 24 or the storage 25.
[0025] The control program 22A is a program that executes a process including a replication process (see FIG. 10) described later. When the control program 22A is executed, the drive control device 20 executes a process based on the control program 22A using various hardware resources (see FIG. 1).
[0026] The alarm list 22B is an information table that stores an alarm code (hereinafter, may be referred to as an "alarm code") and the type of alarm corresponding to the code.
[0027] FIG. 3 is a diagram schematically showing an example of the alarm list 22B according to the present embodiment. In the alarm list 22B of the present embodiment, the code of "A01" and the type of alarm corresponding to the code, "deviation overflow", are stored. Further, in the alarm list 22B, the code of "A02" and the type of alarm corresponding to the code, "overheat", are stored. And in the alarm list 22B, the code of "A03" and the type of alarm corresponding to the code, "load cell abnormality", are stored. Here, "deviation overflow" is an alarm that occurs when it is detected that the deviation between the command position and the actual position is excessive. Also, "overheat" is an alarm that occurs when it is detected that the temperature of the substrate is abnormal or the regenerative discharge power is excessive. And "load cell abnormality" is an alarm that occurs when an abnormality related to the load cell, such as load cell overload or load cell failure, is detected. Note that a plurality of codes and types of alarms other than the above-described codes and types of alarms may be stored in the alarm list 22B.
[0028] The time-series data list 22C in FIG. 2 is an information table that stores a data type ID that is an ID indicating the type of time-series data and the type of time-series data corresponding to the ID.
[0029] FIG. 4 is a diagram schematically showing an example of the time-series data list 22C according to the present embodiment. In the time-series data list 22C of the present embodiment, an ID of "T01" and "current command position" are stored as the type of time-series data corresponding to the ID. Further, in the time-series data list 22C, an ID of "T02" and "current position" are stored as the type of time-series data corresponding to the ID. And, in the time-series data list 22C, an ID of "T03" and "operation planned speed" are stored as the type of time-series data corresponding to the ID. Here, the "current command position" is time-series data indicating a pre-set command position. Also, the "current position" is time-series data indicating a measured actual position. And, the "operation planned speed" is time-series data indicating a pre-set operation speed. Note that the alarm list 22B may store a plurality of IDs and types of time-series data other than the above-described IDs and types of time-series data.
[0030] The alarm table 22D in FIG. 2 is composed of a plurality of alarm tables that store the types of time-series data acquired corresponding to each alarm. Each alarm table of the present embodiment can store up to 16 types of time-series data types. Also, in each alarm table, the number assigned to each time-series data is referred to as a channel (hereinafter, referred to as "CH"). Note that the types of time-series data that can be stored in the alarm table 22D may be 17 types or more.
[0031] FIG. 5 is a diagram schematically showing an example of the alarm table 22D according to the present embodiment. In the alarm table 22D of the present embodiment, a plurality of alarm tables are stored corresponding to each alarm. Specifically, an alarm table 22D1 corresponding to the alarm code "A01", an alarm table 22D2 corresponding to the alarm code "A02", and an alarm table 22D3 corresponding to the alarm code "A03" are stored. And in each alarm table, "CH number", "type of time-series data", "display unit", etc. are stored. Note that information other than these may be stored in each alarm table. As an example, a data type ID may be stored. Specifically, the method of storing the data type ID may be to add and store the "data type ID" corresponding to each type of time-series data, or to store the "data type ID" instead of storing the "type of time-series data". Specifically, storing the "data type ID" instead of storing the "type of time-series data" means storing "T01" by replacing the "current command position" stored as the type of time-series data.
[0032] In the alarm table 22D1, six types of time-series data types from CH "0" to "5" are stored. In order from CH "0" to "5", "current command position", "current position", "operation planned speed", "current speed", "feedback current value", and "DC bus voltage value" are stored. Also, as display units, in order from CH "0" to "5", "mm", "mm", "mm / s", "mm / s", "%", and "V" are stored. Next, in the alarm table 22D2, five types of time-series data types from CH "0" to "4" are stored. In order from CH "0" to "4", "current position", "feedback current value", "DC bus voltage value", "PCB (Printed Circuit Board) temperature", and "estimated regenerative discharge energy amount" are stored. Also, as display units, in order from CH "0" to "4", "mm", "%", "V", "°C", and "W" are stored. Furthermore, in the alarm table 22D3, four types of time-series data types from CH "0" to "3" are stored. In order from CH "0" to "3", "current position", "current speed", "feedback current value", and "current load" are stored. Also, as display units, in order from CH "0" to "3", "mm", "mm / s", "%", and "N" are stored.
[0033] Figure 6 is a diagram schematically showing an example of the configuration of the RAM 23 of the drive control device 20 according to the present embodiment. The RAM 23 of the present embodiment temporarily stores data including time-series data 23A. The area for storing the time-series data 23A of the RAM 23 of the present embodiment has a structure of a ring buffer, where the oldest time-series data is overwritten with the latest time-series data, and time-series data for a certain period of time is accumulated.
[0034] The time-series data 23A is composed of a plurality of types of time-series data including the state of the actuator 30. The time-series data 23A of the present embodiment is composed of up to 16 types of time-series data. As an example, the time-series data 23A includes time-series data such as the current position, feedback current value, current command position, planned operation speed, current load, DC bus voltage value, estimated regenerative discharge power amount, PCB temperature, air temperature, and humidity. Note that the time-series data 23A may be composed of 17 or more types of time-series data.
[0035] Each time-series data constituting the time-series data 23A is composed of measurement values acquired at a fixed period from various sensors of the actuator 30 or the drive control device 20. The time-series data is composed of, as an example, a plurality of measurement values acquired at a sampling period of 10 ms. The measurement value is an example of an "instantaneous value". The sampling period of 10 ms is an example of a "predetermined period".
[0036] FIG. 7 is a diagram schematically showing an example of the configuration of the FeRAM 24 of the drive control device 20 according to the present embodiment. The FeRAM 24 of the present embodiment stores data including an alarm code (not shown) corresponding to the generated alarm, alarm history management information 24A, and history data 24B. The area for storing the history data 24B of the FeRAM 24 of the present embodiment has a structure of a ring buffer, which deletes the oldest history data and overwrites it with the latest history data, and accumulates the history data for a certain number of times. The history data is an example of "alarm data".
[0037] The alarm history management information 24A is an information table that stores management information of history data, which will be described later, stored in response to the occurrence of an alarm. Specifically, the alarm history management information 24A is composed of, for example, "ID information", "number of data CHs", and "data start record" of the time-series data included in the history data. The "ID information" stores the data type ID of the time-series data included in the history data, and the "number of data CHs" stores the number of types of the time-series data included in the history data. Note that the alarm history management information 24A of the present embodiment is referred to when a graph is displayed on the display of the display device 10 in the display process (see FIG. 14) described later. Further, the alarm history management information 24A may store an alarm code (see FIG. 3) corresponding to the generated alarm.
[0038] FIG. 8 is a diagram schematically showing an example of the data structure of the alarm history management information 24A according to the present embodiment. In the 0th to 3rd bytes of the alarm history management information 24A of the present embodiment, "ID information 1" is stored, in the 4th to 7th bytes, "ID information 2" is stored, in the 8th to 11th bytes, "number of data CHs" is stored, and after the 12th byte, "data start record" is stored.
[0039] In the 0th to 3rd bytes of the "ID information 1", the data type IDs of the time-series data stored in CH "0" to "3" of the alarm table are stored in order. Further, in the 0th to 3rd bytes of the "ID information 2", the data type IDs of the time-series data stored in CH "4" to "7" of the alarm table are stored in order. When the generated alarm is "deviation overflow", in the 0th to 3rd bytes of the "ID information 1", as an example, the data type IDs corresponding to "current command position", "current position", "operation planned speed", and "current speed" are stored in order. Further, in the 0th to 1st bytes of the "ID information 2", the data type IDs corresponding to "feedback current value" and "DC bus voltage value" are stored in order.
[0040] Note that although the maximum number of data type IDs for the time-series data that can store the alarm history management information 24A of this embodiment is eight, it is not limited to this. By adding a storage area for the data corresponding to "ID information 3", the number of data type IDs for the time-series data that can be stored can be increased to 12. Furthermore, by adding a storage area for the data corresponding to "ID information 4", the number of data type IDs for the time-series data that can be stored can be increased to a maximum of 16. However, it is not limited to this, and the number of data type IDs for the time-series data that can be stored may be 17 or more.
[0041] The "number of data CHs" stores the number of CHs of the time-series data that constitutes the history data. Specifically, the "number of data CHs" is the number of types of the time-series data that constitutes the history data. When the generated alarm is "deviation overflow", the "number of data CHs" is stored as "6", for example.
[0042] The "data start record" stores from which record of the FeRAM 24 the history data starts. Specifically, the "data start record" stores the start address of the history data stored in the FeRAM 24.
[0043] The history data 24B in FIG. 7 is composed of one or more history data stored in response to the occurrence of an alarm. The history data 24B of this embodiment is composed of a plurality of history data corresponding to a plurality of recently generated alarms. Note that the history data stored in the FeRAM 24 may be limited to the four most recently generated alarms. Also, it may be configured to leave specific history data among the past history data, not limited to the history data corresponding to a plurality of recently generated alarms.
[0044] Each piece of history data that constitutes the history data 24B is composed of a plurality of types of time-series data for a predetermined period stored according to the type of alarm that has occurred. Specifically, the history data is data obtained by copying, from the time-series data 23A stored in the RAM 23 for a predetermined period, a plurality of types of time-series data that differ according to the alarm that has occurred, to the FeRAM 24. As an example, the history data is data obtained by copying six types of time-series data stored in the alarm table 22D1 from the RAM 23 to the FeRAM 24 only for 10 seconds before and after the occurrence of the alarm (for example, 9 seconds before the occurrence and 1 second after the occurrence). The 10 seconds before and after the occurrence of the alarm is an example of the "predetermined period".
[0045] The storage 25 in FIG. 1 is composed of an HDD (Hard Disk Drive), an SSD (Solid State Drive), etc., and stores various programs and various data.
[0046] The input / output I / F 26 is an interface for connecting to a device for input / output. Specifically, the input / output I / F 26 of the present embodiment is connected to the display device 10 and the actuator 30.
[0047] (Function of the drive control device) FIG. 9 is a diagram schematically showing an example of the functional configuration of the drive control device 20 according to the present embodiment. In the drive control device 20 of the present embodiment, the CPU 21 functions as an acquisition unit 21A, a control unit 21B, and an output unit 21C by executing the control program 22A.
[0048] The acquisition unit 21A has a function of acquiring a plurality of types of time-series data. Specifically, the acquisition unit 21A acquires measurement values including the state of the actuator 30 at a predetermined cycle and stores them in the RAM 23 as time-series data.
[0049] The control unit 21B has a function of storing a plurality of different types of time-series data according to the type of alarm. Specifically, the control unit 21B stores an alarm code (type information) corresponding to the type of the generated alarm in the FeRAM 24, and among the plurality of types of time-series data acquired by the acquisition unit 21A, a plurality of types of time-series data different according to the type of the generated alarm are stored in the FeRAM 24 as history data for a predetermined period in association with the alarm code. That is, the control unit 21B stores the alarm code corresponding to the type of the generated alarm and the history data in the FeRAM 24 in association with each other. Note that the alarm code may be stored in the FeRAM 24 in a form included in the alarm history management information 24A.
[0050] In addition, the control unit 21B has a function of securing a storage area for storing a plurality of time-series data corresponding to a new alarm when the new alarm occurs. Specifically, when the free area of the FeRAM 24 is less than a predetermined value, the control unit 21B deletes the history data corresponding to the oldest generated alarm among the stored time-series data. As an example, when the control unit 21B determines that there is no free area in the FeRAM 24 with a capacity capable of storing history data consisting of 16 types of time-series data, the control unit 21B deletes the oldest history data. Then, at the same time as deleting the oldest history data, the control unit 21B sets the "number of data CHs" in the alarm history management information 24A corresponding to the history data to "0". The capacity capable of storing history data consisting of 16 types of time-series data is an example of the "predetermined value of the free area".
[0051] On the one hand, when the free area of the FeRAM 24 is equal to or greater than a predetermined value, the control unit 21B stores, in addition to the already stored history data, history data corresponding to a new alarm in the FeRAM 24. Further, the predetermined value of the free area may change each time an alarm occurs. For example, when the type of the generated alarm is "deviation overflow", the control unit 21B may determine whether to delete the oldest history data using, as the "predetermined value of the free area", the capacity capable of storing the time-series data of the type stored in the alarm table 22D1, that is, six types of time-series data.
[0052] The output unit 21C has a function of outputting to an external device an alarm code corresponding to the type of the generated alarm and a plurality of types of time-series data associated with the alarm code and stored corresponding to the generated alarm. Specifically, the output unit 21C outputs the alarm code, the alarm history management information 24A, and the history data 24B stored in the FeRAM 24 to the display device 10. Note that the alarm code may be output in a form included in the alarm history management information 24A.
[0053] (Duplication process) FIG. 10 is a flowchart schematically showing an example of the flow of the duplication process according to the present embodiment. The duplication process of the present embodiment is a process executed when the drive control device 20 controls the drive of the actuator 30.
[0054] In step S100 of FIG. 10, the CPU 21 acquires a plurality of types of measurement values including the state of the actuator 30 at a predetermined cycle. As an example, the acquisition unit 21A acquires the current position and the current speed of the slider 32 at a cycle of 10 ms and stores them in the RAM 23.
[0055] In step S101, the CPU 21 stores the acquired plurality of types of measurement values in the RAM 23 as time-series data for each type. As an example, the CPU 21 stores, in the RAM 23, data of the measurement values obtained by measuring the current position and the current speed of the slider 32 at a sampling cycle of 10 ms.
[0056] In step S102, the CPU 21 determines whether an alarm has occurred. If the CPU 21 determines that an alarm has occurred (step S102: YES), it proceeds to step S103. On the other hand, if the CPU 21 determines that no alarm has occurred (step S102: NO), it returns to step S100. That is, the CPU 21 continues the process of storing multiple types of time-series data in the RAM 23 until an alarm occurs. After the alarm has occurred, the process of storing multiple types of time-series data in the RAM 23 (steps S100 and S101) may continue, or the process may be stopped after a predetermined time has elapsed. As an example, the predetermined time is 1 second after the alarm has occurred.
[0057] In step S103, the CPU 21 acquires multiple different types of time-series data from the RAM 23 according to the type of the occurred alarm. Specifically, the CPU 21 acquires multiple types of time-series data by referring to the alarm table 22D, and acquires the alarm code corresponding to the occurred alarm by referring to the alarm list 22B. As an example, when the type of the occurred alarm is "deviation overflow", the CPU 21 acquires the time-series data of the type stored in the alarm table 22D1 from the RAM 23, and acquires the alarm code of "A01" stored in the alarm list 22B from the ROM 22B.
[0058] In step S104, the CPU 21 determines whether the free capacity of the FeRAM 24 is less than a predetermined value. If the CPU 21 determines that the free capacity of the FeRAM 24 is less than the predetermined value (step S104: YES), it proceeds to step S105. On the other hand, if the CPU 21 determines that the free capacity of the FeRAM 24 is not less than the predetermined value (that is, determines that it is equal to or greater than the predetermined value, S104: NO), it proceeds to step S106.
[0059] In step S105, the CPU 21 deletes a plurality of types of time-series data corresponding to the oldest generated alarm stored in the FeRAM 24. As an example, the CPU 21 deletes the oldest history data stored in the FeRAM 24. Then, the CPU 21 proceeds to step S106.
[0060] In step S106, the CPU 21 copies the acquired plurality of types of time-series data to the FeRAM 24. Specifically, the CPU 21 copies the plurality of types of time-series data acquired in step S103 to the free area of the FeRAM 24 for a predetermined period, and associates and stores in the FeRAM 24 the alarm code acquired in step S103 corresponding to the type of alarm determined to have occurred in step S102 with the time-series data. As an example, when the type of the generated alarm is "deviation overflow", the CPU 21 associates and stores in the FeRAM 24 the alarm code of "A01" and the type of time-series data stored in the alarm table 22D1 for 10 seconds before and after (for example, 9 seconds before occurrence and 1 second after occurrence) of the occurrence of the alarm. Then, the CPU 21 ends the copying process. In step S105, although the CPU 21 proceeds to step S106 after deleting the oldest history data stored in the FeRAM 24, it is not limited thereto. After the process of step S105, the CPU 21 may return to step S104 to determine whether the free capacity of the FeRAM 24 is less than a predetermined value. That is, even after deleting the oldest history data, the CPU 21 may proceed to step S106 after determining that the free capacity of the FeRAM 24 is equal to or more than a predetermined value.
[0061] FIG. 11 is a diagram schematically showing the replication process according to the present embodiment. As described above, the time-series data 23A is temporarily stored in the RAM 23, and the history data 24B is stored in the FeRAM 24. The history data 24B of the present embodiment is composed of "history n data" as the n-th history data, "history n+1 data" as the (n+1)-th history data, and "history n+2 data" as the (n+2)-th history data. In addition, the number of regions separated by the broken line indicates the number of time-series data included in the history data, and it is shown that four types (4 CH) of time-series data are stored in the history n data. Similarly, it is shown that three types (3 CH) of time-series data are stored in the history n+1 data, and five types (5 CH) of time-series data are stored in the history n+2 data.
[0062] Here, when the above-described replication process is executed when an alarm occurs, the CPU 21 copies the time-series data for a predetermined period corresponding to the alarm stored in the RAM 23 to the free area 1 of the FeRAM 24 as the (n+3)-th history data. Then, when the "history n+3 data", which is the (n+3)-th history data, is data with a capacity exceeding the free area 1, the CPU 21 stores the "history n+3 data" continuously in the free area 2 following the free area 1. In addition, when a part of the history n data is overwritten by the history n+3 data, the CPU 21 sets the "number of data CHs" of the alarm history management information 24A corresponding to the history n data to "0". Then, when a part of the history n+1 data is overwritten and when a part of the history n+2 data is overwritten, the CPU 21 similarly sets the "number of data CHs" of the alarm history management information 24A corresponding to each history data to "0". Then, when the CPU 21 sets the "number of data CHs" of the alarm history management information 24A to "0", it deletes the corresponding history data. Note that the CPU 21 does not necessarily have to delete the history data, and it is sufficient that new history data can be stored.
[0063] (Summary of the drive control device of the present embodiment) The drive control device 20 of this embodiment acquires a plurality of types of time-series data including the state of the actuator 30, and stores a plurality of types of time-series data different according to the type of alarm from among the acquired plurality of types of time-series data as history data in the FeRAM 24. Therefore, according to the drive control device 20 of this embodiment, it is possible to hold data optimal for analyzing the cause of the alarm.
[0064] The drive control device 20 of this embodiment stores the history data based on an alarm table 22D showing the relationship between the type of alarm and the types of time-series data related to the type of alarm. Therefore, according to the drive control device 20 of this embodiment, it is possible to store only the time-series data related to the generated alarm.
[0065] When a new alarm occurs, the drive control device 20 of this embodiment deletes the history data corresponding to the oldest generated alarm when the free capacity of the FeRAM 24 is less than a predetermined value, and stores the history data corresponding to the type of the new alarm in the FeRAM 24. Therefore, according to the drive control device 20 of this embodiment, the capacity of the FeRAM 24 can be used efficiently.
[0066] When a new alarm occurs, if the free capacity of the FeRAM 24 is equal to or greater than a predetermined value, the drive control device 20 of this embodiment adds and stores the history data corresponding to the type of the new alarm in the FeRAM 24. Therefore, according to the drive control device 20 of this embodiment, the capacity of the FeRAM 24 can be used efficiently. Also, the drive control device 20 of this embodiment can store more history data than when the number of history data to be stored is always constant.
[0067] The drive control device 20 of the present embodiment acquires measurement values constituting time-series data at predetermined intervals and stores them in the RAM 23. When an alarm occurs, time-series data consisting of measurement values for a predetermined period is copied to the FeRAM 24 as history data. Therefore, according to the drive control device 20 of the present embodiment, only time-series data consisting of measurement values necessary for analyzing the cause of the alarm can be acquired.
[0068] (Configuration of the display device) FIG. 12 is a diagram schematically showing an example of the hardware configuration of the display device 10 according to the present embodiment. The display device 10 includes a CPU 11, a ROM 12, a RAM 13, a display 14, a storage 15, and an input / output I / F 16. Each configuration is connected to be communicable with each other via a bus 17. Since the storage 15 is the same as the storage 25, the description thereof is omitted.
[0069] The CPU 11 is a central processing unit that executes various programs and controls each unit. The ROM 12 stores various programs and various data. The RAM 13 temporarily stores a program or data as a work area. That is, the CPU 11 reads a program from the ROM 12 and executes the program using the RAM 13 as a work area.
[0070] FIG. 13 is a diagram schematically showing an example of the configuration of the ROM 12 of the display device 10 according to the present embodiment. The ROM 12 of the present embodiment stores data including a display program 12A. Note that the display program 12A may be stored in the storage 15. The display program 12A is an example of a "program".
[0071] The display program 12A is a program that executes a process including a display process (see FIG. 15) described later. When the display program 12A is executed, the display device 10 executes a process based on the display program 12A using various hardware resources (see FIG. 12).
[0072] The input / output I / F 16 in FIG. 12 is an interface for connecting to a device for input / output. Specifically, the input / output I / F 16 in the present embodiment is connected to the drive control device 20.
[0073] (Function of the display device) FIG. 14 is a diagram schematically showing an example of the functional configuration of the display device 10 according to the present embodiment. In the display device 10 of the present embodiment, the CPU 11 functions as an input unit 11A and a display control unit 11B by executing a display program 12A.
[0074] The input unit 11A has a function of inputting an alarm code corresponding to the type of the generated alarm and a plurality of types of time-series data associated with the alarm code and stored corresponding to the generated alarm. Specifically, the input unit 11A inputs the alarm code, the alarm history management information 24A, and the history data 24B output from the output unit 21C of the drive control device 20 to the RAM 13. Note that the input unit 11A may store the alarm code, the alarm history management information 24A, and the history data 24B in the ROM 12 or the storage 15. Further, the alarm code may be input in a form included in the alarm history management information 24A.
[0075] The display control unit 11B has a function of displaying graphs of a plurality of types of time-series data. Specifically, the display control unit 11B refers to the alarm history management information 24A input to the RAM 13, creates graphs of the plurality of types of time-series data that make up the history data included in the history data 24B, and causes the display 14 to display them together with the "type of alarm" indicated by the alarm code associated with the history data. Further, the display control unit 11B causes the display 14 to display the "type of time-series data" indicated by the data type ID of each time-series data. Here, the display control unit 11B causes the display 14 to display the type of alarm indicated by the alarm code by referring to the alarm list 22B (see FIG. 3) stored in the ROM 22 of the drive control device 20. Also, the display device 11B causes the display 14 to display the type of time-series data indicated by the data type ID of each time-series data by referring to the time-series data list 22C (see FIG. 4) stored in the ROM 22 of the drive control device 20. Note that the display control unit 11B may refer to the alarm list 22B and the time-series data list 22C (not shown) stored in advance in the ROM 12, RAM 13, storage 15, etc. of the display device 10.
[0076] (Display Process) FIG. 15 is a flowchart schematically showing an example of the flow of the display process according to the present embodiment. The display process of the present embodiment is a process executed when displaying graphs of a plurality of types of time-series data corresponding to an alarm generated in the display device 10.
[0077] In step S200 of FIG. 15, the CPU 11 inputs the alarm code and a plurality of types of time-series data output from the drive control device 20. Specifically, the CPU 11 inputs the alarm code, the alarm history management information 24A, and the history data 24B stored in the FeRAM 24 output by the output unit 21C of the drive control device 20 to the RAM 13 of the display device 10.
[0078] In step S201, the CPU 11 causes a graph based on the input alarm code and multiple types of time-series data to be displayed. Specifically, the CPU 11 refers to the alarm code input in step S200 and the alarm history management information 24A, and causes a graph based on the time-series data constituting the history data included in the history data 24B to be displayed on the display 14 together with the "type of alarm" indicated by the alarm code associated with the history data. Further, the CPU 11 causes the "type of time-series data" indicated by the data type ID of each time-series data to be displayed at a position where the type of each time-series data displayed in the graph can be determined. As an example, when the CPU 11 causes a graph regarding "deviation overflow" to be displayed, the CPU 11 causes a graph of the time-series data of the type stored in the alarm table 22D1 constituting the history data to be displayed on the display 14 together with the name of "deviation overflow" as the type of alarm. Further, the CPU 11 causes the names of "current command position", "current position", "operation planned speed", "current speed", "feedback current value", and "DC bus voltage value" as the types of time-series data to be displayed on the display 14 in correspondence with the legends of the graphs indicating the respective time-series data. Then, the CPU 11 ends the display process.
[0079] (Summary of the display device of the present embodiment) The display device 10 of the present embodiment inputs the history data stored in the FeRAM 24 of the drive control device 20 and causes a graph based on the history data to be displayed on the display 14. Therefore, according to the display device 10 of the present embodiment, only the time-series data optimal for analyzing the cause of the alarm can be displayed as a graph. That is, according to the display device 10 of the present embodiment, it becomes easier to specify the cause of the alarm compared to the case where all the acquirable time-series data is displayed.
[0080] (Other embodiments) The drive control device 20 of the present embodiment stores, as history data, a plurality of types of time-series data for a predetermined period. However, not limited to this, the drive control device 20 may determine in advance the degree of relevance between the generated alarm and the type of time-series data, and change the predetermined period according to the degree of relevance to store the time-series data. Specifically, the drive control device 20 stores the time-series data with a lower degree of relevance to the generated alarm in a shorter period. As an example, the drive control device 20 stores, in the FeRAM 24, only the 5 seconds before and after the occurrence of the alarm (for example, 4 seconds before the occurrence and 1 second after the occurrence) for the time-series data with a lower degree of relevance to the generated alarm. Further, as an example, the drive control device 20 may not store in the FeRAM 24 the time-series data with a degree of relevance lower than a predetermined degree of relevance to the generated alarm. Thereby, compared with the case where the drive control device 20 stores only the time-series data for a predetermined period as history data, the drive control device 20 can store more types of time-series data in the storage area used for the history data. In addition, the drive control device 20 can reduce the storage area used for the history data compared with the case where the drive control device 20 stores only the time-series data for a predetermined period as history data.
[0081] Further, the drive control device 20 may be configured not to delete but to continue holding time-series data with a correlation degree higher than the predetermined correlation degree as described above in the FeRAM 24. As an example, when deleting the history data stored in the FeRAM 24, the drive control device 20 deletes only the time-series data with a correlation degree lower than the predetermined correlation degree among the plurality of time-series data constituting the history data, and continues to hold the time-series data with a correlation degree equal to or higher than the predetermined correlation degree. That is, the history data including the time-series data with a correlation degree equal to or higher than the predetermined correlation degree is not deleted but held. Further, the drive control device 20 updates the information of the alarm history management information 24A corresponding to the history data held without being deleted according to the type and number of the time-series data held in the history data. Here, the "data start record" of the alarm history management information 24A may be configured to store the start record address of each time-series data stored in the FeRAM 24. Further, when the number of the history data held without being deleted because it includes the time-series data with a correlation degree equal to or higher than the predetermined correlation degree stored in the FeRAM 24 becomes, for example, 5 or more, the drive control device 20 may be configured to delete the oldest such history data from the FeRAM 24.
[0082] Furthermore, the drive control device 20 may pre-determine the importance for each type of alarm that may occur, and when the importance of the occurred alarm is higher than the predetermined importance, the drive control device 20 may be configured not to delete but to continue holding the history data corresponding to the alarm in the FeRAM 24. As an example, when deleting the history data stored in the FeRAM 24, if the importance of the alarm corresponding to the history data is higher than the predetermined importance, the drive control device 20 does not delete the history data but deletes the next oldest history data. That is, the history data corresponding to the alarm with an importance equal to or higher than the predetermined importance is not deleted but held. Here, when the number of the history data held without being deleted because it corresponds to the alarm with an importance higher than the predetermined importance stored in the FeRAM 24 becomes, for example, 5 or more, the drive control device 20 may be configured to delete the oldest such history data from the FeRAM 24.
[0083] Alternatively, the importance of the alarm and the above-described relevance may be combined. That is, as an example, the drive control device 20 preferentially continues to hold (without deleting) time-series data in which the importance of the generated alarm is higher than a predetermined importance and the relevance to the alarm is higher than a predetermined relevance as compared with other time-series data. As an example, when deleting the history data corresponding to an alarm whose importance is higher than a predetermined importance and which is stored in the FeRAM 24, among the plurality of time-series data constituting the history data, only the time-series data whose relevance is less than a predetermined relevance is deleted, and the time-series data whose relevance is equal to or higher than the predetermined relevance is continuously held. That is, the history data including the time-series data whose relevance is equal to or higher than the predetermined relevance and corresponding to an alarm whose importance is higher than a predetermined importance is held without being deleted. Further, the drive control device 20 updates the information of the alarm history management information 24A corresponding to the history data held without being deleted according to the time-series data held in the history data. Here, when the number of history data held without being deleted and stored in the FeRAM 24 and including time-series data whose relevance is equal to or higher than a predetermined relevance and corresponding to an alarm whose importance is higher than a predetermined importance becomes, for example, 10 or more, the oldest such history data may be deleted from the FeRAM 24.
[0084] In the above description, it is determined whether to hold the time-series data or the history data based on whether the relevance is equal to or higher than a predetermined relevance or whether the importance is equal to or higher than a predetermined importance. However, it is not limited to this, and depending on the level of relevance or the level of importance, it may be determined whether to delete or the order of deletion may be determined. As an example, time-series data with a higher relevance or history data with a higher importance may be preferentially continued to be held (the order of deletion is made later).
[0085] In addition, the configurations of the control system 100, the drive control device 20, and the display device 10 described in the above embodiment are examples, and may be changed according to the situation without departing from the gist.
[0086] Also, the flow of the program processing described in the above embodiment is also an example, and within the scope not departing from the gist, unnecessary steps may be deleted, new steps may be added, or the processing order may be changed.
[0087] Note that in the above embodiment, the CPU refers to a processor in a broad sense, and includes, for example, a general-purpose processor such as a CPU (Central Processing Unit), and also includes dedicated processors such as a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and a programmable logic device.
[0088] Also, the operation of the processor in the above embodiment may be achieved not only by one processor, but also by a plurality of physically separated processors cooperating. Also, the order of each operation of the processor is not limited to the order described in the above embodiment, and may be changed as appropriate.
[0089] Also, in the above embodiment, the mode in which the program for information processing is pre-stored (installed) in the ROM is described, but it is not limited to this. The program may be provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a USB (Universal Serial Bus) memory. Also, the program may be in a form downloaded from an external device via a network.
Explanation of Reference Numerals
[0090] 10 represents a device, 11 CPU, 11A input section, 11B display control section, 12 ROM, 12A display program, 13 RAM, 14 display, 15 storage, 16 input / output I / F, 17 bus, 20 drive control device, 21 CPU, 21A acquisition section, 21B control section, 21C output section, 22 ROM, 22A control program, 22B alarm list, 22C time-series data list, 22D alarm table, 22D1 alarm table, 22D2 alarm table, 22D3 alarm table, 23 RAM, 23A time-series data, 24 FeRAM, 24A alarm history management information, 24B history data, 25 storage, 26 input / output I / F, 27 bus, 30 actuator, 31 motor, 32 slider, 100 control system
Claims
1. A control device for controlling the operation of an actuator having a motor as a drive source, an acquisition unit that acquires a plurality of types of time-series data including the state of the actuator, a control unit capable of storing, in a storage unit, as alarm data, a plurality of different types of time-series data from among the plurality of types of time-series data acquired by the acquisition unit, according to the type of alarm that can occur in the control device, A control device comprising:
2. The control unit, stores the alarm data according to the relationship between the type of the alarm and the type of time-series data related to the type of the alarm in the storage unit, The control device according to claim 1.
3. The control unit, when a new alarm occurs and the free space in the storage unit is less than a predetermined value, deletes the alarm data corresponding to the oldest-occurring alarm stored in the storage unit, and stores the alarm data corresponding to the type of the new alarm in the storage unit, The control device according to claim 1.
4. The control unit, when a new alarm occurs and the free space in the storage unit is greater than or equal to the predetermined value, stores the alarm data corresponding to the type of the new alarm in the storage unit in addition to the alarm data already stored in the storage unit, The control device according to claim 3.
5. The acquisition unit acquires instantaneous values constituting the time-series data at predetermined intervals and stores them in a volatile storage unit capable of temporarily storing them, when the alarm occurs, the control unit copies the instantaneous values for a predetermined period stored in the volatile storage unit to a non-volatile storage unit as the alarm data, The control device according to claim 1.
6. an input unit that inputs the alarm data stored in the storage unit of the control device according to any one of claims 1 to 5, a display control unit that causes a display unit to display a graph based on the alarm data input by the input unit, A display device comprising:
7. A display program that causes a computer to input the alarm data stored in the storage unit of the control device according to any one of claims 1 to 5, and display a graph based on the input alarm data on a display unit. execute a process.
Citation Information
Patent Citations
Method for displaying abnormality generation history of robot
JP1997311715A