?? 2.txt
字號:
編寫云臺控制程序
有些朋友很關心云臺控制程序的編寫。在這里我把我工程中根據Pelco協議編寫的代碼放在這里,供各位朋友參考。如有不同的見解請留言討論。
編寫云臺控制程序的第一步要搞清楚所購買的云臺的解碼器的控制協議,如使用比較多的Pelco,YAAN協議等.協議的各個部分要認真分析.如果工程需要的只是部分的功能,如:上下左右控制.那只把協議相應的部分實現即可.
本文實現Pelco協議的功能,首先要下載Pelco協議.下載PELCO協議.rar.然后選擇使用哪種編程工具,如c,vc,c#.針對不同的語言稍微改變就可以.同時也要考慮程序運行的平臺,比如是在計算機上通過串口控制云臺還是通過DSP的串口控制云臺.因為在這兩個平臺上往串口發送消息的命令形式不同.下文分別敘述.
在VC#這個編程平臺上,用C#語言實現pelco協議如下:Pelco_P_D.rar.建立好了協議的主體就可以建立一個控制窗口界面實現各種控制功能.比如我要建立上下左右的控制,那就建立4個控制按紐并分別實現對應的消息.下面是實現的控制云臺向上運動的程序:
private void up_Click(object sender, EventArgs e)
{
addressin = Byte.Parse((testBox_address.Text).ToString());
speedin = Byte.Parse((textBox_tilespeed.Text).ToString());
messagesend = pelco_d.CameraTilt(addressin, Pelco_D.D.Tilt.Up, speedin);
try
{
//write line to serial port
serialPort.Write(messagesend, 0, 7);
sendstatus.Text = "UP";
//clear the text box
// textBox.Text = "";
}
catch (System.Exception ex)
{
baudRatelLabel.Text = ex.Message;
}
}
其他的各種功能參考上面的程序即可實現pelco協議的各種功能.
在比如要在DSP平臺上實現控制云臺的程序.比如針對合眾達的DM642平臺.除了要實現Pelc協議的主體之外(參考Pelco_P_D.rar.),要把DM642發消息給UART口的命令搞清楚即可.下面的程序是控制云臺向上運動一小步:
CameraTilt(1, Up, msg->speed,pelco_D_Data);//解析向上運動的命令
for(i=0;i<7;i++)SEEDDM642_UART_rset(SEEDuartHandleA, //發送SEEDDM642_UART_THR, (pelco_D_Data[i] & 0xff));
for(i=0;i<7;i++)SEEDDM642_UART_rset(SEEDuartHandleA, SEEDDM642_UART_THR, (pelco_D_Data[i] & 0xff));
CameraStop(1);//停止
以上就是在兩種平臺上控制云臺運動的編程步驟.如有不同見解請討論.
閱讀全文(3833) | 回復(5) | 引用(57)
回復:編寫云臺控制程序 【舉報此回復】
proglife發表評論于2006-9-25 15:07:48
老師,您好!
和您在MSN聊過關于云臺控制的問題.派爾高協議,控制左轉右轉時,出現問題.其他功能好用.我用DELPHI寫的程序,在MOUSEDOWN中, str := chr($FF)+chr($01)+chr($00)+chr($04)+chr($0F)+chr($00)+chr($14);
MSComm1.output := str;
在CLICK事件中: str := chr($FF)+chr($01)+chr($00)+chr($00)+chr($00)+chr($00)+chr($01);
MSComm1.output := str;
可是大多數時候,云臺不停;偶爾能停住/大家不知遇到過這個問題沒有?請幫忙,謝謝!
個人主頁 | 引用 | 返回
回復:編寫云臺控制程序 【舉報此回復】
barongeng發表評論于2006-9-25 20:47:35
你好:我覺得存在的問題是發送命令時間間隔可能存在問題。比如發送命令讓云臺向左轉,然后發送停止命令讓云臺停止,這中間需要一個時間間隔。
我的建議是:
1。先使用串口精靈發送命令調試。看看命令格式沒有問題。
2。把時間間隔放長。
3。多次發送命令。比如:發送2次左轉,然后發送
2次停止命令。
4。寫的程序注意邏輯。你的MOUSEDOWN CLICK you wen ti
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -