![background image](http://html1.mh-extra.com/html/national-instruments/bridgeview/bridgeview_user-manual_3445534314.webp)
Chapter 16
Program Design
16-2
©
National Instruments Corporation
In some cases you might not need all these blocks or you might need
different blocks. For example, some applications might include monitoring
only, thus, you would not need to write data to the Real-Time Database.
Alternatively, you might need additional blocks, such as blocks
representing user prompts. Your main objective is to divide your
programming task into high-level blocks that you can manage easily.
After you determine the high-level blocks you need, try to create a block
diagram that uses those high-level blocks. For each block, create a new
stub VI (a nonfunctional prototype representing a future subVI). For this
stub VI, create an icon as well as a front panel that contains the necessary
inputs and outputs. You do not have to create a block diagram for this VI
yet. Instead, see if this stub VI is a necessary part of your top-level block
diagram.
After you assemble a group of stub VIs, try to understand, in general terms,
the function of each block and how each block provides the desired results.
Ask yourself whether any given block generates information that a
subsequent VI needs. If so, make certain that the sketch for your top-level
block diagram contains wires to pass the data between VIs.
Try to avoid using unnecessary global variables because they hide the data
dependency between VIs. Use memory tags only when you need this
information in the Engine for historical logging or alarms. As your system
gets larger, it becomes difficult to debug if you depend on global variables
and memory tags as your method for transferring information between VIs.
Operator
Panel
Terminate
Manage
State
Initialize
Read
Data
Process
Data
Write
Data