可編程邏輯控制器的電子凸輪控制系統(tǒng)及方法
【專利摘要】公開了一種可編程邏輯控制器的電子凸輪控制系統(tǒng),包括編碼器和控制器,控制器包括FPGA信號處理模塊和輸出電路,F(xiàn)PGA信號處理模塊包括:編碼器位置解碼單元,將編碼器發(fā)送的經(jīng)編碼后的位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;CPU單元,接收機(jī)械軸的當(dāng)前轉(zhuǎn)速,并基于機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的ON/OFF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的ON/OFF參數(shù);信號比對單元,將所述CPU單元輸出的實際動作的ON/OFF參數(shù)和編碼器位置解碼單元輸出的機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,若所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的ON/OFF參數(shù)范圍內(nèi)則向?qū)?yīng)的動作元件發(fā)送開關(guān)信號以控制動作元件動作。
【專利說明】可編程邏輯控制器的電子凸輪控制系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自動化領(lǐng)域,尤其涉及一種可編程邏輯控制器的電子凸輪控制系統(tǒng)及方法。
【背景技術(shù)】
[0002]以往采用機(jī)械凸輪,用傳感器檢測凸輪的位置,從而輸出信號。這種方法機(jī)械凸輪調(diào)整困難,不能在設(shè)備運行時修改凸輪位置。傳感器信號會有延遲并且不能進(jìn)行高速時機(jī)械延遲補(bǔ)償。而且機(jī)械凸輪在設(shè)計完成后,其從動件的動作即被確定,若要改變動作規(guī)律必須重新設(shè)計安裝凸輪。此外,機(jī)械凸輪的數(shù)量也受到機(jī)器尺寸及復(fù)雜程度的限制。如果要求在進(jìn)行多工位機(jī)械傳動的同時,還要在相應(yīng)的位置驅(qū)動執(zhí)行元件產(chǎn)生動作并進(jìn)行監(jiān)控,比如我們要求機(jī)器在高速運轉(zhuǎn)過程中,每當(dāng)它轉(zhuǎn)過某一角度時,既要使相應(yīng)的機(jī)械結(jié)構(gòu)要按預(yù)定的運動規(guī)律產(chǎn)生動作,同時還要驅(qū)動若干氣缸動作,而且在從這一角度開始的某個區(qū)間內(nèi)還要檢測某個光電開關(guān)的信號是否存在,這樣的功能單靠機(jī)械凸輪來實現(xiàn)將非常困難甚至根本無法實現(xiàn)。而電子凸輪,則可以輕松完成以上功能,機(jī)械結(jié)構(gòu)在運行時,由電子凸輪控制氣缸電磁閥動作或輸出信號給PLC。所謂電子凸輪是指通過位置編碼器獲得當(dāng)前驅(qū)動軸的角度或位移,然后與凸輪程序中的凸輪軌跡起始點和終點的設(shè)定值進(jìn)行實時比較,從而確定凸輪軌跡的狀態(tài)并產(chǎn)生對應(yīng)的輸出信號。
[0003]日前許多公司都生產(chǎn)有專用的電子凸輪控制器作為PLC的一種可靈活配置的智能模塊,但是,采用PLC讀取絕對值編碼器的位置,運算比對后輸出信號,此種方法需要占用較多PLC資源,由于PLC的輸入點信號延遲,PLC掃描周期影響(特別是采用高分辨率編碼器時),將會造成很大的信號遲滯,不適用于高速生產(chǎn)設(shè)備。
[0004]另外,目前還有一些高端大型運動控制有內(nèi)置凸輪控制功能,此方法有很大的局限性,必須成套使用伺服PLC和觸摸屏應(yīng)用,成本高,不易使用。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種可編程邏輯控制器的電子凸輪控制系統(tǒng),成本低、精度高,而且能夠有效消除機(jī)械和電氣動作元件的延遲,保持設(shè)備在不同運行速度下動作元件動作的時機(jī)正確無誤。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供了一種可編程邏輯控制器的電子凸輪控制系統(tǒng),包括編碼器和控制器,所述編碼器用于獲取機(jī)械軸的位置信息,所述控制器包括FPGA信號處理模塊和輸出電路,其中,所述FPGA信號處理模塊包括:
編碼器位置解碼單元,與所述編碼器連接,用于將所述編碼器發(fā)送的經(jīng)編碼后的位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;
(PU單元,用于接收所述機(jī)械軸的當(dāng)前轉(zhuǎn)速,并基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的0N/0FF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的0N/0FF參數(shù);
信號比對單元,用于將所述CPU單元輸出的實際動作的0N/0FF參數(shù)和所述編碼器位置解碼單元輸出的機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,若所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的ON/OFF參數(shù)范圍內(nèi),則通過所述輸出電路向?qū)?yīng)的動作元件發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件動作。
[0007]作為上述方案的改進(jìn),所述進(jìn)角補(bǔ)償參數(shù)包括進(jìn)角補(bǔ)償量和進(jìn)角補(bǔ)償設(shè)定速度,所述CPU單元根據(jù)以下步驟計算出實際動作的0N/0FF參數(shù):
(1)首先通過用戶設(shè)定的進(jìn)角補(bǔ)償參數(shù)計算出進(jìn)角補(bǔ)償系數(shù),其中:進(jìn)角補(bǔ)償系數(shù)=進(jìn)角補(bǔ)償量/進(jìn)角補(bǔ)償設(shè)定速度;
(2)通過所述進(jìn)角補(bǔ)償系數(shù)和所述機(jī)械軸的當(dāng)前轉(zhuǎn)速計算出補(bǔ)償值,其中:補(bǔ)償值=機(jī)械軸的當(dāng)前轉(zhuǎn)速X進(jìn)角補(bǔ)償系數(shù);
(3)通過用戶設(shè)定的0N/0FF參數(shù)和所述補(bǔ)償值計算出際動作的0N/0FF參數(shù),其中:實際動作的0N/0FF參數(shù)=用戶設(shè)定的0N/0FF參數(shù)-補(bǔ)償值。
[0008]作為上述方案的改進(jìn),所述位置數(shù)據(jù)為角度數(shù)據(jù)或位移數(shù)據(jù)。
[0009]作為上述方案的改進(jìn),所述編碼器為采用1024/2048線ABZ三相的增量型編碼器,將檢測到的機(jī)械軸的位置信息編碼成位置數(shù)據(jù)信號;所述編碼器位置解碼單元通過以下步驟獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù)和計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速:
(1)通過編碼器的z相原點脈沖的上升沿設(shè)為原點b;在A相信號的跳變沿,同時檢測B相信號的電平來識別角度;
(2)在A相信號的上升沿,如果B相為低電平則識別為編碼器正轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器加1 ;在A相信號的上升沿,如果B相信號為高電平則識別編碼器反轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器減1 ;
其中,位置寄存器最終存儲的數(shù)據(jù)即為機(jī)械軸的當(dāng)前位置數(shù)據(jù);
(3)根據(jù)所述編碼器分辨率m和單位時間t內(nèi)的角度變化量Δη計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速V:
V= Δ n/m/1,其中,t=166.6667ms。
[0010]作為上述方案的改進(jìn),所述控制器還包括分別于所述FPGA信號處理模塊連接的操作面板、非易失性數(shù)據(jù)存儲模塊和供電監(jiān)控模塊;所述操作面板供用戶設(shè)定0N/0FF參數(shù)和進(jìn)角補(bǔ)償參數(shù),所述非易失性數(shù)據(jù)存儲模塊用于存儲用戶設(shè)定的0N/0FF參數(shù)和進(jìn)角補(bǔ)償參數(shù),所述供電監(jiān)控模塊用于給各個模塊供電和監(jiān)控各模塊的運行狀態(tài)。
[0011]作為上述方案的改進(jìn),所述FPGA信號處理模塊還包括非易失性數(shù)據(jù)交換單元、夕卜置和內(nèi)置RAM/ ROM單元和外圍電路通訊單元,所述非易失性數(shù)據(jù)交換單元用于實現(xiàn)所述CPU單元與CPU和所述非易失性數(shù)據(jù)存儲模塊的非易失性數(shù)據(jù)的協(xié)議交換、數(shù)據(jù)的讀取和存儲;所述外圍電路通訊單元用于實現(xiàn)所述CPU單元與外圍電路數(shù)據(jù)的協(xié)議轉(zhuǎn)換和數(shù)據(jù)緩存;所述外置和內(nèi)置RAM/ ROM單元用于實現(xiàn)所述CPU單眼的程序存儲和程序運行內(nèi)存。
[0012]作為上述方案的改進(jìn),所述輸出電路米用高速光電f禹合器進(jìn)行開關(guān)信號的輸出。
[0013]本發(fā)明相應(yīng)的提供了一種可編程邏輯控制器的電子凸輪控制方法,包括步驟:
51、獲取機(jī)械軸當(dāng)前的位置信息,并將獲得的位置信息編碼成位置數(shù)據(jù)信號;
52、將經(jīng)編碼后的所述位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;
53、基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的0N/0FF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的ON/OFF參數(shù);
S4、將所述實際動作的0N/0FF參數(shù)和所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,若所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的ΟΝ/OFF參數(shù)范圍內(nèi),則向?qū)?yīng)的動作元件發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件動作。
[0014]作為上述方案的改進(jìn),在所述步驟S3中,所述進(jìn)角補(bǔ)償參數(shù)包括進(jìn)角補(bǔ)償量和進(jìn)角補(bǔ)償設(shè)定速度,所述步驟S3具體包括步驟:
531、通過用戶設(shè)定的進(jìn)角補(bǔ)償參數(shù)計算出進(jìn)角補(bǔ)償系數(shù),其中:進(jìn)角補(bǔ)償系數(shù)=進(jìn)角補(bǔ)償量/進(jìn)角補(bǔ)償設(shè)定速度;
532、通過所述進(jìn)角補(bǔ)償系數(shù)和所述機(jī)械軸的當(dāng)前轉(zhuǎn)速計算出補(bǔ)償值,其中:補(bǔ)償值=機(jī)械軸的當(dāng)前轉(zhuǎn)速X進(jìn)角補(bǔ)償系數(shù);
533、通過用戶設(shè)定的0N/0FF參數(shù)和所述補(bǔ)償值計算出實際動作的0N/0FF參數(shù),其中:實際動作的0N/0FF參數(shù)=用戶設(shè)定的0N/0FF參數(shù)-補(bǔ)償值。
[0015]作為上述方案的改進(jìn),在所述步驟S1中,采用1024/2048線ABZ三相的增量型編碼器將檢測到的機(jī)械軸的位置信息編碼成位置數(shù)據(jù)信號;所述步驟S2具體包括步驟:
521、通過編碼器的z相原點脈沖的上升沿設(shè)為原點b;在A相信號的跳變沿,同時檢測B相信號的電平來識別角度;
522、在A相信號的上升沿,如果B相為低電平則識別為編碼器正轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器加1 ;在A相信號的上升沿,如果B相信號為高電平則識別編碼器反轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器減1 ;
其中,位置寄存器最終存儲的數(shù)據(jù)即為機(jī)械軸的當(dāng)前位置數(shù)據(jù);
523、根據(jù)所述編碼器分辨率m和單位時間t內(nèi)的角度變化量Δη計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速V:
V= Δ n/m/1,其中,t=166.6667ms。
[0016]實施本發(fā)明實施例,具有如下有益效果:采用了 FPGA信號處理模塊來將經(jīng)編碼后的位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;并基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的0N/0FF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的0N/OFF參數(shù);并且將所述實際動作的0N/0FF參數(shù)和所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,僅有所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的0N/0FF參數(shù)范圍內(nèi),才向?qū)?yīng)的動作元件發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件動作,從而能夠有效消除機(jī)械和電氣動作元件的延遲,保持設(shè)備在不同運行速度下動作元件動作的時機(jī)正確無誤。另外,1.采用ABZ三相高分辨率編碼器(可選用1024/2048分辨率)檢測機(jī)械軸的位置。使用高速光電耦合器進(jìn)行開關(guān)信號的輸出保證高速響應(yīng)能力。在本發(fā)明中各個信號的比對和高速補(bǔ)償運算并行執(zhí)行,運算32個輸出點只需要500ns,大大提高系統(tǒng)精度和信號的響應(yīng)能力。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0018]圖1是本發(fā)明實施例提供的一種可編程邏輯控制器的電子凸輪控制系統(tǒng)的結(jié)構(gòu)框圖;
圖2是圖1所示的可編程邏輯控制器的電子凸輪控制系統(tǒng)的FPGA信號處理模塊的結(jié)構(gòu)框圖;
圖3是圖1所示的編碼器的信號波形圖;
圖4是2所示的FPGA信號處理模塊進(jìn)行進(jìn)角補(bǔ)償后的示意圖;
圖5是本發(fā)明實施例提供的一種可編程邏輯控制器的電子凸輪控制方法的流程圖;
圖6是圖5所示的步驟S2的具體流程圖;
圖7是圖5所示的步驟S3的具體流程圖。
【具體實施方式】
[0019]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0020]本發(fā)明實施例提供了一種可編程邏輯控制器的電子凸輪控制系統(tǒng),如圖1所示,包括編碼器1、控制器2和動作元件3,所述編碼器用于獲取機(jī)械軸的位置信息,所述控制器2根據(jù)編碼器1發(fā)送的信號而進(jìn)行處理,從而控制所述動作元件3動作。
[0021]在本實施例中,所述編碼器為采用1024/2048線ABZ三相的增量型編碼器,將檢測到的機(jī)械軸的位置信息編碼成位置數(shù)據(jù)信號,信號波形如圖3所示。其中,所述位置數(shù)據(jù)可為角度數(shù)據(jù)或位移數(shù)據(jù)。而在本實施例中,為了方便描述,統(tǒng)一利用角度數(shù)據(jù)進(jìn)行相應(yīng)描述。
[0022]在本實施例中,所述控制器2包括FPGA信號處理模塊21、輸出電路22、操作面板23、非易失性數(shù)據(jù)存儲模塊24和供電監(jiān)控模塊25,其中,所述供電監(jiān)控模塊25同時連接所述輸出電路22和操作面板23,用于給各個模塊供電和監(jiān)控各模塊的運行狀態(tài)。所述操作面板23供用戶設(shè)定0N/0FF參數(shù)和進(jìn)角補(bǔ)償參數(shù),所述非易失性數(shù)據(jù)存儲模塊24用于存儲用戶設(shè)定的0N/0FF參數(shù)和進(jìn)角補(bǔ)償參數(shù)。所述FPGA信號處理模塊21用于將所述編碼器1發(fā)送的位置數(shù)據(jù)信號進(jìn)行處理,并與用戶的設(shè)定參數(shù)進(jìn)行對比后輸出,從而控制動作元件動作。
具體的,參考圖2,本實施例的FPGA信號處理模塊21包括編碼器位置解碼單元211、CPU單元212、信號比對單元213、非易失性數(shù)據(jù)交換單元214、外置和內(nèi)置RAM/ ROM單元215和外圍電路通訊單元216,其中:
編碼器位置解碼單元211,與所述編碼器1連接,用于將所述編碼器1發(fā)送的經(jīng)編碼后的位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速。
[0023]具體的,當(dāng)編碼器位置解碼單元211接收到所述編碼器1發(fā)送的經(jīng)編碼后的位置數(shù)據(jù)信號(角度信號)時,首先進(jìn)行信號的消抖和位置解碼,然后通過以下步驟獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù)和計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速:
(1)通過編碼器的z相原點脈沖的上升沿設(shè)為原點;在A相信號的跳變沿,同時檢測B相信號的電平來識別角度;(2)在A相信號的上升沿,如果B相為低電平則識別為編碼器正轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器加1 ;在A相信號的上升沿,如果B相信號為高電平則識別編碼器反轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器減1 ;
其中,位置寄存器最終存儲的數(shù)據(jù)即為機(jī)械軸的當(dāng)前位置數(shù)據(jù);
(3)根據(jù)所述編碼器分辨率m和單位時間t內(nèi)的角度變化量Δη計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速V:
V= Δ n/m/1,其中,t=166.6667ms。
[0024]最后,編碼器位置解碼單元211將位置寄存器最終存儲的數(shù)據(jù)和機(jī)械軸的當(dāng)前轉(zhuǎn)速V分別發(fā)送給CPU單元212、信號比對單元213。
[0025]CPU單元212,用于接收所述機(jī)械軸的當(dāng)前轉(zhuǎn)速,并基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的0N/0FF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的0N/0FF參數(shù)。
[0026]具體的,所述進(jìn)角補(bǔ)償參數(shù)包括進(jìn)角補(bǔ)償量和進(jìn)角補(bǔ)償設(shè)定速度,所述CPU單元根據(jù)以下步驟計算出實際動作的0N/0FF參數(shù):
(1)首先通過用戶設(shè)定的進(jìn)角補(bǔ)償參數(shù)計算出進(jìn)角補(bǔ)償系數(shù)K,其中:進(jìn)角補(bǔ)償系數(shù)K=進(jìn)角補(bǔ)償量r/進(jìn)角補(bǔ)償設(shè)定速度VI;
(2)通過所述進(jìn)角補(bǔ)償系數(shù)和所述機(jī)械軸的當(dāng)前轉(zhuǎn)速計算出補(bǔ)償值(本實施例優(yōu)選為補(bǔ)償角度R1),其中:補(bǔ)償角度Rl=機(jī)械軸的當(dāng)前轉(zhuǎn)速V1X進(jìn)角補(bǔ)償系數(shù)K;
(3)通過用戶設(shè)定的0N/0FF參數(shù)和所述補(bǔ)償值計算出際動作的0N/0FF參數(shù),其中:實際動作的0N/0FF參數(shù)(角度)=用戶設(shè)定的0N/0FF參數(shù)(角度)-補(bǔ)償角度R1。
[0027]例如,結(jié)合圖4,通過一個具體實施例來說明CPU單元212如何計算出實際動作的0N/0FF角度,例如:
輸出區(qū)設(shè)定:30度0N / 80度OFF (即用戶設(shè)定的0N/0FF角度)
進(jìn)角設(shè)定:進(jìn)角補(bǔ)償量30度(r) /進(jìn)角補(bǔ)償設(shè)定轉(zhuǎn)速300rpm(Vl)
如圖4所示,設(shè)定300rpm進(jìn)角30度時,運行速度在300rpm時0N/0FF的動作提前了 30度,此方法能消除機(jī)械和電氣動作元件的延遲,保持設(shè)備在不同運行速度下,電磁閥,氣缸動作的時機(jī)正確無誤。
[0028]信號比對單元213,用于將所述CPU單元212輸出的實際動作的0N/0FF參數(shù)和所述編碼器位置解碼單元211輸出的機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,若所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的0N/0FF參數(shù)范圍內(nèi),則通過所述輸出電路22向?qū)?yīng)的動作元件3發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件3動作。
[0029]非易失性數(shù)據(jù)交換單元214,用于實現(xiàn)所述CPU單元和所述非易失性數(shù)據(jù)存儲模塊24的非易失性數(shù)據(jù)的協(xié)議交換、數(shù)據(jù)的讀取和存儲。
[0030]外圍電路通訊單元215,用于實現(xiàn)所述CPU單元與外圍電路數(shù)據(jù)的協(xié)議轉(zhuǎn)換和數(shù)
據(jù)緩存。
[0031]外置和內(nèi)置RAM/ ROM單元216,用于實現(xiàn)所述CPU單元211的程序存儲和程序運行內(nèi)存。
[0032]本發(fā)明實施例采用了 FPGA信號處理模塊來將經(jīng)編碼后的位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;并基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的0N/0FF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的0N/0FF參數(shù);并且將所述實際動作的ON/OFF參數(shù)和所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,僅有所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的0N/0FF參數(shù)范圍內(nèi),才向?qū)?yīng)的動作元件發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件動作,從而能夠有效消除機(jī)械和電氣動作元件的延遲,保持設(shè)備在不同運行速度下動作元件動作的時機(jī)正確無誤。另外,1.采用ABZ三相高分辨率編碼器(可選用1024/2048分辨率)檢測機(jī)械軸的位置。使用高速光電耦合器進(jìn)行開關(guān)信號的輸出保證高速響應(yīng)能力。在本發(fā)明中各個信號的比對和高速補(bǔ)償運算并行執(zhí)行,運算32個輸出點只需要500ns,大大提高系統(tǒng)精度和信號的響應(yīng)能力。具體的,參考表1,表1顯示了本發(fā)明的控制系統(tǒng)對比現(xiàn)有技術(shù)的兩種處理系統(tǒng)的優(yōu)勢。
【權(quán)利要求】
1.一種可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,包括編碼器和控制器,所述編碼器用于獲取機(jī)械軸的位置信息,所述控制器包括FPGA信號處理模塊和輸出電路,其中,所述FPGA信號處理模塊包括:編碼器位置解碼單元,與所述編碼器連接,用于將所述編碼器發(fā)送的經(jīng)編碼后的位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;(PU單元,用于接收所述機(jī)械軸的當(dāng)前轉(zhuǎn)速,并基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的ON/OFF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的ON/OFF參數(shù);信號比對單元,用于將所述CPU單元輸出的實際動作的ON/OFF參數(shù)和所述編碼器位置解碼單元輸出的機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,若所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的ON/OFF參數(shù)范圍內(nèi),則通過所述輸出電路向?qū)?yīng)的動作元件發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件動作。
2.如權(quán)利要求1所述的可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,所述進(jìn)角補(bǔ)償參數(shù)包括進(jìn)角補(bǔ)償量和進(jìn)角補(bǔ)償設(shè)定速度,所述CPU單元根據(jù)以下步驟計算出實際動作的ON/OFF參數(shù):(1)首先通過用戶設(shè)定的進(jìn)角補(bǔ)償參數(shù)計算出進(jìn)角補(bǔ)償系數(shù),其中:進(jìn)角補(bǔ)償系數(shù)=進(jìn)角補(bǔ)償量/進(jìn)角補(bǔ)償設(shè)定速度;(2)通過所述進(jìn)角補(bǔ)償系數(shù)和所述機(jī)械軸的當(dāng)前轉(zhuǎn)速計算出補(bǔ)償值,其中:補(bǔ)償值=機(jī)械軸的當(dāng)前轉(zhuǎn)速X進(jìn)角補(bǔ)償系數(shù);(3)通過用戶設(shè)定的ON/OFF參數(shù)和所述補(bǔ)償值計算出際動作的ON/OFF參數(shù),其中:實際動作的ΟΝ/OFF參數(shù)=用戶設(shè)定的ON/OFF參數(shù)-補(bǔ)償值。
3.如權(quán)利要求1或2 所述的可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,所述位置數(shù)據(jù)為角度數(shù)據(jù)或位移數(shù)據(jù)。
4.如權(quán)利要求1所示的可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,所述編碼器為采用1024/2048線ABZ三相的增量型編碼器,將檢測到的機(jī)械軸的位置信息編碼成位置數(shù)據(jù)信號;所述編碼器位置解碼單元通過以下步驟獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù)和計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速:(1)通過編碼器的z相原點脈沖的上升沿設(shè)為原點;在A相信號的跳變沿,同時檢測B相信號的電平來識別角度;(2)在A相信號的上升沿,如果B相為低電平則識別為編碼器正轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器加1 ;在A相信號的上升沿,如果B相信號為高電平則識別編碼器反轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器減1 ;其中,位置寄存器最終存儲的數(shù)據(jù)即為機(jī)械軸的當(dāng)前位置數(shù)據(jù);(3)根據(jù)所述編碼器分辨率m和單位時間t內(nèi)的角度變化量Δη計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速V:V= Δ n/m/1,其中,t=166.6667ms。
5.如權(quán)利要求1所述的可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,所述控制器還包括分別于所述FPGA信號處理模塊連接的操作面板、非易失性數(shù)據(jù)存儲模塊和供電監(jiān)控模塊;所述操作面板供用戶設(shè)定ON/OFF參數(shù)和進(jìn)角補(bǔ)償參數(shù),所述非易失性數(shù)據(jù)存儲模塊用于存儲用戶設(shè)定的ΟΝ/OFF參數(shù)和進(jìn)角補(bǔ)償參數(shù),所述供電監(jiān)控模塊用于給各個模塊供電和監(jiān)控各模塊的運行狀態(tài)。
6.如權(quán)利要求5所示的可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,所述FPGA信號處理模塊還包括非易失性數(shù)據(jù)交換單元、外置和內(nèi)置RAM/ ROM單元和外圍電路通訊單元,所述非易失性數(shù)據(jù)交換單元用于實現(xiàn)所述CPU單元和所述非易失性數(shù)據(jù)存儲模塊的非易失性數(shù)據(jù)的協(xié)議交換、數(shù)據(jù)的讀取和存儲;所述外圍電路通訊單元用于實現(xiàn)所述CPU單元與外圍電路數(shù)據(jù)的協(xié)議轉(zhuǎn)換和數(shù)據(jù)緩存;所述外置和內(nèi)置RAM/ ROM單元用于實現(xiàn)所述CPU單元的程序存儲和程序運行內(nèi)存。
7.如權(quán)利要求1所述的可編程邏輯控制器的電子凸輪控制系統(tǒng),其特征在于,所述輸出電路采用高速光電耦合器進(jìn)行開關(guān)信號的輸出。
8.一種可編程邏輯控制器的電子凸輪控制方法,其特征在于,包括步驟:S1、獲取機(jī)械軸當(dāng)前的位置信息,并將獲得的位置信息編碼成位置數(shù)據(jù)信號;S2、將經(jīng)編碼后的所述位置數(shù)據(jù)信號進(jìn)行解碼,獲得機(jī)械軸的當(dāng)前位置數(shù)據(jù),并計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速;S3、基于所述機(jī)械軸的當(dāng)前轉(zhuǎn)速和用戶設(shè)定的0N/0FF參數(shù)、進(jìn)角補(bǔ)償參數(shù)計算出實際動作的0N/0FF參數(shù);S4、將所述實際動作的0N/0FF參數(shù)和所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)進(jìn)行對比,若所述機(jī)械軸的當(dāng)前位置數(shù)據(jù)在所述實際動作的ΟΝ/OFF參數(shù)范圍內(nèi),則向?qū)?yīng)的動作元件發(fā)送開關(guān)信號,從而控制對應(yīng)的動作元件動作。
9.如權(quán)利要求8所述的可編程邏輯控制器的電子凸輪控制方法,其特征在于,在所述步驟S3中,所述進(jìn)角補(bǔ)償參數(shù)包括進(jìn)角補(bǔ)償量和進(jìn)角補(bǔ)償設(shè)定速度,所述步驟S3具體包括步驟:S31、通過用戶設(shè)定的進(jìn)角補(bǔ)償參數(shù)計算出進(jìn)角補(bǔ)償系數(shù),其中:進(jìn)角補(bǔ)償系數(shù)=進(jìn)角補(bǔ)償量/進(jìn)角補(bǔ)償設(shè)定速度;S32、通過所述進(jìn)角補(bǔ)償系數(shù)和所述機(jī)械軸的當(dāng)前轉(zhuǎn)速計算出補(bǔ)償值,其中:補(bǔ)償值=機(jī)械軸的當(dāng)前轉(zhuǎn)速X進(jìn)角補(bǔ)償系數(shù);S33、通過用戶設(shè)定的0N/0FF參數(shù)和所述補(bǔ)償值計算出實際動作的0N/0FF參數(shù),其中:實際動作的ΟΝ/OFF參數(shù)=用戶設(shè)定的0N/0FF參數(shù)-補(bǔ)償值。
10.如權(quán)利要求8所述的可編程邏輯控制器的電子凸輪控制方法,其特征在于,在所述步驟S1中,采用1024/2048線ABZ三相的增量型編碼器將檢測到的機(jī)械軸的位置信息編碼成位置數(shù)據(jù)信號;所述步驟S2具體包括步驟:S21、通過編碼器的z相原點脈沖的上升沿設(shè)為原點;在A相信號的跳變沿,同時檢測B相信號的電平來識別角度;S22、在A相信號的上升沿,如果B相為低電平則識別為編碼器正轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器加1 ;在A相信號的上升沿,如果B相信號為高電平則識別編碼器反轉(zhuǎn)1分度,同時給存儲位置數(shù)據(jù)的位置寄存器減1 ;其中,位置寄存器最終存儲的數(shù)據(jù)即為機(jī)械軸的當(dāng)前位置數(shù)據(jù);S23、根據(jù)所述編碼器分辨率m和單位時間t內(nèi)的角度變化量Δη計算出機(jī)械軸的當(dāng)前轉(zhuǎn)速V:V= Δn/m/1,其中, t=166.6667ms。
【文檔編號】G05B19/06GK103676769SQ201310707182
【公開日】2014年3月26日 申請日期:2013年12月20日 優(yōu)先權(quán)日:2013年12月20日
【發(fā)明者】林穎宗, 趙輝球 申請人:廣州市興世機(jī)械制造有限公司