ZLAN5143D,5143,5243A,5407M等是專門為工業環境設計的RS485設備數據采集器/物聯網網關,兼具串口服務器、Modbus網關、MQTT網關、RS485轉JSON等多種功能于一體。
MODBUS POLL/SLAVE
Modbus Poll是一個模擬Modbus協議主機的上位機調試軟件,主要用于模擬測試跟其他從機設備通信的過程。Modbus Slave是模擬Modbus協議從機的下位機調試軟件。該軟件內部封裝標準Modbus協議棧,通過圖形化界面使得操作更為簡便。目前軟件支持01、02、03、04、05、06、15、16功能碼,異常報文檢測,原始報文查看,數據記錄等功能。
這里我主要講的是modbus tcp轉modbus rtu模式測試過程需要工具:筆記本電腦,usb轉485串口調試線,網線,9-24V電源
modbus tcp轉modbus rtu2.1 設備設置
點擊設備管理,自動搜索,搜索到設備后選中,再點擊編輯設備

配置設備參數圖
1.IP地址配置成上位機同一個網段,例如安裝poll的電腦ip地址為192.168.1.150,那可以將我們設備配置成192.168.1.150。
2.設備在作為modbus tcp從站的時候,端口號默認為502。
3.設備在作為modbus tcp從站的時候,設備選擇為tcp服務器模式。
4.當需要使用modbus tcp轉modbus rtu功能的時候,選擇MODBUS TCP協議
5.串口參數需要和下位機設備保持一致,例如slave為115200,8,無,1,我們設備也要設置的一樣。
ModbusSlave
第一步點擊connection,選擇connect

第二步connection選擇serial port,選擇485轉usb的串口號,這里選擇com4,串口參數需要和我們設備的串口參數一致。點擊ok

第三步點擊Setup---slave definition,slave id代表從站地址,function代表功能碼,例如01,02,03,04 這里我們選擇模擬03功能碼,address代表寄存器起始地址,我們默認從0寄存器開始。quantity代表寄存器的數量,默認100個。Rows代表每一列多少個寄存器,默認是10個。最后點擊ok

最后如圖所示,代表模擬的是站地址為1,功能碼為3,寄存器0-99的設備。最后給00寄存器賦值200,01寄存器賦值201

2.3ModbusPoll
第一步點擊connection,connecion選擇modbus tcp/ip協議,IP地址就是我們5143D設備的IP地址,目的端就是我們設備的端口,最后點擊確定。

第二步點擊點擊Setup---Read/Write definition,slave id代表要去讀的從站地址,function代表功能碼,,address代表寄存器起始地址,。quantity代表寄存器的數量。根據剛剛設置的slave的參數,這邊我們ID選擇1,功能碼選擇3,地址選擇從0開始,數量的話可以選擇0到100,但不能大于從站數量的值

設置完畢后可以看到已經得到相關的數據了。并且沒有錯誤針或者丟包。Tx:表示指令發送次數,Err:表示錯誤的次數,包括超時未響應,ID:表示當前設置的從機地址F:表示當前設置的功能碼,SR:表示掃描周期(Scan Rate)

3.1常見選項
掃描周期:指poll下發指令的間隔,默認1000ms,可以改成2000ms。

寫線圈:05功能碼,需要填寫站地址,寄存器地址,on或者off寫寄存器:06功能碼,需要填寫站地址,寄存器地址,寄存器的值

寄存器數據類型:有符號整型,無符號整型,長整型、浮點型(大小端)

數據流模式,可以看到下發(TX)的和回復(RX)的數據

有停止,清空,拷貝,保存,等...

3.2錯誤碼
Timeout:所有由軟件發出指令,從機設備未回復的情況,都會顯示Timeout。而從機設備不回復,可能性有很多,比如:1、指令不對,不然站地址,功能碼寄存器地址,寄存器長度錯誤。2、線路異常,5143D和儀表之間的485接線問題。3.串口參數錯誤,比如5143D的波特率等和串口從站設備不一致

Illegal Function:功能碼異常,一般是當訪問的從機設備不存在可操作的功能碼時出現。將slave的功能碼改成1,而poll還是讀3功能碼時出現

Illegal Data Address:地址異常,一般是當訪問的從機設備不存在要讀取的寄存器/線圈地址時出現 如圖把slave的寄存器數量改成10.而poll的寄存器數量改成20后出現

