導(dǎo)讀
面對一臺ZMC600E運動控制器與多臺伺服電機,我們該怎樣讓它工作起來?本文帶你了解PLCOPen,并詳細(xì)講解如何使用AWStudio控制電機運動。
在自動化領(lǐng)域,運動控制是一件很復(fù)雜的事情,包含了上位機通訊,工業(yè)現(xiàn)場總線通信協(xié)議,運動控制算法,伺服電機控制等領(lǐng)域知識。致遠(yuǎn)電子自主研發(fā)的AWStudio 的 AWPLC 解決方案可以快速實現(xiàn)運動控制編程。
AWStudio 的邏輯組態(tài)提供了符合 IEC61131-3 標(biāo)準(zhǔn)的 ST 語言編程環(huán)境,該開發(fā)環(huán)境和運行時均是由 ZLG 致遠(yuǎn)電子自主研發(fā),提供了帶智能提示的代碼編輯器,以及多種程序調(diào)試手段,讓用戶可以輕松開發(fā) PLC 程序。AWPLC 提供了 PLC 的運行時環(huán)境,可以運行用戶開發(fā)的 PLC 程序(開發(fā)環(huán)境生成的二進制文件),進而控制硬件 IO 或電機伺服器等按程序邏輯進行工作。AWPLC 運行時環(huán)境是一個軟 PLC 的引擎,需要在一個硬件載體上運行,比如 ZLG 致遠(yuǎn)電子的運動控制器,或者 PC 機等。PLCOPen 是總部在歐洲的 IEC61131-3 推廣團體,目的是為了使得不同 PLC 廠家的產(chǎn)品應(yīng)用編程通用化,消除產(chǎn)品技術(shù)差異和壁壘,在用戶選用不同品牌 PLC 時,不必另外學(xué)習(xí)相應(yīng)的編程方法。PLCOPen 對運動控制功能塊 MC 的技術(shù)規(guī)格進行了約定,包括 MC 功能模塊的命名、具體功能、輸入輸出變量定義、相關(guān)時序邏輯等,最大限度地保證用戶編程技術(shù)的互通。AWStudio提供了支持PLCOPen規(guī)范的運動控制接口,包含了 MC_Power、MC_MoveAbsolute、MC_MoveRelative、MC_Reset等單軸功能塊。接下來,我們介紹如何通過 AWStudio 快速地創(chuàng)建ZMC600E應(yīng)用示例:控制 ZMC600E 打印字符,通過EtherCAT控制電機轉(zhuǎn)動。
?編譯環(huán)境搭建
首先需要搭建編譯環(huán)境,準(zhǔn)備硬件和軟件。
1. 必備硬件
x86架構(gòu)Windows系統(tǒng)的個人電腦;
ZMC600E運動控制器;
支持EtherCAT 協(xié)議的電機驅(qū)動器和伺服電機。
2. 軟件工具
電腦端安裝 AWStudio 軟件 ;
ZMC600E端安裝 awplc運行時。
配置電腦與ZMC600E設(shè)備的連接:使用網(wǎng)線連接windows10電腦端網(wǎng)絡(luò)端口與ZMC600E 運動控制器的NET2網(wǎng)絡(luò)端口,在電腦上配置在同一個網(wǎng)絡(luò)子網(wǎng)。配置ZMC600E設(shè)備與從站的連接,使用網(wǎng)線連接ZMC600E運動控制器的ECAT網(wǎng)絡(luò)端口與從站網(wǎng)絡(luò)端口。
?新建工程雙擊AWStudio圖標(biāo)啟動程序。

圖1 AWstudio界面圖接下來創(chuàng)建運動控制器解決方案。

圖2 新建解決方案對話框圖
- 單擊工具欄的【新建】按鈕。
- 選擇【運動控制器】-【AWPLC編程】解決方案。
- 修改解決方案名稱。
- 點擊【確定】按鈕。

圖3 新建解決方案對話框圖選擇控制器型號為ZMC600E,點擊【確定】按鈕。

圖4 選擇運動控制器型號圖打開了空白項目。

圖5 打開空白控制器項目
?編寫簡單腳本
我們嘗試編寫一個簡單的st腳本,腳本功能是打印字符串。新建一個整型變量。
- 單擊main.st激活編輯頁
- 單擊變量新建的【+】按鈕
- 輸入變量名
- 單擊類型選擇下拉按鈕
- 單擊以選擇類型
- 點擊【確定】按鈕

圖6新建變量對話框
編寫st腳本,包含兩條語句:計數(shù)遞增,打印計數(shù)。
PRINT_STR('cnt = ' + DWORD_TO_STRING(cnt));cnt := cnt + 1;

圖7 代碼編輯圖
POU調(diào)度程序會在每個周期調(diào)用main.st程序。
?仿真運行程序
AWStudio提供了仿真模式,無需連接目標(biāo)設(shè)備,程序可以運行于windows系統(tǒng)的仿真器。

