PELCO-P PROTOCOL TUTORIAL / EXAMPLES

Besides Pelco-D, Pelco-P is another popular PTZ (Pan/Tilt/Zoom) camera control protocol used in the CCTV industry.
(Click here to visit Pelco's
website.)
This page will explain the following topics in details:
1) The format of Pelco-P
2) How to calculate the checksum byte by using 232Analyzer
3) Pelco-P command string examples
4) How to use 232Analyzer to control the Pelco-P cameras
5) Have fun playing with 232Analyzer and Pelco-P cameras
After reading this page and testing the camera with the 232Analyzer software
, you should be able to understand the ease of using the Pelco-P protocol, and
control any Pelco-P cameras in five minutes' time.
Notes:
1) Before you can control any Pelco-P cameras, you need to prepare the
following items:
- A PC running 232Analyzer program
- An RS-232 port (or USB/RS-232 converter)
- An RS232 / RS485 converter
2) Make sure your COM port settings in the 232Analyzer program matches with
camera's settings (Pelco-D cameras use No parity, 8 Data bits and 1 Stop
bit, baud rate depends on your camera setting)
(Click
here to download
the 232Analyzer FREE Version. Click
here to download
Pelco-D/P device profiles)
1) The format of Pelco-P
Pelco-P consists of 8 hexadecimal bytes (all byte data used in
this page are in Hexadecimal format unless otherwise specified).
|
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte 7 |
Byte 8 |
|
STX |
Camera Address |
Data 1 |
Data 2 |
Data 3 |
Data 4 |
ETX |
Checksum |
Byte 1 (STX) - Start of Text, fixed to A0
Byte 2 (Camera Address) - logical address of the camera being controlled (Address 1 is 00)
Byte 3 & 6 (Data 1 to 4) - shown below
Byte 7 (ETX) - End of Text, fixed to AF
Byte 8 (Checksum) - xOR sum of Bytes 1 to 7
Data 1 to 4 details:
| |
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
| Data 1 |
Fixed to 0 |
Camera On |
Auto Scan On |
Camera On/Off |
Iris Close |
Iris Open |
Focus Near |
Focus Far |
| Data 2 |
Fixed to 0 |
Zoom Wide |
Zoom Tele |
Tilt Down |
Tilt Up |
Pan Left |
Pan Right
|
0 (for pan/tilt) |
| Data 3 |
Pan speed 00 (stop) to 3F
(high speed) and 40 for Turbo |
| Data 4 |
Tilt speed 00 (stop) to
3F (high speed) |
Example (Data 2):
Pan Left - 0 0 0 0 0 1 0 0, which equals to 04 (both hexadecimal and decimal)
Some other commands
|
Command |
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
| Go to Preset |
00 |
07 |
00 |
01 to FF |
| Set Lens Speed |
00 |
25 |
00 |
00 to 33 |
| Alarm Ack. |
00 |
19 |
00 |
Alarm no. |
2) How to calculate the checksum byte by using 232Analyzer
Suppose you are controlling camera 1 (address 1) to pan left at normal speed, the command string of the first 6 bytes would be:
A0 00 00 04 20 00 AF
Go to "Checksum Calculator" pane, choose "Hex" as "Operands format"
and "xOr" as Operator. Then key in all the
bytes in the "Input operands" box. Remember to add "," after each byte
of data. You will then get the result of "2B", which is the
checksum byte.
Now the full string of pan left at normal speed command would be
A0 00 00 04 20 00 AF 2B

3) Pelco-P command string examples
Camera Address: 1
Pan Left at normal speed: A0 00 00 04 20 00 AF 2B
Pan Right at normal speed: A0 00 00 02 20 00 AF 2D
Tilt Up at normal speed: A0 00 00 08 00 20 AF 27
Tilt Down at normal speed: A0 00 00 10 00 20 AF 3F
Stop all actions (Pan/Tilt/Zoom/Iris etc.): A0 00 00
00 00 00 AF 0F
Note: the controlled cameras will respond by sending
back Acknowledgement data
4) How to use 232Analyzer to control the Pelco-P cameras
Suppose you are controlling camera address no.
1 to pan left at medium speed (command string: A0 00
00 04 20 00 AF 2B)
Way 1: From the command pane - choose "Hex" as the TX
data format and key in the command string "A0,00,00,04,20,00,AF,2B," in the input
box as shown below. Then click on the "Send" button. The command will then
be sent out immediately and you will notice the camera panning left continuously.
Note:
If you are using the FREE Version, choose "Dec" as TX data format
and key in "160,0,0,4,32,0,175,43,"

Way 2: From Programmable buttons
Download and unzip the
Pelco-DP.zip file, then
open "Pelco-P.232" file from 232Analyzer program. When you click on the
first button "Lef", the command will
be sent out after 500ms

5) Have fun playing with 232Analyzer and Pelco-P cameras
The programmable buttons 1 to 8 will trigger the camera's action
continuously. To stop, you have to send out the "Stop" command
"A0 00 00 00 00 00 AF 0F" (or "160 000 000 004 032
000 175 043"
in Decimal format) to the camera.
"Pelco-P.232" file allows you to send two (2) commands with the click of a
button, e.g. when you click on "Lef" button on the second row (button no.
9), the camera will pan left for 500ms and then stop. This is because
button no. 9 is linked to button 17, which stores the "Stop" command.
(Note: Programmable buttons 9 to 16 will trigger the
camera's action for 500ms and will stop automatically).
You may program it in such a way that the camera pans left for 500ms, stops, tilts up for 1000ms, stops, tilts down for 500ms, and then pans right
continuously. All sorts of actions can be done through "Programmable
Buttons" or "Macros" functions.
Have fun!
To learn about Pelco-D >>
Download Pelco-D/P examples and 232Analyzer >>