基于PMAC2 PC - 104運(yùn)動控制器的AGV底盤控制系統(tǒng)
DeltaTau公司為PMAC提供了PComm32動態(tài)鏈接庫,作為上層應(yīng)用程序與PMAC通訊的橋梁。PComm32包含所有上位機(jī)與PMAC之間通信的200多個函數(shù)[4]。
AGV控制軟件通過調(diào)用PComm32中的函數(shù)實現(xiàn)對PMAC的控制,PComm32包括PMAC1dll、PMAC1VXD、PMAC1SYS3部分,利用其提供的動態(tài)鏈接庫并結(jié)合VisualC++編程,通過調(diào)用動態(tài)鏈接庫提供的OpenPmacDevice()、CloseP2macDevice()、PmacGetResponse()、PmacFlush()等函數(shù),PC機(jī)將AGV每個動作的相關(guān)數(shù)據(jù)以ASCII碼指令的形式發(fā)送至PMAC,從而實現(xiàn)控制軟件與PMAC之間的命令和信息交換。PMAC執(zhí)行順時針圓弧運(yùn)動的PMAC驅(qū)動命令程序如下:
CLOSE
1#1->4000X 設(shè)置坐標(biāo)系
#2->4000Y
OPENPROG10CLEAR
GOSUB20000 調(diào)用圓心計算子程序
Q0=Q3-Q9 求圓心到終點(diǎn)的角度
Q27=ATAN2(Q4-Q10)
WHILE(Q28Q27) 循環(huán)執(zhí)行運(yùn)動程序
Q11=Q9+Q5*COS(Q28) 圓弧X坐標(biāo)
Q12=Q10+Q5SIN(Q28) 圓弧Y坐標(biāo)
X(Q11)Y(Q12) 部分運(yùn)動
Q28=Q28+Q8 角度增加
ENDWHILE
X(Q3)Y(Q4)終運(yùn)動
RETURN
N20000計算圓心子程序
Q20=SQRT((Q3-Q1)*(Q3-Q1)+(Q4-Q2)*(Q4-Q2))
Q21=Q5*Q5-Q20*Q20/4
FQ23=SQRT(Q21)
Q0=Q3-Q1
Q24=ATAN2(Q4-Q2)起點(diǎn)到終點(diǎn)的角度
Q0=Q20/2
Q25=ATAN2(Q23) 中心離開中線的角度
Q26=Q24-Q25
Q9=Q1+Q5*COS(Q26) 中心X坐標(biāo)
Q10=Q2+Q5*SIN(Q26) 中心Y坐標(biāo)
RETURN
CLOSE
4 結(jié)束語
AGV集光、機(jī)、電、計算機(jī)為一體,綜合了當(dāng)今科技領(lǐng)域先進(jìn)的理論和應(yīng)用技術(shù)。以PMAC作為控制器,能夠滿足AGV運(yùn)動的高實時和高精度的要求,其開放結(jié)構(gòu)易于今后產(chǎn)品線的更新?lián)Q代和系統(tǒng)的移植。
評論