Envisacor Tecnologies EnvisaLink S5401D Developer's Manual

EnvisaLink S5401D
DSC Compatible Serial Interface Module
Developer’s Guide Version 1.0
1
Table of Contents
1. Introduction .................................................................................................................3
2. Developing Applications .............................................................................................3
4. Communications Protocol ...........................................................................................4
5. Application Originated Commands.............................................................................5
6. S5401D Originated Commands...................................................................................7
7. Special USER/MASTER Code Requirements ............................................................9
8. Special Considerations For Some S5401D Commands ............................................10
9. S5401D Error Codes..................................................................................................11
NOTES ..........................................................................................................................12
2
1. Introduction
This manual describes the commands that are available to developers of third-party applications for DSC’s PowerSeries line of panels through the S5401D Serial Interface Module.
For instructions on installing and setting up a S5401D module on a DSC PowerSeries panel, please see the S5401D Installation Instructions.
How to Use This Document
This document describes the commands available to developers of third-party applications through the S5401D interface. For information on how to integrate these commands into your application, please refer to the documentation available for the programming language you have used.
Please read through the introductory material on pages 1 and 2 for information about the S5401D interface, the command structure, and sample transmissions. For information on each command, refer to the command tables on pages 3 to 7.
2. Developing Applications
You can incorporate S5401D API commands in any application that can send and receive hexadecimal ASCII codes.
When you are programming your application, you can use any of the API commands described in this Guide.
There are two types of commands available to you:
1. Commands which your application sends to the S5401D
2. Event-driven or State-Change commands which the S5401D sends to your application.
The S5401D API does not support handshaking. As a corollary to this the S5401D does not know if the application is active or not and the S5401D does not buffer events, so if the application computer stops functioning any events occurring during that time will be overwritten.
3. S5401D Module Serial Connection
The S5401D module uses a serial cable to connect to the computer running your application. Refer to the S5401D Installation Instructions for more information.
3
4. Communications Protocol
The module will communicate with the Application using the RS-232 interface (DB9 connector) on the board.
All data is sent as hex ASCII codes. The transmission from will consist of the following:
CCC DDD…DDD CKS CR/LF
CCC => 3 Digit Command
This tells the module or the application what to do. Commands are 3 characters long. For example, the Status Command (001) would be sent as hex ASCII codes ‘30 30 31’. See the following tables for a list of supported commands.
DDD…DDD => Data Byte(s)
This is the data that may be needed for the command. For example, after the Partition Arm command (030), the application must specify which partition should be armed (1-8). The following tables show what the data requirements are for each command. Some commands, like the User Closing, have space holding zeros. In this case all 4 digits are sent even though this module ever uses only two.
CKS => Checksum
The checksum is calculated by adding the hex value of all command and data digits, and truncating the result to 8 bits. The upper and lower nibbles of the result are converted to ASCII characters before sending. For example, a Partition Alarm on partition 3 would be sent like this:
The command and data fields contain: 6 5 4 3 The ASCII codes for this would be: 36 35 34 33 36 + 35 + 34 + 33 = D2. Since the result is already 8 bits we don’t have to worry about the length and simply send it.
Format Command Data Checksum CR/LF
Code 6 5 4 3 D 2 CR LF ASCII 36 35 34 33 44 32 0D 0A
CR/LF => Carriage Return & Line Feed
Each transmission is followed with a carriage return (hex ASCII 0D) and a line feed (hex ASCII 0A) to indicate the end of a transmission.
4
Loading...
+ 8 hidden pages