Method and apparatus for performing process analysis in distributed control system

By using process analysis technology (PAT) equipment in distributed control systems, product quality is basically determined and predicted in real time, the problem of inefficiency in the existing technology is solved, and efficient continuous manufacturing and improved product quality specifications are achieved.

CN120019361APending Publication Date: 2025-05-16FISHER ROSEMOUNT SYST INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202380071271.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-11
Filing Date
2023-08-10
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

Existing automated control strategies are inefficient in the process industry, especially in applications that require continuous manufacturing and meet product quality specifications, making it difficult to measure and analyze product quality in a timely and accurate manner.

Method used

Using process analysis technology (PAT) equipment in distributed control systems, the product quality is basically determined in real time through stoichiometric measurement and spectral measurement, and using data models to predict future quality, thereby automatically adjusting the manufacturing process.

Benefits of technology

It realizes efficient measurement and analysis of product factors throughout the manufacturing process, supports continuous manufacturing, improves production efficiency, and meets improved product quality specifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120019361A_ABST
    Figure CN120019361A_ABST
Patent Text Reader

Abstract

Methods, apparatus, systems, and articles of manufacture are disclosed. An example system to modify an industrial control system includes at least one memory; a programmable circuit system; and instructions to cause the programmable circuitry to configure the device driver based on a first command that configures the device driver to initiate a device-specific communication protocol to collect input data from a publisher device coupled to the device driver; accessing a second command from the subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command based on a product quality prediction generated using a spectral data model; and providing the second command to the device driver.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to industrial control systems and, more particularly, to methods and apparatus for performing process analysis and process control in a distributed control system. Background Art

[0002] Automation strategies for process industries (e.g., pharmaceuticals, food, beverages, oil and gas, refining, etc.) implement complex control strategies to improve production efficiency and enable continuous manufacturing. The increase in integration complexity for process industries that require commodity quality measurement (such as manufacturing pharmaceuticals) limits the implementation of continuous manufacturing to industries with reduced commodity quality specifications. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] Figure 1 is a block diagram of an example process control system including a subscription-based input / output server.

[0004] Figure 2A is a block diagram of a first example process control system configuration, which includes Figure 1 Subscription-based input / output servers and integrated computing devices.

[0005] Figure 2B is a block diagram of a second example process control system configuration, which includes Figure 1 and Figure 2A Subscription-based I / O server and integrated control device.

[0006] Figure 2C is a block diagram of a third example process control system configuration, which includes Figure 1 , Figure 2A and Figure 2B Subscription-based input / output servers and integrated workstations.

[0007] Figure 3 yes Figure 2A 0026] A more detailed block diagram of a first example process control system configuration.

[0008] Figure 4 yes Figure 2B FIG. 1 is a more detailed block diagram of a second example process control system configuration.

[0009] Figure 5 yes Figure 2C A more detailed block diagram of a third example process control system configuration.

[0010] Figure 6 includes an embedded interface configured to communicate with one or more example instruments, Figure 2B A block diagram of an example configuration of an integrated control device.

[0011] Figure 7 is interfaced with one or more example instruments and an example client application, Figure 2C A block diagram of a first example workstation configuration of an integrated workstation.

[0012] Figure 8 is to use an example instrument server and an example data server to interface with one or more example instruments and an example client application, Figure 2C A block diagram of a second example workstation configuration of an integrated workstation.

[0013] Fig. 9 is based on the example control customizer to Figure 8 One or more instruments and client applications to interface, Figure 2C A block diagram of a third example workstation configuration of an integrated workstation.

[0014] Fig.10 is interfaced with one or more example instruments, example client applications, and example process input / output data, Figure 2C A block diagram of a fourth example workstation configuration of an integrated workstation.

[0015] Fig.11 is to communicate with one or more example instruments and an example client application based on example process input / output data, Figure 2C A block diagram of a fifth example workstation configuration of an integrated workstation.

[0016] Fig.12 yes Figure 1 and FIG. 2A to FIG. 2C A block diagram of an example of a subscription-based input / output server.

[0017] Fig.13 Is has Figures 3 to 5 A block diagram of an example device-specific communication protocol driver for an example process control system configuration.

[0018] Fig.14 is a flowchart representing example machine-readable instructions and / or example operations that may be executed by example processor circuitry to implement Figure 1 , FIG. 2A to FIG. 2C and Fig.12 A subscription-based input / output server.

[0019] Fig.15 is a flowchart representing example machine-readable instructions and / or example operations that may be executed by example processor circuitry to implement Figure 1 , FIG. 2A to FIG. 2C and Fig.12 A subscription-based input / output server.

[0020] Fig.16 is a flowchart representing example machine-readable instructions and / or example operations that may be executed by example processor circuitry to implement Figures 6 to 10 data interface.

[0021] Fig.17 is a flowchart representing example machine-readable instructions and / or example operations that may be executed by example processor circuitry to implement Figure 1 , Figure 2B and Figure 6 control equipment.

[0022] Fig.18 is a block diagram of an example processing platform including processor circuitry configured to perform Figures 13 to 16 Example machine readable instructions and / or example operations to implement Figure 1 , FIG. 2A to FIG. 2C and Fig.12 A subscription-based input / output server.

[0023] Fig.19 yes Fig.18 A block diagram of an example implementation of a processor circuit system.

[0024] Fig. 20 yes Fig.18 A block diagram of another example implementation of a processor circuit system.

[0025] Fig.21 is a block diagram of an example software distribution platform (e.g., one or more servers) that distributes software (e.g., Figures 13 to 16 The invention also provides software corresponding to example machine-readable instructions of the present invention (software corresponding to example machine-readable instructions of the present invention) distributed to a client device associated with an end-user and / or consumer (e.g., for licensing, sale, and / or use), a retailer (e.g., for sale, resale, licensing, and / or sublicensing), and / or an original equipment manufacturer (OEM) (e.g., for inclusion in products to be distributed to, for example, retailers and / or other end-users such as direct purchasing consumers).

[0026] In general, like reference numerals are used to refer to like or similar parts throughout the drawing(s) and accompanying written description.The drawings are not drawn to scale.

[0027] As used herein, unless otherwise indicated, connection references (e.g., attachment, coupling, connection, and engagement) may include intermediate members between elements referenced by the connection reference and / or relative movement between those elements. Thus, connection references do not necessarily infer that two elements are directly connected and / or are in a fixed relationship to each other.

[0028] Unless otherwise specifically stated, descriptors such as "first", "second", "third", etc. are used herein without any implication or indication of priority, physical order, arrangement in a list, and / or ordering, but are merely used as labels and / or arbitrary names to distinguish elements to facilitate understanding of the disclosed examples. In some examples, the descriptor "first" may be used to refer to an element in a specific embodiment, while the same element may be referred to using different descriptors such as "second" or "third" in the claims. In such instances, it should be understood that such descriptors are only used to clearly identify those elements that may, for example, share the same name.

[0029] In the examples disclosed herein, "substantially real time" and "substantially real-time" refer to the execution of actions and / or data delivery that meet a response time value (e.g., within an expected time frame). As used herein, "substantially real time" and "substantially real-time" refer to "soft real time" and "soft real-time", respectively, because components such as hardware and / or software in the system receive data and / or expect response actions within a duration that does not exceed the expected response time. Such an example response time can be specified by a user via user input and / or can be stored in a configuration file and / or a product specification file as a response time parameter set to a response time value. In this way, the system can configure one or more of its components to provide a response and / or implement an action within a specified response time (e.g., in "substantially real time", "substantially real-time", "soft real time", and "soft real-time"). Therefore, unless otherwise specified, "substantially real time", "substantially real-time", "soft real time", and "soft real-time" refer to performing a response, performing an action, providing data, and / or receiving data within a specified response time relative to, for example, determining to perform an action, requesting to perform an action, requesting to generate data, the availability of data, and / or any other triggering event. In the examples disclosed herein, the specified response time may vary with the application and / or process. For example, some applications or processes in industries may require relatively fast response times, such as taking actions within 10 milliseconds, 50 milliseconds, one second, or any other suitable time frame. However, other example applications or processes may employ relatively slow response times, such as minutes, hours, or any other suitable time frame. In some examples, the response time of an action corresponds to the time it takes to initiate a process change (e.g., sending a command to open a valve to add a particular ingredient, sending a command to start a heating element to heat a column, sending a command to turn off a heating element to cool a tank, etc.). In other examples, the response time of an action corresponds to the time it takes to achieve a desired change based on measurements collected in the process (eg, achieving desired concentrations of ingredients, achieving a desired temperature of a component, etc.).

[0030] As used herein, the phrase "in communication" (including variations thereof) encompasses direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but additionally includes selective communication at periodic intervals, scheduled intervals, non-periodic intervals and / or one-time events.

[0031] As used herein, "processor circuitry" is defined as including (i) one or more dedicated circuits that are constructed to perform specific operations (multiple) and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors); and / or (ii) one or more general-purpose semiconductor-based circuits that are programmed with instructions to perform specific operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of processor circuitry include programmable microprocessors, field programmable gate arrays (FPGAs) that can instantiate instructions, central processor units (CPUs), graphics processor units (GPUs), digital signal processors (DSPs), XPUs or microcontrollers, and integrated circuits such as application-specific integrated circuits (ASICs), etc. For example, an XPU can be implemented by a heterogeneous computing system including multiple types of processor circuitry (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more DSPs, etc. and / or combinations thereof) and (multiple) application programming interfaces (APIs), which can assign (multiple) computing tasks to any one or more of the multiple types of processing circuitry that is most suitable for performing (multiple) computing tasks. DETAILED DESCRIPTION

[0032] Automation in process industries (e.g., pharmaceuticals, food, beverages, oil and gas, oil refining, etc.) uses an industrial process control system that is capable of implementing complex control strategies. The examples disclosed herein can be used to implement a process control system to increase production efficiency and enable continuous manufacturing. An automated control strategy is a control strategy that automates a manufacturing process. An automated control strategy for manufacturing goods can be implemented using a batch automated control strategy. A batch automated control strategy is a strategy that uses a method to monitor the quality of the goods or materials produced at different points in the manufacturing process during the manufacturing of goods or materials. In a batch automated control strategy, monitoring can be performed by autonomously collecting sensor data during manufacturing. Typically, a batch automated control strategy requires an operator at a workstation to check measurements generated using sensor data to determine the quality of a batch of goods. Existing implementations of automated control strategies are inefficient in applications such as pharmaceutical manufacturers and chemical manufacturers that require commodity quality measurements collected by instruments throughout the manufacturing process.

[0033] Process industries (which require commodity quality measurements throughout the manufacturing process) implement process analytical technology (PAT) equipment to determine the quality of products during manufacturing. PAT relates to a manufacturing method that can be used to achieve quality targets for commodities throughout commodity manufacturing. By measuring product factors (e.g., quality, chemical composition, specific gravity, etc.) throughout the manufacturing process, the actual quality of commodities can be measured relative to these quality targets. Control strategies can utilize PAT to determine the quality of products in substantially real time based on at least one of chemometric measurements and / or spectral measurements. For example, pharmaceutical manufacturing can use a spectrometer to collect light absorption measurements of raw materials to determine whether production operations on raw materials are reaching quality targets for raw materials. Control strategies that implement PAT can continuously and efficiently manufacture commodities throughout the manufacturing process based on substantially real-time determination of commodity quality. Implementations of continuous manufacturing using PAT are generally limited by the ability of the PAT control strategy to measure and analyze commodity quality in a timely and accurate manner and to control or influence the adjustment of manufacturing parameters based on these measurements and analyses.

[0034] The examples disclosed herein can be used for continuous manufacturing of products to meet the improvement of commodity quality specifications. For example, the examples disclosed herein can be used to implement technologies that can measure product factors (e.g., quality, chemical composition, specific gravity, etc.) throughout the manufacturing process. In some examples, the examples disclosed herein can be used for continuous manufacturing to automate the process to determine modifications to the manufacturing process based on the measured product factors.

[0035] Examples disclosed herein include performing process analysis to implement methods and apparatus for automated control strategies that utilize PAT devices in distributed control systems. In some disclosed examples, the quality of a commodity is determined using measurements published to a subscription-based input / output (I / O) server through an instrument interface. The automated control strategy can predict the future quality of a commodity based on a data model and near-real-time measurements. The data model used to generate commodity quality predictions can be a parameterized data model that is determined based on historical product quality measurements. Devices subscribed to a subscription-based I / O server can access near-real-time measurements. The automated control strategy can utilize commodity quality predictions to autonomously modify production operations to correct for changes over time.

[0036] Figure 1 is a block diagram of an example process control system 100 including an example subscription-based I / O server 105. Figure 1 In the example of , the process control system 100 includes a subscription-based I / O server 105, an example controller 110, a first example field device 115, a first example process 120, a second example field device 125, a second example process 130, a third example field device 135, a third example process 140, an example data storage device 145, an example workstation 150, an example computing device 155, and an example control device 160. Figure 1 In the example of the process control system 100, as shown, the components of the process control system 100 are coupled in a communicative manner. Such communicative coupling can be performed by any suitable communication protocol, communication standard, etc. using a wired communication medium and / or a wireless communication medium. For example, some components can communicate with each other by wire, while other components can be coupled wirelessly. The example process control system 100 utilizes field devices 115, 125, and 135 to monitor processes 120, 130, and 140. The example process control system 100 is configured to use measurements published to a subscription-based I / O server 105 to determine the quality of a product.

[0037] exist Figure 1In the example disclosed herein, the subscription-based I / O server 105 is communicatively coupled to the controller 110, the data storage device 145, the workstation 150, the computing device 155, and the control device 160. Information (e.g., measurement data, commands) can be published to the example subscription-based I / O server 105 by the controller 110, the field devices 115, 125, and 135, and / or the computing device 155. In the examples disclosed herein, devices that can publish data to the subscription-based I / O server 105 can be referred to as publisher device types. The workstation 150, the computing device 155, and / or the control device 160 can access data (e.g., measurement data) from the example subscription-based I / O server 105. In the examples disclosed herein, devices that can access data on the subscription-based I / O server 105 can be referred to as subscriber device types. The following command can be issued to the subscription-based I / O server 105 by the computing device 155, which is used to manage or calibrate one or more of the example field devices 115, 125 and / or 135, and the computing device 155 can be referred to as a master subscriber device type. As used herein, the master subscriber device type can access data published to the subscription-based I / O server 105, and publish commands to the subscription-based I / O server 105. In response to assigning the device requesting access as a device type capable of accessing measurement data, the example subscription-based I / O server 105 can provide access to data stored in the data storage device 145. This device type that accesses measurement data can be established as a publisher device type, a subscriber device type, or a master subscriber device type. Alternatively, the example subscription-based I / O server 105 can include multiple alternative classifications of devices based on the publishing operations and / or access operations that can be performed by the device.

[0038] The example subscription-based I / O server 105 determines whether a device is a publisher device type, a subscriber device type, or a master subscriber device type based on the configuration information in the subscription-based I / O server 105. For example, the subscription-based I / O server 105 can access the configuration file in the data storage device 145 to determine which devices are allowed to publish data, access data, and / or issue commands. In this example, the configuration file may include a list of devices and the following indication, which is used to indicate whether the device is a publisher device type, a subscriber device type, or a master subscriber device type. The example subscription-based I / O server 105 can use rules to determine whether a device is a publisher device type, a subscriber device type, or a master subscriber type. For example, the subscription-based I / O server 105 may include the following rules, which allow a device to access data in response to receiving a valid digital signature from the device. In this example, the subscription-based I / O server 105 can be configured to: in response to verifying a valid digital signature, configure any device as a subscriber device, so that the device type is assigned in response to verifying the digital signature from the device. The example subscription-based I / O server 105 may determine the device type based on predetermined security requirements for each of the device types, such as requiring a valid digital signature to access data published to the subscription-based I / O server 105. For example, the subscription-based I / O server 105 may require the device to provide a valid digital signature that confirms that the device is a subscriber device type before allowing the device to access data published to the subscription-based I / O server 105.

[0039] The example controller 110 is communicatively coupled between the subscription-based I / O server 105 and the field devices 115, 125, and 135. The example controller 110 is configured as a publisher device such that the controller 110 publishes measurements to the subscription-based I / O server 105. For example, the subscription-based I / O server 105 may send one or more calibration commands or management commands to the controller 110 to configure the controller 110 as a publisher device type. The management commands from the example subscription-based I / O server 105 may configure the controller 110 to publish measurements from the first field device 115 at periodic intervals, such as every second, every 5 seconds, every 30 seconds, every fraction of a second, etc. In some examples, the subscription-based I / O server 105 may send a calibration command to the controller 110 to configure the controller 110 to calibrate the first field device 115. In the examples disclosed herein, the calibration command or the management command includes a device identifier that indicates which of the field devices 115, 125, or 135 is to be modified by the command. Additionally, the management command specifies the operation of the communication mode, device calibration configuration, fault detection configuration, etc. For example, the controller 110 may determine which of the field devices 115, 125, or 135 to send the management command to based on the device identifier included in the management command. In some examples, the controller 110 may remove the device identifier from the management command before sending the management command. The fault detection configuration may be configured to cause one of the field devices 115, 125, or 135 to publish a data indication as part of the device-specific metadata in response to a device error.

[0040] The example controller 110 is configured to collect measurements from the field devices 115, 125, and 135 using one or more communication protocols (e.g., OPC UA, Tec5, VIAVI, etc.). For example, the controller 110 may be configured to communicate with the first field device 115 using the Tec5 protocol library and to communicate with the second field device 125 using the VIAVI protocol library. The example controller 110 may be configured to interface with the field devices 115, 125, and 135 based on the product being manufactured.

[0041] Example field devices 115, 125, and 135 are communicatively coupled to the controller 110 to monitor and / or implement one or more aspects of the processes 120, 130, and 140. Figure 1In the example of , field devices 115, 125 and 135 are shown as corresponding to the corresponding processes in the processes 120, 130 or 140. Alternatively, some of the example field devices 115, 125 and / or 135 may correspond to multiple processes in the processes 120, 130 or 140. The example field devices 115, 125 and 135 are configured to measure key parameters of the product throughout the manufacturing process. The example field devices 115, 125 and 135 can be instruments used to measure data values, which are related to the color spectrum, spectrum, particle size, heat flow calorimeter and / or any other desired characteristics of the commodity. The example field devices 115, 125 and 135 can be modified and / or calibrated by commands issued by the controller 110. For example, the controller 110 can send a command to calibrate the first field device 115 to a calibration value specific to the next product to be manufactured. In such an example, the calibration command can include data that is specific to the measurement type or data type generated by the first field device 115. The example field devices 115 , 125 , and 135 provide data values ​​to the controller 110 , which the process control system 100 may use to determine the quality of a product and / or predict the future quality of a product.

