|
|
(Jump directly to the extended point status, described near the end of this page)
The point status (PS) data structure consists of a 32-bit word. The first 16-bits (bits 0-16) are common for all point types. The last 16-bits depend on point type. Since the point type is included in the PS the format is easily determined.
| 31-16 | 15 | 14 | 13 | 12 | 11 | 10-8 | 7 | 6 | 5-4 | 3-0 |
|---|---|---|---|---|---|---|---|---|---|---|
| Point Type Specific | Reserved | Fresh Data | Secondary Provider | Alarm Hold | SubSys Enable | Master Revision | Data Valid | Provider | Side | Point Type |
Point Status Format
There are currently 11 different point types defined in PICS.
| Point Type | Value | Symbol | EU Data Format |
|---|---|---|---|
| Reserved Point | 0 | PT_RES | N/A |
| Analog Input | 1 | PT_AI | Float |
| Analog Computed | 2 | PT_AC | Float |
| Analog Output | 3 | PT_AO | Float |
| Digital Input | 4 | PT_DI | in PS |
| Digital Computed | 5 | PT_DC | in PS |
| Digital Output | 6 | PT_DO | in PS |
| PG/Smoke Input | 7 | PT_SI | in PS (same as PT_DI) |
| PICS Time | 8 | PT_PT | DWORD |
| Plant Mode | 9 | PT_PM | DWORD |
| System Point | 10 | PT_SYS | N/A |
| Analog DWORD | 11 | PT_AW | DWORD |
| Binary Input | 12 | PT_BI | DWORD |
| Binary Output | 13 | PT_BO | DWORD |
Point Types
For all point types except the system point type, the side determines which physical side is providing the point. For points provided by an alternate provider (the provider bit is set), this field reflects its value before the alternate provider began providing it. This field is useful diagnosing when the two normal providers produce different values for a point.
| Name | Value | Meaning |
|---|---|---|
| No Side | 0 | Non-redundant system is provider |
| Side A | 1 | Side A system is the provider |
| Side B | 2 | Side B system is the provider |
| Side A and B | 3 | Invalid |
Side Field except for System Points
For system points, the field defines which side status bytes are valid for the point. (See the System Point section for details.)
| Name | Value | Meaning |
|---|---|---|
| No Side | 0 | Non-redundant system - Side 0 is valid |
| Side A | 1 | Side A only exists - Side 0 is valid |
| Side B | 2 | Side B only exists - Side 1 is valid |
| Side A and B | 3 | Redundant system - Side 0 and Side 1 are valid |
Side Field for System Points
This bit is set if some task other then the normal provider (such as PICS Test) is providing this point. If it is reset, the normal provider is providing this point.
This bit is set if the data in this point record is valid. This bit is used by different task in slightly different ways, but the bit is always set when retrieved as real-time data. The archive system may store some point records with this bit reset if the point has not been provided and it is making an archival snapshot of the current values. The retrieval task will not provide these point records to any application.
These three bits are the least significant three bits of the point's master revision value in the realtime database table. When a point or any table used by that point is changed, this field is changed. When the provider gets the update to the database for this point, it will also get the master revision. Thus, when an application receives a record with a different master revision value, it knows the provider is now using the database updated values. This knowledge can be used to synchronize static database updates with the use of that data by the provider.
Valid for Subsystem Status Points (PT_SS) only, this bit shows whether or not the subsystem is allowed to scan (and/or produce) data. When TRUE, scanning (and data production) is enabled, when false, neither scanning nor any other form of data production (like calculated points) is performed.
This bit is set by the provider when the point enters an alarm hold condition until it returns from the alarm hold condition.
This bit is only valid for computed points. It is set if at least one point going into its computation is being provided by an alternate provider or any of its points are provided by an alternate provider.
This bit is set by the provider whenever a value is provided to the realtime database. There are two times when this bit might not be set when received from the realtime a for valid data: (a) when the point is being proxied by MUXCTL and (b) when the value that RTDB is holding is more than 60 seconds old.
These bits are always set to zero.
These 16 bits have a different format depending on the point type. Currently there are four different formats.
| Point Type | Data Type |
|---|---|
| Analog Input | Analog |
| Analog Computed | Analog |
| Analog Output | Analog |
| Digital Input | Digital |
| Digital Computed | Digital |
| Digital Output | Digital |
| PG/Smoke Input | Digital |
| PICS Time | Time |
| Plant Mode | Analog |
| System Point | System |
| Analog DWORD | Analog |
| Binary Input | Analog |
| Binary Output | Analog |
Point Type Specific
| 31-30 | 29-28 | 27-24 | 23-20 | 19-16 |
|---|---|---|---|---|
| Rate of Change Alarm Level | Validity Alarm Level | Engineering Units Alarm Level | Secondary Quality Code | Primary Quality Code |
Analog Specific
This field has four bits, each representing a different quality of the point.
| Bit | Name | Meaning |
|---|---|---|
| 16 | In Test | The point is in a test mode. |
| 17 | Off Scan | The point is not being calculated by a provider. |
| 18 | Operator Entered | An operator has entered the EU value for this point. |
| 19 | Exception | The point is in exception. Either it has a validity alarm or an EU alarm of scan exception or math exception. |
Primary Quality Code
This field has four bits, each representing a different secondary quality of the point. This field consist of a composite of the primary and secondary quality codes of all other points used in the calculation of this point. The field is computed by taking the primary and secondary quality code of each point going into the calculation and bitwise or-ing them together. The resultant 4-bit field is the secondary quality code of the point being computed. Note that a computed point may have this feature disabled if its compute provider sets the bNoF2Qual bit for it.
| Bit | Name | Meaning |
|---|---|---|
| 20 | In Test | At least one point used by this point's calculation is in test mode. |
| 21 | Off Scan | At least one point used by this point is off scan. |
| 22 | Operator Entered | At least one point used by this point is operator entered. |
| 23 | Exception | At least one point used by this point is in exception |
Secondary Quality Code
This field represents the engineering units alarm level computed for this point.
| Name | Value | Symbol | Meaning |
|---|---|---|---|
| Normal | 0 | AL_NORM | No EU alarm. |
| Inhibit | 1 | AL_INHIBIT | EU alarming is inhibited, so treat the alarm level as "normal". |
| Low Warning | 2 | AL_LWARN | The EU value is less then or equal the EU low warning value. |
| High Warning | 3 | AL_HWARN | The EU value is greater then or equal the EU high warning value. |
| Low Alert | 4 | AL_LALERT | The EU value is less then or equal the EU low alert value. |
| High Alert | 5 | AL_HALERT | The EU value is greater then or equal the EU high alert value. |
| Low Critical | 6 | AL_LCRIT | The EU value is less then or equal the EU low critical value. |
| High Critical | 7 | AL_HCRIT | The EU value is greater then or equal the EU high critical value. |
| Scan Exception | 8 | AL_XSCAN | A scan exception occurred on this point. The EU value is the last valid calculated one. |
| Math Exception | 9 | AL_XMATH | A math exception occurred during the calculation of this point. The EU value is the last valid calculated one. |
| Open Thermocouple | 10 | AL_OTD | An open thermocouple was detected. |
Engineering Units Alarm Level
This field represents the validity alarm level of the point. Only scanned points can have validity limits. Validity limit checking is performed on gain-compensated raw values. The gain-compensated raw value is the product of the sum of the raw value and the raw value compensation with the points gain value.
| Name | Value | Symbol | Meaning |
|---|---|---|---|
| Normal | 0 | AL_NORM | No validity alarm. |
| Inhibit | 1 | AL_INHIBIT | Validity alarming is inhibited, so treat the alarm level as "normal". |
| Low Validity | 2 | AL_LVALID | The gain-compensated raw value is less then or equal the low validity value. |
| High Validity | 3 | AL_HVALID | The gain-compensated raw value is greater then or equal the high validity value. |
Validity Alarm Level
This field represents the rate of change alarm level. Currently this is not implemented.
| Name | Value | Symbol | Meaning |
|---|---|---|---|
| Normal | 0 | AL_NORM | No validity alarm. |
| Inhibit | 1 | AL_INHIBIT | Rate of change alarming is inhibited, so treat the alarm level as "normal". |
| Rate of Descent | 2 | AL_ROD | The rate of change is greater then or equal the rate of descent value and the change is in the negative direction. |
| Rate of Ascent | 3 | AL_ROA | The rate of change is greater then or equal the rate of ascent value and the change is in the positive direction. |
Rate of Change Alarm Level
| 31-28 | 27 | 26 | 25 | 24 | 23-20 | 19-16 |
|---|---|---|---|---|---|---|
| Reserved | Alarm Inhibit | Raw Value | Alarm Level | Engineering Units Value | Secondary Quality Code | Primary Quality Code |
Digital Specific
This field has four bits, each representing a different quality of the point.
| Bit | Name | Meaning |
|---|---|---|
| 16 | In Test | The point is in a test mode. |
| 17 | Off Scan | The point is not being calculated by a provider. |
| 18 | Operator Entered | An operator has entered the EU value for this point. |
| 19 | Exception | The point could not be scanned. Its EU value is the last successfully scanned value. |
Primary Quality Code
This field has four bits, each representing a different secondary quality of the point. This field consist of a composite of the primary and secondary quality codes of all other points used in the calculation of this point. The field is computed by taking the primary and secondary quality code of each point going into the calculation and bitwise or-ing them together. The resultant 4-bit field is the secondary quality code of the point being computed. Note that a computed point may have this feature disabled if its compute provider sets the bNoF2Qual bit for it.
| Bit | Name | Meaning |
|---|---|---|
| 20 | In Test | At least one point used by this points calculation is in a test mode. |
| 21 | Off Scan | At least one point used by this point is off scan. |
| 22 | Operator Entered | At least one point used by this point is operator entered. |
| 23 | Exception | At least one point used by this point is in exception |
Secondary Quality Code
This bit represents the point's engineering units value. If set, the EU value is one. If reset, it is zero.
This bit represents the engineering units alarm level for the point. If it is set, the point is in alarm. If it is reset, the point is not in alarm.
This bit represents the scanned value for the point. If it is set, the hardware value was a one. If reset, it was a zero.
If alarming is disabled for this point, this bit will be TRUE (and the value of the Alarm Level bit should not be considered as meaningful)..
These bits are always set to zero.
| 31 | 30 | 29-24 | 23-20 | 19-16 |
|---|---|---|---|---|
| Master | Provider Side | Provider ID | must be zero | Section |
Time Specific
Section where this time value originated.
This field must be zero.
This field determines which 8800 data provider provided this time value. A value of 0 means this time value was provided by MuxCtl since no 8800s have reported in the last second. Note that non-zero values reflect the 8800 pair, not the individual 8800 number.
This field determines which 8800 (or MUX) side provided this time data. Zero means that side A provider the time. One means that side B provided the time.
When non-zero, when the time came from the master section.
System points describe the state of one or two compute systems in the PICS network. If it describes two systems they are a redundant pair. The system specific part of the point status consists of two identically formatted parts, one for each system. Which system is described in each part is determined by the side part of the point status.
| 31-24 | 23-16 |
|---|---|
| Side 1 | Side 0 |
System Specific
The bits are labeled for Side 0. Add eight (8) to them for the Side 1 bits.
| 23 | 22 | 21 | 20 | 19-16 |
|---|---|---|---|---|
| Reserved | 8800 | DataLive | Primary | Status |
Side Format
These bits define the current status of the system as seen by the primary system monitor for all but the 8800's. The provider of the data for 8800's is the primary Mux Control process.
| Value | Symbol | Meaning |
|---|---|---|
| 0 | SYS_NOTUSED | No computer exists. |
| 1 | SYS_NEW | The computer has never communicated with the provider or all information about the system has been reset. |
| 2 | SYS_LOSTCOMM | The computer has communicated with the provider, but the provider has lost communication with it. |
| 3 | SYS_STARTUP | The computer is being controlled through a startup. |
| 4 | SYS_READY | The computer is ready to perform its desired function. |
| 5 | SYS_ACTIVE | The computer is performing its desired function. |
Status Bits for 8800s
| Value | Name | Meaning |
|---|---|---|
| 0 | Not Used | No computer exists or has never communicated with SysMon. |
| 1 | Down | The computer is presently down. |
| 2 | Present | The computer has communicated with SysMon, but has not begun starting applications. |
| 3 | Loading | The computer is starting applications. |
| 4 | Ready | The computer has successfully started its applications and is active. |
| 5 | Standby | The computer has not been assigned a primary or backup designation |
| 6 | Failing | The computer has been detected as failing and is being (or will be) rebooted. |
| 7 | Replacing | The computer is being changed from Backup to Primary during a failover. |
Status Bits for NT subsystems
This bit is set if the system is the primary system in redundant pairs or is a non-redundant system. Otherwise, it is reset.
This bit has a slight different meaning for 8800 system points and all other systems. For the 8800's, the bit is set if the time point is valid to be used as the system time value. Otherwise, it is reset. For other systems, the bit is set if the system is receiving time updates in the real-time data. Otherwise, it is reset.
This bit is set when the status refers to an 8800. Otherwise, it is reset. This allows for different meanings in the status field (and potentially other differences in the future, though none are defined at this time)
This field is always set to zero.
The extended point status (PSX) data structure consists of a 16-bit word. This feature was added in PICS II.
| 15-12 | 11 | 10-8 | 7-4 | 3 | 2 | 1-0 |
|---|---|---|---|---|---|---|
| Not Scanned Reason | Raw Value Float | reserved | Hwardware Error Type | Initial EU | Proxied | Clamp Level |
Extended Point Status Format
A clamp level of 2 indicates "clamped low" and 3 indicates "clamped high" (not that PGDP has any clamping implemented). Values of zero and one are normal and inhibit (like all other analog alarms). These bits are only used for analog point types.
| Name | Value | Symbol | Meaning |
|---|---|---|---|
| Normal | 0 | AL_NORM | No clamping. |
| Inhibit | 1 | AL_INHIBIT | Clamping is inhibited, so treat as "normal". |
| Clamped Low | 2 | AL_LCLAMP | The value was set to the low clamp value. |
| Clamped High | 3 | AL_HCLAMP | The value was set to the high clamp value. |
Clamp Level
The 8800 pair has gone missing and MUXCTL is providing the last known values. (The data will not be marked FRESH while being proxied.)
When an 8800av first starts up, it may provide the initial EU value that is set in the PICS Static Database as part of the point definition. While the static data value is being provided, the Initial EU bit will be set. Once the first scanned value is processed, the 8800 software will clear this bit. The bit will remain cleared until the 8800 is restarted, at which time it may, once again, start by providing the static data value. The static data value is generally provided because the 8800 was required to refresh a point's value before a scanned value was processed (i.e. the unit was down, the point is on a very slow scan rate or the point is currently off scan). Effectively, when this bit is set, it means that, as far as the responsible 8800 is concerned, the point has NEVER been scanned.
When this field is non-zero, it contains a hardware-dependent value that indicates the type of error.
NOTE: The actual text used to display these errors is defined in the site-specific INI file (i.e. usec.ini for PGDP)
| Hardware Type | ||||
| Value | AVCO | CPI | MWR | MTR |
| 0 | no error | NAK-000 (reserved) | HE-00 (reserved) | reserved |
| 1 | Hardware is broken | NAK-001 (reserved) | Overflow | reserved |
| 2 | Write failure | Program Violation | Calibration/Scan Exception | reserved |
| 3 | No scanner message | Insufficient RAM | no data | reserved |
| 4 | No IDVM message | Data CRC or Parity Error | reserved | reserved |
| 5 | Neither message | RTP Device Timeout | reserved | reserved |
| 6 | Protocol Error | Non-existent RTP Device | reserved | reserved |
| 7 | AVCO Comm Error | Power Failure | reserved | reserved |
| 8 | AVCO Illegal Cmd | Device Failure (lost comm) | reserved | reserved |
| 9 | timeout | reserved | reserved | reserved |
| 10 | write error | reserved | reserved | reserved |
| 11 | read error | reserved | reserved | reserved |
| 12 | No Zero Reference | reserved | reserved | reserved |
| 13-15 | reserved for future use | |||
Hardware error type values
These bits are reserved for future use and should always be set to zero in the current implementation.
When set, this flag indicates that the accompanying raw value field contains a floating point value. When clear, the value is typically an unsigned 32-bit integer. In some rare, special cases (e.g. PICS Subsystem Status Points) the raw value may be a bitfield or other private, internal format.
When this field is non-zero, it contains the reason that the point was not scanned.
NOTE: The actual text used to display these errors is defined in the site-specific INI file (i.e. usec.ini for PGDP)
| Value | Meaning |
| 0 | scannable |
| 1 | No card/hwardware exists |
| 2 | Channel is not valid |
| 3 | Point type is invalid |
| 4 | Card ID invalid or unsupported |
| 5 | No associated card exists |
| 6 | No conversion function |
| 7 | Invalid scan class |
| 8 | Unknown conversion type |
| 9 | No associated point (typically, missing a zero voltage reference or UTR point ID) |
| 10-15 | reserved for future use |
Not scanned reason values
|
|