工控網首頁
>

應用設計

>

用PLC實現485自由協議通訊

用PLC實現485自由協議通訊

2023/10/30 15:40:51

PLC是種專門為在工業環境下應用而設計的數字運算操作電子系統。它采用一種可編程的存儲器,在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,通過數字式或模擬式的輸入輸出來控制各種類型的機械設備或生產過程。
485總線在日常中也廣泛應用于多主機/驅動器工業環境。其典型應用與RS-422相似,包括:過程自動化(化工、釀造、造紙)、工廠自動化(汽車制造、金屬加工)、HVAC、安防、電機控制、運動控制
本文將使用PLC來實現485自由協議通訊控制下位設備。

一:調試前的準備

搭建測試環境:電腦上安裝好PLC配套的編程環境。PLC肯定要選擇支持485自有通訊的型號,本次使用的是匯川的H3U系列,使用的編程軟件為autoshop。

下位設備選擇使用485自由協議的步進電機控制器,這里使用的是譜思PMC005B3多軸控制器,同時準備好電源,連接線:
演示使用的所用硬件如下表所示:

二:硬件連接示意

三:通訊口參數設置

首先設置通訊口的參數。

PLC的自由通訊口是COM1,所以選擇COM1進行設置。根據下位設備使用的協議進行選擇就好。注意站號需要修改,不能沖突。設置完成之后,確定保存。這里的起始符與結束符都是十進制的ASCII碼,意思是在傳輸的字符串頭尾分別加上起始符與結束符。比如PMC005的通訊協議中規定,換行符(10進制ASCII碼為13)是一條指令的結束標志,可以在這里勾選結束符13,就不用在手動在每條指令中添加。

四:編程并運行

接下來我們編寫程序。如下圖:

可以在查看中變更編程語言的類型。

使用的是內置功能塊RS發送自由指令,采用的是用直接將16進制的ASCII碼賦值給PLC內部的寄存器的方式。這里發送的指令是/8&\r,根據通訊協議是查詢8號站點的固件版本與時間。

接下來是編譯、下載、聯機、運行
在登錄設備下載程序前,請確認PLC模塊已經與電腦正常連接。如果沒有,請檢查您的連線、供電。使用以太網連接時,請確保PLC的IP與電腦IP在同一網段。
在開始運行前,請先調整機構,保您的設備能夠進行測試,以防出現不必要的損失和意外。
之后可以開始運行程序。

將程序下載到PLC當中,運行后打開監控。如果提示編譯錯誤,請檢查程序編寫。

進入監控界面,打開寫入根據程序邏輯,這里只要將M1置1就會自動賦值并且將指令發送,返回的指令可以監控D100以及之后的寄存器,轉化為字符串就可以看到返回信息。這里為了方便我們外掛了一個485轉換器到電腦上,用串口調試助手可以看到返回的數據。

已經讀取到了內部時間和版本號,這樣說明通訊就成功了。在這個基礎上我們不妨對程序稍加改動,發一個復雜的組合指令。

使用同樣的方式我們將所有軸的細分設置為16,工作電流設置為50%,待機電流設置為40%,加速度因子100,最大速度32000PPS,并且同時讓四軸運行正轉32000步。

同樣的將M3置1,就會賦值,并且發送。

同樣的使用串口調試助手監控到了控制器的返回報文,此時四個電機已經同時運轉了,這樣一來一個簡單的485通訊控制電機轉動的小程序就完成了!

五:沒有返回值,應該如何排查

  1. 檢查連線是否正確,是否符合485組網規范。

  2. 檢查通訊設置,波特率等是否正確

  3. 檢查PLC程序是否正常運行。

  4. 檢查指令的編寫,指定的站點號、指令格式、指令內容等是否正確,是否末尾添加換行符。特別的,PMC005的協議中嚴格區分大小,指令中的逗號也是英文(半角)符號,請注意。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

通訊異常,該如何終止步進電機的運動

一般反向電動勢(倒發電)現象的處理方法

PLC的modbus設置

多圈一體化步進電機在工業糾偏系統中的應用

譜思多軸板自動化移液處理方案