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