Abstract: A device programing interface to support development of cross-platform applications [0027] The present invention discloses a device programing interface to support development of cross-platform applications. The device object definition (101) component comprising a device definition (101a), variable definition (101b), protocol profile definition (101c), user interface (UI) definition (101d), localized string definition (101e) and custom code’s definition (101f) for each field device. The device object (102) component to manage a life cycle of a user interface engine (103), protocol engine (104) and rule engine (105) object. The user interface (UI) engine (103) is configured to parse the user interface (UI) elements. The protocol engine (104) component is configured to parse a variable and a protocol definition. A rule engine (105) component is configured to manage the rules. Further, the invention provides an application to communicate with the communication module to perform data exchange for developing generic application development framework. (Figure 1)
Claims:We claim:
1. A device programing interface (100) to support development of cross-platform applications, the device programming interface (100) comprising:
a) a device object definition (101) component comprising at least one of a device definition (101a), variable definition (101b), protocol profile definition (101c), user interface (UI) definition (101d), localized string definition (101e) and custom code’s definition (101f) for each field device;
b) a device object (102) component is a platform configured to manage a life cycle of a user interface engine (103), protocol engine (104) and rule engine (105) object, wherein the device object (102) exposes the device program interfaces to one or more communication interfaces of the application layer (106) of the shared communication protocol to render a user interface for a particular field device, wherein:
i. the user interface (UI) engine (103) is configured to parse the user interface (UI) elements and variable definitions and dynamically render the user interface for the particular field device;
ii. the protocol engine (104) component is configured to parse a variable and a protocol definition, pack and unpack the protocol specific frame data, without modifying the core code base; and
iii. a rule engine (105) component is configured to manage the rules, wherein the rules comprise a condition logic, an expression in a device object definition for the user interface (UI), a variable, and a command, wherein the device object (102) is a platform, an application and a protocol neutral component, wherein the rule engine (105) interfaces with the UI engine (103) and the protocol engine (104).
2. The device programing interface as claimed in claim 1, wherein the protocol engine (104) is configured to support a Modbus, a highway addressable remote transducer, a HART-IP, a foundation fieldbus, EtherNet/IP and a profibus protocol.
3. The device programing interface as claimed in claim 1, wherein the device object definition (101) comprising a device definition (101a), variable definition (101b), protocol profile definition (101c), user interface (UI) definition (101d), localized string definition (101e), custom code’s definition (101f) for each specific object and is packaged (101g) and imported (101h) on to an application layer (106) of a shared communication protocol (107) for each of the field devices.
4. The device programming interface as claimed in claim 3, wherein the device object (102) component communicates with the imported device object definition (101) on to the software components/industry standard applications to render the user interface for the particular field device.
5. The device programing interface to support the development of cross-platform applications as claimed in claim 1, wherein the software components comprise at least one of a field device tool/device type manager (FDT DTM) (106a), field device integration/ user interface plug-in (UIP) (106b), an OPC unified architecture (OPC UA) server (106c), a configuration tool (106d) and a user interface application (106e).
, Description:PREAMBLE TO THE DESCRIPTION:
[0001] The following specification particularly describes the invention and the manner in which it is to be performed:
DESCRIPTION OF THE INVENTION:
Technical Field of the Invention
[0002] The present invention relates to a device programing interface to support development of cross-platform applications. More specifically, the invention relates to the device programming interface to develop standalone and host specific application.
Background of the Invention
[0003] Today, software applications has become an integral part of process industries. The software applications in process industry range from low-level control of production processes to high-level management and logistics tasks. The design and complexity of distributed systems in industrial environments requires specific software engineering methods due to their inherent complexity. To meet these challenges new methods and tools have been developed over the last years, which is based on component-oriented software development. The process industry needs application to run with different technologies such as field device tool/device type manager (FDT DTM)/EDDL Hosts, control system Host and standalone applications. The application should communicate with their communication module to perform data exchange, thereby leading a way to development of generic application development framework.
[0004] Hence, there exists a need for a device programing interface to support the development of cross-platform applications which runs with different technologies for example, (FDT DTM)/EDDL Hosts,, control system host, standalone applications to communicate with their communication module to perform data exchange for developing generic application development framework.
Summary of the Invention
[0005] The present invention provides a device programing interface to support the development of cross-platform applications. The device programming interface comprises a device object definition component comprising a device definition, variable definition, protocol profile definition, user interface (UI) definition, localized string definition, custom code’s definition for each specific object and is packaged and imported on to an application layer of a shared communication protocol for each of the field devices. The device programing interface also comprises a device object component to manage life cycle of a user interface engine, protocol engine and rule engine object. The user interface (UI) engine is configured to parse the user interface (UI) elements and variable definitions and dynamically renders the user interface for the particular field device. The protocol engine component is configured to parse a variable and a protocol definition, pack and unpack the protocol specific frame data, without modifying the core code base. The protocol engine is configured to support a Modbus, a highway addressable remote transducer (HART), a HART-IP, a foundation fieldbus (FF), EtherNet/IP and a profibus protocol. The rule engine component is configured to manage the rules. The rules comprise a condition logic, an expression in a device object definition for the user interface (UI), a variable, and a command.
[0006] In an embodiment, the device object definition comprising a device definition, variable definition, protocol profile definition, user interface (UI) definition, localized string definition, custom code’s definition for each specific object and is packaged and imported on to an application layer of a shared communication protocol for each of the field devices to support development of cross-platform applications.
[0007] Thus, the invention provides a device programing interface to support the development of cross-platform applications and to derive new device business logic. The application supports multiple platform, for example, Windows, Linux, iOS and android. The advantage of the present invention is that the time required for developing the application is very less. Further, in the DPI framework architecture for all the components are loosely coupled and adding the new feature in the architecture consumes less effort. The multiple instance of the device is easily done using the application. The DPI framework architecture also supports the features like audit trail, offline data access.
Brief Description of Drawings
[0008] The foregoing and other features of embodiments will become more apparent from the following detailed description of embodiments when read in conjunction with the accompanying drawings. In the drawings, like reference numerals refer to like elements.
[0009] Fig. 1 illustrates a device programing interface to support the development of cross-platform applications, according to one embodiment of the invention.
[0010] Fig. 2 illustrates a process flow diagram for importing a device object definition on to the application layer of the shared communication protocol for the field devices.
Detailed Description of the Invention
[0011] Reference will now be made in detail to the description of the present subject matter, one or more examples of which are shown in figures. Each example is provided to explain the subject matter and not a limitation. Various changes and modifications obvious to one skilled in the art to which the invention pertains are deemed to be within the spirit, scope and contemplation of the invention.
[0012] The present invention provides a device programing interface to support the development of cross-platform applications. The application development framework and software development kit (SDK) used to develop the standalone and host specific application like field device tool/device type manager (FDT-DTM), field device integration/user interface plug-in (FDI UIP), supervisory control and data acquisition (SCADA) application, AMS Snap-On PlugIns, android, iOS and windows mobile apps. The components used in the application are platform independent and the new feature is easily supported by the application. The framework is inbuilt with industrial protocol stack for communication purpose which communicates with devices without any modification. The device programing interface is an extensible markup language (XML) based configuration driven. The XML configured to provide various functions such reusability of features between devices, supported device versions, supports multiple devices and different versions, add/remove/refine the configuration in the newer version, reusable templates and single user interface for different protocols. Further, the invention provides an application which consumes less time and effort. The application has a capability to communicate with communication module and has custom protocols.
[0013] Fig. 1 illustrates a device programing interface to support the development of cross-platform applications. The device programing interface (100) mainly comprises a device object definition (101) component and a device object (102) component. The device object definition (101) component comprises at least one of a device definition (101a), variable definition (101b), protocol profile definition (101c), user interface (UI) definition (101d), localized string definition (101e) and custom code’s definition (101f) for each field device.
[0014] In an embodiment, a device object (102) component is a platform, an application and a protocol neutral component and is used to manage a life cycle of an user interface engine (103), a protocol engine (104) and a rule engine (105) object. The device object (102) exposes the device program interfaces to multiple communication interfaces of the application layer (106) of the shared communication protocol to render a user interface for a particular device. The user interface (UI) engine (103) is configured to parse the user interface (UI) elements and variable definitions and dynamically renders the user interface for the particular field device. The UI engine (103) also provides a platform for independent technology to support the multi-target platform.
[0015] The protocol engine (104) component is configured to parse a variable and a protocol definition, pack and unpack the protocol specific frame data, without modifying the core code base. The protocol engine (104) is configured to support a Modbus, a highway addressable remote transducer HART, a highway addressable remote transducer HART-IP, a foundation fieldbus (FF), EtherNet/IP and a Profibus protocol.
[0016] The rule engine (105) component is configured to manage the rules. The rules comprise a condition logic, an expression in a device object definition for the user interface (UI), a variable, and a command. The rule engine (105) interfaces with the UI engine (103) and the protocol engine (104). The rule engine is a component that executes one or more rules in a runtime production environment.
[0017] Thus, the device programming interface (DPI) (100) is a unified platform to develop standalone, mobile, cloud applications and host specific application. The DPI (100) is an application development framework. The DPI (100) is intended to ease the development of industrial engineering. The DPI (100) framework is used to develop the field device integration/user interface plug-in FDI UIP (106b) with rich user interface and application for various complex device functionalities. The DPI (100) maintains the common source base for both desktop and mobile platform.
[0018] Fig. 2 illustrates a process flow diagram for importing a device object definition on to the application layer of the shared communication protocol for the field devices. In an embodiment, the device object definition (101) comprising a device definition (101a), variable definition (101b), protocol profile definition (101c), user interface (UI) definition (101d), localized string definition (101e), custom code’s definition (101f) for each device object and is packaged (101g) and imported (101h)on to the application layer (106) of the shared communication protocol (107) for each of the field devices.
[0019] In an embodiment, the device object (102) component communicates with the imported device object definition (101) on the application layer (106) of a shared communication protocol (107) to render the user interface for the particular field device.
[0020] Thus, the device programming interface (DPI) (100) is used for developing industry standard applications or software components such as a field device tool/device type manager (FDT DTM) (106a), field device integration/user interface plug-in (UIP) (106b), an OPC unified architecture (OPC UA) server (106c), a configuration tool (106d) and a user interface application (106e). The field device tool (FDT) is an interface specification for open data exchange between field devices and automation systems. Further, the communication protocol (107) comprise FDT host (107a), FDI host (107b), OPC UA server (107c), configuration tool (107d) and UI device (107e).
[0021] In an embodiment, the protocol engine (104) supports FDT /DTM (106a) device protocols, for example field device tool (FDT 1.2/1.2.1), field device tool (FDT 2.0) (based on common components), HART, Profibus, Fieldbus, industrial ethernet and custom protocols.
[0022] In an embodiment, the protocol engine (104) supports MODBUS protocol, for example, Modbus RTU, Modbus ASCII and Modbus TCP/IP. The protocol engine (104) supports HART protocol, for example, HART 5,6,7, HART Bell-202, HART RS-485, HART MUX Support and HART IP. The protocol engine (104) supports Fieldbus protocol such as Fieldbus H1, and Fieldbus HSE
[0023] In an embodiment, the DPI (100) supports open protocol communication OPC unified architecture (OPC UA) specification such as OPC UA-OPC DA bridge, OPC UA client framework, OPC UA server framework, and events & alarm.
[0024] Thus, the present invention provides a device programing interface (100) to support the development of cross-platform applications. The application supports multiple platform, for example, Windows, Linux, iOS and android. The advantage of the present invention is that the time required for developing the application is very less. Further, in the DPI (100) framework architecture for all the components are loosely coupled and adding the new feature in the architecture consumes less effort. The multiple instance of the device is easily done using the application. The DPI (100) framework architecture also supports the features like audit trail, offline data access etc.
[0025] The many features and advantages of the invention are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
| # | Name | Date |
|---|---|---|
| 1 | 201941049623-STATEMENT OF UNDERTAKING (FORM 3) [03-12-2019(online)].pdf | 2019-12-03 |
| 2 | 201941049623-PROOF OF RIGHT [03-12-2019(online)].pdf | 2019-12-03 |
| 3 | 201941049623-POWER OF AUTHORITY [03-12-2019(online)].pdf | 2019-12-03 |
| 4 | 201941049623-FORM 1 [03-12-2019(online)].pdf | 2019-12-03 |
| 5 | 201941049623-DRAWINGS [03-12-2019(online)].pdf | 2019-12-03 |
| 6 | 201941049623-DECLARATION OF INVENTORSHIP (FORM 5) [03-12-2019(online)].pdf | 2019-12-03 |
| 7 | 201941049623-COMPLETE SPECIFICATION [03-12-2019(online)].pdf | 2019-12-03 |
| 8 | 201941049623-FORM FOR SMALL ENTITY [24-08-2022(online)].pdf | 2022-08-24 |
| 9 | 201941049623-EVIDENCE FOR REGISTRATION UNDER SSI [24-08-2022(online)].pdf | 2022-08-24 |
| 10 | 201941049623-FORM 18 [30-08-2022(online)].pdf | 2022-08-30 |
| 11 | 201941049623-FER.pdf | 2022-12-02 |
| 12 | 201941049623-FER_SER_REPLY [02-06-2023(online)].pdf | 2023-06-02 |
| 1 | D3E_02-12-2022.pdf |