Modbus是什么通訊協(xié)議
更新時間:2023-08-07 瀏覽次數(shù):1126
Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表。Modbus已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標準(De facto),并且現(xiàn)在是工業(yè)電子設(shè)備之間常用的連接方式。 Modbus比其他通信協(xié)議使用的更廣泛的主要原因有:
Modbus允許多個 (大約240個) 設(shè)備連接在同一個網(wǎng)絡(luò)上進行通信,舉個例子,一個由測量溫度和濕度的裝置,并且將結(jié)果發(fā)送給計算機。在數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(SCADA)中,Modbus通常用來連接監(jiān)控計算機和遠程終端控制系統(tǒng)(RTU)。
協(xié)議版本
Modbus協(xié)議目前存在用于串口、以太網(wǎng)以及其他支持互聯(lián)網(wǎng)協(xié)議的網(wǎng)絡(luò)的版本。
大多數(shù)Modbus設(shè)備通信通過串口EIA-485物理層進行。
對于串行連接,存在兩個變種,它們在數(shù)值數(shù)據(jù)表示不同和協(xié)議細節(jié)上略有不同。Modbus RTU是一種緊湊的,采用二進制表示數(shù)據(jù)的方式,Modbus ASCII是一種人類可讀的,冗長的表示方式。這兩個變種都使用串行通信(serial communication)方式。RTU格式后續(xù)的命令/數(shù)據(jù)帶有循環(huán)冗余校驗的校驗和,而ASCII格式采用縱向冗余校驗的校驗和。被配置為RTU變種的節(jié)點不會和設(shè)置為ASCII變種的節(jié)點通信,反之亦然。
對于通過TCP/IP(例如以太網(wǎng))的連接,存在多個Modbus/TCP變種,這種方式不需要校驗和計算。
對于所有的這三種通信協(xié)議在數(shù)據(jù)模型和功能調(diào)用上都是相同的,只有封裝方式是不同的。
Modbus有一個擴展版本Modbus Plus(Modbus+或者MB+),不過此協(xié)議是Modicon專有的,和Modbus不同。它需要一個專門的協(xié)處理器來處理類似HDLC的高速令牌旋轉(zhuǎn)。它使用1Mbit/s的雙絞線,并且每個節(jié)點都有轉(zhuǎn)換隔離裝置,是一種采用轉(zhuǎn)換/邊緣觸發(fā)而不是電壓/水平觸發(fā)的裝置。連接Modbus Plus到計算機需要特別的接口,通常是支持ISA(SA85),PCI或者PMCIA總線的板卡。
折疊編輯本段通信和設(shè)備
Modbus協(xié)議是一個master/slave架構(gòu)的協(xié)議。有一個節(jié)點是master節(jié)點,其他使用Modbus協(xié)議參與通信的節(jié)點是slave節(jié)點。每一個slave設(shè)備都有一個wei一的地址。在串行和MB+網(wǎng)絡(luò)中,只有被zhi定為主節(jié)點的節(jié)點可以啟動一個命令(在以太網(wǎng)上,任何一個設(shè)備都能發(fā)送一個Modbus命令,但是通常也只有一個主節(jié)點設(shè)備啟動指令)。
一個ModBus命令包含了打算執(zhí)行的設(shè)備的Modbus地址。所有設(shè)備都會收到命令,但只有zhiding 位置的設(shè)備會執(zhí)行及回應(yīng)指令(地址0例外,zhi定地址0的指令是廣播指令,所有收到指令的設(shè)備都會運行,不過不回應(yīng)指令)。所有的Modbus命令包含了檢查碼,以確定到達的命令沒有被破壞。基本的ModBus命令能指令一個RTU改變它的寄存器的某個值,控制或者讀取一個I/O端口,以及指揮設(shè)備回送一個或者多個其寄存器中的數(shù)據(jù)。
有許多modems和網(wǎng)關(guān)支持Modbus協(xié)議,因為Modbus協(xié)議很簡單而且容易復(fù)制。它們當中一些為這個協(xié)議特別設(shè)計的。有使用有線、無線通信甚至短消息和GPRS的不同實現(xiàn)。不過設(shè)計者需要克服一些包括高延遲和時序的問題。
- (上一篇):今日說說限流孔板流量計的一些小知識
- (下一篇):使用多喉徑流量計時,有一些注意事項需要考慮