機器視覺運動控製開發軟件RTSys
RTSys是正運動推出的純國產自主工業軟件IDE開發環境,集成運動控製+機器視覺功能的開發軟件,支持
RTBasic、RTPlc梯形圖、RTHmi、C語言、RTVision機器視覺
等二次開發,可混合編程、實時仿真、在線跟蹤以及診斷與調試,快速實現智能裝備的
視覺定位、測量、識別、檢測和複雜的運動控製
等係統的開發。
更多關於RTSys開發平台詳情點擊→
RTSys:自主自研、簡單易用的運動控製集成開發平台(上),
RTSys:自主自研、簡單易用的運動控製集成開發平台(下)。

本篇主要介紹內容如下:
一、使用RTSys生成配置文件進行總線初始化二、驅動器的進階設置三、總線配置相關問題及解決方法
以下內容參照ZMC432M與兩個EtherCAT驅動的總線配置來給大家介紹。

主要流程步驟如下:

01使用RTSys生成配置文件進行總線初始化RTSys生成配置文件進行總線初始化
一、新建調試項目
1.打開RTSys軟件,點擊菜單欄【文件】→【新建工程】。

2.待彈窗出來選擇路徑並命名工程文件名,然後點擊【保存】。

二、連接控製器
1.RTSys菜單欄點擊【常用】→【連接】→【控製器】。

2.待【連接到控製器】的窗口彈出後,選擇連接方式【連接】控製器。
一般推薦使用網口連接,控製器默認IP是192.168.0.11,工控機網卡要和控製器IP在同一網段才可以連接上。

三、啟用軸配置及EtherCAT配置功能
1.工程視圖空白處右鍵,在彈出的窗口點擊【工程設置】。

2.勾選【啟用軸配置及EtherCAT配置】→【確定】。

四、總線節點掃描
1.鼠標右鍵單擊【EtherCAT節點】的【EtherCAT-0】,在彈出的窗口點擊【掃描從站】進行節點從站設備的掃描。

2.成功掃描後,會將每一個節點信息顯示。

五、添加XML文件
(無3205報錯可直接跳過)
若出現3205報錯,報錯信息如下圖,則需要添加對應驅動器廠家提供的xml文件。“使用RTSys添加xml文件?”詳情可查看下文內容。

六、總線驅動器的軸號映射
在【工程視圖】雙擊【控製器】,然後在彈出的配置界麵窗口根據實際需求配置軸映射關係。

● 下圖中控製器後的【軸數】用於設置本地脈衝軸數量。
● EtherCAT-0後的【軸數】用於設置EtherCAT總線接出去的總線軸。
● ZCan節點是用來設置通過CAN總線擴展的擴展軸。

(1)在【軸映射關係】界麵,先點擊【軸數】列表輸入調用的軸數(隻使用總線驅動器的話,本地脈衝軸直接設置為0即可)。
(2)點擊【自動配置軸映射】可自動設置映射軸號及軸類型,也可自己手動修改映射軸號和軸類型。(軸類型:總線步進或總線伺服一般設置成65)
示例一:假設現場連接了兩個總線驅動器。第一個驅動器的軸號映射到軸0上控製,第二個驅動器映射到軸1上控製,那麼可以按照下圖進行設置。

示例二:假設現場本地脈衝軸(axis 0)上接了一個脈衝驅動器,又通過EtherCAT總線連接了兩個總線驅動器。第一個總線驅動器的軸號映射到軸0上控製,第二個總線驅動器映射到軸1上控製,脈衝驅動器映射到軸2上控製,那麼可以按照下圖進行設置。

七、應用生成總線配置文件並下載
點擊【應用】自動生成配置文件【Startup.bas】然後下載到控製器,可選擇【下載到ROM】實現控製器的掉電配置保存功能。若命令與輸出窗口提示“總線配置完成”則表示總線初始化成功。

八、總線驅動器的手動運動
1.手動運動

