National Time & Signal FACP Serial Protocol
The National Time and Signal Corp manufactures Fire Alarm Control Panels (FACP). The series 900 and 902 FACP’s can be purchased with a ‘BACnet’ interface option. When suitably equipped with the interface enabled, the FACPs can transmit data to a FieldServer which can, in turn, make this data available to other devices including devices which are capable of communicating using the BACnet and other protocols.
This driver is a passive client driver which does not actively poll for data but listens passively for data to be sent by the FACP’s that it is connected to. Messages sent by the panel are either ignored or stored by the FieldServer based on panel status. The configuration determines how these messages are processed.
No automatic panel data synchronization technique exists. The data in the FieldServer and the panel status have to be synchronized manually.
The driver provides both client and server emulation. The server side of the driver is intended to support FieldServer’s Quality Assurance program and is not intended to provide complete emulation of a FACP. Thus the server side is not fully documented. However, at a customer’s request the server side functionality can be documented and enhanced. If you are interested in this functionality, then please contact FieldServer’s sales group.
Formal Driver Type
|FieldServer Model||Compatible with this driver|
|Baud Rates:||Vendor equipment connects at 9600 BaudDriver supports: 110; 300; 600; 1200; 2400; 4800; 9600; 19200; 28800; 38400; 57600; 115200 Baud|
|Data Bits:||Vendor equipment : 8Driver supports : 7,8|
|Stop Bits:||Vendor equipment : 1Driver supports: 1,2|
|Parity:||Vendor equipment : NoneDriver supports: Odd, Even, None|
|Hardware interface:||Vendor equipment does not support hardware handshaking|
|Device||Tested (FACTORY, SITE)|
A FACP network consists of up to 32 panels. One of those panels acts as the network interface by means of its ‘BACnet’ interface port. This interface serves data to the FieldServer by means of a serial connection. Each one of these connections requires exclusive use of a FieldServer port. Thus, only one network of FACP’s can be connected to one FieldServer serial port.
Data Types Supported
A list of Trouble Strings vs. Data Types will be maintained by the driver. Each trouble string can be allocated to one of 4 categories – Alarm, Trouble, Supervisory and Other. The list can be amended and/or extended using the configuration file. The default list is tabulated in the driver manual.
|FieldServer Data Type||Description (or Device Data Type)|
|Alarms||When a panel message reports an alarm then FieldServer data associated with the ‘Alarm’ Data Type will be updated.|
|Troubles||When a panel message reports a trouble then FieldServer data associated with the ‘Trouble’ Data Type will be updated.|
|Supervisory||When a panel message reports a supervisory state then FieldServer data associated with the ‘Supervisory’ Data Type will be updated.|
|Other||When a panel message reports a trouble string that has been allocated to the ‘Other’ Data Type then the FieldServer data associated with the ‘Other Data Type will be updated.|
How the FieldServer stores panel data:
Each message from the FACP is processed as follows
1. The Panel Number must match a Node configured in the FieldServer. Multiple Nodes can be configured.
2. The Board Number must match a ‘Board’ configured in the FieldServer. Multiple Boards can be configured for each Panel.
3. The Loop Number must match a ‘Loop’ configured in the FieldServer. Multiple Loops can be configured for each Board.
4. The port type must match a ‘Port-Type’ configured in the FieldServer. Multiple Port Types can be configured for each loop.
5. The ‘Port Number’ must be covered by an ‘Address’ and “Length’ configured in the FieldServer. Multiple Address Ranges can be configured for each loop.
6. If a device has sub-ports then the sub-port number range and sub-port type must be configured for that device.
7. A list of Trouble Strings vs. Index values is maintained by the driver. The list can be amended and/or extended by the configuration. When a status message is received, the driver will store an index value corresponding to the Trouble String index. For example, if the Trouble String “OutpShrt “ has been allocated an index value of 3 and a message reports an “OutpShrt “ then the driver will store the value 3 in the appropriate position in the Data Array. If the configuration uses ‘Bit’ Data Arrays then the specific value will be lost but if the configuration uses ‘Integer’ Data Arrays then the value is stored.
The driver will ignore messages that report status for points that are not part of the configuration. Corrupted or other messages that do not meet the message specification are ignored too.
If a message is ignored a message will be printed in the error log and an operating statistic which counts the number of ignored messages will be incremented.
Unsupported Attributes and Data Types
The following attributes reported in messages sent by the FACP are not considered when the messages are processed and data is stored.
Date and Time information
This data contained in each message is discarded. The FS does not do queuing and / or buffering.
Panel and FieldServer Status Synchronization
As a passive client driver, the FieldServer cannot poll for data and can thus only reflect the status of the panel based on the messages it has received from the panel. Thus when a connection between the panel and the FieldServer is made, the FieldServer’s data will not reflect the Panel’s status unless at that point in time the panel’s points are in their normal (‘restored’) state.
Thus to ensure synchronization, human intervention is required. An operator must check that the panel has no active points and at that time they must reset the FieldServer. This is best done by performing a panel reset, which generates a “Reset G” message which will be used by the FieldServer to reset all the points associated with the panel.
The FACP communication interface (termed the BACnet interface) is connected to the FieldServer. This interface sends a message at regular intervals that reports that the connection is live. The driver will use this message to report the status of the connection. The FieldServer can be configured with a timeout value. If the ‘keep-alive’ message is not received within this timeout the system will be reported as offline.
The interface reports communication status from the panels it is networked to. If it loses communication with a another panel then the “CommFail“ trouble string is transmitted in a message. The FieldServer will use this information to report the on/offline status of the panels.
The driver configuration allows user’s to add/change the list of trouble strings and their associated index values. This will help the driver avoid sensitivity to FACP firmware versions where new strings may be added.
|6/7/04||PMC||0.00||0||Initial draft for customer review.|
|6/9/04||PMC||0.00||1||Based on revised customer specification the following changes have been made.
|6/21/04||PMC||1.00||1||Added part number.Minor type corrections based on customer feedback.|
|7/6/04||Meg||Meg||1.00||2||Updated formatting. Added new connection diagram. Removed watermark. General tidyup.|
|10/15/04||Meg||Meg||1.00||3||Changed company to corp. Reviewed connection diagram. Added devices tested. Refer to DUR0471.|
|10/22/04||Meg||Meg||1.00||4||Changed devices tested to A902-FACP and A900-FACP.- DUR0471|