NB1A1串口服務(wù)器是億佰特自主研發(fā)的隔離型16路工業(yè)級串口服務(wù)器系列產(chǎn)品,可實(shí)現(xiàn)16路RS485串口到以太網(wǎng)口數(shù)據(jù)的雙向透明傳輸。該以太網(wǎng)串口服務(wù)器廣泛應(yīng)用于機(jī)房監(jiān)控、環(huán)境監(jiān)控、智能交通、道閘控制、智能快遞柜等行業(yè)。前文小編介紹了NB1A1串口服務(wù)器產(chǎn)品功能特點(diǎn)和LED指示燈介紹、16路RS485串口服務(wù)器快速入門應(yīng)用教程、NB1A1隔離型16路串口服務(wù)器基本功能詳解。本文會(huì)重點(diǎn)介紹NB1A1隔離型16路RS485串口服務(wù)器高級功能介紹,具體功能如下:
在客戶端模式,用戶可以選擇發(fā)送心跳包,自定義設(shè)置心跳包時(shí)間。心跳包可以選擇網(wǎng)絡(luò)心跳包、串口心跳包兩種模式,支持16進(jìn)制與ASCII碼發(fā)送,此心跳包非MQTT心跳,使用MQTT客戶端模式需要關(guān)閉,MQTT心跳只能在“MQTT參數(shù)配置”欄下配置“心跳周期”,MQTT心跳包內(nèi)容受到協(xié)議約束不開放配置,建議不要配置小于60s,比如阿里云手冊中建議使用120s。
心跳包發(fā)送模式:
1. ? 默認(rèn)為關(guān)閉心跳包模式。
2. ? 串口模式->設(shè)備按照設(shè)定的心跳時(shí)間間隔向串口總線發(fā)送心跳內(nèi)容。
3. ? 網(wǎng)口模式->設(shè)備按照設(shè)定的心跳時(shí)間間隔向網(wǎng)口總線發(fā)送心跳內(nèi)容。
自定義心跳包內(nèi)容(最大支持 128 字節(jié)(ASCII)數(shù)據(jù)、64 字節(jié)(HEX)數(shù)據(jù))
自定義心跳包發(fā)送時(shí)間間隔,設(shè)置為 0 時(shí)關(guān)閉心跳包功能,設(shè)置值大于零則打開心跳包功能,打開時(shí)可設(shè)置范圍:(1-65536)秒,默認(rèn)值為 0。
在客戶端模式下,用戶可以選擇發(fā)送注冊包,自定義設(shè)置注冊包時(shí)間。
注冊包支持以下幾種模式:
1. ? 網(wǎng)絡(luò)與設(shè)備建立連接時(shí)發(fā)送 MAC 地址(OLMAC)。
2. ? 網(wǎng)絡(luò)與設(shè)備建立連接時(shí)發(fā)送自定義注冊包的數(shù)據(jù)(OLCSTM)。
3. ? 網(wǎng)絡(luò)與設(shè)備建立連接后,設(shè)備向網(wǎng)絡(luò)發(fā)送的每包數(shù)據(jù)都在前面加 ?MAC 地址(EMBMAC)。
4. ? 網(wǎng)絡(luò)與設(shè)備建立連接后,設(shè)備向網(wǎng)絡(luò)發(fā)送的每包數(shù)據(jù)都在前面加自定義注冊包數(shù)據(jù)(EMBCSTM)。
自定義注冊包內(nèi)容(最大支持 128 字節(jié)(ASCII)數(shù)據(jù)、64 字節(jié)(HEX)數(shù)據(jù))
【注】配置注冊包時(shí)建議不要使用特殊字符(比如“,”“”“/”等),若要使用建議使用16進(jìn)制配置。
在客戶端模式下,支持網(wǎng)絡(luò)短連接(默認(rèn)關(guān)閉該功能),TCP短連接主要用于節(jié)省服務(wù)器資源開銷,一般應(yīng)用于多點(diǎn)(多客戶端)對一點(diǎn)(服務(wù)器)的場景。
TCP短連接功能應(yīng)用于 ?TCP Client ?模式下,開啟短連接功能后,只在發(fā)送信息時(shí)請求與服務(wù)器進(jìn)行連接,連接成功后,在設(shè)定的時(shí)間內(nèi)串口未接收導(dǎo)數(shù)據(jù)或網(wǎng)口無數(shù)據(jù)收發(fā),設(shè)備會(huì)自動(dòng)斷開連接。
短鏈接保持時(shí)間設(shè)置為 0 時(shí)關(guān)閉短連接功能。設(shè)置范圍為(2-255)秒時(shí),短連接功能打開,默認(rèn)保持時(shí)間為 0 秒(關(guān)閉短鏈接)。
開啟短連接后,需要使用 0 端口,否則設(shè)備斷開后,60S 內(nèi)不能進(jìn)行重連。
當(dāng)TCP連接未建立時(shí),串口接收的數(shù)據(jù)將會(huì)被放在緩存區(qū),串口接收緩存是1024字節(jié),網(wǎng)絡(luò)連接成功后,可通過配置選擇清空串口緩存或者將緩存通過網(wǎng)絡(luò)進(jìn)行發(fā)送。
啟用:設(shè)備不保存連接建立前串口收到的數(shù)據(jù)。
禁用:在連接建立后網(wǎng)絡(luò)將會(huì)收到串口緩存的數(shù)據(jù)。
啟用:對Modbus數(shù)據(jù)進(jìn)行校驗(yàn)非Modbus數(shù)據(jù)(RTU/TCP)拋棄不進(jìn)行傳輸,將Modbus RTU協(xié)議與Modbus TCP協(xié)議進(jìn)行互轉(zhuǎn)。
禁用:不進(jìn)行協(xié)議轉(zhuǎn)換但對Modbus數(shù)據(jù)進(jìn)行校驗(yàn),非Modbus數(shù)據(jù)(RTU/TCP)拋棄不進(jìn)行傳輸。
將Modbus RTU數(shù)據(jù)轉(zhuǎn)換為Modbus TCP數(shù)據(jù),或?qū)?/span>Modbus TCP數(shù)據(jù)轉(zhuǎn)換為Modbus RTU數(shù)據(jù),實(shí)現(xiàn)以太網(wǎng)Modbus 數(shù)據(jù)與串口 Modbus 數(shù)據(jù)的互轉(zhuǎn)。
簡單協(xié)議轉(zhuǎn)換可以工作在任意模式(TCP客戶端、TCP服務(wù)器、UDP客戶端、UDP服務(wù)器、MQTT客戶端),該網(wǎng)關(guān)模式不支持多主機(jī)操作,需要多主機(jī)請使用“存儲(chǔ)型網(wǎng)關(guān)”和“多主機(jī)模式”。
簡單協(xié)議轉(zhuǎn)換配置:
Modbus Poll 與 Modbus Slave 軟件調(diào)試:
軟件連接設(shè)置:
軟件寄存器讀取與仿真配置:
Poll 菜單選擇 SetupàRead/Write Definition
Slave 菜單選擇 SetupàSlave Definition
通訊演示:
相對簡單協(xié)議轉(zhuǎn)換只能存在一個(gè) Modbus 主站,而多主機(jī)模式則可以同時(shí)接入多臺(tái) Modbus TCP 主機(jī),當(dāng)多臺(tái) Modbus 主機(jī)同時(shí)訪問時(shí),Modbus 網(wǎng)關(guān)時(shí)會(huì)進(jìn)行總線的占用調(diào)度(RS-485總線只能一次處理一個(gè)請求,而多主機(jī)模式則會(huì)根據(jù) TCP 請求先后進(jìn)行排序處理,其他鏈路進(jìn)行等待),從而解決總線沖突問題(目前在服務(wù)器模式下最多支持 16 路 Modbus TCP 主機(jī)連接,多路主機(jī)同時(shí)接入是應(yīng)當(dāng)注意請求間隔和超時(shí)時(shí)間的匹配,否則會(huì)應(yīng)為串口傳輸速率遠(yuǎn)小于以太網(wǎng)傳輸速率導(dǎo)致丟包,若需要快速響應(yīng)建議使用“存儲(chǔ)型網(wǎng)關(guān)”),只支持工作在TCP 服務(wù)器模式,并且從機(jī)只能在串口,否則無法正常工作。
隨著主機(jī)數(shù)量的增加相應(yīng)的應(yīng)當(dāng)增加 Modbus 超時(shí)時(shí)間,若需要多臺(tái)主機(jī)連續(xù)高速請求建議使用“存儲(chǔ)型網(wǎng)關(guān)”,建議在無多路主機(jī)使用時(shí)配置為“簡單協(xié)議轉(zhuǎn)換”。
軟件配置與寄存器配置參考“簡單協(xié)議轉(zhuǎn)換”,同時(shí)開啟多個(gè) Modbus Poll 軟件(3 路為例,服務(wù)器模型下最多可以支持 8 路)。
存儲(chǔ)型網(wǎng)關(guān)不僅對總線數(shù)據(jù)進(jìn)行仲裁還將對重復(fù)的讀取指令進(jìn)行存儲(chǔ),當(dāng)不同主機(jī)請求相同數(shù)據(jù)時(shí)網(wǎng)關(guān)無需在多次詢問 RTU 設(shè)備寄存器狀態(tài),而直接返回存儲(chǔ)區(qū)內(nèi)緩存的數(shù)據(jù),極大程度上提升了網(wǎng)關(guān)的多主機(jī)請求處理能力,同時(shí)也縮短了整個(gè)請求流程所消耗的時(shí)間。用戶可以根據(jù)需求自定義存儲(chǔ)區(qū)指令輪詢間隔以及指令存儲(chǔ)時(shí)間。
存儲(chǔ)型網(wǎng)關(guān)作為對多主機(jī)請求性能的優(yōu)化,也是只能工作在 TCP 服務(wù)器模式,提升了網(wǎng)絡(luò)側(cè)的響應(yīng)速度。
存儲(chǔ)型網(wǎng)關(guān)特點(diǎn):
(1) ?網(wǎng)關(guān)具有緩存用于存儲(chǔ)指令和返回結(jié)果的存儲(chǔ)(03/04 碼 125 個(gè)寄存器,01/02 碼 2000個(gè)寄存器);
(2) ?RTU 響應(yīng)超時(shí)自動(dòng)清空緩存,保證數(shù)據(jù)的實(shí)時(shí)性和真實(shí)性;
(3) ?輪詢間隔可進(jìn)行自定義,0-65535ms(默認(rèn):200ms);
(4) ?網(wǎng)關(guān)會(huì)根據(jù)用于配置的指令存儲(chǔ)時(shí)間輪詢 RTU 設(shè)備,MODBUS 主機(jī)在存儲(chǔ)時(shí)間內(nèi)沒有再次查詢該指令,網(wǎng)關(guān)自動(dòng)刪除存儲(chǔ)指令釋放緩存;
(5) ?第一條讀取指令與控制指令(05、06、0F、10 功能碼)會(huì)直接訪問 RTU 設(shè)備;
(6) ?僅支持 01、02、03、04 功能碼 Modbus 查詢結(jié)果存儲(chǔ);
配置型網(wǎng)關(guān)根據(jù)預(yù)配置的 MODBUS 指令,自動(dòng)輪詢 RTU 設(shè)備寄存器(僅支持 MODBUS 讀指令的配置),非存儲(chǔ)表內(nèi)指令直接操作 RTU 設(shè)備,可以將經(jīng)常讀取的指令提前存儲(chǔ)在網(wǎng)關(guān)內(nèi),可以縮短響應(yīng)時(shí)間(查詢配置的指令),數(shù)據(jù)不會(huì)直接發(fā)送給服務(wù)器需要 Modbus 主機(jī)請求才會(huì)返回,與“簡單協(xié)議轉(zhuǎn)換”使用方法類似,若需要將數(shù)據(jù)自動(dòng)上傳到服務(wù)器請選擇“自動(dòng)上傳”。由于以上特點(diǎn),可配置型網(wǎng)關(guān)的串口側(cè)只可連接 Modbus 從站。
指令存儲(chǔ)說明(增加,指令錯(cuò)誤與格式錯(cuò)誤無法添加,無需添加 CRC 校驗(yàn)位):
指令存儲(chǔ)說明(刪除):
在客戶端模式(TCP 客戶端、UDP 客戶端、MQTT 客戶端、HTTP 客戶端)網(wǎng)關(guān)會(huì)自動(dòng)輪詢存儲(chǔ)指令表內(nèi)指令并上傳至服務(wù)器,可以根據(jù)需求選擇反饋格式(Modbus RTU 格式或者Modbus TCP 格式)以及指令輪詢間隔(0-65535ms)。
指令預(yù)存儲(chǔ)參考“可配置型網(wǎng)關(guān)-指令存儲(chǔ)說明”。
如使用 Modbus TCP 格式則需要開啟 RTU《=》TCP 協(xié)議轉(zhuǎn)換。
TCP 客戶端演示(Modbus RTU格式):
TCP 客戶端演示(Modbus TCP 格式):
用戶可以通過網(wǎng)線對設(shè)備進(jìn)行固件升級,升級方法詳升級包(有新的固件會(huì)上傳至官網(wǎng)相關(guān)下載中)。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!