Engineering device, target data generation method, and computer-readable recording medium
By storing the definition data of the control system module in the form of virtual data in the engineering device and generating target data, the problem of high time cost for building data formats in the prior art is solved, and a more efficient module use preparation process is achieved.
Patent Information
- Application Number
- CN202411341792.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-02
- Filing Date
- 2024-09-25
- Publication Date
- 2025-04-04
AI Technical Summary
When building data forms in the control system, the prior art requires manual defining of data, which leads to high time costs, especially when the module is in a tight factory time, which may lead to failure to build the data forms in a timely manner, affecting the normal use of the module.
By storing the definition data defining the module mounted in the control system in the engineering device as a predetermined common form of virtual data form, and generating the target data based on this virtual data form in the target data generation unit, the time from the definition data to the use of the module in the control system is shortened.
It achieves the shortening of the time when defining data is started to be used in the module, reduces the time cost of manually constructing data forms, and improves the efficiency of building data forms before the module leaves the factory.
Smart Images

Figure CN119758792A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an engineering device, a target data generating method, and a computer-readable recording medium. Background Art
[0002] In the control system used for the control of the workshop, many modules such as IO (Input Output) modules connected to the field equipment such as sensors and actuators in the workshop are installed. In order for these modules to operate normally, it is necessary to set the control system with the mounting position data indicating the position where each module is mounted and the attribute data that determines the operation state of each module. Here, the so-called attribute data is, for example, the parameters of the behavior of the IO module when the module is an IO module. When setting the mounting position data and attribute data for the control system, for example, an engineering device is used (for example, refer to Patent Document 1).
[0003] Using an engineering device, for example, as follows, the mounting position data and attribute data of a newly added module are set for the control system. The engineering device has a database that stores data related to the most recent system structure in the control system. Based on the data stored in the database, the engineering device displays an image representing the system structure of the control system in a tree structure on a screen. In the tree structure, a child node is added to a position corresponding to the position where the newly added module is mounted. The mounting position data of the newly added module is generated according to the position of the added child node.
[0004] Next, a data format of a plurality of items predetermined according to specifications including the functions of the newly added module is selected and assigned to the added child node. Attribute data is set for each item shown in the assigned data format. Thus, if the data stored in the database of the engineering device is updated, the contents of the updated database are reflected in the data related to the system structure of the control system. Thus, the newly added module can be operated normally in the control system.
[0005] Prior art literature
[0006] Patent Literature
[0007] Patent Document 1: Japanese Patent Application Publication No. 2013-142933
[0008] However, the above data format is different for each module type. In order to make it possible to select a data format corresponding to a certain module in an engineering device, it is necessary to obtain definition data for the data format in advance and pre-build the data format in the database based on the obtained definition data. The data format shown in the definition data generally has a complex hierarchical structure, so a certain degree of human and time cost is required to build the data format in the database.
[0009] The timing for defining data is before the product is shipped. If the time difference between the two timings is sufficient for the module, the data format for the database can be built before the module is shipped. In contrast, in the case of a module with a short time difference between the two timings, the data format is often not built in the database at the time of product shipment. In addition, even if the time difference between the two timings is sufficient for the module, if such modules are shipped in large quantities in a short period of time, for some modules, the data format is often not built in the database at the time of product shipment.
[0010] If the data format is not constructed in the database, the data format corresponding to the module cannot be selected in the engineering device, resulting in a problem that the module cannot be mounted on the control system for use. Summary of the invention
[0011] The present disclosure is made to solve the above-mentioned problems, and its purpose is to provide an engineering device, a target data generation method, and a computer-readable recording medium that shorten the time from obtaining definition data to using a module corresponding to the definition data in a control system.
[0012] In order to solve the above-mentioned problems, the engineering device involved in the present disclosure comprises: a storage unit, which stores definition data of a module installed in a control system as a virtual data form commonly used in a given first type of modules as data of a predetermined common form; and a target data generating unit, which, when the module installed is a module of the first type, ensures a storage area reflecting the content of the virtual data form in the storage unit based on the virtual data form, writes the items shown in the definition data in accordance with the data form shown in the definition data of the module installed in the ensured storage area, and writes the module name of the module installed to generate target data.
[0013] The target data generation method involved in the present disclosure includes the following steps: causing a storage unit to store definition data that defines a module installed in a control system as data of a predetermined common format and a virtual data format commonly used in a given first type of module; and when the module installed is a module of the first type, ensuring a storage area reflecting the content of the virtual data format in the storage unit based on the virtual data format, writing the items shown in the definition data in accordance with the data format shown in the definition data of the module installed in the ensured storage area, and writing the module name of the module installed to generate target data.
[0014] The computer-readable recording medium involved in the present disclosure enables a computer to execute the following steps: causing a storage unit to store definition data that defines a module installed in a control system as data of a predetermined common form and a virtual data form commonly used in a given first type of module; and when the module installed is a module of the first type, based on the virtual data form, ensuring a storage area in the storage unit that reflects the content of the virtual data form, writing the items shown in the definition data in accordance with the data form shown in the definition data of the module installed in the ensured storage area, and writing the module name of the module installed to generate target data.
[0015] Effects of the Invention
[0016] According to the engineering device, target data generation method, and program of the present disclosure, it is possible to shorten the time from obtaining definition data to using a module corresponding to the definition data in a control system. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It is a block diagram showing a configuration example of a shop system according to an embodiment of the present disclosure.
[0018] Figure 2 It is a block diagram showing a configuration example of an engineering device according to an embodiment of the present disclosure.
[0019] Figure 3 This is a diagram showing an example of an individual class and target data generated based on the individual class according to an embodiment of the present disclosure.
[0020] Figure 4 This is a diagram showing an example of a virtual class according to an embodiment of the present disclosure.
[0021] Figure 5 This is a diagram showing an example of the table structure of a virtual class utilization module name table according to an embodiment of the present disclosure.
[0022] Figure 6 This is a diagram showing an example of definition data of an exceptional IO module according to an embodiment of the present disclosure.
[0023] Figure 7 This is a flowchart showing an operation example of the engineering device according to the embodiment of the present disclosure.
[0024] Figure 8 This is a diagram showing a configuration example (part 1) of a control system configuration screen according to an embodiment of the present disclosure.
[0025] Fig. 9This is a diagram showing a configuration example (part 2) of a control system configuration screen according to an embodiment of the present disclosure.
[0026] Fig.10 It is a diagram showing a configuration example of a new target creation screen according to an embodiment of the present disclosure.
[0027] Fig.11 It is a diagram showing a configuration example of a property setting screen according to an embodiment of the present disclosure.
[0028] Fig.12 This is a diagram showing an example of target data generated from a virtual class according to an embodiment of the present disclosure.
[0029] Fig.13 This is a diagram showing a configuration example (part 3) of a control system configuration screen according to an embodiment of the present disclosure.
[0030] Fig.14 This is a schematic block diagram showing the structure of a computer according to at least one embodiment.
[0031] Explanation of symbols
[0032] 1…Workshop system
[0033] 10…Engineering equipment
[0034] 11… Database
[0035] 12…Target data generation unit
[0036] 13…Define the data storage unit
[0037] 14…Operation Department
[0038] 15…Display unit
[0039] 16…Display processing unit
[0040] 17…Output
[0041] 100…Control systems
[0042] 110…Control device
[0043] 111, 112…communication module
[0044] 115…CPU module
[0045] 120…Gateway device
[0046] 130…Ring network
[0047] 140…IO nodes
[0048] 141…Communication module
[0049] 142-1~142-8…Interface
[0050] 143-1~143-8…Slot
[0051] 151, 152, 153…IO modules
[0052] 160…Workshop
[0053] 161, 163…Sensor
[0054] 162…Actuator. DETAILED DESCRIPTION
[0055] Hereinafter, the engineering device, the target data generation method, and the computer-readable recording medium according to the embodiments of the present disclosure will be described with reference to the drawings. In addition, in the drawings, the same or corresponding structures are given the same reference numerals and descriptions thereof are omitted as appropriate.
[0056] (Overall structure)
[0057] Figure 1 1 is a block diagram showing the overall structure of a plant system 1. The plant system 1 includes a plant 160, a control system 100, and an engineering device 10. The plant 160 is, for example, a power plant or a factory. Figure 1 1 shows sensors 161 and 163 and an actuator 162 as field devices provided in the plant 160. The sensors 161 and 163 measure, for example, the temperature and pressure in the pipe provided in the plant 160. The actuator 162 opens and closes, for example, a valve inserted into the pipe provided in the plant.
[0058] The control system 100 includes a control device 110, a gateway device 120, a ring network 130, and an IO node 140. The control device 110 includes communication modules 111, 112, and a CPU (Central Processing Unit) module 115. The communication module 111 is connected to the engineering device 10 via a LAN (Local Area Network), etc., and transmits and receives data to and from the engineering device 10. The communication module 112 is connected to the gateway device 120 via a communication cable, and transmits and receives data to and from the gateway device 120. The CPU module 115 is, for example, a microcomputer for control including a CPU, a RAM (Random Access Memory), a ROM (Read Only Memory), etc., and is connected to the communication modules 111, 112, respectively. The CPU module 115 performs arithmetic processing such as calculating the driving amount of the actuator 162 based on numerical values indicating the temperature, pressure, etc. measured by the sensors 161, 163.
[0059] The gateway device 120 performs a protocol conversion process to convert one protocol into another protocol between the protocol used for communication with the communication module 112 and the protocol used for the ring network 130. The gateway device 120 relays data sent and received between the IO node 140 and the control device 110 by performing the protocol conversion process.
[0060] The ring network 130 is a communication network in a circular connection form. Figure 1 In the example, the gateway device 120 and one IO node 140 are connected, but for example, multiple IO nodes 140 can also be connected to the ring network 130. In this case, the control device 110 and the multiple IO nodes 140 transmit and receive data via the ring network 130 and the gateway device 120.
[0061] The IO node 140 includes a communication module 141 , interfaces 142 - 1 to 142 - 8 , and slots 143 - 1 to 143 - 8 . The communication module 141 is connected to the ring network 130 , and transmits and receives data to and from the control device 110 via the ring network 130 and the gateway device 120 .
[0062] Various field devices such as sensors 161, 163 and actuator 162 are connected to interfaces 142-1 to 142-8 via communication cables. Various IO modules such as IO modules 151, 152, 153 can be inserted and removed from slots 143-1 to 143-8. Figure 1 As an example, the IO module 151 is inserted into the slot 143-1, the IO module 152 is inserted into the slot 143-2, the IO module 153 is inserted into the slot 143-3, and the remaining slots 143-4 to 143-8 are left empty.
[0063] The interfaces 142-1 to 142-8 are provided in one-to-one correspondence with the slots 143-1 to 143-8 having the same branch number of the symbol. Figure 1 In the figure, as an example, eight interfaces 142-1 to 142-8 and eight slots 143-1 to 143-8 are shown, but the number may be less than eight or more than eight.
[0064] On the back of the IO node 140, wires are wired to electrically connect the interfaces 142-1 to 142-8 and the slots 143-1 to 143-8, which are in one-to-one correspondence. In addition, on the back of the IO node 140, wires are wired to electrically connect the slots 143-1 to 143-8 and the communication module 141, respectively. Therefore, for example, if the IO module 151 is inserted into the slot 143-1, the IO module 151 and the sensor 161 are connected via the interface 142-1, and the IO module 151 and the communication module 141 are connected.
[0065] Hereinafter, when any one of the various IO modules including the IO modules 151, 152, and 153 is indicated, it is referred to as the IO module 150. There are various types of IO modules 150. For example, the IO module 151 takes in an analog current signal output by the sensor 161, converts the taken-in analog current signal into a digital signal, and transmits it to the CPU module 115 via the communication module 141. The IO module 152 receives the digital signal transmitted by the CPU module 115 via the communication module 141, converts the received digital signal into an analog current signal, and outputs it to the actuator 162. In addition, in the IO module 150, similarly to the IO module 151, an analog current signal is taken in, converted into a digital signal, and outputted, but there is also an IO module that can take in an analog current signal of a current value range different from that of the IO module 151.
[0066] In addition to the difference in type due to different functions, such as the IO module 151 and the IO module 152, and the difference in type due to different specifications of the range of current values that can be taken in as described above, there is also a difference in type due to different manufacturers. For example, the IO modules 151 and 152 are IO modules manufactured by Company A, and the IO module 153 is an IO module manufactured by Company B, which is different from Company A. In this case, even if the IO module 153 is assumed to have the same function and specifications as the IO module 151, the IO module 151 and the IO module 153 are different types of IO modules due to the difference in manufacturers.
[0067] (Structure of engineering device)
[0068] Figure 2 1 is a block diagram showing a configuration example of an engineering device 10. The engineering device 10 can be configured using a computer such as a server, a personal computer, or a microcomputer, and peripheral devices of the computer, and includes a database unit 11, a target data generation unit 12, a definition data storage unit 13, an operation unit 14, a display unit 15, a display processing unit 16, an output unit 17, and a definition data input unit 18 as a functional configuration consisting of a combination of hardware of the computer and software such as a program executed by the computer.
[0069] The database unit 11 is a storage medium in which a database such as a relational database is constructed, and data can be recorded and retrieved by external access using a database language such as SQL (Structured Query Language). The database unit 11 stores system configuration data representing the system configuration of the control system 100. The data format used in the definition of the IO module 150 mounted on the control system 100 is constructed in the database unit 11.
[0070] In order to make the IO module 150 operate normally, it is necessary to record the mounting position data indicating the position where the IO module 150 is mounted in the control system 100 and the attribute data determining the operating state of the IO module 150 in the database unit 11, and make them part of the system configuration data of the control system 100. In addition, it is necessary not only to record them in the database unit 11, but also to set them in a searchable state. Therefore, it is necessary to generate a table storing the mounting position data and parameter data in the database unit 11, determine the items that become indexes for retrieval in the generated table, and determine the type of data recorded corresponding to each item (hereinafter referred to as data type). Here, the so-called data type is information indicating the type of recorded data such as character type and integer type, and the size of the recorded data.
[0071] That is, the data format for defining the IO module 150 constructed in the database unit 11 refers to the structure of the table, the items included in the table, and the data type corresponding to each item. This data format is hereinafter referred to as a class.
[0072] The data format of the attribute data differs for each type of the IO module 150, and therefore the class is determined for each type of the IO module 150. The class is determined by definition data provided by the manufacturer of each IO module 150.
[0073] However, there are various periods for providing definition data, including providing definition data before the product is shipped and providing definition data at a predetermined time when the product is shipped. Here, it is assumed that the operator of the control system 100 adopts the IO module 150 manufactured by Company A as the IO module for normal use (hereinafter also referred to as the normal IO module). Furthermore, the operator and Company A agree on the normal IO module, and Company A provides the definition data to the operator before a given period of time when Company A ships the product. Here, the so-called given period is a period that is sufficiently sufficient for constructing a class in the database unit 11 based on the definition data.
[0074] In contrast, the operator determines that the IO module 150 manufactured by Company B is an IO module for exceptional use (hereinafter also referred to as an exceptional IO module). In addition, the operator and Company B do not have the same agreement as with Company A, and it is unclear whether the data for the exceptional IO module manufactured by Company B can be defined before the product is shipped. In the latest case, the operator defines the data when the product is shipped. In addition, Company A may be the company to which the operator belongs. In this case, Company A is the operator's own company, and Company B is another company from the operator's perspective.
[0075] Due to the difference in the acquisition time of the definition data in the normal IO module and the exception IO module, the classes constructed in the database unit 11 have the following differences between the normal IO module and the exception IO module. In the following, as an example, it is assumed that the IO modules 151 and 152 are IO modules manufactured by Company A, and the IO module 153 is an IO module manufactured by Company B.
[0076] (usually the class of IO module)
[0077] Regarding the normal IO modules manufactured by Company A, individual classes (hereinafter referred to as individual classes) are constructed in the database unit 11 based on the definition data of each normal IO module before the normal IO modules are shipped.
[0078] Figure 3 (a) is a diagram showing a configuration example of an individual class 30-1 of an IO module 151 which is a normal IO module. The individual class 30-1 has items such as "class ID (Identification)", "class name", "attribute", and "mounting location". The module name of the IO module 151 is written in the area of the data recording item "class name" in the second row. Figure 3 In (a), as the module name of the IO module 151, an example of writing "AI-01 AI ch.8 4-20mA manufactured by Company A" is shown. Here, "AI" is an abbreviation for analog input. "01" is a number assigned to each type of IO module 150 of AI manufactured by Company A so as to be a different number. "ch.8" indicates that the number of channels of the IO module 151 is 8 channels. "4-20mA" indicates that the range of analog current values that can be taken in by the IO module 151 is the range of 4mA to 20mA.
[0079] In the data area of the item "Class ID" recorded in the first row, a class ID that can identify each class is written. Figure 3 (a) shows an example in which a part of the module name "AI-01 manufactured by Company A" is written as the class ID.
[0080] The "Properties" item includes "Action on failure", "Communication timeout (Timeout) time (ms (milliSecond)", "Signal range upper limit (mA (milli ampere)", and "Signal range lower limit (mA)" as sub-items, and further includes the data type corresponding to each sub-item. In addition, Figure 3In (a), the items of "Signal range upper limit (mA)" and "Signal range lower limit (mA)" are omitted and only one channel is shown, but the IO module 151 actually has 8 channels. Therefore, the individual class 30-1 includes the items of "Signal range upper limit (mA)" and "Signal range lower limit (mA)" corresponding to each of the 8 channels, and the data type corresponding to each item. In addition, Figure 3 In (a) and other figures, a specific data type is not shown but is shown as “(data type)”. However, in fact, the “(data type)” part shows contents such as “character type” and “integer type” as data types corresponding to each item.
[0081] The item of "Mounting location" includes the items of "Net", "Node" and "Slot" as sub-items, and further includes data types corresponding to the respective sub-items. Here, the data corresponding to the item of "Net" is identification data for identifying one ring network 130 provided in each CPU module 115. The data corresponding to the item of "Node" is identification data for identifying the IO node 140 connected to the ring network 130 indicated by the item of "Net". The data corresponding to the item of "Slot" is identification data indicating which of the slots 143-1 to 143-8 of the IO node 140 indicated by the item of "Node" the IO module 151 is inserted.
[0082] In the content shown in the individual class 30-1, what is obtained from the definition data of the IO module 151 is: the module name written in the data area of the item recording the "class name"; the names of the items "action on failure", "communication timeout (ms)" and "signal range upper limit (mA)" and "signal range lower limit (mA)" of the 8-channel quantity as sub-items of the "property" item; and the data types of the sub-items of the "property" item.
[0083] In addition, Figure 3 In the example of (a), the class ID written in the data section for recording the item "class ID" is used as a part of the module name of the IO module 151. Therefore, in this case, the class ID also becomes data that can be obtained from the definition data. The class ID may be any information as long as it can identify each class, and the class ID is not obtained from the definition data unless a part of the module name is set as the class ID. In addition, the module name written in the data section for recording the item "class name" may not use the module name suggested by Company A in the definition data as it is, but may be changed to an arbitrary module name. In the case of the change, the module name is no longer obtained from the definition data.
[0084] The item of "loading position" is not data obtained from the definition data, but is an item predetermined according to the structure of the control system 100, and is an item of a data format common to all classes. Therefore, when the operator of the engineering device 10 constructs the individual class 30-1 in the database unit 11, the part of the item of "loading item" is constructed according to the sub-items of the item of "loading position" determined in advance and the definition of the data type of each sub-item.
[0085] in addition, Figure 3 The data format of the item "attribute" of the individual class 30-1 shown in (a) is shown as an example. Generally, the data format represented by the definition data of each IO module 150 is the same as follows, regardless of whether it is a normal IO module or an exceptional IO module. Figure 3 As shown in (a) of the “attribute” item, it is not a simple data format that can be represented by one table, but a data format with a complex hierarchical structure composed of a plurality of tables. In the following description, an individual class corresponding to any one of the general IO modules is referred to as an individual class 30 .
[0086] (Class of the Exception IO module)
[0087] As for the exception IO modules manufactured by Company B, it is unclear whether the definition data can be obtained before the products are shipped as described above. Therefore, in the database unit 11, instead of constructing individual classes corresponding to the exception IO modules, virtual classes commonly used in the exception IO modules are constructed.
[0088] Figure 4 This is a diagram showing a structural example of a virtual class 40. Virtual class 40 has items of "class ID", "class name", "attribute", and "loading location" similarly to individual class 30-1. Among them, for the item of "attribute", only a partition is set, and the item and data type are not written. The partition set for the item of "attribute" can be a partition with any number and structure as long as it is a partition that can at least contain the data format shown in the definition data of any exception IO module. The so-called partition that can at least contain the data format shown in the definition data of any exception IO module refers to a partition that has the items contained in the definition data of any exception IO module, the data type of each item, and the number and structure of data according to the size of the data type of each item, and refers to the size of each partition. It means that the size of each partition is a size that can be written regardless of any item contained in the definition data of any exception IO module, the data type corresponding to any item, and the data corresponding to any item.
[0089] In the area for recording data of the item "class ID", the class ID of the virtual class 40 determined in advance is written. Figure 4, an example of writing a character string of "virtual class" as the class ID of the virtual class 40 is shown. In the area recording the data of the item "class name", the initial name of the class name of the virtual class 40 determined in advance is written. Figure 4 , there is shown an example in which a character string of "virtual class initial name" is written as the initial name of the class name of the virtual class 40. The item of "mounting position" is in the same data format as that of the individual class 30-1.
[0090] The database unit 11 stores Figure 5 The virtual class using module name table 50 is shown. The virtual class using module name table 50 stores the module name of each exceptional IO module.
[0091] Back to Figure 2 The target data generating unit 12 generates target data in the database unit 11 based on the individual class 30 or the virtual class 40 constructed in the database unit 11. Here, as an example of target data, Figure 3 The target data is generated for the individual class 30 - 1 shown in (a).
[0092] When the target data generation unit 12 generates target data based on the individual class 30-1, it reserves a storage area in the database unit 11, wherein the storage area is a storage area in which the items, class IDs, module names, and data types shown in the individual class 30-1 can be written, and includes a partition for recording data of a size determined by each data type shown in the individual class 30-1. The storage area reserved by the target data generation unit 12 in the database unit 11 is Figure 3 (b) shows a storage area of the target data 30 - 1 - 1.
[0093] In order to reflect the content of the individual class 30-1 in the secured storage area, the target data generation unit 12 transfers the items, class ID, module name, and data type shown in the individual class 30-1 to the secured storage area in the database unit 11. Thus, the target data 30-1-1 in a state without attribute data and mounting position data is generated. Here, the target data 30-1-1 is the target data corresponding to the IO module 151 inserted in the slot 143-1 of the IO node 140, and the IO module 151 is used as a pressure sensor, for example. In this case, the attribute data of the case where the IO module 151 is used as a pressure sensor is given to the target data generation unit 12.
[0094] The target data generation unit 12 writes each of the attribute data assigned to the target data 30-1-1 into the data area of the items "Failure Action", "Communication Timeout (ms)", "Signal Range Upper Limit (mA)", and "Signal Range Lower Limit (mA)" respectively. Figure 3 (b) shows an example in which "0 input", "30", "20", and "4" are written as attribute data corresponding to the items "Action upon failure", "Communication timeout period (ms)", "Signal range upper limit (mA)", and "Signal range lower limit (mA)".
[0095] The target data generating unit 12 is given the mounting position data of the inserted IO module 151. The mounting position data includes identification data corresponding to the items of "Net", "Node", and "Slot". Here, it is assumed that the identification data corresponding to the ring network 130 is "1", the identification data corresponding to the IO node 140 is "32", and the identification data corresponding to the slot 143-1 into which the IO module 151 is inserted is "1". In this case, the target data generating unit 12 writes each of the identification data contained in the given mounting position data into the data partition of the items of "Net", "Node", and "Slot" of the corresponding target data 30-1-1. Thus, the data in the database unit 11 corresponding to the data in the "Net", "Node", and "Slot" items are generated. Figure 1 The target data corresponding to the IO module 151 inserted into the slot 143-1 of the IO node 140, that is, Figure 3 Target data 30-1-1 is shown in (b).
[0096] On the other hand, for example, an IO module 151 used as a temperature sensor is inserted into the blank slot 143-5 of the IO node 140. In this case, the target data generation unit 12 generates the target data 30-1-1 by securing a storage area in the database unit 11 and reflecting the contents of the individual class 30-1 in the secured storage area. Figure 3 The target data 30 - 1 - 2 shown in (c) of FIG. 1 is provided to the target data generating unit 12 with attribute data when the IO module 151 is used as a temperature sensor and mounting position data.
[0097] The target data generation unit 12 divides the data of the respective write records of the attribute data of the case where the given IO module 151 is used as a temperature sensor into the data of the items "Failure action", "Communication timeout period (ms)", "Signal range upper limit (mA)", and "Signal range lower limit (mA)" of the respective corresponding target data 30-1-2. Figure 3 (c) shows an example in which "Maintain", "30", "20", and "4" are written as attribute data corresponding to the items "Failure Action", "Communication Timeout (ms)", "Signal Range Upper Limit (mA)", and "Signal Range Lower Limit (mA)".
[0098] The target data generation unit 12 writes the data included in the given mounting position data into the area recording the data of the "Net", "Node", and "Slot" items of the target data 30-1-2 corresponding to each of them. In addition, the identification data corresponding to the slot 143-5 is set to "5". Thus, the target data corresponding to the IO module 151 inserted in the slot 143-5 of the IO node 140 is generated in the database unit 11, that is, Figure 3 Target data 30-1-2 shown in (c).
[0099] That is, the target data is data that corresponds one-to-one to each IO module 150 actually mounted on the control system 100. Even if the IO modules 150 are of the same type, different target data will be generated if they are used for different purposes or mounted at different locations.
[0100] Back to Figure 2 The definition data storage unit 13 stores definition data of each of the exceptional IO modules manufactured by Company B. Figure 6 This figure shows an example of definition data 60 of IO module 153, which is one of the exceptional IO modules manufactured by Company B. As described above, the operator who operates the control system 100 and Company B do not have an agreement on how to obtain definition data in advance as in Company A, but have an agreement with Company B to provide definition data in the form of text data in a common format.
[0101] The so-called common form is, for example, Figure 6 As shown in the figure, the data format is as follows: the file name becomes the module name, and the sub-items of the "attribute" item and the data type corresponding to the sub-item are alternately shown in the file separated by commas. In addition, the IO module 153 has 16 channels as shown in the file name, and further, in each port, in addition to being able to determine the upper and lower limits of the signal range, the upper and lower limits of the communication data can also be determined. Therefore, the definition data 60 becomes data that includes 16 items of "signal range upper limit (mA)", "signal range lower limit (mA)", "communication data upper limit (byte)", "communication range lower limit (byte)", and the data type corresponding to each item.
[0102] in addition, Figure 6 The example of the definition data 60 shown is an example that can be expressed by one table. In the case of a data format expressed by a plurality of tables, for example, the definition data 60 may be a plurality of files separated for each table. In this case, for example, each file contains data indicating the table name and the relationship between the tables, and includes contents that determine the data format of the definition data 60.
[0103] Back to Figure 2The operation unit 14 includes input devices such as a mouse and a keyboard, and receives operations from an operator of the engineering device 10. The display unit 15 is, for example, a liquid crystal display, and displays data output by the display processing unit 16.
[0104] The display processing unit 16 receives various instruction signals from the operation unit 14, reads data corresponding to each instruction signal from the database unit 11 and displays it on the display unit 15, or outputs an instruction signal for generating target data to the target data generation unit 12. The output unit 17 is connected to the communication module 111 of the control device 110 via a LAN or the like. The output unit 17 reads the system configuration data of the control system 100 from the database unit 11, and sends the read system configuration data to the control device 110. The definition data importing unit 18 imports the definition data 60 supplied from the outside, writes the file name of the imported definition data 60 into the virtual class use module name table 50 of the database unit 11, and writes the imported definition data 60 into the definition data storage unit 13.
[0105] (Operation example of engineering equipment)
[0106] Figure 7 1 is a flowchart showing an example of the operation of the engineering device 10. Figure 7 Before the processing of the flowchart shown in the figure, the control system 100 has the following structure. It is assumed that the IO module 151 is inserted into the slot 143-1 of the IO node 140 of the control system 100, and the IO module 152 is inserted into the slot 143-2, and the other slots 143-3 to 143-8 are left blank. In addition, target data has been generated for these two IO modules 151 and 152 in the database unit 11, and the attribute data and mounting position data corresponding to each of them are written in the generated target data.
[0107] Furthermore, it is assumed that the definition data 60 of the IO module 153 has been acquired, and the acquired definition data 60 has been supplied to the definition data taking unit 18. Therefore, the definition data storage unit 13 is in a state of storing the definition data 60. The virtual class use module name table 50 of the database unit 11 is in a state of storing "AI AI ch.16 4-20mA manufactured by Company B" which is the module name of the IO module 153 indicated by the file name of the definition data 60.
[0108] In the structure of the control system 100 described above, the IO module 153 as an exceptional IO module is inserted into the slot 143-3 in the blank state, and the engineering device 10 starts Figure 7 Processing shown.
[0109] When the engineering device 10 is activated, the display processing unit 16 of the engineering device 10 displays a menu screen showing various processes as options on the display unit 15. The operator operates the operation unit 14 on the menu screen to select an option for a process of displaying the system configuration data of the control system 100 in a tree structure.
[0110] When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects that the option of processing the process of displaying the system configuration data of the control system 100 in a tree structure is selected by the operation unit 14 on the menu screen. The display processing unit 16 reads the system configuration data of the control system 100 from the database unit 11. The display processing unit 16 generates a tree structure representing the read system configuration data. Figure 8 The display processing unit 16 displays the generated control system configuration screen 200 on the display unit 15 (S1).
[0111] exist Figure 8 In the control system structure screen 200 shown, a root node 201 including a string of "control system" indicates the control system 100. As a child node of the root node 201, a child node 202 including a string of "CPU module (Net: 1)" indicating the CPU module 115 is shown. As child nodes of the child node 202, "control operation block structure" and "hardware structure" are shown, and as a child node of the "hardware structure", a child node 203 including a string of "IO node (Node: 32)" indicating the IO node 140 is shown.
[0112] The child node 203 has eight child nodes corresponding to the slots 143-1 to 143-8 of the IO node 140. When all the slots 143-1 to 143-8 are in a blank state, the eight child nodes are indicated by names such as "Slot1" to "Slot8", and the branch numbers of the symbols of the slots 143-1 to 143-8 correspond to the numbers following the character string "Slot".
[0113] As described above, here, the IO module 151 is inserted into the slot 143-1 corresponding to "Slot1", and the IO module 152 is inserted into the slot 143-2 corresponding to "Slot2", and the target data corresponding to each is generated. Therefore, at the position of the child node 211 corresponding to the slot 143-1, the module name of the IO module 151, that is, "AI-01 AI ch.8 4-20mA manufactured by A Company" is displayed instead of "Slot1". At the position of the child node 212 corresponding to the slot 143-2, the module name of the IO module 152, that is, "AO-01 AO ch.8 4-20mA manufactured by A Company" is displayed instead of "Slot2". In addition, AO is an abbreviation for analog output.
[0114] The operator operates the operation unit 14 to select an area in the control system configuration screen 200 where the child node 220 including the character string "Slot3" corresponding to the slot 143-3 into which the IO module 153 is inserted is displayed. When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects the child node 220 existing in the area selected by the operation unit 14. The display processing unit 16 generates a selection screen 221 by associating the information representing the detected child node 220. The display processing unit 16 displays the generated selection screen 221 as shown in FIG. Fig. 9 The selection screen 221 includes three options: "Create New", "Properties", and "Delete". Here, the operator operates the operation unit 14 to select the option of "Create New". When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16.
[0115] When the display processing unit 16 receives the operation instruction signal while the selection screen 221 indicating the information of the child node 220 is being associated with the display unit 15, the display processing unit 16 detects that the option selected by the operation unit 14 in the selection screen 221 is the option of "new creation". When the display processing unit 16 detects that the option is the option of "new creation", it detects "3" as the identification data corresponding to "Slot" from the information indicating the child node 220 associated with the selection screen 221 being displayed. The display processing unit 16 detects the identification data "32" corresponding to "Node" and the identification data "1" corresponding to "Net" from the child nodes 203 and 202 existing in the path from the child node 220 to the root node 201. The display processing unit 16 generates "Net: 1, Node: 32, Slot: 3" as the mounting position data from the detected three identification data (S2).
[0116] When generating the mounting position data, the display processing unit 16 detects the class ID stored corresponding to the item of "class ID" and the module name stored corresponding to the item of "class name" of all individual classes 30 from the database unit 11. The display processing unit 16 associates each of the detected module names with the class ID corresponding to each of them to generate a combination of the module name and the class ID.
[0117] The display processing unit 16 reads out all the module names of the virtual class using module name table 50 stored in the database unit 11 , and associates each of the read out module names with the class ID of the virtual class 40 , namely, “virtual class”.
[0118] The display processing unit 16 generates Fig.10 The target new creation screen 250 is displayed, wherein the target new creation screen 250 lists the combinations of module names and class IDs generated for all individual classes 30, and the module names associated with the "virtual classes" as class IDs. The display processing unit 16 displays the target new creation screen 250 on the display unit 15 (S3). Fig.10 As an example, an example of a new target creation screen 250 is shown, wherein the new target creation screen 250 shows a combination of 6 module names and class IDs detected from an individual class 30 corresponding to a normal IO module shown by symbol 251, and a combination of 2 module names and the class ID of a virtual class 40, i.e., a "virtual class", corresponding to an exceptional IO module shown by symbol 252.
[0119] The operator performs an operation on the operation unit 14 to select "AI AI ch.16 4-20mA manufactured by Company B" indicated by the symbol 253 as the module name corresponding to the IO module 153 on the target new creation screen 250. When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects the module name "AI AI ch.16 4-20mA manufactured by Company B" selected by the operation unit 14 on the target new creation screen 250.
[0120] The operator operates the operation unit 14 to select the button 255 including the character string "next" of the target new creation screen 250. When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects that the button 255 is selected by the operation unit 14 on the target new creation screen 250, and erases the target new creation screen 250 from the display unit 15 (S4).
[0121] The display processing unit 16 outputs the mounting position data generated in the process of S2 and the module name detected in the process of S4 to the target data generating unit 12. The target data generating unit 12 takes in the mounting position data and the module name output by the display processing unit 16. The target data generating unit 12 determines whether the taken-in module name is the module name of the IO module 150 using the virtual class 40 based on whether the module name is stored in the virtual class using module name table 50 of the database unit 11 (S5).
[0122] Here, the module name "AI AI ch.16 4-20mA manufactured by Company B" taken in by the target data generating unit 12 is stored in the virtual class using module name table 50. Therefore, the target data generating unit 12 determines that the taken in module name is the module name of the IO module 150 using the virtual class 40, that is, the exceptional IO module (S5, Yes). In this case, the target data generating unit 12 secures the following storage area in the database unit 11 according to the virtual class 40 stored in the database unit 11.
[0123] The target data generation unit 12 reserves a storage area in the database unit 11, wherein the storage area is a storage area in which the contents indicated by the virtual class 40 and the data of the size determined by the data type of each "Net", "Node", and "Slot" can be written, and is a storage area divided and set in the "attribute" item. The storage area secured in the database unit 11 corresponds to the IO module 153 inserted in the slot 143-3 of the IO node 140 of the control system 100. Fig.12 The storage area of the target data 40 - 1 is shown ( S6 ).
[0124] In order to reflect the contents of the virtual class 40 in the secured storage area, the target data generating unit 12 transfers the items of "class ID", "class name", "attribute", "mounting position", "Net", "Node", and "Slot" of the virtual class 40, "virtual class" as the class ID, "virtual class initial name" which is the initial name of the class name of the virtual class 40, and the data types of "Net", "Node", and "Slot" to the secured storage area inside the database unit 11. The target data generating unit 12 rewrites the "virtual class initial name" which is the data corresponding to the item of "class name" into "AIAI ch.16 4-20mA manufactured by Company B" which is the name of the module taken in (S7).
[0125] The target data generation unit 12 reads the definition data 60 corresponding to "AI AI ch.16 4-20mA manufactured by Company B" which is the taken-in module name from the definition data storage unit 13. The target data generation unit 12 reflects the read definition data 60 in the secured storage area to generate the target data 40-1. That is, the target data generation unit 12 writes the items and data types shown in the definition data 60 in the area set in the item of "attribute" in the secured storage area according to the data format shown in the definition data 60. Thus, the target data 40-1 in a state without attribute data and mounting position data is generated (S8).
[0126] The target data generator 12 writes the three numerical values indicated by the mounting position data “Net: 1, Node: 32, Slot: 3” acquired in the process of S5 into the areas recording the data of the items “Net”, “Node” and “Slot” of the target data 40 - 1 corresponding to the respective ones ( S11 ).
[0127] The target data generating unit 12 outputs an instruction signal for displaying the attribute setting screen including the information for specifying the target data 40-1 to the display processing unit 16. Here, the information for specifying the target data 40-1 is, for example, the class ID "virtual class", the class name "AI AI ch.16 4-20mA manufactured by Company B", and the mounting position data included in the target data 40-1.
[0128] When the display processing unit 16 receives the instruction signal, it reads out each sub-item included in the item "attribute" of the target data 40-1 and the data type corresponding to each sub-item from the database unit 11 based on the information identifying the target data 40-1 included in the instruction signal. The display processing unit 16 generates a display showing the read sub-item and data type. Fig.11 The display processing unit 16 displays the generated property setting screen 260 on the display unit 15.
[0129] In the attribute setting screen 260 displayed on the display unit 15, the operator sets the attribute data for the items "Timeout (ms)", "Failure action (Fail action)", "Signal range upper limit (mA)", "Signal range lower limit (mA)", "Communication data upper limit (byte)", and "Communication data lower limit (byte)" respectively by operating the operation unit 14. For example, the case of setting the attribute data of the item "Timeout (ms)" is described. When the operator operates the operation unit 14 to select the first row area 261 corresponding to the item "Timeout (ms)" in the column of the item "Data", the display processing unit 16 becomes a state in which the area 261 can be input. When the operator operates the operation unit 14 to write the attribute data "30" corresponding to the item "Timeout (ms)" in the area 261 that has become an input-enabled state, the display processing unit 16 displays the written attribute data "30" in the area 261.
[0130] When the operator completes the setting of the attribute data, the operator operates the operation unit 14 to select the button 265 including the character string "Complete" on the attribute setting screen 260. When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects that the button 265 is selected by the operation unit 14 on the attribute setting screen 260. The display processing unit 16 outputs an instruction signal to instruct the writing of the attribute data, wherein the attribute data includes data for associating the attribute data displayed on the attribute setting screen 260 with the corresponding items and information for specifying the target data 40-1, to the target data generating unit 12. The display processing unit 16 deletes the attribute setting screen 260 from the display unit 15.
[0131] When receiving the instruction signal for instructing the display processing unit 16 to write the attribute data, the target data generating unit 12 detects the target data 40-1 in the database unit 11 based on the information identifying the target data 40-1 included in the instruction signal. The target data generating unit 12 writes each of the attribute data included in the instruction signal into the area recording the data of the item of the target data 40-1 that matches the item to which the attribute data is associated (S12).
[0132] Thus, the target data 40-1 stored in the database unit 11 becomes Fig.12 In addition, Fig.12In the target data 40-1, the items of "Signal range upper limit (mA)", "Signal range lower limit (mA)", "Communication data upper limit (byte)", and "Communication data lower limit (byte)" are omitted and only the amount of one channel is shown, but the IO module 151 actually has 16 channels. Therefore, the target data 40-1 includes the items of "Signal range upper limit (mA)", "Signal range lower limit (mA)", "Communication data upper limit (byte), and "Communication data lower limit (byte)" corresponding to the 16 channels respectively, and the attribute data corresponding to each item.
[0133] The target data generation unit 12 outputs an instruction signal to the display processing unit 16 to update the control system configuration screen 200 displayed on the display unit 15. When the display processing unit 16 receives the instruction signal, it reads the system configuration data of the control system 100 from the database unit 11. The display processing unit 16 regenerates the image of the tree structure portion contained in the control system configuration screen 200 based on the read system configuration data. The display processing unit 16 replaces the image of the tree structure portion of the control system configuration screen 200 displayed on the display unit 15 with the regenerated image of the tree structure portion. As a result, the control system configuration screen 200 becomes Fig.13 In the state shown, the display of the child node 220 is replaced with "Slot 3" and becomes "AI AI ch. 16 4-20mA manufactured by Company B" which is the module name of the IO module 153 (S13).
[0134] The operator operates the operation unit 14 to select an option for performing a process of setting other data for the system configuration data in the menu screen displayed on the display unit 15. When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects that the option for performing a process of setting other data is selected in the menu screen by the operation unit 14. The display processing unit 16 generates a screen for performing a process of setting other data and displays it on the display unit 15.
[0135] In the screen for setting other data, the operator performs an operation to set other data on the operation unit 14. Thus, the display processing unit 16 receives an operation instruction signal for each operation from the operation unit 14, and updates the system configuration data of the control system 100 stored in the database unit 11 based on the other data set in the screen for setting other data. When the display processing unit 16 completes the update of the system configuration data, it deletes the screen for setting other data from the display unit 15 (S14). Here, the so-called other data refers to data indicating a calculation process such as calculating the driving amount of the actuator 162 based on the numerical value measured by the sensor 163 taken in by the newly added IO module 153 and the numerical value measured by the sensor 161 taken in by the IO module 151.
[0136] The operator operates the operation unit 14 to select an option for processing to output the system configuration data to the control device 110 in the menu screen displayed on the display unit 15. When the operation unit 14 receives the operation, it outputs an operation instruction signal to the display processing unit 16. When the display processing unit 16 receives the operation instruction signal, it detects that the option for processing to output the system configuration data to the control device 110 is selected by the operation unit 14 in the menu screen. The display processing unit 16 outputs an instruction signal to the output unit 17 to output the system configuration data of the control system 100 stored in the database unit 11 to the control device 110. When the output unit 17 receives the instruction signal, it reads the system configuration data of the control system 100 from the database unit 11 and transmits the read system configuration data to the communication module 111 of the control device 110 (S15).
[0137] The communication module 111 outputs the system configuration data sent by the output unit 17 to the CPU module 115. The CPU module 115 takes in the system configuration data output by the communication module 111, and replaces the system configuration data of the control system 100 stored in the internal storage area with the taken-in system configuration data. As a result, the IO module 153 inserted in the slot 143-3 of the IO node 140 operates normally.
[0138] In the above-mentioned process of S5, the case where the target data generation unit 12 determines that the imported module name is not the IO module 150 using the virtual class 40 (S5, No) is the following case. That is, the imported module name is not stored in the virtual class using module name table 50 of the database unit 11, and the IO module 150 corresponding to the module name is a normal IO module.
[0139] In this case, the target data generation unit 12 detects the individual class 30 containing the module name of the processing object in the item "Class Name" from the database unit 11. The target data generation unit 12 secures a storage area for the target data in the database unit 11 based on the detected individual class 30 (S9). The target data generation unit 12 generates the target data by reflecting the contents of the detected individual class 30 in the secured storage area inside the database unit 11 (S10). Then, the processing after S11 is performed. In addition, Figure 8 The child node 211 corresponding to the IO module 151 inserted in the slot 143 - 1 and the child node 212 corresponding to the IO module 152 inserted in the slot 143 - 2 are displayed after the processing of S9 and S10 .
[0140] It is also possible to display the Fig.13After the control system configuration screen 200 is displayed, the operator can perform the following operations to add or modify attribute data. Fig.13 In the control system configuration screen 200 shown in FIG. 1 , the operator operates the operation unit 14 to display the selection screen 221 shown in the process of S2 on the display unit 15. In the selection screen 221 displayed by this operation, the operator operates the operation unit 14 to select the option of "attribute", and the display unit 15 displays the selection screen 221 again. Fig.11 The attribute setting screen 260 is shown. On the displayed attribute setting screen 260, the operator can add or modify attribute data.
[0141] (Effect)
[0142] In the engineering device 10 according to the above-mentioned embodiment, the virtual class 40 is preliminarily constructed in the database unit 11. On this basis, when the definition data 60 of the exception IO module is obtained, the obtained definition data 60 is supplied to the definition data import unit 18, and the module name of the exception IO module given as the file name of the definition data 60 is written in the module name table 50 of the virtual class of the database unit 11, and the definition data 60 is written in the definition data storage unit 13. As a result, the exception IO module can be selected in the engineering device 10 in the same manner as the normal IO module, and the target data of the exception IO module can be generated in the database unit 11 using the virtual class 40.
[0143] Since the virtual class 40 can be pre-built in the database unit 11, when the definition data 60 of the exceptional IO module is obtained, the operation required to make the state in which the exceptional IO module can be selected in the engineering device 10 is only the operation of supplying the definition data 60 to the definition data taking unit 18. The time required for this operation is much shorter than the time required to build the individual class 30 in the database unit 11 based on the definition data 60. Therefore, by using the engineering device 10, the time from the acquisition of the definition data to the use of the IO module 150 corresponding to the definition data in the control system 100 can be shortened.
[0144] Since even if the IO modules 150 manufactured by Company A are shipped in large quantities in a short period of time, it will take time to build the individual classes 30 of the database unit 11. Therefore, it is also assumed that the individual classes 30 of some IO modules 150 have not been built before the products are shipped. Even in this case, since it is possible to start with Company A and Figure 6 The definition data 60 shown is the same common form of definition data. Therefore, if the IO modules 150 of Company A, which can obtain the common form of definition data, are treated as exceptional IO modules and the virtual class 40 is used, it is possible to make these IO modules 150 selectable in the engineering device 10 before the product is shipped.
[0145] (Other Configuration Examples of Embodiments)
[0146] As mentioned above, although the embodiment of this disclosure is described in detail with reference to drawings, the specific structure is not limited to this embodiment, and also includes the design etc. which do not deviate from the scope of the summary of this disclosure.
[0147] (Structure example using virtual classes in any module)
[0148] In the above-mentioned embodiment, an example of applying the virtual class 40 to the IO module 150 mounted in the control system 100 is shown. On the other hand, if any module other than the IO module 150, such as the CPU module 115, can be replaced with another type of CPU module and common format definition data about the other type of CPU module can be obtained, the other type of CPU module can be set as an exceptional CPU module, and the virtual class 40 can be used to make the exceptional CPU module selectable in the engineering device 10. For any module used in the control system 100 such as the communication modules 111, 112, and 141 other than the CPU module 115, if there are other types of modules that can be replaced and common format definition data can be obtained, the virtual class 40 can also be used to make the engineering device 10 selectable.
[0149] (Example of transferring module configuration data from other engineering devices)
[0150] As described above, when a virtual class 40 is used for an arbitrary module so as to make it selectable in the engineering device 10, for example, the following is possible. In addition, in the following description, the data formed based on multiple target data among the system structure data generated by the engineering device 10 in the database unit 11 is referred to as module structure data. The so-called module structure data generated by the engineering device 10 is assumed to be the module structure data of the control system 100 generated by other engineering devices that generate module structure data in a different form. Here, it is assumed that the other engineering devices are replaced with the engineering device 10. In this case, the other engineering devices select the data corresponding to each module from the module structure data generated by themselves and read them out.
[0151] The data corresponding to each module read out includes, in addition to the module name and item, data corresponding to attribute data and mounting position data. Hereinafter, the data corresponding to attribute data and mounting position data are referred to as setting data. Other engineering devices convert the data corresponding to each module into pairs. Figure 6The format of the definition data 60 shown is a common format text data definition data in which "(project name)", "(data type)", and "(setting data)" are repeated and separated by commas. In addition, since the definition data includes the mounting position data, the last part includes "Net, (data type), (setting data), Node, (data type), (setting data), Slot, (data type), (setting data)". In addition, the file name of the definition data generated by the conversion is generated in the same way as the definition data 60 so as to be the module name.
[0152] The definition data of each module generated as described above is supplied to the definition data input unit 18 of the engineering device 10. The definition data input unit 18 writes the supplied definition data into the definition data storage unit 13, and writes the file name of the definition data into the virtual class use module name table 50 of the database unit 11. When the definition data input unit 18 completes the writing, it outputs a target data generation instruction signal including the file name of the written definition data to the target data generation unit 12.
[0153] When the target data generation unit 12 receives the target data generation instruction signal from the definition data input unit 18, it reads the file name of the definition data contained in the target data generation instruction signal. The target data generation unit 12 performs the following operations for each read file name, that is, module name. Figure 7 The processing of S6 to S8 is performed, and in the processing of S8, the process of writing the setting data, that is, the attribute data and the mounting position data into the generated target data is also performed. Then, the processing after S13 is performed.
[0154] As long as the above-mentioned processing is started by selecting and reading the data of each module from the module structure data in other engineering devices, the subsequent processing can be performed manually by other engineering devices and engineering device 10. Therefore, the module structure data generated in other engineering devices can be transferred to engineering device 10 without human intervention.
[0155] Here, it is assumed that the main engineering device used is not the engineering device 10 but other engineering devices. In this case, if a module is newly added to the other engineering device, the data of the added module is converted into definition data without manual intervention and supplied to the definition data input unit 18 of the engineering device 10. If the target data generation unit 12 of the engineering device 10 supplies definition data to the definition data input unit 18, target data including attribute data and mounting position data corresponding to the added module is generated in the database unit 11. In addition, in this case, the engineering device 10 performs the processing of S13 after the generation of the target data, but does not perform the processing of S14 and S15 in order not to compete with the system configuration data generated by other engineering devices. Thus, since the module configuration data can be stored in two engineering devices in duplicate, the latest module configuration data can be referenced in either of the two engineering devices.
[0156] (Configuration example when replacing a module)
[0157] For example, the following scenario is assumed: in response to the suspension of the manufacture of the IO module 151 manufactured by the company A, the IO module 151 mounted on the control system 100 is replaced with the IO module 153 manufactured by the company B, which takes in analog current signals and converts them into digital signals and outputs them in the same way as the IO module 151. The operator of the engineering device 10 understands the correspondence between the attribute data of the IO module 151 and the attribute data of the IO module 153, creates a conversion table for converting the attribute data of the IO module 151 into the attribute data of the IO module 153, and stores it in the database unit 11.
[0158] In this case, for example, items such as "communication data upper limit (byte)" and "communication data lower limit (byte)" that do not exist in the attribute data of the IO module 151 but exist in the attribute data of the IO module 153 are determined in the conversion table so that predetermined values are assigned. On the contrary, if there is an item that exists in the attribute data of the IO module 151 but does not exist in the attribute data of the IO module 153, if there is no problem if the data of the item is not used, the conversion table determines that the data is discarded so that it is not included after the conversion. However, it is preferable to replace it with the IO module 150 that can inherit all the attribute data of the IO module 151.
[0159] The target data generating unit 12 performs the following processing on each target data corresponding to each IO module 151 installed in the control system 100 stored in the database unit 11 according to the operation of the operator via the operation unit 14 and the display processing unit 16. That is, the target data generating unit 12 converts the target data into definition data of a common format corresponding to the IO module 153 while using the conversion table stored in the database unit 11.
[0160] Here, since the target data before the conversion includes attribute data and mounting position data, the definition data after the conversion also includes attribute data and mounting position data. Therefore, the format of the definition data is the same as the above-mentioned "(Structural example of transferring module structure data from other engineering devices)", and becomes a common format of text data of "(project name)", "(data type)", and "(setting data)" separated by commas and repeated. At the end of the definition data, the mounting position data is included in the form of "Net, (data type), (setting data), Node, (data type), (setting data), Slot, (data type), (setting data)". In addition, "(setting data)" is the data of attribute data corresponding to each project, or the data of mounting position data.
[0161] The target data generating unit 12 is given a module name of the replaced IO module 153, "AI AI ch.16 4-20mA manufactured by Company B", in advance by the operator. Figure 7 In the process of S6 and S7, the data corresponding to the item of "class name" in the secured storage area, namely "virtual class initial name", is rewritten to the assigned "AI AI ch.16 4-20mA manufactured by Company B". Then, the target data generating unit 12 performs the process of S8, and in the process of S8, the process of writing the attribute data and the mounting position data into the generated target data is also performed.
[0162] When the target data generating unit 12 completes the above processing for the target data of all IO modules 151, it deletes the target data corresponding to each IO module 151 mounted in the control system 100 from the database unit 11. In the control system 100, after the IO module 151 mounted in the IO node 140 is replaced with the IO module 153, Figure 7 In the process of S15, the replaced IO module 153 operates normally.
[0163] (Another example of virtual class structure (Part 1))
[0164] In the above-mentioned embodiment, it is described as necessary to Figure 4 The following divisions are set in the "attributes" items of the virtual class 40 shown: divisions having items contained in the definition data of any exception IO module, the data type of each item, and the number and structure of data according to the size of the data type of each item that can be written, and the size of each division becomes a size that can write any item contained in the definition data of any exception IO module, the data type corresponding to any item, and the data corresponding to any item.
[0165] On the other hand, in the item "attribute" of the virtual class 40, only the following divisions may be set: the divisions having the number and structure of the items included in the definition data of any exception IO module and the data type of each item can be written, and the size of each division is a size that can write any item included in the definition data of any exception IO module and any data type corresponding to the arbitrary item. In other words, the divisions for recording data may not be set in advance in the item "attribute" of the virtual class 40.
[0166] In this case, the target data generating unit 12 Figure 7 In the process of S6, when securing the storage area of the target data, the storage area is secured by referring to each "(data type)" included in the definition data 60 so as to include a partition for recording data of a size determined by each "(data type)". In this way, the storage area allocated to the virtual class 40 in the database unit 11 can be reduced.
[0167] (Other structural examples of virtual classes (Part 2))
[0168] As in the above-mentioned embodiment, it is also possible to predetermine the number, structure, and size of the divisions generated in the "attribute" item when generating the target data of the virtual class 40 without presetting the divisions in the "attribute" item for the virtual class 40. Figure 7 In the process of S6, when the target data generation unit 12 secures the storage area for the target data according to the virtual class 40, it refers to the numerical values of the number, structure, and size of the divisions generated in the item of "attribute" shown in the virtual class 40, secures a storage area that can generate a predetermined number, structure, and size of divisions in the item of "attribute" of the target data, and generates the divisions of the item of "attribute" in the secured storage area. In this way, the storage area allocated to the virtual class 40 in the database unit 11 can be reduced.
[0169] In addition, the number, structure, and size of the partitions generated in the item representing the "attribute" may be determined for the virtual class 40 without considering the partitions for recording data. In this case, the target data generating unit 12 refers to each "(data type)" of the definition data 60 in the process of S6 regarding the partitions for recording data, and secures a storage area so that it includes the partitions for recording data of the size determined by each "(data type)".
[0170] (Other structural examples related to the virtual class using module name table)
[0171] In the above-mentioned embodiment, the database unit 11 stores Figure 5The virtual class uses the module name table 50 shown in the figure. In contrast, the database unit 11 may not store the virtual class uses the module name table 50 but may be configured as follows. In the engineering device 10, the display processing unit 16 and the definition data storage unit 13 are connected. The display processing unit 16 is Figure 7 In the process of S3 , instead of reading the module name from the virtual class utilization module name table 50 , the module name indicated as the file name of the definition data 60 stored in the definition data storage unit 13 is read.
[0172] The target data generating unit 12 Figure 7 In the processing of S5, instead of determining whether the taken-in module name is stored in the virtual class utilization module name table 50 of the database unit 11, it is determined whether it is consistent with any of the module names shown as the file name of the definition data 60 stored in the definition data storage unit 13. In this case, if the target data generation unit 12 determines that it is consistent with any of them, it corresponds to the case where the processing of S5 is "yes", and if it is determined that it is inconsistent with any of them, it corresponds to the case where the processing of S5 is "no".
[0173] Furthermore, as described above, the target data generation unit 12 performs the processing of S5 with reference to the individual class 30 stored in the database unit 11 instead of referring to the definition data storage unit 13. That is, in the processing of S5, the target data generation unit 12 determines whether the module name taken in is consistent with any of the module names shown in the item "class name" of the individual class 30 stored in the database unit 11. In this case, if the target data generation unit 12 determines that it is consistent with any one of them, it corresponds to the case where the processing of S5 is "No", and if the target data generation unit 12 determines that it is inconsistent with any one of them, it corresponds to the case where the processing of S5 is "Yes".
[0174] (Other structural examples)
[0175] In the above-mentioned implementation mode, if Figure 6 As shown in FIG. 1 , the definition data 60 of a common format corresponding to the exceptional IO module is set as text data. Since it can be visually recognized by setting it as text data, it is easy for the operator of the control system 100 and Company B to refer to the definition data 60 and confirm the conditions of the data corresponding to each item. However, the target data generating unit 12 may be in any format as long as it is a common format that can read the name and data type of each data included in any definition data 60, that is, the item, and may be data other than text data.
[0176] In the above-mentioned embodiment, the data format of the individual class 30, the virtual class 40, and the definition data 60 includes "(data type)". On the other hand, the data format of the individual class 30, the virtual class 40, and the definition data 60 may not include "(data type)". In the case where the individual class 30 does not include "(data type)", Figure 7 In the processing of S9, in order to ensure a storage area containing a partition for recording data, the target data generating unit 12 needs to set the data format of the individual class 30 to a data format of a partition pre-set with data of a size capable of writing data corresponding to each item.
[0177] On the other hand, even if the virtual class 40 does not contain "(data type)", as described above, since the virtual class 40 is pre-set with a section for recording data corresponding to each item, it is possible to Figure 7 The S6 process is used to secure the storage area for writing items and partitioning of data.
[0178] In the above-mentioned embodiment, it is shown that Fig.10 The target new creation screen 250 shown in the figure shows an example in which the class ID of the exception IO module using the virtual class 40 is displayed as "virtual class". In contrast, in the case where the operator is not prompted with a display indicating the existence of the virtual class 40, the display processing unit 16 may perform the following processing. That is, the display processing unit 16 Figure 7 In the processing of S3, instead of associating the class ID of the virtual class 40, that is, the "virtual class", each time the module name of the virtual class utilization module name table 50 stored in the database unit 11 is read out, it is also possible to associate a part of the read module name. For example, when the display processing unit 16 reads "AI AIch.16 4-20mA manufactured by Company B" from the virtual class utilization module name table 50 as the module name, it is also possible to associate "AI AI manufactured by Company B" which is a part of it with the read module name. In this way, in the target new creation screen 250, "AI AI ch.16 4-20mA manufactured by Company B" is displayed in the "Module Name (Class Name)" column, and "AI AI manufactured by Company B" is displayed in the corresponding "Class ID" column, so that the existence of the virtual class 40 is not implied to the operator.
[0179] (Computer Architecture)
[0180] Fig.149 is a schematic block diagram showing the structure of a computer involved in at least one embodiment. The computer 90 includes a processor 91, a main memory 92, a storage 93, and an interface 94. The above-mentioned engineering device 10 is installed in the computer 90. In addition, the above-mentioned processing units, namely, the database unit 11, the target data generation unit 12, the display processing unit 16, the output unit 17, the operation of the definition data input unit 18, and the operation of the software part of the operation unit 14 are stored in the storage 93 in the form of a program. The processor 91 reads the program from the storage 93 and expands it in the main memory 92, and executes the above-mentioned processing according to the program. In addition, the processor 91 ensures a storage area corresponding to the above-mentioned database unit 11 and the definition data storage unit 13 in the main memory 92 or the storage 93 according to the program. The hardware part of the operation unit 14 (the input device contained in the operation unit 14) and the display unit 15 are connected via the interface 94. Therefore, the hardware portion of the operation unit 14 and the display unit 15 may or may not be components of the computer 90 , that is, components of the engineering device 10 as described above.
[0181] The program may be a program that realizes a part of the functions for the computer 90 to perform. For example, the program may also be a program that performs functions by combining with other programs that have been stored in the storage 93, or by combining with other programs installed in other devices. In addition, in other embodiments, the computer may also have a customized LSI (Large Scale Integrated Circuit) such as PLD (Programmable Logic Device) on the basis of the above structure or instead of the above structure. Examples of PLD include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), FPGA (Field Programmable Gate Array), etc. In this case, part or all of the functions implemented by the processor can be implemented by the integrated circuit.
[0182] Examples of the storage 93 include a HDD (Hard Disk Drive), an SSD (Solid State Drive), a magnetic disk, an optical magnetic disk, a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), and a semiconductor memory. The storage 93 may be an internal medium directly connected to the bus of the computer 90, or an external medium connected to the computer 90 via an interface 94 or a communication line. In addition, when the program is distributed to the computer 90 via a communication line, the computer 90 receiving the distribution may expand the program in the main memory 92 and execute the above-mentioned processing. In at least one embodiment, the storage 93 is a non-temporary tangible storage medium.
[0183] <Notes>
[0184] The engineering device 10 described in the embodiment according to the present disclosure can be understood, for example, as follows.
[0185] (1) The engineering device 10 according to the first embodiment includes: a storage unit (e.g., a database unit 11) storing a virtual data format (e.g., a virtual class 40) commonly used in a given first type of module (e.g., an exceptional IO module such as the IO module 153) by defining the definition data defining the modules (e.g., the IO modules 151, 152, 153, etc.) mounted in the control system 100 as data of a predetermined common format; and a target data generation unit 12, which, when the mounted module is a module of the first type, secures a storage area reflecting the content of the virtual data format in the storage unit based on the virtual data format, writes the items indicated in the definition data (e.g., the definition data 60) of the mounted module in the secured storage area according to the data format indicated by the definition data, and writes the module name of the mounted module to generate target data (e.g., the target data 40-1). According to this embodiment and the following embodiments, the time from obtaining the definition data to using the module corresponding to the definition data in the control system can be shortened.
[0186] (2) The engineering device 10 according to the second aspect is the engineering device 10 according to (1), wherein the virtual data format is predetermined so as to include at least a data format indicated by the definition data of any module of the first type.
[0187] (3) The engineering device 10 involved in the third embodiment is based on the engineering device 10 of (1) or (2), wherein the storage unit stores a module of a type different from the first type of module (for example, a general IO module such as IO modules 151 and 152) and an individual data form of a second type of module whose individual data form is determined by the definition data (for example, an individual class 30-1) in a state including the module name of the second type of module and the items shown in the definition data, and the target data generation unit determines whether the given module name is the module name of the first type of module or the module name of the second type of module, and if it is determined that the given module name is the module name of the second type of module, the target data generation unit stores the module of the second type of module in an individual data form determined by the definition data. In the case of a module name determined as the first type, a storage area reflecting the content of the individual data form is secured in the storage unit based on the individual data form corresponding to the given module name, and target data (e.g., target data 30-1-1, 30-1-2) is generated. In the case of a module name determined as the first type, a storage area reflecting the content of the virtual data form is secured in the storage unit based on the virtual data form, and in the secured storage area, the items shown in the definition data are written in accordance with the data form shown in the definition data of the module corresponding to the given module name, and the given module name is written to generate the target data. According to this method, if the operator of the engineering device 10 only specifies the module name of the module mounted on the control system 100, each target data can be generated without being aware of whether it is a module that is normally used or a module that is exceptionally used to generate target data using the virtual data form.
[0188] (4) The engineering device 10 according to the fourth aspect is the engineering device 10 according to any one of (1) to (3), wherein the definition data of the first type of module is provided as text data in the common format. According to this aspect, it is easy for a provider and a user of definition data to refer to the definition data and confirm the content of the definition data.
[0189] (5) A fifth aspect of the engineering device 10 is any one of the engineering devices 10 of (1) to (4), wherein the first type of module is an IO module or a CPU module.
[0190] (6) The engineering device 10 involved in the sixth embodiment is based on any one of the engineering devices 10 from (1) to (5), wherein the target data generating unit writes setting data into the target data, wherein the setting data is given by an input operation of an operator of the self-device or is included in the definition data of the module of the first type, and includes attribute data for determining the action state of the module and mounting position data indicating the position where the module is mounted in the control system.
[0191] (7) The engineering device 10 according to the seventh aspect is any one of the engineering devices 10 of (1) to (6), wherein the definition data of the module of the first type is generated in a state including attribute data for specifying an operation state of the module based on module configuration data generated by another engineering device, and mounting position data indicating a position where the module is mounted in the control system. According to this aspect, it is easy to transfer module configuration data from another engineering device to the engineering device 10, or to manage module configuration data dually by another engineering device and the engineering device 10.
[0192] (8) The engineering device 10 involved in the eighth embodiment is based on the engineering device 10 of (3), and when the second type of module is replaced with the first type of module in the control system, the storage unit stores a conversion table indicating the correspondence between the attribute data for determining the action state of the first type of module and the attribute data for determining the action state of the second type of module, the target data generating unit converts the target data of the second type of module stored in the storage unit, which includes the attribute data of the second type and the mounting position data indicating the position where the second type of module is mounted in the control system, into the definition data of the common format of the first type of module based on the conversion table, secures a storage area reflecting the content of the virtual data format in the storage unit based on the virtual data format, writes the items indicated in the definition data, the attribute data and the mounting position data in the data format indicated by the definition data in the secured storage area, and writes the module name of the first type of module to be replaced to generate the target data. According to this method, when replacing the second type of module with the first type of module, if a conversion table is created, the target data can be easily transferred using a virtual data format, thereby preventing human errors that would occur when manually rewriting the target data one by one.
Claims
1. An engineering device having: a storage unit storing definition data defining modules mounted in the control system as data of a predetermined common format and storing a virtual data format commonly used in given first-category modules; A target data generating unit, which, when the module mounted is a module of the first type, secures a storage area reflecting the contents of the virtual data form in the storage unit based on the virtual data form, writes items shown in the definition data in accordance with the data form shown in the definition data of the module mounted in the secured storage area, and writes the module name of the module mounted to generate target data.
2. The engineering device according to claim 1, wherein: The virtual data format is predetermined so as to include at least a data format indicated by the definition data of any module of the first type.
3. The engineering device according to claim 1, wherein: The storage unit stores the individual data format of the second type of module whose individual data format is determined by the definition data in a state including the module name of the second type of module which is different from the first type of module and the items indicated in the definition data, The target data generation unit performs the following processing: determining whether the given module name is a module name of the first type of module or a module name of the second type of module, When it is determined that the module name is the module of the second type, a storage area reflecting the content of the individual data form is secured in the storage unit based on the individual data form corresponding to the given module name, and target data is generated. When it is determined that the module name is a module of the first type, a storage area reflecting the contents of the virtual data form is ensured in the storage unit based on the virtual data form, and in the ensured storage area, the items shown in the definition data are written in accordance with the data form shown in the definition data of the module corresponding to the given module name, and the given module name is written to generate the target data.
4. The engineering device according to claim 1, wherein: The first type of module is an IO module or a CPU module.
5. The engineering device according to claim 1, wherein: The definition data of the first type of module is given as text data in the common format.
6. The engineering device according to claim 1, wherein: The target data generating unit writes setting data into the target data, wherein the setting data is setting data given based on an input operation of an operator of the self-device or included in the definition data of the module of the first type, and the setting data includes attribute data for determining an action state of the module and mounting position data indicating a position where the module is mounted in the control system.
7. The engineering device according to claim 1, wherein: The definition data of the first type of module is generated in a state including attribute data for specifying an operation state of the module based on module configuration data generated by other engineering devices and mounting position data indicating a position where the module is mounted in the control system.
8. The engineering device according to claim 3, wherein: When the second type of module is replaced with the first type of module in the control system, The storage unit stores a conversion table indicating a correspondence between attribute data for determining an operation state of the first type of module and attribute data for determining an operation state of the second type of module. The target data generating unit converts the target data of the second type of module stored in the storage unit, i.e., the target data including the attribute data of the second type and the mounting position data indicating the position at which the second type of module is mounted in the control system, into the definition data of the common form of the first type of module based on the conversion table, secures a storage area reflecting the contents of the virtual data form in the storage unit based on the virtual data form, writes the items shown in the definition data, the attribute data and the mounting position data in the data form shown in the definition data in the secured storage area, and writes the module name of the first type of module to be replaced to generate the target data.
9. A method for generating target data, comprising the following steps: The storage unit stores definition data defining modules mounted in the control system as data of a predetermined common format in a virtual data format commonly used in given first-type modules; In the case where the module mounted is a module of the first type, a storage area reflecting the contents of the virtual data form is ensured in the storage unit based on the virtual data form, and in the ensured storage area, the items shown in the definition data are written in accordance with the data form shown in the definition data of the module mounted, and the module name of the module mounted is written to generate target data.
10. A computer-readable recording medium recording a program, wherein the program causes a computer to execute the following steps: The memory stores definition data defining modules mounted in the control system as data of a predetermined common format in a virtual data format commonly used in given first-category modules; In the case where the module mounted is a module of the first type, a storage area reflecting the contents of the virtual data form is ensured in the storage unit based on the virtual data form, and in the ensured storage area, the items shown in the definition data are written in accordance with the data form shown in the definition data of the module mounted, and the module name of the module mounted is written to generate target data.
Citation Information
Patent Citations
Engineering device
JP2013142933A