日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> PLC基礎(chǔ)入門教程 >> 正文

ModBus通信協(xié)議

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2022/4/5

ModBus通信協(xié)議
1 1. 主從模式

RS-485上的軟件層協(xié)議ModBus主要依賴于主從模式。主從模式是指在半雙工通訊方式上,2個(gè)或者2個(gè)以上的設(shè)備組成的通訊系統(tǒng)中: 
ModBus通信協(xié)議 主從模式 
(1) 至少且只有一個(gè)主機(jī),其他的都是從機(jī)
(2) 不管任何時(shí)候,從機(jī)都不能主動(dòng)向主機(jī)發(fā)送數(shù)據(jù)

(3) 主機(jī)具有訪問從機(jī)的權(quán)限,從機(jī)不可以主動(dòng)訪問從機(jī),任何一次數(shù)據(jù)交換,都要由主機(jī)發(fā)起
(4)不管是主機(jī)還是從機(jī),系統(tǒng)一旦上電,都要把自己置于接收狀態(tài)(或者稱為監(jiān)聽狀態(tài))

主從機(jī)的數(shù)據(jù)交互,需要:
a. 主機(jī)將自己轉(zhuǎn)為發(fā)送狀態(tài)
b. 主機(jī)按照預(yù)先約定的格式發(fā)出尋址數(shù)據(jù)幀。
所謂的約定,可是主機(jī)開發(fā)者和從機(jī)開發(fā)者約定好的規(guī)約,好,例如主機(jī)要通過從機(jī)控制接在從機(jī)的電機(jī),主機(jī)要啟動(dòng)電機(jī)就往從機(jī)發(fā)0x1,停止電機(jī)就往從機(jī)發(fā)0x2。這就是一種預(yù)
先約定好的格式,但是這樣做,互換性、兼容性、通用性差,例如其他公司是約定發(fā)送0x03讓電機(jī)轉(zhuǎn)動(dòng),發(fā)0x04讓電機(jī)停止。導(dǎo)致不同廠家的主機(jī)、從機(jī)不能相互通訊。用戶需要的,就像網(wǎng)絡(luò)操作,只要接入有網(wǎng)的網(wǎng)線那么計(jì)算機(jī)都能上網(wǎng)。
所以說,我們需要一種大家都共同遵循的規(guī)則(可以是ModBus,也可以是TCP/IP等上層協(xié)議),這種大家認(rèn)可,共同遵循的軟件層協(xié)議。軟件層協(xié)議主要是解決如何解析傳輸?shù)臄?shù)據(jù),即傳輸?shù)哪康幕蛘吒涌煽康膫鬏敂?shù)據(jù)。
半雙工通訊中,都是主機(jī)尋找從機(jī),主機(jī)的目的無非有: 主機(jī)要發(fā)數(shù)據(jù)給從機(jī),或者主機(jī)要從從機(jī)中獲取數(shù)據(jù)。
c. 主機(jī)恢復(fù)自身的接收狀態(tài)
主機(jī)等待自身所尋址的從機(jī)作回應(yīng),也就是說從機(jī)接收到主機(jī)的尋址命令、數(shù)據(jù)后一定要回應(yīng)主機(jī),不然主機(jī)會(huì)認(rèn)為從機(jī)通訊異常。回應(yīng)數(shù)據(jù)包也是要按照ModBus協(xié)議規(guī)約(其實(shí)不局限ModBus,像TCP/IP也需要回應(yīng)是吧!~)
2. ModBus通訊協(xié)議

通俗點(diǎn)來講,ModBus規(guī)約了起停電機(jī),主機(jī)要分別發(fā)送什么命令給從機(jī)。ModBus規(guī)定主從機(jī)之間數(shù)據(jù)的交互,需要遵循什么樣的格式,如何保證數(shù)據(jù)在傳輸過程中不發(fā)生沖突。只要都遵循這個(gè)協(xié)議,那么不同廠家的主從機(jī)就可以共用了。
ModBus一般是工作在一主多從的場(chǎng)景,還是這個(gè)圖: 
 
