時間:2021-01-29 10:51:34來源:上海安浦鳴志自動化設備有限公司
Q編程介紹
SCL指令的使用已經(jīng)有很多年的歷史。Q程序是建立在SCL指令基礎之上的一個新的平臺,擴展了SCL命令的使用,允許用戶創(chuàng)建與存儲SCL指令。這些程序可以保存在驅動器的非易失性存儲器中,驅動可以脫離主機獨立運行這些程序。Q程序為系統(tǒng)設計提供了高度的靈活性和強大的功能。主要特點如下:
? 運動控制(例如FL、FP、SH等)
? 執(zhí)行駐留程序
? 多任務處理(請參閱MT指令)
? 條件判斷(例如OI、TI等指令)
? 數(shù)學運算(例如R+、R-、R*、R/、R|、R&等指令)
? 寄存器操作(例如RX、RM等指令)
1個Q程序支持多達12個程序段,每個程序段最多可以編寫62條指令。
參考例程
以下內容給出了Q編程的參考例程,并對這些指令逐條進行了解釋,Q編程中所有指令均為緩存指令(Buffered Commands)
點到點相對運動(Feed to Length)
FL(Feed to Length)指令用來完成點到點相對位置運動,當執(zhí)行該指令時,電機將按照設定的加速度(AC),減速度(DE)及運行速度(VE),完成一段固定的相對位置距離(DI)。電機轉動的方向由DI指令的正負極性決定。比如,DI32000 代表電機順時針轉動32000步(或微步),而DI-32000代表電機逆時針轉動32000步(或微步)。上圖中列出了一個參考例程,Q程序通過WI指令首先等待輸入口3接收一個下降沿觸發(fā)信號,如果條件滿足,電機將按照20 轉/秒的轉速,轉動4圈;如果條件不滿足,程序將一直停留在WI指令處等待輸入口3接收正確的觸發(fā)信號為止。
點到點絕對運動(Feed to Position)
FP(Feed to Position)指令用來完成點到點絕對位置運動,當執(zhí)行該指令時,電機將按照設定的加速度(AC),減速度(DE)及運行速度(VE),完成一段絕對位置距離(DI)。DI指令代表目標絕對位置,電機轉動方向不由其正負極性決定,而由電機當前絕對位置與目標絕對位置來決定。上圖中列出了一個參考例程,Q程序通過WI指令首先等待輸入口3接收一個下降沿觸發(fā)信號,如果條件滿足,電機將按照20 轉/秒的轉速,轉動4圈,然后等待1秒(WT指令),然后電機以20 轉/秒的轉速回到絕對位置0點;如果條件不滿足,程序將一直停留在WI指令處等待輸入口3接收正確的觸發(fā)信號為止。
SP(Set Position)指令用來設置電機當前的絕對位置,如發(fā)送“SP0”指令,將電機當前位置設為絕對位置零點。注意,SP指令設置的參數(shù)是以編碼器Encoder Counts作為基本單位的,比如一個裝有500線編碼器的電機,一圈有2000個Encoder Counts,如發(fā)送“SP5000”指令,將電機當前位置設為以絕對位置零點順時針方向2.5圈的位置。
運動到傳感器位置(Feed to Sensor)
FS(Feed to Sensor)指令使電機以一個固定速度轉動,直到一個輸入口的電平狀態(tài)滿足觸發(fā)條件,電機減速,運動停止。運動參數(shù)由AC,DE,VE及DI指令決定,注意DI指令在FS指令執(zhí)行時代表輸入口電平狀態(tài)滿足觸發(fā)條件后,電機減速到0的運動距離,注意DI設定的減速具體必須大于最小減速距離Dm,最小減速距離由DE,VE,EG指令決定,計算公式如下,其中V代表VE設定值,R代表EG設定值,D代表DE設定值:
注意:當DI設定值大于最小減速距離Dm時,電機接收到輸入口觸發(fā)電平狀態(tài)(找到傳感器)后,會繼續(xù)以當前速度向前運動(DI-Dm)的距離,然后以DE設定的減速度減速,直到完成Dm的減速距離。同時,DI指令也決定了電機剛開始運動的方向,比如,DI8000 代表執(zhí)行FS指令后,電機順時針轉動,而DI-8000代表執(zhí)行FS指令后,電機逆時針轉動。輸入口電平狀態(tài)分為H(高電平),L(低電平),R(上升沿),F(下降沿)這幾種狀態(tài)。
上圖中列出了一個參考例程,Q程序通過WI指令首先等待輸入口3接收一個下降沿觸發(fā)信號,如果條件滿足,取消限位功能,電機以5轉/秒的轉速順時針方向轉動,直到輸入口7接收到一個高電平觸發(fā)狀態(tài),驅動器找到了傳感器,于是以DE設定的減速度,DI設定的減速距離完成減速到0。然后電機等待1秒鐘,隨后以20轉/秒的速度運行到絕對位置零點處,打開限位功能。
循環(huán)(Looping)
用戶可以通過兩種方式來實現(xiàn)程序的循環(huán)。第一種使用QG(Queue Goto)指令,設置QG參數(shù)使程序回到設定的行數(shù)。下圖中列出了一個參考例程,在FL指令后等待時間0.5秒(WT0.5),然后使用QG指令,使程序回到第一行重新執(zhí)行,實現(xiàn)不斷循環(huán)。
第二種方法是使用QR(Queue Repeat)指令,QR指令指明跳轉到哪一行和循環(huán)次數(shù)。下圖中列出了一個參考例程,QR指令表示跳轉到第二行,參數(shù)為3,即循環(huán)次數(shù)由用戶自定義寄存器3中的值決定,在這里RX指令寫入數(shù)值5到自定義寄存器3, 所以程序循環(huán)執(zhí)行5次。
跳轉(Jumping)
程序跳轉由QJ(Queue Jump)指令實現(xiàn),跳轉和循環(huán)不同,跳轉主要判斷條件是否滿足,即跳轉指令通常和TI(輸入檢測),TR(寄存器檢測),CR(寄存器比較)指令配合使用。下圖中列出了一個參考例程,有兩種可能的運動,順時針旋轉,當輸入信號5有效時(低電平有效)電機開始逆時針旋轉,加速度300,減速度450,速度18.5,兩種運動間有0.25秒的等待時間。然后,檢測X5信號的狀態(tài),當 X5信號有效時(True),程序跳轉到第10行,開始逆時針旋轉,如果X5信號為高時程序直接到第7行進行順時針旋轉, 執(zhí)行完后回到第一行進行循環(huán)。
程序調用(Calling)
程序調用是在不同的程序段(Segment)之間實現(xiàn)的。QC(Queue Call)指令允許用戶結束一個當前程序段,調用另一個程序段,執(zhí)行完后,回到執(zhí)行調用指令的第一個程序段。這樣,用戶可以把需要多次循環(huán)的程序單獨放到一個段中進行調用,以減少循環(huán)的次數(shù)和降低程序結構的復雜度。下圖中列出了一個參考例程,由第1程序段(Segment 1)和第2程序段(Segment 2)組成:
第1程序段在第6、10行調用第2程序段,第2程序段中設置Y1低電平輸出,等待0.25秒,設置Y2低電平輸出,等待0.25秒。然后設置Y2高電平輸出,等待0.25秒,設置Y1高電平輸出,回到第1程序段,繼續(xù)執(zhí)行第1程序段內后續(xù)指令。
多任務處理(Multi-tasking)
多任務處理模式(MT1)允許程序在執(zhí)行運行指令(如FL,FP,CJ,FS等)時,同時執(zhí)行其他指令,而不需要等待前一個運行指令的結束。在單任務處理模式(MT0)下,Q程序是順序執(zhí)行的,即執(zhí)行下一條指令會等待上一條指令的結束。例如,FL指令后是SO指令,那么驅動器在FL指令結束后才會設置輸出。當開啟多任務處理模式(MT1),Q程序執(zhí)行運行指令的同時會執(zhí)行后面的指令。例如,上面的FL,SO指令,執(zhí)行多任務處理,驅動器開始運行并且立即執(zhí)行輸出設置,不需要等待FL指令執(zhí)行完畢。多任務處理由MT指令設置,MT1為多任務處理開啟,MT0為多任務處理關閉(單任務處理模式)。
例如上圖所示,當MT=1,驅動器執(zhí)行FL指令,等待0.5秒后設置輸出口Y1為低電平,不需要等待FL指令結束后,再等待0.5秒才輸出低電平。以上是一個最基本的例子,如果您嘗試對您的驅動器進行編程,請盡量保證DI值足夠大以觀察不同的指令執(zhí)行后的區(qū)別。注意,因為電機不能同時執(zhí)行兩種運動,即使多任務處理開啟后,運動指令還是會有先后順序。例如,多任務處理開啟后,程序中連續(xù)有兩種運行指令,那么驅動器還是會等待第一條指令完成后執(zhí)行下一條指令。
中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(y3602.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產(chǎn)品新聞
更多>2025-07-08
顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16
2025-06-09
2025-06-06
2025-05-19
2025-04-30