Process automation server prioritization
Patent Information
- Application Number
- CN202610310880.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-03-24
- Filing Date
- 2026-03-13
- Publication Date
- 2026-09-25
AI Technical Summary
如果管理这些传感器的OPC UA服务器的订阅量突然激增,就像系统范围的诊断程序一样,两个客户端都会受到同等影响
[0008]如本文所述的对订户进行优先化提供了显著的技术优势。通过给予关键订户优先权,该系统确保依赖于其数据的过程控制回路保持较高的服务质量(QoS)。例如,通过使用高优先级订户的QoS机制对网络流量进行优先级排序,系统可以减少时延,提高可靠性,并且最大限度地减少这些关键部件的数据丢失。该系统还可以对应该评估和处理哪些分组进行优先级排序,或者可以提供多少读取/写入调用的优先级。这导致更稳定且响应更快的过程控制,从而降低故障的可能性,减少停机时间,防止事故,并且总体上有助于实现更安全和更高效的过程自动化环境。
Smart Images

Figure CN122824813A_ABST
Abstract
Description
Background Technology
[0001] Process automation facilities extensively utilize Distributed Control Nodes (DCNs) to manage various input / output (I / O) components, such as sensors, actuators, and function blocks. Access to these I / O components is typically achieved through the process automation facility using an Open Platform Communication Unified Architecture (OPC UA) server, where the DCN hosts resources such as I / O channels coupled to sensors and actuators. Each resource is typically associated with an alias to simplify the configuration and management of these process automation networks. Process automation facilities generally rely on OPC UA servers to manage access to the DCN's I / O channels. When the OPC UA server is overloaded or its performance degrades, all subscribed clients are equally affected, regardless of their importance. This can lead to failures in critical process control loops, resulting in downtime, incidents, reduced Quality of Service (QoS), and other negative consequences.
[0002] Consider a scenario in a large chemical plant. One client, critical to maintaining reactor temperatures within safe operating ranges, relies on readings from a specific temperature sensor. Simultaneously, another client performs non-critical data logging using readings from a pressure sensor. If the subscription load on the OPC UA server managing these sensors suddenly surges, both clients will be equally affected, much like a system-wide diagnostic procedure. The data logging client might only experience reading delays, but the temperature control loop could malfunction, leading to a potentially dangerous runaway reaction. Another challenge arises when device aliases need to be remapped due to migration or system maintenance activities; there is no way to determine which clients have priority access to these resources. Summary of the Invention
[0003] The embodiments disclosed herein involve assigning a first priority to a first subscriber process (e.g., an OPC UA client and / or function block) that subscribes to one or more I / O channels managed by a platform-independent (or “cross-platform”) server hosted by a process automation facility’s DCN. A second priority is assigned to a second subscriber process that subscribes to one or more I / O channels hosted by a platform-independent server hosted by a distributed control node, and this second priority is lower than the first priority. When the platform-independent server is determined to be experiencing performance degradation, interactions between the platform-independent server and the first subscriber process take precedence over those between the second subscriber process, based on the first and second priorities. For example, the first subscriber process might use data to control actuators in a process control loop, while the second subscriber process might use data for debugging. When the OPC UA server experiences performance degradation, the OPC UA server prioritizes interactions with the first subscriber process over those with the second subscriber process, based on the priorities assigned to the first and second subscriber processes.
[0004] Priorities can be binary (high / low) or range-based, allowing for more granular handling of service degradation. Subscribers can assign priorities themselves based on their roles, or the OPC UA server can assign priorities to its subscribers (“subscriber” and “subscriber process” are used interchangeably in this document). Overriding of assigned priorities is also possible. Functional blocks of subscribed resources can also be assigned priorities based on their roles in the process automation facility, supervising their own behavior by suppressing calls or disconnecting during system degradation.
[0005] This prioritization can be implemented in several ways. An OPC UA server can shut down network connections to lower-priority subscribers, limit network traffic to or from lower-priority subscribers, or delay processing read / write requests from lower-priority subscribers until requests from higher-priority subscribers have been processed. Alternatively, lower-priority subscribers can be configured to suppress sending further read / write requests until the server degradation is resolved.
[0006] Performance degradation can be determined based on factors such as the number of network connections exceeding a threshold or the frequency of read / write requests from subscribers exceeding a threshold. Alternatively, one or more machine learning and / or artificial intelligence (AI) models can be used to detect performance degradation. For example, one or more machine learning models trained on a library or set of previously received sensor readings can be implemented to detect when the number or frequency of sensor readings from the DCN exceeds a threshold indicating performance degradation. Additionally or alternatively, a large language model (LLM) can be trained or fine-tuned to generate performance alerts when performance degradation is detected in its corresponding data model.
[0007] As a non-limiting example of some embodiments disclosed herein, consider a chemical plant where a DCN controls the inflow of reactants into a mixing tank. The DCN hosts an OPC UA server that manages access to flow sensors and actuator valves. As part of a critical process control loop, a first subscriber process continuously monitors the flow rate via sensors and regulates valves to maintain a desired reactant ratio. This process is assigned high priority. Meanwhile, a second subscriber process, used for diagnostic purposes, periodically samples flow rate data for analysis and troubleshooting. This process is assigned lower priority. If the OPC UA server on the DCN becomes overloaded due to a sudden surge in network traffic or a spike in the frequency of diagnostic requests, the server will prioritize communication with the first subscriber process to ensure the critical process control loop remains stable. The server may restrict or even temporarily disconnect the lower-priority second subscriber process to maintain the responsiveness of the critical control loop, thereby preventing potential disruptions to the chemical reaction.
[0008] Subscriber prioritization, as described in this article, offers significant technical advantages. By prioritizing critical subscribers, the system ensures that process control loops relying on their data maintain high Quality of Service (QoS). For example, by prioritizing network traffic using a QoS mechanism for high-priority subscribers, the system can reduce latency, improve reliability, and minimize data loss in these critical components. The system can also prioritize which packets should be evaluated and processed, or how much priority can be given to read / write calls. This results in more stable and responsive process control, reducing the likelihood of failures, minimizing downtime, preventing incidents, and ultimately contributing to a safer and more efficient process automation environment. Attached Figure Description
[0009] Figure 1 An example environment is shown, including a process automation management system, a process automation network, and multiple distributed control nodes.
[0010] Figure 2 An example illustrating how the techniques described in this article can be implemented is shown.
[0011] Figure 3 Example methods for practicing selected aspects of this disclosure are described.
[0012] Figure 4 This is a block diagram of an example computer system. Detailed Implementation
[0013] The embodiments disclosed herein involve assigning a first priority to a first subscriber process. The first subscriber process subscribes to one or more I / O channels managed by a platform-independent server hosted by the DCN of a process automation facility, and the I / O channels include sensors or actuators. A second priority is assigned to a second subscriber process subscribing to one or more of the same I / O channels, wherein the second priority is lower than the first priority. The platform-independent server is determined to be experiencing performance degradation, and in response, based on the first and second priorities, the interaction between the platform-independent server and the first subscriber process takes precedence over the second subscriber process.
[0014] The implementations disclosed herein can mitigate (e.g., eliminate) various drawbacks of current technologies. For example, assigned priorities ensure that critical process control loops continue to operate even when the OPC UA server is under stress, thereby reducing downtime, incidents, and other negative consequences. As another example, clients using data for non-critical applications (such as debugging) can be easily disconnected or have their traffic restricted, ensuring that clients assisting in controlling process loops are unaffected. As yet another example, the ability to subscribe to clients or OPC UA servers to assign or override priorities enables flexible and adaptable systems to meet the needs of various process automation facilities.
[0015] Now for reference Figure 1 The illustration schematically depicts an example environment 100 in which various aspects of this disclosure can be implemented. A process automation management system 102 is operatively coupled to a process automation network within a process automation facility 108. The process automation facility 108 can take many forms and can be designed to implement any number of processes that are at least partially automated. For example, the process automation facility 108 can take the form of a chemical processing plant, an oil or gas refinery, a catalyst plant, a manufacturing facility, a pharmaceutical facility, an offshore oil platform, etc.
[0016] The process automation network 106 can be implemented using various wired and / or wireless communication technologies. Process automation is typically used in scenarios where failure costs are high, both in terms of personnel safety and economic costs to stakeholders. Accordingly, in various implementations, the process automation network 106 can be configured with redundancy and / or backup to provide high availability (HA) and / or high quality of service (QoS).
[0017] In various implementations, process automation network 106 may include one or more networks based on the Institute of Electrical and Electronics Engineers (IEEE) 802.3 standard, such as Gigabit Ethernet and / or 10 Gigabit Ethernet. Process automation network 106 may also, or alternatively, include one or more networks based on the IEEE 802.11 (Wi-Fi) and / or IEEE 802.16 (WiMAX) standard. Process automation network 106 may also, or alternatively, include one or more networks based on the IEEE 802.20 standard, commonly referred to as "mobile broadband wireless access." Process automation network 106 may also, or alternatively, include one or more networks based on the 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) and / or 4G / 5G standard protocols. Process automation network 106 may also, or alternatively, include one or more wired and / or wireless private networks; one or more wired and / or wireless local area networks (LANs), such as IEEE 802.11 networks; and / or one or more wired and / or wireless wide area networks (WANs), such as cellular data networks and / or the Internet. The process automation network 106 may also or alternatively include one or more machine-to-machine networks.
[0018] Figure 1 The components can be implemented additionally or alternatively on the mesh network, which offers several advantages. The distributed architecture of the mesh network enhances resilience to single points of failure, ensuring continued operation even if some network nodes become unavailable. Furthermore, distributing various processes (such as function blocks) across multiple nodes in the mesh network reduces latency by minimizing the distance data must travel, resulting in faster response times for OPC UA clients. The inherent redundancy of the mesh network also improves the overall reliability and scalability of the process automation facility 108.
[0019] In some implementations, the process automation system 102 may include a GDS 104, an optional alias publish / subscribe (pub / sub) module 107, and a database 105 storing information used by the GDS 104 and / or the alias publish / subscribe module 107. Various aspects of the process automation management system 102, such as the GDS 104 and / or the alias publish / subscribe module 107, can be implemented using any combination of hardware and software. In some implementations, the process automation management system 102 may be implemented across multiple computer systems as part of what is commonly referred to as “cloud infrastructure” or simply the “cloud.” However, this is not mandatory, and… Figure 1For example, the process automation management system 102 is implemented within a process automation facility 108, such as in a single building or across a single building campus or other industrial infrastructure. In such an implementation, the process automation management system 102 may be implemented on one or more local computing systems, such as on one or more server computers.
[0020] In addition to the process automation management system 102, various other nodes can also be operatively coupled to the process automation network 106. For example, in Figure 1 In this process automation network 106, N (positive integer) DCNs 110-1 to 110-N are operatively coupled. Each DCN may include circuitry or logic 112 that can take various forms, such as a processor executing instructions in memory, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc. Each DCN 110 may play a specific role in the process automation network 106. A “computing” DCN may, for example, control a process loop (e.g., a chemical process loop) in which various “field” devices (e.g., devices with sensors and / or actuators) are interconnected to perform some functional control blocks (FBs).
[0021] Although Figure 1 While not described herein, in various implementations, each DCN can act as a "platform-independent" or "cross-platform" server that coordinates access to the DCN's constituent I / O channels. In some cases, this cross-platform server may take the form of an OPC UA server. Additionally or alternatively, each DCN can operate a cross-platform client configured to subscribe to I / O channels (e.g., accessible by the aforementioned cross-platform server) to receive information required by the DCN to perform certain functions. In some cases, this cross-platform client may take the form of an OPC UA client.
[0022] Each DCN 110 may have various I / O components that can be accessed as “channels” and that define at least some of its operational technology (OT) capabilities and, more generally, its role in the process automation facility 108. For example, the first DCN 110-1 includes a flow transmitter (FT) component 114-1 and an actuator (e.g., a valve) 116-1. In some embodiments, software components (e.g., function blocks) implemented on the DCN 110-1 (or any other DCN mentioned herein) may convert analog signals into digital signals; and / or, for example, convert signals between different units of measurement.
[0023] Additionally, in some implementations, software components (e.g., function blocks) implemented on the DCN 110-1 can be configured to convert data between various protocols. For example, a particular vendor's DCN (or other legacy equipment) may not be natively configured to use OPC UA to transmit data. In some such implementations, another DCN 110 can be deployed to convert the data from the vendor's proprietary format to OPC UA. Some such DCN 110s may be referred to as "gateways" or "bridges" because they form a link between legacy technologies and standards such as OPC UA.
[0024] Actuator 116-1 (and other actuators described herein) can be any electrical, hydraulic, mechanical, and / or pneumatic component that is controllable to influence certain aspects of the process automation workflow occurring at process automation facility 108. In many cases, actuator 116 can perform its function in response to various signals, such as sensor signals or commands from a computational DCN (which itself can monitor sensor signals). Some non-limiting examples of actuator 116 include, but are not limited to, valves, pistons, rotors, switches, heaters, coolers, agitators, syringes, vacuum-generating devices, belts, tracks, gears, clamps, motors, relays, servo mechanisms, etc.
[0025] Each DCN 110 may have different OT capabilities relative to one or more (e.g., all) other DCN 110s. For example, in Figure 1 In this context, the second DCN 110-2 includes an FT component 114-2 but no actuator. The third DCN 110-3 includes a sensor 118-3 but no actuator. The sensor 118-3 (and elsewhere herein) can take various forms, including but not limited to pressure sensors, temperature sensors, flow sensors (e.g., FT component 114), various types of proximity sensors, optical sensors (e.g., photodiodes), pressure wave sensors (e.g., microphones), humidity sensors (e.g., humidity-sensitive resistors), radiation dosimeters, laser absorption spectrometers (e.g., optical multipass cells), etc. Like the first DCN 110-1, the fourth DCN 110-4 also includes both the FT component 114-4 and the actuator 116-4.
[0026] Unlike DCNs 110-1 to 110-4, DCN 110-N does not include any I / O (actuator or sensor) components. Instead, DCN 110-N can be a "computation-only" DCN whose role is to facilitate cooperation between itself and one or more other DCNs 110 on the process automation network 106 to achieve at least partial automation of the process. For example, DCN 110-N can control a single process loop (e.g., a chemical process control loop) involving one or more other DCNs 110. In some cases, computational DCN 110 can perform a role similar to an autopilot on an aircraft—computational DCN 110 can receive various signals and, based on those signals and various criteria and / or thresholds, control various actuators. For example, computational DCN 110 can monitor various sensors 118 to determine data about chemical levels, flow rates (e.g., through valves), tank temperatures, control rates, etc., and can control one or more actuators 116 based on these data and / or comparisons of these data with various criteria and / or thresholds. For example, the calculation DCN 110-N can control the actuator 116-4 by sending a corresponding command to the DCN 110-4, which may optionally conform to a protocol specific to the DCN 110-4.
[0027] Many DCNs can host multiple resources, such as physical I / O components and / or function blocks. Therefore, these DCNs can include multiple I / O channels and / or function blocks that can be accessed by, for example, other devices or systems (such as other DCNs, GDS 104, alias publish / subscribe module 107, etc.). For example, each DCN 110 can host a cross-platform server, such as an OPC UA server, which provides access to various resources hosted by DCN 110, including the DCN's I / O channels and / or function blocks. Cross-platform client applications (such as OPC UA clients operating on DCN 110) can connect to the cross-platform server hosted by the DCN, allowing them to read data from input channels associated with, for example, sensors (such as FT component 114, sensor 118, function blocks, etc.). Similarly, client applications can connect to the server hosted by the DCN to write data to output channels, such as providing control signals or commands to actuator 116.
[0028] As described above, tracking the numerous data sources (e.g., I / O channels and / or other data sources, such as function blocks) deployed on the DCN in the complex process automation facility 108 using typical connection strings (e.g., network information plus node ID) can present various challenges. The connection strings of individual nodes (which may include Internet Protocol (IP) addresses and / or Transmission Control Protocol (TCP) ports) and the node IDs used to identify the various components accessible via these nodes are not easily human-interpretable or meaningful, and are not easily scalable. Therefore, GDS 104 is used to assign human-interpretable and / or meaningful aliases to the various data sources provided by the DCN.
[0029] The implementation methods described herein can be used Figure 1 The components are implemented to maintain QoS for cross-platform servers, such as OPC UA servers in process automation facilities. Each of the N DCNs 110 can host an OPC UA server, which manages access to its I / O channels, such as those coupled to FT components 114 and actuators 116. Computing DCN 110-N can subscribe to these channels, enabling it to implement process control loops. If a particular OPC UA server (such as the one hosted by DCN 110-1) becomes overloaded, the process automation management system 102 can assign a higher priority to computing DCN 110-N, thereby ensuring that computing DCN 110-N continues to receive data from the OPC UA server hosted by DCN 110-1 to maintain the proper functioning of the process control loop. Prioritization can be implemented in various ways, such as prioritizing the transmission of data packets or limiting network traffic from lower-priority subscribers. Additionally, priority assignment can be managed by the OPC UA server or the application running on it, allowing function blocks subscribed to resources to assign priorities themselves. This ensures that critical nodes in the process automation facility receive the necessary data, even during periods of high server load.
[0030] Figure 2 An example of how the techniques described herein are implemented is schematically depicted between a cross-platform server 202 (e.g., an OPCUA server) hosted by a first DCN 210A and two cross-platform clients 204B-C hosted by two subscribed DCNs 210B-C. In this example, the first DCN 210A includes an FT component 216A and an actuator 218A. The second DCN 210B hosts a platform-related client 204B (e.g., an OPC UA client) and a first function block 206B, and includes a second actuator 218B. The third DCN 210C hosts another cross-platform client 204C and another function block 206C, and does not include any sensors or actuators.
[0031] Figure 2 Arrows 1-4 illustrate an example of how the techniques described herein can be implemented. At arrow 1, the cross-platform client 204B connects (or “subscribes”) to the cross-platform server 202 and indicates that its function block 206B has a “high” priority. This priority specification can indicate, for example, that the control of the second actuator 218B by function block 206B based on signals from the FT component 216A is critical to the process control loop.
[0032] At arrow 2, the cross-platform client 204C running on DCN 210C connects (or “subscribes”) to the cross-platform server 202 and indicates that its function block 206C has a “low” priority. This priority specification can indicate, for example, that control of function block 206C based on signals from FT component 216A is less critical to the process control loop. For example, DCN 210C could be a computing node configured to collect operational statistics for future analysis, or DCN 210C could be a “debugging” node designed to facilitate monitoring and debugging.
[0033] At arrow 3, cross-platform server 202 detected operational degradation. This degradation can take various forms, including but not limited to: a sudden increase in the number of connections to cross-platform server 202; an increase in the frequency of data or event requests; an increase in load on cross-platform server 202 above a threshold; and / or a partial failure of cross-platform server 202, to name just a few examples.
[0034] In some implementations, machine learning models can be trained to detect performance degradation on a cross-platform server 202 by analyzing various metrics such as CPU utilization, memory usage, network latency, and / or the number of active client connections. For example, historical performance data can be used to train a neural network to predict future degradation based on the current system state. Long Short-Term Memory (LSTM) networks can be particularly effective at capturing the temporal dependencies of performance data, enabling the detection of subtle patterns preceding degradation. Additionally, Large Language Models (LLMs) can analyze server logs and system events to identify anomalies indicating performance problems. By training an LLM on large amounts of log data, it can learn to recognize patterns and correlations that are difficult for humans to detect, such as specific error messages, anomalous access patterns, or resource contention scenarios.
[0035] In response to the detection of operational degradation, at arrow 4, the cross-platform server 202 terminates (at least temporarily) its connection with the DCN 210C, which has a lower priority function block 206C. In other embodiments, instead of terminating the connection, the cross-platform server 202 may instruct the cross-platform client 204C and / or function block 206C to standby until further notification (e.g., until operational degradation is no longer detected). In other embodiments, the cross-platform server 202 may continue to allow the cross-platform client 204C and / or function block 206C to read data, but at a limited rate.
[0036] Figure 3 A method 300 for practicing selected aspects of this disclosure is schematically depicted. For convenience, Figure 3 This is described in relation to a system (i.e., a cross-platform server, e.g., 202). However, method 300 can be implemented by any suitable system and / or any other system described herein. In some implementations, method 300 can be implemented on one or more computer systems that implement GDS 104, alias publish / subscribe module 107, GDS database 105, and / or one or more DCNs 110.
[0037] At box 302, the system can assign a first priority to a first subscriber process, such as a cross-platform client (e.g., 204A, 204B), which, as previously described, may take the form of an OPC UA client in some cases. The first subscriber process subscribes to one or more I / O channels managed by a platform-independent server (e.g., 202), which may be an OPC UA server hosted by the process automation facility's DCN (e.g., 110, 210). I / O channels may include sensors, actuators, and / or function blocks. In some implementations, the first priority is assigned to the first subscriber process based on data obtained by the first subscriber from one or more I / O channels to control actuator 116 in the process control loop of process automation facility 108.
[0038] At box 304, the system can assign a second priority to the second subscriber process. The second subscriber process subscribes to one or more I / O channels hosted by a platform-independent server hosted by the distributed control node, and the second priority may be lower than the first priority. In some implementations, the second priority can be assigned to the second subscriber process based on its use of data obtained from one or more I / O channels to perform non-essential tasks (such as logging, debugging, reporting, etc.). In some implementations, the first subscriber process assigns itself a first priority, and / or the second subscriber process assigns itself a second priority.
[0039] At box 306, the system can monitor the performance of the cross-platform server and / or its surrounding environment. For example, the system can monitor network congestion on one or more network hops frequently used by the cross-platform server. As another example, the cross-platform server can monitor the number of subscribers it supports at any given time, and / or the resource usage of the cross-platform server and / or any of its subscribers. Other examples of performance measurements that the system can collect are also possible.
[0040] At box 308, the system can determine whether the platform-independent server is experiencing performance degradation. This determination may include detecting that the number of network connections to the DCN hosting the platform-independent server meets a threshold. Additionally or alternatively, this determination may include detecting that a second subscriber process has submitted read or write requests at a frequency that meets the threshold.
[0041] In some implementations, machine learning models can be trained to detect performance degradation on platform-independent servers by analyzing various metrics. Using feedforward neural networks, historical data (including server load, network traffic, CPU utilization, memory usage, the number of connected clients, and / or read / write request frequency) can be used as input features. The output layer can be a binary classification indicating whether the server is in a normal or degraded state, a multi-class output classifying performance into one of multiple performance levels or ranges (or intervals), a continuous output, etc. For example, the model can be trained using labeled data, where the labels are determined based on a predefined threshold of acceptable performance. The model can then predict the likelihood of performance degradation in real time.
[0042] Alternatively, single-modal or multi-modal large language models (LLMs) can be used for degradation detection, especially when log data is available. A single LLM can be trained on server logs to identify patterns and anomalies associated with performance degradation. Multi-modal LLMs can combine server logs with other data sources, such as system metrics, event logs, images (e.g., exhaust images, sensor reading images, etc.), and even maintenance records, to provide a more comprehensive assessment. LLMs can be trained to classify server states or generate alerts when specific patterns indicating degradation are identified. Fine-tuning these models with domain-specific data, such as OPC UA server logs, will further improve their accuracy and relevance.
[0043] Return to reference Figure 3If the answer at box 308 is no, then method 300 can return to box 306. However, if the answer at box 308 is yes, then method 300 can proceed to box 310. At box 310, in response to determining that the server is experiencing performance degradation, the system can prioritize the interaction between the platform-independent server and the first subscriber process over the second subscriber process based on a first priority and a second priority. Prioritization can be performed in various ways, such as at box 310A, by closing the network connection between the second subscriber process and the DCN hosting the platform-independent server. This can be done in extreme cases, such as when low-priority subscribers negatively impact the overall health of the server due to excessive requesting.
[0044] Additionally or alternatively, at box 310B, prioritization may include limiting network traffic to or from the second subscriber process to support network traffic to or from the first subscriber process. Additionally or alternatively, at box 310C, prioritization may include causing the platform-independent server to delay executing a first received read or write request on behalf of the second subscriber process until after executing a second received read or write request on behalf of the first subscriber process. Additionally or alternatively, at box 310D, prioritization may include causing the second subscriber process to suppress further read or write requests until no further degradation is detected.
[0045] As a non-limiting example of how the techniques described herein can be implemented, consider a refinery where real-time monitoring of the catalyst slurry mixture is crucial for optimizing reactor performance. Multiple sensors, such as temperature, pressure, and density sensors, are deployed throughout the slurry handling unit, each with a corresponding alias managed by an OPC UA server. The control system monitors these sensors and regulates the flow rates of various components of the slurry via control valves. A first-subscriber process monitors reactor performance and regulates the catalyst slurry ratio. This process is assigned high priority due to the critical role played by performance and regulation. Now assume there is another subscriber with low priority monitoring the temperature distribution within the pipeline delivering the slurry. An example is a pipeline with a large amount of wax, and it is desirable to maintain the pipeline temperature within a high range so that wax buildup does not inhibit slurry flow. If the load on the OPC UA server increases for any reason, the first subscriber is prioritized to maintain the optimal catalyst slurry ratio, rather than addressing wax prevention and / or temperature performance in the slurry delivery pipeline.
[0046] Consider another example from a pharmaceutical plant focused on continuous drug manufacturing. In this plant, precise control of mixing, reaction, and purification steps is critical. Consider a scenario where two temperature sensors are connected to an OPC UA server on the DCN. One sensor measures the reactor temperature (critical to reaction kinetics), and the other monitors the cooling jacket temperature (less critical, but important for preventing overheating). Client applications subscribe to these sensors via OPC UA. The primary client application is a PID (Proportional-Integral-Derivative) controller that dynamically adjusts the heating or cooling of the reactor to maintain the setpoint temperature necessary for proper reaction. Given the immediate need to control the reaction, this client will be assigned "high" priority.
[0047] Edge computing-based applications can also exist that make slow, regular requests to the server for data. These requests are unnecessary for reactor control and can operate with intermittent connections. This application will be given "low" priority. If the OPC UA server on the DCN becomes overloaded (perhaps due to network issues or a sudden increase in requests from diagnostic applications), the OPC UA server will prioritize the use of the PID controller to ensure tight control of reaction temperatures. Managing OPC UA degradation may include: 1) delaying or dropping requests from lower-priority clients if they exceed their allocated resources; 2) reducing / limiting unnecessary read / write requests; and / or 3) temporarily shutting down network connections to edge applications to maintain real-time critical systems. By implementing this prioritization, pharmaceutical companies ensure consistent QoS for their most critical processes (such as reactions where products may be lost) and reduce the risk of batch deterioration or degradation of expensive pharmaceutical intermediates.
[0048] Figure 4 This is a block diagram of an example computer system 410. Computer system 410 typically includes at least one processor 414 that communicates with a plurality of peripheral devices via a bus subsystem 412. These peripheral devices may include a storage subsystem 424, which includes, for example, a memory subsystem 425 and a file storage subsystem 426, a user interface input device 422, a user interface output device 420, and a network interface subsystem 416. The input and output devices allow users to interact with computer system 410. The network interface subsystem 416 provides an interface to an external network and is coupled to corresponding interface devices in other computer systems.
[0049] User interface input device 422 may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touchscreen integrated into a display, audio input devices such as a voice recognition system, a microphone, and / or other types of input devices. Generally, the term "input device" is used to encompass all possible types of devices and methods for inputting information into computer system 410 or a communication network.
[0050] User interface output device 420 may include a display subsystem, a printer, a fax machine, or a non-visual display such as an audio output device. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or other mechanisms for creating visual images. The display subsystem may also provide non-visual displays, for example, via an audio output device. Generally, the term "output device" is used to encompass all possible types of devices and methods for outputting information from computer system 410 to a user or another machine or computer system.
[0051] The memory 425 used in the storage subsystem may include multiple memories, including a main random access memory (RAM) 430 for storing instructions and data during program execution and a read-only memory (ROM) 432 for storing fixed instructions. The file storage subsystem 426 can provide persistent storage for program and data files and may include hard disk drives, floppy disk drives and associated removable media, CD-ROM drives, optical drives, or removable media cartridges. Modules implementing the functionality of certain embodiments may be stored by the file storage subsystem 426 in the storage subsystem 424 or in other machines accessible to the processor.
[0052] Bus subsystem 412 provides a mechanism for allowing various components and subsystems of computer system 410 to communicate with each other as intended. Although bus subsystem 412 is schematically shown as a single bus, alternative implementations of the bus subsystem may use multiple buses.
[0053] Computer systems 410 can be of various types, including workstations, servers, computing clusters, blade servers, server farms, or any other data processing system or computing device. Due to the constantly evolving nature of computers and networks, Figure 4 The description of the computer system 410 depicted herein is intended only as a specific example for illustrating some implementation methods. Many other configurations of the computer system 410 may have different characteristics. Figure 4 The computer system depicted has more or fewer components.
[0054] In various implementations, a method using one or more processors may include assigning a first priority to a first subscriber process and a lower second priority to a second subscriber process. Subscribers can access I / O channels managed by a platform-independent server hosted by a distributed control node of the process automation facility. If the platform-independent server experiences performance degradation, its interaction with the first subscriber process may take precedence over that with the second subscriber process.
[0055] In some implementations, a first priority can be assigned to a first subscriber process based on data obtained from the I / O channel to control actuators in the process control loop. In some implementations, a second priority can be assigned to a second subscriber process based on data obtained from the I / O channel to perform debugging.
[0056] Prioritization may include closing the network connection between the second subscriber process and the DCN of the hosting platform-independent server. In some implementations, prioritization may include limiting network traffic to or from the second subscriber process to support network traffic to or from the first subscriber process. In some implementations, prioritization may include causing the platform-independent server to delay executing a first received read or write request on behalf of the second subscriber process until after executing a second received read or write request on behalf of the first subscriber process. In some implementations, prioritization may include instructions to cause the second subscriber process to suppress further read or write requests until degradation is no longer detected.
[0057] In some implementations, the first subscriber process can assign itself a first priority. In some implementations, the second subscriber process can assign itself a second priority.
[0058] Determining that a platform-independent server is experiencing performance degradation may include detecting that the number of network connections to the DCN hosting the platform-independent server meets a threshold. Additionally or alternatively, this determination may include detecting that a second subscriber process has been submitting read or write requests at a frequency that meets the threshold.
[0059] In some implementations, a system may include one or more processors and a memory storing instructions that, when executed by the processors, can cause the processors to assign a first priority to a first subscriber process and a lower second priority to a second subscriber process. Subscribers can access I / O channels managed by a platform-independent server hosted by a distributed control node of the process automation facility. If the platform-independent server is determined to be experiencing performance degradation, its interaction with the first subscriber process may take precedence over that with the second subscriber process.
[0060] In some implementations, a first priority may be assigned to a first subscriber process based on data obtained by the first subscriber from its I / O channels to control actuators in the process control loop. In some implementations, a second priority may be assigned to a second subscriber process based on data obtained by the second subscriber process from its I / O channels to perform debugging.
[0061] The prioritization instructions include instructions for closing the network connection between the second subscriber process and the DCN of the hosting platform-independent server. In some embodiments, the prioritization instructions may include instructions to restrict network traffic to or from the second subscriber process to support network traffic to or from the first subscriber process. In some embodiments, the prioritization instructions may include instructions for causing the platform-independent server to delay executing a first received read or write request on behalf of the second subscriber process until after executing a second received read or write request on behalf of the first subscriber process. In some embodiments, the prioritization instructions may include instructions for causing the second subscriber process to suppress further read or write requests until degradation is no longer detected.
[0062] In some implementations, the first subscriber process may assign itself a first priority. In some implementations, the second subscriber process may assign itself a second priority. In some implementations, the determination may include detecting that the number of network connections of the DCN of the hosting platform-independent server meets a threshold. Additionally or alternatively, in some implementations, the determination may include detecting that the second subscriber process has submitted read or write requests at a frequency that meets the threshold.
[0063] In some embodiments, the above method can be performed by a system including at least one non-transitory computer-readable storage medium storing program instructions that, when executed by at least one processor, cause the at least one processor to perform the method. In other embodiments, the computer system may include at least one processor and at least one computer-readable storage medium storing program instructions that, when executed by at least one processor, cause the at least one processor to perform the method.
[0064] While several embodiments have been described and illustrated herein, various other means and / or structures may be utilized for performing functions and / or obtaining results and / or one or more of the advantages described herein, and each such variation and / or modification is considered to be within the scope of the embodiments described herein. More generally, all parameters, dimensions, materials, and configurations described herein are exemplary, and actual parameters, dimensions, materials, and / or configurations will depend on the specific application or the application using the teachings. Those skilled in the art will recognize or be able to determine many equivalents of the particular embodiments described herein using no more than conventional experimentation. Therefore, it should be understood that the foregoing embodiments are presented by way of example only, and that embodiments may be practiced in ways different from those specifically described and claimed within the scope of the appended claims and their equivalents. Embodiments of this disclosure relate to each individual feature, system, article of manufacture, material, kit, and / or method described herein. Furthermore, any combination of two or more such features, systems, articles of manufacture, materials, kits, and / or methods is included within the scope of this disclosure if such features, systems, articles of manufacture, materials, kits, and / or methods are not contradictory.
Claims
1. A method implemented using one or more processors, the method comprising: The first priority is assigned to the first subscriber process, which subscribes to one or more input / output (I / O) channels managed by a platform-independent server hosted by the distributed control node (DCN) of the process automation facility, wherein the one or more I / O channels include one or more sensors or actuators. The second priority is assigned to a second subscriber process, which subscribes to one or more I / O channels hosted by the platform-independent server hosted by the DCN, wherein the second priority is lower than the first priority; It has been determined that the platform-independent server is experiencing performance degradation; as well as In response to the determination, and based on the first priority and the second priority, the interaction between the platform-independent server and the first subscriber process takes precedence over the second subscriber process.
2. The method of claim 1, wherein the first priority is assigned to the first subscriber process based on data obtained by the first subscriber from one or more of the I / O channels to control actuators in the process control loop of the process automation facility.
3. The method of claim 1, wherein the second priority is assigned to the second subscriber process based on the data obtained by the second subscriber process from one or more of the I / O channels to perform debugging.
4. The method of claim 1, wherein the prioritization includes closing the network connection between the second subscriber process and the DCN hosting the platform-independent server.
5. The method of claim 1, wherein the prioritization includes restricting network traffic to or from the second subscriber process to support network traffic to or from the first subscriber process.
6. The method of claim 1, wherein the prioritization includes causing the platform-independent server to delay executing the first received read or write request on behalf of the second subscriber process until after executing the second received read or write request on behalf of the first subscriber process.
7. The method of claim 1, wherein the prioritization includes causing the second subscriber process to suppress further read or write requests until the degradation is no longer detected.
8. The method of claim 1, wherein the first subscriber process is to assign the first priority to itself.
9. The method of claim 1, wherein the second subscriber process is to assign the second priority to itself.
10. The method of claim 1, wherein the determination includes detecting that the number of network connections of the DCN hosting the platform-independent server meets a threshold.
11. The method of claim 1, wherein the determination includes detecting that the second subscriber process has submitted read or write requests at a frequency that meets a threshold.
12. A system comprising one or more processors and a memory storing instructions, the instructions being responsive to execution by the one or more processors to cause the one or more processors to: The first priority is assigned to the first subscriber process, which subscribes to one or more input / output (I / O) channels managed by a platform-independent server hosted by the distributed control node (DCN) of the process automation facility, wherein the one or more I / O channels include one or more sensors or actuators. The second priority is assigned to a second subscriber process, which subscribes to one or more I / O channels hosted by the platform-independent server hosted by the DCN, wherein the second priority is lower than the first priority; It has been determined that the platform-independent server is experiencing performance degradation; as well as In response to determining that the platform-independent server is experiencing performance degradation, and based on the first priority and the second priority, the interaction between the platform-independent server and the first subscriber process is prioritized over the second subscriber process.
13. The system of claim 12, wherein the first priority is assigned to the first subscriber process based on the data obtained by the first subscriber from one or more of the I / O channels to control the actuators in the process control loop of the process automation facility.
14. The system of claim 12, wherein the second priority is assigned to the second subscriber process based on the data obtained by the second subscriber process from one or more of the I / O channels when performing debugging.
15. The system of claim 12, wherein the instructions for prioritization include instructions for: closing the network connection between the second subscriber process and the DCN hosting the platform-independent server.
16. The system of claim 12, wherein the instructions for prioritization include instructions for: restricting network traffic to or from the second subscriber process to support network traffic to or from the first subscriber process.
17. The system of claim 12, wherein the instructions for prioritization include instructions for: causing the platform-independent server to delay executing a first received read or write request on behalf of the second subscriber process until after executing a second received read or write request on behalf of the first subscriber process.
18. The system of claim 12, wherein the instructions for prioritization include instructions for: causing the second subscriber process to suppress further read or write requests until the degradation is no longer detected.
19. The system of claim 12, wherein the first subscriber process is to assign the first priority to itself.
20. At least one non-transitory computer-readable medium, the at least one non-transitory computer-readable medium comprising instructions, the instructions being executed by one or more processors to cause the one or more processors to perform the following operations: The first priority is assigned to the first subscriber process, which subscribes to one or more input / output (I / O) channels managed by a platform-independent server hosted by the distributed control node (DCN) of the process automation facility, wherein the one or more I / O channels include one or more sensors or actuators. The second priority is assigned to a second subscriber process, which subscribes to one or more I / O channels hosted by the platform-independent server hosted by the DCN, wherein the second priority is lower than the first priority; It has been determined that the platform-independent server is experiencing performance degradation; as well as In response to determining that the platform-independent server is experiencing performance degradation, and based on the first priority and the second priority, the interaction between the platform-independent server and the first subscriber process is prioritized over the second subscriber process.