(1)【工程視圖】→【軸配置】→【軸n】,先勾選【自動下載軸參數】。
(2)軸的使能控製區,點擊軸使能後麵的【切換】按鈕進行單軸使能。
(3)在軸參數區,設置對應的軸參數,【脈衝當量】推薦設置成機台運動1mm所需要的脈衝數,【加速度】和【減速度】一般設置成速度的10倍,若需要對加減速階段進行平滑處理,S曲線一般設置成100ms。
(4)確定軸參數安全的情況下,點擊手動運動區的【反向運動】或者【正向運動】可以完成點動運動(按下就運動、鬆開就停止),同時看軸位置及狀態信息的【反饋位置】表示的MPOS是否有變化。

注:若反饋位置有變化,肉眼沒有觀察到軸運動,大概率是【脈衝當量】*【速度】的結果太小,導致軸運動的比較慢。這個時候可以把【脈衝當量】10倍10倍的增加後反複測試。

其他按鈕具體功能可以參考下方表格:
| 按鈕名稱 |
作用描述 |
| 自動下載軸參數 |
自動將“軸配置”中的參數配置下載到控製器中(同步到“軸參數”窗口中) |
| 應用於所有軸 |
將當前軸已配置的軸參數應用於所有軸(需要先勾選“自動下載軸參數”才生效) |
| 下載軸參數 |
將“軸配置”中的參數配置下載到控製器中(同步到“軸參數”窗口中) |
| 讀取軸參數 |
將“軸參數”窗口中的參數配置讀取並應用到“軸配置”中的參數 |
| 備份軸參數 |
將當前軸已配置的軸參數備份並生成.ini文件在工程路徑文件夾中 |
| 恢複軸參數 |
將當前軸參數恢複為備份文件中的參數 |
| 反向運動 |
控製當前軸做反向運動 |
| 正向運動 |
控製當前軸做正向運動 |
| 反向持續運動 |
控製當前軸做持續的反向運動 |
| 正向持續運動 |
控製當前軸做持續的正向運動 |
| 往複運動 |
控製當前軸按設定位置及次數做往複運動 |
| 停止 |
停止當前軸運動 |
2.軸參數保存
如果上麵設置的軸參數需要保存到配置文件裏麵,我們可以點擊【軸配置】→【應用】,這個時候會自動把配置信息寫入到【Startup.bas】文件裏麵,然後下載。點擊【下載到ROM】的話可以實現控製器軸參數的掉電保存。

至此,總線初始化完成,並完成了手動運動調試。
02驅動器的進階設置
一、總線驅動器的PDO模式設置
【EtherCat節點】找到驅動器【Slave/Drive開頭的】雙擊,點擊【PDO配置】後,可在【PDO設置】下拉框裏麵對各個驅動器依次進行設置。

本地軸上脈衝驅動器不需要進行PDO配置,但是接在EIO擴展模塊軸上的脈衝驅動器需要進行PDO配置,實際相當於總線驅動器;需要總線驅動器的PDO模式是按自己需求配置的,大概總結有以下幾種常見的需求。
需求1:
簡單跑個位置模式,不需要監控驅動器的IO信息。Drive_profile=0或者-1,PDO設置0或者-1即可。

需求2:
簡單跑個位置模式,需要監控驅動器的IO信息。PDO設置需要選擇有驅動器IO輸入的模式,如模式4、5。

需求3:
需要位置模式和力矩模式可以切換,需要監控驅動器的IO信息。PDO設置需要選擇帶位置和轉矩的模式,如模式34。

Tip:多個軸可以在配置好第一個軸後選擇【同步到該從站所有軸】進行一鍵同步所有軸。

