Data reproduction device for plant-monitoring control system
10608933 ยท 2020-03-31
Assignee
Inventors
Cpc classification
G05B2219/15023
PHYSICS
International classification
Abstract
A data reproduction device (1) is a data reproduction device for plant-monitoring control system to be newly connected to an existing network 6 in which a packet is transmitted/received between a PLC (2) that is operating and an input/output device (3, 4). A setting information storing portion (10) stores setting information. A process data definition information storing portion (11) stores process data definition information. A process data acquiring portion (13) acquires a binary data array stored in the packet. A process data analyzing portion (15) decomposes the binary data array into a plurality of pieces of process data based on the setting information and, for each of the plurality of pieces of process data, associates one piece of the process data among the plurality of pieces of process data, packet receiving time, and the process data definition information to obtain one piece of process data analysis information.
Claims
1. A data reproduction device for a plant-monitoring control system to be newly connected to an existing network in which a packet is transmitted and received between a programmable logic controller that is operating and an input or output device, the data reproduction device for the plant-monitoring control system comprising: a processor; and a memory, the memory comprising a setting information storing portion, a process data definition information storing portion, a process data definition information editing portion, a process data acquiring portion, a process data analyzing portion, a process data storing portion, a display portion, and a connection destination confirmation analyzing portion, the processor configured to perform: storing setting information in which address information including a transmission destination address and a transmission source address are stored in a header portion of the packet and a plurality of pieces of offset information specifying separation positions for decomposing a binary data array stored in a data portion of the packet by relative addresses from a start address of the data portion are associated; storing, for each of the plurality of pieces of the offset information, process data definition information in which one piece of the offset information among the plurality of pieces of the offset information, the address information, a unique variable name for a combination of the one piece of the offset information and the address information, and a comment explaining a meaning of the unique variable name are associated; editing the unique variable name and the comment included in the process data definition information; acquiring, among packets flowing through the existing network, a packet in which the data reproduction device for the plant-monitoring control system is not specified in the address information stored in the header portion of the packet, and acquiring the binary data array stored in a data portion of the acquired packet; decomposing the binary data array acquired by the process data acquiring portion into a plurality of pieces of process data showing states of input and output points of the input or output device based on the setting information and, for each of the plurality of pieces of the process data, associating one piece of the process data among the plurality of pieces of the process data, packet receiving time, and the process data definition information to obtain one piece of process data analysis information; storing the one piece of the process data analysis information; and searching for information corresponding to a specified variable name from a plurality of pieces of the process data analysis information stored in the process data storing portion and displaying the search information as time-series data.
2. The data reproduction device for the plant-monitoring control system according to claim 1, wherein the existing network comprises a network line concentrator comprising a normal port and a mirror port mirroring data that the normal port transmits and receives; and the programmable logic controller is connected to the normal port, and the data reproduction device is connected to the mirror port.
3. The data reproduction device for the plant-monitoring control system according to claim 2, the processor further configured to perform acquiring a specific ID associated with at least the address information, the specific ID being decided in a connection destination confirmation process between the programmable logic controller and the input or input device, and associating the specific ID with the setting information; wherein after the connection destination confirmation process, the programmable logic controller and the input or output device transmits and receives a packet in which the specific ID is attached to the binary data array; and the processor further configured to decompose the binary data array into the plurality of pieces of the process data showing the states of the input or output points of the input or output device based on the setting information associated with the specific ID and, for each of the plurality of pieces of the process data, and associate one piece of the process data among the plurality of pieces of the process data, the packet receiving time, and the process data definition information to obtain the one piece of process data analysis information.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DESCRIPTION OF EMBODIMENTS
(15) Embodiments of the present disclosure will be described below in detail with reference to drawings. Components common to figures are given the same reference numeral, and repeated explanation will be omitted.
First Embodiment
(16)
(17) <Existing Plant-Monitoring Control System>
(18) The existing plant-monitoring control system is configured with a programmable logic controller (PLC) 2 which controls a plant and an input/output device, the PLC 2 and the input/output device being connected via an existing network 6.
(19) The input/output device is an I/O 3 and a human machine interface (hereinafter an HMI) 4. The I/O 3 is connected to hardware apparatuses (sensors and actuators) constituting the plant. The HMI 4 is a monitoring control device provided with a monitoring control screen which an operator operates. On the monitoring control screen, display items and operation items are arranged. The display items are, for example, software parts which display output values of the sensors. The operation items are, for example, software parts which give specified values to the actuators.
(20)
(21) Though the I/O 3 will be described as an example of the input/output device in the present specification, the input/output device may be the HMI 4. In the HMI 4, the input modules are display items which display output values of the sensors. The output modules are operation items which output specified values to the actuators by operations of the operator.
(22) An existing network 6 is provided with a hub 5. The hub 5 is a network line concentrator provided with a plurality of ports. The PLC 2, the I/O 3 and the HMI 4 are connected to ports of the hub 5, respectively.
(23) <Packet Flowing Through Existing Network>
(24) In the system configuration as described above, a packet (a communication message) is transmitted/received between the PLC 2 and the input/output device (the I/O 3, the HMI 4) in the existing network 6. In the present specification, the packet means an information transmission unit, and the packet does not depend on a particular protocol.
(25)
(26)
(27) A figure at the top of
(28) A figure in the middle of
(29) In the data portion 42, data 45 of the input module A 31 and data 46 of the input module B 32 are stored. A start address 51 is a start address of the data 45. A start address 52 is a start address of the data 46. A data size 61 is a data length of the data 45. A data size 62 is a data length of the data 46.
(30) A figure at the bottom of
(31) In the data portion 42, data 47 of the output module A 33 and data 48 of the output module B 34 are stored. A start address 53 is a start address of the data 47. A start address 54 is a start address of the data 48. A data size 63 is a data length of the data 47. A data size 64 is a data length of the data 48.
(32)
(33) As shown in
(34)
(35) A figure at the top of
(36) As shown in the figure at the top of
(37) In the figure at the top of
(38) A figure at the bottom of
(39) As shown in the figure at the bottom of
(40) In the figure at the bottom of
(41) <Data Reproduction Device>
(42) Return to
(43) The data reproduction device 1 is provided with a setting information storing portion 10, a process data definition information storing portion 11, a process data definition information editing portion 12, a network searching portion 13, a process data storing portion 16 and a display portion 17.
(44) The setting information storing portion 10 stores filters and setting information in advance. The filters define formats for capturing particular traffic flowing through the existing network 6. In the setting information storing portion 10, a plurality of filters to be selected by the operator are defined.
(45) The setting information includes at least information in which address information and a plurality of pieces of offset information are associated. The setting information may include a configuration of each module of the input/output device and data type. As described above, the address information is stored in the header portion 41 of the packet 7 and includes a transmission destination address and a transmission source address.
(46) The plurality of pieces of offset information are pieces of information specifying separation positions for decomposing the binary data array stored in the data portion 42 of the packet 7 by relative addresses from the start address of the data portion 42. Each piece of offset information is defined, for example, by a combination of the byte address offset 73 and the bit address offset 74 of data of each output point (for example, the 0-th data 47a) shown in
(47) The binary data array is such that states of the input points of the input modules which the input/output device has and states of the output points of the output modules are arrayed. The binary data array is, for example, the whole process data stored in the data portion 42 in the figure at the bottom of
(48) The setting information required for analysis of the packet 7 is acquired from an engineering tool of the PLC 2. Specifically, the setting information is the address of the PLC 2, the address of the input/output device (the I/O 3, the HMI 4), the configuration (the input/output points) of each module of the input/output device, byte address offsets, bit address offsets and data types. Since these are information required for programming for the PLC 2 and design for transmission/reception of data to the input/output device, they are necessarily written in the engineering tool. Depending on the engineering tool, these may be acquired by a setting information export function.
(49) The process data definition information storing portion 11 stores process data definition information in advance. The process data definition information is information in which one piece of offset information among the plurality of offset information described above, address information, a unique variable name for a combination of the one piece of offset information and the address information, and a comment explaining the variable name are associated. That is, as shown in
(50) Further, the variable name and the comment which are included in the process data definition information can be edited by the process data definition information editing portion 12 operated by the operator.
(51) The network searching portion 13 is provided with a process data acquiring portion 14 and a process data analyzing portion 15. Using a filter and setting information acquired from the setting information storing portion 10 and process data definition information acquired from the process data definition information storing portion 11, the network searching portion 13 acquires process data from a packet 7 flowing through the existing network 6, analyzes the process data and accumulates an analysis result into the process data storing portion 16.
(52) The network searching portion 13 captures a packet 7 in a format corresponding to a selected filter from traffic flowing through the existing network 6.
(53) The process data acquiring portion 14 acquires such a packet that the data reproduction device 1 is not specified in address information stored in a header portion of the packet 7. In other words, the process data acquiring portion 14 acquires such a packet that the PLC 2 or the input/output device (the I/O 3 or the HMI 4) is specified as the transmission destination address 44 in the header of the packet 7. Furthermore, the process data acquiring portion 14 acquires a binary data array stored in a data portion of the acquired packet 7. As described above, the binary data array is such that states of the input points of the input modules which the input/output device has and states of the output points of the output modules are arrayed.
(54) The process data analyzing portion 15 decomposes the binary data array acquired by the process data acquiring portion 14 into a plurality of pieces of process data showing states of the input/output points of the modules which the input/output device has, based on the setting information. As described above, a plurality of pieces of offset information associated with the address information stored in the header portion of the packet 7 are defined in the setting information. The plurality of pieces of offset information are information specifying separation positions for decomposing the binary data array, and, for example, it is defined that the binary data array is to be separated in 1-bit units from the 0-th byte to the 10-th byte and is to be separated in 2-byte units from the 10-th byte to the 20-th byte. Each of separated pieces of data is process data.
(55) Furthermore, for each of the plurality of pieces of process data, the process data analyzing portion 15 associates one piece of the process data among the plurality of pieces of process data, packet receiving time and process data definition information to obtain one piece of process data analysis information. That is, process data showing a state of each of the input/output points of the modules which the input/output device has, at each time is associated with the process data definition information (
(56) For example, the plurality of pieces of process data extracted by the process data analyzing portion 15 are arranged in a tree shape as data of the modules associated with the address information as shown in
(57) The process data storing portion 16 stores the process data analysis information which the process data analyzing portion 15 has generated. For the process data analysis information accumulated in the process data storing portion 16, process data at each time can be acquired with a variable name as a key.
(58) The display portion 17 searches for information corresponding to a specified variable name from the plurality of pieces of process data analysis information stored in the process data storing portion 16 and displays the information as time-series data.
(59) The process data storing portion 16 accumulates pieces of process data for each variable (for each input/output point of the modules), and the operator selects a target piece of process data from among variable names and comments added to the pieces of process data. Specifically, when the operator selects one module from a tree display screen shown in
(60) <Flowchart>
(61) Next, an operation of the data reproduction device 1 will be described.
(62) At step S100, the network searching portion 13 reads a filter and setting information from the setting information storing portion 10, and process data definition information from the process data definition information storing portion 11.
(63) At step S110, the network searching portion 13 captures a packet 7 in a format corresponding to the selected filter.
(64) At step S120, the process data acquiring portion 14 judges whether or not a transmission destination address stored in a header portion of the packet 7 captured at step S110 is the PLC 2 or the input/output device (the I/O 3 or the HMI 4). If the judgment condition is satisfied, the process data acquiring portion 14 executes a process of S130 next. If the judgment condition is not satisfied, the flow returns to step S110, and the process is continued.
(65) At step S130, the process data acquiring portion 14 acquires a binary data array stored in a data portion of the packet 7.
(66) At step S140, the process data analyzing portion 15 decomposes the binary data array acquired at step S130. Specifically, the process data analyzing portion 15 decomposes the binary data array into pieces of process data according to offset information in the setting information. The number of the pieces of process data is assumed to be N, and an initial value 0 is set for an index i.
(67) At step S150, the process data analyzing portion 15 associates the i-th piece of process data, packet receiving time and process data definition information to generate process data analysis information. The process data definition information is identified based on address information stored in the header portion of the packet, which has been captured at step S110, and the offset information in the setting information used at step S140.
(68) At step S160, the network searching portion 13 causes the process data analysis information generated at step S150 to be stored into the process data storing portion 16.
(69) At step S170, the network searching portion 13 adds 1 to the index i.
(70) At step S180, the network searching portion 13 judges whether or not the index i is equal to or larger than the number of pieces of process data N. If the judgment condition is satisfied, it can be determined that analysis of all pieces of process data stored in the data portion of the packet 7 has been completed, and, therefore, the present routine is ended. On the other hand, if the judgment condition is not satisfied, the flow returns to step S150, and the process is continued.
(71) In another routine, the display portion 17 searches process data analysis information accumulated in the process data storing portion 16 with a variable name selected by the operator. The display portion 17 causes process data at each time, which is a search result, to be displayed on the monitor 27 in
(72) <Effects>
(73) As described above, according to the data reproduction device 1 of the first embodiment of the present disclosure, it is possible to, without changing a program of the PLC 2 that is operating or settings for the input/output device, acquire data which is transmitted by broadcast in the existing network 6 and has changed over time as process data. Further, the acquired process data at each time is associated with an input/output point of the modules which the input/output device has and can be displayed in a tabular or graphical form.
(74) Therefore, according to the data reproduction device 1, it is possible to, without increasing a communication load of an existing plant-monitoring control system, visually and intuitively grasp a monitoring control state of a plant in a short period and at a low cost.
(75) <Hardware Configuration Example of Data Reproduction Device 1>
(76)
(77) The memory 22 is used as an operation area portion where data is temporarily stored or developed when the processor 21 executes various programs.
(78) The storage 23 has a program storing portion 23a and a data storing portion 23b. The program storing portion 23a stores an operating system (OS) and various programs executed on the OS. The data storing portion 23b functions as the setting information storing portion 10, the process data definition information storing portion 11 and the process data storing portion 16 shown in
(79) Though the program storing portion 23a and the data storing portion 23b are provided in one storage 23 in
(80) The processor 21 functions as each portion of the data reproduction device 1 shown in
(81) The external apparatus interface portion 24 is an interface for connecting external apparatuses such as the monitor 27, the keyboard 28 and the mouse 29 with the data reproduction device 1.
(82) The network interface portion 25 is an interface for connecting the existing network 6 (the hub 5) and the data reproduction device 1. The packet 7 is received by the network interface portion 25.
(83) The hardware configuration example of the data reproduction device 1 described above is similar in embodiments below.
Second Embodiment
(84) Next, a second embodiment of the present disclosure will be described with reference to
(85) [Characteristic Control in Second Embodiment]
(86) In the first embodiment described above, in a plant-monitoring control system, a packet transmitted by broadcast is targeted as shown in
(87)
(88) An existing plant-monitoring control system shown in
(89) The mirror port 8b is provided with a function of mirroring data which the normal port 8a transmits/receives. Mirroring is a function of copying a packet 7 transmitted to a particular connection destination as in unicast and transferring it to a port for which a mirroring setting is made. In general, mirroring is often used to confirm a packet among apparatuses at the time of trouble diagnosis of a network and the like.
(90)
(91) A configuration of the data reproduction device 1 is similar to the first embodiment. The packet 7 received via the mirror port 8b is processed by the network searching portion 13, and process data analysis information is accumulated in the process data storing portion 16 (
(92) <Effects>
(93) As described above, according to the second embodiment, it is possible to, without changing the program of the PLC 2 that is operating and settings for the input/output device, acquire process data transmitted by unicast in the existing network 6, by using the hub 5 for which a mirroring setting can be made. Further, the acquired process data at each time is associated with an input/output point of the modules which the input/output device has and can be displayed in a tabular or graphical form.
(94) Therefore, according to the data reproduction device 1, it is possible to, without increasing a communication load of an existing plant-monitoring control system, visually and intuitively grasp a monitoring control state of a plant in a short period and at a low cost.
Third Embodiment
(95) Next, a third embodiment of the present disclosure will be described with reference to
(96) In the first and second embodiments, since address information including a transmission destination address, a data size and a data type are included in a header portion of a packet transmitted each time, it is possible analyze the packet. However, to include address information, a data size and a data type having the same content in a packet transmitted each time increases a size of transmit data and requires time for a transmission process, and, therefore, such a communication process cannot be said to be an efficient communication process. Therefore, it is desirable to, by transmitting the address information and information about the data size and the data type only when a PLC 2 and an input/output device mutually execute a connection destination confirmation process at the time of starting communication and, after the connection destination confirmation process, causing a header portion of a packet to be an ID to shorten the header portion and transmitting only the ID and process data, optimize the communication process.
(97) Therefore, in the third embodiment, process data flowing through the existing network 6 which has such a communication mechanism is acquired without changing the program of the PLC 2 that is operating and settings for the input/output device.
(98)
(99) First, the communication process for transmission destination confirmation 81 is executed. In the communication process for transmission destination confirmation 81, apparatuses connected to the existing network 6 mutually identify communication destination apparatuses. By only an apparatus corresponding to a communication destination condition returning a response, identification of the apparatus is performed. As the communication destination condition, a transmission destination apparatus ID, an apparatus manufacturer ID or the like is used.
(100) Next, for the apparatus corresponding to the communication destination condition, the communication process for transmission destination decision 82 is executed. In the communication process for transmission destination decision 82, address information, a data size and a data type are transmitted/received and a packet-specific ID associated with the address information, the data size and the data type is decided.
(101) After the connection destination confirmation processes, a communication process for data input/output 83 is executed. In the communication process for data input/output 83, process data is mutually transmitted with the packet-specific ID as a key. Specifically, the PLC 2 and the input/output device perform transmission/reception, including the specific ID in a header portion of the packet, and a binary data array in a data portion. As described in the first embodiment, the binary data array is such that states of the input points of the input modules which the input/output device has and states of the output points of the output modules are arrayed.
(102) In the third embodiment, a packet receiving process for the connection destination confirmation processes and a conditional branch in which various communication processes are classified, and a data analysis method is changed according to the communication processes to perform processing are required in addition to the second embodiment.
(103)
(104) The connection destination confirmation analyzing portion 18 acquires a specific ID associated with at least address information, which is decided in the connection destination confirmation processes between the PLC 2 and the input/output device (the I/O 3, the HMI 4) and associates the specific ID with setting information. As stated in the first embodiment, the setting information is information in which address information and a plurality of pieces of offset information are associated and is stored in the setting information storing portion 10. With the address information associated with the specific ID as a key, the connection destination confirmation analyzing portion 18 acquires setting information which includes the address information and associates the specific ID and the setting information. Thereby, the process data analyzing portion 15 can refer to setting information from a specific ID included in a packet to analyze process data.
(105) <Flowchart>
(106)
(107) At step S200, an initialization process is executed. Since a packet-specific ID is changed by communication initialization at the time of powering on/off the PLC 2 or at the time of attaching/detaching a network cable, the initialization process is also executed in the data reproduction device 1 also.
(108) Next, at step S210, the data reproduction device 1 performs advance preparation for a communication process for transmission destination confirmation in order to secure an area for storing data of the communication process for transmission destination confirmation 81. The area for storing the data is prepared in the data storing portion 23b.
(109) Next, at step S220, the data reproduction device 1 performs advance preparation for a communication process for transmission destination decision in order to secure an area for storing data of the communication process for transmission destination decision 82. The area for storing the data is prepared in the data storing portion 23b.
(110) Next, at step S230, the network searching portion 13 sets a filter so that only a packet for transmission destination confirmation or a packet for transmission destination decision is received. The filter specifying a packet format is stored in the setting information storing portion 10.
(111) Next, at step S240, the network searching portion 13 waits until a packet is received.
(112) If a packet is received, the network searching portion 13 judges whether a format of the received packet corresponds to the filter at step S250. If the judgment condition is satisfied, a process of S260 is executed next. On the other hand, if the judgment condition is not satisfied, the flow returns to step S240, and the process is continued.
(113) At step S260, the network searching portion 13 executes a packet classification process. The packet is classified as a packet for transmission destination confirmation or a packet for transmission destination decision. The packet for transmission destination confirmation is stored into the area for storing data of the communication process for transmission destination confirmation 81. The packet for transmission destination decision is stored into the area for storing data of the communication process for transmission destination decision 82.
(114) At step S270, it is judged whether a termination condition is satisfied. Until the termination condition is satisfied, packet receiving and the classification process are continued. The termination condition is satisfied when set time such as several tens of seconds elapses after start or when the number of packets received after start exceeds an upper limit such as several thousands to several tens of thousands. When this termination condition is satisfied, the collection process of the third embodiment which is required for packet analysis is completed.
(115) At step S280, the connection destination confirmation analyzing portion 18 associates a specific ID and setting information. In the data of the communication process for transmission destination decision 82 stored at step S260, the specific ID associated with address information, a data size and a data type is included. The connection destination confirmation analyzing portion 18 associates the specific ID and the setting information which includes the address information related to the specific ID. After that, the present routine is ended.
(116) After that, in another routine, the network searching portion 13 receives a packet of the communication process for data input/output 83 in
(117) <Effects>
(118) According to the third embodiment of the present disclosure, it is possible to, without changing the program of the PLC 2 that is operating and settings for the input/output device, acquire process data transmitted by unicast in the existing network 6 in a plant-monitoring control system in which a communication process is optimized. Further, the acquired process data at each time is associated with an input/output point of the modules which the input/output device has and can be displayed in a tabular or graphical form.
(119) Therefore, according to the data reproduction device 1, it is possible to, without increasing a communication load of an existing plant-monitoring control system, visually and intuitively grasp a monitoring control state of a plant in a short period and at a low cost.
REFERENCE SIGNS LIST
(120) 1 Data reproduction device
(121) 2 Programmable logic controller (PLC)
(122) 3 I/O
(123) 4 Human machine interface (HMI)
(124) 5 Hub
(125) 6 Existing network
(126) 7 Packet
(127) 8a Normal port
(128) 8b Mirror port
(129) 10 Setting information storing portion
(130) 11 Process data definition information storing portion
(131) 12 Process data definition information editing portion
(132) 13 Network searching portion
(133) 14 Process data acquiring portion
(134) 15 Process data analyzing portion
(135) 16 Process data storing portion
(136) 17 Display portion
(137) 18 Connection destination confirmation analyzing portion
(138) 21 Processor
(139) 22 Memory
(140) 23 Storage
(141) 23a Program storing portion
(142) 23b Data storing portion
(143) 24 External apparatus interface portion
(144) 25 Network interface portion
(145) 26 Internal bus
(146) 27 Monitor
(147) 28 Keyboard
(148) 29 Mouse
(149) 31, 32 Input module A, Input module B
(150) 33, 34 Output module A, Output module B
(151) 41 Header portion
(152) 42 Data portion
(153) 43, 43a, 43b Transmission source address
(154) 44 Transmission destination address
(155) 45, 46 Data of input module A, Data of input module B
(156) 47, 48 Data of output module A, Data of output module B
(157) 51, 52, 53, 54 Start address
(158) 61, 62, 63, 64 Data size
(159) 71 Variable name
(160) 72 Comment
(161) 73 Byte address offset
(162) 74 Bit address offset
(163) 75 Data type
(164) 81 Communication process for transmission destination confirmation
(165) 82 Communication process for transmission destination decision
(166) 83 Communication process for data input/output