常見問題

A:多卡編程時卡號:
問題描述:
客戶在使用多卡時,需要調用卡號從而確定控制的卡,在正常情況下,PCI卡槽靠近工控機北橋的是1號卡,遠離北橋的按照距離依次增大。但有時客戶會出現卡號混亂的情況,例如距離PCI卡槽遠近依次卡號為3、1、2,如果這個時候客戶的PCI卡槽比較多,可能會更加混亂。
問題解釋:
PCI的卡槽中卡的的順序其實是根據其被分配的設備號來決定的,設備號越小,優先級越高,里面所插卡的分配卡號越小。一般情況下,距離北橋近的設備號小,所以平時認為靠近北橋的卡號小。但有些工控機的PIC設備號沒有按照順序排列就會出現上述問題。
設備號通過右鍵硬件“GoogolTech GT—800—PCL ”子目錄下的相關驅動,“屬性”中可以查詢。

解決方法:
1、通過往每個槽中插入卡,查詢設備號來確定槽的優先級從而確定卡號。
2、可以直接讓客戶使用時固定使用幾個PCI插槽,然后記住那幾個槽的分配卡號,以后這些槽的卡號就不會變了。

注意事項:
1、在第一次插卡、裝驅動后要重啟一下工控機,然后再檢測相對卡號。
這個規律適用于GTS系列卡(400、800或者混合用都可以),其他系列還未測試,僅做參考。

A:緩沖區數據大于4096段的處理:
很多時候會碰到所壓數據大于4096段的情況,一般簡單處理如下:
1、數據先壓入一部分,執行CrdStart。 之后一邊壓數據一邊執行。
2 、數據壓滿4096段后,啟動緩沖區運動。這樣一邊壓數據一邊執行

A:會有一些客戶反饋GTS控制卡不能回零,為了實現回零運動,需要做一些前期準備并注意可能導致回零失敗的問題。:
GTS系列運動控制卡實現回零功能,需要三個條件:
(1) 能夠捕獲到Home信號
(2) 規劃位置和編碼器位置方向相同
(3) 正確的回零代碼
(1) 能夠捕獲到Home信號與GTS系列運動控制卡配套的端子板上有接收Home信號的接口(標簽為Home0、Home1……),Home0對應于AXIS1的Home信號接口,Home1對應于AXIS2的Home信號接口,依此類推。默認配置下,Home信號接口為下降沿觸發,如果使用常開Home開關時,當Home開關觸發Home信號接口將獲得一個下降沿信號,此時通過調試軟件MCT2008可以查看控制卡和端子板是否能夠捕獲到Home信號,具體步驟如下所示:打開MCT2008 點擊:視圖–捕獲;,彈出如下窗口,勾選相應的軸號(如果要測試AXIS1的Home,并且把Home開關接到Home0信號接口,就勾選下圖窗口的軸1)

A:Home信號觸發正常,軸也能正常運動,但每次回零都回到上電起始位置(沒加偏移)。:
使用mct2008測試發現,客戶有打開編碼器,但實際編碼器并沒有反饋,一直是0。
據了解客戶并未接編碼器反饋線,而回零時讀取的位置值讀取都是實際位置,所以每次回零完成后回到的位置都是上電起始位置。
解決方法有兩種:
1、關閉編碼器,使用脈沖計算器,但回零精度不高。
2、接上編碼器反饋線。
經驗總結
回零出錯的情況還有很多種:
1、實際位置和規劃位置值不同(編碼器取反或編碼器分頻不對)。
2、回零過程中,軸觸發限位,但未清除掉限位,導致后面運動回零失敗(零點設置在行程中間時會碰到)。
3、啟動回零后,軸不動,但顯示已找到零點(通過檢測發現Home信號受干擾誤觸發,電機動力線和IO線布線在一起,解決方法把電機動力線與IO線分開或在IO線上加磁環)。

A:GTS控制卡脈沖控制模式單端、差分輸出接線說明:
固高運動控制卡(GTS為例)、控制器(GUS為例),都是采用的D25接頭將控制器或端子板和驅動器連接的。
但是具體接線有區別。
單端輸出:脈沖控制模式分為兩種,即“脈沖+方向”和“CCW/CW”模式,兩種模式的單端接法是一樣的,只需要將控制器端的pluse+/dir+/5V和驅動器端的pluse+/dir+/5V相連接即可。
注意:若驅動器端的5V電壓不是有控制器端提供,而是有外部開關電源提供的,此時仍需要采用此種接線方法(CCW/CW模式),則需要將控制器的5V電和外部供電電源模塊的5V電短接,即將5V共起來。
雙端輸出(差分輸出):脈沖控制的兩種模式,即“脈沖+方向”和“CCW/CW”模式,兩種模式的雙端接法也是一樣的,需要將控制器端的pluse+、pluse+/dir+、dir-/5V、GND和驅動器端的pluse+、pluse+/dir+、dir-/5V、GND連接即可。
注意:控制器輸出模式采用差分接線方法,采用雙絞線的形式,相比單端接線方法,能夠增強抗干擾能力。單端接線時抗干擾的能力較弱。