當前配置需要保存直接點擊【應用】,重新下載到控製器即可。
Tip:PDO配置的其他模式可查看下文“詳情PDO模式選擇?”。
二、總線驅動器的IO映射到驅動器上(若驅動器無IO,則直接跳過)
1.在【工程視圖】雙擊【控製器】選擇【輸入IO映射關係】子選項,控製器本體的數字量IO起始編號和數量是軟件根據控製器型號自動識別的,不支持編輯修改。
2.【EtherCAT-0:節點IO】是設置IO擴展模塊的,驅動器的節點在【EtherCAT-0:驅動器IO】這裏設置。

3.【EtherCAT-0:驅動器IO】是設置EtherCAT總線驅動器的IO起始編號和數量的。先設置好各個驅動器的IO數量一般設置為(16的倍數)或在帶有【同步所有項】的位置一鍵設置所有驅動器IO數量。設置好後點擊【自動配置輸入/輸出IO映射】即可。
注:擴展映射的IO範圍不要存在衝突,且起始編號為8的倍數。

4.若需要自動映射正負限位和原點開關,可以重新勾選【自動映射限位及以原點】。重新勾選【同步所有項】則會一鍵配置所有驅動器限位及原點。
注意:ZMC係列的特殊輸入定義後需要信號反轉,因為ZMC係列是OFF有效,可以反轉為ON有效,可以按需求選擇對應輸入是否【反轉使能】。

【自動配置所有項】則是將軸映射、IO、模擬量映射全部自動配置。
當前配置需要保存直接點擊【應用】,重新下載到控製器即可。
Tip:已有配置導出應用於其他工程可查看下文“已有配置如何導出應用於其他工程”。
三、驅動器的IO監控、限位原點設置及回零
如果完成了以下兩步的設置,我們就可以對驅動器進行IO監控等操作了。
1.驅動器完成了輸入IO映射。

2.PDO的模式要選擇存在對應IO信息的數據字典的模式。

(1)驅動器的IO監控(看個人需求控製器是否監控驅動器IO)
【工程視圖】-選擇要監控的驅動器-【狀態】-輸入【點擊勾選】-【輸入口監控界麵】,在彈出的輸入口界麵可以看到兩種編號,【0、1、2、3....15】這個是當前驅動器的輸入口編號,後麵括號內如【56、57、58....71】是當前驅動器輸入口映射到控製器上分配的IO編號,作用是為了防止驅動器輸入口編號和控製器上輸入口編號衝突。

(2)驅動器限位原點設置
點擊【工程視圖】→【軸配置】→【軸n】→【軸調試界麵】,在軸調試界麵的左上角有一塊區域是映射該軸硬件限位、原點、報警信號和急停開關的對應輸入口在控製器上的IO編號。一般總線驅動器是不需要接報警信號和急停開關所以設置成-1,其他信號按實際IO接線設置。
設置完後,如果和下圖一樣發現軸沒有碰到正負限位,但軸狀態提示正向硬件限位和負向硬件限位,這個是由於信號常開/常閉的影響,可以點擊反轉使能的【切換】按鈕對正負硬件限位的狀態進行切換設置。

(3)驅動器的回零
①測試軸的回零功能之前要先保證手動運動正常,手動運動的方向也正常。
②點擊【回零】按鈕可以進入軸的回零界麵。
如果不勾選【啟用控製器回零方式】,那麼默認是使用總線驅動器回零(精度更高推薦使用),這個時候回零方式的介紹需要看總線驅動器的手冊對回零模式的介紹,同時原點傳感器需要接到驅動器的原點輸入口上。

如果勾選【啟用控製器回零方式】,那麼使用的是控製器回零,回零方式可以參考下拉框的介紹,總線驅動器實際項目還是推薦使用總線驅動器回零。

③設置合適的【速度】(找原點的速度),【爬行速度】(碰到原點傳感器後離開原點的速度),【加速度、減速度】還是一般設置成速度的10倍。
④如果正負限位需要反轉那麼原點信號也需要反轉。
⑤打開軸使能。
⑥點擊【啟動回零】即可開始回零,需要停止點擊【停止】按鈕即可,需要坐標清零點擊【坐標清零】按鈕即可。
Tip:使用控製器回零方式需要手動清零,回零完成後,保證軸指令位置和反饋位置都為0。
03總線配置相關問題及解決方法
一、使用RTSys添加xml文件?
1.將對應驅動器的xml/zml文件複製到工程路徑的文件夾裏。

