在實際的工業(yè)自動化設(shè)備應(yīng)用中,各種通信是必不可少的,比如PN通訊、S7通信、MODBUS TCP通信、MODBUS通信等等;而使用最廣的實屬MODBUS通信了,畢竟MODBUS是一款公開、免費、通用的通信協(xié)議;可往往很多時候在工業(yè)現(xiàn)場進(jìn)行設(shè)備調(diào)試時,偶爾會無故導(dǎo)致通信失敗或根本通信不上,而此時借用一個調(diào)試工具來進(jìn)行測試到底可能存在的因素在哪;其次,作為初學(xué)者而言,想學(xué)習(xí)MODBUS通信,在不增加通信儀表的情況下也可以借助調(diào)工具進(jìn)行測試學(xué)習(xí)。
下面通過西門子200SMART PLC作為MODBUS主站,借助調(diào)試工具作從站進(jìn)行通信測試。
通信任務(wù)如圖1所示。
圖1:數(shù)據(jù)交互示意圖
硬件準(zhǔn)備:
RS485轉(zhuǎn)USB接頭一個、RS485公頭一個、電纜線2根,如圖2所示;PC電腦一臺、200SMART一臺、通信網(wǎng)線一根。CPU本體端口引腳說明如圖3所示。
圖2:USB轉(zhuǎn)串口硬件
圖3:串口引腳說明
通信指令:西門子200SMART庫指令自動集成MODBUS通訊庫指令,根據(jù)不同的端口調(diào)用不同的庫指令本示例會用到的2條主站指令,圖4為主站初始化指令;圖5為主站數(shù)據(jù)讀寫指令。
圖4:主站初始化指令
圖5:主站數(shù)據(jù)讀寫指令
實施步驟:
1.在SMART側(cè)調(diào)用MODBUS主站庫指令進(jìn)行編程,如圖6/7所示。
圖6:主站數(shù)據(jù)讀寫程序
圖7:主站數(shù)據(jù)讀寫程序
2.通信程序編寫完成后需要分配286個V存儲區(qū)用于內(nèi)部運算,如圖8所示。
圖8:分配庫存儲器
3.下載程序后進(jìn)行測試,需要把圖2的硬件USB一端插在電腦端,RS485公頭插在CPU本體串口上面;插接好后在電腦管理器中查看具體的COM口。
圖9:端口號查看
4.打開Modsim32調(diào)試軟件,在連接設(shè)置中選擇與圖9匹配的端口6,如圖10所示;選擇連接端口后會彈出協(xié)議參數(shù)設(shè)置對話框,如圖11所示。需要注意,通信參數(shù)務(wù)必和初始化指令的參數(shù)一致才行。
圖10:連接設(shè)置
圖11:設(shè)置通信參數(shù)
5.在圖10中的“文件”菜單中選擇新建,device ID表示從站地址,設(shè)置為2。
第一組數(shù)據(jù)讀取從站40001(VW300-VW308)開始的連續(xù)5個字的數(shù)據(jù)放在主站VW200開始的5個字中,在調(diào)試軟件中分別在40001連續(xù)的5個字里面寫數(shù)據(jù),則在200SMART這邊監(jiān)控VW200-VW208的數(shù)據(jù)是一樣的,如圖12所示。
圖12:數(shù)據(jù)交換
第二組數(shù)據(jù)主站I0.0連續(xù)8個位的狀態(tài)寫給從站Q0.0連續(xù)的8個位,當(dāng)強(qiáng)制I0.2和I0.4時,從站0003 0005的狀態(tài)1;如圖13所示。
圖13:數(shù)據(jù)交換
第三組讀取從站QB6的數(shù)據(jù)存在主站VB210中,在調(diào)試軟件中分別把Q6.0 Q6.1置位為1,在SMART側(cè)VB210的數(shù)據(jù)為3,如圖14所示。
圖14:數(shù)據(jù)交換
第四組讀取從站AIW18的數(shù)據(jù)存在主站VW212中,在調(diào)試軟件中把30010設(shè)置為457的值后,在SMART側(cè)VW212的數(shù)據(jù)為457,如圖15所示。
圖15:數(shù)據(jù)交換
-
plc
+關(guān)注
關(guān)注
5011文章
13297瀏覽量
463306 -
通信
+關(guān)注
關(guān)注
18文章
6032瀏覽量
135990 -
MODBUS
+關(guān)注
關(guān)注
28文章
1805瀏覽量
76992
原文標(biāo)題:MODBUS通信異常?調(diào)試助手來幫忙
文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論