Pelco-P Protocol Tutorial
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-D 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.
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)
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.|
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
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
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
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.
Learn about Pelco-D »
Download Pelco-D / P examples »
Download 232Analyzer »