主機(jī)和從機(jī)之間的連線不一定是非要485來作為載體,也可以是IIC,SPI。因?yàn)镸odBus是軟件層的協(xié)議,它既可以規(guī)約485硬件接線方式,也可以規(guī)約其他硬件接線方式。很多資料會(huì)寫”基于RS-485的ModBus通訊協(xié)議”,意思是底層的0、1數(shù)據(jù)是通過RS-485方式去傳輸?shù)模?、1的意義則是通過ModBus去解析的。強(qiáng)調(diào),硬件協(xié)議可以確保數(shù)據(jù)得以傳輸出去,軟件協(xié)議保障數(shù)據(jù)的有序傳輸,數(shù)據(jù)不會(huì)發(fā)生沖突。
ModBus規(guī)定:
(1) 主從模式
有的協(xié)議規(guī)定是多主模式,意思是系統(tǒng)中的設(shè)備都是主機(jī),它們并沒有主從之分,任何時(shí)刻,誰想發(fā)送數(shù)據(jù)都可以往總線上發(fā)送,例如網(wǎng)絡(luò)通信、CAN總線通訊,自然它們自有一套防止數(shù)據(jù)沖突機(jī)制,485由于不具備沖突檢測(cè)的硬件機(jī)制,所以它必須遵循主從模式。主從模式的原則是,整個(gè)系統(tǒng)只能有一個(gè)主機(jī),每一個(gè)從機(jī)都必須有一個(gè)唯一的地址
(2) 從機(jī)的地址是作為每個(gè)從機(jī)的唯一標(biāo)識(shí)。地址取值是0-247,0號(hào)地址表示廣播地址,廣播地址由主機(jī)保留,當(dāng)主機(jī)向0號(hào)地址發(fā)數(shù)據(jù)包的時(shí)候,每一個(gè)從機(jī)設(shè)備都會(huì)收到數(shù)據(jù)包。也就是說,當(dāng)主機(jī)發(fā)出的尋址幀的地址是0的時(shí)候,所有從機(jī)都要執(zhí)行主機(jī)要求的動(dòng)作。按理說,從機(jī)收到主機(jī)的尋址幀之后,是要做出應(yīng)答包的,但是現(xiàn)在是0號(hào)地址,也就是要回的話每臺(tái)從機(jī)都要回,那么肯定會(huì)造成RS-485通訊線上的數(shù)據(jù)混亂,因此所有從機(jī)在主機(jī)發(fā)0號(hào)地址時(shí)候不予返回?cái)?shù)據(jù)包應(yīng)答。
從機(jī)的地址有兩個(gè)作用
a. 主機(jī)向目標(biāo)從機(jī)發(fā)尋址幀時(shí)其地址部分為從機(jī)地址,這樣主機(jī)才可以檢索到目標(biāo)從機(jī)
b. 對(duì)于主機(jī)的目標(biāo)從機(jī),當(dāng)收到主機(jī)發(fā)來的非0地址時(shí),要做出數(shù)據(jù)包應(yīng)答,假設(shè)從機(jī)要返回?cái)?shù)據(jù)包給主機(jī),自然是要把數(shù)據(jù)包放到RS-485總線上,因?yàn)槊颗_(tái)從機(jī),其物理連線是在一起的,所以這就會(huì)造成其他從機(jī)認(rèn)為數(shù)據(jù)是要發(fā)送給它的現(xiàn)象,所以在從機(jī)回復(fù)主機(jī)的數(shù)據(jù)包中,加上從機(jī)自身的地址,那么其他從機(jī)讀取到這個(gè)地址值跟自己的地址不相同,就不會(huì)去響應(yīng)了。
(3) ModBus數(shù)據(jù)包的格式
主機(jī)要尋找某臺(tái)從機(jī),需要發(fā)出相應(yīng)格式的信息,這就需要談到ModBus的兩種傳輸方式:
a. RTU傳輸方式
RTU實(shí)際上也成為二進(jìn)制方式。假設(shè)主機(jī)要發(fā)送0x23,那就是發(fā)送0010 0011,按照485通訊協(xié)議,先發(fā)高位,即1100 0100。前后分別加上起始、停止位: “起始位 1100 0100 停止位”共10位數(shù)據(jù)
b. ASC傳輸方式
同樣要發(fā)送0x23,它是十六進(jìn)制數(shù),會(huì)將其拆成十位的’2’和個(gè)位的’3’,將它們的asc碼依次發(fā)出去,’0’的asc碼是0x32,’3’的asc是0x33,轉(zhuǎn)為二進(jìn)制為0011 0010和0011 0011,同樣要加上停止、起始位,共20位數(shù)據(jù)
很明顯,asc傳輸方式比較低,但是由于它傳輸?shù)氖莂sc碼,所以可以利用一些串口終端將其數(shù)值打印出來。

