Method for analyzing industrial system configuration and / or industrial process
Patent Information
- Application Number
- CN202610464704.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-14
- Filing Date
- 2026-04-09
- Publication Date
- 2026-10-20
AI Technical Summary
OCR通常不会以足够的准确度产生所期望的结果,因为通常存在主要的图形元素,诸如表示系统/过程的组件及其连接的符号,OCR不能识别和翻译成字符
[0087]上面在方法的上下文中概述的特征和优点类似地适用于本文描述的处理系统、计算机程序产品和计算机可读介质。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This disclosure provides a method for analyzing industrial system configurations and / or industrial processes, a corresponding data processing system, a computer program product, and a computer-readable medium. Background Technology
[0002] Industrial system and process configurations are typically represented as engineering data, including process diagrams provided as documents. These documents are often only available as paper documents or scanned versions of file types that cannot be easily analyzed automatically (e.g., PDFs). However, there is a need to make these documents available in a way that allows for automated processing of the system / process configurations they represent, i.e., in a computer-readable digital form (e.g., P&IDs as DEXPI files). For example, the configuration can then be used to generate control codes for the system / process, monitor the system / process, further configure the actual system / process, modify the configuration of the actual system / process, configure new systems / processes based on the actual system / process, and so on.
[0003] As will be understood, these purposes require reasonably reliable and accurate analysis. OCR often does not produce the desired results with sufficient accuracy because there are often primary graphical elements, such as symbols representing system / process components and their connections, that OCR cannot recognize and translate into characters. Even any descriptions written in text within the figure (such as names or status descriptions) may be difficult to detect reliably with OCR, where OCR gives the primary graphical properties of the figure and, in many cases, gives closely packed elements, and sometimes gives poor document reproduction quality, or gives human additions or corrections, such as handwriting in the figure (and, for example, in later scanning).
[0004] Therefore, the purpose of this disclosure is to provide a method and system that allows for improved accuracy in the automated analysis of industrial system configurations and / or industrial processes. Summary of the Invention
[0005] This disclosure provides methods, data processing systems, computer program products, and computer-readable media according to the independent claims.
[0006] This disclosure provides a method for analyzing industrial system configurations and / or industrial processes by analyzing graphical engineering data representing industrial systems and / or industrial processes. The method includes inputting graphical engineering data representing industrial systems and / or industrial processes into an AI module, the engineering data including graphical elements representing components of the industrial system and / or graphical elements representing process-related attributes of the components of the industrial system. The method also includes processing the graphical engineering data by the AI module, the processing including the AI module detecting one or more component and / or process-related attributes represented by the graphical elements included in the engineering data. The method further includes providing the detected component and / or detected process-related attributes to a verification module. The method also includes the verification module accessing a reference dataset, the reference dataset including character-based data representing candidate component and / or candidate process-related attributes. The method further includes the verification module verifying the detected component and / or process-related attributes based on the candidate component and / or candidate process-related attributes.
[0007] In particular, this method is a computer-implemented method, such as one executed by a processing system.
[0008] The AI module is configured to output character-based, particularly text-based, representations of the detected component and / or process-related attributes, such as names identifying the detected component and / or process-related attributes, and optionally output the confidence level associated with each prediction.
[0009] For example, the output may include the component name of a single detected component, or a combination of the detected component type associated with it and / or the detected process-related attributes associated with it. Alternatively, the output may include component types that do not have a component name or have an indication that the component name is missing or incomplete, optionally combined with the detected process-related attributes associated with the component.
[0010] As will be understood from the above, a specially trained AI module, including graphical elements, can be used to analyze engineering data. The AI module can identify components typically represented by graphical elements, as well as process-related attributes (e.g., alarm levels). Using an appropriate AI module will already produce good results. To improve reliability, this disclosure provides a verification module. The verification module accesses supplementary data, i.e., a reference dataset, to check whether the output of the AI module is likely to be correct against the reference dataset. As an example only, the reference dataset may have a list of component names of components expected to exist in the graphical engineering data and information about said components, such as their alarm levels. For example, the consistency between the components output by the AI module or their associated alarm levels and the reference data can be checked. Several examples are also provided below.
[0011] Therefore, as will be understood, this can increase the reliability of the overall analysis. While errors or uncertainties may still exist, they can also be better identified, allowing for targeted corrective actions.
[0012] In this disclosure, an industrial system may include components, particularly hardware components such as transmitters, pumps, tanks, valves, heaters, and / or software components such as control software. In some cases, software and hardware components may be integrally formed. For example, hardware components may include firmware and / or a controller having hardware components. An industrial system may also include hardware connections between components, such as piping and / or electrical connections, and / or software connections, such as data connections, for example, via communication interfaces between components. Information specifying an industrial system may include information about some or all of the aforementioned components and optionally some or all of the aforementioned connections.
[0013] The industrial process according to this disclosure may include processes performed in an industrial system, such as the industrial system described above. Information specifying the industrial process may include at least a portion of information specifying the industrial system. Additionally, the information specifying the industrial process may include information specifying operating parameters of one or more components, the operating sequence of one or more components, the interaction between one or more components, and / or one or more rule-based routines (such as issuing alarms or prompting shutdown according to predetermined rules).
[0014] Information can exist that represents both operational information and component information. For example, a component can be associated with an alarm level. This can be considered both a component attribute and information about an industrial process, since operations within an industrial process may include issuing alarms under certain circumstances (e.g., rule-based alarms).
[0015] According to this disclosure, analysis of industrial system configuration and / or industrial process can be included at any stage of the system or process, such as the stage when the industrial system and / or process is being established and configured and / or the operational stage of the industrial system and / or process, i.e. after the initial establishment and configuration and / or service or maintenance stage and / or the stage of updating and / or reconfiguring the system or process.
[0016] Engineering data may include at least a portion of specified information and some information about the industrial system and / or specified industrial process. Engineering data may include character-based information, at least a portion of which can be extracted from engineering data and incorporated into the reference dataset of this disclosure. For example, character-based engineering data may include component lists, alarm lists, component specification data, etc., existing in the industrial system and / or involved in the industrial process.
[0017] Engineering data (typically primarily) includes graphical engineering data, which is graphical information (e.g., non-character-based information) representing industrial systems and / or industrial processes.
[0018] Typical examples of graphical engineering data representing industrial systems and / or processes can include system and / or process diagrams. In particular, graphical engineering data can represent components of an industrial system and / or process-related properties of those components. An example of graphical engineering data is a piping and instrumentation diagram (also known as "P&ID").
[0019] Graphical engineering data, especially P&ID, can include topological information about the industrial plant's topology, as well as information about piping and instruments, such as which devices are connected to another, or which controllers (e.g., PI or PID controllers) and instruments are connected to which devices. Therefore, it provides information not only about material flow but also about signal lines.
[0020] System and / or process diagrams may include symbols representing components and / or connections between components and / or process-related attributes.
[0021] In addition to graphical information, system and / or process diagrams may also include text information, such as letters or numbers (e.g., text information specifying alarm levels "high" and "low" within the diagram and / or labeling components within the diagram).
[0022] System and / or process diagrams may be available in a purely non-character-based form, such as as image data, or may include at least some character-based information.
[0023] Textual information, such as image data, may be provided in a non-character-based form in system and / or process diagrams. Alternatively, in some cases, at least some textual information may be provided in a character-based form, for example, embedded in a document that includes graphic information, such as, for example, embedded in a PDF file.
[0024] The AI module according to this disclosure can be a software module comprising an AI model configured to process engineering data, particularly graphic engineering data. The AI model can be a model trained to process image data. The AI model can be a multimodal model trained to process both image data and character-based data. For example, the AI model can be a model trained on labeled engineering data. Alternatively, the AI model can be a pre-trained model that has not been specifically trained on engineering data, such as, in particular, a multimodal, generative pre-trained transformer model. Any suitable known model architecture can be employed, such as a convolutional neural network (CNN) base model or a visualization transformer (VIT) and / or an algorithm for optical character recognition (OCR). For example, by way of examples only, LeNet, ResNet, AlexNet, original ViT, DeiT, owlViT, Tesseract, EasyOCR, GCP-OCR, and Azure-OCR can be employed.
[0025] According to this disclosure, detecting one or more components represented by graphical elements included in engineering data may include determining the presence of one or more components.
[0026] According to this disclosure, detecting one or more components represented by graphical elements included in engineering data may include detecting component names of the one or more components. For example, the component names may be provided within the drawing, for example, as labels associated with symbols representing the component type.
[0027] Alternatively or additionally, detecting one or more components may include identifying the component type, such as a component being a "transmitter," "pump," "valve," or "tank." The component type can be determined based on graphical symbols in the graphical engineering data. It should be noted that there may be components within the graphical engineering data that do not have component names, or components whose component names cannot or cannot be fully processed and / or cannot be explicitly associated with the component. In such cases, the component type can be determined based on graphical symbols, and optionally, the output of the AI module may include the component type and optionally indicate the unavailability or incompleteness of the component name for said component.
[0028] According to this disclosure, process-related attributes represented by graphical elements included in engineering data may include alarm levels, operating parameters, or SIL (Safety Integrity Level) levels, or further specify the element type. Process-related attributes may include graphical symbols, and sometimes the symbols include textual information (such as the words "high" and "low" included within the symbols).
[0029] Therefore, optionally, detecting one or more component and / or process-related attributes represented by graphical elements included in the engineering data may also include identifying the process-related attributes (e.g., alarm levels) represented in the graphical engineering data as associated with the detected components. The output of the AI module may include information indicating the association between components and process-related attributes.
[0030] As will be understood, this method is flexible because it can reliably handle both purely graphical engineering data and engineering data that includes a combination of character-based and graphical engineering data.
[0031] According to this disclosure, providing the verification module with the detected component and / or detected process-related attributes may include, for example, providing some or all of the detected component names, component types, and / or process-related attributes detected by the AI module, and optionally including providing associations, such as component names and their associated component types and / or component names and their associated process-related attributes and / or component types and their associated process-related attributes. According to this disclosure, providing the verification module with the detected component and / or detected process-related attributes may include providing the component and / or detected process-related attributes in a character-based format, such as letters, numbers, special characters, etc.
[0032] By way of example only, accessing a reference dataset by the verification module may include retrieving and / or receiving the reference dataset from, for example, local and / or remote data storage devices, and processing data from the reference dataset. Alternatively or additionally, accessing a reference dataset by the verification module may include receiving data from the reference dataset in response to a query by the verification module.
[0033] The reference dataset includes character-based data representing attributes related to candidate components and / or candidate processes.
[0034] Character-based data representing candidate component and / or candidate process related attributes may include at least one of the following: the name of the candidate component, the operating parameters associated with the candidate component, the signal level associated with the component, the alarm level associated with the component, the potential relationship between the candidate component and one or more other components, the classification of the candidate component, and in particular the type of the candidate component, and the region of the industrial system where the candidate system can be adopted.
[0035] Note that, alternatively, or in addition to providing potential relationships in the character-based data described above, it can also be obtained from character-based data. For example, naming schemes can be used to determine that components have the same cycle number and / or partially identical names and / or that they have the same P&ID number. This information can be obtained before or as part of the verification process.
[0036] Character-based data can include information represented as one or more character sequences, such as letters, numbers, and special characters.
[0037] Reference datasets can include, for example, lists, tables, databases, etc. Reference data can include one or more entries. For example, entries can include component names, signal names, process-related attributes, or other information related to industrial systems and processes.
[0038] In some cases, in addition to or as an alternative to the component name, a signal name associated with the component may be provided in the reference dataset. Exemplary signal names that may be included in the reference dataset could be, for example, three signals for a valve: an analog / binary output for setting the valve and zero, one, or two input signals for feedback of the current position. Note that in this disclosure, signal names may be treated in the same or similar manner as component names, for example, during verification processes, such as in matching, character modification, etc.
[0039] For example, reference data can include relationships between multiple entries. For instance, there might be a relationship between an entry that includes a component name and an entry that includes process-related attributes associated with the component. Relationships can be explicit, such as by providing a link between entries, public identifiers, or data that specifies the relationship, or they can be implicit, such as by entries being in the same row or column of a table.
[0040] Reference data may be provided as part of the engineering data and / or separately from the engineering data. For example, reference data may include a list of parts for a machine or subsystem included in an industrial system, which may be provided by the supplier of said machine or subsystem. This data may be independent of the specific industrial system in which the machine or subsystem is used and may not necessarily be incorporated into the engineering data. As mentioned above, optionally, character-based reference data may include character-based information from the engineering data.
[0041] Candidate components can represent components expected to be found in graphical engineering data, such as components included in a list of parts of a machine, for example, as part of an industrial system or process. Candidate process-related attributes can represent process-related attributes (e.g., alarm levels) expected to be found in graphical engineering data, such as process-related attributes associated with components expected to be found in graphical engineering data, such as those included in a list of instruments, for example, as part of an industrial system or process.
[0042] Validating the detected component and / or process-related attributes based on candidate component and / or candidate process-related attributes may include, in particular, validating whether the detected component type and / or name is expected to exist, optionally depending on its relative location within the industrial system, and / or whether associated process-related attributes for the detected component are expected based on reference data. Validation may include determining whether the component name matches a naming scheme, optionally depending on the associated component type.
[0043] Validation may optionally involve modifying detected names and / or attributes by visually modifying characters and / or by modifying terms based on semantic similarity, optionally iteratively until a match is found. The output of validation may include corrected / modified outputs based on the modified output AI module(s).
[0044] The output of the verification may include at least a portion of the output of the AI module and an indication of the confidence level of the AI module's output, and / or may include the corrected / modified output of the AI module that was corrected / modified during the verification.
[0045] The output of the verification step can be provided in any format, such as as purely character-based information or as a combination of character-based and graphical information. For example, purely character-based information can be used for subsequent computer-based processing, such as for creating control software based on the output. For example, a combination of character-based and graphical information can be a reproduction of graphical engineering data including symbols and text information, with the text information embedded in a character-based format, and optionally, symbols embedded separately. Therefore, for example, enhanced graphical engineering data can be provided, allowing for easy modification and automated processing.
[0046] Detailed examples of verification are provided below.
[0047] Validation can include, in particular, deterministic and / or AI-based estimations of the predictive accuracy for the detected component and / or process-related attributes, based on a reference dataset.
[0048] For example, such validation could involve one or more checks to see if the detected data output by the AI module matches the expected data provided by a reference dataset. In this way, prediction accuracy can be predicted based on the output of the AI module and the reference dataset.
[0049] The closer the AI module output, or the modified / corrected AI module output, is to the expected data, the higher the prediction accuracy can be.
[0050] Prediction accuracy can be quantified and / or provided in any suitable form, such as as a confidence level ("high", "low", "medium") or a percentage (e.g., 89%).
[0051] For deterministic algorithms, as an example, verification may include determining, in a rule-based manner, whether a match exists with expected data. Applying such rules may include, for example, determining whether the detected component name matches a candidate component name, whether there are unexpected copies of the component name, whether there is an unexpected number of components of a particular component type, whether the component name matches a naming scheme, and, particularly for the detected component type and / or according to industry standards, whether a specific combination of two or more of the associated detected component name, detected component type, and detected process-related attributes matches a desired combination of component name, component type, and / or process-related attributes.
[0052] Validation, particularly determining the estimate of prediction accuracy, may include determining, based on a reference dataset, whether the detected component and / or process-related attributes exist in the reference dataset. Prediction accuracy may be lower if the detected component and / or process-related attributes do not exist in the reference dataset than if they did. This is advantageous because the presence of unexpected components or attributes is a very reliable and easily inspectable indicator of errors in the AI module's output.
[0053] Validation, particularly determining the estimate of prediction accuracy, may include, based on a reference dataset, determining whether a combination of detected components and their detected process-related attributes matches a combination of candidate components and their process-related attributes in the reference dataset. Accuracy may be lower in cases where the AI module outputs associated component and process-related attributes that do not match any combination in the reference dataset. Examining combinations of components and attributes can allow for particularly reliable determination of when an association error occurs (e.g., an attribute is associated with an incorrect component) or when the component type is incorrectly identified.
[0054] Validation, particularly determining the estimate of prediction accuracy, may include determining whether the name of the detected component matches the name of a candidate component in the reference dataset, and optionally, if so, whether the location and / or functional region of the detected component corresponds to the location and / or functional region of the candidate component.
[0055] When components can be identified by their component names (rather than, for example, only their type), this allows for additional checks, error detection, and even more reliable accuracy prediction. For instance, matching component names, rather than just matching component types and / or associated process-related attributes, allows for reduced ambiguity, as components of a given type and associated attributes (such as valves) can be used extensively. Names can be used to resolve some ambiguities.
[0056] An additional check to determine whether the location and / or functional region of the detected component corresponds to the allowed location and / or functional region of the candidate component is an indicator of whether the detected component is in the expected location and / or functional region. If not, this is a reliable indicator for errors, and its accuracy may be lower than other indicators.
[0057] Validation, particularly determining the estimate of prediction accuracy, may include determining whether the names of the detected components match a predetermined naming scheme used within a reference dataset. The naming scheme may, for example, depend on industry, customer, and / or may be provided by standards. For instance, based on the naming scheme, all component names may be expected to have a series of letters followed by a series of numbers. It can be determined whether the names of the detected components have a series of letters followed by a series of numbers. If this is not the case, it is an erroneous indicator, and the accuracy may be lower than in other cases. Deviation from the naming scheme can even take into account conclusions about the nature of the error, namely, the possibility of visually similar letters and numbers. In cases where letters are expected but numbers are present, or vice versa, a check on the visual similarity between the expected numbers and letters can be performed, and optionally, automatic correction can be performed.
[0058] Validation, particularly determining an estimate of prediction accuracy, may include determining, based on a reference dataset, whether the name of the detected component matches a naming scheme associated with the component type of the detected component.
[0059] Components of a component type may have specific letters or a series of letters in their component names, as defined by a naming scheme. If the detected component is a component type and its name does not contain the specified letters or series of letters, this is an erroneous indicator, and its accuracy may be lower than in other cases. Deviation from the naming scheme can even take into account the nature of the error, namely the possibility of visually similar letters and numbers. In cases where letters are expected but numbers are present, or vice versa, a check on the visual similarity of expected numbers and letters can be performed, and optionally, automatic correction can be performed.
[0060] As some illustrative examples, letters / numbers may have specific meanings depending on the naming scheme. For instance, letters typically used for transmitters include the type of transmitter (L=level, T=temperature, P=pressure, etc.). If letters appearing here do not follow this particular scheme, an error may be present. The same applies to numbers according to some schemes; for example, "13" can refer to a system (e.g., cooling).
[0061] Validation, particularly determining the estimate of prediction accuracy, may include determining the names of the detected components based on a reference dataset, especially copies that are inconsistent with the reference dataset.
[0062] In some cases, such as when an industrial system or process should uniquely identify its components, duplicate component names may not be expected. In this case, the detected presence of duplicate component names may be a strong indicator of error, and accuracy may be lower than in other cases. In other cases, duplicate component names may be allowed and reflected in a reference dataset. However, the number of detected duplicates may deviate from the expected number and / or duplicates may be detected within the same functional area, even though the reference dataset indicates that no duplicates exist in any functional area or in the specific functional area. In these cases, accuracy may be lower than in other cases. This check for duplicates is advantageous because it allows for the detection of errors, even for other seemingly reasonable detection results (e.g., correct name-type-attribute combinations, naming schemes, functional areas). It allows for consideration of the overall context, thus increasing reliability.
[0063] Validation, particularly determining the estimate of prediction accuracy, may include determining, based on a reference dataset, whether to retrieve the name of the detected component and / or the known interrelationships between the component type and other components if the name of the detected component does not match the name of a candidate component in the reference dataset, and determining, based on the interrelationships, whether the presence of another detected component supports the potential presence of the detected component.
[0064] This allows for the resolution of potential errors and reduces the rate of low-accuracy results. For example, it is known that a valve may exist associated with a pipe connecting two components. If such a valve is identified by its name in graphical engineering data and detected by the AI module, the valve may not need to be mentioned in the reference dataset, making it possible that no matching candidate component name can be found for the detected valve. While, as mentioned above, the lack of matching candidate components may be an indicator of detection errors, accuracy can be increased by using knowledge such as the expected association of the valve with the pipe connecting the two components compared to the presence of an unexpected valve.
[0065] Validation, particularly determining an estimate of prediction accuracy, may include, based on a reference dataset, determining whether a variant of the detected component's name, based on character modifications and / or semantic variations of the name, matches a candidate component name in the reference dataset.
[0066] For example, as mentioned above, some characters are visually similar, such as "O" and "0," and are easy to detect errors with. Similarly, different textual descriptions can be used for the same concept (e.g., different names for alert levels). During the validation process, character and / or semantic variations of component names can be used to generate modifications to component names, optionally iteratively. The checks described herein as part of the validation process can be applied to the modified component(s) names. If the modified component name performs better during the validation process, for example using the checks described herein, different modifications can be performed, and the detected component name can be replaced by the modified component name. Furthermore, the modified component name can be estimated to have higher predictive accuracy than the detected component name. As mentioned above, the modified component name can then be output by the validation module, optionally replacing the detected component name.
[0067] Validation, particularly determining the estimate of prediction accuracy, may include, based on a reference dataset, determining whether the component type of the detected component, optionally provided by the AI module or obtained from the output of the AI module, matches the component type in the reference dataset, and specifically whether both the name and component type of the detected component match candidate components in the reference dataset.
[0068] This allows for the reliable identification of errors and / or estimation of low prediction accuracy. For example, if no matching component type is found in the reference dataset, or if no matching combination of component name and component type is found in the reference dataset, an error may exist, and the prediction accuracy may be lower than in other cases.
[0069] If a component type is found to be mismatched with that in the reference dataset, the symbol representing the component type may not be automatically identified, for example, due to rendering quality or the use of an unknown representation of the component. Identifying this can be used to automatically trigger user intervention.
[0070] Examining the combination of component name and type allows for the resolution of ambiguities. For example, it could be an indicator that prints the names of two components of different types and associates an error with one of the two components. This can allow for efficient error resolution and increase prediction accuracy.
[0071] Validation, particularly determining the estimate of prediction accuracy, can include determining, based on a reference dataset, whether the type of the detected component matches an attribute associated with that component type in the reference dataset. For example, it can be determined whether a detected alarm or signal level is expected to be associated with the detected component type. For instance, if the detected component type is a tank and an associated signal level is detected, but the reference dataset indicates that no tank with an associated signal level exists, this indicates a detection error and the accuracy may be lower than in other cases. This can also be used as an indicator for other detected components where the detected signal level may be missing, thus allowing for the resolution of ambiguities.
[0072] Validation, particularly determining the estimate of prediction accuracy, may include, based on a reference dataset, determining at least one of the following: whether there exists in the reference dataset a combination of detected process-related attributes, such as detected alarm levels and / or signal levels, and / or whether a combination of detected components and detected process-related attributes, such as alarm levels, matches a combination of candidate components and process-related attributes, such as alarm levels, in the reference dataset.
[0073] For example, a match can be detected if an alarm level is detected in the graphic engineering data and an actual value or indication of the existence of that alarm level exists in the reference data. That is, finding a match based on the alarm level may not necessarily refer to comparing the alarm level values between the graphic engineering data and the reference data, but rather to the presence of the corresponding alarm level (e.g., "high" or "low-low") as shown in the graphic engineering data P&ID. For example, in some tables provided as reference datasets, a value may exist when the alarm level is present, and otherwise there may be no value (some indication of a blank or no value, such as "-" or "na"). In some examples of the reference data, such as in the case of a list of signals, where each signal value (e.g., an alarm level value) (e.g., "LLL", "LL", "L", "H", "HH", "HHH") is listed, for example, in a separate row of a table, a match can be made when the corresponding signal, such as the alarm level value, is included in the list.
[0074] Similar to the discussion above regarding component types, the absence of detected process-related attributes in the reference dataset indicates a need for intervention. For an explanation of combinations of detected components and attributes, refer to the section above on combinations of component types and process-related attributes.
[0075] Validation, particularly determining an estimate of prediction accuracy, may include determining the name of the detected component based on a reference dataset, determining whether to find a match in the reference dataset based on the name of the detected component, determining the component type of the detected component, and determining whether to find a match in the reference dataset based on the component type. Optionally, validation may include optionally determining the alarm and / or signal level associated with the detected component, and determining whether to find a match in the reference dataset based on the alarm and / or signal level.
[0076] For example, it can be checked whether a match is found in the reference dataset for the combination of the detected component name and component type, and optionally, the alarm and / or signal level. The output can indicate whether no match was found in the reference dataset, a complete match, or one or more partial matches. Assuming the same initial prediction accuracy, the prediction accuracy (after validation) can be highest for a complete match, lowest for a no-match, and somewhere in between for a partial match.
[0077] The methods disclosed herein may include prompting further analysis and / or warning the user and / or reducing the confidence level of the prediction relative to the initial estimated prediction accuracy in the event of a mismatch between the determination based on the name, the determination based on the component type, and the determination based on the alarm and / or signal level.
[0078] Therefore, any actions taken to address potential detection errors can be targeted, particularly depending on prediction accuracy. For example, user-based or automatic error resolution may be prompted only if the prediction accuracy does not exceed a predetermined threshold. Alternatively, two thresholds may exist, where user-based error resolution is prompted only if the prediction accuracy does not exceed the lower of the thresholds. Automatic error resolution may be prompted when the lower threshold is exceeded but the higher threshold is not. No error resolution may be prompted when the higher threshold is exceeded.
[0079] Alternatively or additionally, the method of this disclosure may include increasing the confidence level of the prediction relative to the prediction accuracy of the initial estimate, provided there is a match between the determination based on name, the determination based on component type, and the determination based on alarm and / or signal level. In the examples above, this may result in some cases the threshold being exceeded, or one or both thresholds being exceeded. Therefore, matching can reduce the number of prompts used for error resolution.
[0080] Validation can be performed iteratively, specifically including: after determining that the name of the detected component does not match the name in the reference dataset, automatically modifying the name of the detected component and determining whether the modified name of the detected component matches the name in the reference dataset, wherein the modification is performed iteratively to gradually reduce the similarity between the initial name and the modified name until a stopping criterion is met or a match is found.
[0081] Referring also to the description above of modifying the output of the AI module, such as character-based modifications and / or semantic modifications, an iterative approach can improve efficiency. There are many potential modifications. Trying all modifications would require significant computational power and may not be necessary, as a few iterative modifications may have already yielded acceptable results (e.g., exceeding a threshold of estimated prediction accuracy), or perhaps no number of modifications would lead to a successful solution. In such cases, iterative modifications can allow for meaningful limitation of computational effort. For example, a stopping criterion could be exceeding a threshold of estimated prediction accuracy. As another example, a stopping criterion could be exceeding a predetermined number of iterations and / or a predetermined duration. In particular, said stopping criteria can be combined.
[0082] The methods disclosed herein may include generating a representation of engineering data using detected component and / or process-related attributes, and / or generating control logic based on the detected component and / or process-related attributes, particularly based on the representation of engineering data generated using the detected component and / or process-related attributes.
[0083] For example, as mentioned above, it is possible to generate a reproduction of graphical engineering data, such as embedding character-based information like component names. The automatic generation of control logic can utilize information about components, names, types, relationships, process-related attributes, and their interconnections as a basis for defining the processes to be controlled by the control logic.
[0084] This disclosure also provides a processing system including one or more processing components configured to perform the methods of this disclosure, particularly as described above.
[0085] This disclosure also provides a computer program product including instructions that, when executed by a computer, cause the computer to perform the methods of this disclosure, particularly as described above.
[0086] This disclosure also provides a computer-readable medium including instructions that, when executed by a computer, cause the computer to perform the methods of this disclosure, particularly as described above.
[0087] The features and advantages outlined above in the context of the method are similarly applicable to the processing systems, computer program products, and computer-readable media described herein.
[0088] Further features, examples, and advantages will become clear from the detailed description of the accompanying drawings. Attached Figure Description
[0089] In the attached diagram,
[0090] Figure 1 This is a flowchart illustrating the method according to this disclosure;
[0091] Figure 2a and Figure 2b It is in the case of handwritten user comments. Figure 2b In the case of a process diagram, an exemplary representation of engineering data is provided.
[0092] Figure 3 A schematic diagram of a processing system according to the present disclosure is shown;
[0093] Figure 4 An exemplary overlay plot is shown that can be provided to users to indicate confidence levels. Detailed Implementation
[0094] Figure 1 This is a flowchart illustrating a method according to the present disclosure for analyzing industrial system configurations and / or industrial processes by analyzing graphical engineering data representing industrial systems and / or industrial processes.
[0095] Also refer to Figure 2, which is an exemplary representation of engineering data in the form of a process diagram, to illustrate the method steps.
[0096] The method includes, in step S1, inputting graphical engineering data representing an industrial system and / or an industrial process into an AI module, wherein the engineering data includes graphical elements representing components of the industrial system and / or graphical elements representing process-related attributes of the components of the industrial system.
[0097] The method includes, in step S2, processing graphical engineering data via an AI module. This processing includes the AI module detecting one or more component and / or process-related attributes, such as alarms or roles in an industrial process, represented by graphical elements included in the engineering data. In the example, the AI module is configured to output a character-based, particularly text-based, representation of the detected component and / or process-related attributes, such as names identifying the detected component and / or process-related attributes, and optionally output a confidence level associated with each prediction.
[0098] The method includes, in step S3, providing the verification module with the detected components and / or the detected process-related attributes.
[0099] The method includes, in step S2, a verification module accessing a reference dataset comprising character-based data representing attributes related to candidate components and / or candidate processes. For example, the character-based data representing attributes related to candidate components and / or candidate processes may include at least one of the following: the name of the candidate component, operating parameters associated with the candidate component, signal levels associated with the component, alarm levels associated with the component, potential relationships between the candidate component and one or more other components, classification of the candidate component, particularly the type of candidate component, and the region of the industrial system where the candidate system can be adopted.
[0100] The method includes, in step S5, the verification module verifying the detected component and / or process-related attributes based on candidate component and / or candidate process-related attributes. Examples of steps that may be included in the verification are also provided below. Optionally, in some examples, the verification is performed iteratively, specifically including: after determining that the name of the detected component does not match the name in the reference dataset, automatically modifying the name of the detected component and determining whether the modified name of the detected component matches the name in the reference dataset, wherein the modification is performed iteratively to gradually reduce the similarity between the initial name and the modified name until a stopping criterion is met or a match is found.
[0101] In optional step S6, if there is a mismatch between the determination based on name, the determination based on component type, and the determination based on alarm and / or signal level, prompts are made to suggest further analysis and / or warn the user to resolve the mismatch and / or reduce the confidence level of the prediction relative to the initial estimated prediction accuracy.
[0102] In optional step S7, if there is a match between the determination based on name, the determination based on component type, and the determination based on alarm and / or signal level, the confidence level of the prediction relative to the prediction accuracy of the initial estimate is increased.
[0103] In an optional step S8, the method may include generating a representation of engineering data using the detected component and / or process-related attributes, and / or generating control logic based on the detected component and / or process-related attributes, particularly based on the representation of engineering data generated using the detected component and / or process-related attributes.
[0104] The following examples will provide what the verification in step S5 might require. It should be understood that some or all of the examples may be performed individually or in different combinations. Other examples are also possible, such that step S5 should not be construed as limited to the examples described.
[0105] In the example, validation includes, in particular, deterministic and / or AI-based estimations of the predictive accuracy for the detected component and / or process-related properties, based on a reference dataset. Predictive accuracy may depend on one or more criteria associated with the AI module's output and the reference data, as will be clear from the example below; these criteria may be combined or applied individually based on the requirements at hand.
[0106] In the example, validation, specifically determining the estimate of prediction accuracy, involves determining, based on a reference dataset, whether the detected component and / or process-related attributes are present in the reference dataset. For example, the reference data might specify components and / or attributes expected to be present in the engineering data. If the detected component and / or attribute is missing from the reference data, this could be an erroneous indicator. Therefore, in this case, the prediction accuracy estimate could be assigned a lower or higher value depending on whether the reference data includes or excludes the component and / or attribute.
[0107] In the example, verification, specifically determining an estimate of prediction accuracy, includes, based on a reference dataset, determining whether the detected component and a combination of detected process-related attributes of the detected component match a combination of candidate components and process-related attributes of the detected component in the reference dataset. For example, a match can be found between the detected component and alarm level pair and a component and alarm level pair in the reference dataset. If a match is found, the prediction accuracy can be estimated to be higher than if no match is found.
[0108] In the example, verification, specifically determining the estimate of prediction accuracy, includes determining whether the name of the detected component matches the name of a candidate component in the reference dataset, and optionally, if so, whether the location and / or functional region of the detected component corresponds to the location and / or functional region of the candidate component. That is, it can be checked whether the detected component is expected to be in the location and / or functional region. If so, the prediction accuracy can be estimated to be higher than that for components not expected to be detected in the location and / or functional region.
[0109] In the example, validation, specifically determining an estimate of prediction accuracy, includes determining whether the names of the detected components match a pre-defined naming scheme used within a reference dataset. For example, the naming scheme might involve a combination of letters and numbers. If the names of the detected components do not follow the naming scheme, such as consisting only of letters, the detection accuracy can be estimated to be lower than in the case of a naming scheme match.
[0110] In the example, verification, specifically determining an estimate of prediction accuracy, includes determining whether the name of the detected component matches a naming scheme associated with the component type. For example, different types of components may have specific naming schemes, such as using letters and / or numbers specific to the component type and included in the name. If a component of a particular type is detected, but its name does not match the naming scheme associated with that type, the detection accuracy can be estimated to be lower than if the naming scheme matched the naming scheme associated with that type.
[0111] In the example, validation, specifically determining the estimate of prediction accuracy, involves identifying copies of the detected component's name, particularly copies inconsistent with the reference dataset. For example, in some cases, the name in the reference dataset may be unique. In this case, a copy of the detected name indicates an error. In other cases, the name may not be unique in the reference dataset, but a copy of the detected name may not exist in the reference dataset. This may also indicate an error. Therefore, in both cases, the estimated prediction accuracy may be lower compared to a copy of the detected component's name that is either nonexistent or matches a copy in the reference dataset.
[0112] In the example, validation, specifically determining the estimate of prediction accuracy, includes determining, based on a reference dataset, whether the variant of the detected component's name, based on character modifications and / or semantic variations of the name, matches the candidate component name in the reference dataset. For example, there might be visually similar but easily misdetected characters, such as numbers or letters, like "O" and "0". Similarly, similar concepts might have different names (e.g., "full" or "high" for fill levels). Visual or semantic similarity can be iteratively modified, for example.
[0113] In the example, validation, specifically determining the estimate of prediction accuracy, includes determining whether, in the case that the name of the detected component does not match the name of a candidate component in the reference dataset, the name of the detected component and / or the known interrelationships between the component type and other components are retrieved, and whether the presence of another detected component supports the potential presence of the detected component based on the interrelationships.
[0114] In the example, verification, specifically determining the estimate of prediction accuracy, includes determining, based on a reference dataset, whether the component type of the detected component, optionally provided by the AI module or obtained from the output of the AI module, matches the component type in the reference dataset, specifically whether both the name and component type of the detected component match the candidate components in the reference dataset.
[0115] In the example, validation, specifically determining the estimate of prediction accuracy, includes determining it based on a reference dataset.
[0116] In the example, validation, specifically determining an estimate of prediction accuracy, includes determining, based on a reference dataset, whether the type of the detected component matches the attributes associated with the component type described in the reference dataset.
[0117] In the example, validation, specifically determining the estimate of prediction accuracy, includes determining, based on a reference dataset, whether the detected process-related attributes, such as the detected alarm level and / or signal level, exist in the reference dataset.
[0118] In the example, the verification, specifically the determination of the estimate of prediction accuracy, includes determining, based on a reference dataset, whether the combination of detected components and detected alarm levels matches the combination of candidate components and alarm levels in the reference dataset.
[0119] In the example, validation, specifically determining the estimate of prediction accuracy, includes determining the name of the detected component based on a reference dataset, determining whether a match is found in the reference dataset based on the name of the detected component, determining the component type of the detected component, and determining whether a match is found in the reference dataset based on the component type. Optionally, validation, specifically determining the estimate of prediction accuracy, includes determining, based on a reference dataset, an alarm and / or signal level associated with the detected component, and determining whether a match is found in the reference dataset based on the alarm and / or signal level.
[0120] Figure 2a and Figure 2b It is in the case of handwritten user comments. Figure 2b In this case, an exemplary representation of engineering data is given in the form of a process diagram, specifically a P&ID (only a portion of the corresponding complete diagram is shown). This illustrates the potential input data for the AI module and particularly highlights the potential challenges faced when processing said input data automatically, namely, the potential presence of handwritten annotations, deletions and replacements, blurred lines, and the tight arrangement of combined elements, text, and symbols, etc.
[0121] Figure 3 A data processing system 1 according to this disclosure is shown, which includes components for performing the methods of this disclosure (e.g., one of the methods described above), such as a processing component, such as a processor 1a. A memory 1b may be provided as part of and / or connected to the processing system. A reference dataset may be stored in the memory and may be accessed by a verification module.
[0122] Optionally, system 1 may include or be connected to user output device 2, such as a display, and / or data acquisition device 3, such as a scanner or camera. An exemplary data connection 4 is shown, which may be wired or wireless, for example.
[0123] For illustration at processor 1a, AI module 5 and verification module 6 are also shown. However, it should be understood that one or both of AI module 4 and verification module 5 can be executed by multiple processors, for example, in a distributed system.
[0124] The following will refer to Figure 2a and Figure 4 Further features and advantages will be described.
[0125] In the following text, "label" or "label name" will sometimes be mentioned. The term "label name" can be used interchangeably with "name". Typically, label names are unique and used as identifiers. It should be noted that engineering tools often use additional internal IDs (such as GUIDs or numbers), which may be unique. Therefore, the methods disclosed herein may not require that label names be unique. This can make renaming / importing, etc., easier.
[0126] Engineering data is typically obtained as PDFs, especially graphical data such as P&ID (Pipes and Instrumentation Diagrams) or SCD (System Control Diagrams), and may even be obtained from scans of paper documents. Therefore, automatically retrieving information from engineering data is challenging.
[0127] In many cases, at least some of the data related to engineering data will be available in character-based form, such as text-based forms, for control descriptions, or in tabular form (e.g., in Excel or CSV format), such as for labels or signal / IO lists. Such data can be used as reference data as described in this article.
[0128] In some examples, the symbols in P&ID are associated with tags in the tag list, typically matching the tag name. When using a signal / IO list instead of a tag list (or in addition to a tag list), the tag name can be included in the signal or IO list, or the name of the corresponding tag can be part of the signal name (e.g., the signal name has an additional suffix).
[0129] There is a need to make engineering data, including graphical data, available for its automated processing, especially for creating control software, etc. Ideally, the engineering data can be input into the engineering system for such processing.
[0130] This disclosure employs an AI module capable of processing engineering data, including graphic engineering data.
[0131] However, the AI module's output may be erroneous or uncertain for certain data segments (e.g., detection of specific symbols). The AI confidence level can depend on the symbol type within P&ID, such as a particular valve type. In other words, the confidence level can depend on the type used. For example, some types may be very rare, while others may be very common. Symbols may vary slightly depending on the tools used and / or European and US standards. Therefore, different confidence levels can be expected depending on the symbol type.
[0132] The confidence level can also depend on the quality of the input image. For example, the AI model may have more or less difficulty in “matching” the current set of symbols (for that particular plant) with the (standard) symbols (from the list above) based on quality. For instance, symbol detection itself may then produce more / less confident results (e.g., if the symbols are slightly tilted / distorted), and characters may be more difficult to identify correctly (e.g., reading “0” where it should be).
[0133] In the example, this disclosure allows the use of a list of labels and their combination with AI-based detection by P&ID. This, for example, enables an increase in confidence levels. Consequently, the results are more reliable, and furthermore, less user interaction is required for calibration.
[0134] More specifically, using AI to read data included in typical P&ID (or other types of engineering data) is error-prone. Therefore, processing this data may not produce sufficient reliability, or require considerable user interaction to allow for adequate reliability. For example, users may have to examine results, such as detected symbols / labels with their label numbers, and take corrective actions. In some cases, an uncertainty level can be provided to the results, and when the uncertainty level is insufficient, such as not exceeding a certainty threshold, user intervention can be requested. Confidence levels can be provided to the user along with the detection results, and the user can selectively intervene based on this, for example, focusing on less reliable data.
[0135] While providing a confidence level allows for fairly targeted user intervention, depending on the available resources, a large number of results may fall below that level. Therefore, numerous user interventions are required, reducing overall efficiency. Furthermore, the significant amount of human intervention makes the overall methodology more prone to error.
[0136] The method disclosed herein, specifically for verification, can be used to address this challenge, particularly for using reference data to verify the results output by the AI module. This can help to better identify results that are more likely to be erroneous, while reducing uncertainty related to other results. The confidence level of the results can be adjusted during the verification process to reduce the number of user interventions where possible by increasing the confidence level, where the reference data supports the output of the AI module.
[0137] For example, the methods disclosed herein can increase the confidence level of the results, such as the detected graphic symbols (optionally including textual information) detected by the AI module (similar to the representation of labels in P&ID).
[0138] The method disclosed herein may consider another data source (reference data) to increase the confidence level of results, such as symbol detection.
[0139] For example, another data source could be a table-based list of IO / signals or a list of tags.
[0140] Depending on the type of symbol, the label will appear in both the P&ID and the label (or IO / signal) list. Note that "list" is used only as a possible example and is not a restriction on the data type. For example, reference data can be included in a tabular format, such as a table with columns specifying the signal or IO list and columns specifying the label, which is configured to indicate which label the IO signal belongs to.
[0141] Because reference data (e.g., a list of tags) is typically retrieved in a digital, computer-readable, character-based format (e.g., as an Excel spreadsheet, database, CSV file, XML, JSON, or AAS (Asset Management Shell)), virtually no errors are expected when reading the reference data (e.g., detecting tag names). The data can be processed directly in numeric formats. Therefore, due to the high reliability of reading the reference data, it is suitable for increasing overall confidence.
[0142] For example, if the AI module detects a transmitter with the name "PT-61850" in P&ID and the method also looks for a valve with the name "PT-61850" in the tag list, this can increase the confidence in correctly finding the tag in P&ID.
[0143] Conversely, if a tag named "PT-67850" is searched in P&ID but does not appear in the tag list, it is likely an error. The method disclosed herein can indicate this to the user. Alternatively or additionally, the method can check potentially suitable tags, for example, because there is only one (or a few) (or more) errors, which may even be similar numbers / letters (e.g., "I" or "1"). The algorithm can present the user with several options (e.g., the tag does not exist, the tag does exist and can be from a list of fitted tags (considering constraints such as existence in the tag list, fit type, etc.), manual correction of the tag name).
[0144] The method disclosed herein can synergistically combine AI-based analysis of engineering data with verification based on character-based reference data, such as in text or table-based formats.
[0145] For example, the method may allow the detection of AI-based modules using a table-based / tabular format to validate (and optionally add confidence level graphical symbols (or other graphical artifacts)) that have their names (e.g., tag names or signal names) or identifiers (e.g., other identification components) in P&ID (or SCD).
[0146] The method disclosed herein allows for comparisons beyond (in some cases manually) simple comparisons between label names. It can consider more aspects, such as alert level, dual labels, consistency with other labels, etc.
[0147] The method disclosed herein allows for the automatic adaptation of confidence levels to data quality, for example, particularly for brownfield plants in two formats (charts and table-based formats) that are only available in paper versions.
[0148] The method disclosed herein can allow for increased overall accuracy of results, particularly confidence, thereby reducing the need for user interaction.
[0149] Combining the AI module's output with reference data in the verification step can be accomplished using deterministic methods. Alternatively, at least in part, verification can also involve using AI-based methods. For example, such AI-based methods can be employed to automatically adjust the reference data or retrieve more reliable information from it. For instance, such AI-based methods can be used to accommodate slightly different list-based formats, different column orders and names, combined or separated information in different columns, etc. Similarly, natural language processing can be used to interpret semantic variations such as "increased stress," "intensified stress," "rising stress," or "increased pressure," all of which semantically imply very similar concepts / things and can therefore be considered and processed as "the same."
[0150] As part of or based on the verification step, this method may allow, for example, suggestions for corrections to identified errors and / or automatic corrections to be performed based on fitted labels retrieved from a list of labels.
[0151] In the example, engineering data can be processed by different agents or modules that are part of an Engineering Data Funnel (EDF). This Engineering Data Funnel allows data to be viewed and distributed based on the content and format processed by the agents or modules.
[0152] Some agents / modules, such as the AI module described in this article, can be configured to read P&ID. Other modules / agents can be configured to read lists of signals / tags and / or alerts.
[0153] The signal / tag list and / or alarm list includes data in a character-based format (such as Excel, database, or CSV). Therefore, the likelihood of errors is significantly lower than in a PDF image, such as in a P&ID file. The tag name can be given in one of the first columns of the tag or signal list, making it particularly easy to read. Therefore, the tag name can be retrieved easily and reliably. In addition to the tag name, associated type names and / or alarm values can be provided, for example, in different columns of a table.
[0154] The verification module may employ reference data, which may include a list of signals / tags and / or a list of types and / or alarms, to verify the analysis of P&ID output using information retrieved from the list of signals / tags and / or types and / or alarms. For example, this can be used to adjust the confidence level of the P&ID analysis output and / or correct errors in the output and / or prompt user actions.
[0155] Since the P&ID typically includes information about the tag type (e.g., transmitter, valve, pump) in addition to the tag name, the verification module can utilize all of this data. Besides the tag name and type, alarm values can be indicated in the P&ID and can be used by the verification module. Information about the structure of the industrial system / process can be used by the verification module, for example, if a tag name is found on the P&ID but has a completely different location in the functional structure than other tags. This may indicate an error.
[0156] As shown below, the label name, label type, and alarm value can be used individually or in combination for verification.
[0157] In addition to using the tag name for string comparison with the output from the AI module, it can also be used for one or more of the following: checking the presence of the name in the tag list, checking whether the position / functional area of the tag corresponds between the list and P&ID, checking the naming scheme (e.g., whether the naming scheme is applied correctly), checking whether the type conforms to the naming scheme, checking for double tags, checking for slight variations in the "tag" (e.g., the variations of PT-61850' in the P&ID document gradually increase, i.e., first only changing one letter / character, for example, first changing the most common letter / character (such as "I and 1", or "3 and 5"), then two letter variations, etc.)).
[0158] OCR in P&ID can generate probabilistic combinations of characters, which can then be combined / compared with deterministic labels / names in a signal list.
[0159] For example, P&ID scan OCR produces the label "184", where
[0160] - The first char can be 1=70%prob or 7=28%prob;
[0161] - The second char can be 8=55% or 3=40%.
[0162] - The third character can be 4 = 99%
[0163] (In particular, for brownfield plants, OCR will be subject to a high degree of uncertainty).
[0164] Then, if the list of labels only shows "734", then we can conclude that the first character is "7" (instead of 1), the second is "3" (instead of 8), and the last is "4".
[0165] If the tag list in the appendix contains the tag "134", that tag list will be more likely and therefore placed at the top for correction. The tag "784" is less likely to be corrected than "134", but still more likely to be corrected than "734", so it is placed in the second position for correction.
[0166] Therefore, name-based verification alone is sufficient to solve the error detection problem.
[0167] Another example is how validation can allow for the resolution of naming discrepancies, as shown below. It's possible that in one document, such as the reference data and P&ID data, a component might (appear) be identified by the tag name "LToo12" (where the "00" character might be incorrectly identified due to a poorly performing OCR algorithm), and in another document, the same component might (correctly) be identified as "LT 0012". Validation can allow for the correction of this discrepancy, thus determining whether the component matches in the two documents.
[0168] The AI module can output the type, for example, based on the detection of symbols in the P&ID. For verification, the type name from a list of tags / signals can be used. The type name can be specifically provided in the list, for example, in its own column. Alternatively or additionally, the type can be obtained from a pattern of tag names (e.g., tag names for flow transmitters begin with "FT"). A mapping for specific devices or device types can be used (e.g., PT100 for temperature transmitters). For example, if this information is not included in the tag list, a list of instruments / devices (or a list of motors and components) can be added to the reference data, which is beneficial for the algorithm. Alternatively or additionally, the type can be obtained via attributes / parameters (such as alarm values) and / or via physical connections or signals (e.g., analog outputs can indicate control valves or actuators / pumps).
[0169] Once a tag type is retrieved, one or more checks can be performed to verify that the found tag matches the tag output by the AI module by processing the P&ID. For example, the checks may involve checking whether the tag type matches (the type from the tag list and the symbol from the P&ID processed by the AI module), whether the tag type output by the AI module matches the naming scheme, and whether the tag type output by the AI matches other attributes in the tag list.
[0170] Depending on the label type, it is necessary to consider that some labels may not appear in the label list, for example, if they are passive labels, such as tanks, containers, or manual valves. To verify the correct detection of such labels (e.g., tanks), associated elements (e.g., horizontal transmitters) with similar names (e.g., in the same area / with the same number or prefix) can be looked for.
[0171] When an alarm value is indicated in P&ID, such as Figure 2a As shown (for alarms with temperature indices TI-105 (H / L) and TI-104 (HH) respectively), these can also be used to match labels in a label list. For example, a signal list or additional alarm list can include alarms and their possible values.
[0172] Using alarm values, verification can check the presence of alarms indicated by P&IDs output by the AI module from the signal / tag list or alarm list, and / or the absence of other alarms not indicated by P&IDs in the signal / tag list or alarm list.
[0173] As already mentioned, the verification module (or verification algorithm) can be deterministic and / or AI-based. In the example below, a fairly deterministic approach is described for illustrative purposes.
[0174] In this example, the label name can be matched, optionally before other validation steps, such as the match type.
[0175] This can be done through string comparison. Therefore, the name can be trimmed (whitespace is removed from the end).
[0176] Even if a tag name is detected incorrectly, the method can still detect that the erroneously detected tag exists in another location. To mitigate the impact of this undetected error, verification can check if a tag appears twice on the P&ID, but only once in the tag list. If so, one of the tag detections from the P&ID may be incorrect, and in response, the user can be prompted to select the appropriate tag.
[0177] Validation can also include semantic comparisons; for example, when viewing alerts, "high" / "low" alerts can be semantically similar to "critical" / "non-critical" alerts. For instance, suitable NLP algorithms can be used to find similarities / maps in these mappings (as opposed to deterministic / direct mappings).
[0178] Validation may optionally include checking whether the label name conforms to the naming scheme.
[0179] Verification may optionally include using information about the expected location or functional unit (such as system-region-unit) derived from the label name. This information can be used to determine the likelihood of the label's correctness.
[0180] Similar to label names, the type can also be checked according to the above criteria, for example, after performing a check on the label name.
[0181] In addition, for example, after performing checks on the label name and / or type, the presence of horizontal alerts can be checked.
[0182] Performing different checks allows for more accurate identification of errors.
[0183] For example, while a mismatch in label types might more accurately indicate an error in P&ID's label type detection, a mismatch in alarm values might more accurately indicate only an inconsistency in the provided data. Here, the verification module can be configured to weight the information.
[0184] In cases where alert information is also used and the existence of an alert matches (among other criteria), the confidence level can be increased, for example, to 100% or close to 100%.
[0185] Some optional additional steps may be included individually or in combination.
[0186] For example, the method could include categorizing tags based on a specific structure (e.g., system-region-unit). This structure could be given in the P&ID (either in the metadata section or based on the naming of tags (or most tags) on the graph). This structure could also be given in one or more columns of the tag list. If the structure exists in both formats, this information should be included in the comparison of the detected tags. This minimizes the detection of incorrect tag names that might unexpectedly exist in another part of the plant.
[0187] As another example, verification can include considering label types, such as valves, transmitters, or pumps. Since these have different symbols in P&ID, the AI module can also detect the type. The label list in the reference data can have columns for the label types that can be used for verification. If no direct column exists in the label list, the label naming can be used to make the detection more reasonable, as the naming often includes some kind of indication of the type (e.g., "PT-1234" for pressure transmitters, depending on the naming scheme used).
[0188] This method can employ a foundational knowledge database or information model. For example, it could allow providing notable typical / frequently occurring "similarity" (e.g., "increased stress" or "stress rising"; "high / critical alert," etc.), or by providing a set of synonyms to know when searching / reading column names in a table file containing a list of tags (to avoid searching for the name "alert," which the corresponding client refers to as "alert specification," for example). As another example, multilingual translation of words / concepts could be employed, for instance, to also handle data presented in different languages.
[0189] This method can save user corrections and / or typical instructions for processing / adapting EDF data for use with EPC data from a plant. Therefore, when future versions of EPC data from the same plant arrive, these manual corrections and / or data processing / adaptation instructions can be reused. This allows for the avoidance of repeating previous errors.
[0190] As an example illustrating the above explanation, the AI module can detect a transmitter with the name "PT-61850" in the P&ID, and the method can search for a valve with the name "PT-61850" in the tag list during verification. In this case, the method can increase the confidence that the tag is correctly found in the P&ID. Conversely, if a tag with the name "PT-67850" is searched in the P&ID but does not appear in the tag list, it is likely an error.
[0191] Verification of this disclosure may include searching for progressively increasing variations in the P&ID document, such as variations in PT-61850, i.e., first changing only one letter / character, such as first changing the most common letter / character (e.g., "I and 1" or "3 and 5"), then changing combinations of two letter variations, etc.
[0192] Typically, the confidence values of the data considered in the methods of this disclosure can be used to determine the confidence level. For example, different data sources, such as different agents and their underlying models or algorithms, can be assigned basic confidence values, which may depend on, for example, the input format (e.g., text or pdf), document type, client and segment type, and other possible criteria.
[0193] The potential outputs of the method and system may include a structured list or other type of representation of the symbols (and possibly connections) being searched, optionally along with confidence scores.
[0194] As an alternative or supplement to providing the output as a list, the output can be provided as an overwrite of P&ID, such as Figure 4 As shown.
[0195] For user interaction, different confidence levels for different symbols / labels can be provided, for example as a color overlay map, where color indicates relatively low confidence and green indicates high confidence.
[0196] In cases where only a few labels with medium or low confidence levels are identified, the output may only display P&IDs that include these labels with medium or low confidence levels, or users may click to view a list of the corresponding P&IDs that use the labels.
[0197] While this disclosure has been detailed and described in the accompanying drawings and foregoing description, such description and illustration are to be considered exemplary rather than limiting. This disclosure is not limited to the disclosed embodiments. In view of the foregoing description and drawings, it will be apparent to those skilled in the art that various modifications can be made within the scope of this disclosure as defined by the claims.
Claims
1. A method for analyzing the configuration of an industrial system and / or the industrial process by analyzing graphical engineering data representing the industrial system and / or the industrial process, the method comprising: Graphical engineering data representing industrial systems and / or industrial processes is input (S1) into the AI module, the engineering data including graphical elements representing components of the industrial system and / or graphical elements representing process-related attributes of the components of the industrial system; The AI module processes (S2) the graphical engineering data, the processing including: the AI module detecting one or more component and / or process-related attributes represented by the graphical elements included in the engineering data; Provide the verification module with (S3) the detected components and / or the detected process-related attributes; The verification module accesses (S4) a reference dataset, which includes character-based data representing attributes related to candidate components and / or candidate processes; and The verification module verifies (S5) the detected component and / or process-related attributes based on the candidate component and / or the candidate process-related attributes.
2. The method of claim 1, wherein the AI module is configured to: output a character-based, particularly text-based, representation of the detected component and / or process-related attributes, such as a name identifying the detected component and / or process-related attributes, and optionally output a confidence level associated with each prediction.
3. The method according to any one of the preceding claims, wherein the verification includes: Specifically, deterministic and / or AI-based estimates of the predictive accuracy for the detected component and / or process-related attributes, based on the reference dataset.
4. The method according to any one of the preceding claims, wherein the verification, particularly determining the estimate of the prediction accuracy, comprises: The presence of the detected component and / or process-related attributes in the reference dataset is determined based on the reference dataset.
5. The method according to any one of the preceding claims, wherein the verification, particularly determining the estimate of the prediction accuracy, comprises: Based on the reference dataset, determine whether the combination of the detected component and the detected process-related attributes of the component matches the combination of the candidate component and the detected process-related attributes of the component in the reference dataset.
6. The method according to any one of the preceding claims, wherein the character-based data representing candidate component and / or candidate process related attributes includes at least one of the following: the name of the candidate component, operating parameters associated with the candidate component, signal level associated with the component, alarm level associated with the component, potential relationship between the candidate component and one or more other components, classification of the candidate component, particularly the type of the candidate component, and the region of the industrial system where the candidate system can be adopted.
7. The method according to any one of the preceding claims, wherein the verification, particularly determining the estimate of the prediction accuracy, comprises: Based on the reference dataset, determine at least one of the following: Whether the name of the detected component matches the name of a candidate component in the reference dataset, and optionally, if so, whether the location and / or functional area of the detected component corresponds to the location and / or functional area of the candidate component. Whether the name of the detected component matches a predetermined naming scheme used in the reference dataset. Does the name of the detected component match the naming scheme of the component type associated with the detected component? Does the name of the detected component exist as a duplicate, particularly a duplicate that is inconsistent with the reference dataset? The detected variant of the component's name, based on modifications to the characters of the name and / or semantic variations of the name, is determined to match candidate component names in the reference dataset. If the name of the detected component does not match the name of a candidate component in the reference dataset, whether to retrieve the known interrelationships between the name and / or type of the detected component and other components, and determine, based on the interrelationships, whether the presence of another detected component supports the potential presence of the detected component.
8. The method according to any one of the preceding claims, wherein the verification, particularly determining the estimate of the prediction accuracy, comprises: Based on the reference dataset, determine at least one of the following: Whether the component type of the detected component matches the component type in the reference dataset, optionally provided by the AI module or obtained from the output of the AI module, whether the component type of the detected component matches the component type in the reference dataset, specifically whether both the name and the component type of the detected component match candidate components in the reference dataset. Whether the component type of the detected component matches the attributes in the reference dataset associated with the component type.
9. The method according to any one of the preceding claims, wherein the verification, particularly determining the estimate of the prediction accuracy, comprises: Based on the reference dataset, determine at least one of the following: Determine whether the detected process-related attributes, such as the detected alarm level and / or signal level, exist in the reference dataset, and / or whether the combination of the detected component and the detected process-related attributes, such as alarm level, matches the combination of candidate components and process-related attributes, such as alarm level, in the reference dataset.
10. The method according to any one of the preceding claims, wherein the verification, particularly determining the estimate of the prediction accuracy, comprises: Based on the reference dataset, the following is determined: The name of the detected component is determined, and based on the name of the detected component, it is determined whether a match is found in the reference dataset. The component type of the detected component is determined, and based on the component type, it is determined whether a match is found in the reference dataset. Optionally, an alarm and / or signal level associated with the detected component can be determined, and a match can be determined in the reference dataset based on the alarm and / or signal level.
11. The method of claim 10, comprising: In the event of a mismatch between the determination based on the name, the determination based on the component type, and the determination based on the alarm and / or signal level, a prompt (S6) is provided to address the mismatch through further analysis and / or to warn the user and / or to reduce the confidence level of the prediction relative to the initial estimate of prediction accuracy, and / or If there is a match between the determination based on the name, the determination based on the component type, and the determination based on the alarm and / or signal level, increase the confidence level of the prediction relative to the prediction accuracy of the initial estimate.
12. The method according to any one of the preceding claims, wherein the verification is performed iteratively, particularly comprising: After determining that the name of the detected component does not match the name in the reference dataset, the name of the detected component is automatically modified, and it is determined whether the modified name of the detected component matches the name in the reference dataset, wherein the modification is performed iteratively to gradually reduce the similarity between the initial name and the modified name until a stopping criterion is met or a match is found.
13. The method according to any one of the preceding claims further comprises: The detected component and / or process-related attributes are used to generate (S7) a representation of the engineering data, and / or control logic is generated based on the detected component and / or process-related attributes, particularly based on the representation of the engineering data generated using the detected component and / or process-related attributes.
14. A data processing system (1) comprising one or more processing components (1a) configured to perform the method according to any one of claims 1 to 13.
15. A computer program product comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 13.
16. A computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 13.