今天以電磁流量計的一種自定義串口協(xié)議具體介紹一下串口通訊在電磁流量計上面的應用。
通訊協(xié)議針對電磁流量計工業(yè)應用設計,版本:MBmagCP V4.2,該版本主要用于實
時數(shù)據(jù)采集、流量測量及流量累計控制。
一、主機系統(tǒng)通訊部件要求
標準RS-485通訊接口部件,不小于10 Bytes 的通信緩沖區(qū)(FIFO),支持600、1200、2400、4800、9600、14400通訊波特率,支持半雙工通訊模式。通訊程序應允許FIFO,從機要求主機FIFO不小于10Bytes。
二、協(xié)議結(jié)構(gòu)
MBmagCP V4.2協(xié)議遵從基本開放系統(tǒng)互連(OSI)參考模型,基本開放系統(tǒng)互連參照模型提供通訊系統(tǒng)基本結(jié)構(gòu)和要素,但MBmagCP V4.2協(xié)議使用簡化的OSI參照模型,僅采用1、2和7層。
基本開放系統(tǒng)互連參考模型
層號 | 層名 | 功能 | MBmagCP V4.2 |
7 | 應用層 | MBmagCP 命令 | |
6 | 表示層 | ||
5 | 會話層 | ||
4 | 傳輸層 | ||
3 | 網(wǎng)絡層 | ||
2 | 鏈路層 | 數(shù)據(jù)鏈路連接 | MBmagCP Link |
1 | 物理層 | 設備連接 | RS-485 |
三、MBmagCP V4.2物理結(jié)構(gòu)
MBmag 電磁流量計的網(wǎng)絡通訊接口為半雙工方式,標準通訊速率大于250khz,通訊方向轉(zhuǎn)換時間3.5uS。通訊接口電氣標準遵從RS232/RS485標準。
MBmagCP V4.2協(xié)議可用于星型式網(wǎng)絡結(jié)構(gòu)和總線式網(wǎng)絡結(jié)構(gòu)。標準通訊連接介質(zhì)為屏蔽雙絞線。
四、MBmagCP V4.2主機信息結(jié)構(gòu)
MBmagCP V4.2協(xié)議為主從掃描式通訊協(xié)議,每次通訊過程均由主機發(fā)起,然后從機進行響應,回傳規(guī)定的信息,完成一次通訊過程。
主機至從機信息結(jié)構(gòu)
起始碼(0x2A) | 地址碼 | 功能碼 | 結(jié)束碼(0x2E) |
主機發(fā)送至從機的信息由四字節(jié)組成,字節(jié)是起始碼(0x2A),第二字節(jié)為從機地址,其編碼:0---127(高二進制位另有定義),第三字節(jié)為數(shù)據(jù)分類命令(下表定義),第四字節(jié)是結(jié)束碼(0x2E)。從機通訊緩沖區(qū)(FIFO)為一字節(jié),因此,主機發(fā)送至從機的四個字節(jié)必須留時間間隔。
主機應使用10位串行數(shù)據(jù)格式,并且不使用奇偶校驗。
數(shù)據(jù)分類命令
命令編碼 | 命令定義 | 命令編碼 | 命令定義 |
00 | 瞬時流量 | 05 | 反向總量 |
01 | 瞬時流速 | 06 | 報警狀態(tài) |
02 | 流量百分比 | 07 | 管道直徑 |
03 | 流體電阻值 | ||
04 | 正向總量 | 14 | 切換到參數(shù)設置 |
數(shù)據(jù)分類命令指示從機回送的數(shù)據(jù)類型,數(shù)據(jù)分類命令編碼:0---127,MBmagCPV4.2僅使用0—7和14號編碼,其他編碼暫時保留。
五、 MBmagCP V4.2從機信息結(jié)構(gòu)
從機接受到主機命令信息后,按命令要求回傳測量數(shù)據(jù)。
從機響應信息數(shù)據(jù)結(jié)構(gòu)
從機地址 | 命令 | D0 | D1 | D2 | D3 | D4 | D5 | 校驗和 | 結(jié)束標志 |
從機響應主機命令,回送10個字節(jié)數(shù)據(jù),分為命令段、數(shù)據(jù)段、校驗和、結(jié)束標志四部分。
1、 命令段
命令段由兩字節(jié)組成:從機地址和數(shù)據(jù)分類命令,該段是將主機發(fā)來的信息直接返回,用于主機校驗從機對主機傳送信息中地址和命令響應的正確性。
2、 數(shù)據(jù)段
由于流量計各測量數(shù)據(jù)長度、單位、符號等信息各不相同,因此,從機回傳的數(shù)據(jù)段按各命令具體定義。
3、 校驗和
校驗和 = D0 xorD1 xor D2 xor D3 xor D4 xor D5;
xor --- 邏輯異或。
4、結(jié)束標志
結(jié)束標志 =0AAH; (十進制170)
0)流量定義
數(shù)據(jù)段的D2、D1、D0三個字節(jié)組成十位流量計測量數(shù)據(jù),每字節(jié)表示兩位十進制數(shù)的壓縮BCD碼格式。D2、D1、D0需要先規(guī)格化為十進制格式,具體算法如下:
D0= ( D0 >> 4) *10 + (D0 & 0x0F)
D1= ( D1 >> 4) *10 + (D1 & 0x0F)
D2= ( D2 >> 4) *10 + (D2 & 0x0F)
流量值 = 10000 *D2 + 100 * D1 + D0;
其中符號 >> 為C語言中的邏輯右移操作。
D3字節(jié):流量值的指數(shù)(10的冪)
冪值 = D3 – 5, 冪值范圍: -5 – +5
D4字節(jié):流量單位
D4 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
單位 | m3/s | m3/min | m3/h | m3/d | L/s | L/min | L/h | L/d |
D4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
單位 | t/s | t/min | t/h | t/d | kg/s | kg/min | kg/h | kg/d |
D5字節(jié):流體流動方向:
位 | B6…….B1 | B0 |
定義 | 保留 | 0---正向; 1---反向 |
1) 流速定義
D2、D1、D0需要先規(guī)格化為十進制格式,具體如下:
D0= ( D0 >> 4) *10 + (D0 & 0x0F)
D1= ( D1 >> 4) *10 + (D1 & 0x0F)
D2= ( D2 >> 4) *10 + (D2 & 0x0F)
其中符號 >> 為C語言中的邏輯右移操作。
流速值 = 10000 * D2 + 100 * D1 + D0;
值范圍 = 00.000 ~ 99.999
流速單位:固定為m/s
D3字節(jié):小信號切除標志;0 --- 允許; 1--- 禁止。
D4字節(jié):流量值顯示精度(保留小數(shù)點后位數(shù))(固定值3)
D5字節(jié):流動方向;0 --- 正向、1 --- 反向;
2) 流量百分比定義
D1、D0需要先規(guī)格化為十進制格式,具體如下:
D0= ( D0 >> 4) *10 + (D0 & 0x0F)
D1= ( D1 >> 4) *10 + (D1 & 0x0F)
其中符號 >> 為C語言中的邏輯右移操作。
百分比 = 100 * D1 + D0;
值范圍 = 000.0 ~ 999.9 %
D2字節(jié):量程比
0- 1:1
1- 1:2
2- 1:4
3- 1:8
D3字節(jié):上限報警允許
0- 允許
1- 禁止
D4字節(jié):下限報警允許
0- 允許
1- 禁止
D5字節(jié):流動方向;0 --- 正向、1 --- 反向;
3) 流體電阻
D1、D0需要先規(guī)格化為十進制格式,具體如下:
D0= ( D0 >> 4) *10 + (D0 & 0x0F)
D1= ( D1 >> 4) *10 + (D1 & 0x0F)
其中符號 >> 為C語言中的邏輯右移操作。
電阻 = 100 * D1 +D0;
值范圍 = 0000 ~ 999.9 KW
D2字節(jié):保留
D3字節(jié):保留
D4字節(jié):空管報警允許
0- 允許
1- 禁止
D5字節(jié):流動方向;0 --- 正向、1 --- 反向;
4)正向總量定義
D4、D3、D2、D1、D0需要先將壓縮BCD碼規(guī)格化為十進制格式,具體如下:
D4= ( D4 >> 4) *10 + (D4 & 0x0F)
D3= ( D3 >> 4) *10 + (D3 & 0x0F)
D2= ( D2 >> 4) *10 + (D2 & 0x0F)
D1 = ( D1 >> 4) *10 + (D1 & 0x0F)
D0= ( D0 >> 4) *10 + (D0 & 0x0F)
其中符號 >> 為C語言中的邏輯右移操作。
總量 =100000000 * D4 + 1000000 * D3 + 10000 * D2 + 100 * D1 + D0;
D5字節(jié):
D5 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
單位 | 0.001L | 0.01L | 0.1L | 1L | 0.001m3 | 0.01m3 | 0.1m3 | 1m3 |
D5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
單位 | 0.001kg | 0.01kg | 0.1kg | 1kg | 0.001t | 0.01t | 0.1t | 1t |
5)反向總量定義
D4、D3、D2、D1、D0需要先將壓縮BCD碼規(guī)格化為十進制格式,具體如下:
D4= ( D4 >> 4) *10 + (D4 & 0x0F)
D3= ( D3 >> 4) *10 + (D3 & 0x0F)
D2= ( D2 >> 4) *10 + (D2 & 0x0F)
D1 = ( D1 >> 4) *10 + (D1 & 0x0F)
D0= ( D0 >> 4) *10 + (D0 & 0x0F)
其中符號 >> 為C語言中的邏輯右移操作。
總量 =100000000 * D4 + 1000000 * D3 + 10000 * D2 + 100 * D1 + D0;
D5字節(jié):
D5 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||||||||
單位 | 0.001L | 0.01L | 0.1L | 1L | 0.001m3 | 0.01m3 | 0.1m3 | 1m3 | ||||||||
D5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ||||||||
單位 | 0.001kg | 0.01kg | 0.1kg | 1kg | 0.001t | 0.01t | 0.1t | 1t | ||||||||
6) 報警狀態(tài)定義
D0字節(jié):
位定義:Bx =0 無警狀態(tài);Bx = 1報警狀態(tài);
ALAM位 | B0 | B1 | B2 | B3 | B4 |
報警定義 | 保留 | 勵磁報警 | 電極報警 | 空管報警 | 上限報警 |
ALAM位 | B5 | B6 | B7 | B8 | B9 |
報警定義 | 下限報警 | 保留 | 保留 | 保留 | 保留 |
7)流量計管徑定義
D0字節(jié)定義管徑 (單位mm)
D0數(shù)值 | 代表管徑 | D0數(shù)值 | 代表管徑 | D0數(shù)值 | 代表管徑 |
00 | 3 | 15 | 200 | 30 | 1400 |
01 | 6 | 16 | 250 | 31 | 1600 |
02 | 8 | 17 | 300 | 32 | 1800 |
03 | 10 | 18 | 350 | 33 | 2000 |
04 | 15 | 19 | 400 | 34 | 2200 |
05 | 20 | 20 | 450 | 35 | 2400 |
06 | 25 | 21 | 500 | 36 | 2600 |
07 | 32 | 22 | 600 | 37 | 2800 |
08 | 40 | 23 | 700 | 38 | 3000 |
09 | 50 | 24 | 800 | ||
10 | 65 | 25 | 900 | ||
11 | 80 | 26 | 1000 | ||
12 | 100 | 27 | 1100 | ||
13 | 125 | 28 | 1200 | ||
14 | 150 | 29 | 1300 |
14)禁止總量累積
從機接到連續(xù)6個該命令后,立即進入?yún)?shù)設置狀態(tài)。
六、 MBmagCP V4.2通訊過程時序
通訊過程時序指編制通訊軟件時應遵從的時間間隔、延時、等待時間等。
1. 主機發(fā)送時序
主機發(fā)送的兩個信息字節(jié)間的時間間隔小為0,大時間間隔為20毫秒,大于20毫秒,從機認為發(fā)送超時。
2. 從機回傳時序
從機小回傳響應時間為1毫秒,大為10毫秒 + 11位傳送時間。
從機每個回傳字節(jié)時間間隔大為10毫秒 + 11位傳送時間。
(11位傳送時間根據(jù)選用波特率計算出)
3. 從機允許的通訊頻度
從機允許的通訊頻度為10次/每秒,大于該值,可能影響從機其他功能。
七、 MBmagCP V4.2通訊波特率
MBmagCP V4.2支持的通訊波特率為:600、1200、2400、4800、9600、14400。
八、 MBmagCP V4.2通訊數(shù)據(jù)塊偵錯信息
1.從機地址和數(shù)據(jù)分類命令回傳,主機可用于校對從機是否正確響應;
2.從機回傳字節(jié)異或和校驗,主機可用于校對是否有數(shù)據(jù)位錯誤;
3.從機回傳字節(jié)中B7 = 0為數(shù)據(jù)字節(jié),B7 = 1為命令字節(jié);
4.從機回傳字節(jié)中的數(shù)據(jù)字節(jié)值不大于153(十六進制數(shù)99);
5.從機回傳字節(jié)數(shù)長度固定,共十字節(jié)長度,主機可做長度檢驗;
6.從機回傳結(jié)束標志,主機可用于長度檢驗和數(shù)據(jù)字節(jié)定位。
相關產(chǎn)品
免責聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權(quán)利。