在西門子PLC串口Modbus RTU通信的時候,想必大家基本上都要事先使用串口調試助手測試一下通信設置的相關參數,是否可以發送和接收,那么接下來,給大家詳細分析一下串口調試助手與S7-200SMART PLC從站通信。
一、 準備工具
1. 西門子S7-200SMART PLC一臺
2. 一根USB轉485通信線
3. 一根網線
4. STEP 7-MicroWIN SMART編程軟件,串口調試助手軟件
二、 編寫程序
第一步:
(在桌面打開STEP 7-MicroWIN SMART編程軟件)
第二步:(從庫指令當中調用Modbus RTU Slave從站指令)
(填寫MBUS_INIT 指令(初始化從站)與MBUS_SLAVE 指令)
MBUS_INIT 指令(初始化從站)各引腳填寫如下:
1. 概念:使能端(EN):
給EN使能接通MBUS_INIT 指令(初始化從站)
填寫:
這里填寫SM0.1。
2. 概念:模式(Mode):
輸入的值用于選擇通信協議:
輸入值為 1 時,分配 Modbus 協議并啟用該協議;輸入值為 0 時,分配 PPI 協議并禁用 Modbus 協議。
填寫:
這里必須填寫數值1,因為要啟用Modbus 協議。
3. 概念:
地址(Addr):從站站地址,范圍1 至 247 之間數值。
填寫:
這里填寫3,從站站號是3。
4. 概念:波特率(Baud):
波特率可分為 :
1200、2400、4800、9600、19200、38400、57600 或 115200。
填寫:
這里填寫9600波特率。
5. 概念:奇偶校驗(Parity):
應設置為與 Modbus 主站的奇偶驗校相匹配。所有設置使用一個停止位。
接受的值如下:
0(無奇偶校驗)、
1(奇校驗)和 2(偶校驗)。
填寫:
這里填寫0,無校驗。
6. 概念:端口(Port):
設置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選信號板上的 RS-485 或 RS-232)。
填寫:
這里我們填寫0,使用CPU上自帶的串口,這里要注意的是,如果使用擴展的信號板必須要填寫1。
7. 概念:
延時(Delay):
通過使標準 Modbus 信息超時時間增加分配的毫秒數來延遲標準 Modbus 信息結束超時條件。在有線網絡上運行時,該參數的典型值應為 0。如果使用具有糾錯功能的調制解調器,則將延時設置為 50 至 100 ms 之間的值。如果使用擴頻無線通信,則將延時設置為 10 至 100 ms 之間的值。“延時”(Delay) 值可以是 0 至 32767 ms。
填寫:
這里填寫0,沒有延遲。
8. 概念:參數MaxIQ:
用于設置 Modbus 地址 0xxxx 和 1xxxx 可用的 I 和 Q 點數,取值范圍是 0 至 256。
值為 0 時,將禁用所有對輸入和輸出的讀寫操作。
建議將 MaxIQ 值設置為 256。
填寫:
這里填寫256,填寫最大值。
9. 概念:參數MaxAI:
用于設置 Modbus 地址 3xxxx 可用的字輸入 (AI) 寄存器數,取值范圍是 0 至 56。值為 0 時,將禁止讀取模擬量輸入。建議將 MaxAI 設置為以下值,以允許訪問所有 CPU 模擬量輸入:
0(用于 CPU CR20s、CR30s、CR40s 和 CR60s)
56(所有其它 CPU 型號)
填寫:
這里填寫56,所有CPU型號。
10. 概念:參數MaxHold:
用于設置 Modbus 地址 4xxxx 或 4yyyyy 可訪問的 V 存儲器中的字保持寄存器數。
例如,如果要允許 Modbus 主站訪問 2000 個字節的 V 存儲器,請將 MaxHold 的值設置為 1000 個字(保持寄存器)。
填寫:
這里填寫1000,可以使用2000個字節。
11. 概念參數HoldStart:
是 V 存儲器中保持寄存器的起始地址。該值通常設置為 VB0,因此參數 HoldStart 設置為 &VB0(地址 VB0)。也可將其它 V 存儲器地址指定為保持寄存器的起始地址,以便在項目中的其它位置使用 VB0。Modbus 主站可訪問起始地址為 HoldStart,字數為 MaxHold 的 V 存儲器。
填寫:
這里填寫&VB0,這里要注意的是一定要在地址前面加一個指針地址,&號。
MBUS_INIT 指令(初始化從站)各引腳填寫數據類型如下:
1. 概念:使能端(EN):
給EN使能接通MBUS_SLAVE 指令
填寫:
這里填寫SM0.0。
2. 概念:
完成位(Done):MBUS_INIT 指令完成時,“完成”(Done) 輸出接通。
填寫:
這里填寫M0.1
3. 概念:錯誤位Error:
Error 輸出字節包含指令的執行結果。僅當“完成”(Done) 接通時,該輸出才有效。如果“完成”(Done) 關閉,則錯誤參數不會改變,當通信有錯誤時,錯誤位Error會提示錯誤代碼,查看相應的代碼可以查找對應的錯誤并解決。
填寫:
這里填寫MB5。
MBUS_SLAVE 指令各引腳填寫數據類型如下:
三、 USB轉RS485通訊線連接
第一步:
(把RS 485 9針串口接頭插入到PLC上)
(這是USB轉232再轉485接線板,我們把485接線板對應3正8負兩個引腳用兩個導線連接起來。)
(把USB接口插入電腦USB端,當成功插入電腦后驅動會自動安裝)
第一步:
(打開串口調試軟件)
(設置串口調試助手參數,參考MBUS_INIT 指令(初始化從站)各引腳參數來填寫)
1. 端口號:
是你USB轉RS485通信電纜的驅動,如果在電腦上正確安裝驅動以后,會在計算機或者此電腦屬性—設備管理器查看對應的COM端口。
比如我的端口號COM13,所以在串口調試助手填寫端口號的時候選擇COM13,這是根據你電腦COM端分配,沒有固定端口號。
3. 數據位:8個位
4. 效驗位:無效驗(NONE)
5. 停止位:2個位。
6. 設備地址:選擇03。
7. 寄存器地址:00 00,從VW0開始。
8. 寄存器數:00 03 讀取3個地址。
9. 03是讀寄存器。
第三步:
(調試串口接收)
PLC從站:
用狀態圖表給VW0地址寫入一個數值,比如隨便寫入一個156。
點擊軟件單次讀取,這時看圖中紅色方框里顯示十進制156、16進制9C,和PLC寫入數值一樣,代表寫入通訊成功。
(調試串口發送)
串口調試助手:選擇10寫寄存器功能。
從圖中可以看到VW0顯示數值568,代表寫入通信成功。
以上知識點大家都理解并且掌握了嘛?如果你還百思不得其解的?可以在上述文章找答案!