Control device
The control device optimizes data transmission by using destination information to determine which control program elements to transmit, reducing unnecessary data transfer and network load by ensuring data is sent only to relevant analysis devices based on the execution state of the control program.
Patent Information
- Application Number
- PCT/JP2023/024167
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-29
- Publication Date
- 2025-01-02
AI Technical Summary
Conventional control devices transmit control data regardless of the processing state and purpose of analysis devices, leading to unnecessary data transmission and network load, as they do not differentiate between the execution states of control programs and the analysis requirements of multiple devices.
A control device that acquires and updates destination information for each control program element, determining whether data can be transmitted based on the execution state, using a control program element-specific destination information acquisition unit and a distribution destination determination unit to selectively transmit data to appropriate analysis devices.
This approach reduces unnecessary data transmission, alleviating the load on the control device and network by ensuring data is sent only to destinations that require it, based on the execution state of the control program, thereby optimizing data transmission efficiency.
Smart Images

Figure JP2023024167_02012025_PF_FP_ABST
Abstract
Description
Control device
[0001] The present disclosure relates to a control device that transmits data to a distribution destination according to the execution status of a control program.
[0002] Advances in machine learning have led to an increasing demand for analyzing control data from control devices and utilizing it to improve production efficiency. Therefore, data may be analyzed by multiple devices simultaneously, requiring the control device to transmit data to multiple devices. Furthermore, to ensure efficient data transmission, the control data is temporarily buffered within the control device and transmitted in bulk. For example, a control device controls industrial machinery such as machine tools and robots, and in response to a request from one or more application programs executed by at least one information processing device for data items related to the control of the industrial machinery, the control device transmits the requested data items to the information processing device based on the priority of each data item and time information related to the data transmission update interval. For example, see Patent Document 1.
[0003] International Publication No. 2023 / 032077
[0004] For example, when transmitting data from a numerical control device (controller) to an analysis device (information processing device), some analysis devices may analyze only data from a specific machining process rather than analyzing all data during machining. Furthermore, analysis data may not be needed for sections where the workpiece is not in contact with the workpiece (not being machined), such as during tool change. In prior art such as Patent Document 1, the control device transmitted control data regardless of the machining execution status, including sections that were not necessary for analysis by the destination analysis device. Furthermore, even when transmitting data to multiple analysis devices, the same control data was transmitted even if each analysis device had a different purpose. This placed unnecessary load on the control device and led to network loads.
[0005] Therefore, it is desirable to transmit data to a distribution destination in accordance with the execution state of a control program in a control device, thereby reducing unnecessary data transmission.
[0006] One aspect of the control device of the present disclosure is a control device that controls industrial machinery based on a control program and transmits acquired data as distribution data to one or more distribution destinations, and includes: a control program element-specific destination information acquisition unit that acquires a control program element-specific distribution target information table for each execution block of the control program, the control program element-specific destination information table including first destination information used to determine whether the pre-specified distribution data can be transmitted, and updates second destination information of the control device based on the contents of the execution block and the control program element-specific distribution target information table; and a distribution destination determination unit that acquires a distribution destination-specific target information table when transmitting distribution data, the distribution destination-specific target information table including third destination information used to determine whether transmission is possible for the pre-specified distribution destination and each of the distribution data, and determines whether the distribution data can be transmitted based on the updated second destination information and the distribution destination-specific target information table, and transmits the distribution data to the distribution destination.
[0007] 6 is a diagram showing an example of a functional block configuration of a control system according to an embodiment. FIG. 7 is a diagram showing an example of a control program. FIG. 8 is a diagram showing an example of a destination information table by control program element. FIG. 9 is a diagram showing an example of a flag column in the storage area "first destination information". FIG. 10 is a diagram showing an example of a target information table by delivery destination. FIG. 11 is a flowchart illustrating delivery processing by a control device. FIG. 12 is a flowchart illustrating detailed processing contents of the delivery destination determination processing shown in step S5 in FIG. 6. FIG. 13 is a diagram showing an example of a target information table by delivery destination in which the flag column by delivery destination / data ID is omitted. FIG. 14 is a flowchart of the delivery destination determination processing shown in step S5 in FIG. 13. FIG. 15 is a diagram showing an example of a target information table by delivery destination in which the destination information in the storage area "all delivery destinations" is omitted. FIG. 16 is a flowchart of the delivery destination determination processing shown in step S5 in FIG.
[0008] <One Embodiment> A control system according to one embodiment will be described in detail below with reference to the drawings. FIG. 1 is a diagram illustrating an example of a functional block configuration of a control system according to one embodiment. As illustrated in FIG. 1, the control system 1 includes a control device 10 and m distribution destinations 20(1) to 20(m) (m is an integer equal to or greater than 1) serving as analysis devices. The control device 10 and the distribution destinations 20(1) to 20(m) are interconnected and communicate with each other via a network (not shown), such as a local area network (LAN) or the Internet. In this case, the control device 10 and the distribution destinations 20(1) to 20(m) each include a communication unit (not shown) for communicating with each other via such a connection. The control device 10 and the distribution destinations 20(1) to 20(m) may also be directly connected to each other via a connection interface (not shown).
[0009] The distribution destinations 20(1) to 20(m) are, for example, information processing devices (analysis devices) such as computers or tablet terminals known to those skilled in the art, and analyze data received from the control device 10 (described below). Based on the analysis results, the distribution destinations 20(1) to 20(m) determine (estimate) the operating status of industrial machinery (not shown), such as machine tools or robots, controlled by the control device 10, and transmit the determination results to the control device 10 or display them on display devices (not shown) included in the distribution destinations 20(1) to 20(m). Note that, hereinafter, when there is no need to distinguish between the distribution destinations 20(1) to 20(m), they are also referred to as "distribution destinations 20." Furthermore, while the description will be given using a machine tool as an example of industrial machinery, the present invention can also be applied to various other machines, such as industrial robots, service robots, forging machines, and injection molding machines.
[0010] The control device 10 is a numerical control device known to those skilled in the art, which generates commands based on a control program and transmits the generated commands to a machine tool (not shown). In this way, the control device 10 controls the operation of the machine tool (not shown). If the machine tool (not shown) is a robot or the like, the control device 10 may be a robot control device or the like. As shown in FIG. 1, the control device 10 has a storage unit 11 and a control unit 12. The control unit 12 has a control program execution unit 121 that functions as a control program element-specific destination information acquisition unit, and a distribution destination determination unit 122 that functions as a data distribution unit.
[0011] The storage unit 11 is a read-only memory (ROM), a random access memory (RAM), a solid state drive (SSD), a hard disk drive (HDD), etc. The storage unit 11 may store a control program to be executed by a control program execution unit 121 (described later), and may store data such as torque information, current information, speed information, and position information for each servo axis of a machine tool (not shown) acquired from the machine tool as distribution data for each item. The storage unit 11 also has a control program element-specific destination information table 200, a second destination information storage unit 300, and a distribution destination-specific target information table 400.
[0012] The control program element-specific destination information table 200 includes a flag sequence used to determine whether or not pre-specified distribution data can be sent for each element of a block described in a control program executed by the control program execution unit 121 (described later). The control program element-specific destination information table 200 is set and generated in advance for each control program by an operator via an input device (not shown), such as a keyboard. Hereinafter, the flag sequence used to determine whether or not pre-specified distribution data can be sent is also referred to as "first destination information." Below, the control program element-specific destination information table 200 will be described using the control program P shown in FIG. 2 as an example. However, the control program element-specific destination information table 200 for other control programs is similar to the control program element-specific destination information table for control program P in FIG. 2.
[0013] FIG. 2 is a diagram showing an example of a control program P. As shown in FIG. 2, the control program P has blocks including a preparation step such as tool change from the row with sequence number "N0000," a machining step A from the row with sequence number "N1000," a machining step B from the row with sequence number "N2000," a machining step C from the row with sequence number "N3000," and a machining step Z from the row with sequence number "N9000." The control program P may also have multiple machining step blocks between the machining steps C and Z. FIG. 3 is a diagram showing an example of a control program element destination information table 200 of the control program P. As shown in FIG. 3, the control program element destination information table 200 has storage areas for "target item" and "first destination information." The storage area for "target item" in the control program element destination information table 200 stores, as elements, the sequence numbers of blocks at which the preparation step, machining step A, etc. in the control program P of FIG. 2 starts, for example. The elements stored in the storage area "target item" are not limited to the sequence numbers of the machining processes, but may be elements that can be written in the control program P, for example, axis movement commands such as "X100Y100", and preparation commands such as positioning (G00) and data setting (G10). Furthermore, the elements stored in the storage area "target item" may be sequence names, M-code auxiliary commands, feedrate commands, tool change commands, spindle speed commands, program names, comments, etc.
[0014] The "first destination information" storage area in the control program element destination information table 200 stores a flag column used to determine whether or not pre-specified distribution data can be transmitted. FIG. 4 is a diagram showing an example of the flag column in the "first destination information" storage area. As shown in FIG. 4, the flag column in the "first destination information" storage area indicates whether or not distribution data can be transmitted for each of the (n+1) elements in each block of the control program P (n is an integer equal to or greater than 1). The flag column in the "first destination information" storage area is set in advance by an operator via an input device (not shown). Specifically, as shown in FIG. 4, each flag in the "first destination information" storage area indicates, for example, whether or not display distribution is enabled and whether or not distribution of data for each of the processing steps A to Z in the control program P in FIG. 2 is enabled. However, each flag in the "first destination information" storage area is not limited to elements for each processing step. For example, the flag string in the storage area "first destination information" may include flags indicating whether or not data elements such as axis movement commands, preparation commands such as positioning, sequence names, auxiliary commands, feed rate commands, tool change commands, spindle rotation speed commands, program names, and comments written in the control program P can be sent.
[0015] The second destination information storage unit 300 stores a flag sequence of the first destination information based on an element indicating the content of a block of the control program P being executed by the control program execution unit 121 (described later) and the control program element-specific destination information table 200 of the control program P. Note that, hereinafter, the flag sequence of the first destination information stored in the second destination information storage unit 300 is also referred to as "second destination information." Specifically, as described later, when the control program execution unit 121 is executing, for example, a block of a machining process A of the control program P, it acquires a sequence number "N1000" indicating the start of the machining process A as an element indicating the content of the block. The control program execution unit 121 refers to the element "N1000" of the acquired block and the control program element-specific destination information table 200, and updates the flag sequence of the storage area "first destination information" where the storage area "target item" is "N1000" as second destination information, and stores the second destination information in the second destination information storage unit 300.
[0016] The target information table 400 by destination is used to determine whether transmission is possible for each pre-specified destination and for each distribution data. FIG. 5 is a diagram showing an example of the target information table 400 by destination. As shown in FIG. 5, the target information table 400 by destination has storage areas for "Delivery Destination" and "Target Information." The storage area for "Delivery Destination" in the target information table 400 stores destinations 20(1) to 20(4), etc., to which data such as torque information acquired from a machine tool (not shown) is transmitted. The storage area for "Target Information" in the target information table 400 by destination stores a table of flag columns used to determine whether transmission is possible for each distribution destination 20 and distribution data in the pre-specified storage area "Delivery Destination." Specifically, target information A in the storage area "Target Information" for destination 20(1) is a table having storage areas for "All Distribution Destinations" and "List of Collected Target Data IDs," as shown in the top row of FIG. 5. The storage area "All Distribution Destinations" stores a flag string indicating whether transmission to the distribution destination 20(1) is possible. The storage area "List of Data IDs to be Collected" stores a flag string for each distribution destination and data ID, in which whether transmission is possible or not is set for each data ID of the distribution data. The flag strings in the storage areas "All Distribution Destinations" and "List of Data IDs to be Collected" may be set in advance by an operator via an input device (not shown). The tables for target information B to D in the storage area "Target Information" are similar to those for target information A, and therefore will not be described here. Hereinafter, the flag strings set in the storage areas "All Distribution Destinations" and "List of Data IDs to be Collected" are collectively referred to as "third destination information."
[0017] The control unit 12 includes a CPU (Central Processing Unit), ROM, RAM, CMOS (Complementary Metal-Oxide-Semiconductor) memory, and the like, which are configured to be able to communicate with each other via a bus and are well known to those skilled in the art. The CPU is a processor that controls the entire control device 10. The CPU reads system programs and application programs stored in the ROM via the bus and controls the entire control device 10 in accordance with the system programs and application programs. As a result, as shown in FIG. 1 , the control unit 12 is configured to implement the functions of a control program execution unit 121 and a distribution destination determination unit 122. The RAM stores various data, such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its stored state even when the control device 10 is turned off.
[0018] The control program execution unit 121 executes a control program P that is input from an external source or loaded from the storage unit 11. The control program execution unit 121 acquires the control program element-specific destination information table 200 of the control program P in FIG. 3 from the storage unit 11 for each execution block of the control program P. Then, the control program execution unit 121 updates the second destination information by referring to the element indicated by the content of the block to be executed and the control program element-specific destination information table, and stores the second destination information in the second destination information storage unit 300. Specifically, the control program execution unit 121, for example, pre-reads and analyzes a block of the control program P. For example, if the control program execution unit 121 determines that the pre-read block is a block related to machining process A, it acquires the sequence number "N1000" indicating the start of machining process A as an element in the block. The control program execution unit 121 acquires the flag string of the storage area "first destination information" whose storage area "target item" corresponds to "N1000" from the control program element-specific destination information table. The control program execution unit 121 updates the acquired flag sequence as second destination information and stores it in the second destination information storage unit 300. The control program execution unit 121 executes the pre-read block, and the control device 10 acquires data such as torque information, current information, speed information, and position information from the machine tool (not shown) and stores the data in the storage unit 11.
[0019] The delivery destination determination unit 122 acquires from the storage unit 11 the delivery-destination-specific target information table 400 used to determine whether or not transmission is permitted for each delivery destination and each piece of delivery data when the delivery data is transmitted. The delivery destination determination unit 122 determines whether or not transmission of the delivery data is permitted based on the second destination information in the second destination information storage unit 300 and the delivery-destination-specific target information table 400, and transmits the delivery data determined to be permitted to the delivery destinations 20 for which transmission is permitted. Specifically, the delivery destination determination unit 122 reads the delivery-destination-specific target information table 400 shown in FIG. 5 from the storage unit 11, for example, and acquires target information for each delivery destination from the delivery-destination-specific target information table 400. The delivery destination determination unit 122 calculates a logical product (AND operation) between the flags of the second destination information set in the second destination information storage unit 300 and the flags of the "all delivery destinations" storage area included in each of the acquired target information tables. If the logical product of any flags is "1," the delivery destination determination unit 122 determines that the delivery destination 20 in the "delivery destination" storage area corresponding to the "target information" storage area for which the logical product was calculated in the delivery destination-specific target information table 400 is the delivery destination of the delivery data. Next, the delivery destination determination unit 122 calculates the logical product (AND operation) between each flag using each flag column for each delivery destination / data ID in the "list of collection target data IDs" storage area in the target information table and the flag column for the second destination information in the second destination information storage unit 300. The delivery destination determination unit 122 transmits the delivery data for which the logical product of any flag is "1" to the delivery destination 20 determined as the delivery destination above.
[0020] <Distribution process of control device 10> Next, the flow of the distribution process of the control device 10 will be described with reference to Fig. 6. Fig. 6 is a flowchart illustrating the control process of the control device 10. The flow shown here is repeatedly executed every time the control device 10 executes the control program P.
[0021] In step S1, the control program execution unit 121 initializes k to "1".
[0022] In step S2, the control program execution unit 121 reads the control program P from the storage unit 11, and reads ahead and analyzes the k-th block of the read control program P.
[0023] In step S3, the control program execution unit 121 obtains the destination information table 200 for each control program element from the memory unit 11, and updates the second destination information in the second destination information memory unit 300 based on the element indicated by the contents of the kth block analyzed in step S2 and the destination information table 200 for each control program element.
[0024] In step S4, the control program execution unit 121 executes the k-th block. Then, the control device 10 acquires data such as torque information, current information, speed information, and position information from the machine tool (not shown), and stores the acquired data in the storage unit 11 as distribution data for each item.
[0025] In step S5, the delivery destination determination unit 122 executes a delivery destination determination process and delivers the delivery data acquired in step S4 to the delivery destinations 20 determined to be delivery destinations. The detailed flow of the delivery destination determination process will be described later.
[0026] In step S6, the control program execution unit 121 determines whether there is a next (k+1)th block in the control program P. If there is a next block, the process returns to step S2; on the other hand, if there is no next block, the distribution process ends.
[0027] FIG. 7 is a flowchart illustrating the detailed processing content of the delivery destination determination process shown in step S5 in FIG. 6. In the flowchart of FIG. 7, steps S51 to S57 represent the processing flow of the delivery destination determination unit 122. Note that the processing of steps S1 to S4 and step S6 in FIG. 6 and the delivery destination determination process of step S5 may be executed sequentially or in parallel. In the case of parallel processing, data processed by the control program execution unit 121 may be stored in a predetermined storage area allocated to the storage unit 11, and the delivery destination determination unit 122 may read the processed data from the predetermined storage area as needed to execute the delivery destination determination process.
[0028] In step S51, the delivery destination determination unit 122 initializes i to "1".
[0029] In step S52 , the delivery destination determination unit 122 acquires the delivery destination target information table 400 from the storage unit 11 .
[0030] In step S53, the delivery destination determination unit 122 initializes j to "1".
[0031] In step S54, the delivery destination determination unit 122 calculates a logical product of the flags in the flag string of the second destination information in the second destination information storage unit 300 updated in step S3 and the flag string of the "Total Delivery Destinations" storage area in the i-th storage area "Target Information" in the delivery destination-specific target information table 400 acquired in step S52. The delivery destination determination unit 122 determines whether the result of the logical product is "1." If the logical product of any flag is "1," the delivery destination determination unit 122 determines that the delivery destination 20 in the i-th storage area "Delivery Destination" in the delivery destination-specific target information table 400 is a delivery destination. Then, the process proceeds to step S55. On the other hand, if the logical product of all flags is "0," the process proceeds to step S58.
[0032] In step S55, the delivery destination determination unit 122 calculates the logical product of the flags of the jth data ID in the "List of Collection Target Data IDs" storage area in the i-th storage area "Target Information" in the delivery destination target information table 400 and the flags of the second destination information in the second destination information storage unit 300. If the logical product of any of the flags is "1," the process proceeds to step S56. On the other hand, if the logical products of all the flags are "0," the process proceeds to step S57.
[0033] In step S56, the distribution destination determination unit 122 distributes the distribution data of the j-th data ID in the storage area “list of data IDs to be collected” to the i-th distribution destination 20.
[0034] In step S57, the delivery destination determination unit 122 determines whether the next (j+1)th storage area "data ID" exists. If the next storage area "data ID" exists, the process returns to step S55. On the other hand, if the next storage area "data ID" does not exist, the process proceeds to step S58.
[0035] In step S58, the delivery destination determination unit 122 determines whether there is a next (i+1)th delivery destination 20. If there is a next delivery destination 20, the process returns to step S53. On the other hand, if there is no next delivery destination 20, the delivery destination determination process ends and the process proceeds to step S6 in FIG. 6.
[0036] As a result, the control device 10 according to one embodiment can transmit data to the destination in accordance with the execution status of the control program in the control device, thereby reducing unnecessary data transmission. This eliminates unnecessary load on the control system 1, thereby reducing the load on the network.
[0037] <Variation 1> In one embodiment, the control program execution unit 121 retrieves the control program element-specific destination information table 200 from the storage unit 11 for each execution block of the control program P. However, this is not limited to this. For example, a destination change command code such as "MxxFyyyy" may be embedded in each block of the control program P, and the control program execution unit 121 may update the second destination information in the second destination information storage unit 300 in accordance with each destination command. Note that "xx" in the destination command "MxxFyyyy" represents a preset two-digit number, and "yyyy" represents a flag string of the second destination information set by the operator as an argument. Furthermore, although the destination command is an auxiliary code (M code) of "MxxFyyyy," this is not limited to this and any code may be used. Alternatively, for example, the G code "G00" of the fast-forward command does not process the workpiece. Therefore, when executing a G-code that does not machine a workpiece, such as a fast-forward command "G00," the control program execution unit 121 may update the second destination information in the second destination information storage unit 300 with a flag sequence preset by parameters or the like, so as not to send the distribution data to the distribution destination 20. Furthermore, the G-code "G73" for the high-speed deep hole drilling cycle does not machine a workpiece during the escape operation. Therefore, when the escape operation is performed during execution of a cycle command such as the high-speed deep hole drilling cycle "G73," the control program execution unit 121 may update the second destination information in the second destination information storage unit 300 with a flag sequence preset by parameters or the like, so as not to send the distribution data to the distribution destination 20. Furthermore, when an external signal such as a general-purpose input / output (GPIO) is input, the control program execution unit 121 may interpret the signal as a destination change command and update the second destination information in the second destination information storage unit 300 with a flag sequence preset by parameters or the like. This enables the control device 10 to reduce the transmission of unnecessary data.
[0038] <Variation 2> In the above-described embodiment, the target information table 400 by delivery destination includes a flag column for each delivery destination and data ID in the storage area "List of collection target data IDs" in the table for each storage area "Target information." However, this is not limited to this. For example, the target information table 400 by delivery destination may omit the flag column for destination information by delivery destination and data ID in the storage area "List of collection target data IDs" in the table for each storage area "Target information." FIG. 8 is a diagram illustrating an example of the target information table 400 by delivery destination in which the flag column for each delivery destination and data ID is omitted from the storage area "List of collection target data IDs." As a result, the control device 10 transmits delivery data for all data IDs set in the storage area "List of collection target data IDs" in the table for the storage area "Target information" to the delivery destinations 20 in the storage area "Delivery destination" corresponding to the storage area "Target information." In this case, the delivery destination determination process in step S5 of the delivery process in FIG. 6 is as shown in the flowchart in FIG. 9. 7, detailed description thereof will be omitted. In step S56a, the distribution destination determination unit 122 distributes distribution data of all data IDs in the storage area "list of data IDs to be collected" to the i-th distribution destination 20. By doing so, the control device 10 can simplify the distribution destination determination process and speed up the distribution process.
[0039] Alternatively, the target information table 400 by destination may omit the flag column for the "All Destinations" storage area in the table for each "Target Information" storage area. FIG. 10 illustrates an example of the target information table 400 by destination in which the destination information for the "All Destinations" storage area is omitted. As a result, the control device 10 determines whether or not to transmit the distribution data to be transmitted based on the flag columns for each destination and data ID set in the "List of Collected Data IDs" storage area in the "Target Information" storage area of the target information table 400 and the second destination information in the second destination information storage unit 300. The control device 10 transmits the distribution data determined to be transmittable to all destinations 20. In this case, the destination determination process in step S5 of the distribution process in FIG. 6 becomes the flowchart shown in FIG. 11. Note that steps S52, S53, and S57 are similar to steps S52, S53, and S57 in FIG. 7, and detailed description thereof will be omitted. In step S55a, the delivery destination determination unit 122 calculates a logical product between the flags for the jth delivery destination and data ID in the "List of Collection Target Data IDs" storage area in the "Target Information" storage area of the delivery destination-specific target information table 400 and the flags for the second destination information in the second destination information storage unit 300. If the logical product of any flag is "1," the process proceeds to step S56b. On the other hand, if the logical product of all flags is "0," the process proceeds to step S57. In step S56b, the delivery destination determination unit 122 distributes the delivery data for the jth data ID in the "List of Collection Target Data IDs" storage area to all delivery destinations 20. This allows the control device 10 to simplify the delivery destination determination process and speed up the delivery process.
[0040] <Modification 3> In the above-described embodiment, the first to third destination information are set as flag strings as shown in Fig. 4, but are not limited to this. For example, the first to third destination information may be set as tags combining elements such as "processing steps A, B, C."
[0041] In one embodiment, each function included in the control device 10 can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the function is realized by a computer reading and executing a program.
[0042] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible recording media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Compact Disc Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, programmable ROMs (PROMs), erasable PROMs (EPROMs), flash ROMs, and RAMs). The program may also be supplied to a computer by various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable media can be supplied to a computer via wired communication paths such as electrical wires and optical fibers, or via wireless communication paths.
[0043] The step of writing a program to be recorded on a recording medium includes not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are executed in parallel or individually. The step of writing the program may also be performed by cloud computing.
[0044] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0045] The following supplementary note is further disclosed regarding the above embodiment and modified examples. (Supplementary Note 1) The control device (10) is a control device that controls an industrial machine based on a control program (P) and transmits acquired data as distribution data to one or more distribution destinations (20), and includes: a control program element-specific destination information acquisition unit (121) that acquires, for each execution block of the control program (P), a control program element-specific distribution target information table (200) including first destination information used to determine whether or not to transmit pre-specified distribution data, and updates second destination information of the control device (10) based on the content of the execution block and the control program element-specific distribution target information table (200), and a distribution destination determination unit (122) that acquires, at the time of transmission of distribution data, a distribution destination-specific target information table (400) including third destination information used to determine whether or not to transmit each piece of distribution data to a pre-specified distribution destination (20), and determines whether or not to transmit the distribution data based on the updated second destination information and the distribution destination-specific target information table (400), and transmits the distribution data to the distribution destination (20). (Supplementary Note 2) In the control device (10) of Supplementary Note 1, the control program element-specific destination information acquisition unit (121) updates the second destination information based on first destination information specified in advance for each element including any of a program name, a block number, a sequence name, a command, and a comment that constitutes the control program (P) and the element of the execution block. (Supplementary Note 3) In the control device (10) of Supplementary Note 1 or Supplementary Note 2, the control program element-specific destination information acquisition unit (121) updates the second destination information based on an argument set in a specific command included in the control program (P).
[0046] REFERENCE SIGNS LIST 1 Control system 10 Control device 11 Storage unit 200 Destination information table by control program element 300 Second destination information storage unit 400 Target information table by delivery destination 12 Control unit 121 Control program execution unit 122 Delivery destination determination unit 20(1) to 20(m) Delivery destination P Control program
Claims
1. A control device that controls industrial machinery based on a control program and transmits acquired data to one or more distribution destinations as distribution data, comprising: a control program element destination information acquisition unit that acquires a control program element-specific distribution target information table for each execution block of the control program, the control program element-specific distribution target information table including first destination information used to determine whether or not the pre-specified distribution data can be transmitted, and updates second destination information of the control device based on the contents of the execution block and the control program element-specific distribution target information table; and a distribution destination determination unit that acquires a distribution destination-specific target information table including third destination information used to determine whether or not transmission is possible for the pre-specified distribution destination and each of the distribution data when transmitting distribution data, and determines whether or not the distribution data can be transmitted based on the updated second destination information and the distribution destination-specific target information table, and transmits the distribution data to the distribution destination.
2. The control device according to claim 1, wherein the control program element destination information acquisition unit updates the second destination information based on the first destination information specified in advance for each element including a program name, block number, sequence name, command, or comment constituting the control program, and the elements of the execution block.
3. A control device as described in claim 1 or claim 2, wherein the control program element destination information acquisition unit updates the second destination information based on an argument set in a specific command included in the control program.
Citation Information
Patent Citations
Manufacturing / inspection device management system
JP2004070587A
Sensor information management device, sensor information management method, and sensor information management program
WO2015186516A1
Control device and data communication system
WO2023032077A1