圖8 工程啟動過程圖
- 點擊界面下方的【輸出】按鍵。
- 選擇【輸出】-【啟動Solution】子頁。
- 點擊工具欄的【啟動】按鈕,【啟動】按鈕切換成【停止】按鈕。;
- 觀察【輸出】文本框,將會顯示打印內(nèi)容。
- 點擊電機工具欄的【停止】按鈕。
可以在輸出-啟動區(qū)域看到打印結(jié)果,計數(shù)每次累加1并打印到屏幕。 ?在目標(biāo)設(shè)備運行連接ZMC600E設(shè)備運行。
- 點擊設(shè)備下拉按鈕。
- 電機刷新搜索設(shè)備按鈕。
- 單擊選擇設(shè)備。

圖9 設(shè)備連接示意圖
輸入管理密碼,登錄到設(shè)備。

圖10 登錄對話框圖登錄成功時,下方狀態(tài)欄會顯示連接設(shè)備和對應(yīng)的MAC地址。
在設(shè)備端運行st腳本。

圖11 設(shè)備端啟動過程圖
點擊工具欄的【啟動】按鈕,【啟動】按鈕切換成【停止】按鈕。
觀察【輸出】文本框,將會顯示打印內(nèi)容。
點擊電機工具欄的【停止】按鈕。
可以在輸出文本框區(qū)域看到打印結(jié)果,計數(shù)每次累加1并打印到屏幕。
在電腦端編寫代碼,單擊一個按鈕就能編譯程序并在設(shè)備端運行程序,非常方便。實際上 AWStudio在后臺做了編譯相關(guān)工作,把構(gòu)建好的st程序打包發(fā)送到 ZMC600E設(shè)備,并通知守護進程啟動st腳本程序。
?添加主站從站
ZMC600E控制器通過 EtherCAT 協(xié)議連接了從站設(shè)備(電機驅(qū)動器)。首先添加一個 EtherCAT 主站總線,如下圖。

圖12 添加總線對話框圖
ZMC600E充當(dāng)主站控制器,需要配置總線網(wǎng)口。

圖13 資源連接對話框圖
接下來添加從站設(shè)備。打開添加從站對話框。

圖14 打開添加從站對話框圖搜索并添加從站。

圖15 添加從站圖
從站添加成功,右邊是從站詳細(xì)配置頁面。

圖16 從站詳細(xì)配置圖
從站編輯頁可以配置從站子頁,變量子頁,F(xiàn)MMU/SM子頁,郵箱子頁,初始化命令子頁,分布時鐘子頁。變量頁包含了PDO詳細(xì)信息,是從站的核心配置。AWStudio提供了自動映射機制,可以自動拆包解析PDO變量,避免了用戶直接處理繁瑣又容易出錯的PDO。這里我們跳過配置流程,直接使用默認(rèn)配置。如果有多個從站設(shè)備,需要重復(fù)上述流程添加從站。
?電機配置
打開電機配置頁面。

圖17 Cia402電機配置圖
映射關(guān)系頁面,可以查看或修改綁定的變量名。第一個從機的電機變量名稱默認(rèn)為“CiA402_AXIS_0”,該電機變量就是 PLCOPen 中的軸對象,后續(xù)我們寫代碼需要用到該變量。

圖18 電機映射關(guān)系配置頁面
通用頁面,可以編輯軸安全配置。

圖19 電機通用配置頁面
軸的虛擬模式開關(guān),支持在仿真模式下模擬軸運行,虛擬電機的控制模式和位置。仿真模式下能模擬EtherCAT主站和從站電機,便于用戶不連接設(shè)備也能調(diào)試腳本。
切換到縮放/映射頁面。默認(rèn)脈沖比是1:1,不需要特別配置。

圖20 電機縮放/映射配置頁面
如果縮放比分子調(diào)的比較大,則后面的代碼中的運動功能塊的位置和速度和加速度就需要調(diào)小。
?電機編程
由于AWStudio提供了PDO映射,所以我們可以免于管理主站和解析變量。此外AWStudio提供了PLCOPen運動接口,用戶可以方便地控制電機運動,避免直接管理電機控制和狀態(tài)的字典變量。接下來我們使用PLCOPen接口編寫電機使能代碼和電機運動代碼。
軸是對伺服電機的高級抽象,避免了直接處理從站電機的狀態(tài)字、控制字、指令位置等對象字典項,支持軸使能、發(fā)布運動、軸狀態(tài)查詢等功能。
以下是軸控制功能塊常用接口的簡單介紹:
MC_Power 控制軸使能(核心功能塊)。
MC_Reset 清除軸錯誤。
MC_ReadStatus 查詢軸狀態(tài)。
MC_ReadActualPosition 查詢軸實際位置。
MC_MoveAbsolute 軸運動到指定的絕對位置。
MC_MoveRelative 軸基于當(dāng)前位置按照偏移量運動。
操作要點:軸要先使能,才能驅(qū)動電機運動。電機存在錯誤時,要先清除錯誤,才能使能軸。
?電機使能
首先添加多個功能塊:軸狀態(tài)查詢,軸位置查詢,軸錯誤復(fù)位,軸使能功能塊。
然后編寫一個簡單的腳本,執(zhí)行上述的功能塊。
程序每運行200個周期,打印一次當(dāng)前計數(shù)、實際位置、軸使能狀態(tài)標(biāo)志。

