ZLAN5143D,5143,5243A,5407M等是專門為工業(yè)環(huán)境設(shè)計(jì)的RS485設(shè)備數(shù)據(jù)采集器/物聯(lián)網(wǎng)網(wǎng)關(guān),兼具澳門永利yl6776、Modbus網(wǎng)關(guān)、MQTT網(wǎng)關(guān)、RS485轉(zhuǎn)JSON等多種功能于一體。
MODBUS POLL/SLAVE
Modbus Poll是一個(gè)模擬Modbus協(xié)議主機(jī)的上位機(jī)調(diào)試軟件,主要用于模擬測試跟其他從機(jī)設(shè)備通信的過程。Modbus Slave是模擬Modbus協(xié)議從機(jī)的下位機(jī)調(diào)試軟件。該軟件內(nèi)部封裝標(biāo)準(zhǔn)Modbus協(xié)議棧,通過圖形化界面使得操作更為簡便。目前軟件支持01、02、03、04、05、06、15、16功能碼,異常報(bào)文檢測,原始報(bào)文查看,數(shù)據(jù)記錄等功能。
這里我主要講的是modbus tcp轉(zhuǎn)modbus rtu模式測試過程需要工具:筆記本電腦,usb轉(zhuǎn)485串口調(diào)試線,網(wǎng)線,9-24V電源
modbus tcp轉(zhuǎn)modbus rtu2.1 設(shè)備設(shè)置
點(diǎn)擊設(shè)備管理,自動搜索,搜索到設(shè)備后選中,再點(diǎn)擊編輯設(shè)備
配置設(shè)備參數(shù)圖
1.IP地址配置成上位機(jī)同一個(gè)網(wǎng)段,例如安裝poll的電腦ip地址為192.168.1.150,那可以將我們設(shè)備配置成192.168.1.150。
2.設(shè)備在作為modbus tcp從站的時(shí)候,端口號默認(rèn)為502。
3.設(shè)備在作為modbus tcp從站的時(shí)候,設(shè)備選擇為tcp服務(wù)器模式。
4.當(dāng)需要使用modbus tcp轉(zhuǎn)modbus rtu功能的時(shí)候,選擇MODBUS TCP協(xié)議
5.串口參數(shù)需要和下位機(jī)設(shè)備保持一致,例如slave為115200,8,無,1,我們設(shè)備也要設(shè)置的一樣。
ModbusSlave
第一步點(diǎn)擊connection,選擇connect
第二步connection選擇serial port,選擇485轉(zhuǎn)usb的串口號,這里選擇com4,串口參數(shù)需要和我們設(shè)備的串口參數(shù)一致。點(diǎn)擊ok
第三步點(diǎn)擊Setup---slave definition,slave id代表從站地址,function代表功能碼,例如01,02,03,04 這里我們選擇模擬03功能碼,address代表寄存器起始地址,我們默認(rèn)從0寄存器開始。quantity代表寄存器的數(shù)量,默認(rèn)100個(gè)。Rows代表每一列多少個(gè)寄存器,默認(rèn)是10個(gè)。最后點(diǎn)擊ok
最后如圖所示,代表模擬的是站地址為1,功能碼為3,寄存器0-99的設(shè)備。最后給00寄存器賦值200,01寄存器賦值201
2.3ModbusPoll
第一步點(diǎn)擊connection,connecion選擇modbus tcp/ip協(xié)議,IP地址就是我們5143D設(shè)備的IP地址,目的端就是我們設(shè)備的端口,最后點(diǎn)擊確定。
第二步點(diǎn)擊點(diǎn)擊Setup---Read/Write definition,slave id代表要去讀的從站地址,function代表功能碼,,address代表寄存器起始地址,。quantity代表寄存器的數(shù)量。根據(jù)剛剛設(shè)置的slave的參數(shù),這邊我們ID選擇1,功能碼選擇3,地址選擇從0開始,數(shù)量的話可以選擇0到100,但不能大于從站數(shù)量的值
設(shè)置完畢后可以看到已經(jīng)得到相關(guān)的數(shù)據(jù)了。并且沒有錯誤針或者丟包。Tx:表示指令發(fā)送次數(shù),Err:表示錯誤的次數(shù),包括超時(shí)未響應(yīng),ID:表示當(dāng)前設(shè)置的從機(jī)地址F:表示當(dāng)前設(shè)置的功能碼,SR:表示掃描周期(Scan Rate)
3.1常見選項(xiàng)
掃描周期:指poll下發(fā)指令的間隔,默認(rèn)1000ms,可以改成2000ms。
寫線圈:05功能碼,需要填寫站地址,寄存器地址,on或者off寫寄存器:06功能碼,需要填寫站地址,寄存器地址,寄存器的值
寄存器數(shù)據(jù)類型:有符號整型,無符號整型,長整型、浮點(diǎn)型(大小端)
數(shù)據(jù)流模式,可以看到下發(fā)(TX)的和回復(fù)(RX)的數(shù)據(jù)
有停止,清空,拷貝,保存,等...
3.2錯誤碼
Timeout:所有由軟件發(fā)出指令,從機(jī)設(shè)備未回復(fù)的情況,都會顯示Timeout。而從機(jī)設(shè)備不回復(fù),可能性有很多,比如:1、指令不對,不然站地址,功能碼寄存器地址,寄存器長度錯誤。2、線路異常,5143D和儀表之間的485接線問題。3.串口參數(shù)錯誤,比如5143D的波特率等和串口從站設(shè)備不一致
Illegal Function:功能碼異常,一般是當(dāng)訪問的從機(jī)設(shè)備不存在可操作的功能碼時(shí)出現(xiàn)。將slave的功能碼改成1,而poll還是讀3功能碼時(shí)出現(xiàn)
Illegal Data Address:地址異常,一般是當(dāng)訪問的從機(jī)設(shè)備不存在要讀取的寄存器/線圈地址時(shí)出現(xiàn) 如圖把slave的寄存器數(shù)量改成10.而poll的寄存器數(shù)量改成20后出現(xiàn)