




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
電磁流量計轉換器通訊協議-0-電磁流量計轉換器通訊協議2012-目錄一、概述 -2-二、網絡結構及接線 -2-三、Modbus協議RTU幀格式 -2-四、Modbus協議命令編碼定義 -3-五、電磁流量計MODBUS寄存器定義 -5-1.電磁流量計MODBUS寄存器地址定義 -5-2.PLC地址設置說明 -5-3.組態王地址設置說明 -6-4.數據含義說明 -6-六、通訊數據解析 -7-1讀瞬時流量 -7-2.讀瞬時流速: -8-3讀累積流量 -8-5.讀總量流量單位 -10-6.讀報警狀態 -10-七、應用舉例 -11-1.C語言MODBUS示例程序 -11-2.modbus調試軟件modbuspoll通訊實例 -13-3.modbus調試軟件modscan32通訊實例 -15-4.組態王6.53通訊實例 -17-5.力控6.1通訊實例 -21-6.MCGS通訊實例 -24-注:本協議應用舉例中例程只提供參考,例程中部分參數與MODBUS寄存器地址定義不符,請以MODBUS寄存器地址定義為準。MODBUS功能碼定義如表-1所示,電磁流量計僅采用04功能碼。表-1功能碼名稱作用01讀取線圈狀態保留02讀取輸入狀態保留03讀取保持寄存器保留04讀取輸入寄存器讀電磁流量計實時信息05強置單線圈保留06預置單寄存器保留07讀取異常狀態保留08回送診斷校驗保留09編程(只用于484)保留10控詢(只用于484)保留11讀取事件計數保留12讀取通信事件記錄保留13編程(184/384484584)保留14探詢(184/384484584)保留15強置多線圈保留五、電磁流量計MODBUS寄存器定義1.電磁流量計MODBUS寄存器地址定義表-2ProtocolAddresses(Decimal)ProtocolAddresses(HEX)數據格式寄存器定義41120x1010FloatInverse瞬時流量浮點表示41140x1012FloatInverse瞬時流速浮點表示41160x1014FloatInverse流量百分比浮點表示(電池供電表保留)41180x1016FloatInverse流體電導比浮點表示41200x1018LongInverse正向累積數值整數部分41220x101AFloatInverse正向累積數值小數部分41240x101CLongInverse反向累積數值整數部分41260x101EFloatInverse反向累積數值小數部分41280x1020Unsignedshort瞬時流量單位(表3)41290x1021Unsignedshort累積總量單位(表4/表5)41300x1022Unsignedshort上限報警41310x1023Unsignedshort下限報警41320x1024Unsignedshort空管報警41330x1025Unsignedshort系統報警2.PLC地址設置說明PLC設置時如果沒有功能碼設置項時,使用功能04應在寄存器地址前面加3。另PLC寄存器地址的基址是從1開始,所以PLC設置寄存器地址時應在原地址上加1.例:電磁流量計MODBUS寄存器地址為4112(0x1010),MODBUS功能碼為4時,PLC寄存器地址為34113。詳細設置見應用舉例章節2.3.組態王地址設置說明組態王設置時沒有功能碼設置項,不同的驅動設置方法不同。以PLC-莫迪康-modbus(RTU)驅動為例,使用功能04應在寄存器地址前面加8。另組態王寄存器地址的基址是從1開始,所以組態王設置寄存器地址時應在原地址上加1.電磁流量計MODBUS寄存器地址為4112(0x1010),MODBUS功能碼為4時,組態王寄存器地址為84113。詳細設置見應用舉例章節4.4.數據含義說明(1)浮點格式:電磁流量計MODBUS采用IEEE75432位浮點數格式,其結構如下:(以瞬時流量為例)0X1010(34113)0x1011(34114)BYTE1BYTE2BYTE3BYTE4SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMMS-尾數的符號;1=負數,0=正數;E-指數;與十進制數127的差值表示。M-尾數;低23位,小數部分。當E不全”0”時,且不全”1時(2)瞬時流量單位表3代碼瞬時單位代碼瞬時單位代碼瞬時單位代碼瞬時單位0L/S3M3/S6T/S9GPS1L/M4M3/M7T/M10GPM2L/H5M3/H8T/H11GPH(3)累積總量單位表4(適用于B型及511型電磁流量計轉換器)代碼0123累積單位LM3TUSG表5(適用于C型電磁流量計轉換器)代碼012345累積單位LLLM3M3M3代碼67891011累積單位TTTUSGUSGUSG(4)報警上限報警,下限報警,空管報警,系統報警表示:0不報警;1報警六、通訊數據解析瞬時流量,瞬時流速,流量百分比,流體電導比,正反向累積量小數部分以浮點數的格式傳輸。正反向累積量的整數部分以長整型數傳輸。1讀瞬時流量主站發送命令(十六進制)01041010000274CE設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收到數據:010404C41C60002F72設備地址功能碼數據長度4個字節浮點數(瞬時流量)CRC高位CRC低位浮點數C41C600011000100000111000110000000000000浮點數字節1浮點數字節2浮點數字節3浮點數字節4S=1:尾數符號為1表示是負數。E=10001000:指數為136M=00111000110000000000000,尾數為=-625.52.讀瞬時流速:主站發送命令:010410120002D50E設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收數據:010404C1B08000A65F設備地址功能碼數據長度4個字節浮點數(瞬時流速)CRC高位CRC低位浮點數為:C1B0800011000001101100001111100000000000S=1E=10000011M=01100001111100000000000=-22.06253讀累積流量為了能夠完全表達電磁流量計的9位累積值,所以把累積流量的整數和小數部分分別表達。整數部分用長整型變量,小數部分使用浮點數。累積流量為1587m3主站發送采集累積流量整數值命令:010410180002F50C設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收到數據:010404000070711E60設備地址功能碼數據長度4個字節長整形(累積量整數部分)CRC高位CRC低位累積流量的整數部分為=28785主站發送采集累積流量小數值命令0104101A000254CC設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收到數據:0104043F0000003B90設備地址功能碼數據長度4個字節浮點數(累積量小數部分)CRC高位CRC低位浮點數為:3F00000000111111000000000000000000000000S=0E=0111111126M=00000000000000000000000=0.54讀瞬時流量單位主站發送讀瞬時流量單位8個字節命令:01041020000134C0設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收到從站回傳7個字節數據:01040200057933設備地址功能碼數據長度2個字節整型(瞬時流量單位)CRC高位CRC低位根據表3查得:流量單位為M3/H5.讀總量流量單位主站發送讀瞬時流量單位8個字節命令:0104102100016500設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收到從站回傳7個字節數據:010402000178F0設備地址功能碼數據長度2個字節整型(累積量單位)CRC高位CRC低位B型及511型根據表4查得:流量單位為M3C型根據表5查得:流量單位為L6.讀報警狀態主站發送讀報警8個字節命令:0104102400017501設備地址功能碼寄存器地址高位寄存器地址高位寄存器長度高位寄存器長度低位CRC高位CRC低位主站接收到從站回傳7個字節數據:010402000178F0設備地址功能碼數據長度2個字節整型(報警)CRC高位CRC低位狀態為1表示空管是報警狀態。其他報警依次類推。七、應用舉例1.C語言MODBUS示例程序(1).CRC16算法:INT16UCRC16(INT8U*puchMsg,INT16UusDataLen){INT8UuchCRCHi=0xFF;/*高CRC字節初始化*/INT8UuchCRCLo=0xFF;/*低CRC字節初始化*/INT8UuIndex;/*CRC循環中的索引*/while(usDataLen--)/*傳輸消息緩沖區*/{uIndex=uchCRCHi^*puchMsg++;/*計算CRC*/uchCRCHi=uchCRCLo^auchCRCHi[uIndex];uchCRCLo=auchCRCLo[uIndex];}return(uchCRCHi<<8|uchCRCLo);}(2)發送命令程序本例程以Mag64為核心CPUvoidRead_InPut(INT8UAddr,INT16UStart,INT16ULen){INT16UCRC;SendBuffer_485[0]=Addr;//設備地址SendBuffer_485[1]=0x04;//modbus功能碼SendBuffer_485[2]=Start/256;//Start為寄存器地址SendBuffer_485[3]=Start%256;SendBuffer_485[4]=Len/256;//Len為讀取寄存器長度SendBuffer_485[5]=Len%256;CRC=CRC16(SendBuffer_485,6);SendBuffer_485[6]=CRC/256;//CRC校驗高位SendBuffer_485[7]=CRC%256;//CRC校驗低位R485_OUT;//使能RS485發送SendLen_485=8;SendNum_485=0;CloseINT0();//關閉串口接受中斷UCSR0B|=BIT(UDRIE0);//打開串口發送中斷}(3)返回數據解析(只以瞬時流量為例)數據接收使用串口中斷,ReceivedBuffer_485為接收數據組,ReceivedNum_485為接收到數據長度,ReceivedFlag_485接收到數據標志。函數floatDatasum(INT8UBYTE1,INT8UBYTE2,INT8UBYTE3,INT8UBYTE4)把浮點數的4個字節轉換為1個浮點數。floatDatasum(INT8UFloatByte1,INT8UFloatByte2,INT8UFloatByte3,INT8UFloatByte4){floataa;unionIntTOFP{FP32F32;INT8UT8[4];};unionIntTOFPaa;aa.T8[0]=FloatByte1;aa.T8[1]=FloatByte2;aa.T8[2]=FloatByte3;aa.T8[3]=FloatByte4;returnaa;}voidRead_Lmag(INT8UAd){INT8Ui,j;INT8UNum1[10],BIT;INT16UCRC1,CRC2;FP32Flow;//aaa為瞬時流量數值ReceivedFlag_485=1;Open_Time1_Ms5(20);Read_InPut(Ad,0x1010,2);//發送設備地址、寄存器地址、寄存器長度while(ReceivedFlag_485);//等待接收結束if((ReceivedNum_485==9)&&(ReceivedBuffer_485[0]==Ad))//判斷數據是否正確{CRC1=CRC16(ReceivedBuffer_485,7);CRC2=ReceivedBuffer_485[7]*256+ReceivedBuffer_485[8];if(CRC1==CRC2){//轉換數據為浮點數Flow=Datasum(ReceivedBuffer_485[6],ReceivedBuffer_485[5],ReceivedBuffer_485[4],ReceivedBuffer_485[3]);}}}2.modbus調試軟件modbuspoll通訊實例以從站地址為1,波特率9600,讀取所有實時數據為例設置方法如下:按照表2所示:起始寄存器地址4113寄存器個數為221.設置采集命令包括設備地址(1)、MODBUS功能碼(04)、寄存器地址(4113)、寄存器長度(2)、采集間隔(1000)。2.設置串口數據根據電磁流量計串口格式(1位起始位8位數據位1位停止位,無校驗)設置如下圖:3.設置數據顯示格式4.通訊成功界面3.modbus調試軟件modscan32通訊實例以從站地址為1,波特率9600,讀取所有實時數據為例設置方法如下:按照表2所示:起始寄存器地址4113寄存器個數為221.設置采集命令包括設備地址(1)、MODBUS功能碼(04)、寄存器地址(4113)、寄存器長度(2)、采集間隔(1000)。2.設置串口數據根據電磁流量計串口格式(1位起始位8位數據位1位停止位,無校驗)設置如下圖:3.設置數據顯示方式4.通訊成功界面4.組態王6.53通訊實例第一步:創建組態王工程,點擊新建彈出如下界面,輸入工程路徑及工程名稱。第二步:打開新建的工程,選擇設備欄在COM口下新建標準modbus設備。組態王設備列表中找到-PLC-莫迪康-modbus(RTU)(電磁流量計借助莫迪康PLCmodbus(RTU)驅動)。按照電磁流量計中的地址設置設備地址。下圖以地址1為例:第三步:雙擊設備中的COM設置串口參數電磁流量計串口參數:波特率與電磁流量計中設置相同、1位起始位、8位數據位、1位停止位、無校驗。下圖以波特率9600為例:第四步:點擊數據詞典添加數據變量根據組態王驅動說明莫迪康-modbus(RTU)變量名稱、寄存器地址和數據格式見下表:變量名寄存器值數據格式采用頻率讀寫屬性瞬時流量34113Float
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司材料欠款合同范本
- 小院改造轉讓合同范本
- 墻繪合同范本
- 農民蜂蜜銷售合同范本
- 吉林省吉林市豐滿區2024-2025學年八年級上學期期末考試數學試卷(含答案)
- 廢氣治理合同范本
- XX大學XX學院畢業論文答辯演講模板
- 2025版權交易的代理合同
- 2025年度智能生產線升級借款合同
- 2025國內技術轉讓合同示范文本
- 江西省2023年初中學業水平考試語文試題卷含答案解析
- 變形監測安全協議書范文
- 血液透析瘙癢癥的發病機制及藥物治療(2024)解讀
- 圖文制作服務 投標方案(技術方案)
- 太陽能熱水器設計與安裝考核試卷
- DGTJ08-2002-2006上海懸挑式腳手架安全技術規程
- 施工現場水電費協議
- 破傷風的正確預防-王傳林
- 《汽車傳感器技術》課件-第九章 爆燃與碰撞傳感器
- 2023年河北省普通高中學業水平12月會考物理試題(含答案解析)
- DLT電力建設施工及驗收技術規范鍋爐機組篇
評論
0/150
提交評論