Search

US-12627527-B2 - Application aware Modbus gateway

US12627527B2US 12627527 B2US12627527 B2US 12627527B2US-12627527-B2

Abstract

A Modbus gateway includes a processor, an application memory, and a data acquisition module for receiving field data from an industrial process run in a plant including processing equipment having associated field devices. The data acquisition module is coupled to provide the field data to a data broker having at least one memory that stores the field data according to data registers associated with the field devices. The data broker is coupled to the application memory containing at least one data map organized according to an application context requested by a subscribed client device for an application executing at the client device. The data broker is coupled to associate the data registers into a grouping of field data according to the data map, wherein the processor causes the grouping of field data to be sent to the client device subscribed to the data map.

Inventors

  • Suraj PRAKASH
  • Mohammed Rizwan

Assignees

  • HONEYWELL INTERNATIONAL INC.

Dates

Publication Date
20260512
Application Date
20231004

Claims (12)

  1. 1 . A method for a gateway device to exchange field data between field devices in a plant and at least one application executing at a client device, wherein the field devices and the client device are coupled to the gateway device using a Modbus protocol, wherein the gateway device comprises a processor, a data acquisition module, and a data broker, the method comprising: receiving, by the processor, an application context representing application use cases executing at the client device; creating, by the processor, one or more data maps in at least one memory of the gateway device for the application context; assigning, by the processor, a unit ID to each of the one or more data maps, wherein the client device accesses the one or more data maps using a Modbus address that comprises the unit ID of corresponding one of the one or more data maps; receiving, by the processor, a priority level to the at least one application for accessing the one or more data maps, wherein the priority level for accessing the one or more data maps is determined based on an importance of the application context of the at least one application to an industrial process; and associating, by the processor, data registers of the field devices with the one or more data maps to create a grouping of the field data from the field devices for the application context, wherein the client device subscribes to the gateway device using the unit ID to receive the grouping of the field data; and transmitting, by the processor, the one or more data maps to the at least one application executing at the client device subscribed to the one or more data maps based on the priority level of the at least one application, comprising: updating the one or more data maps based on the field data from the data registers associated with the one or more data maps, comprising: polling, by the data acquisition module, the field devices to receive the field data from the data registers of the field devices based on the priority level, wherein the field data received from the field devices is stored in a cache memory of the data acquisition module, wherein the data broker simultaneously polls the cache memory of the data acquisition module to store the field data in at least one memory of the data broker.
  2. 2 . The method of claim 1 , wherein the gateway device stores the field data according to an address of each of the field devices in a data acquisition memory.
  3. 3 . The method of claim 2 , wherein the gateway device is communicatively coupled to an operator's station executing a graphic user interface (GUI), and wherein the method further comprises sending from gateway device visualization protocols to the GUI for displaying field data parameters from the field devices.
  4. 4 . The method of the claim 3 , wherein the method further comprises receiving, via the GUI, a list of addresses of the field devices to be used in a definition of the application context for the at least one application executing at the client device.
  5. 5 . The method of claim 3 , wherein the method further comprises using the GUI to define the application context representing application use cases for the at least one application executing at the client device.
  6. 6 . The method of claim 4 , wherein the method further comprises receiving, via the GUI, a selection of the field devices to be associated with the one or more data maps, and wherein the list of addresses of the field devices is received by the gateway device.
  7. 7 . A gateway device comprising; a processor; a data broker; a data acquisition module configured to receive field data from field devices in a plant; wherein the data acquisition module coupled to the data broker to provide the field data to the data broker having at least one memory that stores the field data according to data registers associated with the field devices; wherein the data broker is coupled to an application memory containing at least one data map organized according to an application context requested by a subscribed client device for an application executing at the subscribed client device; wherein the processor is configured to: receive an application context representing application use cases executing at the subscribed client device; create the at least one data map in an application memory of the gateway device for the application context; and assign a unit ID to each of the at least one data map, wherein the subscribed client device accesses the at least one data map using a Modbus address that comprises the unit ID of corresponding one of the at least one data map; receive a priority level to at least one application for accessing the at least one data map, wherein the priority level is determined based on an importance of the application context of the at least one application to an industrial process; associate the data registers of the data broker with the at least one data map to create a grouping of field data from the field devices for the application context, wherein the subscribed client device subscribes to the gateway device using the unit ID to receive the grouping of the field data; and the processor, based on the priority level of the at least one application, is further configured to: cause the data acquisition module to poll the field devices to receive the field data from the data registers of the field devices based on the priority level, wherein the field data received from the field devices is stored in a cache memory of the data acquisition module; and causes the data broker to simultaneously poll the cache memory of the data acquisition module to store the field data in the at least one memory of the data broker; and update the at least one data map based on the field data from the data registers associated with the at least one data map, wherein the processor causes the at least one data map to be sent to the at least one application executing at the subscribed client device subscribed to the at least one data map.
  8. 8 . The gateway device of claim 7 , wherein the gateway device is communicatively coupled to an operator's station executing a graphic user interface (GUI) and the gateway device includes a visualization module that sends visualization protocols to the GUI for displaying field data parameters from the field devices.
  9. 9 . The gateway device of claim 8 , wherein the GUI is configured to receive a list of addresses of the field devices to be used in definition of the application context for the application executing at the subscribed client device.
  10. 10 . The gateway device of claim 9 , wherein the application context and use cases are received by the gateway device where the processor creates the at least one data map and stores the at least one data map in the application memory with a unit ID.
  11. 11 . The gateway device of claim 9 , wherein the GUI is further configured to receive selection of the field devices for the at least one data map, and wherein the list of addresses of the field devices is received by the gateway device where the processor associates the data registers to the at least one data map.
  12. 12 . A computer program product, comprising: a non-transitory data storage medium that includes program instructions executable by a processor to enable said processor to execute a method of exchanging a field data between field devices in a plant and at least one application executing at a client device, wherein the field devices and the client device are coupled to a gateway device using a Modbus protocol, said method comprising: defining an application context representing application use cases executing at the client device; creating one or more data maps in at least one memory of the gateway device for the application context and assigning a unit ID to each of the data maps, wherein the client device accesses the one or more data maps using a Modbus address that comprises the unit ID of corresponding one of the one or more data maps; receiving a priority level to the at least one application for accessing the one or more data maps, wherein the priority level is determined based on an importance of the application context of the at least one application to an industrial process; and associating data registers of the field devices with the one or more data maps to create a grouping of field data from the field devices for the application context, wherein the client device subscribes to the gateway device using the unit ID to receive the grouping of field data; and transmitting the one or more data maps to the at least one application executing at the client device subscribed to the one or more data maps based on the priority level of the at least one application, comprising: updating the one or more data maps based on the field data from the data registers associated with the one or more data maps, comprising: polling the field devices to receive the field data from the data registers of the field devices based on the priority level, wherein the field data received from the field devices is stored in a cache memory of a data acquisition module, wherein a data broker simultaneously polls the cache memory of the data acquisition module to store the field data in at least one memory of the data broker.

