1 引言
PCL6143是美國NPM公司設(shè)計的一款高性能、低成本的專用運動控制器。該器件具有智能化、高柔性等特點。用戶通過簡單的內(nèi)部控制指令就能實現(xiàn)直線插補、圓弧插補、梯形加減速和S曲線加減速等控制功能。PCL6143適用于高速數(shù)控機床、機器人、紡織包裝機械等運動控制領(lǐng)域,是開發(fā)運動控制系統(tǒng)設(shè)備的良好選擇。
2 PCL6143功能結(jié)構(gòu)
PCL6143內(nèi)部結(jié)構(gòu)框圖如圖1所示,PCL6143的主要功能如下:
CPU-I/F接口模式:PCL6143內(nèi)部集成有各種不同接口電路,允許與4種類型的CPU連接,分別是Z80、8086、H8和68000。通過設(shè)置IF0、IF1引腳,便于與CPU相連,實現(xiàn)8位或16位數(shù)據(jù)傳輸。
加減速驅(qū)動:每個軸都能實現(xiàn)線性加減速驅(qū)動和S曲線加減速驅(qū)動。在S曲線加減速驅(qū)動過程中,可插入線性加減速控制。
插補驅(qū)動功能:4軸中的任何2軸、3軸或4軸都能實現(xiàn)直線插補,其直線插補的位置精度為+LSB(最小插補單位)。
速度與位置控制功能:在單軸控制過程中,用戶可根據(jù)需要改變當(dāng)前被控軸速度;而在線性插補時,則不允許改變速度。當(dāng)實際位置超過指定位置時,電機將減速停止或立即停止,接著反方向進給。 多個計數(shù)器與比較器電路:每個軸都有4個獨立的28位計數(shù)器和2個比較器電路。每個比較器可實現(xiàn)邏輯計數(shù)值與實際目標(biāo)值相比較。
同步啟動/停止功能:多軸控制可采用一個PCL6143或多個PCL6143實現(xiàn),并通過相關(guān)指令控制多個軸同時啟停。
操作模式:具有連續(xù)、位模式、原點返回、線性插補等基本操作。通過設(shè)置操作模式寄存器(RMD)設(shè)定各個基本操作,實現(xiàn)位置、方向、速度等控制。
機械輸入信號:每個軸有4個機械輸入信號,即正負(fù)限位信號、減速信號和原點信號。這些信號可通過軟件和限位使能信號設(shè)置,實現(xiàn)正負(fù)方向進給軸的減速運動、減速停止運動以及原點返回。 伺服電機接口信號:伺服電機接口信號包括到位信號、計數(shù)器偏差清除信號和報警信號。這些接口信號可由軟件編程設(shè)置,并通過伺服馬達(dá)控制位置狀態(tài)和清除計數(shù)器偏差值。當(dāng)報警信號有效時,各個運動軸立即停止。
中斷產(chǎn)生功能:9種錯誤發(fā)生中斷,14種事件發(fā)生中斷。通過中斷輸出信號控制電機的運動和停止。當(dāng)外部錯誤狀態(tài)發(fā)生時,中斷產(chǎn)生。通過設(shè)置中斷發(fā)生寄存器(RIRQ),確定輸出事件是否中斷。
前瞻功能:在處理當(dāng)前數(shù)據(jù)時,下一操作數(shù)據(jù)被提前寫入預(yù)置寄存器;在當(dāng)前操作結(jié)束時,預(yù)置寄存器中的數(shù)據(jù)立即被送往當(dāng)前寄存器。
[b]3 主要寄存器及相關(guān)系統(tǒng)指令
3.1 主要寄存器[/b]
預(yù)置寄存器:指令在當(dāng)前執(zhí)行過程中,寄存器預(yù)先處理接下來的操作指令,PCL6143有11個預(yù)置寄存器,能夠?qū)崿F(xiàn)對目標(biāo)位置、速度狀態(tài)、速度放大率、加減速率、減速啟動、操作模式、主軸進給脈沖數(shù)、S曲線加減速范圍等各種操作控制。
環(huán)境設(shè)置寄存器(RENV1、RENV2、RENV3):PCL6143有3個環(huán)境設(shè)置寄存器。主要用于設(shè)置輸入/輸出端口、指定通用I/O端口、A/B編碼器、外部脈沖信號功能以及計數(shù)功能、鎖存功能和同步啟動功能。
數(shù)據(jù)比較寄存器(RCMP1、RCMP2):PCL6143有2個數(shù)據(jù)比較寄存器,用于設(shè)定比較值的大小,實現(xiàn)比較器1和比較器2的比較。設(shè)置范圍為:
-1 3421 7728~+1 3421 7 727。
中斷寄存器(RIRQ、REST、RIST):中斷寄存器為事件中斷發(fā)生寄存器(RIRQ)、錯誤中斷狀態(tài)寄存器(REST)和事件中斷狀態(tài)寄存器(RIST)。這些中斷寄存器是用于使能事件產(chǎn)生中斷、檢查錯誤產(chǎn)生中斷和事件產(chǎn)生中斷。當(dāng)中斷產(chǎn)生時,寄存器的相應(yīng)位置為1。
自動計算減速開始寄存器(RSDC):該寄存器用于檢查位置操作時自動計算減速開始位置值。
3.2操作指令
設(shè)置軸狀態(tài)控制寄存器(COMB1)實現(xiàn)各個軸的選取。向?qū)懣刂浦噶罴拇嫫鳎–OMB0)寫入實現(xiàn)啟動或停止PCL6143以及改變其輸出脈沖的速度。操作指令包含啟動指令(直接啟動指令、脈沖啟動指令、同步啟動指令)、速度變化指令以及停止指令(直接停止指令、同步停止指令、急停指令)。
3.3控制指令
PCL6143提供各種控制指令,實現(xiàn)PCL6143的軟件復(fù)位、計數(shù)器復(fù)位、計數(shù)器偏差清零輸出控制、寄存器預(yù)置控制、位置啟動輸入、計數(shù)器鎖存輸入、寄存器控制、通用輸出端口控制及通用輸出位控制。
[b]4應(yīng)用電路
4.1運動控制卡的硬件設(shè)計[/b]
4軸運動控制卡是以PCL6143為核心,選用PC104總線作為運動控制卡與PC機之間的通訊方式。PCL6143的16位數(shù)據(jù)通過74LS245與PC104總線連接,這樣便于實現(xiàn)與各種PC104總線標(biāo)準(zhǔn)的主控制板連接。為提高系統(tǒng)的可靠性、集成化與柔性化,PC104總線的地址譯碼、數(shù)據(jù)指令的讀寫、中斷信號以及復(fù)位信號都可利用CPLD可編程邏輯器件實現(xiàn)。PC機經(jīng)過地址譯碼選中PCL6143片選信號,通過讀寫信號和數(shù)據(jù)總線,設(shè)置PCL6143內(nèi)部寄存器,以實現(xiàn)各種運動控制。4軸運動控制卡的硬件框圖如圖2所示。
PCL6143控制每個軸的方向與脈沖輸出信號、通用I/O端口輸出信號、正負(fù)方向限位信號、減速停止信號、原點信號、伺服報警信號、編碼器輸入信號及外部手輪正負(fù)方向信號等。
PCL6143的方向脈沖輸出信號分為正負(fù)脈沖方式和脈沖方向方式,方向脈沖輸出信號經(jīng)高速光電耦合器進行信號隔離,最后通過AM26LS31輸出差分信號來控制外部電機。通用I/O端口信號由內(nèi)部寄存器進行輸人/輸出設(shè)置,作為輸出使能控制電機驅(qū)動器,實現(xiàn)計數(shù)器誤差清除、報警復(fù)位等功能,或作為加減速、位置計數(shù)器和比較寄存器狀態(tài)設(shè)置。正負(fù)方向限位信號、減速停止信號、原點信號和伺服報警信號通過光電耦合器與內(nèi)部信號隔離,實現(xiàn)系統(tǒng)保護、電機驅(qū)動停止、系統(tǒng)原點確認(rèn)以及電機驅(qū)動異常的控制。A/B相和Z相編碼器信號通過高速光電耦合器與內(nèi)部線路隔離;編碼器A/B相檢測電機的實際位置,并通過位置計數(shù)器增減計數(shù);在原點返回操作模式中,Z相編碼器信號用于輸入一個標(biāo)志信號,該信號還能改善原點返回操作精度。外部手輪正負(fù)方向信號通過光電耦合器與內(nèi)部電路隔離,該信號還可通過手動脈沖或外部開關(guān)信號產(chǎn)生外部脈沖信號。急停輸入信號通過光電耦合器與內(nèi)部電路隔離,有效時,各個軸立即停止工作。
4.2功能函數(shù)庫的編寫
PCL6143具有靈活強大的控制模塊,按照一定的序列操作內(nèi)部寄存器,實現(xiàn)各種復(fù)雜的運動控制功能。為方便用戶二次開發(fā),需將一系列內(nèi)部寄存器的操作序列封裝成各個函數(shù),這些函數(shù)就構(gòu)成了運動控制卡的功能函數(shù)庫。用戶通過調(diào)用功能函數(shù)庫中相應(yīng)的函數(shù)就可對PCL6143內(nèi)部寄存器進行讀寫操作。
功能函數(shù)庫編寫好后,用Visual C++編程工具編寫上層應(yīng)用軟件,與功能函數(shù)庫鏈接,開發(fā)獨立的控制系統(tǒng)。運動控制卡的操作流程如圖3所示。
由此可見,功能函數(shù)庫在控制系統(tǒng)中非常重要。作者采用C語言編寫4軸運動控制卡的功能函數(shù)庫,按功能可分為:
初始化函數(shù):定義PCL6143輸入/輸出引腳、相關(guān)寄存器地址、常用變量和數(shù)據(jù)結(jié)構(gòu),設(shè)置控制軸數(shù)和操作模式。
運動驅(qū)動函數(shù):包含獨立運動函數(shù)和插補驅(qū)動函數(shù)。獨立運動函數(shù)用于實現(xiàn)各個獨立軸的連續(xù)控制、越限控制和回原點等操作;插補驅(qū)動函數(shù)用于實現(xiàn)4軸中的任意2軸、3軸或4軸的直線插補和圓弧插補;
I/O端口操作函數(shù):包含輸入信號的輸入函數(shù)、輸出信號的輸出函數(shù)以及反饋位置信號的輸入函數(shù),用以獲取邏輯位置、輸入/輸出點狀態(tài)的控制。 加/減速控制函數(shù):包括線性加減速函數(shù)和S曲線加減速函數(shù)。
中斷信號驅(qū)動函數(shù):管理內(nèi)部中斷寄存器以及控制外部異常情況。
其他輔助函數(shù):包括位置、狀態(tài)的查詢與設(shè)置等相關(guān)函數(shù)。
需要注意的是,不同的操作模式和運動控制,其寄存器的讀寫參數(shù)也不相同,具體操作步驟也有相應(yīng)要求。
5 結(jié)束語
詳細(xì)介紹了PCL6143的內(nèi)部結(jié)構(gòu)、主要寄存器以及相關(guān)指令系統(tǒng),結(jié)合實際應(yīng)用,設(shè)計一款4軸運動控制卡,并給出了相關(guān)運動庫函數(shù),具有實際的應(yīng)用價值和市場推廣前景。