特別提醒,RS-485硬件協(xié)議決定,對(duì)于每一個(gè)字節(jié)數(shù)據(jù)的傳輸是先發(fā)高位,再發(fā)地位,所以假設(shè)數(shù)組u8型數(shù)組revArr[2]存放著接收到的數(shù)據(jù),那么接收端解析數(shù)據(jù)應(yīng)該是u16型data = revArr[0] * 256 + revArr[1]。

Tags:ModBus,通信協(xié)議  
責(zé)任編輯:admin
相關(guān)文章列表
S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
基于S7-200SMART實(shí)現(xiàn)Modbus TCP通信_(tái)200smart modbus tcp
三菱plc FX3U與三菱E800變頻器專用指令通信應(yīng)用,IVDR指令和 IVCK
三菱PLC的modbus-rtu通訊實(shí)例_三菱小型PLC FX3U系列Modbus 通訊教
西門子200SMART與眾辰變頻器的MODBUS通信實(shí)例40001和十六進(jìn)制的轉(zhuǎn)
西門子S7-200 smart通過modbus rtu 協(xié)議采集K37A數(shù)據(jù)項(xiàng)目案例
昆侖通態(tài)MCGS觸摸屏和西門子V20變頻器之間的MODBUS通訊
Modbus通信協(xié)議介紹以及Modbus Poll、Slave軟件使用介紹_modbus 
【工具教程】Modbus Slave使用教程
干貨 | Modscan32  Modsim32 Modbus協(xié)議調(diào)試分享_modbus調(diào)試
Modscan32軟件的使用 Modsim32
西門子plc控制英威騰變頻器實(shí)例,西門子200SMART的MODBUS通訊!
施耐德PM500電量表通過MODBUS協(xié)議與組態(tài)王通訊
組態(tài)軟件的無線485通訊實(shí)例,組態(tài)王modbus通訊實(shí)例
組態(tài)王和三菱plc 基于數(shù)傳電臺(tái)的組態(tài)王控制實(shí)現(xiàn)遠(yuǎn)程采集控制器PL
KingView組態(tài)王與信捷PLC通訊解決方案 MODBUS通訊設(shè)置
KingView組態(tài)王通過modbus與第三方設(shè)備通訊,如何實(shí)現(xiàn)字節(jié)或字的
組態(tài)王modbus通信用法教程modbus-rtu、modbus-tcp莫迪康通信配置
KingView組態(tài)王如何獲取modbus TCP數(shù)據(jù)?_組態(tài)王數(shù)據(jù)轉(zhuǎn)發(fā)modbust
組態(tài)王連接ModbusTCP設(shè)備,利用Modbus Slave模擬從站設(shè)備
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
主站蜘蛛池模板: 敦化市| 攀枝花市| 翁源县| 阿拉善右旗| 红河县| 庆元县| 成武县| 邵东县| 麦盖提县| 鄂托克前旗| 富裕县| 博爱县| 繁昌县| 石林| 岗巴县| 西充县| 龙门县| 安吉县| 阿图什市| 新乐市| 夹江县| 霸州市| 道孚县| 宜兰县| 南陵县| 固始县| 淮滨县| 高要市| 巩义市| 咸丰县| 盈江县| 高平市| 明水县| 内乡县| 嘉兴市| 长春市| 丹东市| 万全县| 视频| 祥云县| 厦门市|