Method, apparatus, device and medium for presenting architecture of industrial control system
The visualized topology map with scalable layers in industrial control systems addresses the challenge of complex component associations by automating DRT analysis, providing a clear and efficient interface for users to analyze and optimize control loops.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-25
AI Technical Summary
Existing industrial control systems lack a clear and efficient method to visualize the overall topology and association among control components, making it difficult for users to analyze demand response time (DRT) and requiring manual configuration of devices and control variables, which is time-consuming.
A method and apparatus for presenting the architecture of an industrial control system using a visualized topology map with scalable layers, allowing users to automatically determine and analyze DRT by configuring devices and channels, and providing a zoomable interface to view detailed or comprehensive system information.
Enables rapid and intuitive presentation of industrial control system architecture, facilitating quick identification of DRT and control loops, simplifying the process of determining DRT performance, and automating the retrieval of configuration data.
Smart Images

Figure CN2024140386_25062026_PF_FP_ABST
Abstract
Description
METHOD, APPARATUS, DEVICE AND MEDIUM FOR PRESENTING ARCHITECTURE OF INDUSTRIAL CONTROL SYSTEMFIELD
[0001] Embodiments of the present disclosure generally relate to the field of computer technology and in particular, to a method, an apparatus, an electronic device, a computer-readable medium and a computer program product for presenting an architecture of an industrial control system.BACKGROUND
[0002] An industrial control may refer to an industrial automatic control. The industrial control can be implemented using a combination of electronics, machinery, and software. It can cover industrial applications in a wide range of fields, for example, manufacturing, energy production, water treatment, traffic management and so on. The industrial control can use computer technology, microelectronics technology and electrical components to make the factory's production and manufacturing processes more automated, efficient, precise, controllable and visible.
[0003] The industrial control technology improves the production speed and efficiency of factories. The industrial control system may comprise computers and industrial process control components (such as controllers, sensors, and the like) . The industrial process control components are connected through industrial communication lines to form an industrial control system with automatic control capabilities.SUMMARY
[0004] In general, various example embodiments of the present disclosure provide a method, an apparatus, an electronic device, a computer-readable storage device, and a computer program product for presenting an architecture of an industrial control system.
[0005] In a first aspect, it is provided a method for presenting an architecture of an industrial control system. The method comprises obtaining a plurality of configurations for configuring a plurality of devices in the industrial control system, wherein the plurality of configurations are used to configure input channels and output channels associated with the plurality of devices and a plurality of control parameters of the plurality of devices. The method further comprises determining an association among the plurality of devices in the industrial control system based on the plurality of configurations. The method further comprises presenting the association among the plurality of devices in the industrial control system in a visualized topology map, wherein the visualized topology map includes a plurality of scalable layers.
[0006] In a second aspect, it is provided an apparatus for presenting an architecture of an industrial control system. The apparatus comprises an obtaining module configured to obtain a plurality of configurations for configuring a plurality of devices in the industrial control system, wherein the plurality of configurations are used to configure input channels and output channels associated with the plurality of devices and a plurality of control parameters of the plurality of devices. The apparatus further comprises a determining module configured to determine an association among the plurality of devices in the industrial control system based on the plurality of configurations. The apparatus further comprises a presenting module configured to present the association among the plurality of devices in the industrial control system in a visualized topology map, wherein the visualized topology map includes a plurality of scalable layers.
[0007] In a third aspect, it is provided an electronics device. The electronics device comprises a processor; and a memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the device to execute actions of the first aspect.
[0008] In a forth aspect, it is provided a computer-readable medium. The computer-readable medium comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the first aspect.
[0009] In a fifth aspect, it is provided a computer program product. The computer program product comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the first aspect.
[0010] It is to be understood that the Summary is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become readily comprehensible through the description below.DESCRIPTION OF DRAWINGS
[0011] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an example and in a non-limiting manner, wherein:
[0012] FIG. 1 illustrates a schematic diagram of an example environment in which a plurality of embodiments of the present disclosure can be implemented;
[0013] FIG. 2 illustrates some example programming scripts in accordance with some embodiments of the present disclosure;
[0014] FIG. 3 illustrates an example visualized topology map presented in an overview map in accordance with some embodiments of the present disclosure;
[0015] FIG. 4 illustrates an example zoom-in map in accordance with some embodiments of the present disclosure;
[0016] FIG. 5 illustrates another example zoom-in map with a control loop in accordance with some embodiments of the present disclosure;
[0017] FIG. 6 illustrates an example zoom-in map with a demand response time (DRT) analysis in accordance with some embodiments of the present disclosure;
[0018] FIG. 7 illustrates a flowchart of an example method for presenting an architecture of an industrial control system in accordance with some embodiments of the present disclosure;
[0019] FIG. 8 illustrates a block diagram of an example apparatus for presenting an architecture of an industrial control system in accordance with some embodiments of the present disclosure; and
[0020] FIG. 9 illustrates a block diagram illustrating an electronic device in accordance with some embodiments of the present disclosure.
[0021] Throughout all the drawings, the same or similar reference numerals represent the same or similar elements.DETAILED DESCRIPTION OF EMBODIMENTS
[0022] Principles of the present disclosure will now be described with reference to several example embodiments shown in the drawings. Though example embodiments of the present disclosure are illustrated in the drawings, it is to be understood that the embodiments are described only to facilitate those skilled in the art in better understanding and thereby achieving the present disclosure, rather than to limit the scope of the disclosure in any manner.
[0023] The term comprises "or" includes "and" its variants are to be read as open terms that mean "includes, but is not limited to" . The term "or" is to be read as "and / or" unless the context clearly indicates otherwise. The term "based on" is to be read as "based at least in part on" . The term "being operable to" is to mean a function, an action, a motion or a state can be achieved by an operation induced by a user or an external mechanism. The term "one embodiment" and "an embodiment" are to be read as "at least one embodiment" . The term "another embodiment" is to be read as "at least one other embodiment" . The terms "first" , "second" , and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.
[0024] The functions or algorithms described herein may be implemented in software in one embodiment. The software may consist of computer executable instructions stored on computer readable media or computer readable storage device such as one or more non-transitory memories or other type of hardware-based storage devices, either local or networked. Further, such functions correspond to modules, which may be software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system, turning such computer system into a specifically programmed machine.
[0025] The functionality can be configured to perform an operation using, for instance, software, hardware, firmware, or the like. For example, the phrase "configured to" can refer to a logic circuit structure of a hardware element that is to implement the associated functionality. The phrase "configured to" can also refer to a logic circuit structure of a hardware element that is to implement the coding design of associated functionality of firmware or software. The term "module" refers to a structural element that can be implemented using any suitable hardware (e.g., a processor, among others) , software (e.g., an application, among others) , firmware, or any combination of hardware, software, and firmware. The term "logic" encompasses any functionality for performing a task. For instance, each operation illustrated in the flowcharts corresponds to logic for performing that operation. An operation can be performed using, software, hardware, firmware, or the like. The terms, "component" , "system" , and the like may refer to computer-related entities, hardware, and software in execution, firmware, or combination thereof. A component may be a process running on a processor, an object, an executable, a program, a function, a subroutine, a computer, or a combination of software and hardware. The term, "processor" may refer to a hardware component, such as a processing unit of a computer system.
[0026] The terms "a" or "an" as used herein, are defined as one or more than one. Also, the use of introductory phrases such as "at least one" and "one or more" in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim element to disclosures containing only one such element, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" . The same holds true for the use of definite articles.
[0027] Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computing device to implement the disclosed subject matter. Computer-readable storage media can include, but are not limited to, magnetic storage devices, e.g., hard disk, floppy disk, magnetic strips, optical disk, compact disk (CD) , digital versatile disk (DVD) , smart cards, flash memory devices, among others. In contrast, computer-readable media, i.e., not storage media, may additionally include communication media such as transmission media for wireless signals and the like.
[0028] As discussed above, the industrial control system may comprise a lot of control components and the control components are connected through industrial communication lines. Usually, the user individually configures each component and its control variables in different configuration pages (or windows) . That is, there are many programming scripts for different components. Therefore, it is hard to know the overall topology and the association among the control components. Further, if the user want to analyze the demand response time (DRT) of his / her interested control loop, then it is different for the user to do so.This is because the devices and their control variables are configured individually in different configuration pages by the user, and it costs a lot of time to figure out what devices are on the control loop. Hence, there is a need to quickly and automatically present an architecture of an industrial control system to users.
[0029] Therefore, the present disclosure proposed a solution for presenting an architecture of an industrial control system. By implementing the proposed solution, the architecture of an industrial control system can be presented clearly to users automatically and rapidly in a visualized manner. In some example embodiments, a DRT of a target control loop can be determined and analyzed automatically in the visualized manner.
[0030] Reference is made to FIG. 1, which illustrates a schematic diagram of an example environment 100 in which a plurality of embodiments of the present disclosure can be implemented. The example environment 100 is only illustrated and is not intended to suggest any limitations as to scope of use or functionality of embodiments of the disclosure described herein.
[0031] As shown in FIG. 1, the example environment 100 may comprise a computing device 104. An example of the computing device 104 may be a server or a computer. On the computing device 104, there may be installed with a software for presenting an architecture of an industrial control system. Other software may also be installed on the computing device 104 and may provide the similar functionality.
[0032] The computing device 104 may receive some user inputs. For example, the computing device 104 may receive a plurality of programming scripts 102 from a user. The user may edit the programming scripts 102 to configure one or more control components of the industrial control system. For example, the user may open a configuration window for configuring a fan of an air conditioner. Specifically, the user may temperature variables for the fan, and the user may also configure the input channel and output channel for the fan. The user may further configure what other devices should be connected to the fan and what is the controller for the fan.
[0033] After receiving the programming scripts 102, the computing device 104 may extract and obtain a plurality of configurations 108 for configuring a plurality of devices in the industrial control system based on the programming scripts 102. After obtaining the plurality of configurations 108, the computing device 104 may determine an association 110 among the devices in the industrial control system. For example, the computing device 104 may analyze the plurality of configurations 108 and find out a topology of all the configured devices in industrial control system. The topology may be like a tree map, and it has parent nodes, child nodes and grandchild nodes and so on. A node may represent a device, and an edge may represent a connection between two nodes. Each node has its runtime statuses, values or diagnosis information and so on. The association 110 among the devices in the industrial control system may comprises one or more items of the above.
[0034] After determining the association 110 among the devices in the industrial control system, the computing device 104 may present the association 110 to the user in a in a visualized manner. For example, the computing device 104 may present a visualized topology map 106 to the user. The topology map 106 may comprise a plurality of scalable layers such that it can be zoomed in and / or zoomed out. If the user is interested in a part of the topology map 106, the user can zoom in the topology map 106 to view the details. If the user want to see an overview of the topology map 106, then the user can zoom out the topology map 106.
[0035] Reference is made to FIG. 2, which illustrates some example programming scripts 200 in accordance with some embodiments of the present disclosure. As known, a programming script in the industrial control systems may refer to codes which are used to create and edit automation system programs. The programming script is used in the field of industrial automation to achieve precise control of machines, production lines or industrial processes by writing and modifying programs. For example, a programmable logic controller (PLC) script programming is a typical example, which involves key tasks such as input instructions, processing logic and output control signals to ensure that machinery and processes work as expected. In addition, high-level programming languages such as C language and Python are also commonly used in script programming in the industrial control system to achieve more complex automation control and data processing tasks.
[0036] As shown, the user may define a variable X in the programming script 202 in an individual programming window, and the user may define a variable Y in the programming script 204 in another individual programming window. In this way, although writing the codes is simple, yet it is hard to know the association between them in the case that the devices and programming script are too many.
[0037] Reference is made to FIG. 3, which illustrates an example visualized topology map 300 presented in an overview map in accordance with some embodiments of the present disclosure. As shown in FIG. 3, a visualized topology map 300 may visually represent the complete physical topology of the industrial control system. The user can zoom in the visualized topology map 300 for detailed inspections of specific components. The user can zoom out visualized topology map 300 for a comprehensive system overview. A filtering capability may enable focused visualization of target devices on a single screen. Moreover, overlaying dynamic or diagnostic data layers may provide rich, contextual information directly on the visualized topology map 300.
[0038] As shown, the visualized topology map 300 may show a controller 302 and two networks 306 and 308 connected to the controller 302. However, the details of the controller 302 are not shown in the visualized topology map 300. Similarly, the details of networks 306 and 308 are not shown. The visualized topology map 300 may further show a controller 304 and a network 310 connected to the controller 304. However, the details of the controller 304 and the network 310 are not shown in the visualized topology map 300.
[0039] In this way, a comprehensive system overview can be shown clearly, and the user can quickly know the overview of the industrial control system regardless of the detail information of the industrial control system. For example, the user may not know what devices are included in the network 306 and what services are in the controller 302. If the user is interested in knowing the details of the network 306, he / she may zoom in the area against the network 306 to view more detailed information of the network 306 in a smaller scale.
[0040] Reference is made to FIG. 4, which illustrates an example zoom-in map 400 in accordance with some embodiments of the present disclosure. When zoomed in, the network topology of a particular device may be shown, including connectors, wirings and channels. For example, the zoom-in map 400 shows the detailed information of the network 306 in a relatively smaller scale.
[0041] In the network 306, a device 402 may be connected to a device 404 and a device 406. The device 406 may be connected to the device 414. The device 404 has three input channels 408, 410 and 412. If the user would like a further more detailed view of a target device, the user may zoom in that area. The user may also zoom out the zoom-in map 400 to see a view of the industrial control system in a more general sense.
[0042] Reference is made to FIG. 5, which illustrates another example zoom-in map 500 with a control loop in accordance with some embodiments of the present disclosure. As shown in FIG. 5, the user may care about the DRT in the industrial control system. The industrial control system may be a distributed control system (DCS) . The DCS may comprise a plurality of devices and network connections requiring configuration, monitoring, and visualization. For example, the DCS shown in FIG. 5 may comprise devices 502, 504 and 506. The device 502 may be connected to devices 508 and 510. The device 508 may be connected to an input channel 514. The device 510 may be connected to an input channel 516.
[0043] The device 502 may be connected to the device 504. The device 504 may be connected to the device 506. The device 504 may be connected to a device 512. The device 512 may be connected to output channels 518, 520 and 522. The user may use the embodiments of FIG. 5 to quickly determine the DRT of the target control loop which he / she would like to analyze and identify the optimization strategies.
[0044] For example, the user may want to analyze the control loop between the input channel 514 and the output channel 520. The use may click on the input channel 514 and the output channel 520, and then the control loop between the input channel 514 and the output channel 520 may be highlighted automatically, instead of finding the control loop by the user manually. The control loop (highlighted in bold) may comprise the control components from the input channel 514 to the output channel 520.
[0045] Further, because the plurality of the configurations of the devices 502, 504, 506, 508, 510 and 512, and the input channels 514 and 516, and the output channels 518, 520 and 522 are obtained in advance, the DRT of the control loop can be determined automatically and shown, for example, the DRT 524 of the control loop. In this way, it can provide an intuitive interface that streamlines the process of determining a DRT, and thus empowering users to effortlessly assess the DRT performance and implement necessary adjustments. It also simply the difficulty of finding control loops in many devices and channels. It can further achieve an automation for retrieval and calculation of configuration data for all related devices and channels in the control loop.
[0046] Reference is made to FIG. 6, which illustrates an example zoom-in map 600 with a demand response time (DRT) analysis in accordance with some embodiments of the present disclosure. Usually, in a dense overview of the industrial control system, devices may appear clustered. By selecting input and output channels, a user can visually trace the signal path and its corresponding response time.
[0047] For example, in the zoom-in map 600, the comprehensive system overview is shown. A device 602 may be a controller in a remote cloud. The device 602 may execute two services 604 and 608. The services 604 and 608 may be software-implemented or hardware-implemented. The service 604 may comprise a computer-executable program 606. The service 608 may comprise a module for output scan 610.
[0048] The device 602 may be connected to a device 612. The device 612 may comprise a service 614. The service 614 may comprise a module for input scan 616. The computer-executable program 606 may be connected to the module for input scan 616. The device 612 may be connected to a device 618 via the module for input scan 616. The device 618 may be connected to an input channel 620. The device 602 may be connected to a device 622 via the module for output scan 610. The device 622 may be connected to an output channel 624.
[0049] As shown, each component may have a latency. For example, the latency 638 for the input channel 620 may be a preset delay time of 10μs. A preset delay time may refer to a duration of delay set by users. The latency 636 for the device 618 may be a preset delay time of 1ms. The latency 634 for the module for input scan 616 may be a time duration for scanning the signal of 16ms. The latency 630 for the computer-executable program 606 may be a time duration for scanning the signal of 100ms. The latency 632 for the module for output scan 610 may be a time duration for scanning the signal of 32ms. The latency 640 for the device 622 may be a preset delay time of 1ms. The latency 642 for the output channel 624 may be a preset delay time of 10ms. The latency for each component can be shown, and the other parameters, such as runtime statuses, values or diagnosis information, can also be shown if the user selects to present them.
[0050] As shown in FIG. 6, a DRT analysis 650 of a pie chart is shown to the user. The DRT analysis 650 of a pie chart can quantify the total delay contribution of each component within the control loop. The sectors 652, 654, 656, 658, 660, 662 and 664 may show the percentages of the latencies mentioned above. The DRT analysis 650 may also be shown in other types of forms or charts.
[0051] Further, in FIG. 6, as discussed above with reference to FIGS. 3-5, the user may zoom in to reveal details of one or more components, including associated programs and control services, while obscuring irrelevant elements. Therefore, signal path delays can be also visualized in an intuitive and visualized manner. The highlighted visualization can enable a rapid identification of control loops that fail to meet the performance criteria.
[0052] Reference is made to FIG. 7, which illustrates a flowchart of an example method 700 for presenting an architecture of an industrial control system in accordance with some embodiments of the present disclosure. FIG. 7 will be described with reference to FIG. 1. A software for presenting an architecture of an industrial control system may be installed in the computing device 104. A software for other purposes (e.g., for designing or managing the industrial control system) may also possess the functionality of presenting an architecture of an industrial control system. The method 700 may be performed by the computing device 104.
[0053] At 702, the computing device 104 obtains a plurality of configurations 108 for configuring a plurality of devices in the industrial control system (such as a DCS) . For example, the computing device 104 may receive, from a user, one or more programing scripts 102 for configuring one or more devices of the plurality of devices in the industrial control system, and the computing device 104 may determine the plurality of configurations 108 based on the one or more programing scripts 102. The plurality of configurations 108 may be used to configure input channels and output channels associated with the plurality of devices and a plurality of control parameters of the plurality of devices.
[0054] At 704, the computing device 104 determines an association 110 among the plurality of devices in the industrial control system based on the plurality of configurations 108. At 706, the computing device 104 presents the association 110 among the plurality of devices in the industrial control system in a visualized topology map 106. The visualized topology map 106 may include a plurality of scalable layers.
[0055] In some example embodiments, the computing device 104 may determine, based on the plurality of configurations 108, a plurality of control loops from the input channels to the output channels as the association 110 among the plurality of devices in the industrial control system.
[0056] In some example embodiments, the computing device 104 may receive a user input to select one or more target devices of the plurality of devices in the industrial control system, and the computing device 104 may determine a control loop among the one or more target, and the computing device 104 may present the control loop in the visualized topology map 106.
[0057] In some example embodiments, an input channel may be associated with a device, of the plurality of devices, for sampling parameters for controlling an actuator in the industrial control system. In some example embodiments, an output channel may be associated with a device as the actuator of the plurality of devices. In some example embodiments, a control parameter of the plurality of control parameters may comprise a latency of a signal passing through a device.
[0058] In some example embodiments, the computing device 104 may receive a user input to select one or more target devices of the plurality of devices in the industrial control system, and the computing device 104 may determine a latency along a control loop among the one or more target devices as a DRT, and the computing device 104 may present the DRT in the visualized topology map 106.
[0059] In some example embodiments, the latency may comprise a preset delay time. In some example embodiments, the latency may comprise a time interval of sampling the signal. In some example embodiments, the latency may comprise a time duration for scanning the signal. In some example embodiments, the latency may comprise a processing time for processing the signal. In some example embodiments, the latency may comprise one or more of the above items.
[0060] In some example embodiments, the computing device 104 may determine percentages for the components of the latency, and the computing device 104 may present the percentages for the components of the latency in a preset view.
[0061] In some example embodiments, the computing device 104 may present an overview map of the association of the plurality of devices in the industrial control system in the visualized topology map 106. In some example embodiments, the computing device 104 may present a zoom-in map based on the plurality of scalable layers if the computing device 104 receives a user input to zoom in the overview map. In some example embodiments, the computing device 104 may present a zoom-out map based on the plurality of scalable layers if the computing device 104 receives a user input to zoom out the zoom-in map.
[0062] In some example embodiments, the zoom-in map may present one or more devices in a zoom-in area of the plurality of devices and connections among the one or more devices. In some example embodiments, the zoom-out map may present one or more devices in a zoom-out area of the plurality of devices and connections among the one or more devices. In some example embodiments, the plurality of scalable layers may comprise connectors, wirings or channels presented in different scales. In some example embodiments, the industrial control system may be a DCS.
[0063] By implementing the example embodiments of the method 700, the architecture of an industrial control system can be presented clearly to users automatically and rapidly in a visualized manner. For example, a two-dimensions (2D) map view can be used to represent all elements in a physical network of an industrial control system, and by zooming-in and zooming-out, the user experience can be more intuitive and smoother because there is no need to switch between multiple windows. In some example embodiments, a highlighted signal path can be shown a complex view of the industrial control system automatically if a control loop from input to output is selected. In some example embodiments, detailed information for DRT can be collected and calculated for further analysis to help user to identify the problem automatically if the user zooms in the interest area of the topology map.
[0064] Reference is made to FIG. 8, which illustrates a block diagram of an example apparatus 800 for presenting an architecture of an industrial control system in accordance with some embodiments of the present disclosure. The apparatus 800 comprises an obtaining module 802 configured to obtain a plurality of configurations for configuring a plurality of devices in the industrial control system, wherein the plurality of configurations are used to configure input channels and output channels associated with the plurality of devices and a plurality of control parameters of the plurality of devices. The apparatus 800 further comprises a determining module 804 configured to determine an association among the plurality of devices in the industrial control system based on the plurality of configurations. The apparatus 800 further comprises a presenting module 806 configured to present the association among the plurality of devices in the industrial control system in a visualized topology map, wherein the visualized topology map includes a plurality of scalable layers.
[0065] In some example embodiments, the obtaining module 802 may comprise a first module configured to receive, from a user, one or more programing scripts for configuring one or more devices of the plurality of devices in the industrial control system; and a second module configured to determine the plurality of configurations based on the one or more programing scripts.
[0066] In some example embodiments, the determining module 804 may comprise a third module configured to determine, based on the plurality of configurations, a plurality of control loops from the input channels to the output channels as the association among the plurality of devices in the industrial control system.
[0067] In some example embodiments, the apparatus 800 may further comprise a fourth module configured to receive a user input to select one or more target devices of the plurality of devices in the industrial control system; a fifth module configured to determine a control loop among the one or more target; and a sixth module configured to present the control loop in the visualized topology map.
[0068] In some example embodiments, an input channel may be associated with a device, of the plurality of devices, for sampling parameters for controlling an actuator in the industrial control system. In some example embodiments, an output channel may be associated with a device as the actuator of the plurality of devices. In some example embodiments, a control parameter of the plurality of control parameters may comprise a latency of a signal passing through a device.
[0069] In some example embodiments, the apparatus 800 may further comprise a seventh module configured to receive a user input to select one or more target devices of the plurality of devices in the industrial control system; an eighth module configured to determine a latency along a control loop among the one or more target devices as a DRT; and a ninth module configured to present the DRT in the visualized topology map.
[0070] In some example embodiments, the latency may comprise one or more of the following components: a preset delay time; a time interval of sampling the signal; a time duration for scanning the signal; or a processing time for processing the signal.
[0071] In some example embodiments, the apparatus 800 may further comprise a tenth module configured to determine percentages for the components of the latency; and an eleventh module configured to present the percentages for the components of the latency in a preset view.
[0072] In some example embodiments, the presenting module 806 may comprise a twelfth module configured to present an overview map of the association of the plurality of devices in the industrial control system in the visualized topology map; a thirteenth module configured to present a zoom-in map based on the plurality of scalable layers in response to receiving a user input to zoom in the overview map; and a fourteenth module configured to present a zoom-out map based on the plurality of scalable layers in response to receiving a user input to zoom out the zoom-in map.
[0073] In some example embodiments, the apparatus 800 may further comprise a fifteenth module configured to present at least one of runtime statuses, values or diagnosis information of the plurality of devices in the industrial control system in the visualized topology map.
[0074] In some example embodiments, the zoom-in map may present one or more devices in a zoom-in area of the plurality of devices and connections among the one or more devices. In some example embodiments, the zoom-out map may present one or more devices in a zoom-out area of the plurality of devices and connections among the one or more devices. In some example embodiments, the plurality of scalable layers may comprise connectors, wires or channels presented in different scales. In some example embodiments, the industrial control system may comprise a DCS.
[0075] By implementing the example embodiments of FIG. 8, similarly, the architecture of an industrial control system can be presented clearly to users automatically and rapidly in a visualized manner. In some example embodiments, a DRT of a target control loop can be determined and analyzed automatically in the visualized manner.
[0076] FIG. 9 illustrates a block diagram illustrating an electronic device 900 in accordance with some embodiments of the present disclosure. As indicated, the device 900 includes a central processing unit (CPU) 901, which can execute various appropriate actions and processing based on the computer program instructions stored in a read-only memory (ROM) 902 or the computer program instructions loaded into a random access memory (RAM) 903 from a storage unit 908. The RAM 903 also stores all kinds of programs and data required by operating the electronic device 900. CPU 901, ROM 902 and RAM 903 are connected to each other via a bus 904, to which an input / output (I / O) interface 905 is also connected.
[0077] A plurality of components in the device 900 are connected to the I / O interface 905, comprising: an input unit 906, such as a keyboard, a mouse and the like; an output unit 907, such as various types of displays, loudspeakers and the like; a storage unit 908, such as a storage disk, an optical disk and the like; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver and the like. The communication unit 909 allows the device 900 to exchange information / data with other devices through computer networks such as Internet and / or various telecommunication networks.
[0078] Each procedure and processing described above, such as the method 700, can be executed by a processing unit 901. For example, in some embodiments, the method 700 can be implemented as computer software programs, which are tangibly included in a machine-readable medium, such as a storage unit 908. In some embodiments, the computer-readable medium is a non-transitory computer-readable medium. In some embodiments, the computer program can be partially or completely loaded and / or installed to the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded to the RAM 903 and executed by the CPU 901, one or more steps of the above described method 700 are implemented. Alternatively, in other embodiments, the CPU 901 may also be configured in any proper manner to implement the above process / method.
[0079] The present disclosure may be a method, a device, a system and / or a computer program product. The computer program product can include a computer-readable storage medium loaded with computer-readable program instructions thereon for executing various aspects of the present disclosure.
[0080] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (anon-exhaustive list) of the computer readable storage medium would include: a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination thereof. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.
[0081] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium, or downloaded to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0082] Computer readable program instructions for carrying out operations of the present disclosure may be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) . In some embodiments, by means of state information of the computer readable program instructions, an electronic circuitry including, for example, programmable logic circuitry (PLC) , field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) can be personalized to execute the computer readable program instructions, thereby implementing various aspects of the present disclosure.
[0083] Aspects of the present disclosure are described herein with reference to flowchart and / or block diagrams of methods, apparatus (systems) , and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0084] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0085] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which are executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0086] The flowchart and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, snippet, or portion of codes, which comprises one or more executable instructions for implementing the specified logical function (s) . In some alternative implementations, the functions noted in the block may be implemented in an order different from those illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or by combinations of special purpose hardware and computer instructions.
[0087] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0088] A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
[0089] It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiment. Details are not described herein again.
[0090] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
[0091] The units described as separate parts may be or may not be physically separate, and parts displayed as units may be or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0092] In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
[0093] When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer readable storage medium. Based on such an understanding, the technical solutions in this application essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
[0094] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1.A method for presenting an architecture of an industrial control system, comprising:obtaining a plurality of configurations for configuring a plurality of devices in the industrial control system, wherein the plurality of configurations are used to configure input channels and output channels associated with the plurality of devices and a plurality of control parameters of the plurality of devices;determining an association among the plurality of devices in the industrial control system based on the plurality of configurations; andpresenting the association among the plurality of devices in the industrial control system in a visualized topology map, wherein the visualized topology map includes a plurality of scalable layers.2.The method of claim 1, wherein obtaining the plurality of configurations for configuring the plurality of devices in the industrial control system comprises:receiving, from a user, one or more programing scripts for configuring one or more devices of the plurality of devices in the industrial control system; anddetermining the plurality of configurations based on the one or more programing scripts.3.The method of claim 1, wherein determining the association among the plurality of devices in the industrial control system based on the plurality of configurations comprises:determining, based on the plurality of configurations, a plurality of control loops from the input channels to the output channels as the association among the plurality of devices in the industrial control system.4.The method of claim 3, further comprising:receiving a user input to select one or more target devices of the plurality of devices in the industrial control system;determining a control loop among the one or more target; andpresenting the control loop in the visualized topology map.5.The method of claim 1, wherein an input channel is associated with a device, of the plurality of devices, for sampling parameters for controlling an actuator in the industrial control system, and an output channel is associated with a device as the actuator of the plurality of devices.6.The method of claim 1, wherein a control parameter of the plurality of control parameters comprises a latency of a signal passing through a device.7.The method of claim 6, further comprising:receiving a user input to select one or more target devices of the plurality of devices in the industrial control system;determining a latency along a control loop among the one or more target devices as a demand response time (DRT) ; andpresenting the DRT in the visualized topology map.8.The method of claim 6, wherein the latency comprises one or more of the following components:a preset delay time;a time interval of sampling the signal;a time duration for scanning the signal; ora processing time for processing the signal.9.The method of claim 8, further comprising:determining percentages for the components of the latency; andpresenting the percentages for the components of the latency in a preset view.10.The method of claim 1, wherein presenting the association among the plurality of devices in the industrial control system in the visualized topology map:presenting an overview map of the association of the plurality of devices in the industrial control system in the visualized topology map; andin response to receiving a user input to zoom in the overview map, presenting a zoom-in map based on the plurality of scalable layers; orin response to receiving a user input to zoom out the zoom-in map, presenting a zoom-out map based on the plurality of scalable layers.11.The method of claim 10, wherein at least one of the following:the zoom-in map presents one or more devices in a zoom-in area of the plurality of devices and connections among the one or more devices;the zoom-out map presents one or more devices in a zoom-out area of the plurality of devices and connections among the one or more devices;the plurality of scalable layers comprises connectors, wires or channels presented in different scales; orthe industrial control system comprises a distributed control system (DCS) .12.The method of claim 1, further comprising:presenting at least one of runtime statuses, values or diagnosis information of the plurality of devices in the industrial control system in the visualized topology map.13.An apparatus for presenting an architecture of an industrial control system, comprising:an obtaining module configured to obtain a plurality of configurations for configuring a plurality of devices in the industrial control system, wherein the plurality of configurations are used to configure input channels and output channels associated with the plurality of devices and a plurality of control parameters of the plurality of devices;a determining module configured to determine an association among the plurality of devices in the industrial control system based on the plurality of configurations; anda presenting module configured to present the association among the plurality of devices in the industrial control system in a visualized topology map, wherein the visualized topology map includes a plurality of scalable layers.14.An electronic device, comprising:a processor; anda memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the device to execute actions of any of claims 1-12.15.A computer-readable storage medium storing computer-executable instructions which, when executed by a device, cause the device to perform a method of any of claims 1-12.