超聲波流量計modbus協(xié)議簡(jiǎn)介
Modbus是一種串行通信協(xié)議,是Modicon公司(現在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表。Modbus已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標準(De facto),并且現在是工業(yè)電子設備之間常用的連接方式。
Modbus是一種一主一從的一對一通信方式(主機發(fā)一幀,從機回一幀的形式),當然也一主多從,但實(shí)際也是一對一通信,同一時(shí)刻只能有一個(gè)從機進(jìn)行響應。如果需要和多個(gè)從機同時(shí)通信,這里也支持使用廣播,即主機發(fā)送指令,所有從機接收指令并執行,但不進(jìn)行應答??梢詤⒖紘鴺藰藴剩ㄒ韵潞?jiǎn)稱(chēng)國標),GBT 19582-2。
當進(jìn)行一主多從通信時(shí),主機通過(guò)從機ID號來(lái)區分要通信的從機設備。從機ID范圍為1~247,0為廣播地址,248~255為用戶(hù)自定義地址。
用我公司生產(chǎn)的超聲波流量計舉例,根據通訊協(xié)議上寫(xiě)明40001是超聲波流量的瞬時(shí)流量,數據類(lèi)型寫(xiě)的是float,以此我們來(lái)說(shuō)明,40001說(shuō)的是使用的保持寄存器,對應的功能碼是03號,1指的是寄存器從1號開(kāi)始,因為國內的組態(tài)軟件都是從1開(kāi)始的,但是原始報文對應的是16進(jìn)制的報文0,因為float浮點(diǎn)數是占2個(gè)寄存器地址,4個(gè)字節,因此匯總所有的信息可以知道因發(fā)出去的指令為010300000002后面需要加CRC校驗的,開(kāi)頭的01指的是儀表的站號,由此進(jìn)行組合,當然開(kāi)頭的站號是會(huì )進(jìn)行變更的,因為485的通訊協(xié)議內規定站號是從1-255的,以上是10進(jìn)制,轉為16進(jìn)制為01-FF,綜合以上解釋?zhuān)罱K形成的16進(jìn)制串口請求指令為010300000002C40B,發(fā)送請求指令到超聲波流量的通訊端口上,超聲波流量計通訊端口上獲取到請求指令后,會(huì )回復對應的回復指令,回復的指令也同樣遵行標準的modbus RTU指令標準,以上訴指令為例,回復因為0104XXXXXXXX+CRC,
01為站號對應回復,04是代表浮點(diǎn)數是4個(gè)字節,2個(gè)寄存器,04后面會(huì )有對應的4字節的16進(jìn)制的數據,該數據就是表示浮點(diǎn)數的值,目前是16進(jìn)制表示的,需要進(jìn)行浮點(diǎn)數轉化才可以,最后加上CRC校驗,以上就是一次標準的超聲波流量計標準的485通訊,包含請求和回復,一次完成的通訊就完成了,每次請求數據與再次請求數據之間的間隔一般需要在1秒以上。如果一個(gè)總線(xiàn)上需要獲取多個(gè)超聲波流量計,通訊間隔時(shí)間需要累加起來(lái)計算。
掃一掃 微信咨詢(xún)
©2025 江蘇佰創(chuàng )儀表集團有限公司 版權所有 備案號:蘇ICP備19019925號-3 技術(shù)支持:儀表網(wǎng) Sitemap.xml 總訪(fǎng)問(wèn)量:173926 管理登陸