[0042] The example processes 120, 130, and 140 are illustrative representations of processes performed by a manufacturer to produce a commodity. The example process control system 100 may: modify one or more aspects of the processes 120, 130, and 140 based on determining that the quality of a product is outside of a specific value range. The example processes 120, 130, and 140 are monitored by field devices 115, 125, and 135 so that the process control system 100 can determine substantially real-time quality of a product and / or predict future quality of a product being manufactured.

[0043] An example data store 145 is coupled to the subscription-based I / O server 105. The example data store 145 may be configured to store product quality values, product quality predictions, measurement data, configuration information, etc. The example data store 145 may be configured as a shared memory in which devices communicatively coupled to the subscription-based I / O server 105 may store data. The example data store 145 may store previously predicted product quality values ​​so that the predicted product quality values ​​may be compared to the product quality values.

[0044] The example workstation 150 is coupled to the subscription-based I / O server 105. Figure 1In the example of , the workstation 150 is configured as a subscriber device so that the workstation 150 can access data published to the subscription-based I / O server 105. The example workstation 150 can be used to execute client applications, human machine interfaces, process monitors, process diagnostic generators, historians, Internet of Things (IoT) interfaces, third-party chemical metrology tools, etc. The example workstation 150 is configured to display measurements collected by the field devices 115, 125, and 135.

[0045] The example computing device 155 is communicatively coupled to the subscription-based I / O server 105. The example computing device 155 is configured to send commands to the controller 110 using the subscription-based I / O server 105. In some examples, the computing device 155 may include the subscription-based I / O server 105 and the controller 110 such that the computing device 155 may send commands to the field devices 115, 125, and 135.

[0046] The example control device 160 is communicatively coupled to the subscription-based I / O server 105. The example control device 160 is configured as a master subscriber device such that the control device 160 can use the subscription-based I / O server 105 to issue commands and access data. The example control device 160 is configured to determine the quality of a product being manufactured based on measurements collected by the field devices 115, 125, and 135. The example control device 160 is configured to use a parametric data model to generate a product quality prediction for the product being produced. For example, the control device 160 can use the parametric data model stored in the data storage device 145 and the measurements from the field devices 115, 125, and 135 to predict the quality of the product at a later time. The example control device 160 can be communicatively coupled to the subscription-based I / O server 105. In some examples, control device 160 may access the data model and / or measurements using an online medium, such as accessing data at a public Internet Protocol address or a private Internet Protocol address corresponding to data storage 145 using an Internet communication protocol.

[0047] Different aspects of the example process control system 100 may be configured based on user input and / or one or more configuration files. For example, the timing(s) of the process control system 100 may be configured based on user input and / or a configuration file that specifies one or more response time values ​​(e.g., response time(s) values ​​set in response time(s) parameters) for implementing "substantially real-time" or "soft real-time" timing of the system. In some examples, different aspects of the process control system 100 may be configured in different ways to operate based on different response times. Such configurable values ​​may be updated from time to time in the example process control system 100 and stored as configuration information. In operation, the example subscription-based I / O server 105 configures itself based on the system configuration information stored in the data storage device 145. The example subscription-based I / O server 105 sends commands to the controller 110 and / or the computing device 155 to initialize the field devices 115, 125, and 135 to measure at least one of the processes 120, 130, or 140 based on the system configuration. For example, the subscription-based I / O server 105 may issue a command included in the system configuration to initialize a communication protocol specific to the field devices 115, 125, and 135. The example computing device 155 may: access a library of communication protocols in the data storage 145 based on the communication protocols for the field devices 115, 125, and 135. The example subscription-based I / O server 105 may indicate a data model in the data storage 145 for use by the control device 160 to predict the quality of one or more products corresponding to the processes 120, 130, and 140.

[0048] In operation, the example controller 110 publishes measurement data generated by the field devices 115, 125, and 135 to the subscription-based I / O server 105. The example controller 110 may be configured to publish the measurement data to the subscription-based I / O server 105 in substantially real time. When the data is published to the subscription-based I / O server 105 by the controller 110 and / or the computing device 155, the example subscription-based I / O server 105 allows subscriber devices to access the measurement data. The example control device 160 determines the quality of the product at a first time based on the current measurement data. The example control device 160 uses the data model to predict the quality of the product at a second time. The example control device 160 may issue one or more management commands to the subscription-based I / O server 105 based on the predicted quality of the product at a second time (e.g., a future time or a time when the measurement data has not yet been collected). The example control device 160 may issue one or more calibration commands to the subscription-based I / O server 105 based on the predicted quality of the product at the second time to improve the measurement data accuracy.

[0049] The example field devices 115, 125, and 135 monitor the processes 120, 130, and 140 to generate measurement data that can be used to determine product quality throughout the manufacturing process. The example control device 160 uses a data model to predict subsequent product quality values ​​based on substantially real-time measurements of the processes 120, 130, and 140. The example process control system 100 is capable of both batch manufacturing and continuous manufacturing. During such manufacturing, the subscription-based I / O server 105 enables the control device 160 to determine product quality values ​​based on substantially real-time measurements from PAT devices (e.g., field devices 115, 125, and 135).

[0050] Figure 2A Yes Figure 1 A block diagram of a first example process control system configuration 200 of a subscription-based I / O server 105 and an example integrated computing device 205 is shown. Figure 2A In the example of , the first process control system configuration 200 includes a subscription-based I / O server 105, an integrated computing device 205, an example instrument 210, an example control device 215, and an example workstation 220. The first example process control system configuration 200 is a distributed process control system such that components of the first process control system configuration 200 can be distributed across a network and / or one or more geographic locations and / or network locations. The first example process control system configuration 200 is configured to provide data measurements from the instrument 210 to the control device 215 and the workstation 220 using the integrated computing device 205. The first example process control system configuration 200 is configured to distribute operations for determining product quality values ​​to the locations of the control device 215. As such, the control device 215 can be hosted by an off-site entity such as a third-party service provider.

[0051] exist Figure 2A In the example of FIG. 2 , the integrated computing device 205 is coupled to the instrument 210, the control device 215, and the workstation 220. The example integrated computing device 205 includes a subscription-based I / O server 105. The example integrated computing device 205 is configured to communicate with Figure 1 The example integrated computing device 205 is configured to interface with the instrument 210, the control device 215, and the workstation 220 using the subscription-based I / O server 105. The example integrated computing device 205 is configured to integrate PAT connectivity and provide data to the control device 215 and the workstation 220 using the subscription-based I / O server 105.

[0052] In the illustrated example, the PAT integration using the integrated computing device 205 includes components implemented as containers within the integrated computing device 205. For example, the PAT device is integrated into the first process control system configuration 200 by using the subscription-based I / O server 105 of the integrated computing device 205 as a dedicated device network. A container is a package of one or more software that contains operations required to perform when running in a computing environment such as a virtualized operating system, processing core, etc. By using the example integrated computing device 205 as a dedicated device network, measurements from instruments 210 can be published by the integrated computing device 205 through the subscription-based I / O server 105. The example integrated computing device 205 can be configured to collect measurement data from the instruments 210 using a data exchange protocol such as OPC-UA, Tec5, VIAVI, etc.

[0053] The example integrated computing device 205 is configured to be controlled by the control device 215 to manage and operate a PAT device, such as an instrument 210. For example, the integrated computing device 205 manages the tool 210 based on one or more management commands (the management commands are published by the control device 215 to the subscription-based I / O server 105). In this example, the integrated computing device 205 accesses the device indication in the management command to determine which instrument in the instruments 210 corresponds to the management command. The example integrated computing device 205 can be configured to send the management command data to the specific device using a device-specific data exchange (the device-specific data exchange corresponds to a device-specific driver that can allow the integrated computing device 205 to communicate with the specific device). The example integrated computing device 205 allows the management command and / or calibration command to be a device-specific command. The example integrated computing device 205 sends the command to the instrument 210 using the device-specific data exchange.

[0054] The example instrument 210 is coupled to the example integrated computing device 205. The example instrument 210 is a PAT device capable of measuring data to determine a product quality value. Examples of PAT devices include devices capable of measuring a color spectrum, a spectrum, a particle size, and / or a heat flow calorimeter. Figure 2A In the example of , the instrument 210 includes an example chromatographic detector 210A, an example spectrometer 210B, an example particle size analyzer 210C, and an example heat flow calorimeter 210D. Alternatively, the example instrument 210 may include a combination of PAT devices and / or multiple PAT devices based on the product quality specifications of the product being manufactured.

