999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談Modbus協議在智能儀表中的實現路徑

2019-10-17 11:50:16王新王鳳翔王燕郭學亮
中國設備工程 2019年19期

王新,王鳳翔,王燕,郭學亮

(中煤科工集團唐山研究院有限公司,河北 唐山 063012)

工業自動化程度越來越高,Modbus 串行通信協議以其先進性、開放性、成熟性的特點得到了廣泛應用,當前PLC(可編程邏輯控制器)及組態軟件都支持此協議。智能儀表作為自動化控制的源頭,支持此協議,將大大降低自動化工程設計人員的開發難度。

1 Modbus 協議簡介

Modbus 協議是定義在OSI 網絡模型第7 層(應用層)的報文發送協議,它可以在不同類型的總線或網絡上連接的設備之間進行“客戶端/服務器”式的通信,它是主從式的串行通信協議。Modbus 協議利用RS485 或RS232 總線進行數據傳輸,同一條總線上只允許1 臺主機,從機數量從1 臺最多至247 臺,并且從機的地址是唯一的。Modbus 協議由主機發送命令及從機返回數據組成,有兩種傳輸模式:Modbus-RTU模式及Modbus-ASCII 模式。

1.1 Modbus-RTU 模式

數據以數值型式傳輸,其幀格式如下:

主機發送命令(表1)。

表1

從機返回數據(表2)。

1.2 Modbus-ASCII 模式

數據以16 進制數值再轉換為ASCII 碼型式傳輸,傳輸為字符‘0’~‘9’及字符‘A’~‘F’(即實際數據為16進制0x30~0x39 及0x41~0x46),其幀格式如下:

表2

表3

表4

主機發送命令(表3)。

從機返回數據(表4)。

Modbus 數據幀通過RS485 或RS232 總線進行串行通信,數據以字節型式傳輸,傳輸時低位在前,高位在后,串行通信采用固定波特率進行數據傳輸,常用波特率為2400bps、4800bps、9600bps、19200bps 等,本例中波特率采用最常用的9600bps(即每秒傳輸9600 位,每位傳輸時間約為104.167μs),8 位數據位,無校驗位,1 位停止位,則每個字節數據為10 位,每秒傳輸960 個字節。

2 單片機選用及編程注意事項

本例所用的智能儀表主芯片為TI 公司生產的MSP430F5438 超低功耗Flash 型單片機,擁有4 路USCI_A 型模塊可進行UART 串行通信,本例為了同時實現RTU 通信及ASCII 通信,使用USCI_A1 模塊進行RTU 模式編程,USCI_A3 模塊進行ASCII 模式編程,系統主時鐘采用12MHz晶振,其優點是通信波特率在(600~19200)bps 范圍內,時鐘分頻為整數,不需要做步進調整,不會產生誤碼。數據接收采用中斷方式,接收完畢后,單片機對接收數據進行處理,判斷是否為本機命令(由從機地址碼區分),進行校驗驗證數據準確性,數據正確則根據命令返回相應數據,否則丟棄準備下一次接收。

在編程中應當注意以下幾點:

(1)Modbus 的寄存器地址為1~9999,但實際發送數據為起始地址減1,例如從起始地址1 開始返回數據,則發送數據為0x00、0x00(ASCII 為0x30、0x30、0x30、0x30)。

(2)Modbus 協議規定16 位數據采用高字節優先傳輸,以本文的儀表通信為例,主機向地址為1的從機發送命令讀取起始地址為1 開始連續2 個寄存器數據,則發送命令為:

RTU 模 式:0x01 0x03 0x00 0x00 0x00 0x02 0xC4 0x0B(8 字節)

返回數據:0x01 0x03 0x04 0x81 0x0A 0x43 0x34 0xC2 0xEA(9 字節)

返回的四字節數據為float 型,由于Modbus 協議高字節先傳輸,所以數據實際為0x4334810A,即為浮點數180.504059。

ASCII 模 式:0x3A 0x30 0x31 0x30 0x33 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x32 0x46 0x41 0x0D 0x0A(17 字節)

返回數據:0x3A 0x30 0x31 0x30 0x33 0x30 0x38 0x38 0x31 0x30 0x41 0x34 0x33 0x33 0x34 0x46 0x32 0x0D 0x0A(19 字節)

返回的8 個字節數據代表一個float 型數據,數據需先進行16 進制處理為0x81 0x0A 0x43 0x34,再進行高低字節調換為0x4334810A,即浮點數180.504059。