Description

TECHNICAL FIELD This disclosure is generally directed to the field of industrial networks. More specifically, it relates to an application aware gateway device operating under a Modbus protocol. BACKGROUND Process control systems, like those used in chemical, petroleum, or other processes, typically include at least one centralized process controller communicatively coupled to at least one host or operator workstation and to one or more field devices via analog and/or digital buses or other communication lines or channels. The field devices, which may be, for example, valves, valve positioners, switches, transmitters (e.g., temperature, pressure, and flow rate sensors), etc., perform functions within the process such as opening or closing valves and measuring process parameters. The process controller receives signals indicative of process measurements made by the field devices and/or other information pertaining to the field devices via an input/output (I/O) device, uses this information to implement a control routine, and then generates control signals which are sent over the buses or other communication channels via the input/output device to the field devices to control the operation of the process. Information from the field devices and the controller is typically made available to one or more applications executed by the operator workstation to enable an operator to perform any desired function with respect to the process, such as viewing the current state of the process, modifying the operation of the process, configuring the process, documenting the process, etc. In the past, standard communication protocols were developed to enable controllers and field devices from different manufacturers to exchange data using standard formats. The Modbus protocol can define a message structure that controllers will recognize and use regardless of the types of networks over which they communicate. The Modbus protocol establishes a common format for the layout and content of message fields. Modbus defines a process for controllers to request access to other devices, for the controllers and devices to respond to requests, and for error detection and reporting. During communications on a Modbus network, the protocol determines how each controller or device will know its device address, recognize a message addressed to it, determine the kind of action to be taken, and extract any data or other information contained in the message. If a reply is required, the controller or device will construct the reply message and send it using the Modbus protocol. The Modbus protocol is known in the art and is described in detail in numerous articles, brochures and specifications published, distributed and available from, among others, manufacturers of devices using the Modbus protocol. As a result, the details of the Modbus communication protocol will not be described in detail except to the extent they relate to the disclosed embodiments. Modbus employs a master-slave query-response cycle for exchanging information between controllers and field devices. Each device can be assigned an address ranging between, for example, 1 and 255. One device (i.e., the “master”) can initiate transactions, such as queries, set point changes, diagnostics, and the like by transmitting a message addressed to another device (i.e., the “slave”). Under the Modbus protocol, the message transmitted by the master device is formatted to include the device address of the slave device, a function code defining the requested action, any data to be sent to the slave device, and error-checking information. The slave device detects and receives the message from the master based on the address in the message, and processes the transaction or function indicated by the function code in the message. After processing the transaction or performing the requested function, the slave transmits a response message constructed using the Modbus protocol and containing information confirming the action taken, any data to be returned to the master, and error-checking information. The response message transmitted by the slave device will typically include a register map where configuration, input and output data can be written and read from. The Modbus data model includes four basic map tables organized into a flat table structure consisting of Discrete Inputs, Coils Outputs, Input Registers and Holding Registers. Data is Organized based on data types and access types, i.e., holding, discrete etc.). The Discrete Input map table allows random access to Digital/Boolean Inputs. The Coils Outputs map table is used for read/write access to Digital/Boolean output data. The Input Register map table is used for read only access to Analog/16 Bit Integers and the holding register map table is used for read/write access to Analog/16 Bit Integer output data. The Modbus flat table model discussed above is typically sufficient to provide a master-slave query-response cycle for exchanging inf