The subject matter disclosed herein relates to instantiation of systems, and more specifically, to instantiation of function blocks.
Certain systems, such as an industrial control system, may provide for control capabilities that enable the execution of control instructions in various types of devices, such as sensors, pumps, valves, and the like. For example, function blocks may be used to encapsulate control logic in the various devices. However, the function blocks may be created by different manufacturers. Accordingly, configuring and/or programming the multiple devices may be complex and time consuming.
Certain embodiments commensurate in scope with the originally claimed invention are summarized below. These embodiments are not intended to limit the scope of the claimed invention, but rather these embodiments are intended only to provide a brief summary of possible forms of the invention. Indeed, the invention may encompass a variety of forms that may be similar to or different from the embodiments set forth below.
In a first embodiment, a system includes a processor and a visual instantiation facility executable by the processor. The visual instantiation facility is configured to read a device definition (DD) file including at least one function block and to visually display function block instantiation information of the at least one function block in a visual display. The visual instantiation facility is further configured to instantiate the at least one function block in a field device.
In a second embodiment, a method includes reading, via a processor of a computer, configuration information from a device description (DD) file of a field device and reading, via the processor of the computer, a function block from the DD file of the field device. The method also includes displaying, on a display of the computer, a visual representation of the function block and determining, via the processor of the computer, support for function block instantiation in the field device based on the configuration information. The method further includes displaying, on the display of the computer, a visual representation of support for function block instantiation, and enabling, via the processor of the computer, a visual instantiation facility configured for a user to instantiate the function block in the field device if the field device supports function block instantiation.
In a third embodiment, a non-transitory tangible computer-readable medium includes executable code. The code includes instructions for reading a device description (DD) file, and determining support for function block instantiation in a field device based on the DD file. The code further includes displaying a visual representation of the support for function block instantiation in the field device, and providing a visual instantiation facility for a user to instantiate the function block in the field device.
These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
When introducing elements of various embodiments of the present invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Industrial automation systems may include controller systems suitable for interfacing with a variety of field devices, such as sensors, pumps, valves, and the like. For example, sensors may provide inputs to the controller system, and the controller system may then derive certain actions in response to the inputs, such as actuating the valves, driving the pumps, and so on. In certain controller systems, such as the Mark™ VIe controller system, available from General Electric Co., of Schenectady, N.Y., multiple devices may be communicatively coupled to and controlled by a controller. Indeed, multiple controllers may be controlling multiple field devices, as described in more detail with respect to
The computer instructions or control logic may be encapsulated in function blocks. For example, a proportional-integral-derivative (PID) function block may include PID instructions suitable for implementing a closed-loop control of certain processes, such as industrial processes. Indeed, various types of function blocks may be provided that can include a variety of computer instructions or control logic, as described in more detail below with respect to
The systems and methods disclosed herein enable automatic derivation of block instantiation information. Instantiation information for a variety of field devices may be easily provided and displayed for review by the user. Additionally, the systems and methods disclosed herein enable the user to receive feedback on instantiation limits, such as how many blocks may be instantiated in a particular device, and the number instantiations of a specific block's type (e.g., PID block), as well as the total number of blocks of all types that may be instantiated. Further, the instantiation information may be provided prior to actual device instantiation. That is, the system and methods disclosed herein may enable the user to visualize the information prior to actual instantiation to aid in preparing a desired device configuration, and may store the desired device configuration prior to the actual connection of the field devices to an industrial process control system, such as the industrial process control system described in more detail below with respect to
Turning to
Further, the computer system 12 is communicatively connected to a plant data highway 26 suitable for enabling communication between the depicted computer 12 and other computers 12 in the plant. Indeed, the industrial control system 10 may include multiple computer systems 12 interconnected through the plant data highway 26. The computer system 12 may be further communicatively connected to a unit data highway 28, suitable for communicatively coupling the computer system 12 to an industrial controller 30. The industrial controller 30 may include a processor 32 suitable for executing computer instructions or control logic useful in automating a variety of plant equipment, such as a turbine system 34, a temperature sensor 36, a valve 38, and a pump 40. The industrial controller 30 may further include a memory 42 for use in storing, for example, computer instructions and other data. The industrial controller 30 may communicate with a variety of field devices, including but not limited to flow meters, pH sensors, temperature sensors, vibration sensors, clearance sensors (e.g., measuring distances between a rotating component and a stationary component), pressure sensors, pumps, actuators, valves, and the like. In some embodiments, the industrial controller 26 may be a Mark™ VIe controller system, available from General Electric Co., of Schenectady, N.Y.
In the depicted embodiment, the turbine system 34, the temperature sensor 36, the valve 38, and the pump 40 are communicatively connected to the industrial controller 30 by using linking devices 44 and 46 suitable for interfacing between an I/O network 48 and an H1 network 50. For example, the linking devices 44 and 46 may include the FG-100 linking device, available from Softing AG, of Haar, Germany. As depicted, the linking devices 44 and 46 may include processors 52 and 54, respectively, useful in executing computer instructions, and may also include memory 56 and 58, useful in storing computer instructions and other data. In some embodiments, the I/O network 48 may be a 100 Megabit (MB) high speed Ethernet (HSE) network, and the H1 network 50 may be a 31.25 kilobit/second network. Accordingly, data transmitted and received through the I/O network 48 may in turn be transmitted and received by the H1 network 50. That is, the linking devices 44 and 46 may act as bridges between the I/O network 48 and the H1 network 50. For example, higher speed data on the I/O network 48 may be buffered, and then transmitted at suitable speed on the H1 network 50. Accordingly, a variety of field devices may be linked to the industrial controller 30 and to the computer 12. For example, the field devices 34, 36, 38, and 40 may include or may be industrial devices, such as Fieldbus Foundation™ devices that include support for the Foundation H1 bi-directional communications protocol. The field devices 34, 36, 38, and 40 may also include support for other communication protocols, such as those found in the HART® Communications Foundation (HCF) protocol, and the Profibus Nutzer Organization e.V. (PNO) protocol.
Each of the linking devices 44 and 46 may include one or more segment ports 60 and 62 useful in segmenting the H1 network 42. For example, the linking device 44 may use the segment port 60 to communicatively couple with the devices 34 and 36, while the linking device 46 may use the segment port 62 to communicatively couple with the devices 38 and 40. Distributing the input/output between the field devices 34, 36, 38, and 40, by using, for example, the segment ports 60 and 62, may enable a physical separation useful in maintaining fault tolerance, redundancy, and improving communications time.
Each field device 34, 36, 38, and 40 may include a respective device description (DD) file, such as the depicted DD files 64, 66, 68, and 70. The DD files 64, 66, 68, and 70 may be written in a device description language (DDL), such as the DDL defined in the International Electrotechnical Commission (IEC) 61804 standard. In some embodiments, the files 64, 66, 68, and 70 are tokenized binary files. That is, the DD files 64, 66, 68, and 70 may include data formatted in a tokenized binary format useful in reducing the size of the DD files 64, 66, 68, and 70. The DD files 64, 66, 68, and 70 may each include one or more function blocks 72, 74, 76, and 78. The function blocks 72, 74, 76, and 78 may include computer instructions or computer logic executable by processors 80, 82, 84, and 86. Indeed, the function blocks 72, 74, 76, and 78 may be instantiated into memory 88, 90, 92, 94, and then executed by the processors 80, 82, 84, and 86, respectively. In this way, the field devices 34, 36, 38, and 40 may contribute control logic and other computer instructions towards the execution of processes in the industrial process control system 10. Advantageously, the systems and methods disclosed herein provide the user (e.g., control engineer or commissioning engineer) with facilities suitable for presenting instantiation information and enabling a more efficient configuration of the field devices 34, 36, 38, and 40, such through a screen view described in more detail below with respect to
The selection of the controller 30 may result in the presentation of the screen view 100, which includes the treeview control 102 and the property sheet 104 having various properties associated with a selected item, such as a selected field device node 108. As depicted, the selected field device node 108 is connected to a segment node 110 labeled “PLNK-21_Segment1,” which in turn is associated with a linking device node 112 labeled “PLNK-21.” The linking device node 112 may represent any linking device connected to the controller 30, such as the linking devices 44 or 46 shown in
The property sheet 104 includes a variety of slots 128 useful in displaying information related to the selected item, such as the selected field device node 108. Advantageously, a slot 130 depicts information related to instantiation support. In one embodiment, the slot 130 may display a Boolean value for the property “Supports Block Instantiation.” More specifically, if the field device corresponding to the selected field device node 108 supports block instantiation, then the slot 130 may display a text such as “True.” Conversely, if the field device corresponding to the selected field device node 108 does not support block instantiation, then the slot 130 may display a text such as “False.” In this way, the user may select a field device node 108, 120, 122, 124, or 126 and quickly determine if the field device corresponding to the field device node 108, 120, 122, 124, or 126 includes support for block instantiation. It is to be noted that the field device nodes 108, 120, 122, 124, and/or 126 may be added to the segment node 110 without the corresponding field device having to be physically connected to the industrial process control system 10 shown in
If a selected field node, such as the field node 108, includes support for block instantiation, then the user may activate a menu, such as the context menu 132. The context menu 132 may include a “Block Instantiation . . . ” menu item 134 if the selected field device node 108 includes support for block instantiation. If the selected field device node 108 does not include support for block instantiation, then the menu item 134 may not appear in the context menu 132, or may be otherwise disabled (e.g., grayed out) from the context menu 132. By enabling and disabling the menu item 134 based on support for block instantiation, the treeview control 102 may prevent instantiation errors and improve user effectiveness. Activating the menu item 134 may then launch a function block instantiation dialog box, as described in
In one embodiment, the block instantiation dialog box 136 may read or parse a DD file, such as the DD file 64, 66, 68, or 70 shown in
A total number of function block instantiations may also be displayed, for example, in a text label 150. More specifically, the number displayed in the text label 150 is derived from the total number of block instantiations, regardless of block type, that may be supported by the field device. That is, the field device corresponding to the selected field device node 108 (shown in
Additionally, the block instantiation dialog box 136 may include a right list box 151 used to display function blocks to be instantiated. For example, the depicted list box 150 illustrates 3 AO function blocks 152 (e.g, AO_1, AO_2, and AO_3) to be instantiated. To instantiate a function block, an Instantiate button 154 is provided. Accordingly, the user may first select a function block type to instantiate from the list box 138 and then activate the Instantiate button 154. The dialog box 136 may then place a new item in the right list box 151 for instantiation, corresponding to the function block type selected from the left list box 138. In this manner, the dialog box 136 provides for a visual instantiation facility suitable for presenting the list of instantiable function blocks 140 and enabling the user to instantiate any instantiable function blocks found in the displayed list 140. The term “facility,” has used herein, may refer to a software tool or computer-implemented algorithm including executable computer instructions. Additionally, the dialog box 136 may update a text label 156 displaying the currently instantiated block count. As additional function blocks are instantiated, the text label 156 may display the current instantiation block count total, including the additional function block instantiations. In this way, user feedback of block instantiation is provided so as to enable an efficient commissioning of field devices.
A Remove button 158 may also be provided for removing or otherwise uninstantiating function blocks. For example, one or more items from the list box 151 may be first selected for removal, and the Remove button 158 may be subsequently activated. Activating the Remove button 158 may thus result in the removal of the selected item from the list box 151, and the uninstantiation of the item if the item had previously been instantiated (e.g., loaded into memory of a field device). In this way, the dialog box 136 provides for a visual uninstantiation facility suitable for presenting the list of function blocks 152 and enabling the user to uninstantiate any function blocks in the displayed list 152. Further, several facilities may be provided that may be useful in preventing the user from crossing limits associated with maximum allowable instantiation blocks in a field device, as described in more detail below with respect to
Additionally or alternatively, the Instantiate button 154 may be made inactive, for example, by graying out the button 154, if the limit is reached for the number of function block types that may be instantiated and/or the limit is reached for the total number of function blocks that may be instantiated. An OK button 166 may then be activated to dismiss the warning message box 162. By providing for facilities to prevent the over-instantiation of function blocks, the dialog box 136 may enable a more efficient utilization of field device resources and may prevent instantiation errors. Once a desired list of function blocks 152 has been disposed on the list box 151, the OK button 160 may be activated. Activating the OK button 160 may then associate and/or instantiate the function blocks 152 in the corresponding field device. For example, the computer instructions or control logic included in the function blocks 152 may be moved into memory of the field device in response to the activation of the OK button 160. Additionally or alternatively, the instantiation may occur by using other methods, such as context menus (e.g., context menu 132 of
Advantageously, the configuration information, including instantiation information displayed in the treeview control 102, may be stored in a database. Accordingly, the field device associated with the field device node 108 may be easily replaced with an equivalent field device, for example, in case of damage to the original field device. Then the new field device may be added to the appropriate linking device and then the build process may be re-executed, thus loading the computer instructions or control logic included in the function blocks 170, 172, 174, and 176 into the new field device's memory. By providing for a facility to easily replace field devices, the systems and methods disclosed herein may enable optimal management of the industrial control system 10.
Technical effects of the invention include enabling the reading of a device definition (DD) file including instantiable function blocks. A visual instantiation facility is provided that may use DD file information to derive a list of instantiable function blocks, as well as instantiation information related to the instantiable function blocks. The instantiation information may include a limit on the total number of blocks of any type that may be instantiated and a limit on the number of blocks of a certain type (e.g., AO, AI, PID, Constant) that may be instantiated. The visual instantiation facility may then provide for a user to instantiate function blocks and also provide feedback on instantiation activities. The feedback may include, for example, a list of currently instantiated blocks as well as a current instantiated block count. Warning messages may also be provided, informing the user of certain instantiation limits. Additionally, the visual instantiation facility may be disabled, for example, by deactivating certain features (e.g., buttons) when instantiation limits are reached. Further, a visual uninstantiation facility is also provided for selecting instantiated function blocks and then uninstantiating the function blocks from a field device.
This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.