part two of two
The simplified architecture illustrated in figure 3 shows how the functionality was shared between the CS and the RU and uses a TCP/IP connection to interact. The RU uses its local configuration information to acquire, process, and buffer all PV related readings and events (i.e. alarms, warnings, faults …). The RU also supports a “Security Window” that exposes a set of password protected methods that can be used by the CS to read the “History” buffer and permit configuration modifications.. The “history” buffer was implemented as a “round-robin” buffer capable of storing up to 8000 events without adding additional memory.
For simplification, the illustrated CS design omits the reporting and notification functions.. The “History Poller” (HP) maintains and monitors the state of the TCP/IP connection to each of the configured RUs. As long as the HP has a valid connection to the RU, the buffer is periodically checked for updates. If updates are found, the new information is used to refresh the “Recent History” buffer (used to provide quick access to the PV readings from GUI) and the Database. Once the Database has confirmed the updates have been written, the HP will mark the updates in the “History” buffer as saved. This handshaking ensures that no data is ever lost without being detected.
The CS User Interface allowed authorized users to view the PV history, or review and modify PV configurations. All configuration changes are logged to the Database after being confirmed by an appropriate password.
Interoperability Solutions
The TCP/IP connection shown in figure 3 was implemented using the “VI-Server” technology. This eliminated the need for all low level TCP/IP development and meant that the original version of the “Security Window” never had to be modified.
The serial compatibility issues were addressed by developing appropriate drivers that ran in the RUs under LV-RT and used the built-in serial ports of the cFP units. The cFP serial ports also were used to control and monitor the handshaking lines for use in the local alarm annunciation (not shown).
The fault tolerance was addressed by using cFP controllers. Compact FieldPoint controllers have the option for backup power supplies. The “handshaking” (described above) used by the HP also allowed the reading of updates from the history buffer in RU to be completely tolerant of communication failures and PC crashes.
Control and monitoring of the local alarm annunciation device used the handshaking lines of one of the PC’s serial ports using NI-VISA. NI-VISA was also utilized to control a voice modem to provide the pager and voice notification functionality. Modules were developed to provide voice and e-mail notifications.
GUI Solutions
The CS application was designed and written to take advantage of LabVIEW’s web server. This made it possible to provide the full local functionality of the CS to a remote user.
The CS made extensive use of the Tab Control to organize and control access to all of the applications functions. The Tab Control was combined with picture controls to implement a graphical interface that could be customized by the end user to configure the physical location of all PVs. An authorized user could specify a bitmap file as one of ten possible background maps. The state of each PV was illustrated by an icon overlayed on the background map at the configured location. A LabVIEW event was used to detect the mouse position while viewing the maps and provided a “mouse over” feature that used a tip strip to show the current reading and state of the PV. Mouse events were also used to access PV history (left clicking on PV icon) or configuration screens (right clicking on PV icon).
Summary
The solution described made extensive use of the power, flexibility, and features of LabVIEW, LabVIEW-Real Time and Compact Field Point to provide a fault tolerant, configurable application that is 100% compatible with legacy hardware and meets all other stated requirements. Testing has shown that “attacks” (i.e. power fails, crashes, network outages) on the system impact only the affected device and are completely recoverable.