基于CPLD的開放式四軸運動控制器的設計
(5)模擬量輸入電路:對于一些控制場合,需要檢測或控制外部狀態量的變化,運動控制器也設計了相應的單端或差動式模擬量反饋輸入通道。系統采用MAXIM公司的8通道、12位轉換精度、150kHz采樣頻率的A/D轉換器MAX197。各模擬量通道可以獨立編程選擇輸入范圍:±10V、±5V、0~10V、0~5V,A/D轉換器的轉換基準采用內部基準。
(6)可編程定時器:由于在開放式運動控制系統中,插被運算和伺服控制都由PC機完成,這兩個控制任務通常不在一個任務循環中處理。一般而言,插補運算的周期要比伺服控制的周期長,因此兩個任務需要占用不同的系統資源。由于插補運算通常占用PC機的定時中斷資源,而伺服控制也是一個需要精確定時的任務,因此在EPF6016內部設計了可編程16位定時器。該定時器可采用不同的時鐘源,定時范圍為0~300ms,最小分辨率為70ns,定時器產生的溢出動作可以向PC機申請中斷。
(7)同步工作電路:在運動控制系統中,各控制軸同步運行是一個很重要的要求,因此在EPF6016內部設計了同步控制電路的和專門的控制字,支持多塊運動控制器控制輸出同步刷新、反饋計數值同步讀取等操作。
(8)硬件看門狗電路:在運動控制器中采用了DALLAS公司的看門狗復位及電壓監控芯片DS1232,以監測系統的軟硬件運行情況。當系統軟件運行死機的時候,看門狗電路產生信號復位系統,保證整個系統的可靠性。看門狗定時時間可以編程設置為300ms、600ms、1.2s。
從硬件結構的組成特點可以看出,系統的組成核心是其有可重新配置特點的CPLD
EPF6016,它實現了幾乎所有外圍電路管理功能,而其它的電路都屬于標準的輔助電路。因此系統在結構上具有典型的開放性,這對實現軟件的開放是一個很好的支持。本文引用地址:http://www.104case.com/article/191937.htm
2、運動控制器軟件設計
運動控制器的軟件采用Borland
C++語言編寫,可以按照庫函數的方式調用。根據實時運動控制的特點硬件資源的結構,函數庫分為兩類:
(1)控制運動控制器硬件操作的函數庫。包括針對運動控制器硬件基本操作的函數,通過調用這些函數可以充分利用硬件資源,實現定制的應用。運動控制器上的各個硬件功能的存取操作是通過一組讀寫控制命令實現的,每一個控制命令占用一個PC機I/O空間地址,對每一個地址分別進行讀或寫操作將產生不同的功能。硬件操作函數庫按照C++語言類的方式構造,每個命令都是以運動控制器硬件操作類的公有成員函數形式存在。這些命令主要實現以下功能:
①控制光電編碼器脈沖計數器,讀取或清除計數值;
②設置運動控制器的工作方式以及配置系統的各個硬件資源;
③開關量輸入輸出操作,實現包括通用I/O和專用I/O的查詢和設置、控制器硬件資源工作狀態查詢等功能;
④模擬量控制命令,用于控制D/A轉換器和A/D轉換器實現模擬量輸出和模擬信號采集等。
評論