##APWindowsFormsDemo軟件維護手冊
###1 引言?
####1.1 編寫目的:
供需要在windows下開發(fā)AP系列產(chǎn)品控制軟件的開發(fā)者參考?
####1.2 項目背景:
AP系列產(chǎn)品具有較好的軟件支持和使用體驗滋戳。為了進一步提升開發(fā)者對該系列產(chǎn)品使用的信心與降低上手難度史翘,故開發(fā)對應(yīng)的控制庫文件APSpecified.dll與相應(yīng)使用該庫文件的WindowsForm Demo(C#)
####1.3 定義:
AP:AutolaborPro系列產(chǎn)品。?
###2 系統(tǒng)說明?
####2.1 系統(tǒng)用途:
與AP系列產(chǎn)品進行串口通信,收發(fā)二進制數(shù)據(jù)圃酵。可以解析與封裝各個指令净刮,并將各條指令即時解析和可視化。
####2.2 安全保密:?
####2.3 總體說明:
程序APWindowsFormsDemo界面劃分為4塊具温,分別是初始化設(shè)置、運動控制筐赔、數(shù)據(jù)觀察铣猩、狀態(tài)跟蹤等。并用圖表的方式給出系統(tǒng)主要部分的內(nèi)部關(guān)系茴丰。APSpecified.dll提供指令封裝與解析對象达皿、指令與小車參數(shù)換算方法、指令執(zhí)行等各個方法贿肩。?
####2.4 程序說明:
####2.4.1? APSpecified.dll的說明?
####● 功能:
#####APproto類:
將指令分解為消息頭峦椰、序號、消息載荷汰规、校驗碼等結(jié)構(gòu)汤功,并提供相應(yīng)的設(shè)置器,獲取器溜哮,以及指令的解析與封裝方法(使各個參數(shù)“各就各位”)滔金。
#####APcommand類:
對已知的AMproto對象進行讀取和進行相應(yīng)動作的響應(yīng)
#####AMvelTransform類:
根據(jù)小車的運動模型參數(shù),如輪徑茂嗓、編碼器單圈脈沖數(shù)等餐茵,進行指令數(shù)據(jù)與實際速度的換算等
#####SpecialMethod類:
提供適用于AP小車通信協(xié)議的byte/int數(shù)據(jù)類型轉(zhuǎn)換方法
####● 處理:
處理特點和目的,如:用圖表說明程序的運行的邏輯流程在抛;
####● 接口:
***打開串口:*** ```APSerialPort:openPort();```
***關(guān)閉串口:***```APSerialPort:closePort();```
***開始控制線程:***```APSerialPort:controlStart();```
***發(fā)送數(shù)據(jù):***```APSerialPort:sendBytes();```
***解析并執(zhí)行:***```APSerialPort:decodeExecute();```
***請求電量:***```APSerialPort:reqBattery();```
***請求當(dāng)前編碼器累計計數(shù):***```APSerialPort:reqWheelSpeed(short LSpeed, short RSpeed);```
***請求車輪停止駛動:***```APSerialPort:wheelstop();```
***請求車向右行駛:***```APSerialPort:goRight();```
***請求車向后行駛:***```APSerialPort:goBack();```
***請求車向左行駛:***```APSerialPort:goLeft();```
***請求車向前行駛:***```APSerialPort:goAhead();```
***請求重置以恢復(fù)對小車的速度控制:***```APSerialPort:reqReset();? ```
####2.4.2? ? APWindowsFormsDemo的說明
####● 功能:
可以通過界面的“前”钟病、“后”、“左”刚梭、“右”四個按鍵控制小車行進肠阱,也可以手動敲入對應(yīng)的指令信息,控制包括行進在內(nèi)的行為朴读。當(dāng)小車回應(yīng)“錯誤”時屹徘,本軟件會自行發(fā)送reset重置指令筏勒,恢復(fù)對小車的控制男公。接收到信息時,會自動進行解析并將所得信息展示在界面上磁携。用戶也可以通過“解析”按鍵進行解析氮唯。? ?
####● 輸入:
通過對應(yīng)按鍵(電量“獲取”按鍵等)發(fā)送指令或通過編輯框直接輸入格式完整且正確Hex指令并發(fā)送鉴吹。
####● 處理:
處理特點和目的,如:用圖表說明程序的運行的邏輯流程惩琉;程序主要轉(zhuǎn)移條件豆励;對程序的約束條件;程序結(jié)束時的出口要求;與下一個程序的通信與聯(lián)結(jié)(運行良蒸、控制)技扼;由該程序產(chǎn)生并茶館處理程序段使用的輸出數(shù)據(jù)類型和存放單元;程序運行存儲量嫩痰、類型及存儲位置等剿吻。? ?
####● 輸出:
接收到的數(shù)據(jù)將以Hex字符串的形式展現(xiàn)在接收框中,同時自動進行解析串纺,得到的電量信息丽旅、狀態(tài)信息(如“錯誤”、“重置成功”造垛、“編碼器清空失敗”等)將展示在“狀態(tài)跟蹤”框內(nèi)
####● 特有的運行性質(zhì):
- 請勿重復(fù)點按“初始化”按鈕魔招,否則該端口將拒絕訪問,由此可能導(dǎo)致程序崩潰;
- 長按“前”五辽、“后”办斑、“左”、“右”按鈕杆逗,可控制小車駛動乡翅;松開按鈕則小車立即停止。長按時罪郊,程序?qū)⒁?Hz的頻率向小車發(fā)送速度指令蠕蚜。
###3 操作環(huán)境?
####3.1 設(shè)備:
Windows系統(tǒng)
####3.2 支持軟件:
Visual Studio
###4 程序清單和流程圖:
```flow
st=>start:start
op1=>operation:
op2=>operation:enter baudrate, etc.
op3=>operation:enter
op4=>click "initialize"
st->op1->op2->op3
op1->op3
```