圖21 代碼編輯框圖
腳本代碼如下:
rdst(Axis:=CiA402_AXIS_0,Enable := true);rdActPos(Axis:=CiA402_AXIS_0, Enable := true, Position => posAct);IF rdst.ErrorStop THEN rst(Axis := CiA402_AXIS_0, Execute := TRUE);END_IF;power(Axis:=CiA402_AXIS_0, Enable := true, bRegulatorOn := true, bDriveStart := true);IF MOD(cnt, 200) = 0 THEN PRINT_STR('cnt = ' + DWORD_TO_STRING(cnt) + ' pos=' + LREAL_TO_STRING(posAct)); PRINT_STR( 'Status ' + BOOL_TO_STRING(power.Status) + ' RegulatorOn ' + BOOL_TO_STRING(power.bRegulatorRealState));END_IF;cnt := cnt + 1;
查看打印過程。

圖22電機使能過程打印圖
可以看到,軸使能標(biāo)志位開始時為假,然后為真,并打印了電機實際位置。
?電機運動
電機使能成功,接下來就可以實際驅(qū)動電機轉(zhuǎn)動。
首先添加絕對運動功能塊,相對運動功能塊對應(yīng)的變量。
然后編寫程序:
等待軸使能狀態(tài)標(biāo)志為真。
軸執(zhí)行絕對運動。從當(dāng)前位置運動到 100單位的位置。
絕對運動到達目標(biāo)后,再執(zhí)行相對運動。從當(dāng)前位置,往前運動200的單位。

圖23 代碼編輯框圖
代碼中的位置,速度,加速度和減速度僅供參考,用戶可以根據(jù)實際情況自行縮放。
腳本代碼如下:
power(Axis:=CiA402_AXIS_0, Enable := true, bRegulatorOn := true, bDriveStart := true);if power.bRegulatorRealState THEN movAbs(Axis := CiA402_AXIS_0, Execute := TRUE, Position := 100, Velocity := 50, Acceleration := 100, Deceleration := 100, Jerk := 0); if movAbs.Done THEN moveRel(Axis := CiA402_AXIS_0, Execute := TRUE, Distance := 200, Velocity := 50, Acceleration := 100, Deceleration := 100, Jerk := 0); END_IFEND_IF
IF MOD(cnt, 50) = 0 THEN PRINT_STR('cnt = ' + DWORD_TO_STRING(cnt) + ' pos=' + LREAL_TO_STRING(posAct));END_IF;cnt := cnt + 1;
查看打印過程。

圖24 運動輪廓打印圖
查看打印過程,可以得到大概的運動輪廓:初始時軸在300單位位置,然后軸從300單位運動到100單位位置,再從100單位位置運動到300單位位置,然后停留不動。
?ZMC600E運動控制器
ZMC600E是廣州致遠(yuǎn)電子股份有限公司開發(fā)的最新一代高性能智能總線型控制器,是面向工廠智能化時代的機器人控制器。ZMC600E采用多核異構(gòu)應(yīng)用處理器為核心,其內(nèi)核包括2個64位的ArmCortex-A53核,主頻1.0GHz;4個Cortex-R5F內(nèi)核,主頻800MHz,同時板載1GB DDR4、4GB eMMC以及32KB FRAM。
ZMC600E 示意圖及接口圖如下所示:

圖1 產(chǎn)品示意圖

圖2 ZMC600E接口圖
ZMC600E EtherCAT主站控制器為設(shè)備制造商提供多軸數(shù)、多IO點數(shù)控制的新一代可靠智能的運動控制解決方案,提供空間直線、圓弧插補算法,可以廣泛應(yīng)用于注塑行業(yè)、沖壓行業(yè)、車床行業(yè)、搬運碼垛、關(guān)節(jié)機器人、噴涂、玻璃機、壓鑄機、包裝設(shè)備、3C設(shè)備、鋰電池設(shè)備、紡織、流水線工作站、非標(biāo)自動化裝備、特種機床等高端設(shè)備應(yīng)用。
-
控制器
+關(guān)注
關(guān)注
114文章
17049瀏覽量
183559 -
編程
+關(guān)注
關(guān)注
88文章
3686瀏覽量
95039 -
運動控制
+關(guān)注
關(guān)注
4文章
646瀏覽量
33459
發(fā)布評論請先 登錄
手把手教你學(xué)單片機之AVR入門視頻教程
手把手教程:各類數(shù)字電源設(shè)計實例(程序+原理圖)
手把手教你學(xué)stm32
【課程匯總】Hello HarmonyOS系列課程,手把手帶你零基礎(chǔ)入門
手把手教你安裝Quartus II
DSP開發(fā)軟件及工具介紹--力天手把手教你學(xué)DSP之入門篇

手把手教你學(xué)LabVIEW視覺設(shè)計
手把手教你開關(guān)電源PCB排板

評論