• 正文
    • ? 編譯環(huán)境搭建
    • ? 新建工程
    • ? 編寫簡單腳本
    • ? 仿真運行程序
    • ? 在目標(biāo)設(shè)備運行
    • ? 添加主站從站
    • ? 電機配置
    • ? 電機編程
    • ? 電機使能
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

【技術(shù)分享】手把手帶你入門AWStudio運動控制編程

02/10 15:53
1125
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

面對一臺ZMC600E運動控制器與多臺伺服電機,我們該怎樣讓它工作起來?本文帶你了解PLCOPen,并詳細講解如何使用AWStudio控制電機運動。

在自動化領(lǐng)域,運動控制是一件很復(fù)雜的事情,包含了上位機通訊,工業(yè)現(xiàn)場總線通信協(xié)議,運動控制算法,伺服電機控制等領(lǐng)域知識。致遠電子自主研發(fā)的AWStudio 的 AWPLC 解決方案可以快速實現(xiàn)運動控制編程。

AWStudio 的邏輯組態(tài)提供了符合 IEC61131-3 標(biāo)準(zhǔn)的 ST 語言編程環(huán)境,該開發(fā)環(huán)境和運行時均是由 ZLG 致遠電子自主研發(fā),提供了帶智能提示的代碼編輯器,以及多種程序調(diào)試手段,讓用戶可以輕松開發(fā) PLC 程序。AWPLC 提供了 PLC 的運行時環(huán)境,可以運行用戶開發(fā)的 PLC 程序(開發(fā)環(huán)境生成的二進制文件),進而控制硬件 IO 或電機伺服器等按程序邏輯進行工作。

AWPLC 運行時環(huán)境是一個軟 PLC 的引擎,需要在一個硬件載體上運行,比如 ZLG 致遠電子的運動控制器,或者 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 添加從站圖從站添加成功,右邊是從站詳細配置頁面。

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

? 電機配置

打開電機配置頁面。

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

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

圖19 電機通用配置頁面軸的虛擬模式開關(guān),支持在仿真模式下模擬軸運行,虛擬電機的控制模式和位置。仿真模式下能模擬EtherCAT主站和從站電機,便于用戶不連接設(shè)備也能調(diào)試腳本。

切換到縮放/映射頁面。默認脈沖比是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?是廣州致遠電子股份有限公司開發(fā)的最新一代高性能智能總線型控制器,是面向工廠智能化時代的機器人控制器。ZMC600E采用多核異構(gòu)應(yīng)用處理器為核心,其內(nèi)核包括2個64位的Arm?Cortex?-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)用。

致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