Data collection systems, data collection methods and procedures
By setting shared public variables in the data collection system to collect and record data from industrial machines, the problem of low data collection efficiency in the prior art is solved, and efficient and convenient data management is achieved.
Patent Information
- Application Number
- CN202010875373.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-27
- Filing Date
- 2020-08-27
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2040-08-27
AI Technical Summary
It is difficult for prior art to effectively collect and record data on industrial machines, especially based on shared common variables.
Provides a data collection system, including a common variable setting module, a collection module and a recording module. The system collects and records data based on these common variables by setting shareable common variables from a number of variables of an industrial machine controlled by the control device.
Data collection and recording based on shared common variables are realized, which improves the convenience and efficiency of data collection, and reduces memory consumption, network traffic and processing load.
Smart Images

Figure CN112445189B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a data collection system, a data collection method, and a program. Background Art
[0002] In WO 2015 / 068210 A1, a system is described that is configured to collect data on the operation of an industrial machine controlled by a control device, upload the collected data to a cloud server, and request an analyst to analyze the data. Summary of the invention
[0003] A problem to be solved by embodiments of the present invention is to collect and record data about industrial machines, for example, based on sharable common variables.
[0004] According to one aspect of the present invention, a data collection system is provided, comprising: a common variable setting module, configured to set shareable common variables from multiple variables of an industrial machine controlled by a control device; a collection module, configured to collect data about the industrial machine based on the common variables; and a recording module, configured to record the data in a storage device.
[0005] According to one aspect of the present invention, there is provided a data collection method, comprising: setting a sharable common variable from a plurality of variables of an industrial machine controlled by a control device; collecting data on the industrial machine based on the common variable; and recording the data in a storage device.
[0006] According to one aspect of the present invention, there is provided a computer-readable storage medium storing a program that causes a computer to perform the following operations: based on a sharable common variable among a plurality of variables of an industrial machine controlled by a control device, data on the industrial machine is collected.
[0007] According to one aspect of the present invention, the data collection system further includes a collection setting module configured to perform collection settings related to the data based on the common variables, and the collection module is configured to collect data based on the common variables and the collection settings.
[0008] According to one aspect of the present invention, in a data collection system, a collection setting indicates a type of a common variable to be collected, and a collection module is configured to collect data based on the type indicated by the collection setting.
[0009] According to one aspect of the present invention, in the data collection system, the collection setting indicates a collection frequency of data, and the collection module is configured to collect data based on the collection frequency indicated by the collection setting.
[0010] According to one aspect of the present invention, in a data collection system, a collection setting indicates a start condition of data collection, and a collection module is configured to start collection of data based on the start condition indicated by the collection setting.
[0011] According to one aspect of the present invention, in a data collection system, a control device includes a control module, which is configured to obtain values of common variables from an industrial machine to record the obtained values in a storage device and control the industrial machine based on the values of the common variables, and the collection module is configured to collect data based on the values of the common variables recorded in the storage device of the control device.
[0012] According to one aspect of the present invention, the data collection system further includes a copy module configured to copy the values of the public variables recorded in the storage device of the control apparatus to another storage device, and the collection module is configured to collect data based on the values of the public variables copied to the other storage device.
[0013] According to one aspect of the present invention, the data collection system further includes an operation command transmission module configured to send an operation command related to the industrial machine to the control device based on the data.
[0014] According to one aspect of the present invention, in a data collection system, each of a control device and an industrial machine is connected to a network enabling synchronous communication, and a collection module is configured to transmit data based on a network different from the network.
[0015] According to one aspect of the present invention, the data collection system also includes an acquisition module, which is configured to acquire the value of a common variable from an industrial machine based on register information about the relationship between the common variable and the register of the industrial machine, and the collection module is configured to collect data based on the value of the common variable acquired by the acquisition module.
[0016] According to one aspect of the present invention, in a data collection system, a common variable setting module is configured to set common variables specified by a user of at least one of a control device and an industrial machine, a collection module is configured to send the collected data to a user different from the user, and a recording module is configured to record the data sent to different users in a storage device.
[0017] According to the above-described aspects of the present invention, for example, data on industrial machines can be collected and recorded based on sharable common variables. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 is a diagram showing an example of the overall configuration of a data collection system.
[0019] Figure 2 is a diagram showing how common variables are set in a data collection system.
[0020] Figure 3 is a functional block diagram illustrating functions to be implemented in a data collection system.
[0021] Figure 4 is a table showing a data storage example of a common variable list.
[0022] Figure 5 is a table showing a data storage example of register information.
[0023] Figure 6 is a table showing a data storage example of variable value data.
[0024] Figure 7 is a table showing a data storage example of collected setting data.
[0025] Figure 8 is a flowchart illustrating an example of processing to be performed in the data collection system.
[0026] Fig. 9 It is a functional block diagram in the modification example (3) of the present invention. DETAILED DESCRIPTION
[0027] [1. Overall configuration of the data collection system]
[0028] From the perspective of the inventor(s) of the present invention, when data about an industrial machine is collected based on its variables, there is no distinction between shared variables and non-shared variables, and data can be collected for any variable. As a result of extensive research and development to collect and record data about an industrial machine based on sharable common variables, the inventor(s) of the present invention conceived a novel and original data collection system, etc. A data collection system, etc. according to an embodiment of the present invention is now described in detail.
[0029] Figure 1 1 is a diagram showing an example of the overall configuration of a data collection system according to an embodiment of the present invention. Figure 1 As shown, the data collection system 1 includes a first user terminal 10, a controller 20, an industrial machine 30, a second user terminal 40, and a server 50. Each of these components is communicatively connected to each other. In this embodiment, each of the first user terminal 10, the controller 20, and the industrial machine 30 is connected to any network, such as Ethernet (trademark) or a dedicated communication standard. Each of the controller 20, the second user terminal 40, and the server 50 is connected to the Internet N.
[0030] The first user terminal 10 is a computer to be operated by a first user. The first user is a user (intermediate user) of at least one of the controller 20 and the industrial machine 30. For example, the first user is an engineer of a machine manufacturer, or a maintenance person in a facility where the controller 20 and the industrial machine 30 operate. The first user can manage both the controller 20 and the industrial machine 30, or can manage only one of the controller 20 and the industrial machine 30. That is, the user of the controller 20 and the user of the industrial machine 30 may be the same or different. For example, the first user operates the first user terminal 10 to create a program for at least one of the controller 20 and the industrial machine 30, set parameters for at least one of the controller 20 and the industrial machine 30, or perform recovery work in an abnormal situation.
[0031] For example, the first user terminal 10 is a personal computer, a cellular phone (including a smartphone), or a mobile terminal (including a tablet terminal). The first user terminal 10 includes a CPU 11 , a storage device 12 , a communicator 13 , an operation interface 14 , and a display 15 .
[0032] The CPU 11 includes at least one processor. The storage device 12 includes a RAM or a hard disk drive, and is configured to store various programs and data. The CPU 11 is configured to perform various types of processing based on these programs and data. The communicator 13 includes a network card and a communication interface, for example, various types of communication connectors, and is configured to communicate with other devices. The operation interface 14 is an input device such as a mouse and a keyboard. The display 15 is a liquid crystal display, an organic EL display, etc., and is configured to display various types of screens according to instructions from the CPU 11.
[0033] The controller 20 is a computer configured to control at least one industrial machine 30. The controller 20 is an example of a control device in an embodiment of the present invention. Therefore, the term "controller 20" used in this article can be understood as a "control device". The controller 20 can be any computer capable of controlling another device. For example, the controller 20 can be a programmable logic controller (PLC), or a computer with other names having equivalent functions to the PLC. In addition, for example, the controller 20 can be a motor controller, a robot controller, etc. The overall data collection system 1 can be referred to as a "cell", which is a smaller unit than a line. In this case, the controller 20 can be referred to as a "cell controller".
[0034] The controller 20 includes a CPU 21, a storage device 22, a communicator 23, and an Internet of Things (IoT) module 24. The physical configuration of each of the CPU 21, the storage device 22, and the communicator 23 may be the same as that of the CPU 11, the storage device 12, and the communicator 13, respectively.
[0035] The IoT module 24 is an integrated circuit for sending data to another computer via a network (e.g., the Internet N). For example, the IoT module 24 may include a CPU, a storage device, and a communicator, and their functions are respectively the same as those of the CPU 21, the storage device 22, and the communicator 23. Instead of a general-purpose processor (e.g., a CPU), the IoT module 24 may have a dedicated circuit created to perform a specific process. For example, each of the CPU 21, the storage device 22, and the communicator 23 is mainly used to control the industrial machine 30, and the IoT module 24 is mainly used to collect data. When each of the CPU 21, the storage device 22, and the communicator 23 has a data collection function, the IoT module 24 may be omitted.
[0036] The industrial machine 30 is a device configured to execute a predetermined process. The industrial machine 30 may also be referred to as a "controlled device" controlled by the controller 20, or as a "managed device" managed by the controller 20. The industrial machine 30 may be any type of machine, and may be, for example, a robot controller, an industrial robot, a motor controller, a machine tool, a press machine, or a conveying machine. A PLC is also a type of industrial machine. The industrial machine 30 includes a CPU 31, a storage device 32, and a communicator 33. The physical configuration of each of the CPU 31, the storage device 32, and the communicator 33 may be the same as the physical configuration of the CPU 11, the storage device 12, and the communicator 13, respectively.
[0037] The industrial machine 30 may also include other physical components. For example, the industrial machine 30 may include an integrated circuit for a specific application, referred to as an "ASIC". Any physical component may be connected to the industrial machine 30. For example, a machine to be controlled (e.g., a motor, etc.), a sensor for detecting motor operation, a camera for photographing the state of a workpiece to be processed, an input / output device, or another industrial machine may be connected. The number of industrial machines 30 controlled by the controller 20 may be any number. For example, the controller 20 may control only one device, or may control two or more devices.
[0038] The second user terminal 40 is a computer operated by a second user. The second user is a person who collects data. The second user is a terminal user of the data collection system 1. For example, the second user is a person in a company who is responsible for collecting and analyzing data. For example, the second user manages the collected data and analyzes the data. In this embodiment, the second user is a different user from the first user. For example, the company of the first user and the company of the second user are different.
[0039] For example, the second user terminal 40 is a personal computer, a cellular phone (including a smart phone), or a mobile terminal (including a tablet terminal). The second user terminal 40 includes a CPU 41, a storage device 42, a communicator 43, an operation interface 44, and a display 45. The physical configuration of each of the CPU 41, the storage device 42, the communicator 43, the operation interface 44, and the display 45 may be the same as the physical configuration of the CPU 11, the storage device 12, the communicator 13, the operation interface 14, and the display 15, respectively.
[0040] The server 50 is a server computer. The server 50 includes a CPU 51, a storage device 52, and a communicator 53. The physical configuration of each of the CPU 51, the storage device 52, and the communicator 53 may be the same as the physical configuration of the CPU 11, the storage device 12, and the communicator 13, respectively. The server 50 is configured to manage data collected by the controller 20 and analyze the operation of the industrial machine 30 based on the data. In this embodiment, the server 50 is under the control of the second user.
[0041] The programs and data described as being stored in each of the storage devices 12, 22, 32, 42, and 52 may be provided through a network. In addition, the hardware configuration of each device is not limited to the above example, and various types of hardware may be applied. For example, a reader configured to read a computer-readable information storage medium (e.g., an optical drive or a memory card slot) and an input / output device configured to be directly connected to an external device (e.g., a USB terminal) may be included. In this case, the programs and data stored in the information storage medium may be provided through the reader or the input / output device.
[0042] [2. Overview of the data collection system]
[0043] In this embodiment, the controller 20 is configured to store a control program for controlling the industrial machine 30. For example, when the industrial machine 30 executes a plurality of processes in a predetermined order, the control program describes the execution order of each process. In addition, for example, when a plurality of industrial machines 30 operate in a predetermined order, the control program describes the operation order of each industrial machine 30. The controller 20 sends instructions to the industrial machine 30 based on the control program. The industrial machine 30 stores a device program for executing mutually related processes and variables. The industrial machine 30 receives the instruction from the controller 20 and executes the device program based on the value of the variable.
[0044] A "process" is a task or operation to be performed by the industrial machine 30. The process may consist of only one task or a combination of multiple tasks. The process may have any content according to the purpose of the industrial machine 30. For example, the process is to identify a workpiece, grasp a workpiece, open / close a door, set a workpiece, or perform processing using a machine tool. The industrial machine 30 performs at least one process. The number of processes performed by the industrial machine 30 may be any number. The industrial machine 30 may perform only one process or may perform multiple processes.
[0045] The device program is a program that defines the operation of the industrial machine 30. In the device program, each program of each process is defined. The device program can be created in any language according to the industrial machine 30, and is created in, for example, a ladder language or a robot language. In this embodiment, a device program is prepared for each process. Therefore, when a certain industrial machine 30 is to execute n (n is a natural number) processes, the industrial machine 30 stores at least n device programs.
[0046] A variable is information that serves as an execution condition of a process. For example, the industrial machine 30 stores a variable for starting a process, a variable for temporarily stopping a process, or a variable for ending a process. A variable may also be referred to as an "input / output variable". Each variable is stored in a specific register of the storage device 32 of the industrial machine 30. It is assumed that the relationship between each variable and each register (which variable is stored in which register) is specified in advance by the creator of the device program. The variable stored in the register can be appropriately referenced by another device (e.g., the controller 20).
[0047] In this embodiment, in addition to the variables used as the execution conditions of the process, the industrial machine 30 also stores various other variables, such as variables indicating intermediate calculation results, or variables indicating physical quantities detected by sensors (e.g., torque values detected by a torque sensor or motor rotation speeds detected by an encoder). Among these variables, there are variables that are preferably not shared with the second user. For example, it is preferable not to disclose to the second user a variable that is hidden as a proprietary technology of the first user, or a variable that may cause a malfunction of the industrial machine 30 when handled by a second user who is not familiar with the device program.
[0048] Therefore, the data collection system 1 of this embodiment is configured to set a sharable common variable from a plurality of variables of the industrial machine 30. For example, when a first user operates the first user terminal 10 to create a control program and a device program and define a plurality of variables of the industrial machine 30, the first user sets a common variable that can be shared with a second user from a plurality of variables.
[0049] Figure 2is a diagram showing how to set common variables in the data collection system 1. Figure 2 As shown in step (1), the first user creates a public variable list by operating the first user terminal 10 to specify public variables that can be shared with the second user, and sets the list in the controller 20. The first user can set any variable as a public variable from a plurality of variables of the industrial machine 30. The first user can set all variables as public variables, but in this embodiment, the user sets only a part of the variables as public variables. The public variable list is stored in the controller 20.
[0050] like Figure 2 As shown in step (2), the controller 20 sends the public variable list to the second user terminal 40. When the second user terminal 40 receives the public variable list, the second user operates the second user terminal 40 to select the public variables to be collected (data collection targets). The second user can select all the public variables indicated in the public variable list as data collection targets, or can select only a part of these public variables as data collection targets.
[0051] like Figure 2 As shown in step (3), the second user terminal 40 sends the collection setting data indicating the public variable selected by the second user to the controller 20. When the controller 20 receives the collection setting data, the controller 20 stores the collection setting data in the IoT module 24. Then, data collection can be started from that point in time based on the public variable selected by the second user.
[0052] In this embodiment, the case where the CPU 21 of the controller 20 acquires all public variables from the industrial machine 30 is described, and the public variables to be sent to the server 50 are narrowed down by the IoT module 24. Figure 2 As shown in step (4), the CPU 21 of the controller 20 obtains the values of all public variables from the industrial machine 30 and records the obtained values in the storage device 22. The values of the public variables recorded in the storage device 22 are copied to the IoT module 24. The IoT module 24 narrows down the values of the public variables selected by the second user from the public variables copied to the IoT module 24 based on the collected setting data.
[0053] like Figure 2 As shown in step (5), the IoT module 24 of the controller 20 collects data about the industrial machine 30 based on the value of the common variable selected by the second user, and sends the data to the server 50 at any time. When the server 50 receives the data, the server accumulates the data in a database. The data accumulated in the database can be used for any purpose. For example, the data can be used for analysis by the second user, or can be used for recovery when an abnormality occurs in the industrial machine 30.
[0054] As described above, the data collection system 1 sends a public variable list indicating the public variables set by the first user to the second user. The data collection system 1 collects data about the industrial machine 30 based on the public variables selected by the second user from the public variable list, and accumulates the data in the server 50. Thus, the second user is allowed to collect only the values of the public variables selected by the second user, and the second user is prevented from collecting the values of the variables that are not set as public variables. The data collection system 1 is now described in more detail.
[0055] [3. Functions to be implemented in the data collection system]
[0056] Figure 3 is a functional block diagram showing functions to be implemented in the data collection system 1. In this embodiment, functions to be implemented in each of the first user terminal 10, the controller 20, the industrial machine 30, the second user terminal 40, and the server 50 are described.
[0057] [3-1. Functions to be implemented in the first user terminal]
[0058] like Figure 3 As shown, in the first user terminal 10, a data storage device 100 and a public variable setting module 101 are implemented.
[0059] [Data storage device]
[0060] The data storage device 100 is mainly implemented by the storage device 12. The data storage device 100 is configured to store data sets of each of the controller 20 and the industrial machine 30. For example, the data storage device 100 stores a control program, a device program, a common variable list, and register information.
[0061] In this embodiment, the industrial machine 30 executes the device program based on the variable, so the control program is a program for controlling the value of the variable associated with the device program. For example, when the industrial machine 30 is caused to execute multiple processes in succession, the control program describes instructions for changing the value of the variable associated with the device program of each process. In addition, for example, when the end of a given device program is a condition for starting another device program, the fact that the variable indicating the end of the given device program becomes a predetermined value is described in the control program as a condition for starting another device program. When the variable is not particularly used to control the process, the control program can be created in a known language (such as a ladder language or a robot language). For example, the first user creates the control program using an engineering tool installed in the first user terminal 10.
[0062] In this embodiment, the device program is executed based on the variables, so the data storage device 100 also stores the settings of the variables associated with the device program. Variables with any content can be set. For example, a "start" variable for starting the device program, an "end" variable indicating the end of the device program, an "abort" variable indicating an abnormality during the execution of the device program, and a "busy" variable indicating a busy state can be set. For example, the first user uses an engineering tool installed in the first user terminal 10 to create a device program and set variables. As described above, the device program can be created in a known language such as a ladder language or a robot language.
[0063] Figure 4 is a table showing an example of data storage of a public variable list. Figure 4 As shown, the public variable list L includes information for identifying variables designated as public variables. For example, the public variable list L stores the name of each variable designated as a public variable and comments about each of these variables. The variable name is an example of information for identifying a variable. A variable can also be identified based on information other than a name, such as an ID. The comment is any string entered by the first user. The comment shows information such as the content and purpose of the variable. The public variable list L is not limited to Figure 4 An example of , and a list of all variables and a flag indicating whether each variable is a public variable can be stored. In this case, the flag value is specified by the first user.
[0064] Figure 5 is a table showing an example of data storage of register information. Figure 5 As shown, the register information R indicates a register (address) storing each of a plurality of variables of the industrial machine 30. For example, the register information R indicates, for each variable, the address of the register storing the variable value. The register information R may show the registers of all variables of the industrial machine 30, or may show only the registers of a part of the variables. For example, the register information R may include only the registers of the common variables. For example, when creating a device program, for example, the first user specifies the correspondence between the variables and the registers to create the register information.
[0065] The data to be stored in the data storage device 100 is not limited to the above examples. For example, the data storage device 100 may store an engineering tool for the first user to create a program and perform various setting operations. In addition, for example, the data storage device 100 may store code information about a control program or device program being created.
[0066] [Common variable setting module]
[0067] The common variable setting module 101 is mainly implemented by the CPU 11. The common variable setting module 101 is configured to set a sharable common variable from a plurality of variables of the industrial machine 30 controlled by the controller 20. "Setting a common variable" means determining a common variable from a plurality of variables. In other words, recording information for identifying a variable designated as a common variable in a computer (e.g., the controller 20) corresponds to setting a common variable. In this embodiment, creating a common variable list L corresponds to setting a common variable.
[0068] For example, the public variable setting module 101 sets a public variable specified by a first user, who is a user of at least one of the controller 20 and the industrial machine 30. The public variable setting module 101 stores information for identifying the public variable specified by the first user in the public variable list L. When identifying the public variable based on the flag value, the public variable setting module 101 determines the flag value of the public variable specified by the first user. In addition, the public variable may be specified by a person other than the first user. For example, the public variable may have been specified when the industrial machine 30 is manufactured.
[0069] [3-2. Functions to be implemented in the controller]
[0070] like Figure 3 As shown, in the controller 20 , a data storage device 200 , an acquisition module 201 , an operation control module 202 , a copy module 203 and a collection module 204 are implemented.
[0071] [Data storage device]
[0072] The data storage device 200 is mainly implemented by the storage device 22 and the IoT module 24. The data storage device 200 is configured to store data required for controlling the industrial machine 30, data collection, and transmission of the collected data. In this embodiment, the data storage device 200 includes a first data storage device 200A and a second data storage device 200B. The first data storage device 200A is mainly implemented by the storage device 22, and the second data storage device 200B is mainly implemented by the IoT module 24.
[0073] The first data storage device 200A mainly stores data required for controlling the industrial machine 30. For example, the first data storage device 200A stores a control program, a public variable list L, register information R, and variable value data. The control program, public variable list L, and register information R of the first data storage device 200A are respectively the same as the control program, public variable list L, and register information R of the data storage device 100. In this embodiment, the control program, public variable list L, and register information R created by the first user are written into the first data storage device 200A.
[0074] Figure 6 : is a table showing a data storage example of the variable value data D1. Figure 6 As shown, the variable value data D1 is data indicating the current value of the public variable. For example, the variable value data D1 indicates the current value of each public variable. The variable value data D1 is updated based on the processing of the acquisition module 201 described later. In addition, the variable value data D1 can store the current value of variables other than the public variables.
[0075] The second data storage device 200B mainly stores data required for data collection. For example, the second data storage device 200B stores variable value data D1 and collection setting data. The variable value data D1 is the same as the variable value data D1 stored in the first data storage device 200A, and is copied by the copy module 203 described later.
[0076] Figure 7 is a table showing an example of data storage for collecting setting data. Figure 7 As shown, the collection setting data D2 is data indicating the collection setting specified by the second user. In this embodiment, a case is described in which the type of each public variable to be collected corresponds to the collection setting. For example, the collection setting data D2 includes information for identifying the public variable specified as the collection target by the second user. The collection setting data D2 is acquired from the second user terminal 40 and recorded in the second data storage device 200B. Therefore, the collection setting data D2 of the second data storage device 200B is the same as the collection setting data D2 of the data storage device 400 described later.
[0077] The data storage device 200 is not necessarily divided into the first data storage device 200A and the second data storage device 200B. For example, when the CPU 21 performs not only the control of the industrial machine 30 but also the processing of data collection, and the IoT module 24 is omitted, the second data storage device 200B may be omitted. In this case, the data described as being stored in the second data storage device 200B may be stored in the first data storage device 200A.
[0078] [Get module]
[0079] The acquisition module 201 is mainly implemented by the CPU 21. The acquisition module 201 is configured to acquire the value of the public variable from the industrial machine 30. In this embodiment, the register corresponding to each public variable is displayed in the register information R, and therefore, the acquisition module 201 acquires the value of each public variable from the industrial machine 30 based on the register information R, which indicates the relationship between the public variable and the register of the industrial machine 30.
[0080] The acquisition module 201 sends a request to read the register associated with the public variable to the industrial machine 30. When the industrial machine 30 receives the read request, the industrial machine 30 reads the target register and sends the target register to the controller 20. The acquisition module 201 records the value of the public variable received from the industrial machine 30 in the data storage device 200. In this embodiment, the case where the acquisition module 201 periodically (periodically) acquires the value of the public variable is described, but the acquisition module 201 may acquire the value of the public variable irregularly (non-periodically).
[0081] Furthermore, in this embodiment, a case where the correspondence between variables and registers is managed by the controller 20 is described, but it is not required that the correspondence be managed by the controller 20. In this case, the correspondence between variables and registers is managed by the industrial machine 30, and the acquisition module 201 may send information for identifying the variable whose value is to be acquired to the industrial machine 30. The industrial machine 30 may read out the register corresponding to the variable indicated by the information received from the controller 20, and send the value to the controller 20.
[0082] [Operation Control Module]
[0083] The operation control module 202 is mainly implemented by the CPU 21. The operation control module 202 is configured to control the operation of the industrial machine 30 based on the control program. For example, the operation control module 202 sends an instruction to the industrial machine 30, and the industrial machine 30 operates based on the instruction. In this embodiment, the industrial machine 30 operates based on the value of the variable associated with the device program, so for example, the operation control module 202 sends an instruction to the industrial machine 30 to change the variable value for starting the device program, and the industrial machine 30 changes the variable value based on the instruction and executes the device program. In addition, when the variable is not specifically used to control the operation of the industrial machine 30, the operation control module 202 can control the operation of the industrial machine 30 by sending a command indicating the operation to be performed by the industrial machine 30.
[0084] The common variable can be used for the operation of the industrial machine 30, so the operation control module 202 obtains the value of the common variable from the industrial machine 30, records the obtained value in the data storage device 200, and controls the industrial machine 30 based on the value of the common variable. For example, in the case where a certain device program is executed and then another device program is executed, when the value of the common variable indicating the end of the certain device program reaches a predetermined value, the operation control module 202 instructs the industrial machine 30 to execute the other device program. As another example, when the common variable indicating that an abnormality has occurred in the device program reaches a predetermined value, the operation control module 202 can instruct the industrial machine 30 to stop operating.
[0085] [Copy Module]
[0086] The copy module 203 is mainly implemented by the IoT module 24. The copy module 203 is configured to copy the value of the public variable recorded in the first data storage device 200A of the controller 20 to another second data storage device 200B. In this embodiment, the case where the copy module 203 periodically (periodically) copies the value of the public variable is described, but the acquisition module 201 can copy the value of the public variable irregularly (non-periodically). The period of the acquisition module 201 acquiring the public variable and the period of the copy module 203 copying the public variable can be the same or different.
[0087] The value of each public variable is indicated in the variable value data D1, so the copy module 203 copies the variable value data D1 recorded in the first data storage device 200A to the second data storage device 200B as it is. Therefore, the variable value data D1 of the second data storage device 200B is replaced (overwritten) by the latest variable value data D1 of the first data storage device 200A. The copy module 203 may copy only a part of the content of the variable value data D1 stored in the first data storage device 200A. For example, the copy module 203 may copy only the value of the public variable that is the collection target.
[0088] [Collection Module]
[0089] The collection module 204 is mainly implemented by the IoT module 24. The collection module 204 is configured to collect data about the industrial machine 30 based on the common variables. The data about the industrial machine 30 is data about the operation of the industrial machine 30, and is data that stores the values of the common variables. The data is referred to as "collected data" hereinafter. The values of the common variables at a specific point in time may be stored in the collected data, or the time series changes of the values of the common variables may be stored in the collected data. In addition, the value of only one common variable may be stored in the collected data, or the values of multiple common variables may be stored in the collected data. As another example, a value calculated based on the values of multiple common variables may be stored in the collected data.
[0090] “Collecting collected data” means obtaining the values of the common variables to be stored in the collected data. In other words, “collecting collected data” means creating collected data based on the values of the common variables. The collection module 204 collects the collected data based on the values of the common variables recorded in the data storage device 200 of the controller 20.
[0091] In this embodiment, the collection setting is specified by the second user, so the collection module 204 collects the collection data based on the public variables and the collection setting. For example, the type of the public variable to be collected is indicated in the collection setting data D2, so the collection module 204 collects the collection data based on the value of the public variable of the type indicated in the collection setting data D2. That is, the collection module 204 does not store the value of the public variable not indicated in the collection setting data D2 in the collection data. The public variables not indicated in the collection setting data D2 are excluded from the data to be collected.
[0092] In this embodiment, data collection is performed after the variable value data D1 of the first data storage device 200A is copied to the second data storage device 200B, and thus the collection module 204 collects the collection data based on the values of the common variables copied to the second data storage device 200B of the controller 20. That is, the collection module 204 collects the collection data based on the variable value data D1 of the second data storage device 200B copied from the first data storage device 200A, rather than based on the variable value data D1 of the first data storage device 200A used to control the industrial machine 30.
[0093] In this embodiment, each of the controller 20 and the industrial machine 30 is connected to a network that implements synchronous communication, and the collection module 204 sends the collection data based on a network different from the network to which the controller 20 and the industrial machine 30 are connected. "Synchronous communication" refers to a communication method in which, as a general rule, no other processing is performed between the sending of a command and the receiving of a response. A network capable of performing synchronous communication only needs to have an environment for performing synchronous communication, and synchronous communication is not required to be performed at all times. Specifically, depending on the type of industrial machine 30, the industrial machine 30 can be connected to a network that does not require synchronous communication.
[0094] The controller 20 and the industrial machine 30 are connected via a so-called field network. On the other hand, the controller 20 and the server 50 may be connected via a network different from the field network. For example, the controller 20 and the server 50 may be connected via the general Internet, or may be connected via a LAN. In other words, the controller 20 and the industrial machine 30 are connected via a network having a first communication protocol (e.g., a communication protocol dedicated to the industrial machine 30), and the controller 20 and the server 50 are connected via a network having a second communication protocol different from the first control protocol.
[0095] In this embodiment, the acquisition module 201 acquires the value of the public variable based on the register information R, and therefore, the collection module 204 collects the collection data based on the value of the public variable acquired by the acquisition module 201. The collection module 204 may collect the collection data based on all the values of the public variables acquired by the acquisition module 201, or may collect the collection data based on a part of the values of the public variables.
[0096] In this embodiment, the collected data is sent to the second user, so the collection module 204 sends the collected data to the second user who is different from the first user. "Sending the collected data to the second user" means sending the collected data to a computer managed by the second user. In this embodiment, the collection module 204 sends the collected data to the server 50, but the collection module 204 can send the collected data to another computer, for example, the second user terminal 40. The collected data can be sent by any method. For example, the collected data can also be sent as an attachment to an email, or, for example, by using FTP.
[0097] [3-3. Functions to be implemented in industrial machines]
[0098] like Figure 3 As shown, in the industrial machine 30 , a data storage device 300 and a process execution module 301 are implemented.
[0099] [Data storage device]
[0100] The data storage device 300 is mainly implemented by the storage device 32. The data storage device 300 is configured to store data required for the industrial machine 30 to perform a predetermined operation. For example, the data storage device 300 stores the device program and the current value of the common variable. The device program is the same as the device program stored in the data storage device 100. The current value of the common variable is the same as the value stored in the variable value data D1. The data storage device 300 also stores the values of variables other than the common variables. The value of each variable is stored in a predetermined register.
[0101] [Process execution module]
[0102] The process execution module 301 is mainly implemented by the CPU 31. The process execution module 301 is configured to execute a predetermined process based on the device program stored in the data storage device 300 and the instruction received from the controller 20. For example, when the controller 20 is to start a certain device program, the controller 20 sends an instruction to the industrial machine 30 to set the variable associated with the device program to a predetermined value. When the industrial machine 30 receives the instruction, the industrial machine 30 changes the variable to the predetermined value. When the process execution module 301 detects that the variable has been changed to the predetermined value, the process execution module 301 executes the device program associated with the variable.
[0103] When the process indicated by the equipment program ends, the process execution module 301 changes the variable associated with the equipment program to a predetermined value, and sends this fact to the controller 20. Then, when another equipment program is executed, the controller 20 sends an instruction to the industrial machine 30 to set the variable associated with the other equipment program to a predetermined value, and the process execution module 301 executes the other equipment program. When the execution order of a plurality of equipment programs is defined in the industrial machine 30, it is not necessary to send the end of the equipment program to the controller 20, and the process execution module 301 can execute a plurality of equipment programs in succession.
[0104] [3-4. Functions to be implemented in the second user terminal]
[0105] like Figure 3 As shown, in the second user terminal 40, a data storage device 400 and a collection setting module 401 are implemented.
[0106] [Data storage device]
[0107] The data storage device 400 is mainly implemented by the storage device 42. The data storage device 400 is configured to store data required for performing data collection. For example, the data storage device 400 stores a public variable list L and collection setting data D2. The public variable list L is the same as the public variable list L of each of the data storage device 100 and the second data storage device 200B. The collection setting data D2 is the same as the collection setting data D2 of the second data storage device 200B. When the public variable list L is updated by the first user, the updated public variable list L is sent to the second user terminal 40. On the other hand, when the collection setting data D2 is updated by the second user, the updated collection setting data D2 is sent to the controller 20.
[0108] [Collection settings module]
[0109] The collection setting module 401 is mainly implemented by the CPU 41. The collection setting module 401 is configured to perform data-related collection settings based on public variables. The collection setting is a condition when data is collected. In this embodiment, the type of public variables to be collected is specified as the collection setting. For example, the collection setting module 401 sets the type of public variables to be collected from a plurality of public variables indicated in the public variable list L. The content of the collection setting is indicated in the collection setting data D2, so the collection setting module 401 performs the collection setting by creating the collection setting data D2, and sends the created collection setting data D2 to the controller 20. That is, the collection setting module 401 sets the controller 20 so as to collect data based on the collection setting data D2.
[0110] [3-5. Functions to be implemented in the server]
[0111] like Figure 3 As shown, in the server 50, a data storage device 500 and a recording module 501 are implemented.
[0112] [Data storage device]
[0113] The data storage device 500 is mainly implemented by the storage device 52. The data storage device 500 is configured to store a collection database obtained by accumulating collection data. The collection database is a database in which the collection data received by the server 50 has been accumulated. When the collection data is received from the controller 20, the server 50 stores the received collection data in the collection database. Therefore, the history of the collection data collected in the past is stored in the collection database.
[0114] [Record Module]
[0115] The recording module 501 is mainly implemented by the CPU 51. The recording module 501 is configured to record the collected data in the data storage device 500. The recording module 501 stores the collected data received by the server 50 from the controller 20 in the collection database. In this embodiment, the collected data is sent to a second user (a user different from the first user), so the recording module 501 records the collected data sent to the second user different from the first user in the data storage device 500.
[0116] [4. Processing to be performed in the data collection system]
[0117] Figure 8 is a flowchart showing an example of processing to be performed in the data collection system 1 . Figure 8 The illustrated processing is executed by each of the CPUs 11 , 21 , 31 , 41 , and 51 in accordance with a program stored in the storage devices 12 , 22 , 32 , 42 , and 52 . Figure 8 The processing shown is done by Figure 3 An example of the processing performed by the functional blocks shown. Figure 8 In the execution of the processing shown, it is assumed that the control program, the device program, and the register information R have been created in advance. Figure 8 In the present invention, the processing related to data collection is mainly described, and the processing of controlling the industrial machine 30 by the controller 20 is omitted.
[0118] like Figure 8As shown, first, the first user terminal 10 creates a public variable list L based on the operation of the first user, and sends the public variable list L to the controller 20 (step S1). In step S1, the first user terminal 10 displays all variables of the industrial machine 30 on the display 15. It is assumed that information for identifying the variables of the industrial machine 30 has been pre-stored in the storage device 12. The first user operates the operation interface 14 to specify a public variable from the variables displayed on the display 15, and enters a comment as needed. The first user terminal 10 generates a public variable list L including the public variables specified by the user and the comments entered by the user. The comments can also be pre-stored in the storage device 12 in association with the variables.
[0119] When the controller 20 receives the public variable list L, the controller 20 records the public variable list L in the storage device 22 (step S2), and sends the public variable list L to the second user terminal 40 (step S3). In this embodiment, the case where the controller 20 sends the public variable list L to the second user terminal 40 is described, but the first user terminal 10 may send the public variable list L to the second user terminal 40.
[0120] When the second user terminal 40 receives the public variable list L, the second user terminal 40 records the public variable list L in the storage device 42 (step S4), creates the collection setting data D2 based on the operation of the second user, and sends the collection setting data D2 to the controller 20 (step S5). In step S5, the second user terminal 40 displays the content of the public variable list L on the display 45, and receives the selection of the second user. The second user terminal 40 creates the collection setting data D2 indicating the public variables selected by the second user as the collection target, and sends the collection setting data D2 to the controller 20.
[0121] When the controller 20 receives the collection setting data D2, the controller 20 records the collection setting data D2 in the IoT module 24 (step S6). When the collection setting data D2 has been recorded, data can be collected from the industrial machine 30.
[0122] The controller 20 sends a common variable acquisition request to the industrial machine 30 based on the register information R stored in the storage device 22 (step S7). In step S7, regardless of the common variables indicated in the collection setting data D2, an acquisition request for all common variables is sent. For example, the controller 20 identifies the registers of all common variables by referring to the register information R, and sends a request to read out each register.
[0123] When the industrial machine 30 receives the common variable acquisition request, the industrial machine 30 sends the values of the common variables recorded in the storage device 32 to the controller 20 (step S8). In step S8, the industrial machine 30 refers to the register of the address included in the common variable acquisition request and sends a data set of the values stored in the register.
[0124] The controller 20 updates the variable value data D1 of the storage device 22 based on the value of the common variable acquired from the industrial machine 30 (step S9), and copies the variable value data D1 of the storage device 22 to the IoT module 24 (step S10). In step S9, the controller 20 updates the variable value data D1 of the storage device 22 so that the value of the common variable is the latest value, and copies the updated variable value data D1 to the IoT module 24.
[0125] The controller 20 collects the values of the common variables to be collected from the variable value data D1 copied to the IoT module 24 based on the collection setting data D2, and transmits the collected data to the server 50 (step S11). In step S11, from the common variables stored in the variable value data D1, the controller 20 creates the collected data based on the values of the common variables to be collected specified by the second user, and transmits the created collected data to the server 50.
[0126] The server 50 receives the collection data, stores the received collection data in the collection database (step S12 ), and the process ends. In step S12 , the server 50 adds the received collection data to the collection database.
[0127] According to the above-mentioned data collection system 1, from a plurality of variables of the industrial machine 30 controlled by the controller 20, a sharable public variable can be set, and the collected data about the industrial machine 30 can be collected and recorded based on the sharable public variable. In addition, by excluding variables that the developer wishes to keep confidential as proprietary technology from the public variables, the proprietary technology of the developer of the industrial machine 30 can be prevented from being leaked to a third party. In addition, the collection of unnecessary data can be prevented by narrowing the public variables of the collected data to be collected. As a result, the amount of recorded data is reduced, so that memory consumption can be reduced. In addition, unnecessary collected data is not transmitted, so the communication load can be reduced. In addition, unnecessary data is not collected, so the processing load on the data collection system 1 can be reduced.
[0128] Furthermore, the data collection system 1 can improve the convenience of data collection by performing collection settings related to collection data based on common variables, and collecting the collection data based on the collection settings.
[0129] In addition, the data collection system 1 can effectively increase the convenience of data collection by setting the type of the common variable as the collection target and collecting the collection data based on the set type. For example, it is possible to prevent the collection of unnecessary data by narrowing the common variables to be collected. As a result, memory consumption, network communication volume, and processing load can be reduced.
[0130] In addition, the data collection system 1 can perform data collection by controlling the industrial machine 30 using the value of the common variable recorded by the controller 20, thereby improving the efficiency of data collection. For example, when the acquisition of the value of the common variable for controlling the industrial machine 30 and the acquisition of the value of the common variable for collecting data are performed separately, the industrial machine 30 is required to repeatedly perform the same processing, so the processing load on the industrial machine 30 increases. However, the data collection system 1 can prevent such repeated processing from occurring. As a result, the processing load on the industrial machine 30 can be reduced.
[0131] In addition, the data collection system 1 performs data collection based on the values of the common variables copied from the CPU 21 to the IoT module 24, so the storage device storing the values required for controlling the controller 20 and the storage device storing the values required for data collection are different. As a result, the possibility that data collection interferes with the control of the industrial machine 30 can be reduced.
[0132] In addition, the data collection system 1 can perform data collection without interfering with the operation of the industrial machine 30 by performing data collection based on a network different from the network connecting the controller 20 and the industrial machine 30 to each other.
[0133] Furthermore, by performing data collection based on register information R indicating the relationship between common variables and registers, the data collection system 1 can collect data even when the person collecting data is unaware of the register system. Therefore, data collection can be facilitated, thereby increasing the convenience of the collector.
[0134] In addition, even if the user who manages at least one of the controller 20 and the industrial machine 30 is different from the user who collects data about the industrial machine 30, the data collection system 1 can collect and record the collected data based on the common variables. Therefore, it is possible to prevent the collection of information about variables that are not shared with the user who collects the data.
[0135] [5. Modification example]
[0136] The present invention is not limited to the above-described embodiments, and can be appropriately modified without departing from the spirit of the present invention.
[0137] (1) For example, in the embodiment, a case where the type of the public variable to be collected is specified as the collection setting is described, but the information to be specified as the collection setting is not limited to the type of the public variable. For example, the collection setting may indicate the collection frequency of the collection data. The collection module 204 in the modified example (1) of the present invention is configured to collect the collection data based on the collection frequency indicated by the collection setting.
[0138] The collection frequency is the frequency at which the collection data is collected, and the "collection frequency" may also be referred to as the "sampling frequency". For example, as the collection frequency, the second user specifies the time interval for collecting the public variables or the number of collections per unit time. The collection frequency is stored in the collection setting data D2, and the collection module 204 collects the collection data based on the collection frequency indicated in the collection setting data D2. For example, the collection module 204 acquires the value of the public variable and creates the collection data each time indicated by the collection frequency. In the modified example (1), the acquisition module 201 acquires the value of the public variable periodically regardless of the collection frequency, but the acquisition module 201 may acquire the value of the public variable according to the collection frequency.
[0139] According to the modification example (1), the convenience of data collection can be effectively improved by setting the collection frequency of collected data and collecting the collected data based on the set collection frequency. For example, when a high collection frequency is set, detailed data collection can be performed. Therefore, detailed operation analysis of the industrial machine 30 can be performed. In addition, for example, when a low collection frequency is set, unnecessary data can be prevented from being collected. As a result, memory consumption, network communication volume, and processing load can be reduced.
[0140] (2) In addition, for example, the collection setting may indicate a data collection start condition, and the collection module 204 may start collecting the collection data based on the start condition indicated by the collection setting. The start condition is a condition for starting to collect the collection data, and any condition may be set. For example, the start condition is a condition that a predetermined date and time has arrived, a condition that a predetermined device program is started to be executed, or a condition that the value of a public variable is a predetermined value.
[0141] In the modified example (2) of the present invention, a case is described in which the value of a certain segment of collected data becoming a predetermined value is a start condition for another segment of collected data. In other words, a case is described in which, when the collected data collected based on a certain common variable has become a predetermined value, data collection based on another common variable is started. For example, when the collected data indicates a torque value and the torque value has changed, the collection of collected data indicating the rotational speed of the motor can be started. In this case, the collection module 204 determines whether the torque value indicated by the collected data has changed by a predetermined amount, and when it is determined that the torque value has changed by the predetermined amount, the collection module 204 starts collecting the collected data indicating the rotational speed of the motor.
[0142] According to modification example (2), the convenience of data collection can be effectively increased by setting a data collection start condition and starting data collection based on the set start condition. Data is not collected until the start condition is satisfied, so that unnecessary data can be prevented from being collected. As a result, memory consumption, network communication volume, and processing load can be reduced.
[0143] (3) Furthermore, for example, the collected data accumulated in the server 50 can be used for operation instructions of the industrial machine 30 . Fig. 9 : is a functional block diagram of a modified example (3) of the present invention. Fig. 9 As shown, the data collection system 1 of the modification example (3) includes an operation command transmission module 502. The operation command transmission module 502 is mainly realized by the CPU 51.
[0144] The operation command transmission module 502 is configured to send an operation command related to the industrial machine 30 to the controller 20 based on the collected data. The operation command may be a command for causing the industrial machine 30 to perform any operation, and is, for example, an execution command of a device program. In the modified example (3), as an example of an operation command, a recovery operation command when an abnormality occurs in the industrial machine 30 is described. The operation command is not limited to the recovery operation, and may be a command for performing any operation. For example, the operation command may be a command for collecting the value of a common variable that has not been a collection target before, or an interrupt for performing any operation.
[0145] For example, it is assumed that recovery process data indicating a recovery process to be executed when an abnormality occurs is stored in the data storage device 500 of the server 50. The industrial machine 30 operates based on the device program, so the execution order of at least one device program to be executed during the recovery process is defined in the recovery process data. For example, the recovery process data is created by a second user. The operation command transmission module 502 determines whether an abnormality has occurred in the industrial machine 30 based on the collected data. When it is determined that an abnormality has occurred, the operation command transmission module 502 sends the recovery process data to the controller 20. When the controller 20 receives the recovery process data, the controller 20 causes the industrial machine 30 to recover based on the recovery process indicated in the recovery process data. For example, when the device program indicated in the recovery process is also executed based on a variable, the controller 20 controls the variables of the industrial machine 30 so that each device program is executed based on the recovery process indicated in the recovery process data.
[0146] According to modification example (3), based on the collected data, the collected data can be provided to the industrial machine 30 as feedback for the operation of the industrial machine 30 by sending an operation command related to the industrial machine 30. For example, when an abnormality occurs in the industrial machine 30, by performing a recovery operation based on the collected data, it is possible to reliably recover from the abnormality that occurred in the industrial machine 30.
[0147] (4) For example, the above-mentioned modification examples may be combined.
[0148] In addition, for example, when the second user specifies a variable other than a public variable as a collection target, the controller 20 may reject the collection of the variable. For example, the controller 20 determines whether the variable specified as a collection target by the second user is included in the public variable list L. When the variable specified as a collection target by the second user is included in the public variable list L, the controller 20 allows the acquisition of the value of the variable, and when the variable specified as a collection target by the second user is not included in the public variable list L, the controller 20 prohibits the acquisition of the value of the variable. This process may be performed by the industrial machine 30. In this case, the industrial machine 30 prohibits external reading of registers for variables other than public variables.
[0149] In addition, for example, the collection setting may be a setting other than the variable to be collected, the collection frequency, or the start condition. For example, the collection setting may be a data format of the collected data, a destination to send the collected data, or an industrial machine 30 for which the collected data is to be collected. In addition, for example, a case where the collection setting is performed by the second user has been described, but it is not necessary for the second user to perform the collection setting. In this case, all public variables may be collection targets. In addition, for example, a case where the values of the public variables in the storage device 22 are copied to the IoT module 24 has been described, but the CPU 21 may perform data collection without copying these values. In addition, for example, a case where the network between the controller 20 and the industrial machine 30 is different from the network between the controller 20 and the server 50 has been described, but these networks may be the same. In addition, for example, a case where the controller 20 obtains the value of the public variable based on the register information R has been described, but the register operation corresponding to the variable may be performed by the industrial machine 30. In addition, for example, a case where data collection is performed by a second user different from the first user has been described, but the user who performs data collection may be the same as the user of at least one of the controller 20 and the industrial machine 30.
[0150] In addition, for example, Figure 3 or Fig. 9 As shown, the case where each function is allocated to each of the first user terminal 10, the controller 20, the industrial machine 30, the second user terminal 40, and the server 50 has been described, but the allocation of functions is not limited to Figure 3 or Fig. 9 For example, at least one of the acquisition module 201 and the collection module 204 can be implemented by the first user terminal 10, the second user terminal 40, or the server 50. In addition, for example, the recording module 501 can be implemented by the first user terminal 10, the controller 20, or the second user terminal 40. In addition, for example, each function can be implemented by one computer instead of being distributed to multiple computers. In addition, for example, the collected data can be recorded in an external computer outside the data collection system 1.
[0151] In addition, the embodiments described above are given as specific examples, and are not intended to limit the invention disclosed herein to the exact configuration of the specific examples and the data storage device examples. Those skilled in the art may make various modifications to the disclosed embodiments, such as the shape and number of physical components, the data structure, and the execution order of the processing. It should be understood that the technical scope of the invention disclosed herein includes these modifications.
Claims
1. A data collection system, comprising: Control equipment, a public variable setting module configured to set a public variable list created by a first user and provide the public variable list to the control device, the public variable list including at least one sharable public variable, the at least one sharable public variable being specified by the first user from a plurality of variables of an industrial machine controlled by the control device and being shareable with a second user; as well as a recording module, configured to record the data in a storage device, the control device being configured to send the list of common variables to a user terminal operated by the second user, to receive from the user terminal collection setting data indicating at least one selected common variable selected by the second user from the list of common variables, and to store the collection setting data in a second storage device of the control device, The control device comprises a control module configured to obtain a value of the at least one sharable public variable from the industrial machine, to record the obtained value of the at least one sharable public variable in a first storage device of the control device, and to control the industrial machine based on the value of the at least one sharable public variable recorded in the first storage device of the control device, The control device further comprises a copy module, wherein the copy module is configured to copy the value of the at least one sharable common variable recorded in the first storage device of the control device to a second storage device of the control device, and, The control device includes a collection module, which is configured to collect the collection data by obtaining the value of the at least one selected common variable copied to the second storage device as the collection data based on the collection setting data stored in the second storage device, and send the collection data to a server including the storage device.
2. The data collection system according to claim 1, wherein: The control module is implemented by the CPU of the control device. Wherein, the second storage device of the control device is implemented by an IoT module of the control device, and Among them, the first storage device of the control device is implemented by the memory of the control device, and the memory is different from the IoT module.
3. The data collection system according to claim 2, in, The first storage device of the control device and the second storage device of the control device store the at least one sharable common variable, wherein the IoT module narrows down the value of the at least one selected public variable selected by the second user from the public variables copied to the IoT module based on the collected setting data, and The collection module is configured to collect the collection data based on the value of the at least one selected common variable selected by the second user.
4. The data collection system according to claim 1, in, The copy module is configured to periodically copy the value of the at least one sharable common variable recorded in the first storage device of the control device to the second storage device of the control device.
5. The data collection system according to claim 1, in, Also included is a collection setting module, the collection setting module is configured to perform collection setting related to the data based on the at least one common variable, wherein the collection setting indicates the type of the common variables to be collected, and The collection module is configured to collect the data based on a type indicated by the collection setting.
6. The data collection system according to claim 5, in, The collection settings indicate how often the data is collected, and The collection module is configured to collect the data based on the collection frequency indicated by the collection setting.
7. The data collection system according to claim 5 or 6, in, The collection settings indicate the start conditions for data collection, and The collection module is configured to start collecting the data based on the start condition indicated by the collection setting.
8. The data collection system according to any one of claims 1 to 6, further comprising an operation command transmission module, wherein the operation command transmission module is configured to send an operation command related to the industrial machine to the control device based on the collected data.
9. The data collection system according to any one of claims 1 to 6, in, Each of the control device and the industrial machine is connected to a network capable of synchronous communication, and The collection module is configured to send the collected data based on a network different from the network.
10. The data collection system according to any one of claims 1 to 6, The system further includes an acquisition module configured to acquire a value of the at least one sharable common variable from the industrial machine based on register information about a relationship between the at least one sharable common variable and a register of the industrial machine, in, The collecting module is configured to collect the collected data through the value of at least one selected sharable common variable obtained by the obtaining module.
11. A data collection method comprising: recording the data in a storage device; A public variable list is created by a first user and stored in a control device, wherein the public variable list includes at least one sharable public variable, the at least one sharable public variable is specified by the first user from a plurality of variables of an industrial machine and can be shared with a second user, the industrial machine being controlled by the control device; sending the public variable list to a user terminal operated by the second user; receiving collection setting data from the user terminal, the collection setting data indicating at least one selected public variable selected by the second user from the public variable list; storing the collected setting data in a second storage device of the control device; The control device acquires the value of the at least one sharable public variable from the industrial machine, records the acquired value of the at least one sharable public variable in a first storage device of the control device, and controls the industrial machine based on the value of the at least one sharable public variable recorded in the first storage device of the control device; copying the value of the at least one sharable common variable recorded in the first storage device of the control device to a second storage device of the control device; as well as collecting the collected data about the industrial machine by obtaining, as collected data, a value of the at least one selected common variable copied to the second storage device of the control apparatus based on the collected setting data copied to the second storage device; as well as The collected data is sent to a server including the storage device.
12. An information storage medium storing a program, wherein the program enables a computer running the program to perform the following functions: a control device configured to store a public variable list, the public variable list including at least one sharable public variable, the at least one sharable public variable being specified by a first user from a plurality of variables of an industrial machine and being shareable with a second user, the industrial machine being controlled by the control device, sending the public variable list to a user terminal operated by the second user, receiving collection setting data from the user terminal, the collection setting data indicating at least one selected public variable selected by the second user from the public variable list, and storing the collection setting data in a second storage device of the control device, a control module configured to obtain a value of the at least one sharable common variable from the industrial machine, to record the obtained value of the at least one common variable in a first storage device of the control device, and to control the industrial machine based on the value of the at least one sharable common variable recorded in the first storage device of the control device; a copy module configured to copy the value of the at least one sharable common variable recorded in the first storage device of the control device to the second storage device of the control device; and A collection module is configured to collect collection data about the industrial machine by obtaining the value of the at least one selected common variable copied to the second storage device of the control device as collection data based on the collection setting data stored in the second storage device, and send the collection data to a server to record the collection data in the storage device.
Citation Information
Patent Citations
Trace-data recording system, trace-data recording server, trace-data recording method, program, and information storage medium
WO2015068210A1
Machine control program generation device, machine control system, library generation method, machine control program addition method, and control method
JP2017102720A
Control unit, control method, and program
JP2019096210A