|
|
|
|
OPAL is designed to behave as a software annunciator panel, with easily assignable points and programmable alarm limits. OPAL's display and operation will be described using the images below as examples.

OPAL's Main Window
The example display shows cells in most of the various states OPAL may display. This table describes each cell's current state:
| Normal | Off Scan | Exception |
| High Alarm | (spare) | Low Alarm |
| Digital Alarm | Normal | (spare) |
- Normal
- The value being monitored by the cell is currently within acceptable limits.
- Off Scan
- The point being monitored by the cell is not currently being scanned. This is indicated by the 'X' drawn underneath the point name/value. The Off Scan 'X' may be combined with many other states. It is the ONLY cell state that may be combined with others.
- Exception
- When no usable value may be determined for the point being monitored, the exception state is shown. Exceptions may result from a number of things, including: scan hardware failure, open thermocouple detection, mathematical conversion failure (infinity or NaN result), scanned value outside vailidity limits and others. When a specific cause is known, it will be shown, otherwise the generic 'Exception' is shown.
- High Alarm
- Analog points have two custom limits in OPAL, High and Low. When the High limit is exceeded, the cell is shown using the high alarm colors. When the cell first enters the alarm state, OPAL will flash the cell (roughly once per second) and attempt to play the configured alarm sound. The flashing and sound will continue until the cell (or all cells) is acknowledged. The high alarm color will remain until the value has gone below the high limit minus the deadband.
- Spare
- OPAL requires at least one configured point in order to run, all other cells may be left empty, and therefore SPARE. Using OPAL's cell editing feature, a point may be assigned to a spare cell (or a cell may be converted to spare status).
- Low Alarm
- Analog points have two custom limits in OPAL, High and Low. When the Low limit is exceeded, the cell is shown using the low alarm colors. When the cell first enters the alarm state, OPAL will flash the cell (roughly once per second) and attempt to play the configured alarm sound. The flashing and sound will continue until the cell (or all cells) is acknowledged. The high alarm color will remain until the value has gone above the low limit plus the deadband.
- Digital Alarm
- Digital points have only two values and OPAL will consider only one of those an alarm. When the cell first enters the alarm state, OPAL will flash the cell (roughly once per second) and attempt to play the configured alarm sound. The flashing and sound will continue until the cell (or all cells) is acknowledged. The digital alarm color will remain until the value changes to the non-alarm value.
Acknowledging Alarms
By default, OPAL is configured to use the F1 key and the Alarm|Acknowledge menu item to acknowledge ALL alarms currently flashing (and/or sounding). Single-Clicking the left mouse button on a cell acknowledges that cell only.
The most recent versions of OPAL allow the elimination of all extraneous Windows widgets (caption, menu, etc) to minimize the amount of display real estate required by OPAL. Starting with version 1.3 build 7.0, the OPAL window may be docked to one of the four edges of your Windows desktop. This allows OPAL to remain visible and outside of other applications that may have been maximized. The Windows TaskBar (added in Windows 95 and Windows NT4) is always docked to an edge of the display (typically the bottom). When NOT set to AutoHide, the taskbar reserves a narrow band of the desktop for itself. When OPAL is docked, its behavior is very similar.
Sample 'clean' OPAL Window
NOTES:
1: OPAL is NOT capable of AutoHide like the Windows TaskBar. When docked, OPAL will remain visible unless obscured by another window. 2: OPAL is not smart enough to automatically alter the cell layout when being docked (or otherwise resized). Currently, we consider automatic layout adjustment to be an undesireable feature because it may arrange the points being monitored in counter-intuitive ways.
That said, if you intend to dock OPAL, you might want to consider a "streamlined" cell layout, such as a single horizontal (or vertical, as appropriate) row of cells.3: When an alarm occurs, you may (if configured) click on the flashing annunciator in OPAL to acknowledge it. If the click acknowledge is not configured, then you may need to click OPAL (to give it the keyboard focus) then press the configured ACK ALARM key. OPAL's new window control features are controlled using the keyboard. The table below shows the appropriate keys and what they cause OPAL to do when they are pressed.
Ctrl+N Return OPAL to 'Normal' window mode, complete with all regular Windows' widgets (like title bar, menu, etc.) Ctrl+C Put OPAL in 'Clean' window mode, with the regular Windows' widgets removed. Ctrl+F Return OPAL to 'Floating' window mode. Traditional windows that may be sized and moved about the display are known as floating windows to applications capable of docking to the edge of a display (or other container window) Ctrl+T Dock OPAL along the Top edge of the display. Ctrl+L Dock OPAL along the Left edge of the display. Ctrl+B Dock OPAL along the Bottom edge of the display. The TaskBar is normally docked at the bottom of your desktop. When OPAL docks on the same edge as a previously docked window, OPAL and the other window will be tiled into the docking area, which will be enlarged to contain all docked windows along that edge. Ctrl+R Dock OPAL along the Right edge of the display.
OPAL's standard configuration uses a single-click of the right mouse button to edit the point assignment and alarm limits of the cell that was clicked. The same dialog is used for all cells, but its appearance varies slightly, based on the type of point currently assigned. As you can see, the left side of the cell editor looks (and behaves) just like most other point selection tools in PICS. Also notice that the title bar shows the cell's location in the grid, using the same zero-based reference system as is used in the OPAL.INI file.
The right side contains the action buttons (Spare, Done, and Cancel) along with the controls necessary to allow entry/adjustment of the limits for the currently selected point. Below the buttons is the description of the currently selected point, and its current engineering units value (CEU) and status. Both are actual, live values, updated once per second (NOTE: Ths initial release of OPAL's cell editor shows only AS or DS slash the PICS point ID number. This is because EVI still has no definition of the status rules desired by USEC/PGDP). Farther down are the data type specific controls, described below.
Pressing any of the buttons will close the cell editor dialog. The SPARE button will remove any existing point assignment from the cell. The DONE button applies the current point assignment and limits to the cell. The CANCEL button leaves the cell unchanged.
Analog Cells

Cell Editor for an ANALOG point
Analog points have the engineering unit label (if any) shown, following the CEU. The Standard column in the Analog Alarm Limits box shows the current alarm limits in the database for the point. Note that the warning limit is shown for reference, but OPAL only supports a high/low limit pair. The OPAL column contains the controls where custom limits are entered (and displayed).
Digital Cells

Cell Editor for an DIGITAL point
Digital points show the state label associated with their current value as the CEU. The Standard column in the Digital Alarm box shows the current alarm setting in the database for the point. The OPAL column contains the controls where a custom limit is selected (and displayed). Note that the text next to the controls matches the state labels for the digital point. The upper (top) label represets the SET (value=1) state and the lower (bottom) represents the RESET (value=0) state. Also note that while some digitals may have their input signal inverted, the state labels always represent the final, engineering values of zero and one.
Other Point Types

Cell Editor for all unusable points
The current version of OPAL does not support any point types except for analog and digital. When a non-supported point type is selected in the cell editor, the limit and alarm controls are all disabled and the CEU/Status show the strings "(unusable)" and "(data type)" respectively.
More recent versions of OPAL include dialogs that allow the user to customize the colors and font used in OPAL's annunciator panel. The settings are automatically saved when OPAL is exited normally (from the File|Exit menu, or via Alt+F4). When OPAL is exited via the system|close menu (or the 'X' close window button) the settings are not saved.
Colors
The color selection dialog contains a sample annunciator panel with a cell for every color that OPAL uses. Each cell is also a button -- when you click on a cell you will be choosing a new color for the object named in the cell.
In order to ensure that your cells remain readable even when the points they contain are off scan, the color selection panel has a checkbox that allows you to see what all of the cells look like with or without (dependeding on the check in the checkbox) the "offscan X" visible.
OPAL uses the built-in and hopefully standard, system color selection dialog to define individual colors.
Fonts
OPAL uses the built-in and hopefully standard, system font selection to choose the font used for all of the text in the annunciator cells.
OPAL allows multiple copies of itself to run on the same machine. This is done by using a command line parameter to tell OPAL to use an alternate INI file for its configuration. For example:
opal -config=opal-001.initells OPAL to use the file opal-001.ini for its configuration. When no drive/path information is included in the name provided, OPAL expects to find the INI file in the C:\PICS\Config folder. If any drive/path info is provided, OPAL treats the name as a fully qualified file name.
As with all INI files, OPAL's is divided into a number of sections. Each section will be described in turn below.
Settings
Miscellaneous overall program settings are stored in this section. The Alarm Sound item names the WAV file that OPAL will play (and play, and play...) when a point ENTERS an alarm state. In the example below, OPAL expects to find the file "alarm-01.wav" in the same directory that OPAL was executed from. If any drive/path info is included in the alarm file name, then OPAL uses that as a fully qualified file name. The Font entry was generated by copying a font item from a saved Recall Display graph page.
[Settings] Title=Operator Programmable Alarm Acknowledge Key=F1 Frame Width=2 Scan X Width=8 Timer Rate (ms)=1000 Alarm Sound (.WAV)=alarm-01.wav Alarm Repeat=1 Alarm Silent=0 Font=-16,7,0,0,700,0,0,0,0,1,2,2,34,\\System\\Mouse Buttons
This section allows assignment of any of these three actions to each of the possible mouse clicks that Windows supports: Ignore, Ack, or Edit. Clicks set to Ignore will be (surprise, surprise) ignored by OPAL. Clicks set to Ack will acknowledge a new alarm for the cell where the click occurs (and no, extra clicks will NOT acknowledge future alarms, the Ack action only acknowledges an alarm condition that exists when the click occurs). Clicks set to Edit will activate OPAL's Cell Editor for the cell that was clicked.
NOTE: All Double-Click events are preceded by a Click event on the same button. While this may seem obvious, it is often overlooked. So, for example, if Left Click=Ack and Left DoubleClick=Edit, then double clicking on a cell will first acknowledge any alarm in that cell (the initial click) then edit the cell assignment (when the second click is recognized as a doubleclick).
[Mouse Buttons] Left Click=Ack Middle Click=Ignore Right Click=Edit Left DoubleClick=Ignore Middle DoubleClick=Ignore Right DoubleClick=IgnoreReal Time API
These two settings are available for tuning the interface to the local PICS real time data agent. They should not be modified except as directed by EVI.
[Real Time API] Pipe KB=4 Region KB=4Colors
Each of the basic cell states (Normal, High, Low, Alarm, Exception and Spare) has a set of three colors (Foreground, Background, and BackBright) for use in rendering the cell; The basic states were defined above. Each of the colors are described here:
- Foreground
- This is the color of the text within the cell. This color does not change when the cell is flashed.
- Background
- This is the regular background color within the cell.
- Backbright
- This is the flash background color within the cell. This color is only used momentarily (and repeatedly) when the cell has an unacknowledged alarm.
Special Color Uses
Because cells in the exception state do not flash, the Exception Backbright color is instead used as the color for the large 'X' rendered between the background and the text in a cell where the assigned point is off scan.
[Colors] High Foreground=RGB(0xFF,0xFF,0xFF) High Background=RGB(0xFF,0x00,0x00) High Backbright=RGB(0xFF,0x88,0x88) Low Foreground=RGB(0x00,0x00,0x00) Low Background=RGB(0xFF,0xFF,0x00) Low Backbright=RGB(0xFF,0xFF,0x88) Alarm Foreground=RGB(0xFF,0xFF,0xFF) Alarm Background=RGB(0xFF,0x00,0xFF) Alarm Backbright=RGB(0xFF,0x88,0xFF) Normal Foreground=RGB(0x00,0x00,0xAA) Normal Background=RGB(0xEE,0xEE,0xEE) Normal Backbright=RGB(0xAA,0xAA,0xAA) Exception Foreground=RGB(0xFF,0xFF,0xFF) Exception Background=RGB(0x44,0x44,0xAA) Exception Backbright=RGB(0x99,0x99,0xEE) Spare Foreground=RGB(0x00,0x00,0x00) Spare Background=RGB(0x88,0x88,0x88) Spare Backbright=RGB(0x88,0x88,0x88)Points
All cell assignments are listed here. OPAL requires at least ONE valid entry here, or else it will log an error to the application event log and exit. The first two items (Rows & Columns) define the dimensions of the grid that OPAL will display. The product of these two values must not exceed 64, and OPAL will do its best to render any legal combination of rows and columns.
The actual cell assignments are named using the cell address starting at (0,0) for the (LEFT,TOP) cell. The first number in a cell address is the column, the second is the row.
The value for a cell assignment may be in three different formats:
- Analog
- There are four parts to an analog point assignment: point name, low limit, high limit and deadband. The parts must be in that order and no extra spaces are allowed.
- Digital
- There are two parts to a digital point assignment: point name and alarm state. The parts must be in that order and to extra spaces are allowed.
- Spare
- The word empty is the preferred practice. In fact, any unrecognized point name may result in a spare cell.
This section is rewritten by OPAL when the program is terminated. If your original INI file didn't have cell assignments for empty/space cells, they will be automatically added by OPAL.
[Points] Rows=3 Columns=3 ; Analog: Cell(c,r)=Name,Lo,Hi,Db ; Digital: Cell(c,r)=Name,AlmSt Cell(0,0)=C31.U1.QBYTESA,0,1000,10 Cell(1,0)=C31.U1.QBYTESD,0,1000,10 Cell(2,0)=C33.U1.E0XBDISC,1 Cell(0,1)=C37.U2.ASSAY,0.4,1.4,0.005 Cell(1,1)=empty Cell(2,1)=C310.P.ASSAY2,1.5,4.3,0.005 Cell(0,2)=C310.P.D1ML,0 Cell(1,2)=C37.U2.E0XATRIP,1 Cell(2,2)=emptyWindow Position
This section is for OPAL's internal use only. It should NEVER be manually modified (although it is safe to delete the entire section). In order to return to the same size and position from one run to the next, OPAL stores the location and relative size of its main window in this section.
[Window Position] X=8.75% Y=51.7578% CX=35.8594% CY=33.9844%
Reviewer: Dave Etzold Q! What happens when "Spare" is pushed on the last non-spare point? A1 OPAL will be running with no points being monitored. You may (and in fact, should) add points to OPAL's monitored set. If OPAL is closed (or exited) when all cells are "Spare," OPAL will not want to start up again until the INI file is manually adjusted to contain at least one point. Q2 What happens when "Done" is pushed for an other type point? A2 The Cell Editor behaves as if the "Cancel" button were pressed. I.e. it ignores your changes.
|
|
|
|