Interested in linking to "The house that function blocks built"?
You may use the Headline, Deck, Byline and URL of this article on your Web site. To link to this article, select and copy the HTML code below and paste it on your own Web site.
The Device Description and Capabilities file that comes with fully defines all the functionality to a host so that selection of Basic, Enhanced or Extended is “hidden” from the end user unless they wish to view the Capabilities file themselves using a text editor to read this information.
The figure below shows the parts of a function block defined by the Fieldbus specifications.
FUNCTION BLOCK MODEL
AS CAN be seen the specifications describe the inputs, outputs, and ‘event’ handling responses of the block. What is not defined is the algorithm or algorithms used within or inside the function block itself to convert the inputs to outputs and the methods to handle event exceptions.
An analogy to function blocks is to compare a function block to a software subroutine. The main program in the Fieldbus Environment is the Link Active Scheduler and Device master program while the function block is a called subroutine. The main program is not concerned with what happens in a subroutine or function call, provided the input/output variables are defined in both the calling and responding program and that the calculated values are associated with the correct variables so they can be used by other routines and functions in the program.
Continuing with this analogy, those passed parameters that are defined in the “Basic” function block are similar to global parameters, (Sorry I am an old Fortran coder) or as variables defined and passed via the subroutine if they are unique to the Enhanced function block.
Like subroutines, manufacturers are working to not only add new capabilities to their offerings, they are also doing so more efficiently so that the devices are requiring less power than in the past. The moral of this column therefore is that if you are going to use Extended function blocks in your control system, be sure they are fully supported by the host and if you do not need the extensions, prepare your system configuration using the Basic or Enhanced blocks so that you have maximum interoperability for those inevitable “middle of the night” problems.
If there is a topic you would like to see discussed in this column please contact me at the information below so we can start a “conversation” to include it in the development calendar.
|About the Author|
ControlGlobal.com is exclusively dedicated to the global process automation market. We report on developing industry trends, illustrate successful industry applications, and update the basic skills and knowledge base that provide the profession's foundation.