A:某固晶機使用GTS控制卡后驅動器反饋實際位置跟隨不上規劃:
1.客戶問題
客戶原來使用GE系列控制卡,現在切換到GTS系列控制卡。在同一臺機器上,驅動器參數不變的情況下,使用GE控制卡,機器能夠正常運轉,使用GTS控制卡后,機器運行異常(實際速度有異常),如下圖所示,通過三洋驅動器調試軟件采集在相同點位運動參數下,驅動器反饋的規劃速度和實際速度。點位運動測試數據:速度980,加速度90,減速度90,平滑時間0,步長22500;使用GE系列控制卡采集的驅動器數據;使用GTS系列控制卡采集的驅動器數據 在GTS控制卡下,驅動器反饋的實際速度不僅滯后于規劃速度(梯形曲線),而且還缺少勻速段。
2.分析和解決過程:
(1)懷疑客戶編寫的代碼有問題,通過MCT2008發點位運動指令,問題仍然存在。
(2)懷疑是否由于GTS控制卡的固件存在問題,把DSP 1.28的固件升級到DSP1.29,問題仍然存在。甚至把控制卡更換為GTS-400-PV-G,問題仍存在。
(3)懷疑GTS控制卡發送的點位運動是否存在小階梯,而導致該問題。通過MCT2008的Tuning功能查看點位運動規劃速度,并無小階梯。控制卡發送的速度規劃并不存在小階梯,但是驅動器的反饋的控制卡速度規劃存在小階梯,也就是說驅動器對控制卡發下去的指令進行了處理。那么很有可能是這種處理過程導致的該問題。但是,使用GE系列控制卡,同樣也存在驅動器反饋的速度規劃存在小階梯。如此,并不是小階梯導致的問題。
GE系列控制卡和GTS系列控制卡還存在一個區別,那就是控制周期不一樣。那么是不是這種區別導致的。但是驅動器里面有很多與時間相關的參數,如何調整。 后來現場查看,發現使用GE控制卡和GTS控制卡還有一個區別,那就是GE卡的端子板放在設備機箱內,驅動器線纜直接連接到端子板,而GTS卡的端子板放到設備外面,驅動器線纜通過一個轉接線纜與端子板相連。本著最簡系統的原則,把轉接線纜取掉。再進行測試,結果如下。相對于先前的結果有所改善,即實際速度有了勻速段,只是跟隨性不是很好。使用GTS系列控制卡(取掉端子板與驅動線纜的轉接線)采集的驅動器數據 調節驅動器的加速度前饋等參數,加強系統跟隨性,得到如下圖所示,實際速度的跟隨性比較好,而且查看到位及過沖都能滿足要求。

