Industrial Information Identification and Retrieval System
By designing industrial information identification and retrieval systems in an industrial automation environment, using crawlers, search engines, result processors and web user interfaces, the problem of inefficient information acquisition in the existing technology is solved, and fast and effective information is achieved Search.
Patent Information
- Application Number
- CN202010651108.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-09
- Filing Date
- 2020-07-08
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-07-08
AI Technical Summary
The prior art is difficult to quickly and efficiently browse and retrieve information for sensors and high-end devices in industrial automation environments, resulting in inefficient information acquisition.
An industrial information identification and retrieval system is designed, including a crawler, a search engine, a result processor and a web user interface. The crawler identifies and browses the OPC UA server, extracts data items and stores them in the database. Search engines use domain knowledge to search data items, the result processor determines the score of each search result, and the web UI presents the search results based on the score.
It realizes rapid and effective search of information in industrial automation environment, reduces the time and manual intervention in information acquisition, and improves the efficiency and accuracy of information retrieval.
Smart Images

Figure CN112214660B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to an industrial information identification and retrieval system, and an industrial Internet of Things search method. Background Art
[0002] The Industrial Internet of Things (IIoT) connects many different devices, from low-cost sensors up to high-end equipment. In industrial automation, the information models for these sensors and high-end devices are provided via OPC UA servers, which communicate via the Internet Protocol (IP). In order to find information, it is necessary to connect to these servers and, for example, manually browse through the data items. The information provided may be crucial for root cause analysis of failures or process insights. Prior Art: Traditional OPC servers with limited information models, searches are done on manually specified plant catalogs (such as the 800xA aspect catalog). This is similar to the situation of web catalogs (e.g., Yahoo) in the WWW before search engines based on web crawlers (e.g., Google) were invented.
[0003] However, this manual browsing for information needs to be improved. Summary of the invention
[0004] Therefore, it would be advantageous to find a way to browse and retrieve information for sensors and high-end devices in an industrial automation environment.
[0005] The object of the present invention is solved by means of the embodiments of the present disclosure.
[0006] In a first aspect, an industrial information identification and retrieval system is provided; comprising:
[0007] -Crawler;
[0008] - search engines;
[0009] - a result processor; and
[0010] - Web User Interface "Web UI";
[0011] The crawler is configured to identify a device in a network and an associated Open Platform Communications Unified Architecture (OPC UA) server of the device. The crawler is configured to browse the identified OPC UA servers and extract data items and store the data items in a database. The search engine is configured to search the extracted data items and provide search results to a result processor. The result processor is configured to determine a score for each search result. The web UI is configured to present the search results according to the score.
[0012] In an example, the data items include one or more of: device parameter values or output values; image data; image data for a specific device; device information; device information for a specific vendor; devices in a specific geographic area; device type information.
[0013] In an example, the system includes a query processor. The query processor is configured to provide domain knowledge to the system. The provision of search results by the search engine includes the utilization of domain knowledge.
[0014] In an example, the web UI is configured to provide at least one search query to a query processor. The query processor is configured to modify at least one search query to generate domain knowledge. The modification includes: replacing keywords in at least one search query with domain-specific keywords, and / or adding keywords to at least one search query.
[0015] In an example, at least one search query is entered by a user.
[0016] In an example, the modification of at least one search query includes utilization of at least one modification or replacement rule.
[0017] In an example, at least one modification or substitution rule is preset or user defined.
[0018] In an example, the search engine is configured to determine the number of times each search result was previously selected by different users. The determination of a score for each search result includes utilizing the number of times each search result was previously selected by different users.
[0019] In an example, the search engine is configured to determine a plurality of similarity metrics for each search result. The determination of the score for each search result includes utilization of the plurality of similarity metrics.
[0020] In an example, the data items include device parameter values or output values. The search engine is configured to determine a plurality of measures of variability for the parameter values or output values of the device. Determination of a score for each search result includes utilization of the plurality of measures of variability for the parameter values or output values of the device.
[0021] In an example, the result processor is configured to rank the search results according to a score for each score result.
[0022] In a second aspect, an industrial Internet of Things search method is provided, the method comprising:
[0023] a) Identify a device in the network and its associated Open Platform Communications Unified Architecture (OPC UA) server;
[0024] b) browsing the identified OPC UA server and extracting the data item and storing the data item in a database;
[0025] d) searching the extracted data items and determining search results;
[0026] e) determining a score for each search result; and
[0027] f) Present search results according to scores.
[0028] In an example, the method comprises the step c) of providing the system with domain knowledge, and wherein step d) comprises utilizing the domain knowledge.
[0029] In an example, step c) comprises providing at least one search query and modifying the at least one search query to generate domain knowledge, the modification comprising: replacing keywords in the at least one search query with domain specific keywords and / or adding keywords to the at least one search query.
[0030] In an example, step e) includes ranking the search results according to the score for each score result. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Exemplary embodiments will be described below with reference to the following drawings:
[0032] Figure 1 A detailed view of the architecture for implementing an industrial information identification and retrieval system and an industrial Internet of Things search method is shown;
[0033] Figure 2 An example of a user interface for displaying search results is shown; and
[0034] Figure 3 The detailed workflow of the operation of the industrial information identification and retrieval system and the industrial Internet of Things search method is shown. DETAILED DESCRIPTION
[0035] Figures 1 to 3 The invention relates to an industrial information identification and retrieval system, and an industrial Internet of Things search method. In an example, the industrial information identification and retrieval system includes a crawler, a search engine, a result processor, and a web user interface "web UI". The crawler is configured to identify devices in a network and their associated open platform communication unified architecture "OPC UA" servers. The crawler is also configured to browse the identified OPC UA servers, extract data items, and store the data items in a database. The search engine is configured to search the extracted data items and provide the search results to the result processor. The result processor is configured to determine a score for each search result. The web UI is configured to present the search results according to the score.
[0036] In examples, the network is a local network or a global network.
[0037] In an example, identification of a device and its associated OPC UA includes discovery by a crawler using an OPC UA local or OPC UA global discovery server or a multicast domain name system "mDNS".
[0038] In an example, identification of a device and its associated OPC UA includes utilizing a reference to another server within an OPC UA node by a crawler.
[0039] In an example, the crawler is configured to obtain credentials from an authorization server to connect to an OPC server.
[0040] In an example, the crawler is configured to browse the identified OPC UA servers via a client / server connection.
[0041] In an example, the crawler is configured to browse OPC UA servers including utilization of a depth-first search algorithm or a graph exploration algorithm.
[0042] In an example, the system is configured to pre-process data stored in a database to provide better integration with query capabilities of the database.
[0043] According to an example, the data item includes one or more of the following: device parameter values or output values; image data; image data for a specific device; device information; device information for a specific vendor; devices within a specific geographic area; device type information.
[0044] According to an example, the system includes a query processor. The query processor is configured to provide domain knowledge to the system, and the provision of search results by the search engine includes utilization of the domain knowledge.
[0045] According to an example, the web UI is configured to provide at least one search query to a query processor. The query processor is configured to modify at least one search query to generate domain knowledge. The modification includes replacing keywords in at least one search query with domain-specific keywords and / or adding keywords to at least one search query.
[0046] According to an example, at least one search query is input by a user.
[0047] According to an example, the modification of at least one search query includes utilization of at least one modification or replacement rule.
[0048] According to an example, at least one modification or substitution rule is preset or user defined.
[0049] According to an example, the search engine is configured to determine the number of times each search result was previously selected by different users. The determination of the score of each search result includes utilizing the number of times each search result was previously selected by different users.
[0050] According to an example, the search engine is configured to determine a plurality of similarity metrics for each search result. The determination of the score for each search result includes utilization of the plurality of similarity metrics.
[0051] According to an example, the data item includes a device parameter value or output value. The search engine is configured to determine multiple measures of variability of the parameter value or output value of the device. Determination of the score of each search result includes utilization of the multiple measures of variability of the parameter value or output value of the device.
[0052] According to an example, the result processor is configured to rank the search results according to the score of each score result.
[0053] The example also relates to an industrial Internet of Things search method. The method includes:
[0054] a) Identify devices within the network and their associated Open Platform Communications Unified Architecture (OPC UA) servers;
[0055] b) browsing the identified OPC UA servers, and extracting data items and storing the data items in a database;
[0056] d) searching the extracted data items and determining search results;
[0057] e) determining a score for each search result; and
[0058] f) Present search results according to scores.
[0059] In examples, the network is a local network or a global network.
[0060] In an example, step a) comprises utilizing an OPC UA Local or OPC UA Global Discovery Server or a Multicast Domain Name System "mDNS".
[0061] In an example, step a) comprises utilizing a reference within an OPC UA node to another server.
[0062] In an example, step a) comprises obtaining a certificate from an authorization server to connect to the OPC server.
[0063] In an example, step b) comprises browsing the identified OPC UA Server via a client / server connection.
[0064] In an example, step b) comprises utilizing a depth first search algorithm or a graph exploration algorithm.
[0065] In an example, step b) comprises pre-processing the data stored in the database.
[0066] In an example, the data item includes one or more of: device parameter values or output values; image data; image data for a specific device; device information; device information for a specific vendor; devices within a specific geographic area; device type information.
[0067] According to an example, the method comprises a step c) of providing the system with domain knowledge, and wherein step d) comprises utilizing the domain knowledge.
[0068] According to an example, step c) comprises providing at least one search query and modifying the at least one search query to generate domain knowledge, the modification comprising replacing keywords in the at least one search query with domain specific keywords and / or adding keywords to the at least one search query.
[0069] In an example, at least one search query is entered by a user.
[0070] In an example, modifying the at least one search query includes utilizing at least one modification or substitution rule.
[0071] In an example, at least one modification or substitution rule is preset or user defined.
[0072] In an example, step d) comprises determining a number of times each search result was previously selected by different users; and wherein step e) comprises utilizing the number of times each search result was previously selected by different users.
[0073] In an example, step d) comprises determining a plurality of similarity measures for each search result; and wherein step e) comprises utilizing the plurality of similarity measures.
[0074] In an example, the data items include device parameter values or output values; and wherein step d) includes determining multiple measurements of variability of the parameter values or output values of the device; and wherein step e) includes utilizing multiple measurements of variability of the parameter values or output values of the device.
[0075] According to an example, step e) comprises ranking the search results according to the score of each score result.
[0076] In other words, a system and method are developed that allows for fast and efficient searching of information stored in these OPC UA servers. The system has an independent loop mechanism for identifying, connecting to and browsing different OPC UA servers. The system stores the collected data in an external database for improved query efficiency. A web front end enriches the user search query with domain knowledge. It ranks the search results and provides direct access to the corresponding OPC UA server(s).
[0077] In other words, powerful OPC UA servers with rich standardized information models are discoverable within the network. A plant index can be automatically created by the proposed crawler by searching the network and scanning for OPC UA servers. This saves manual effort in index creation and is more robust in case of dynamically changing plants where devices are added or removed during operation.
[0078] The user is provided with simple access to the information stored in the IIoT system or industrial network. In this way, expert knowledge is no longer necessary to search for specific data items in the structured information model. In order to make the search feasible, the system boundaries can be set, for example, based on network segments (local area, maximum number of hops / gateways defined, etc.) or based on the plant hierarchy (see, for example, ISA-106: Plant Unit, Area, Plant, Site Enterprise). Another possibility is that a consortium of companies sets boundaries for specific sites of the consortium.
[0079] According to the proposed NAMUR open architecture, Industry 4.0 and IIoT, there will be many new and cheap automation devices (e.g., sensors and actuators) in factories that are not directly integrated into the control system but have IP connections. A large number of these devices will have OPC UA servers that provide their data in information models. However, these devices provide information that is useful for identifying the root cause of errors / events and can help improve processes, etc. There is currently no suitable solution that can quickly search through these information models and make the required information accessible. Today, it is necessary to manually go through all servers and try to find the requested information. This includes connecting to all different devices by knowing their OPC UA endpoints, using some additional software and manually browsing the information model. Some of these sensors may not follow a standardized information model, so that expert knowledge will be necessary to identify certain information. In addition, the success and completeness of manually finding information cannot be guaranteed. In addition, in many cases, these devices are greatly constrained in terms of their hardware. Therefore, it can be inferred that this manual browsing takes more time because the response time of the device is longer. However, there are some situations where you need to connect to those devices and search for specific information, such as:
[0080] Case 1: Search for specific parameters, such as temperature values in a specific perimeter around you, and analyze the situation in a comprehensive way by merging all temperature values around the specific location (and, for example, with a certain threshold). The search parameters may be "temperature characteristics", "current GPS coordinates", and "desired perimeter (e.g., 50m radius)". The search engine may retrieve all devices in the perimeter by using their specific GPS coordinates and current GPS coordinates. All devices may then be checked to see if they contain the "temperature characteristics". These devices may be listed as search results.
[0081] Scenario 2: An image search is performed for all specific devices within a factory to enable field personnel to visually match and find nearby devices. The search itself can use a text string as a search parameter. The search engine can retrieve images stored in the OPC UA server for each device that matches the search parameters. These images can then be displayed to the user in the same way as a Google image search. A field user standing in front of a specific device can try to match the device with an image from the search results.
[0082] Case 3: Searching for devices from a specific vendor.
[0083] Case 4: Free text search to search for information stored and provided in the information model of an OPC UA server. Assume that the information model is a populated OPC UA address space (this web page shows an example:
[0084] http: / / www.commsvr.com / OPC-Help / media / ASMDBoilerModelDiagram.jpg). It is a diagram of connected data elements. The OPC UA address space for an individual device may contain, for example, data elements for device name, type, make, serial number, communication protocol, and dynamically changing data elements (e.g. for sensor values or alarms). For example, a user may search for all "Siemens" devices within a plant segment to plan maintenance activities.
[0085] Case 5: Searching for devices within a specific geographical range (eg, a certain number of meters around a specific location).
[0086] Case 6: Searching for devices of a specific type or that implement a certain type of functionality.
[0087] The systems and methods described herein address problems associated with identifying and retrieving such information, thereby providing a central system that allows these use cases to be performed. Providing information in this manner makes it searchable and easily accessible. The systems and methods interpret references, combine information stored in different nodes, and / or enrich searches through semantic knowledge. Interpreting references can, for example, refer to deriving a device type based on a tag name. In this case, the reference can be a tag name or a device designation. For example, a user searches for "LIT100", and the search engine can infer that it refers to a device of the type "level indicator transmitter" and expand the search to all devices of this type. When performing a nearby search and using both device names and device GPS coordinates to give search results, for example, it is necessary to combine information from different nodes in the information model.
[0088] Search and application of search results can be embedded into applications - for example within a configuration tool - to simplify the setup of information flows by providing an integrated search of all devices of a certain type that provide the required input parameters.
[0089] In more detail, the above problems are solved by a system developed called IIoT search engine. This contains five different components: crawler, search engine, result processor, query processor and web UI. The crawler component is responsible for identifying different devices and their OPC UA servers within the network (local or global). Therefore, this component uses discovery techniques such as (OPC UA local / global discovery server or mDNS) or follows a reference to another server within an OPC UA node. The crawler obtains certificates from an authorization server to connect to these OPC UA servers and starts browsing the identified OPC UA servers via a client / server connection. The browsing process is implemented by following a depth-first search algorithm or a similar graph exploration algorithm based on the reference. After the browsing process, the crawler stores the extracted data items in a database. When the data is stored in a database, it can be pre-processed to provide better integration with the query capabilities of the database (e.g., flattening the structure or denormalizing the data).
[0090] The search engine component is implemented by a COTS database and some extensions to process the raw data provided by the crawler component. The database can be queried by the query processor component. This component queries from the web UI component and can use a dictionary approach to enrich domain knowledge, such as replacing or adding domain specific keywords. The COT database can be, for example, a database provided by Apache Lucene (https: / / lucene.apache.org / ) using the Elasticsearch search engine (https: / / en.wikipedia.org / wiki / Elasticsearch). The extension mentioned above is an algorithm for processing OPC UA address space serialization and converting it to the format required by Elasticsearch.
[0091] Predefined "substitution lists" can be used for enrichment of searches. For example, the keyword "sensor" in a query can be replaced by some product types that tend to appear in OPC UA devices, such as "sensor or TTH100 or TTL100 or TTH300 or ...". This substitution also helps to make the query easier to match. These substitution rules can be provided with the search engine or additionally defined by the user and are located in a "dictionary" as described above.
[0092] The query is forwarded to the search engine and the search results are transferred to the result processor. The result processor processes the search results to generate a result set to be sent back to the web page UI. The processing includes filtering out specific aspects of the database, aggregation of results, and ranking of search results. The ranking of search results can be based on the similarity of text, the number of occurrences, and the number of clicks or semantic matches. Therefore, the search engine records the number of times a specific result item in the result list is clicked by different users.
[0093] For the number of uses, the Result Processor tracks clicks on the results of the search. In order to provide useful ranked results, the Result Processor scores each search result using a combination of a similarity measure and the access history of the specific OPC UA Server from the search engine. In addition, the ranking can be improved by ranking search results higher where the values of certain variables change more frequently. Thus, variables that change frequently can be ranked higher than other node values. Here, the similarity measure can refer to, for example, a fuzzy match of a text search string: https: / / en.wikipedia.org / wiki / Approximate_string_matching
[0094] The access history may, for example, refer to the number of clicks to a particular OPC UA Server, which may include weighting more recent clicks higher.
[0095] Semantic matching is a special aspect of the context of information models that can be used in OPC UA. Each element modeled in the information model can be integrated with other elements in the information model using references between elements. The meaning of such references can describe relationships or semantics, like "is located in", "is connected to", or "implements the functionality described in...". In contrast to usual search queries that process the raw data of a dataset (e.g. using keyword searches), semantic matching requires the meaning of the content to be considered and evaluated. This means that semantic matching takes into account aspects like types or relations between datasets. This is useful for search requests that combine aspects that are not covered within one entry of the database: "Give me all device instances of type X" or "All devices connected to controller X".
[0096] The web UI component presents the results according to the scores and provides a collapsed summary tree structure to show the relative positions of the found nodes and a timestamp indicating the last browsing process to the server.
[0097] Continuing to refer to the attached drawings, Figure 1 An overall view of a specific implementation of the system and method is provided, in which, for example, a more general discovery mechanism than LDS / GDS can be utilized. Components of the system include at least one crawler (1) that connects to different OPC UA servers to browse their information models (including contained parameters, geographical coordinates, historical data, files, triggered events / alarms). This can be combined with additional metadata about the OPC UA servers - such as physical location, IP address, etc. The system has at least one search engine (2) that provides indexed and searchable storage for the browsed information models. In order to support the above-mentioned semantic matching, a database that supports the representation of relationships between elements and a search engine that can be used to evaluate these relationships are very beneficial. Therefore, for example, the concept of data representation based on RDF and the use of triple DB can use the query language SparQL for evaluating types and inheritance relationships in search requests.
[0098] The specific reference information can be as follows:
[0099] RDF:
[0100] https: / / en.wikipedia.org / wiki / Resource_Description_Framework
[0101] Triple DB: https: / / en.wikipedia.org / wiki / Triplestore
[0102] SPARQL: https: / / en.wikipedia.org / wiki / SPARQL
[0103] Constructing a SPARQL query:
[0104] https: / / medium.com / wallscope / constructing-sparql-queries-ca63b8b9ac02
[0105] To consume a user request or search query (such as a user types in a "level sensor" as a search parameter), the system includes a query processor (3) which internally uses a domain-specific dictionary to enrich the domain knowledge and optimize the user query with the domain knowledge. The search engine transfers the results to a result processor (4). The result processor creates a ranking by calculating scores and classifying the result items.
[0106] Figure 2 A user interface for displaying search results is shown, which can be used to present the results of an IIoT search engine. A first area 201 provides a list of results. The list includes a unique identifier / name for each search result and a brief view of an OPC UA endpoint 203 and an information model tree structure 204. The unique identifier / name can be generated based on the OPC UA server content. It highlights the nodes or parameters that are part of the search result. Once 203 is clicked, the complete tree of the OPC UA server for the highlighted node or parameter is shown. Each search result has a URL link 205 for connecting directly to the OPC UA endpoint and getting a real-time view of the information model and the highlighted values. The score level 202 provides the user with an indication of how the results are sorted.
[0107] Figure 3 The flowchart of FIG. 300 shows the general steps of using a search engine in an industrial Internet of Things search method. After entering a query 301 and starting the search process, the query processor can analyze and enrich the query, using domain knowledge 302 if necessary. The next step can be to query the database 303 in an appropriate format and using the enriched query. The database can generate a first intermediate search result, which is passed to a result processor 304. The result processor can calculate a score for each result item. The calculated ranking is passed to a web UI 305, which presents the results, possibly overlaid onto an indoor map or an outdoor site map.
Claims
1. An industrial information identification and retrieval system; comprising: -Crawler, configured to: identifying a device within a network and an associated Open Platform Communications Unified Architecture (OPC UA) server of the device as an identified OPC UA server, the network including boundaries set based on a network segment, a plant level, or a specific site; Creating a plant index by searching the network and scanning for identified OPC UA servers; as well as browsing the identified OPC UA servers and extracting data items and storing the data items in an external database as extracted data items, wherein the data items include one or more of: image data and image data for a specific device; and wherein the data items include device parameter values or output values; -Search engines, configured to: searching the extracted data items and providing the search results to a result processor; Explain the reference; as well as determining a number of times each search result was previously selected by different users, a plurality of similarity measures for each search result, and a plurality of measures of variability for a parameter value or an output value of a device, wherein the plurality of measures of variability are based on a frequency of change of the parameter value or the output value; a result processor configured to determine a score for each search result by utilizing the number of times each search result was previously selected by different users, the plurality of similarity measures, and the plurality of measures of variability for a parameter value or an output value of a device, wherein the plurality of measures of variability are used to increase the score for each search result if the parameter value or the output value changes at a higher frequency than other node values; as well as -A web user interface "web UI" configured to present the search results based on the scores.
2. The system of claim 1, wherein the system comprises a query processor, wherein the query processor is configured to provide domain knowledge to the system, and wherein the provision of the search results by the search engine comprises utilization of the domain knowledge.
3. The system of claim 2, wherein the web UI is configured to provide at least one search query to the query processor, and wherein the query processor is configured to modify the at least one search query to generate the domain knowledge, the modification comprising: Keywords in the at least one search query are replaced with domain specific keywords and / or keywords are added to the at least one search query. The system of claim 3 , wherein the at least one search query is input by a user.
5. The system of any one of claims 3 to 4, wherein the modification of the at least one search query comprises utilization of at least one modification or substitution rule.
6. The system of claim 5, wherein the at least one modification or substitution rule is preset or user defined.
7. The system according to any one of claims 1 to 4, wherein the result processor is configured to rank the search results according to the score for each score result.
8. An industrial Internet of Things search method, comprising: a) using a crawler to identify devices in a network, and associated Open Platform Communications Unified Architecture (OPC UA) servers of the devices as identified OPC UA servers, the network including boundaries set based on network segments, plant levels, or specific sites; b) using the crawler, creating a plant index by searching the network and scanning the identified OPC UA servers; c) using the crawler, browsing the identified OPC UA servers, and extracting data items and storing the data items in an external database as extracted data items, wherein the data items include one or more of: image data and image data for a specific device; and wherein the data items include device parameter values or output values; e) using a search engine, searching the extracted data items and determining search results; interpreting the references; and wherein the search engine is configured to determine a number of times each search result was previously selected by different users, a plurality of similarity measures for each search result, and a plurality of measures of variability for a parameter value or an output value of a device, wherein the plurality of measures of variability are based on a frequency of change of the parameter value or the output value; f) determining, using a result processor, a score for each search result by utilizing the number of times each search result was previously selected by different users, the plurality of similarity measures, and the plurality of measures of variability for parameter values or output values of the device, wherein the plurality of measures of variability are used to increase the score for each search result if the parameter value or output value changes at a higher frequency than other node values; as well as g) using a web user interface, presenting the search results according to the scores.
9. The method according to claim 8, wherein the method comprises a step d) of providing the system with domain knowledge, and wherein step d) comprises utilizing the domain knowledge.
10. The method according to claim 9, wherein step d) comprises: At least one search query is provided, and the at least one search query is modified to generate the domain knowledge, the modification comprising: replacing keywords in the at least one search query with domain-specific keywords, and / or adding keywords to the at least one search query.
11. The method according to any one of claims 8 to 10, wherein step f) comprises ranking the search results according to the score for each score result.
Citation Information
Patent Citations
Dynamic search engine for an industrial environment
CN105589923A