Appendix B - Impulse Advanced Programming
B-1

Appendix B - Impulse Advanced Programming

The purpose of this section is to provide the information necessary for the user to communicate with
an Impulse drive over a serial connection without using IDC Application Developer. Since the
Impulse communications protocol is not ASCII character based, the terminal window in IDC
Application Developer and terminal emulation programs such as Windows™ HyperTerminal are not
compatible for use with the Impulse drive. Therefore, the topics covered here are considered
advanced and require the user to understand how to directly interface with a PLC or PC serial port
through programming (i.e. C or C++) or a MMI / soft PLC software package.
Communications Protocol

Transmission Frame

The Impulse drive does not use the ASCII character set for encoding and parsing serial data but
rather transmits actual numeric data in the form of bytes. This convention allows for faster and more
efficient serial communications by reducing the number of bytes required for data transmission and
eliminating the need to convert ASCII character strings into raw data. Therefore, data references
from this point forward represent actual numbers not ASCII text. For example, a ‘1’ means a value
of 1 not the ASCII text character ‘1’.
The core of the Impulse communication protocol consists of a series of bytes called the transmission
frame. The structure of the transmission frame is as follows:

Unit Address

This byte specifies the address of the unit for which this transmission frame is intended. The valid
range for the unit address is 1 to 255 and the factory default address is 1.

Parameter Index

This byte specifies the index of the parameter to be written to or read from. Parameter reads and
writes are determined by the state of the most significant bit of the parameter index byte. If the bit
is zero, the transmission frame is designated as a write. If the bit is one, the transmission frame is
designated as a read. The valid range for the parameter index is 1 to 127 for writes and 129 to 255
for reads. For example, if BYTE #2 in the transmission frame equals 5, this would define a write to
parameter index #5 however, if BYTE #2 equals 133, this would define a read from parameter index
#5. A parameter index can be converted to a read by simply taking the index and adding 128, thus
setting the most significant bit to 1.

Data Bytes

These bytes specify the data to be written to or read from the parameter index. All parameter index
data is in word format (2 bytes) with the least significant byte preceding the most significant byte.
Therefore, the smallest number of data bytes is 2.

Checksum Bytes

These bytes contain the unsigned sum of the Unit Address, Parameter Index and Data Bytes. These
bytes are using for transmission integrity verification.
BYTE #1 BYTE#2 BYTE#3…#n BYTE #n+1 BYTE #n+2
Unit
Address
Parameter
Index
Data
Bytes
Checksum
Lower Byte
Checksum
Upper Byte