A:使用運動程序提高功能實時性:
客戶購買GTS-400-TPG控制卡,要完成一個拍照檢測系統。送料軸采用JOG模式一直運動,當物料碰到傳感器時,系統記錄物料位置,當物料前進P1個脈沖時,相機1拍照;當物料前進P2脈沖時,相機2拍照(P1cappos[j1]+P1)
{ GT_SetDoBitReverse(MC_GPO,1,100,0);
j1=j1+1;}
if (pos>cappos[j2]+P2)
{ GT_SetDoBitReverse(MC_GPO,2,100,0);
j2=j2+1;}
這段代碼的意思是不斷捕獲位置存儲在cappos數據,用i來代表存儲位置,即每存一個i要自增,當i到達10時,i重新置零。j1和j2代表相機1和相機2的觸發情況,沒觸發一次,他們相應的自增。這樣編軟件就會滿足當第一個物料進入,但是沒拍照的情況下,物料二又進入的情況。比完全的流程控制(即觸發-拍照1-拍照2)這樣的簡單循環效率更高。
把這個函數發給客戶測試,客戶的測試結果當送料速度比較慢的時候,兩個相機可以拍到物料中心,當客戶逐漸把速度加快以后,兩個相機拍照不穩定。有時候能拍到中心,有時候拍到邊上,有時候完全拍不到。客戶又向我反映該問題,希望我解決。
從VC的實時性上來說,VC的時間片分配80~100ms才能掃描一次上面的代碼,如果任務比較多,這個時間更大。因此,當客戶調高速度時,這段代碼會出現捕獲失敗或者拍照指令下達不準確的問題。
得知客戶該要求,我建議客戶使用運動程序來完成。因為運動程序在板卡上運行,和計算機比較,指令時間提高4倍,完全沒有時間片概念,我們的運動程序是一直執行的。因此可以滿足該要求。
編寫的運動程序如下:可能有錯誤,請大家參考
short run; //探針捕獲狀態
long value; //探針捕獲位置
long pClock; //指令時鐘
long lprobe[10]; //鎖存捕獲位置
double dprobe[10];//double型捕獲位置
double pc1[10]; //相機1捕獲條件
double pc2[10]; //相機2捕獲條件
int condition; //判斷條件
int i; //鎖存位置
int j1; //相機1拍攝計數
int j2; //相機2拍攝計數
double pos; //獲取位置
long time[2]; //相機啟動時間
long clock; //獲取時間
long NULL; //輔助參數
int do[2]; //拍照標志
int ProbeThread()
{
GT_SetCaptureMode(1,3);
start:
GT_GetClock(&clock,&NULL);
condition=clock>time[0];
condition=condition && do[0];
if(condition) goto reset0;
goto s1;
reset0:
GT_SetDoBit(12,15,1);
s1:
condition=clock>time[1];
condition=condition && do[1];
if(condition) goto reset1;
goto s2;

A:GTS運動控制卡插補運動緩沖區的管理(暫停與恢復)測試:
用戶的主插補運動的插補數據應該放在FIFO0中。
FIFO0的插補運動可以被中斷(通過調用GT_Stop()指令),中斷后可以進行輔助 FIFO1 的插補運動,輔助 FIFO1 的插補運動完成后,需要將坐標系位置恢復到FIFO0 主運動被打斷的位置,之后FIFO0 可從斷點處繼續恢復原來的運動。
由于主緩沖區可以放置插補運動指令(如GT_LnXY)、緩沖區延時指令、緩沖區IO指令等,下面針對不同指令,在指令執行過程中暫停主緩沖區。
//主緩沖區運動
sRtn = GT_CrdClear(1, 0);//清空主緩沖區
sRtn = GT_LnXY(1,5000,5000,10,1,0,0);//第一條插補指令
sRtn = GT_BufDelay(1, 8000, 0);//第一條延時指令
sRtn = GT_BufDelay(1, 3000, 0);//第二條延時指令
sRtn = GT_BufIO(1,MC_GPO,1<<(1-1),0,0);//輸出IO指令 sRtn = GT_BufDelay(1, 3000, 0);//第三條延時指令 sRtn = GT_LnXY(1,10000,10000,10,1,0,0);//第二條插補指令 //輔助緩沖區運動 sRtn = GT_LnXY(1,15000,25000,10,1,0,0);//第一條插補指令 (1)當前正在執行插補運動指令 如果當前正在執行插補指令,調用主緩沖區暫停指令后,緩沖區立即停止運動,且可以記錄當前斷點位置,后續執行完輔助緩沖區后,從該斷點位置繼續執行主緩沖區。例如,執行第一條插補指令,在位置為(X=2000,Y=2000)處暫停主緩沖區運動,那么后續恢復主緩沖區運動則繼續從該位置運動。 (2)當前正在執行延時指令 如果當前正在執行緩沖區延時指令,調用主緩沖區暫停指令時,這條延時指令將失效。1.如果這條延時指令后面是插補運動指令,那么啟動輔助緩沖區運動時,直接執行輔助緩沖區運動;2.如果這條延時指令后面是延時指令,那么啟動輔助緩沖區運動時,會先執行延時指令,再執行輔助緩沖區運動,例如:第一條延時指令執行到(例如3s),暫停主運動,那么8s的延時不再起作用,啟動輔助運動,則第二條延時指令先執行再執行輔助運動;3.如果第一條延時指令后面是輸出IO指令,當第一條延時指令執行到中間(例如3s),暫停主運動,那么輸出IO指令會被執行,啟動輔助運動后直接進入輔助運動。

A:分析點位運動特點和原理,并給出編程實例。:
PT模式是GTS系列運動控制器推出的一個最靈活的運動模式,可以廣泛運用于各種運動控制場合。
本文對該模式進行一些探索,以期將來可以被更多的客戶使用。
下面我們分析一下梯形曲線運動的實現。
已知目標位移為S,目標速度為V,加速度為Acc,減速度為Dec,初始速度為0。
當時,該運動的速度曲線為三角形,即沒有勻速運動階段。此時,可以利用PT模式的普通段和停止段,2條指令來描述。
第一條的PT為(,),普通段。
第二條的PT為(S,),停止段。
當時,該運動的速度曲線為梯形,存在勻速段。此時,可以利用PT模式的普通段、勻速段和停止段,3條指令來描述。
第一條的PT為(,),普通段。
第二條的PT為(,),勻速段。
第三條的PT為(S,),停止段。
詳細例程為PtToTrap,在例程庫中,C#編寫。該例程通過測試,注意速度和加速度、減速度的設置,如果不合理,容易使驅動器報警。

  • 頁面 1 / 2
  • 1
  • 2
  • >