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