2.【工程視圖】→【配置文件】→【增加到配置文件】。

3.選擇目標xml/zml文件-【打開】。

4.這樣xml/zml文件就添加到配置文件中了。(注:xml文件添加會自動轉為zml文件)

5.添加後,點擊【下載到RAM/ROM】即可把XML文件的信息導入到控製器,使控製器識別該設備。然後重新進行總線節點掃描即可。
Tip:若在RTSys裏添加xml/zml文件仍然報錯3205的話,則需要使用xml轉換工具。具體詳情可查看下文“如何使用XMLParsingTools小工具生成ZML文件並添加?”

6.如果上一步操作報錯Error:20013,File name too long.可右鍵xml/zml文件【重命名文件】縮短文件名至20字符以內。然後重新【下載到RAM/ROM】並再次進行總線節點掃描。

二、如何使用XMLParsingTools小工具生成ZML文件並添加?
1.將對應驅動器的xml文件複製到工程路徑的文件夾裏。(此軟件可以在正運動技術官網-技術與支持-下載中心-工具軟件中下載)

2.打開XMLParsingTools文件夾。

3.雙擊XMLParsingTools程序運行。

4.點擊左上角文件夾位置-【Open xml】。

5.選擇想要轉換的xml文件-【打開】。

6.打開後選擇對應的從站型號、從站類型並設置軸數(這裏以一拖四總線驅動器為例,一拖一的驅動器一般不用設置)。


7.點擊左上角文件夾位置-【Export zml】導出。

8.選擇對應路徑-設置文件名(不超過20個字符)-【保存】。

9.可以看到對應文件夾中會有一個轉換後的.zml文件。

10.打開RTSys【工程視圖】→【配置文件】→【增加到配置文件】。

11.選擇要添加的zml文件-【打開】即可完成zml文件的添加。

三、已有配置如何導出應用於其他工程?
1.【工程視圖】雙擊【控製器】/【軸配置】的彈出窗口都有【導入】及【導出】選項。(下麵以【控製器】處為例,其它地方的操作步驟一樣。)

(1)參數配置好之後可以將已配置的數據【導出】保存。

(2)選擇對應路徑並輸入文件名後選擇【保存】即可。


2.【導出】的.ini文件可以【導入】用於其他工程。步驟如下:
(1)菜單欄選擇【文件】-【打開工程】。

(2)雙擊【控製器】→【導入】。

(3)選擇想要加入的.ini驅動器配置文件-【打開】。

如下圖:導入後的配置會和導出工程的配置一致。

四、PDO模式選擇
PDO設置數值對應模式具體可在RTSys軟件右上角打開【幫助文檔】→【RTBasic編程手冊】→指令【DRIVE_PROFILE】中查看。