(3)以上為正常的4 字節數據處理方式,還有一種數據傳輸方式稱為互換模式,即將存儲器中存儲的4 字節數據完全按照從最高字節到最低字節輸出,例如,內存中的數據為0x0A(最低位)0x81 0x34 0x43(最高位),則輸出為0x43 0x34 0x81 0x0A。某些智能儀表采用此種方式傳輸數據。

(4)Modbus 協議規定幀與幀之間的時間間隔應>3.5個位周期,數據傳輸位間隔應<1.5 個位周期,以9600bps通信速率為例,則幀間隔應>364.585μs,位間隔<165.25μs。編程時應充分考慮數據處理所占時間,必要時增加延時。

3 與上位機通信

本例中以PC 機為主機,采用Modscan32 這款成熟的Modbus 通信測試軟件進行數據收發,智能儀表作為從機接收PC 機命令,根據命令返回相應數據,PC 機和智能儀表之間通過RS485 總線連接。部分調試界面,見圖1、圖2。

圖2 Modbus-ASCII 通信界面

通過以上調試界面,實現了PC 機和智能儀表之間的modbus 通信,說明單片機嵌入式程序編寫是正確的。

4 結語

Modbus 協議是工業控制領域中最通用、最開放的通信協議之一,得到了眾多廠商的支持。通過Modbus 協議,不同廠商的設備可以方便地連成工業網絡,進行相互通信。Modbus 的兩種傳輸模式相比,ASCII 方式更直觀,但傳輸相同數據需要的字節數更多,效率低;RTU 模式傳輸字節數少,效率更高,更適用于測控系統中數據的實時傳輸。

主站蜘蛛池模板: 91久久精品国产| 91久久精品日日躁夜夜躁欧美| 国产经典免费播放视频| 一本大道无码高清| 内射人妻无套中出无码| 超清人妻系列无码专区| 最新亚洲av女人的天堂| 久久综合色播五月男人的天堂| 国产SUV精品一区二区6| 久久精品欧美一区二区| 国产99热| 鲁鲁鲁爽爽爽在线视频观看| 国产视频a| 欧美午夜在线播放| 黄色网站不卡无码| 久久91精品牛牛| 久久久波多野结衣av一区二区| 亚洲成aⅴ人在线观看| 99资源在线| 欧美五月婷婷| 国产成人艳妇AA视频在线| 国产在线无码av完整版在线观看| 国产精品对白刺激| 久久亚洲中文字幕精品一区| 无码中文字幕精品推荐| 国产微拍一区| 一级毛片免费观看久| 国产va在线| 国产色婷婷视频在线观看| 久久香蕉国产线看观看精品蕉| 欧美午夜理伦三级在线观看| 久草性视频| 亚洲成a人片77777在线播放| 亚洲人成亚洲精品| 呦视频在线一区二区三区| 成人噜噜噜视频在线观看| 日本久久网站| 久久久久青草线综合超碰| 伊人久综合| 国产女人在线| 美女视频黄频a免费高清不卡| 伊人AV天堂| 好久久免费视频高清| 国产专区综合另类日韩一区| 三上悠亚一区二区| 欧美精品在线观看视频| 国产成人综合亚洲欧美在| 午夜精品久久久久久久无码软件 | 波多野结衣一区二区三区88| 无码高潮喷水专区久久| 国产va在线观看免费| 国产99久久亚洲综合精品西瓜tv| 亚洲一区二区约美女探花| 色综合久久88色综合天天提莫 | 91福利国产成人精品导航| 亚洲精品视频免费| 国产免费好大好硬视频| 国产剧情国内精品原创| 国产熟睡乱子伦视频网站| 丝袜高跟美脚国产1区| 白浆视频在线观看| 亚洲男人的天堂在线观看| 91原创视频在线| 国产精品成人一区二区不卡| 全部免费毛片免费播放| 自拍偷拍欧美日韩| 成人年鲁鲁在线观看视频| 亚洲成a∧人片在线观看无码| 99无码熟妇丰满人妻啪啪| 啪啪啪亚洲无码| 国产91麻豆视频| 国产成人综合日韩精品无码首页| 91九色国产porny| 男人天堂亚洲天堂| 91小视频在线播放| 黄色网站在线观看无码| 国产成人精品免费av| 国产精品99久久久久久董美香| 午夜日b视频| 久久精品日日躁夜夜躁欧美| 国产欧美精品一区aⅴ影院| 国产亚洲视频中文字幕视频|