FieldServer Driver – Serial
Simplex 4100 Computer Port Protocol
This driver is designed to connect to a Simplex panels equipped to support the “4100 Computer Port Protocol” as defined in Simplex’s document 950-004 Revision E dated 28 July 2000. These include the following Simplex Panels
The implementation provides a selected subset of protocol functions and subset of functionality for each of these selected functions. It is important that you read the exclusions and limitations described in this document.
The driver is a capable of parsing and storing information sent by a panel in the form of unsolicited messages which are typically generated when there is a state change in the panel or one of the connected devices. The driver is also capable of polling for point and panel status data and some additional data such as the panel’s time and revision information. In addition the driver is capable of setting some control points in the panel – acknowledging and resetting alarms and writing data (where permitted) to some analog and discrete points.
The protocol is a node-less protocol. This means that messages do not contain information about the source or destination address. A consequence of this is that only one 4100 device can be connected to each port of the FieldServer.
Formal Driver Type
|Connection type:||RS-232 or RS-485 (Two wire, Half-Duplex)|
|Baud Rates:||110; 300; 600; 1200; 2400; 4800; 9600; 19200; The driver also supports 28800; 38400; 57600; 115200 Baud although at the present time the Simplex Panels which support the 4100 protocol do not|
|Parity:||Odd, Even (4100), Mark, Space, None (4100U)|
|FieldServer Model||Compatible with this driver|
|Device||Tested (FACTORY, SITE)|
|4020 Panel Firmware Revision 9.02||Site|
|4100U Panel Firmware revision 11.03||Site|
To enable the 4100 Protocol, the 4100 system, supplied by the user, must have a free RS-232 port dedicated for use with the FieldServer. In most cases, this is not included in the base configuration of the product provided by The Simplex Time Recorder Company, and must be added as a sales option. All 4100 systems limit the number of computer ports active at one time in a system. To determine the limit for the specific product configuration being used, refer to the specific product specifications, or contact a Simplex sales representative. The RS-232 port being used must be configured with a port device type of “COMPUTER”. This can only be enabled by a Simplex Technical Representative using the 4100 Programming Unit.
The driver does not support the CTS/RTS handshaking supported by the ‘Computer’ port of Simplex devices.
The driver does not support port expansion and the write through feature of the FieldServer is only supported for the CLIST function which is used to read point status.
Further connection information is documented in the 4100 Driver Manual.
Communications functions – Supported functions at a glance:
Data Types Supported
|AckAll||Client Writes||This command acknowledges all card-point-sub states. The points to be ack’d are determined by inspection of a data array. i.e. This is a data driven command.|
|Ack||Client Writes||This command allows the driver to acknowledge a single point. The points to be ack’d are determined by inspection of a data array. i.e. This is a data driven command|
|Clist||Client reads||This command returns the current point status for one point. When a point’ status is obtained the FieldServer will write one byte of data to a data array. The byte will contain the following information.
The acknowledge state of the point is not available.
|Seta||Client Writes||This command allows the user to Modify the value of an analog pseudo point. The port access level must be set appropriately in the Simplex device otherwise the device returns an error.|
|Setd||Client Writes||This command allows the user to:Manipulate the status and/or priority of a control pointModify the value of an analog pseudo point.Set the sensitivity of a TrueAlarm sensorSet the rate-of-rise threshold of a TrueAlarm heat sensor|
|Xpoint||Client listens for panel generated messages.||Point Status Change. This is an unsolicited message sent automatically by a Simplex Device to report some or other points status if there is a change of interest. When one of these messages is received then the card-point-sub are used to calculate an offset into the associated data array|
|Reset||Client Writes||Used to send a reset signal to the Simplex device. This is a triggered command.|
|Revision||Client Reads||Used to request revision information from the simplex panel|
|Time||Client Reads/Writes||Allows Panel time to be read/ set.|
|Show||Client Reads||This function readsinformation about a point other than just the status. Only the point format of this command is implemented. The driver is only capable of processing responses from a sub-set of point types and is not tolerant to variations in the formatting of responses. The function can be used to read the current analog value (for TrueAlarm devices and Analog pseudo points only)|
|Value||Client Reads||This driver function used the Simplex ‘CSHOW c-p-s CVAL’ command..A subset of the function is implemented to allow the analog values of certain points to be read and stored.It is only supported by panels with firmware revision numbers greater than 10.|
|Earths||Client Reads||This driver function uses the Simplex ‘SYSDIAG Earths’ command. It is only supported by panels with firmware revision numbers greater than 10. A subset of this function is implemented to allow device and panel earth states to be read and stored.|
Unsupported Functions and Data Types
|Symbolic point formatting is not supported.|
|The following command and message are not supported. XLOG, TERM, DISARM, DISABLE, HELP, LOGIN, RESTART, LIST, PRINT, TYPE, SELECT, CLEAR, DIAGNOSTIC, WALKTEST, CTRL-D, SYSDIAG, SWAP, TICMODE|
|For all commands, a subset of the command capability has been implemented. The subset is chosen to exclude most ASCII based responses.|
- The driver reports the state by setting a data array element to a value corresponding to each possible state. This data is obtained using the Clist and Xpoint functions.
- Some points may have their state set if access levels are set appropriately. The Setd function is used for this purposed.
- The panel time and software revision information may be read.
- The panel may be sent an ack, reset command or silence command. A number of methods for triggering these commands are provided.
- The panel time may be set.
- Additional information about device attributes is provided using the protocol’s SHOW command.
- The Show command provides an ASCII response formatted for printing. The driver parses these messages and converts the data to numbers so that they can be sent to upstream devices using another protocol.
- The driver compares the state keyword to a table of state keywords and if it matches it sets the value of the array point. The offset of the array location is determined by the attribute and the value stored is determined by the attribute state / value.
- The position of the array element to be set for each attribute is determined by use of an attribute table. A range of array locations must be reserved for each device being polled to allow the driver to set array values for all the possible attributes of that device.
- The table of attributes and attribute states is extendable by modifying the configuration of the driver.
- The driver can only recognize known attributes. f the device response is spelled, spaced or formatted differently from the expected response the whole response may be ignored, the attribute may be ignored or the driver may report that the state of the attribute is not recognized.
- The driver can only process responses where the address of the point is provided in card-point-subpoint format.
- The driver can only process responses where a dashed line separates the header and attribute information.
- The user is able to define a list of additional attributes that the driver will recognize.
- The driver can only interpret attribute states/values that it recognizes. If he attribute is spelled, spaced for formatted differently from the expected response the driver will report the state/value as unknown.
- The possible attribute states/values are unknown. The driver/manual cannot provide information on what states/values can be expected for a particular attribute or device.
- The Driver will report attribute states/values by setting a data array element to a value corresponding to the index number associated with the attribute state.
- A table of attribute states will be maintained. The user can add to this table so that additional attribute states can be recognized.
- A pull station reports that its primary status is ‘Alarm’, the driver will set the value of array position 1 to 20 because the state word ‘alarm’ has in index of 20 in the table of attribute states.
- A smoke detector reports that the device attribute is ‘On-Line’. The driver sets the value of array position 9 to a value of 1 because the device attribute’s array position is 9 and the state word ‘on-line’ has an index of 9 in the table of attribute states.
- A smoke detector reports that the device attribute is ‘On Line’. The driver sets the value of array position 9 to a value of 999 because it does not recognize the way that the attribute state is formatted.
- The current analog value for TrueAlarm devices and Analog pseudo points can be read from the panel. This is only true of panels with firmware revisions 10.x and later. Typically this excludes older panels such as the 4020 and 4100 unless they have had their firmware updated.
- TrueAlarm smoke devices show the triplet current count/current % of alarm/current smoke level.
- TrueAlarm heat devices show the pair current count/current temperature.
- Analog monitor ZAM devices show their current sensor counts (0-255)
- Analog pseudo points show their current value (0-65535).
- When multiple values are returned they are stored in consecutive array location.
- Some points may have their values set if access levels are set appropriately. The seta function is used for this purpose.
- The Sysdiag function may be used to monitor the current raw state of the earth statuses in the panel. It displays the earth statuses for 1) SPS/XPS, 2) Mapnet/IDNet, 3) TrueAlert cards. This is only true of panels with firmware revisions 10.x and later. Typically this excludes older panels such as the 4020 and 4100 unless they have had their firmware updated.