[0055] The example instrument 210 is configured to communicate with the integrated computing device 205 to publish substantially real-time data measurements to the subscription-based I / O server 105. The example instrument 210 includes one or more PAT devices that are configured to provide data as input data to a device driver to be published to the subscription-based I / O server 105. Example data types that may be published to the example subscription-based I / O server 105 include sensor data, and / or device-specific metadata. Example sensor data includes at least one of a spectral value, an absorption value, a particle size value, or a thermal value. Example device-specific metadata includes at least one of a device state or a device identification value. For example, the integrated computing device 205 publishes a device identification value associated with the corresponding sensor data to the subscription-based I / O server 105 so that a subscriber device (e.g., Figure 1 Workstation 150, Figure 1 The example tool 210 can determine which instrument in the instrument 210 measured which sensor data. By including the device identification value in the device-specific metadata, the example tool 210 can indicate device failures or other device-specific data to the subscriber device.

[0056] The example instrument 210 is configured to receive management commands and / or calibration commands from the integrated computing device 205. For example, the integrated computing device 205 can send a calibration command to configure the chromatographic detector 210A by replacing the first device calibration settings with the second device calibration settings. In such an example, the first device calibration settings can be specific to measuring a first process, while the second device calibration settings can be specific to measuring a second process. In this manner, the example instrument 210 can be reconfigured at different times so that for different types of processes, the first process control system configuration 200 can monitor different product quality specifications or process operating conditions.

[0057] The example chromatographic detector 210A may be a PAT device configured to measure spectral values, such as a high performance liquid chromatography sensor, an ultra-high performance liquid chromatography sensor, an ion exchange chromatography sensor, a reverse phase chromatography sensor, a hydrophilic chromatography sensor, a ligand exchange chromatography sensor, an ion exclusion chromatography sensor, an ion chromatography sensor, a hydrophobic interaction chromatography sensor, and / or an affinity chromatography sensor. The example spectrometer 210B may be a PAT device configured to measure spectral values, such as a mid-infrared spectral sensor, a Raman spectral sensor, an ultraviolet spectral sensor, a visible spectral sensor, a near-infrared spectral sensor, a radio frequency sensor, a microwave sensor, an infrared sensor, and / or a Fourier transform infrared spectral sensor. The example particle size analyzer 210C may be a PAT device configured to measure particle size values, such as a laser diffraction sensor, a dynamic light scattering sensor, a sedimentation sensor, a sieve frame analyzer, an in-situ video microscope, a focused beam reflectivity measurement sensor. The example heat flow calorimeter 210D may be a PAT device configured to measure heat flow values, such as a reaction calorimeter.

[0058] The example control device 215 is coupled to the integrated computing device 205 through the subscription-based I / O server 105 so that data published by the control device 215 to the subscription-based I / O server 105 is accessible by the integrated computing device 205. Figure 2A In the example of , the control device 215 is a master subscriber device configured to access measurement data and / or issue commands. The example control device 215 is configured to access measurement data that has been published to the subscription-based I / O server 105. The example control device 215 determines a product quality value based on the measurement data.

[0059] The example control device 215 is configured to predict product quality prediction values ​​based on a data model. The example data model can be generated based on historical data of previous product quality values. For example, previous product quality values ​​can be used to determine a parameter data model that predicts future product quality values ​​based on product quality values ​​published to a subscription-based I / O server 105. Some example data models can be specific to product quality specifications corresponding to the product being manufactured. The example control device 215 is configured to generate diagnostic information based on at least one product quality prediction. Such diagnostic information can be used by a diagnostic tool to control a manufacturing process.

[0060] The example control device 215 is configured to modify production operations based on the product quality prediction. The example control device 215 can: select a management command or a calibration command to publish to the subscription-based I / O server 105 based on the product quality prediction. For example, the control device 215 can: select a management command based on the product quality prediction being below a threshold value specified as part of the product quality specification. The example control device 215 can: modify the production process (e.g., Figure 1 By selecting commands to ensure that future product quality values ​​meet product quality specifications for products being produced, the example control device 215 improves production efficiency.

[0061] The example control device 215 can verify the product quality prediction by comparing the product quality prediction with the future product quality value. The example control device 215 can be configured to update the data model used to predict the future product quality value based on the accuracy of the product quality prediction. For example, the control device 215 can improve the accuracy of the data model by modifying the parameter values ​​of the data model to reflect the comparison of the previous product quality prediction with the actual product quality value determined using the measurement data. In this way, by modifying the parameter values ​​of the data model based on comparing the previous product quality prediction with the actual product quality value determined using the measurement data, the control device 215 can improve the accuracy of the product quality prediction.

[0062] The example workstation 220 is coupled to the integrated computing device 205 via the subscription-based I / O server 105, such that the workstation 220 can access data published by the integrated computing device 205 to the subscription-based I / O server 105. Figure 2A In the example of , the workstation 220 is a subscriber device that is configured to access measurement data published to the subscription-based I / O server 105. The example workstation 220 is configured to provide measurement data to one or more of a human-machine interface, a process monitor, a process diagnostic generator, a historian, an edge interface, an IoT interface, and / or a third-party application. The first example process control system configuration 200 may include one or more of the workstations 220. The example workstation 220 enables the first process control system configuration 200 to support continuous manufacturing and batch manufacturing.

[0063] Figure 2B is a block diagram of a second example process control system configuration 225, which includes Figure 1 and Figure 2A An example subscription-based I / O server 105 and an example integrated control device 230 are provided. Figure 2B In the example of FIG. 2 , the second process control system configuration 225 includes a subscription-based I / O server 105, an instrument 210, Figure 2AThe second example process control system configuration 225 is a distributed control system such that the workstation 220 and the integrated control device 230 are communicatively coupled to the subscription-based I / O server 105. The second example process control system configuration 225 is configured as follows: In the integrated control device 230, Figure 2A The integrated computing device 205 and Figure 2A The function of the control device 215.

[0064] exist Figure 2B In the example of , the integrated control device 230 is communicatively coupled to the instrument 210 and the workstation 220. The example integrated control device 230 is configured to configure and / or control the instrument 210. For example, the integrated control device 230 can program the instrument 210 to operate based on a corresponding calibration configuration to collect measurement data and publish the collected measurement data to the integrated control device 230. In turn, the example integrated control device 230 can publish the measurement data to the subscription-based I / O server 105. The example integrated control device 230 is configured to: Figure 2A The integrated control device 230 may include the same method as described above in conjunction with the control device 215 to generate product quality predictions. Figure 2A The functions of the integrated computing device 205 and / or the control device 215 described are substantially similar or identical functions. In some examples, the integrated computing device 205 and the control device 215 can be implemented as one or more containers in the integrated control device 230. For example, the integrated control device 230 can include: a first container (e.g., a first logical network and / or a network at a first geographical location) that implements the functions of the integrated computing device 205 in a first network at a first network location; and a second container (e.g., a second logical network and / or a network at a second geographical location) that implements the functions of the control device 215 in a second network at a second network location. In such an example, the subscription-based I / O server 105 can be hosted on a local network, and the first network and the second network can be communicatively coupled via the local network, so that the first container and the second container form the integrated control device 230. In some examples, the integrated control device 230 can be located in a first network that is communicatively coupled to a second network where the workstation 220 is located.

[0065] The example integrated control device 230 is configured to exchange data (e.g., management commands, calibration commands, sensor data, device-specific metadata, etc.) via a dedicated device network. In the examples disclosed herein, the dedicated device network is configured to communicate information between the instrument 210 and the integrated control device 230 using one or more device-specific communication protocols (e.g., OPC UA, VIAVI, Tec5, etc.). Thus, the dedicated device network may use two different device-specific communication protocols corresponding to two different example instruments in the example instrument 210. Alternatively, if only one of the instruments 210 is in operation, or if all instruments 210 are compatible with the single device-specific communication protocol, the dedicated device network may use a single device-specific communication protocol. The example dedicated device network may be implemented entirely on a local network, or across a combination of one or more local networks and / or wide area networks (e.g., the Internet, a cellular network, etc.). For example, the instrument 210 may operate on a first local network that is connected to a second local network (in which the integrated control device 230 operates) via the Internet. In some examples, the following may be used in conjunction with the example integrated control device 230. Figure 3 The device specific communication protocol driver (DSCPD) 305 described above is used to implement a specialized device network. The second example process control system configuration 225 can distribute the operation of the integrated control device 230 across a local network so that a container (which is used to implement the functions of the integrated control device 230 in a distributed manner) can be located at multiple network locations. The example workstation 220 can access the subscription-based I / O server 105 using online network access. This network-based access to the subscription-based I / O server 105 allows the workstation 220 to be in a logical network and / or geographic location that is separate from the logical network and / or the geographic location of the integrated control device 230.

[0066] Figure 2C Yes Figure 1 , Figure 2A and Figure 2B FIG. 2 is an example block diagram of a third example process control system configuration 235 of an example subscription-based I / O server 105 and an example integration workstation 240. Figure 2C In the example of Figure 2A and Figure 2BThe third example process control system configuration 235 may be a distributed process control system, and the instrument 210 may communicate with the integration workstation 240 using a dedicated device network. For example, an instrument 210 at a first geographic location may be coupled to an integration workstation 240 at a second geographic location using a dedicated device network. In such an example, the dedicated device network is configured to enable device-specific data exchange using a local area network and / or a wide area network.

[0067] The example integrated workstation 240 includes a subscription-based I / O server 105 and implements Figure 2A Integrated computing device 205, Figure 2A The control device 215 and Figure 2A and Figure 2B The integrated computing device 205, the control device 215, and the workstation 220 are implemented in the integrated workstation 240 using one or more containers at one or more networks (e.g., one or more logical networks, one or more networks at different geographical locations, etc.). For example, the integrated workstation 240 may include: a first container at a first geographical location to host the functionality of the integrated computing device 205; a second container at a second geographical location to host the functionality of the control device 215; and a third container at a third geographical location to host the functionality of the workstation 220. In such an example, the first container, the second container, and the third container may be communicatively coupled to the subscription-based I / O server 105 on the local network. For example, the first geographical location, the second geographical location, and the third geographical location may be in the same manufacturing facility. Figure 2C The example integrated workstation 240 substantially reduces or eliminates maintenance Figure 2A The need for separate instances of the integrated computing device 205, control device 215, and / or workstation 220 is shown.

[0068] exist Figures 3 to 5 In the example of , the subscription-based I / O server 105 implements the examples disclosed herein to enable the use of PAT to support continuous manufacturing in a manufacturing environment where product quality values ​​need to be monitored throughout the manufacturing process. Figures 6 to 11 In the example of , instead of using a subscription-based I / O server 105, a data server and / or instrument proxy server is used to implement the examples disclosed herein to enable continuous manufacturing using PAT.

[0069] Figure 3 yes Figure 2A A more detailed block diagram of a first example process control system configuration 200 is shown. Figure 3In the example, the first example process control system configuration 200 includes Figure 2A Integrated computing device 205, FIG. 2A to FIG. 2C Instruments 210, Figure 2A The control device 215 and Figure 2A and Figure 2B Workstation 220.

[0070] exist Figure 3 In the example of FIG. 2 , the integrated computing device 205 is communicatively coupled to the instrument 210, the control device 215, and the workstation 220. The example integrated computing device 205 includes Figure 1 and FIG. 2A to FIG. 2C A subscription-based I / O server 105, and an example device specific communication protocol driver (DSCPD) 305.

[0071] The example DSCPD 305 is configured to send commands from the subscription-based I / O server 105 to the instrument 210. The example DSCPD 305 is configured to utilize a device-specific communication protocol to send calibration commands and management commands to the instrument 210 using a communication protocol (or protocols) corresponding to one or more of the instruments 210. Based on the device indication in the command from the subscription-based I / O server 105, the example DSCPD 305 can determine which instrument 210 of the instrument 210 sends the command. The example DSCPD 305 can modify the command based on the device-specific communication protocol. For example, the chromatographic detector 210A can utilize the Tec5 communication protocol to receive the command as a transaction. In this example, the DSCPD 305 can utilize the Tec5 library to communicate the command issued by the control device 215 to the subscription library I / O server 105, thereby as a transaction between the DSCPD 305 and the chromatographic detector 210A. Additionally, the example DSCPD 305 generates device-specific communications based on commands published by the control device 215 to the subscription-based I / O server 105. For example, when a command specifies configuration information for a specific instrument in the instruments 210, the DSCPD 305 generates the device-specific communication using a communication protocol corresponding to one of the instruments 210 and uses the device-specific communication to send the configuration information to one of the instruments 210. The example DSCPD 305 may include a plurality of drivers for one or more communication protocols to communicate between the integrated computing device 205 and the instruments 210.

[0072] The example DSCPD 305 is configured to publish sensor data and device-specific metadata to the subscription-based I / O server 105. The example DSCPD 305 can utilize multiple communication protocols to receive sensor data from one or more instruments in the instrument 210. For example, the DSCPD 305 can utilize the VIAVI communication library to receive sensor data from the spectrometer 210B and utilize the OPC UA communication library to receive sensor data from the particle size analyzer 210C. The example DSCPD 305 can be configured to combine the sensor data with the device-specific metadata to generate measurement data from one or more instruments in the instrument 210 to be published by the DSCPD 305 to the subscription-based I / O server 105. The example DSCPD 305 can be configured to utilize a device-specific communication protocol to receive device-specific metadata, such as a device status or a device identification value. For example, the DSCPD 305 can receive a fault indication from the heat flow calorimeter 210D. Alternatively, the example DSCPD 305 can utilize one or more commands of the device-specific communication protocol to determine the device-specific metadata by sending the one or more commands to one or more of the instruments 210. In turn, in response to the one or more commands, the one or more instruments 210 provide the device-specific metadata to the DSCPD 305. The example DSCPD 305 publishes the combination of sensor data and / or device-specific metadata to the subscription-based I / O server 105. In addition, the example DSCPD 305 publishes the measurement data to the subscription-based I / O server 105 substantially as input data from the instrument 210 to enable the control device 215 to implement the PAT control policy based on the published measurement data.

[0073] exist Figure 3 In the example of , the control device 215 includes an example process I / O layer 310, an example chemometric model prediction engine (CMPE) 315, an example policy controller 320, and an example process analytical technology device management circuit system 325. The example control device 215 is configured as a primary subscriber to the subscription-based I / O server 105. By being a primary subscriber, the example control device 215 can access data published to the subscription-based I / O server 105 and issue commands to the subscription-based I / O server 105.

[0074] The example process I / O layer 310 is communicatively coupled to the subscription-based I / O servers 105, the CMPE 315, and the PAT device management circuitry 325. The example process I / O layer 310 is configured as a primary subscriber. As a primary subscriber, the process I / O layer 310 can issue commands to the subscription-based I / O servers 105 and access data published to the subscription-based I / O servers 105. The example process I / O layer 310 can be configured to access data published to the subscription-based I / O servers 105 and provide the accessed data to the CMPE 315. The example process I / O layer 310 can provide data to the CMPE 315 in substantially real time or near real time for use in determining a prediction of product quality.

[0075] The example process I / O layer 310 is configured to publish commands from the PAT device management circuitry 325 to the subscription-based I / O servers 105. The example process I / O layer 310 may be configured to publish management commands and / or calibration commands to the subscription-based I / O servers 105 based on transactions from the PAT device management circuitry 325. For example, the process I / O layer 310 may publish commands to the subscription-based I / O servers 105 in substantially real time.

[0076] The example CMPE 315 is communicatively coupled to the process I / O layer 310 and the policy controller 320. The example CMPE 315 is configured to determine product quality predictions using data and data models from the process I / O layer 310. For example, the CMPE 315 can provide sensor data to a parameter data model to generate a product quality prediction and / or an actual product quality. Using previous product quality predictions, an example data model that can be used by the CMPE 315 can be generated. The example data model can be generated by preprocessing historical product quality predictions. For example, the data model can be generated by comparing the actual product quality with the product quality prediction. The results from this comparison can be used to modify the parameter values ​​to increase the accuracy of the data model. Preprocessing the historical product quality predictions reduces the integration complexity of the data model. For example, the data model can be trained using a comparison of a product quality prediction determined at a first time with an actual product quality determined at a second time. In some examples, the CMPE 315 can use model processing to determine a product quality prediction based on sensor data from the process I / O layer 310.

[0077] The example policy controller 320 is communicatively coupled between the CMPE 315 and the PAT device management circuitry 325. The example policy controller 320 is configured to implement a process-specific control strategy and receive a product quality prediction from the CMPE 315. The example policy controller 320 is configured to adapt a manufacturing process that is being monitored by the first process control system configuration 200 based on the control strategy. For example, based on the product quality prediction generated by the CMPE 315, the policy controller 320 may modify Figure 1 The policy controller 320 may modify one or more of the processes 120, 130, and / or 140 of the embodiment of the present invention. In such an example, upon detecting that the product quality prediction is below a product quality threshold (e.g., a threshold defined in a product quality specification), the policy controller 320 may modify the process(es) 120, 130, and / or 140. The example policy controller 320 may be configured to modify the manufacturing based on a continuous control strategy or a batch control strategy. The example policy controller 320 may communicate with the PAT device management circuit system 325 to issue commands to the subscription-based I / O server 105 based on the product quality prediction from the CMPE 315. In some examples, the policy controller 320 may communicate with the PAT device management circuit system 325 to modify the process(es) 120, 130, and / or 140 based on the state of the instrument 210. For example, the policy controller 320 may drive the first process 120 to change the state of the first process 120 from a non-optimal state or a degraded state to an optimal state, so that the measurement data from the first field device 115 indicates a product quality corresponding to the optimal state. In these examples, modifications to the process(es) 120 , 130 , and / or 140 to modify the operating state may be validated by comparing measurement data collected during the non-optimal state with measurement data collected after the modifications were made by the policy controller 320 .

[0078] The example PAT device management circuitry 325 is communicatively coupled between the process I / O layer 310 and the policy controller 320. The example PAT device management circuitry 325 is configured to provide the policy controller 320 with the device status of the instrument 210. The example PAT device management circuitry 325 is configured to communicate commands to the process I / O layer 310 so that the process I / O layer 310 can issue such commands to the subscription-based I / O server 105. The example PAT device management circuitry 325 is configured based on a PAT device such as the instrument 210. For example, the PAT device management circuitry 325 can be configured to monitor the status of the instrument 210 for device-specific status indications that may require the policy controller 320 to modify the control strategy to ensure that an acceptable product quality value is achieved. In such an example, the instrument 210 can generate a hardware and / or software interrupt as a device-specific status indication to alert the policy controller 320 of a sensor value outside of an acceptable value range so that the policy controller 320 can modify the control strategy to ensure acceptable product quality.

[0079] The example PAT device management circuit system 325 can be configured to select calibration commands and / or management commands based on the product quality prediction generated by the CMPE 315. For example, the PAT device management circuit system 325 can select commands to verify the product quality prediction. In some examples, the PAT device management circuit system 325 can select management commands specific to the product quality prediction to enable fault detection on one or more instruments in the instruments 210A to 210D. Through such fault detection monitoring, the product quality prediction can be verified when no fault is detected in the instruments 210A to 210D. In such an example, the PAT device management circuit system 325 can select management commands to modify the rate at which the sensor values ​​are published by the instruments 210A to 210D for a period of time. Such management commands can be selected to verify the product quality prediction across multiple values. Such modifications to the instruments 210A to 210D can be included in management commands that modify the device mode, or referred to as management commands that modify the device mode. The example PAT device management circuit system 325 can select commands to modify device modes (e.g., sampling rate, communication protocol, etc.), device calibration (e.g., initializing calibration, setting offset values, functions applied to measured values, etc.), fault detection (e.g., enabling interrupts, setting thresholds, etc.), etc.

[0080] The example workstation 220 is coupled to the subscription-based I / O server 105 of the integrated computing device 205. Figure 3In the example of FIG. 1 , the workstation 220 includes an example human machine interface (HMI) 330, an example process monitor 335, an example process diagnostic generator 340, an example historian 345, an example edge / IoT interface 350, an example third party chemical metrology tool 355, and an example control system configuration service 360. Alternatively, the subscription-based I / O server 105 can be communicatively coupled to multiple workstations, including Figure 3 One or more of the components shown in the example workstation 220.

[0081] exist Figure 3 In the example of , the HMI 330, process monitor 335, process diagnostic generator 340, historian collector 345, edge / IoT interface 350, and third-party chemical metrology tool 355 are configured as subscriber devices that can access data published to the subscription-based I / O server 105. The example HMI 330 is configured to utilize a user interface (e.g., a graphical user interface (GUI)) to provide a visual representation of the data published to the subscription-based I / O server 105. The example process monitor 335 is configured to monitor each of the processes 120, 130, and / or 140 according to device-specific metadata. For example, the device-specific metadata can configure the process monitor 335 to separate or parse sensor data based on different measured aspects of the process monitored by the instrument 210.

[0082] The example process diagnostic generator 340 is configured to monitor device specific metadata to generate diagnostic data (e.g., fault detection, device calibration, device mode, etc.). The example historian collector 345 is configured to store sensor data during a manufacturing process. The sensor data collected during the manufacturing process can be used to implement a batch process control strategy for the manufacturing process. The batch process control strategy can use sensor data over a period of time to divide the manufacturing process into separate batches. The example historian collector 345 can be coupled to a data storage device (e.g., Figure 1 A data storage device 145) is provided to store sensor data and / or device-specific metadata.

[0083] The example edge / IoT interface 350 is configured to provide data published to the subscription-based I / O server 105 to one or more of the edge devices, IoT devices, and / or service providers. The example workstation 220 may include one or more edge / IoT interfaces in the edge / IoT interface interface 350 to provide data to one or more devices and / or services. The example third-party chemical metrology tool 355 is configured to implement a third-party application using data published to the subscription-based I / O server 105. For example, the third-party chemical metrology tool 355 can be an application specific to the product being manufactured or customized for the product being manufactured. The example third-party chemical metrology tool 355 allows manufacturers (e.g., consumers of the subscription-based I / O server 105) to customize how to collect and / or process measurements. For example, consumers can use customized applications to verify product quality data and / or provide product quality data to end users of the product being manufactured.

[0084] The example control system configuration service 360 ​​is configured to provide configuration files to the subscription-based I / O server 105. The configuration files provided by the example control system configuration service 360 ​​may include calibration commands and / or management commands to initialize the DSCPD 305. The example configuration files may include data to establish a device as a subscriber device, a master subscriber device, and / or a publisher device. For example, the control system configuration service 360 ​​may provide data to establish the control device 215 as a master subscriber device and / or to establish one or more of the components of the workstation 220 as subscriber devices. The example control system configuration service 360 ​​may store the configuration files in a Figure 1 The data storage device 145 of the embodiment of the present invention can be stored in the storage device 145 of the embodiment of the present invention. The example configuration file can be generated based on the product being manufactured. In some examples, the subscription-based I / O server 105 is configured based on the commands in the configuration file.

[0085] Figure 4 yes Figure 2B A more detailed block diagram of a second example process control system configuration 225 is shown. Figure 4 In the example of FIG. 2A to FIG. 2C and Figure 3 Instruments 210, Figure 2B The integrated control device 230, and FIG. 2A to FIG. 2C and Figure 3The second example process control system configuration 225 is configured as a distributed control system. For example, the integrated control device 230 can be located in a first network at a first network location (e.g., at a first logical network and / or at a first geographical location), and the workstation 220 can be located in a second network at a second network location (e.g., at a second network and / or at a second geographical location). The example integrated control device 230 can be configured by Figure 1 , FIG. 2A to FIG. 2C and Figure 3 The network to which the subscription-based I / O server 105 is connected is communicatively coupled to the workstation 220 .

[0086] exist Figure 4 In the example of FIG. 1 , the integrated control device 230 includes a subscription-based I / O server 105, Figure 3 DSCPD305, Figure 3 Process I / O layer 310, Figure 3 CMPE 315 Figure 3 The policy controller 320 and Figure 3 The PAT device management circuit system 325. The example integrated control device 230 is configured to include: Figure 2A and Figure 3 The functions of the integrated computing device 205 and the control device 215 described are substantially similar or identical. Figure 4 In the example of , the subscription-based I / O server 105 can communicate with the DSCPD 305 and the process I / O layer 310 via a network.

[0087] Figure 5 yes Figure 2C A more detailed block diagram of a third example process control system configuration 235 is shown. Figure 5 In the example of FIG. 2A to FIG. 2C , Figure 3 and Figure 4 Instruments 210 and Figure 2C An integrated workstation 240 of the embodiment. The example integrated workstation 240 can be communicatively coupled to the instrument 210 using a device-specific communication network (eg, a wired communication network and / or a wireless communication network).

[0088] exist Figure 5 In the example of FIG. 1 , the integrated workstation 240 includes a subscription-based I / O server 105, Figure 3 and Figure 4 DSCPD305, Figure 3 and Figure 4 Process I / O layer 310, Figure 3 and Figure 4 CMPE 315 Figure 3 and Figure 4 The policy controller 320, and Figure 3 and Figure 4 The PAT device management circuit system 325. The example integrated workstation 240 is configured to include the above-mentioned Figure 2A and Figure 3 The integrated computing device 205, Figure 2A and Figure 3 The control device 215 and Figure 2A , Figure 2B , Figure 3 and Figure 4 The example subscription-based I / O server 105 may communicate with the DSCPD 305 and the process I / O layer 310 via a network. Additionally, the example subscription-based I / O server 105 may be coupled to components of the workstation 240 via a network.

[0089] exist Figures 3 to 5 In the example of , the subscription-based I / O server 105 implements the examples disclosed herein to enable PAT to support continuous manufacturing in a manufacturing environment where product quality values ​​need to be monitored throughout the manufacturing process. Figures 6 to 11 In the example of , instead of using a subscription-based I / O server 105, Figures 6 to 11 Example uses of a data server and / or an instrument proxy server. Example implementations of a data server and / or an instrument proxy server are disclosed herein to support PAT for continuous manufacturing in a manufacturing environment where product quality values ​​need to be monitored throughout the manufacturing process.

[0090] Figure 6 is a detailed block diagram of an example integrated control device 600, which is Figure 2B and Figure 4 The example integrated control device 600 includes an example process controller 605, an example embedded interface 610, an example control customizer 630, an example data model 640, an example instrument I / O proxy server 645, and an example shared memory 650. In the example integrated control device 600, the instrument I / O proxy server 645 and the shared memory 650 implement the above-mentioned Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The functions of the subscription-based I / O server 105 described above are substantially similar or identical to the functions of the example instrument 620 to implement the PAT control strategy. The example instrument 620 can be combined with the above Figure 2A The described apparatus 210 are substantially similar or identical.

[0091] To communicate with the instrument 620, the example integrated control device 600 includes an embedded interface 610. For example, the embedded interface 610 may use an instrument I / O proxy 645 to issue commands to the instrument 620.

[0092] The example integrated control device configuration 600 is configured to issue commands stored in a shared memory 650 to the instrument 620. The example integrated control device configuration 600 is configured to allow the instrument 620 to publish measurement data to the instrument I / O proxy server 645, so that the instrument I / O proxy server 645 can store the measurement data in the shared memory 650. For example, the instrument I / O proxy server 645 can store sensor data at a first memory location and store device-specific metadata at a second memory location. In this example, the first memory location and the second memory location can be configured as part of a buffer, and the embedded interface 610 can access the data at the buffer. In the example shared memory 650, the process controller 605 can access and / or store current sensor data and metadata and / or previous sensor data and metadata.

[0093] exist Figure 6 In the example, the process controller 605 is Figure 2A and Figure 3 640 and a control device 215. The example process controller 605 is coupled to a data model 640 and a shared memory 650. The example process controller 605 includes an embedded interface 610 and a control customizer 630. The example process controller 605 is configured to access the data model 640 for use by the policy controller 320 to determine product quality predictions. The example process controller 605 is configured to access data stored in the shared memory 650. For example, the process controller 605 can access the shared memory 650 to obtain current sensor data and metadata, and / or historical sensor data and metadata published to the instrument I / O proxy server 645. In some examples, the example process controller 605 can access sensor data stored in the shared memory 650 without accessing the instrument I / O proxy server 645.

[0094] The example embedded interface 610 is coupled in a communicative manner between the control customizer 630 and the shared memory 650. The example embedded interface 610 is configured to include the above-mentioned Figures 3 to 5 The functionality of the DSCPD 305 described above is substantially similar or identical to the functionality of the DSCPD 305. The example embedded interface 610 is configured to issue commands to the instrument 620 by storing the commands in the shared memory 650. Figures 3 to 5The example embedded interface 610 can select commands to be issued in a manner substantially similar to that described for the PAT device management circuitry 325. For example, the embedded interface 610 can select commands based on product quality values ​​and / or product quality predictions.

[0095] The example embedded interface 610 is configured to convert sensor data and / or device metadata of a data type (the data type is specific to a communication protocol utilized by one or more instruments in the instrument 620) to a shared data type of a communication protocol (which is used to provide subscriber devices with access to the measurement data). After converting the sensor data and / or device metadata, the embedded interface 610 stores the converted sensor data and / or device metadata as measurement data. For example, before storing the converted data in a memory location corresponding to the published measurement data in the shared memory 650, the embedded interface 610 may convert the sensor data and / or device metadata from a Tec5 specific data type to a DeltaV data type. Subsequently, a subscriber device configured for DeltaV may access the converted data published using the DeltaV data type. In this example, by writing the converted data to the shared memory 650, the embedded interface 610 may publish the converted data to the subscription-based I / O server 105. By converting the data type of the device-specific communication protocol to the data type of the predetermined communication protocol, the example embedded interface 610 reduces the integration complexity of the integrated control device configuration 600.

[0096] Example instrumentation 620 includes a PAT device (e.g., FIG. 2A to FIG. 2C and Figures 3 to 5 The PAT equipment is configured to monitor a manufacturing process (e.g., Figure 1The example instrument 620 is coupled to the instrument I / O proxy server 645 using one or more communication protocols, and the instrument I / O proxy server 645 includes a device-specific driver to support such one or more communication protocols. The example instrument 620 is configured to use the instrument I / O proxy server 645 to publish measurement data to the shared memory 650. The example instrument 620 can be a physical device or a virtual device configured to provide scalar data and / or spectral data of a manufacturing process. The example instrument 620 is configured to include a plurality of PAT devices, which are associated with individual addresses that are used to address one or more commands intended for corresponding instruments in the instrument 620 in an individual manner. In the examples disclosed herein, the individual addresses can be referred to as device identification values. For example, when the embedded interface 610 selects a device-specific command including a device identification value corresponding to the PAT device, a specific PAT device such as the instrument 620 can be the destination of the write command. The PAT device (e.g., the example instrument 620) can be configured to publish data using multiple communication protocols. For example, the published sensor data stored in the shared memory 650 may be in one or more communication protocol specific data types.

[0097] The example control customizer 630 is communicatively coupled between the embedded interface 610 and the data model 640. In the examples disclosed herein, the control customizer 630 performs the operation of the process-specific application by configuring the control customizer 630 based on the product being manufactured. Based on the product quality specification corresponding to the product being manufactured, the example control customizer 630 determines the product quality. The example control customizer 630 may be referred to as a third-party application. For example, the control customizer 630 may be implemented using a custom function library (e.g., an application programming interface, a software development kit, etc.) developed and / or provided by a third party. The example control customizer 630 is configured to access data stored in the shared memory 650 using the embedded interface 610. For example, when a data access request is received, the embedded interface 610 may convert data from the shared memory 650 substantially in real time on an on-demand basis, and provide the converted data as measurement data to the control customizer 630. By providing sensor data to the control customizer 630 substantially in real time, the example embedded interface 610 may reduce the time between collecting sensor data and determining product quality. By using the embedded interface 610 to convert sensor data and provide the converted data as measurement data to the control customizer 630 , the integration complexity of the example control customizer 630 is reduced.

[0098] The control customizer 630 can access the example data model 640. The example data model 640 can include parameter data and can be used by the control customizer 630 to determine a product quality prediction based on sensor data. For example, the control customizer 630 can be configured by the data model 640 to determine a product quality prediction based on current sensor data. The example data model 640 is a spectral data model configured to represent a spectral analysis using one or more parameter values. When the analysis of the sensor data and the data model 640 reveals that the product quality prediction does not meet the product quality specification, the example control customizer 630 can be configured to modify the manufacturing process. In this way, the modification of the process makes the subsequent product quality value meet the product quality specification. The example data model 640 can be configured to provide an indication to the control customizer 630 to select a command that can correct the product quality prediction. The example data model 640 enables the control customizer 630 to determine a product quality prediction, which the control customizer 630 can use to initiate a modification to the manufacturing process to correct the product quality prediction that fails to meet the product quality specification. The example data model 640 may be generated using historical sensor data and / or historical product quality values. The example data model 640 may be trained based on a comparison of one or more product quality predictions with one or more subsequent product quality values.

[0099] The example shared memory 650 is communicatively coupled between the instrument I / O proxy server 645 and the embedded interface 610. The example shared memory 650 is configured to store data from the instrument 620 and commands from the embedded interface 610. The example shared memory 650 can store measurement data in a shared data type. By using the shared data type to store the measurement data, devices subscribed to the subscription-based I / O server 105 can access the measurement data from the instrument 620 using a shared communication protocol. For example, the embedded interface 610 converts data stored in the shared memory 650 using a communication protocol specific data type to a shared data type before the subscriber device can access the data.

[0100] The example shared memory 650 is configured to reduce latency and overhead between the embedded interface 610 and the instrument 620 by making data from the instrument 620 available on a substantially constant basis. The example shared memory 650 may include security operations to ensure the integrity of the measurement and / or prevent malicious data from modifying the operation of the integrated control device configuration 600. For example, the shared memory 650 may include a buffer area where data from the instrument 620 can be authenticated and / or encrypted using real-time operations. In the illustrated example, the embedded interface 610 is the primary subscriber of the instrument I / O proxy server 645. Such as the example shared memory 650 is configured to receive commands from the embedded interface 610. Access to the device-specific network between the example instrument I / O proxy server 645 and the example instrument 620 is separated from the process controller 605 through the shared memory 650. The example shared memory 650 enables subscriber devices to access historical measurement data and / or product quality values ​​using the instrument I / O proxy server 645.

[0101] Figure 7 is a detailed block diagram of a first example integrated workstation 700, which is Figure 2C 700 is a first example integrated workstation 700 that is communicatively coupled to the instrument 710 and the client application 720. The first example integrated workstation 700 includes an example process controller 730, an example shared memory 740, an example data server 750, an example embedded interface 760, and an example control customizer 770. In the first example integrated workstation 700, the shared memory 740, the data server 750, and the embedded interface 760 implement the above-mentioned Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The functions of the subscription-based I / O server 105 described above are substantially similar or identical to the functions of the example instrument 710 to implement the PAT control strategy. The example instrument 710 can be combined with the above Figure 2A The described apparatus 210 are substantially similar or identical.

[0102] To communicate with the example instrument 710, the first example integrated workstation 700 includes an embedded interface 760. For example, the embedded interface 760 can issue commands to the instrument 710 using device specific communications.

[0103] exist Figure 7In the example of , the process controller 730 includes an example embedded interface 760 and an example control customizer 770. The example process controller 730 is communicatively coupled between the instrument 710 and the shared memory 740. The example process controller 730 is configured to determine product quality based on sensor data from the instrument 710. The example process controller 730 may be configured to modify the manufacturing process in response to determining that the product quality fails to meet the product quality specification.

[0104] The example embedded interface 760 is communicatively coupled to the instrument 710, the shared memory 740, and the control customizer 770. The example embedded interface 760 is configured to communicate with Figures 3 to 5 DSCPD 305 and Figure 6 The example embedded interface 760 is configured to communicate with the instrument 710 using a device-specific communication protocol. The example embedded interface 760 is configured to publish data to the data server 750 by storing the data in the shared memory 740. The example embedded interface 760 is configured to send commands to the instrument 710 using device-specific communication.

[0105] The example control customizer 770 is communicatively coupled to the embedded interface 760, and the embedded interface 760 can be configured to write data to the shared memory 740 and / or the control customizer 770. The example control customizer 770 is configured to communicate with the embedded interface 760. Figure 6 The example control customizer 770 is similar to the control customizer 630 of . The example control customizer 770 is configured to determine a product quality value using sensor data from the embedded interface 760. The example control customizer 770 can be configured to store the product quality value to the shared memory 740 using the embedded interface 760. The example control customizer 770 can be configured based on the product being manufactured.

[0106] The example shared memory 740 is communicatively coupled to the data server 750 and the embedded interface 760. The example shared memory 740 is configured to communicate with Figure 6 The example shared memory 740 is similar to the shared memory 650 of FIG. 740. The example shared memory 740 is configured to receive data from the embedded interface 760 and allow the data server 750 to access the published data.

[0107] The example data server 750 is communicatively coupled between the client application 720 and the shared memory 740. In the illustrated example, the client application 720 is a subscriber device, and the data server 750 is configured to provide data from the shared memory 740 to the client application 720. Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 6The data server 750 is similar to the subscription-based I / O server 105 of the embodiment of the present invention, so that the data server 750 can provide the subscriber device with access to the published data. For example, the data server 750 allows access to the published data stored in the shared memory 740. In addition, the data server 750 prevents the command from being issued to the instrument 710.

[0108] The example instrument 710 is communicatively coupled to the embedded interface 760. The example instrument 710 is configured to communicate with FIG. 2A to FIG. 2C and Figures 3 to 6 The example client application 720 is similar to the instrument 210 of FIG. 710 , so that the measurement data from the instrument 710 is published to the data server 750 through the embedded interface 760. The example client application 720 is a subscriber device and is coupled to the data server 750 in a communicative manner. The example client application 720 is configured to communicate with Figures 3 to 5 The example client application 720 may be specific to the product being produced and include Figure 2A , Figure 2B , Figure 3 and Figure 4 One or more components of the components of the workstation 220.

[0109] Figure 8 is a detailed block diagram of a second example integrated workstation 800, which is Figure 2C The second example integrated workstation 800 is configured to: Figure 6 Instrument I / O Proxy Server 645 and Figure 7 The data server 750 is used to communicate with Figure 6 Instruments 620 and Figure 7 The second example integrated workstation 800 includes Figure 6 Control customizer 630, Figure 6 data model 640, instrument I / O proxy server 645, Figure 7 The data server 750, the example shared memory 850, the example process controller 860 and the example embedded interface 870. In the second example integrated workstation 800, the instrument I / O proxy server 645, the data server 750 and the shared memory 850 implement the above combined Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The described subscription-based I / O server 105 functions substantially similar or identically to implement a PAT control strategy in conjunction with the example instrument 620 .

[0110] To communicate with the instrument 620, the second example integrated workstation 800 includes an embedded interface 870. For example, the embedded interface 870 can issue commands to the instrument 620 using the instrument I / O proxy 645.

[0111] The example process controller 860 is communicatively coupled between the data model 640 and the shared memory 850. The example process controller 860 includes Figure 6 The example process controller 860 is configured as a master subscriber device such that the example process controller 860 can write and / or access data stored in the shared memory 850. The example process controller 860 can be configured to modify the manufacturing process based on determining that the product quality value fails to meet the product quality specification for the product being manufactured.

[0112] The example embedded interface 870 is communicatively coupled between the control customizer 630 and the shared memory 850. The example embedded interface 870 is configured to access instrument data published by the instrument I / O proxy server 645 and stored in the shared memory 850. The example embedded interface 870 is configured to convert the instrument data from a communication protocol specific data type to a shared data type, and the data server 750 can utilize the communication protocol to allow the client application 720 to access the instrument data. The example embedded interface 870 is configured to provide the instrument data to the control customizer 630, and the control customizer 630 can utilize the data model 640 to determine a product quality value and / or a product quality prediction based on the instrument data. The example embedded interface 870 is configured to publish data to the data server 750 by storing the data in an area of ​​the shared memory 850. The example instrument I / O proxy server 645, the data server 750, and the shared memory 850 perform operations with Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The operation of the subscription-based I / O server 105 is substantially similar or identical to the operation of the subscription-based I / O server 105.

[0113] Fig. 9 is a detailed block diagram of a third example integrated workstation 900, which is Figure 2C The third example integrated workstation 900 is configured to: use Figure 6 and Figure 8 Instrument I / O Proxy Server 645 and Figure 7 and Figure 8 The data server 750, and Figure 6 and Figure 8 Instrument(s) 620 and Figure 7The third example integrated workstation 900 includes an instrument I / O proxy server 645, Figure 7 Control customizer 770, Figure 8 In the third example integrated workstation 900, the instrument I / O proxy server 645, the shared memory 850 and the data server 910 implement the above combined Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The described subscription-based I / O server 105 functions substantially similar or identically to implement a PAT control strategy in conjunction with the example instrument 620 .

[0114] To communicate with the instrument 620, the third example integrated workstation 900 includes an embedded interface 930. For example, the embedded interface 930 can use the instrument I / O proxy 645 to issue commands to the instrument 620.

[0115] exist Fig. 9 In the example of , the data server 910 is communicatively coupled to the client application 720, the shared memory 850, and the process controller 920. The example data server 910 is configured to allow the client application 720 to access data stored in the shared memory 850. The example data server 910 is communicatively coupled to one or more subscriber devices and is configured to provide the subscriber devices with access to the measurement data. The example data server 910 can be configured to receive the measurement data from the process controller 920. For example, the process controller 920 can provide the data server 910 with a data indication that the measurement data is stored in the shared memory 850. In such an example, the data indication provided to the data server 910 can include a memory address in the shared memory 850 where the measurement data is stored, or can include one or more portions of the measurement data to be published to the data server 910. The example data server 910 can monitor and / or control access to the shared memory 850 by subscriber devices (such as the client application 720). The example data server 910 may determine the measurement data and / or the memory location of the measurement data in the shared memory 850 based on an indication from the process controller 920 .

[0116] exist Fig. 9 In the example of FIG. 8 , the process controller 920 is communicatively coupled to the shared memory 850 and the data server 910. The example process controller 920 includes Figure 7The control customizer 770 and the example embedded interface 930 of the example process controller 920 are configured to access the data stored in the shared memory 850 through the instrument I / O proxy server 645 to determine the product quality value and / or generate a product quality prediction corresponding to the future product quality value. The example process controller 920 can be configured to convert the measurement data (which comes from the instrument I / O proxy server 645 and is stored in the shared memory 850) into a shared data type. For example, the shared data type is a data type of a communication protocol that is configured to allow data exchange between the data server 910, the shared memory 850 and / or the process controller 920.

[0117] The example embedded interface 930 is communicatively coupled to the control customizer 770, the shared memory 850, and the data server 910. The example embedded interface 930 is configured to access device-specific measurement data stored in the shared memory 850 from the instrument I / O proxy server 645 in substantially real time. The example embedded interface 930 can be configured to convert the measurement data from a first data type to a second data type, wherein the first data type is specific to a first communication protocol used to collect measurement data from one or more components included in the instrument 620, and the second data type is specific to a second communication protocol used to allow the data server 910 to provide access to the measurement data. For example, the embedded interface 930 can convert measurement data of a string data type to a multi-dimensional dual array data type so that the DeltaV communication library can be implemented to allow subscriber devices to access the measurement data. In such an example, the embedded interface 930 can combine one or more measurements at any given time to generate a data structure containing multiple. The example embedded interface 930 converts measurement data collected using one or more device-specific data types into a shared data structure to implement a shared communication protocol, which may not include support for one or more device-specific data types.

[0118] The example embedded interface 930 is configured to provide measurement data to the control customizer 770. Based on the measurement data, the control customizer 770 can implement a control strategy for the manufacturing process. For example, the embedded interface 930 can be configured to receive a product quality value from the control customizer 770 based on the measurement data provided to the control customizer 770. The example embedded interface 930 can be configured to select, generate or determine a management command and / or a calibration command based on at least one of the measurement data, the product quality value and / or the product quality prediction. The example embedded interface 930 can select a command to modify one or more processes involved in the instrument 620 and / or the product manufacturing. For example, the embedded interface 930 can select a command to calibrate the instrument 620 in response to receiving metadata indicating a fault or sensor data outside a set range. In this example, the embedded interface 930 can publish the command to the instrument I / O proxy server 645 by storing the command in an area of ​​the shared memory 850 corresponding to the command to be published to one or more of the instruments 620. The example embedded interface 930 can select commands to modify the manufacturing process based on the product quality value. The example embedded interface 930 can issue the selected commands to the instrument I / O proxy server 645 by storing the selected commands in an area of ​​the shared memory 850. The example instrument I / O proxy server 645, the shared memory 850, and the data server 910 can be used to implement Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 Subscription-based I / O server 105.

[0119] Fig.10 is a detailed block diagram of a fourth example integrated workstation 1000, which is Figure 2C An alternative embodiment of the integrated workstation 240 is configured to Figure 6 , Figure 8 and Fig. 9 The fourth example integrated workstation 1000 is coupled to the instrument 620 and the client application 1010. The fourth example integrated workstation 1000 includes Figure 6 and Figure 8 Control customizer 630, Figure 6 and Figure 8 The data model 640, the example instrument server 1020, the example process controller 1030, the example embedded interface 1040 and the example process input / output (PIO) circuit system 1050. In the fourth example integrated workstation 1000, the instrument I / O proxy server 1020 implements the above combined Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The described subscription-based I / O server 105 functions substantially similar or identically to implement a PAT control strategy in conjunction with the example instrument 620 .

[0120] To communicate with the instrument 620, the fourth example integrated workstation 1000 includes an embedded interface 1040. For example, the embedded interface 1040 can use the instrument I / O proxy server 1020 to issue commands to the instrument 620.

[0121] The example instrument I / O proxy server 1020 is coupled to the instrument 620, the client application 1010, and the process controller 1030. The example instrument server 1020 is configured to exchange data with the instrument 620 across a device-specific network using one or more device-specific communication protocols. The example instrument server 1020 is configured to allow subscriber devices and master subscriber devices to access measurement data collected by the instrument 620. The example instrument server 1020 is configured to allow publisher devices to publish data to the instrument server 1020 so that the data published to the instrument server 1020 can be accessed by the subscriber devices. The example instrument server 1020 can be configured to send commands to the instrument 620 in response to receiving commands from the process controller 1030. The example instrument server 1020 can monitor and / or control access to the published data so that the instrument server 1020 can prevent malicious devices from accessing and / or publishing data.

[0122] The example process controller 1030 is communicatively coupled to the data model 640 and the instrument server 1020. Fig.10 In the example of FIG. 1 , the process controller 1030 includes Figure 6 and Figure 8 1040 , an example embedded interface 1040 , and an example PIO circuit system 1050 . The example process controller 1030 is configured to allow access to measurement data from the instrument 620 using a shared data type. In the illustrated example, the instrument server 1020 or the embedded interface 1040 converts the measurement data to the shared data type before providing access to the measurement data to the control customizer 630 and / or the client application 1010 . The example process controller 1030 is configured to provide device specific commands to the instrument server 1020 to modify the instrument 620 .

[0123] The example embedded interface 1040 is communicatively coupled between the control customizer 630 and the instrument server 1020. The example embedded interface 1040 is configured to provide measurement data from the instrument 620 to the control customizer 630 and / or a subscriber device (e.g., the client application 1010) coupled to the instrument server 1020. The example embedded interface 1040 can be configured to convert and / or combine the measurement data to enable access to the measurement data of a shared data type of a communication protocol used by the subscriber device. The example embedded interface 1040 can be configured to provide a command to the instrument server 1020 to send to at least one of the instruments 620 based on a product quality value and / or a product quality prediction determined using the measurement data.

[0124] The example PIO circuit system 1050 is communicatively coupled to the instrument server 1020. The example PIO circuit system 1050 is configured as a subscriber device so that the PIO circuit system 1050 can access data published to the instrument server 1020. The example PIO circuit system 1050 can be configured to select, generate, or determine a command to modify a manufacturing process. For example, in response to determining that the modification can increase product quality value based on substantially real-time measurements from the instrument 620, the PIO circuit system 1050 can modify Figure 1 The example PIO circuitry 1050 may be configured to issue commands to the instrument server 1020 to manage and / or calibrate the instrument 620.

[0125] Fig.11 is a detailed block diagram of a fifth example integrated workstation 1100, which is Figure 2C The fifth example integrated workstation 1100 is configured to: Figure 6 and Figures 8 to 10 Example instrument(s) 620 and Fig.10 The fifth example integrated workstation 1100 includes Figure 6 , Figure 8 and Fig.10 The control customizer 630, data model 640, example instrument I / O proxy server 1110, example controller 1120 and example process input / output (PIO) circuit system 1130. In the fifth example integrated workstation 1100, the instrument I / O proxy server 1110 implements the above combined Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The described subscription-based I / O server 105 functions substantially similar or identically to implement a PAT control strategy in conjunction with the example instrument 620 .

[0126] To communicate with the instrument 620, the fifth example integrated workstation 1100 includes a PIO circuitry 1130. For example, the PIO circuitry 1130 may use an instrument I / O proxy 1110 to issue commands to the instrument 620.

[0127] The example instrument I / O proxy server 1110 is coupled to the instrument 620, the client application 1010, and the controller 1120. The example instrument I / O proxy server 1110 is configured to communicate with Fig.10 The example instrument I / O proxy server 1110 is configured to send commands from the controller 1120 to the instrument 620 . The example instrument I / O proxy server 1110 is configured to allow the client application 1010 to access measurement data from the instrument 620 .

[0128] The example controller 1120 is coupled to the data model 640 and the instrument I / O proxy server 1110. The example controller 1120 includes Figure 6 , Figure 8 and Fig.10 The example controller 1120 is configured to access measurement data from the instrument 620 using a device-specific communication protocol to access data published by the instrument 620 to the instrument I / O proxy server 1110. The example controller 1120 is configured to issue commands to the instrument I / O proxy server 1110 to manage and / or calibrate a PAT device such as the instrument 620.

[0129] The example PIO circuit system 1130 is coupled between the control customizer 630 and the instrument I / O proxy server 1110. The example PIO circuit system 1130 is configured to provide substantially real-time measurement data to the control customizer 630. The example PIO circuit system 1130 is configured to include: Fig.10 The operation of the embedded interface 1040 and Fig.10 The operation of the PIO circuit system 1050.

[0130] Fig.12 yes Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 1 is a block diagram of an example subscription-based I / O server 105 that allows subscriber devices to access measurement data, publisher devices to publish measurement data, and master subscriber devices to publish commands. Fig.12The example subscription-based I / O server 105 may be instantiated (e.g., created, materialized, implemented, etc.) by a processor circuit system such as a central processing unit that executes instructions. Additionally or alternatively, Fig.12 The subscription-based I / O server 105 may be instantiated (e.g., create an instance, create, materialize, implement, etc.) by an ASIC or FPGA configured to perform operations corresponding to the instructions. It should be understood that Fig.12 Some or all of the circuitry in the circuitry may thus be instantiated at the same time or at different times. Some or all of the circuitry in the circuitry may be instantiated, for example, in one or more threads that are executed concurrently on hardware and / or serially on hardware. Furthermore, in some examples, Fig.12 Some or all of the circuitry of the may be implemented by one or more virtual machines and / or containers executing on the microprocessor.

[0131] exist Fig.12 In the example of the example, the subscription-based I / O server 105 includes an example subscription manager circuit system 1210, an example publication manager circuit system 1220, an example configuration manager circuit system 1230, an example device driver controller circuit system 1240, and an example command manager circuit system 1250. The example subscription-based I / O server 105 is configured to: transmit commands from instruments (e.g., FIG. 2A to FIG. 2C and Figures 3 to 5 The measurement data of the instrument 210) is provided to the main subscriber device and the subscriber device. The measurement data can be used to determine the product quality to determine whether the product being manufactured meets the product quality specifications for the product.

[0132] The example subscription-based I / O server 105 of the illustrated example includes an example subscription manager 1210, an example publishing manager 1220, an example configuration manager 1230, an example device driver controller 1240, an example command manager 1250, and an example bus (BUS) 1260. The example subscription-based I / O server 105 is configured to facilitate data exchange between one or more devices. The example subscription-based I / O server 105 can limit and / or modify the operation of a device based on the type of device. For example, in response to the configuration manager 1230 identifying an HMI as a subscriber device, the subscription-based I / O server 105 can determine the HMI (e.g., Figures 3 to 5 The HMI 330) can perform operations corresponding to the subscription manager 1210.

[0133] The example subscription-based I / O server 105 can be configured to determine the device type based on one or more rules (e.g., instructions) that specify a process for determining the device type based on data exchange. For example, the subscription-based I / O server 105 can include a rule for the following matters: a device with a valid digital signature or a known device identification value can be assigned as a subscriber device and assigned operations corresponding to the subscription manager 1210. In such an example, during configuration of the subscription-based I / O server 105, the known device identification value is loaded.

[0134] exist Fig.12 In the example of the example, the subscription manager 1210 is configured to implement a communication protocol library to allow subscriber devices to access data published to the subscription-based I / O server 105. The example subscription manager 1210 is configured to provide access to the measurement data substantially in real time. For example, the subscription manager 1210 may send the measurement data to one or more of the subscriber devices based on the publication of the measurement data by the publication manager 1220. Alternatively, the example subscription manager 1210 may be configured to Figure 7 and Figure 8 Data server 750 or Fig. 9 In these examples, the subscription manager 1210 can access the data stored in the shared memory location (e.g., Figure 6 Shared memory 650, Figure 7 Shared memory 750 or Figure 8 data in the shared memory 850).

[0135] The example publishing manager 1220 is configured to provide a write address (eg, Figure 6 Shared memory 650, Figure 7 Shared memory 740 or Figure 8 The example publishing manager 1220 may be configured to publish data by generating an indication that the measurement data is ready to be sent to the subscriber device and sending the indication to the subscription manager 1210. The example publishing manager 1220 may be configured to provide the published data to the subscription manager 1210 and / or provide a memory address of a memory location where the published data is located. For example, the publishing manager 1220 may indicate to the subscription manager 1210 that a multidimensional array of measurement data has been received, the measurement data including sensor data and / or device-specific metadata for one or more measurements.

[0136] The example publishing manager 1220 is configured to allow publishing devices to publish data to the subscription-based I / O server 105. The example publishing manager 1220 can be configured to allow a primary subscriber device to publish commands to be sent to a PAT device coupled to the subscription-based I / O server 105. For example, based on Figures 3 to 5 The publishing manager 1220 may provide a data indication to the command manager 1250 of at least one of a calibration command or a management command that the process I / O layer 310 publishes to the subscription-based I / O server 105 .

[0137] The example configuration manager 1220 is configured to configure the operation of the subscription-based I / O server 105 based on a configuration file. The example configuration manager 1220 can be configured to execute instructions contained in the configuration file to establish a list of rules or a set of rules to determine whether a device is a subscriber device, a master subscriber device, or a publisher device. The example configuration manager 1220 can determine the device type based on one or more rules that specify a process for determining the device type based on data exchange or device identification information. For example, the configuration manager 1230 can implement a rule that characterizes a device with a digital signature as a subscriber device and provides device access to the subscription manager 1210.

[0138] The example configuration manager 1230 may be configured to provide instructions to one or more of the components of the subscription-based I / O server 105 to perform operations such as establishing a communication protocol, determining a shared data type, calibrating a PAT device as an instrument, etc. The example configuration manager 1230 may be configured to access a shared memory (e.g., Figure 6 Shared memory 650, Figure 7 Shared memory 740 or Figure 8 and 9 The example configuration manager 1230 may modify the configuration file to correspond to a specific manufacturing process. For example, the configuration manager 1230 may initialize the subscription manager 1210 to send data of a first shared data type based on configuration settings in a first configuration file associated with the manufacture of pharmaceuticals, or to send data of a second shared data type based on configuration settings in a second configuration file associated with the manufacture of high-value chemicals. In such an example, the subscription-based I / O server 105 may: initialize the subscription manager 1210 using commands corresponding to the configuration settings in the first configuration file and / or the second configuration file. The configuration file may additionally include parameter values ​​to establish a data model to determine product quality values ​​corresponding to the manufacturing process.

[0139] The example device driver controller 1240 is configured to communicatively couple to a PAT device (eg, FIG. 2A to FIG. 2C and Figures 3 to 5 Instruments 210, Figure 6 and Figures 8 to 10 Instrument 620, Figure 7 The example device driver controller 1240 is configured to implement a device-specific communication protocol to exchange data with a PAT device configured to measure a manufacturing process. The example device driver controller 1240 may implement one or more communication protocol libraries (e.g., Tec5, OPC UA, DeltaV, Kaiser, VIAVI, etc.) so that the PAT device can support different communication protocols.

[0140] The example device driver controller 1240 is configured to receive device specific commands from the command manager 1250 and / or the configuration manager 1230. The example device driver controller 1240 may convert the command to correspond to the communication protocol of the device identified in the command. The example device driver controller 1240 may be configured to allow embedded interfaces (e.g., Figure 6 Embedded interface 610, Figure 7 Embedded interface 760, Figure 8 Embedded interface 870, Fig. 9 Embedded interface 930 or Fig.10 The embedded interface 1040 of the subscription manager 1210) accesses the measurement data from the PAT device to convert and / or combine the measurement data into a shared data type that is included in the communication protocol utilized by the subscription manager 1210. The embedded interface 610, 760, 870, 930, 1040 may be configured to publish the measurement data to the publishing manager 1220 by converting the measurement data into the shared data type.

[0141] The example command manager 1250 is configured to receive device-specific commands.The example command manager 1250 may be configured to convert commands published to the subscription-based I / O server 105 into commands corresponding to the communication protocol of the PAT device indicated in the device-specific command.

[0142] Fig.13 yes Figures 3 to 5 2 is a block diagram of an example DSCPD 305. Fig.13 The DSCPD 305 may be instantiated (e.g., created as an instance, created for any length of time, materialized, implemented, etc.) by a processor circuit system such as a central processing unit that executes instructions. Additionally or alternatively, Fig.12The DSCPD 305 may be instantiated (e.g., created, materialized, implemented, etc.) by an ASIC or FPGA configured to perform operations corresponding to the instructions. It should be understood that Fig.13 Some or all of the circuitry in the circuitry may thus be instantiated at the same or different times. Some or all of the circuitry in the circuitry may be instantiated, for example, in one or more threads that are executed concurrently on hardware and / or serially on hardware. Furthermore, in some examples, Fig.13 Some or all of the circuitry of the may be implemented by one or more virtual machines and / or containers executing on the microprocessor.

[0143] exist Fig.13 In the example of FIG. 1 , DSCPD 305 includes an example command controller 1310, an example communication manager 1320, an example configuration controller 1330, an example instrument driver 1340, an example measurement manager 1350, an example publisher manager 1360, an example communication library 1370, and an example bus 1380. DSCPD 305 is communicatively coupled to Figure 1 , FIG. 2A to FIG. 2C , Figures 3 to 5 and Fig.12 A subscription-based I / O server 105, and FIG. 2A to FIG. 2C and Figures 3 to 5 The DSCPD 305 receives the sensor data and metadata from the instrument 210 using device-specific communication. The DSCPD 305 generates measurement data by combining the sensor data, the metadata, and the device identifier. Additionally, the DSCPD 305 may modify the measurement data to a shared data type of a communication protocol used to communicate with the subscription-based I / O server 105. The DSCPD 305 is configured to publish a measurement date to the subscription-based I / O server 105. The DSCPD 305 receives management commands and / or calibration commands from the subscription-based I / O server 105. The DSCPD 305 modifies the command based on the communication protocol of the instrument 210 corresponding to the command. The DSCPD 305 issues a command to one of the instruments 210 using device-specific communication.

[0144] The example command controller 1310 receives management commands and / or calibration commands from the subscription-based I / O server 105. For example, the command controller 1310 issues a management command and / or calibration command to one of the instruments 210. The example command controller 1310 determines which instrument 210 of the instruments 210 corresponds to the command based on the device identifier. The example command controller 1310 can be configured to access the communication library 1370 and / or the instrument driver(s) 1340 to provide commands to one or more of the instruments 210. The subscription-based I / O server 105 sends the command to the command controller 1310.

[0145] The example communication manager 1320 is configured to initiate communications with the instrument 210. For example, the communication manager 1320 can initialize one or more communication protocols using the communication library 1370. The example communication manager 1320 can be configured by the command controller 1310. The example communication manager 1320 generates instructions to initialize communications with the instrument 210.

[0146] The example configuration controller 1330 configures the instrument 210 to publish measurement data. For example, the configuration controller 1330 selects instructions to initialize the collection of sensor data and / or device-specific metadata from the instrument 210. The example configuration controller 1330 selects commands to configure the instrument 210 based on the configuration commands. The example configuration controller 1330 can store configurations based on configuration commands received by the command controller 1310. The example configuration controller 1330 selects commands to establish reporting frequency, values ​​to be reported, fault detection, etc. The reporting frequency establishes the number of measurements per duration. The values ​​to be reported establish sensor and / or instrument-specific metadata to be included in the measurement data.

[0147] The example instrument driver(s) 1340 are configured to communicate with the instrument 210 using device-specific communications. The example instrument driver(s) 1340 include one or more drivers (divers) to support multiple communication protocols. For example, the instrument driver(s) 1340 may include pull-up resistors for communication protocols that require active high communications. The example instrument driver(s) 1340 collect sensor data and / or device-specific metadata from the instrument 210 using device-specific communications. The example instrument driver 1340 may be configured to provide the data collected from the instrument 210 to the measurement manager 1350 before publishing to the subscription-based I / O server 105.

[0148] The example measurement manager 1350 generates measurement data based on sensor data and / or metadata from the instrument driver(s) 1340. The measurement manager 1350 converts the sensor data and / or metadata into a data type of a communication protocol that is used to provide the measurement data to the subscription-based I / O server 105. For example, the measurement manager 1350 converts the sensor data from a Tec5 proprietary data type into an array. The example measurement manager 1350 adds a device identifier to the measurement data based on which instrument 210 in the instrument 210 corresponds to the measurement data. The example measurement manager 1350 can be configured to provide the measurement data to the publisher manager 1360.

[0149] The example publisher manager 1360 is configured to publish measurement data from the measurement manager 1350 to the subscription-based I / O server 105. The publisher manager 1360 can be configured to publish sensor data from one or more instruments in the instrument 210 as a single publication. The example publisher manager 1360 sends a publication indication and / or measurement data to the subscription-based I / O server 105.

[0150] The example communication library 1370 stores communication information for one or more communication protocols. The communication information stored in the example communication library 1370 enables components of the DSCPD 305 to construct and / or select device-specific commands. For example, the command controller 1310 accesses the communication library 1370 to select device-specific commands corresponding to calibration commands and / or management commands from the subscription-based I / O server 105.

[0151] Although Fig.12 The diagram shows the implementation Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 The example subscription-based I / O server 105 of the example embodiment, but Fig.12 One or more of the elements, processes and / or devices illustrated in the drawings may be combined, split, rearranged, omitted, eliminated and / or implemented in any other manner. Further, the following items may be implemented by hardware alone or by a combination of hardware and software and / or firmware: Figures 3 to 5 Example of DSCPD 305, Figures 3 to 5 An example process I / O layer 310, Figures 3 to 5 Example of CMPE 315, Figures 3 to 5 An example policy controller 320, Figures 3 to 5 An example of PAT device management circuitry 325, Figures 3 to 5 Example of HMI 330, Figures 3 to 5 An example process monitor 335, Figures 3 to 5An example process diagnostic monitor 340, Figures 3 to 5 An example history collector 345, Figures 3 to 5 An example edge / IoT interface 350, Figures 3 to 5 Examples of third-party chemometric tools 355, Figures 3 to 5 An example of a control system configuration service 360, Figure 6 An example embedded interface 610, Figure 6 , Figure 8 , Fig.10 and Fig.11 An example control customizer 630, Figure 6 , Figure 8 , Fig.10 and Fig.11 An example data model 640, Figure 6 , Figure 8 and Fig. 9 An example of an instrument I / O proxy server 645, Figure 6 An example shared memory 650, Figure 7 An example shared memory 740, Figure 7 and 8 An example data server 750, Figure 7 An example embedded interface 760, Figure 7 and Fig. 9 An example control customizer 770, Figure 8 and Fig. 9 An example shared memory 850, Figure 8 An example embedded interface 870, Fig. 9 An example data server 910, Fig. 9 An example embedded interface 930, Fig.10 An example instrument server 1020, Fig.10 An example embedded interface 1040, Fig.10 Example of PIO 1050, Fig.11 An example instrument server 1110, Fig.11 Example of PIO 1130, Fig.12 An example subscription manager 1210, Fig.12 An example release manager 1220, Fig.12 An example configuration manager 1230, Fig.12 An example device driver controller 1240, Fig.12 An example command manager 1250, Fig.13 An example communication manager 1320, Fig.13 Example configuration controller 1330, Fig.13 Example instrument driver(s) 1340, Fig.13 An example measurement manager 1350, Fig.13An example publisher manager 1360, Fig.13 Example Communications Library 1370 and / or more generally Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 105. Thus, for example, any of the following may be implemented by processor circuitry, analog circuit(s), digital circuit(s), logic circuit(s), programmable processor(s), programmable microcontroller(s), graphics processing unit(s) (GPUs), digital signal processor(s) (DSPs), application specific integrated circuit(s) (ASICs), programmable logic devices(s) (PLDs), and / or field programmable logic devices(s) (FPLDs) such as field programmable gate arrays (FPGAs): example DSCPD 305, example process I / O layer 310, example CMPE 315, example policy controller 320, example PAT device management circuitry 325, example HMI 330, example process monitor 335, example process diagnostic monitor 334, example historian 345, example edge / IoT interface 350, example third party chemical metrology tool 355, example control system configuration service 360, example embedded interface 610, example control customizer 630, example data model 640, example instrument I / O proxy server 645, example shared memory 650, example shared memory 740, example data server 750, example embedded interface 760, example control customizer 770, example shared memory 850, example embedded interface 870, example data server 910, example embedded interface 930, example instrument server 1020, example embedded interface 1040, example PIO 1050, example instrument server 1110, example PIO 1130, the example subscription manager 1210, the example publication manager 1220, the example configuration manager 1230, the example device driver controller 1240, the example command manager 1250, the example command controller 1310, the example communication manager 1320, the example configuration controller 1330, the example instrument driver(s) 1340, the example measurement manager 1350, the example publisher manager 1360, the example communication library 1370, and / or more generally any of the example subscription-based I / O server 105. Still further, Figure 1 , FIG. 2A to FIG. 2C and Figure 2 to Figure 5 An example subscription-based I / O server 105 may include, in addition to Fig.12 In addition to or in lieu of the components, processes and / or equipment shown Fig.12One or more of the elements, processes and / or devices shown, and / or more than one of any or all of the elements, processes and devices shown may be included.

[0152] Fig.13 and Fig.14 shows a representative for implementing Fig.12 105, machine readable instructions, a flowchart of an example hardware logic circuit system, a hardware implemented state machine, and / or any combination thereof. The machine readable instructions may be a flowchart for executing by a processor circuit system (such as described below in conjunction with Fig.18 The processor circuitry 1812 shown in the example processor platform 1800 discussed below and / or in conjunction with Fig.18 and / or Fig.19 The program may be embodied in software stored on one or more non-transitory computer-readable storage media (such as compact disks (CDs), floppy disks, hard disk drives (HDDs), solid-state drives (SSDs), digital versatile disks (DVDs), Blu-ray disks, volatile memory (e.g., any type of random access memory (RAM), etc.)) or non-volatile memory (e.g., electrically erasable programmable read-only memory (EEPROM), flash memory, HDDs, SSDs, etc.) associated with the processor circuitry located in one or more hardware devices, but the entire program and / or portions of the program may alternatively be executed by one or more hardware devices other than the processor circuitry and / or embodied in firmware or specialized hardware. The machine-readable instructions may be distributed across multiple hardware devices and / or executed by two or more hardware devices (e.g., a server and a client hardware device). For example, the client hardware device may be implemented by an endpoint client hardware device (e.g., a hardware device associated with a user) or an intermediate client hardware device (e.g., a radio access network (RAN) gateway that may facilitate communications between a server and an endpoint client hardware device). Likewise, a non-transitory computer-readable storage medium may include one or more media located in one or more hardware devices. Further, although reference is made to Figures 13 to 16The illustrated flowchart describes the example program, but many other methods of implementing the example subscription-based I / O server 105 may be used alternatively. For example, the execution order of the boxes may be changed, and / or some of the boxes described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the boxes in the boxes may be implemented by one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are constructed to perform corresponding operations without executing software or firmware. The processor circuit system may be distributed in different network locations and / or one or more hardware devices (e.g., single-core processors (e.g., single-core central processing units (CPUs)), multi-core processors (e.g., multi-core CPUs), etc.) located in a single machine, multiple processors distributed across multiple servers of a server rack, multiple processors distributed across one or more server racks, CPUs and / or FPGAs located in the same package (e.g., the same integrated circuit (IC) package) or two or more separate housings, etc.

[0153] The machine-readable instructions described herein may be stored in one or more formats of a compressed format, an encrypted format, a segmented format, a compiled format, an executable format, an encapsulated format, etc. The machine-readable instructions as described herein may be stored as data or data structures (e.g., as part of an instruction, a code, a representation of a code, etc.) that may be used to create, manufacture, and / or generate machine-executable instructions. For example, the machine-readable instructions may be segmented and stored on one or more storage devices and / or computing devices (e.g., servers) located at the same location or different locations (e.g., in the cloud, on edge devices, etc.) of a network or a collection of networks. The machine-readable instructions may need to be installed, modified, adapted, updated, combined, supplemented, configured, decrypted, decompressed, unpacked, distributed, reassigned, compiled, etc., so that these machine-readable instructions can be directly read, interpreted, and / or executed by a computing device and / or other machine. For example, machine-readable instructions may be stored in multiple parts that are individually compressed, encrypted, and / or stored on separate computing devices, where the parts, when decrypted, decompressed, and / or combined, form a set of machine-executable instructions that perform one or more operations that together may form a program such as the programs described herein.

[0154] In another example, the machine-readable instructions may be stored in a state where the machine-readable instructions can be read by the processor circuit system, but a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc.) needs to be added in order to execute the machine-readable instructions on a specific computing device or other device. In another example, the machine-readable instructions (e.g., stored settings, data inputs, recorded network addresses, etc.) may need to be configured before the machine-readable instructions and / or (multiple) corresponding programs can be executed in whole or in part. Therefore, as used herein, a machine-readable medium may include machine-readable instructions and / or (multiple) programs, regardless of the specific format or state of the machine-readable instructions and / or (multiple) programs when stored or at rest or in transport.

[0155] The machine-readable instructions described herein may be represented by any past, present or future instruction language, scripting language, programming language, etc. For example, the machine-readable instructions may be represented by any of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, Hypertext Markup Language (HTML), Structured Query Language (SQL), Swift, etc.

[0156] As mentioned above, executable instructions (eg, computer-readable instructions and / or machine-readable instructions) may be used to implement Figures 13 to 16 Examples of operations of the present invention are those executable instructions stored on one or more non-transitory computer and / or machine readable media (such as optical storage devices, magnetic storage devices, HDD, flash memory, read-only memory (ROM), CD, DVD, cache, any type of RAM, registers, and / or any other storage device or storage disk where information is stored for any duration (e.g., long-term, permanent, transient, for temporary buffering, and / or for caching information). As used herein, the terms non-transitory computer-readable medium and non-transitory computer-readable storage medium are expressly defined to include any type of computer-readable storage device and / or storage disk and to exclude propagating signals and to exclude transmission media.

[0157] "Including" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim employs any form of "include" or "comprise" (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within any kind of claim recitation, it should be understood that there may be additional elements, terms, etc. that do not fall outside the scope of the corresponding claim or recitation. As used herein, when the phrase "at least" is used as a transitional term, such as in the preamble of a claim, the phrase "at least" is open-ended, just as the terms "comprising" and "including" are open-ended. When the term "and / or" is used, for example, in a form such as A, B, and / or C, the term "and / or" refers to any combination or subset of A, B, and C, such as (1) A alone, (2) B alone, (3) C alone, (4) A and B, (5) A and C, (6) B and C, or (7) A and B and C. As used herein in the context of describing structures, components, items, objects, and / or things, the phrase "at least one of A and B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects, and / or things, the phrase "at least one of A or B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. As used herein in the context of describing the execution or performance of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A and B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing the execution or performance of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A or B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.

[0158] As used herein, singular references (e.g., "a," "one," "first," "second," etc.) do not exclude a plurality. As used herein, the term "a" or "an" object refers to one or more of the object. The terms "one (or one)," "one or more," and "at least one" are used interchangeably herein. Furthermore, although a plurality of parts, elements, or method actions are listed individually, the plurality of parts, elements, or method actions may be implemented by, for example, the same entity or object. Additionally, although individual features may be included in different examples or claims, these features may be combined, and inclusion in different examples or claims does not mean that the combination of features is infeasible and / or disadvantageous.

[0159] Fig.14 is a representation that can be executed by an example processor circuit system to implement Figure 1 , FIG. 2A to FIG. 2C , Figures 3 to 5 and Fig.12 A flowchart of example machine readable instructions and / or example operations of a subscription-based I / O server 105. Fig.12 The configuration manager 1230 is based on Figures 3 to 5 One or more configuration commands of the control system configuration service 360 ​​to configure Figures 3 to 5 The example process 1400 begins when the DSCPD 305 of the control system is set. (Block 1410). For example, the subscription-based I / O server 105 can access a configuration file from the control system configuration service 360. In this example, the configuration file includes one or more commands to set the Figures 3 to 5 The DSCPD 305 is configured to be coupled to a PAT device (e.g., FIG. 2A to FIG. 2C and Figures 3 to 5 Instrument 210).

[0160] Fig.12 Example publication manager 1220 accesses management commands selected by a subscriber device based on a product quality prediction. (Block 1420). For example, Figures 3 to 5 The PAT device management circuit system 325 can select management commands based on the product quality prediction value. In response, Figures 3 to 5 The example process I / O layer 310 issues management commands using issue indications. The example issue manager 1220 receives issue indications and accesses management commands based on the issue indications.

[0161] The example device driver controller 1240 provides the management command to the DSCPD 305. (Block 1430). For example, based on the communication protocol used by the PAT device indicated by the device identification value included in the management command, Fig.12The command manager 1250 may convert management commands (eg, management commands accessed by the issuance manager 1220 at block 1420) into device-specific commands.

[0162] Although reference Fig.14 The illustrated flowchart describes an example method, but according to the description, many other methods can be used alternatively, which use the subscription-based I / O server 105 to access and / or issue commands. For example, the execution order of the blocks can be changed, and / or some of the blocks described can be changed, eliminated, or combined.

[0163] Fig.15 is a representation that can be executed by an example processor circuit system to implement Figure 1 , FIG. 2A to FIG. 2C , Figures 3 to 5 and Fig.12 A flowchart of example machine readable instructions and / or example operations of a subscription-based I / O server 105. Fig.12 The example configuration manager 1230 accesses the data stored in Figures 3 to 5 The control system configuration service 360 ​​and / or by Figures 3 to 5 Process 1500 begins when a control system configuration is provided by a control system configuration service 360. (Block 1505). For example, control system configuration service 360 ​​may provide configuration manager 1230 with access to a configuration file including calibration and / or management commands to configure the operation of subscription-based I / O server 105, such as establishing one or more master subscriber devices, one or more subscriber devices, and / or one or more publisher devices.

[0164] The example configuration manager 1230 configures the device-specific communication protocol driver. (Block 1510). For example, the configuration manager 1230 can configure the device-specific communication protocol driver by accessing commands in the control system configuration to Fig.12 The device driver controller 1240 provides commands to configure Figures 3 to 5 The DSCPD 305. In some examples, configuring the device specific communication protocol driver involves the configuration manager 1230 providing commands to the device driver controller 1240 to establish a communication mode, a device calibration configuration, or a fault detection configuration of the PAT device.

[0165] exist Fig.15 In the example of FIG. 15, block 1510 may be implemented by one or more of blocks 1515, 1520, and 1525 as follows. Example configuration manager 1230 may establish subscriber devices and / or publisher devices based on a control system configuration file. (Blocks 1510 to 1515). For example, configuration manager 1230 may send Fig.12 The subscription manager 1210 and / or Fig.12 The publication manager 1220 provides commands to establish a rule list and / or rule set to establish a device as a primary subscriber device, a subscriber device, or a publisher device.

[0166] The example publication manager 1220 can be from a primary subscriber device (e.g., Figures 3 to 5 Process I / O layer 310, Figure 6 Embedded interface 610, Figure 7 Embedded interface 760, Figure 8 Embedded interface 870, Fig. 9 Embedded interface 930, Fig.10 Embedded interface 1040, Fig.11 PIO circuit system 1130 etc.) receives the command to initiate Figures 3 to 5 1520). By sending commands to the DSCP 305, the example device driver controller 1240 can establish a device-specific communication protocol to initiate communication with the PAT device. (Block 1525). For example, the device driver controller 1240 can send device-specific commands to establish a communication protocol for one or more PAT devices using the DeltaV communication library. In this example, based on commands from a configuration file and / or a master subscriber, a communication protocol is assigned to one or more PAT devices.

[0167] The example publication manager 1220 collects the published input data from the DSCPD 305. (Block 1530). For example, the DSCPD 305 can send a publication indication to the publication manager 1220 to indicate that the measurement data from one or more of the PAT devices is ready to be provided to the subscriber device. The publication manager 1220 can access the measurement data using the device driver controller 1240 based on the publication indication. The device driver controller 1240 provides the measurement data to the subscription manager 1210.

[0168] The example subscription manager 1210 provides the measurement data to the subscriber device and the master subscriber device. (Block 1535). The subscription manager 1210 sends the measurement data from the device driver controller 1240 to the devices determined to be subscriber type devices and master subscriber type devices. For example, the subscription manager 1210 may send the measurement data to the process I / O layer 310 to determine product quality values ​​and / or implement Figure 6 , Figure 8 , Fig.10 and Fig.11The data model 640 of the example subscription manager 1210 can be configured to require a subscriber type device to request access to the measurement data provided by the device driver controller 1240. In such an example, the subscription manager 1210 can send an indication to the subscriber device to indicate that the measurement data is being published to the subscription-based I / O server 105. For example, Figure 2A , Figure 2B , Figure 3 and Figure 4 The workstation 220 accesses the measurement data in response to an indication from the subscription manager 1210 that the measurement data is being published.

[0169] The example command manager 1250 monitors the publication manager 1220 to determine whether a management command and / or calibration command is published by a subscriber device. (Block 1540). For example, in response to Figures 3 to 5 The PAT device management circuit system 325 selects a management command or a calibration command, and the process I / O layer 310 sends a release instruction to the release manager 1220. The release manager 1220 provides the release instruction to the command manager 1250 to access the management command or calibration command selected by the PAT device management circuit system 325. Figures 3 to 5 If the CMPE 315 determines that the product quality prediction and / or product quality value does not meet the product quality specification for the product being manufactured, management commands and / or calibration commands may be selected. Figures 3 to 5 The PAT device management circuitry 325 may be based on Figures 3 to 5 The strategy controller 320 and the product quality prediction and / or product quality value are used to select commands. Alternatively, the PAT device management circuit system can select management commands and / or calibration commands to verify previous product quality predictions and / or confirm that the manufacturing process (e.g., Figure 1 Modification of processes 120, 130 and 140).

[0170] If the example command manager 1250 determines that a management command and / or calibration command is issued (block 1540: yes), the process 1500 proceeds to block 1545. The example device driver controller 1240 issues the management command and / or calibration command to the DSCPD 305 to provide the PAT device with access to the calibration command using a device-specific communication protocol. (Block 1545). For example, in response to the command manager 1250 assigning a management command to one or more PAT devices, the device driver controller 1240 may provide the device-specific command to the PAT device and / or the DSCPD 305. In such an example, the management command may be modified to include a device identification value to enable the device driver controller 1240 and / or the DSCPD 305 to determine the PAT device corresponding to the management command. (Block 1550)

[0171] If the example command manager 1250 determines that the management command and / or calibration command has not been issued (block 1540: No), the process 1500 proceeds to block 1550. The example subscription-based I / O server 105 determines whether to continue monitoring the manufacturing process. (block 1550). For example, the PAT device management circuit system 325 can select a command to indicate the end of the manufacturing process. If the example subscription-based I / O server 105 determines to continue monitoring the manufacturing process (block 1550: Yes), the process 1500 returns to block 1530 to collect measurement data. If the example subscription-based I / O server 105 determines not to continue monitoring the manufacturing process (block 1550: No), the example instructions instruct the process 1500 to end 1550 (.

[0172] Although reference Fig.15 The illustrated flowchart describes an example method, but according to the description, many other methods can be used alternatively, which use subscription-based I / O server 105 to access and / or issue commands. For example, the execution order of the blocks can be changed, and / or some of the blocks described can be changed, eliminated, or combined.

[0173] Fig.16 is a representation that can be executed by an example processor circuit system to implement Figures 3 to 5 DSCPD 305 and / or Figures 6 to 10 1600 begins at block 1605, where Fig.13 The example command controller 1310 accesses the Fig.12 The device management commands issued by the subscription-based I / O server 105. For example, Fig.12 The configuration manager 1230 can Fig.12 The device driver controller 1240 provides the management command to provide the management command to the command controller 1310. In this example, the DSCPD 305 may receive the management command using a shared communication protocol or a device specific communication protocol.

[0174] By Fig.13 Select command in the communication library 1370, Fig.13 The example communication manager 1320 initiates communication with the PAT device. (Block 1610). Fig.16In the example of , block 1610 may be implemented by one or more of blocks 1615, 1620, and 1625 as follows. The example communication manager 1320 may access one or more communication protocol libraries to initialize communication with one or more of the PAT devices using one or more communication protocols. (Block 1615). For example, based on the management command accessed at block 1605, the DSCPD 305 may determine a communication protocol for each of the PAT devices.

[0175] The example communication manager 1320 may utilize one or more communication protocol libraries corresponding to the PAT device to generate a pair of FIG. 2A to FIG. 2C and Figures 3 to 5 (Block 1620). For example, DSCPD 305 may convert the management command and / or calibration command into a device-specific command to be used as an instruction to initialize instrument 210. Alternatively, Figures 6 to 10 The embedded interface 610, 760, 870, 930, 1040 can generate device-specific commands to be used as instructions for initializing the instrument 210, and Figure 6 and Figure 8 Instrument I / O Proxy Server 645 or Fig.10 The instrument server 1020 can utilize a communication protocol library to provide device-specific commands to the PAT device. Fig.13 Example configuration controller 1330 can be FIG. 2A to FIG. 2C and Figures 3 to 5 The apparatus 210 (which includes a plurality of PAT devices) is configured to Fig.12 The publishing manager 1220 of the PAT device may publish the measurement data. (Block 1625) For example, the configuration controller 1330 may configure the PAT device to provide substantially real-time measurement data to the subscription-based I / O server 105, the substantially real-time measurement data including sensor data and / or device-specific data.

[0176] Fig.13 The example instrument driver 1340 receives sensor data from a PAT device using one or more device-specific communication protocols. (Block 1630). For example, a PAT device (e.g., instrument 210) may provide DSCPD 305 with information related to a manufacturing process (e.g., Figure 1 At block 1635, Fig.13The example measurement manager 1350 uses the sensor data and device-specific metadata from block 1630 to generate input data. The input data may be referred to as measurement data. For example, the measurement manager 1350 converts the sensor data and metadata corresponding to the PAT device (which supplies the sensor data) to generate input data of a shared data type. The example measurement manager 1350 converts the input data to the shared data type to reduce integration complexity of instruments 210 that communicate using multiple communication protocols by implementing a shared communication protocol between a subscription-based I / O server 105 and a DSCPD 305, so that a reduced number of communication protocols can be implemented.

[0177] Fig.13 1640). For example, the publisher manager 1360 may publish subsequent input data of a shared data type to the publisher manager 1220. In these examples, the shared data type is a data type of a communication protocol used to communicate with the subscriber device. The shared data type reduces the integration complexity of the subscription-based I / O server 105 by using measurement data corresponding to the communication protocol used to provide measurement data to the subscriber device.

[0178] The example command controller 1310 monitors the subscription-based I / O server 105 for an indication that a management command was issued by a primary subscriber device. (Block 1645). If the example command controller 1310 determines that a management command was issued (Block 1645: Yes), the process 1600 proceeds to block 1650. The example command controller 1310 issues a device-specific protocol instruction based on the issued command. (Block 1650). For example, the command controller 1310 may convert the issued command into a command of a device-specific communication protocol that corresponds to a PAT device indicated by a device identification value included in the issued command. In such an example, the DSCPD 305 may utilize the communication library 1370 to issue a write command to the PAT device. 16001655

[0179] If the example command controller 1310 determines that no command has been issued (block 1645: No), the process 1600 proceeds to block 1655. The example DSCPD 305 determines whether to continue monitoring the manufacturing process based on the issued commands. For example, if one or more of the issued commands indicate that the manufacturing process is a continuous manufacturing process, or if none of the issued commands is a command to end monitoring, the DSCPD 305 may determine to continue monitoring. If the example command controller 1310 determines to continue monitoring (block 1645: Yes), the process 1600 returns to block 1630 to receive sensor data from the PAT device. If the example command controller 1310 determines to end monitoring (block 1645: No), the Fig.16 The example instruction or process ends.

[0180] Although reference Fig.16 The flowchart shown describes an example method, but according to the description, access commands and / or many other methods of publishing measurement data to subscription-based I / O servers 105 may be used alternatively. For example, the order of execution of the blocks may be changed, and / or some of the blocks described may be changed, eliminated, or combined.

[0181] Fig.17 is a representation that can be executed by an example processor circuit system to implement Figure 1 , Figure 2B and Figure 4 1700 begins at block 1705, where Figures 3 to 5 An example process I / O layer 310 accesses the Figure 1 , FIG. 2A to FIG. 2C , Figures 3 to 5 and Fig.12 The master subscriber configuration command of the subscription-based I / O server 105 is sent to the master subscriber of the subscription-based I / O server 105. (Block 1705). For example, the master subscriber configuration command is based on the master subscriber configuration command from Figures 3 to 5 The configuration file of the control system configuration service 360 ​​is used to configure the operation of the main subscriber device. For example, the process I / O layer 310 may receive the following command, which identifies Figure 6 , Figure 8 and Figure 10 to Figure 11 The data model 640 is to be used to determine product quality values ​​and / or product quality predictions based on the product being manufactured.

[0182] The example process I / O layer 310 initiates the Figures 3 to 5315. (Block 1710). For example, the CMPE 315 is initiated so that the CMPE 315 can access the data model 640 corresponding to the product being manufactured to determine a product quality value and / or a product quality prediction based on substantially real-time sensor data. The example process I / O layer 310 accesses published input data from the subscription-based I / O server 105 to provide measurement data from the PAT device to the CMPE 315 and the PAT device management circuit system 325. (Block 1715).

[0183] The example CMPE 315 uses the data model 640 and the published input data to determine a product quality prediction. (Block 1720). For example, the CMPE 315 may use the parameter values ​​of the data model 640 to determine a product quality prediction corresponding to the published sensor data. Additionally, the example CMPE 315 may determine a product quality value corresponding to the sensor data.

[0184] The example policy controller 320 may determine whether to modify one or more of the PAT devices. (Block 1725). For example, based on the product quality prediction and / or the actual product quality value, the policy controller 320 may make a decision whether to modify the PAT device. If the example policy controller 320 determines to modify one or more of the PAT devices (Block 1725: Yes), the process 1700 proceeds to block 1730. The example PAT device management circuit system 325 determines a management command and / or a calibration command based on the product quality prediction and / or the input data. (Block 1730). For example, if the device-specific metadata indicates a fault detection error, the PAT device management circuit system 325 may select a calibration command to modify the corresponding PAT device to repair the content that caused the fault detection error. The example PAT device management circuit system 325 provides the selected command to the process I / O layer 310 to issue the management command and / or calibration command to the subscription-based I / O server 105. (Block 1735). 17001740

[0186] If the example policy controller 320 and / or the PAT device management circuit system 325 determine not to modify one or more of the PAT devices (block 1725: No), the process proceeds to block 1740. The example policy controller 320 determines whether to continue monitoring based on the control strategy being implemented. (Block 1740). For example, if the manufacturing process is a continuous manufacturing process, and / or additional input data from the subscription-based I / O server 105 is available to be processed, the policy controller 320 may determine to continue monitoring. If the example policy controller 320 determines to continue monitoring (block 1740: Yes), the process 1700 returns to block 1715 to access the published input data. If the policy controller 320 determines not to continue monitoring (block 1740: No), the example instructions or process 1700 end.

[0187] Although reference Fig.17 The illustrated flowchart describes an example method, but many other methods of accessing measurements and / or determining product quality values ​​may be used alternatively according to the description. For example, the execution order of the blocks may be changed, and / or some of the blocks described may be changed, eliminated, or combined.

[0188] Fig.18 is constructed to execute Figures 14 to 17 Machine readable instructions and / or operations and / or instantiating these machine readable instructions and / or operations to implement Figure 1 , FIG. 2A to FIG. 2C and Figures 3 to 5 Subscription-based I / O server 105, Figures 3 to 5 and Fig.13 DSCPD 305 and / or Figure 1 , Figure 2B and Figure 4 1 is a block diagram of an example processor platform 1800 of a control device 230. The processor platform 1800 may be, for example, a server, a personal computer, a workstation, a self-learning machine (eg, a neural network), an Internet appliance, or any other type of computing device.

[0189] The processor platform 1800 of the illustrated example includes a processor circuit system 1812. The processor circuit system 1812 of the illustrated example is hardware. For example, the processor circuit system 1812 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired family or manufacturer. The processor circuit system 1812 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the processor circuit system 1812 implements Figure 2B and Figures 3 to 5 The control device 230 also includes a subscription-based I / O server 105, Figure 3 DSCPD 305, Figure 3 Process I / O layer 310, Figure 3 CMPE 315 Figure 3 The policy controller 320, and Figure 3 PAT equipment management circuit system 325, Fig.12 Subscription manager 1210, Fig.12 Release Manager 1220, Fig.12 Configuration Manager 1230, Fig.12 Device driver controller 1240, Fig.12 Command Manager 1250, Figures 3 to 5 and 13 of DSCPD305, and also includes Fig.13 The command controller 1310, Fig.13 The communication manager 1320, Fig.13 Configuration controller 1330, Fig.13 (multiple) instrument drivers 1340, Fig.13 Measurement Manager 1350, Fig.13 Publisher Manager 1360, Fig.13 Communications Library 1370.

[0190] The processor circuit system 1812 of the illustrated example includes a local memory 1813 (e.g., cache, registers, etc.). The processor circuit system 1812 of the illustrated example communicates with a main memory via a bus 1818, which includes a volatile memory 1814 and a non-volatile memory 1816. The volatile memory 1814 may be composed of synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 1816 may be implemented by flash memory and / or any other desired type of memory device. Access to the main memory 1814 , 1816 of the illustrated example is controlled by a memory controller 1817 .

[0191] The processor platform 1800 of the illustrated example also includes an interface circuit system 1820. The interface circuit system 1820 can be implemented by hardware according to any type of interface standard (such as an Ethernet interface, a universal serial bus (USB) interface, interface, near field communication (NFC) interface, peripheral component interconnect (PCI) interface and / or peripheral component interconnect express (PCIe) interface).

[0192] In the illustrated example, one or more input devices 1822 are connected to the interface circuitry 1820. The input device(s) 1822 permit a user to enter data and / or commands into the processor circuitry 1812. The input device(s) 1822 may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a track pad, a track ball, an isopoint device, and / or a voice recognition system.

[0193] One or more output devices 1824 are also connected to the interface circuit system 1820 of the illustrated example. The output device 1824 can be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, an in-situ switch (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker. Therefore, the interface circuit system 1820 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics processor circuit system such as a GPU.

[0194] The interface circuitry 1820 of the illustrated example also includes communication devices, such as transmitters, receivers, transceivers, modems, resident gateways, wireless access points, and / or network interfaces to facilitate the exchange of data with external machines (e.g., any type of computing device) over the network 1826. Communications may occur over, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-sight wireless system, a cellular telephone system, an optical connection, etc.

[0195] The processor platform 1800 of the illustrated example also includes one or more mass storage devices 1828 to store software and / or data. Examples of such mass storage devices 1828 include magnetic storage devices, optical storage devices, floppy disk drives, HDDs, CDs, Blu-ray disk drives, redundant array of independent disks (RAID) systems, solid-state storage devices such as flash memory devices and / or SSDs, and DVD drives.

[0196] Machine executable instructions (INSTR) 1832 (which can be Figures 13 to 16 The machine-readable instructions implemented by the computer program product (implemented by the computer program product) may be stored in the mass storage device 1828, in the volatile memory 1814, in the non-volatile memory 1816, and / or on a removable, non-transitory computer-readable storage medium such as a CD or DVD.

[0197] Fig.19 yes Fig.18 1812. In this example, Fig.18 The processor circuit system 1812 is implemented by a general-purpose microprocessor 1900. The general-purpose microprocessor circuit system 1900 performs Fig.13 and Fig.14 Some or all of the machine readable instructions of the flowchart of the machine readable instructions to effectively Fig.12 The subscription-based I / O server 105 is instantiated as logic circuitry to perform operations corresponding to those machine-readable instructions. In some such examples, Fig.12 The circuit system is instantiated by the hardware circuit of the microprocessor 1900 in combination with instructions. For example, the microprocessor 1900 can implement a multi-core hardware circuit system such as a CPU, DSP, GPU, XPU, etc. Although the microprocessor 1900 may include any number of example cores 1902 (for example, 1 core), the microprocessor 1900 of this example is a multi-core semiconductor device including N cores. The cores 1902 of the microprocessor 1900 can operate independently, or can cooperate to execute machine-readable instructions. For example, the machine code corresponding to a firmware program, an embedded software program, or a software program can be executed by one of the cores in the core 1902, or can be executed by multiple cores in the core 1902 at the same or different times. In some examples, the machine code corresponding to the firmware program, the embedded software program, or the software program is divided into threads and executed in parallel by two or more cores in the core 1902. The software program can be executed in parallel by Figures 13 to 16 The flowcharts represent machine-readable instructions and / or operations corresponding to a portion or all of the machine-readable instructions and / or operations.

[0198] The core 1902 can communicate via a first example bus 1904. In some examples, the first bus 1904 can implement a communication bus to practice communications associated with one (or more) of the cores 1902. For example, the first bus 1904 can implement at least one of an inter-integrated circuit (I2C) bus, a serial peripheral interface (SPI) bus, a PCI bus, or a PCIe bus. Additionally or alternatively, the first bus 1904 can implement any other type of computing bus or electrical bus. The core 1902 can obtain data, instructions, and / or signals from one or more external devices via an example interface circuit system 1906. The core 1902 can output data, instructions, and / or signals to one or more external devices via the interface circuit system 1906. Although the cores 1902 of this example include example local memory 1920 (e.g., a level 1 (L1) cache that may be divided into an L1 data cache and an L1 instruction cache), the microprocessor 1900 also includes example shared memory 1910, which may be shared by the cores for high-speed access to data and / or instructions (e.g., a level 2 (L2) cache). Data and / or instructions may be transferred (e.g., shared) by writing to and / or reading from the shared memory 1910. The local memory 1920 and the shared memory 1910 of each core in the cores 1902 may be part of a storage device hierarchy that includes multiple levels of cache memory and main memory (e.g., Fig.18 1814, 1816). Typically, memories at higher levels in the hierarchy exhibit lower access times and have smaller storage capacities than memories at lower levels. Changes to each level of the cache hierarchy are managed (e.g., coordinated) by a cache coherence policy.

[0199] Each core 1902 may be referred to as a CPU, DSP, GPU, etc., or any other type of hardware circuit system. Each core 1902 includes a control unit circuit system 1914, an arithmetic and logic (AL) circuit system (sometimes referred to as an ALU) 1916, a plurality of registers 1918, a level 1 (L1) cache 1920, and a second example bus 1922. Other structures may exist. For example, each core 1902 may include a vector unit circuit system, a single instruction multiple data (SIMD) unit circuit system, a load / store unit (LSU) circuit system, a branch / jump unit circuit system, a floating point unit (FPU) circuit system, etc. The control unit circuit system 1914 includes a semiconductor-based circuit that is constructed to control (e.g., coordinate) data movement within the corresponding core 1902. The AL circuit system 1916 includes a semiconductor-based circuit that is constructed to perform one or more mathematical operations and / or logical operations on data within the corresponding core 1902. Some examples of the AL circuit system 1916 perform integer-based operations. In other examples, the AL circuit system 1916 also performs floating-point operations. In yet other examples, the AL circuit system 1916 may include a first AL circuit system that performs integer-based operations, and a second AL circuit system that performs floating-point operations. In some examples, the AL circuit system 1916 may be referred to as an arithmetic logic unit (ALU). Registers 1918 are semiconductor-based structures to store data and / or instructions, such as the results of one or more of the operations performed by the AL circuit system 1916 of the corresponding core 1902. For example, registers 1918 may include (multiple) vector registers, (multiple) SIMD registers, (multiple) general registers, (multiple) tag registers, (multiple) segment registers, (multiple) machine-specific registers, (multiple) instruction pointer registers, (multiple) control registers, (multiple) debug registers, (multiple) memory management registers, (multiple) machine check registers, etc. Registers 1918 may be arranged as follows Fig.19 Alternatively, registers 1918 may be organized into any other arrangement, format, or structure, including being distributed among all cores 1902 to reduce access time. Second bus 1922 may implement at least one of an I2C bus, an SPI bus, a PCI bus, or a PCIe bus.

[0200] Each core 1902 and / or more generally the microprocessor 1900 may include additional structures and / or alternative structures beyond those structures shown and described above. For example, there may be one or more clock circuits, one or more power supplies, one or more power gates, one or more cache home agents (CHA), one or more convergence / common grid stop points (CMS), one or more shifters (e.g., (multiple) barrel shifters) and / or other circuit systems. The microprocessor 1900 is a semiconductor device that is made to include many transistors that are interconnected to implement the structure described above in one or more integrated circuits (ICs) contained in one or more packages. The processor circuit system may include one or more accelerators and / or collaborate with one or more accelerators. In some examples, the accelerator is implemented by a logic circuit system to perform certain tasks faster and / or more efficiently than a general-purpose processor. Examples of accelerators include ASICs and FPGAs, such as those discussed herein. A GPU or other programmable device may also be an accelerator. An accelerator may be on a processor circuit system, in a chip package identical to the processor circuit system, and / or in one or more separate packages from the processor circuit system.

[0201] Fig. 20 yes Fig.18 1812 is a block diagram of another example implementation of a processor circuit system 1812. In this example, the processor circuit system 1812 is implemented by a field programmable gate array (FPGA) circuit system 2000. The FPGA circuit system 2000 can be used, for example, to perform operations that can be performed by executing corresponding machine-readable instructions. Fig.19 However, once configured, FPGA circuit system 2000 instantiates machine-readable instructions in hardware and thus can often perform operations faster than a general-purpose microprocessor executing corresponding software.

[0202] More specifically, as described above Fig.19 The microprocessor 1900 (which is a general-purpose device that can be programmed to perform the Figures 13 to 16 In contrast, some or all of the machine-readable instructions in a flowchart representation of a general purpose device, but the interconnection and logic circuitry of the general purpose device is fixed once it is manufactured, Fig. 20 The example FPGA circuit system 2000 includes interconnect and logic circuit systems, which can be configured and / or interconnected in different ways after fabrication to control, for example, Figures 13 to 16In particular, FPGA 2000 can be thought of as an array of logic gates, interconnects, and switches. The switches can be programmed to change the way the logic gates are interconnected via the interconnects, effectively forming one or more specialized logic circuits (unless and until FPGA circuitry 2000 is reprogrammed). The configured logic circuits enable the logic gates to cooperate in different ways to perform different operations on data received by the input circuitry. These operations can be performed in conjunction with the logic gates of the FPGA circuitry. Figures 13 to 16 Thus, the FPGA circuit system 2000 can be constructed to effectively Figures 13 to 16 Some or all of the machine-readable instructions of the flowchart of the FPGA are instantiated into specialized logic circuits to perform operations corresponding to those software instructions in a specialized manner similar to an ASIC. Therefore, the FPGA circuit system 2000 can execute operations corresponding to those software instructions faster than a general-purpose microprocessor. Figures 13 to 16 Operations corresponding to some or all of the machine-readable instructions.

[0203] exist Fig. 20 In the example of FPGA circuit system 2000, FPGA circuit system 2000 is configured to be programmed (and / or reprogrammed one or more times) by an end user via a hardware description language (HDL) such as Verilog. Fig. 20 FPGA circuit system 2000 includes example input / output (I / O) circuit system 2002 to obtain data from and / or output data to example configuration circuit system 2004 and / or external hardware (e.g., external hardware circuit system) 2006. For example, configuration circuit system 2004 can implement interface circuit system that can obtain machine-readable instructions to configure FPGA circuit system 2000 or (multiple) portions thereof. In some such examples, configuration circuit system 2004 can obtain machine-readable instructions from a user, a machine (e.g., a hardware circuit system (e.g., a programmed circuit system or a specialized circuit system) that can implement an artificial intelligence / machine learning (AI / ML) model to generate instructions), etc. In some examples, external hardware 2006 can implement Fig.19 FPGA circuit system 2000 also includes an array of example logic gate circuit system (LGC) 2008, multiple example configurable interconnects 2010, and example storage circuit system 2012. Logic gate circuit system 2008 and interconnects 2010 can be configured to instantiate one or more operations and / or other desired operations, which can be used with Figures 13 to 16 Corresponding to at least some of the machine-readable instructions of. Fig. 20 The logic gate circuit system 2008 shown is made into groups or blocks. Each block includes a semiconductor-based electrical structure that can be configured into a logic circuit. In some examples, the electrical structure includes a logic gate (e.g., an AND gate, an OR gate, an AND-OR gate, etc.) that provides a basic building block for the logic circuit. An electrically controllable switch (e.g., a transistor) is present in each logic gate circuit system in the logic gate circuit system 2008 so that the configuration of the electrical structure and / or logic gate can form a circuit that performs the desired operation. The logic gate circuit system 2008 may include other electrical structures, such as a lookup table (LUT), a register (e.g., a flip-flop or a latch), a multiplexer, etc.

[0204] The illustrated example interconnect 2010 is a conductive path, trace, via, etc., which may include an electrically controllable switch (e.g., a transistor) whose state may be changed by programming (e.g., using an HDL instruction language) to activate or deactivate one or more connections between one or more logic gate circuit systems in the logic gate circuit system 2008, thereby programming the desired logic circuit.

[0205] The storage circuit system 2012 of the illustrated example is configured to store (a plurality of) results of one or more operations performed by the corresponding logic gates. The storage circuit system 2012 may be implemented by registers, etc. In the illustrated example, the storage circuit system 2012 is distributed in the logic gate circuit system 2008 to facilitate access and increase execution speed.

[0206] Fig. 20 The example FPGA circuit system 2000 also includes an example proprietary operation circuit system 2014. In this example, the proprietary operation circuit system 2014 includes a dedicated circuit system 2016, which can be called to implement common functions to avoid the need to program these functions on site. Examples of such dedicated circuit systems 2016 include: memory (e.g., DRAM) controller circuit systems, PCIe controller circuit systems, clock circuit systems, transceiver circuit systems, memory, and multiplier-accumulator circuit systems. Other types of dedicated circuit systems may exist. In some examples, the FPGA circuit system 2000 may also include an example general-purpose programmable circuit system 2018, such as an example CPU 2020 and / or an example DSP 2022. Additionally or alternatively, there may be other general-purpose programmable circuit systems 2018, such as GPUs, XPUs, etc., which can be programmed to perform other operations.

[0207] Although Figure 5 and Figure 6 Pictured Fig.18These are two example implementations of the processor circuitry 1812 of FIG. 1 , but many other approaches are contemplated. For example, as mentioned above, a modern FPGA circuitry may include an on-board CPU, such as Fig. 20 One or more CPUs in the example CPU 2020. Therefore, additionally by combining Fig.19 An example microprocessor 1900 and Fig. 20 The example FPGA circuit system 2000, Fig.18 The processor circuit system 1812 may be implemented. In some such hybrid examples, the Figures 13 to 16 The first portion of the machine-readable instructions represented by the flowchart may be represented by Fig.19 Executed by one or more of the cores 1902 of Figures 13 to 16 The second portion of the machine-readable instructions represented by the flowchart may be represented by Fig. 20 FPGA circuit system 2000 is executed, and / or by Figures 13 to 16 The third part of the machine-readable instructions represented by the flowchart of can be executed by ASIC. It should be understood that some or all of the circuit systems in the circuit system of Figure 2 can therefore be instantiated at the same or different times. For example, some or all of the circuit systems in the circuit system can be instantiated in one or more threads executed concurrently and / or serially. Moreover, in some examples, some or all of the circuit systems in the circuit system of Figure 2 can be implemented in one or more virtual machines and / or containers, and the one or more virtual machines and / or containers are executed on a microprocessor.

[0208] In some examples, Fig.18 The processor circuit system 1812 can be in one or more packages. For example, Fig.19 The processor circuit system 1900 and / or Fig. 20 The FPGA circuit system 2000 can be in one or more packages. In some examples, the XPU can be composed of Fig.18 The XPU may be implemented by a processor circuit system 1812, which may be in one or more packages. For example, the XPU may include a CPU in one package, a DSP in another package, a GPU in yet another package, and an FPGA in yet another package.

[0209] Fig.21 is the software (for example, with Figures 13 to 16Block diagram of an example software distribution platform (e.g., one or more servers) for distributing software corresponding to example machine-readable instructions of the present invention to client devices associated with end-users and / or consumers (e.g., for licensing, sale, and / or use), retailers (e.g., for sale, resale, licensing, and / or sublicensing), and / or original equipment manufacturers (OEMs) (e.g., for inclusion in products to be distributed to, for example, retailers and / or other end-users such as direct purchasing consumers).

[0210] Fig.21 A block diagram of an example software distribution platform 2105 is illustrated for distributing software such as a computer program product to hardware devices owned and / or operated by a third party. Fig.18 The example software distribution platform 2105 may be implemented by any computer server, data facility, cloud service, etc. that can store software and send software to other computing devices. A third party may be a customer of the entity that owns and / or operates the software distribution platform 2105. For example, the entity that owns and / or operates the software distribution platform 2105 may be such as Fig.18 The third party may be a consumer, user, retailer, OEM, etc., who purchases and / or licenses the software for use and / or resale and / or sublicense. In the illustrated example, the software distribution platform 2105 includes one or more servers and one or more storage devices. The storage device stores the machine-readable instructions 1832, which may be used with the machine-readable instructions 1832 as described above. Figures 13 to 16 The example software distribution platform 2105 server or servers may correspond to the example machine-readable instructions 1832. The example software distribution platform 2105 server or servers may communicate with a network 2110, which may be connected to any one or more of the Internet and / or any of the example networks described above. In some examples, the one or more servers respond to a request to send software to a requesting party as part of a business transaction. The delivery, sale, and / or payment of a license for the software may be handled by one or more servers of the software distribution platform and / or a third-party payment entity. The server enables a purchaser and / or licensor to download the machine-readable instructions 1832 from the software distribution platform 2105. For example, Fig.18 Software corresponding to the example machine readable instructions 1832 may be downloaded to the example processor platform 400, which is to execute the machine readable instructions 1832 to implement Fig.12 Subscription-based I / O server 105. In some examples, one or more servers of software distribution platform 2105 periodically send software (e.g., Fig.18Example machine readable instructions 1832) provide, send and / or force updates to ensure that improvements, patches, updates, etc. are distributed and applied to the software at the end subscriber device.

[0211] From the foregoing, it should be appreciated that example systems, methods, apparatus, and articles of manufacture have been disclosed that enable PAT equipment to ensure continuous manufacturing in industries that monitor product quality values. The disclosed systems, methods, apparatus, and articles of manufacture improve the efficiency of using computing devices by implementing continuous manufacturing using PAT equipment using a distributed control system. Thus, the disclosed systems, methods, apparatus, and articles of manufacture relate to one or more improvements in the operation of machines such as computers or other electronic and / or mechanical devices.

[0212] Example methods, apparatus, systems, and articles of manufacture for modifying an industrial control system are disclosed herein. Other examples and combinations thereof include the following.

[0213] Example 1 includes a system for modifying an industrial control system, comprising at least one memory; a programmable circuit system; and instructions that cause the programmable circuit system to: configure a device driver based on a first command, the first command configuring the device driver to initiate a device-specific communication protocol to collect input data from a publisher device, the publisher device coupled to the device driver; access a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; and provide the second command to the device driver.

[0214] Example 2 includes a system according to Example 1, wherein the programmable circuit system modifies the production operation based on the product quality prediction; provides subsequent input data to the subscriber device, and the subscriber device generates a product quality value based on the input data; and verifies the modification to the production operation based on the product quality value.

[0215] Example 3 includes a system according to Example 1, wherein the first command is based on a control system configuration from a control system configuration service, which configures the programmable circuit system to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

[0216] Example 4 includes the system of Example 3, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

[0217] Example 5 includes a system according to Example 3, wherein the programmable circuit system collects the input data from the device driver; and after receiving the input data from the publisher device, provides the input data to the device of the subscriber device type and the device of the master subscriber device type.

[0218] Example 6 includes a system according to Example 1, wherein the programmable circuit system modifies the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver being used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

[0219] Example 7 includes a system according to Example 1, wherein the programmable circuit system collects the input data from the device driver, the input data including sensor data and device-specific metadata, the sensor data including at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata including at least one of a device state or a device identification value.

[0220] Example 8 includes at least one non-transitory computer-readable storage medium, comprising instructions that, when executed, cause a processor circuit system to at least: configure a device driver based on a first command, the first command configuring the device driver to initiate a device-specific communication protocol to collect input data from a publisher device coupled to the device driver; access a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; and provide the second command to the device driver.

[0221] Example 9 includes at least one non-transitory computer-readable storage medium according to Example 8, wherein the instructions, when executed, cause the processor circuit system to: modify the production operation based on the product quality prediction; provide subsequent input data to the subscriber device, the subscriber device generating a product quality value based on the input data; and verify the modification to the production operation based on the product quality value.

[0222] Example 10 includes at least one non-transitory computer-readable storage medium according to Example 8, wherein the first command is based on a control system configuration from a control system configuration service, which configures the processor circuit system to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

[0223] Example 11 includes at least one non-transitory computer-readable storage medium according to Example 10, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or the primary subscriber device type.

[0224] Example 12 includes at least one non-transitory computer-readable storage medium according to Example 10, wherein the instructions, when executed, cause the processor circuit system to: collect the input data from the device driver; and after receiving the input data from the publisher device, provide the input data to the device of the subscriber device type and the device of the master subscriber device type.

[0225] Example 13 includes at least one non-transitory computer-readable storage medium according to Example 8, wherein the instructions, when executed, cause the processor circuit system to: modify the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver being used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

[0226] Example 14 includes at least one non-transitory computer-readable storage medium according to Example 8, wherein the instructions, when executed, cause the processor circuit system to collect the input data from the device driver, the input data comprising sensor data and device-specific metadata, the sensor data comprising at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata comprising at least one of a device state or a device identification value.

[0227] Example 15 includes a method for modifying an industrial control system, comprising: configuring a device driver based on a first command, the first command configuring the device driver to initiate a device-specific communication protocol to collect input data from a publisher device, the publisher device coupled to the device driver; accessing a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction, the product quality prediction being generated using a spectral data model; and providing the second command to the device driver.

[0228] Example 16 includes the method according to Example 15, further comprising: modifying the production operation based on the product quality prediction; providing subsequent input data to the subscriber device, the subscriber device generating a product quality value based on the input data; and verifying the modification to the production operation based on the product quality value.

[0229] Example 17 includes the method according to Example 15, further comprising: accessing a control system configuration from a control system configuration service, wherein the control system configuration service configures the processor circuit system to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

[0230] Example 18 includes the method of Example 17, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

[0231] Example 19 includes the method according to Example 17, further comprising: collecting the input data from the device driver; and after receiving the input data from the publisher device, providing the input data to the device of the subscriber device type and the device of the master subscriber device type.

[0232] Example 20 includes the method according to Example 15, further comprising: modifying the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, and the modification to the device driver is used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

[0233] Example 21 includes the method according to Example 15, further comprising: collecting the input data from the device driver, the input data including sensor data and device-specific metadata, the sensor data including at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata including at least one of a device state or a device identification value.

[0234] Example 22 includes an apparatus comprising a configuration manager circuit system that configures a device driver based on a first command, the first command configuring the device driver to initiate a device-specific communication protocol to collect input data from a publisher device coupled to the device driver; a publishing manager circuit system that accesses a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; and a command manager circuit that provides the second command to the device driver.

[0235] Example 23 includes an apparatus according to Example 22, further comprising a controller circuit system that modifies a production operation based on the product quality prediction; provides subsequent input data to the subscriber device, the subscriber device generates a product quality value based on the input data; and verifies the modification to the production operation based on the product quality value.

[0236] Example 24 includes an apparatus according to Example 22, wherein the first command is based on a control system configuration from a control system configuration service, which configures the subscription manager to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

[0237] Example 25 includes the apparatus of Example 24, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

[0238] Example 26 includes an apparatus according to Example 24, further comprising a device driver controller circuit, which collects the input data from the device driver; and after receiving the input data from the publisher device, provides the input data to the device of the subscriber device type and the device of the master subscriber device type.

[0239] Example 27 includes an apparatus according to Example 22, wherein the command manager circuit system modifies the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver being used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

[0240] Example 28 includes an apparatus according to Example 22, further comprising a device driver controller circuit system, which collects the input data from the device driver, the input data including sensor data and device-specific metadata, the sensor data including at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata including at least one of a device state or a device identification value.

[0241] The attached claims are hereby incorporated by reference into the detailed description. Although certain example systems, methods, devices and articles have been disclosed herein, the coverage of this patent is not limited thereto. On the contrary, this patent covers all systems, methods, devices and articles that fully fall within the scope of the claims of this patent.

[0242] This application claims priority to U.S. Patent Application No. 17 / 886,420, entitled “METHOD AND APPARATUS FOR PERFORMING PROCESS ANALYTICS IN A DISTRIBUTED CONTROL SYSTEM,” filed on August 11, 2022. The entire contents of U.S. Patent Application No. 17 / 886,420 are hereby incorporated herein by reference.

Claims

1. A system for modifying an industrial control system, comprising: at least one memory; Programmable circuit system; as well as Instructions that cause the programmable circuit system to: configuring a device driver based on a first command, the first command configuring the device driver to initiate a device specific communication protocol to collect input data from a publisher device, the publisher device coupled to the device driver; accessing a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; as well as The second command is provided to the device driver.

2. The system of claim 1, wherein the programmable circuit system: modifying production operations based on the product quality prediction; providing subsequent input data to the subscriber device, the subscriber device generating a product quality value based on the input data; and The modification to the production operation is validated based on the product quality value.

3. A system according to claim 1, wherein the first command is based on a control system configuration from a control system configuration service, and the control system configuration service configures the programmable circuit system to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

4. The system of claim 3, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

5. The system of claim 3, wherein the programmable circuit system: collecting the input data from the device driver; and After receiving the input data from the publisher device, the input data is provided to the devices of the subscriber device type and the primary subscriber device type.

6. The system of claim 1 , wherein the programmable circuit system modifies the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver being used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

7. A system according to claim 1, wherein the programmable circuit system collects the input data from the device driver, the input data includes sensor data and device-specific metadata, the sensor data includes at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata includes at least one of a device state or a device identification value.

8. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause the processor circuitry to at least: configuring a device driver based on a first command, the first command configuring the device driver to initiate a device specific communication protocol to collect input data from a publisher device, the publisher device coupled to the device driver; accessing a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; as well as The second command is provided to the device driver.

9. The at least one non-transitory computer-readable storage medium of claim 8, wherein the instructions, when executed, cause the processor circuitry to: modifying production operations based on the product quality prediction; providing subsequent input data to the subscriber device, the subscriber device generating a product quality value based on the input data; as well as The modification to the production operation is validated based on the product quality value.

10. At least one non-transitory computer-readable storage medium according to claim 8, wherein the first command is based on a control system configuration from a control system configuration service, and the control system configuration service configures the processor circuit system to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

11. The at least one non-transitory computer-readable storage medium of claim 10, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

12. The at least one non-transitory computer-readable storage medium of claim 10, wherein the instructions, when executed, cause the processor circuitry to: collecting the input data from the device driver; and After receiving the input data from the publisher device, the input data is provided to the devices of the subscriber device type and the primary subscriber device type.

13. At least one non-transitory computer-readable storage medium according to claim 8, wherein the instructions, when executed, cause the processor circuit system to: modify the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver being used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

14. At least one non-transitory computer-readable storage medium according to claim 8, wherein the instructions, when executed, cause the processor circuit system to: collect the input data from the device driver, the input data comprising sensor data and device-specific metadata, the sensor data comprising at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata comprising at least one of a device state or a device identification value.

15. A method of modifying an industrial control system, comprising: configuring a device driver based on a first command, the first command configuring the device driver to initiate a device specific communication protocol to collect input data from a publisher device, the publisher device coupled to the device driver; accessing a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; as well as The second command is provided to the device driver.

16. The method according to claim 15, further comprising: modifying production operations based on the product quality prediction; providing subsequent input data to the subscriber device, the subscriber device generating a product quality value based on the input data; as well as The modification to the production operation is validated based on the product quality value.

17. The method according to claim 15, further comprising: A control system configuration is accessed from a control system configuration service, wherein the control system configuration service configures the processor circuitry to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

18. The method of claim 17, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

19. The method according to claim 17, further comprising: collecting the input data from the device driver; as well as After receiving the input data from the publisher device, the input data is provided to the devices of the subscriber device type and the primary subscriber device type.

20. The method of claim 15, further comprising: The operation of the industrial control system is modified after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver being used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

21. The method of claim 15, further comprising: The input data is collected from the device driver, the input data comprising sensor data and device specific metadata, the sensor data comprising at least one of a spectral value, an absorption value, or a thermal value, and the device specific metadata comprising at least one of a device state or a device identification value.

22. An apparatus comprising: configuration manager circuitry to configure a device driver based on a first command, the first command configuring the device driver to initiate a device specific communication protocol to collect input data from a publisher device coupled to the device driver; publication manager circuitry that accesses a second command from a subscriber device, the second command including a device identifier of the publisher device and specifying at least one of a communication mode, a device calibration configuration, or a fault detection configuration, the second command being based on a product quality prediction generated using a spectral data model; as well as A command manager circuit provides the second command to the device driver.

23. The apparatus of claim 22, further comprising a controller circuit system, wherein: modifying production operations based on the product quality prediction; providing subsequent input data to the subscriber device, the subscriber device generating a product quality value based on the input data; and The modification to the production operation is validated based on the product quality value.

24. The apparatus of claim 22, wherein the first command is based on a control system configuration from a control system configuration service, the control system configuration service configuring a subscription manager to establish the device as at least one of a publisher device type, a subscriber device type, or a master subscriber device type.

25. The apparatus of claim 24, wherein the second command is a management command or a calibration command from at least one of the device driver, the control system configuration service, or a device of the primary subscriber device type.

26. The apparatus of claim 24, further comprising a device driver controller circuit, the device driver controller circuit: collecting the input data from the device driver; and After receiving the input data from the publisher device, the input data is provided to the devices of the subscriber device type and the primary subscriber device type.

27. An apparatus according to claim 22, wherein the command manager circuit system modifies the operation of the industrial control system after providing the second command to the device driver, the second command indicating the modification to the device driver, the modification to the device driver is used to modify the manufacturing process to correct the product quality prediction that does not meet the product quality specification.

28. The apparatus of claim 22, further comprising a device driver controller circuit system, wherein the device driver controller circuit system collects the input data from the device driver, the input data comprising sensor data and device-specific metadata, the sensor data comprising at least one of a spectral value, an absorption value, or a thermal value, and the device-specific metadata comprising at least one of a device status or a device identification value.

Citation Information

Patent Citations

  • Detector intelligent control system, control method thereof and PET equipment

    CN104820452A

  • Method for configuring an industrial automation system

    CN112130528A

  • Angelica dahurica decoction piece quality prediction method based on hyperspectral imaging depth analysis

    CN113008805A

  • Controlled Agricultural Systems and Methods of Managing Agricultural Systems

    US20190259108A1