以下是其所有文字內容:PDO部分
每個軸的發送pdo接收pdo的配置選擇。
必須設置正確的ATYPE(設置為65/66/67)以後才能操作這個參數。
詳細配置請谘詢廠家。
-1表示使用驅動器的內置缺省PDO列表,20160601以上版本支持,缺省PDO不帶0X6060時,無法使用datum(21)回零指令。
-1-驅動器默認設置,需要控製器版本 20160601 及以上
0-缺省配置,csp位置模式
{0x60400010, 0x607a0020, 0x60600008},
//控製字 目標位置 模式
{0x60410010, 0x60640020},
//狀態字 反饋位置
1-csp位置模式+力矩反饋
{0x60400010, 0x607a0020, 0x60600008},
//控製字 目標位置 模式
{0x60410010, 0x60640020, 0x60770010},
//狀態字 反饋位置 當前力矩
2-csp位置模式+力矩反饋+鎖存1up
{0x60400010, 0x607a0020, 0x60b80010, 0x60600008},
//控製字 目標位置 probe設置 模式
{0x60410010, 0x60640020, 0x60770010, 0x60b90010, 0x60ba0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置
3-csp位置模式+力矩限製+力矩反饋+鎖存1上升沿
{0x60400010, 0x607a0020, 0x60b80010, 0x60720010, 0x60600008},
//控製字 目標位置 probe設置 力矩限製 模式
{0x60410010, 0x60640020, 0x60770010, 0x60b90010, 0x60ba0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置
4-csp位置模式+力矩反饋+驅動器IO輸入
{0x60400010, 0x607a0020, 0x60600008},
//控製字 目標位置 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入
5-csp位置模式+力矩反饋+驅動器IO輸出+驅動器IO輸入
{0x60400010, 0x607a0020, 0x60fe0120,0x60600008},
//控製字 目標位置 IO輸出 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入
6-特殊驅動器專用
7-特殊驅動器專用
8-特殊驅動器專用
9-固件版本 160504 支持
{0x60400010,0x607a0020,0x60fe0120,0x60b80010,0x60720010,0x60600008},
//控製字 目標位置 IO輸出(32個) probe設置 力矩限製 模式
{0x60410010,0x60640020,0x60770010,0x60fd0020,x60b90010,0x60ba0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入(32個) probe狀態 probe位置
10-固件版本 160504 以上支持,加drive_fe部分
{0x60400010,0x607a0020,0x60fe0120,0x60b80010,0x60720010,0x60600008},
//控製字 目標位置 IO輸出 probe設置 力矩限製 模式
{0x60410010,0x60640020,0x60770010,0x60fd0020,0x60b90010,0x60ba0020,0x60f40020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入 probe狀態 probe位置 drive_fe
11-固件版本 160504 以上支持,probe專用測試
{0x60400010, 0x607a0020, 0x60b80010, 0x60600008},
//控製字 目標位置 probe設置 模式
{0x60410010,0x60640020,0x60770010,0x60b90010,0x60ba0020,0x60bb0020, 0x60bc0020, 0x60bd0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置1/位置2/位置3/位置4
12-固件版本 160504 以上支持,特殊驅動器專用
{0x60400010, 0x607a0020, 0x60600008},
//控製字 目標位置 模式
{0x60410010, 0x60640020, 0x60fd0020},
//狀態字 反饋位置 驅動器IO輸入
13-固件版本 160504 以上支持,帶速度前饋與加速度前饋
{0x60400010, 0x60B20010, 0x607a0020, 0x60B10020, 0x60600008},
//控製字 加速度前饋 目標位置 速度前饋 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020, 0x606c0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入 實際速度
17-固件版本160504以上支持,csp/csv/cst三種模式可以切換
{0x60400010,0x60710010,0x60ff0020,0x607a0020,0x60b80010,0x60720010, x60600008},
//控製字 周期力矩 周期速度 目標位置 probe設置 力矩限製 模式
{0x60410010,0x60770010,0x60640020,0x60fd0020,0x60b90010,0x60ba0020, x60bb0020},
//狀態字 當前力矩 反饋位置 驅動器IO輸入 probe狀態 probe位置1/位置2/
18-固件版本160504以上支持,csp/csv/cst三種模式可以切換+力矩反饋讀取
{0x60400010,0x60710010,0x60ff0020,0x607a0020,0x60b80010,0x60720010,0x60600008},
//控製字 周期力矩 周期速度 目標位置 probe設置 力矩限製 模式
{0x60410010,0x60770010,0x60640020,0x60fd0020,0x60b90010,0x60ba0020,0x60bb0020, 0x60bc0020, 0x60bd0020},
//狀態字 當前力矩 反饋位置 驅動器IO輸入 probe狀態 probe位置1/位置2/
probe位置3/位置4
20-固件版本 160504 以上支持,csp位置+csv速度
{0x60400010, 0x60ff0020, 0x607a0020, 0x60600008},
//控製字 目標速度 目標位置 模式
{0x60410010, 0x60640020},
//狀態字 反饋位置
21-固件版本 160504 以上支持,csp位置+csv速度+力矩反饋
{0x60400010,0x60ff0020,0x607a0020,0x60600008},
//控製字 目標速度 目標位置 模式
{0x60410010,0x60640020,0x60770010},
//狀態字 反饋位置 當前力矩
22-固件版本 160504 以上支持,csp位置+csv速度+力矩反饋+色標鎖存1上升沿
{0x60400010, 0x60ff0020, 0x607a0020, 0x60b80010, 0x60600008},
//控製字 目標速度 目標位置 probe設置 模式
{0x60410010, 0x60640020, 0x60770010, 0x60b90010, 0x60ba0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置
23-固件版本 160504 以上支持,csp位置+csv速度+力矩反饋+鎖存1上升沿+力矩限製
{0x60400010,0x60ff0020,0x607a0020,0x60b80010,0x60720010,0x60600008},
//控製字 目標速度 目標位置 probe設置 力矩限製 模式
{0x60410010,0x60640020, 0x60770010,0x60b90010,0x60ba0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置
24-固件版本 160504 以上支持,csp位置+csv速度+IO輸入+位置+力矩反饋
{0x60400010, 0x60ff0020, 0x607a0020, 0x60600008},
//控製字 目標速度 目標位置 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入
25-固件版本 160504 以上支持,csp位置+csv速度+IO輸入+位置+力矩反饋
{0x60400010, 0x60ff0020, 0x607a0020, 0x60fe0120,0x60600008},
//控製字 目標速度 目標位置 驅動器IO輸出 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入
30-固件版本 160504 以上支持,csp位置+cst轉矩
{0x60400010, 0x60710010, 0x607a0020, 0x60600008},
//控製字 目標轉矩 目標位置 模式
{0x60410010, 0x60640020},
//狀態字 反饋位置
31-固件版本 160504 以上支持,csp位置+cst轉矩+力矩反饋
{0x60400010,0x60710010,0x607a0020,0x60600008},
//控製字 目標力矩 目標位置 模式
{0x60410010,0x60640020,0x60770010},
//狀態字 反饋位置 當前力矩
32-固件版本 160504 以上支持,csp位置+cst轉矩+力矩反饋+鎖存1上升沿
{0x60400010, 0x60710010, 0x607a0020, 0x60b80010 , 0x60600008},
//控製字 目標轉矩 目標位置 probe設置 模式
{0x60410010, 0x60640020, 0x60770010, 0x60b90010, 0x60ba0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置
33-固件版本 160504 以上支持,csp位置+cst轉矩+力矩反饋+鎖存1上升沿+ 力矩限製
{0x60400010,0x60710010,0x607a0020,0x60b80010,0x60720010,0x60600008},
//控製字 目標轉矩 目標位置 probe設置 力矩限製 模式
{0x60410010, 0x60640020, 0x60770010, 0x60b90010, 0x60ba0020},
//狀態字 反饋位置 當前力矩 probe狀態 probe位置
34-固件版本 160504 以上支持,csp位置+cst轉矩+力矩反饋+驅動器IO輸入
{0x60400010, 0x60710010, 0x607a0020, 0x60600008},
//控製字 目標轉矩 目標位置 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入
35-固件版本 160504 以上支持,csp位置+cst轉矩+力矩反饋+IO輸入+IO輸出
{0x60400010, 0x60710010, 0x607a0020, 0x60fe0120,0x60600008},
//控製字 目標轉矩 目標位置 驅動器IO輸出 模式
{0x60410010, 0x60640020, 0x60770010, 0x60fd0020},
//狀態字 反饋位置 當前力矩 驅動器IO輸入
教學視頻請點擊→自主自研運動控製集成開發平台RTSys(二):EtherCAT總線快速配置
|