哥伦布的窑洞双男主,午夜做爰XXXⅩ性高湖视频美国,老色鬼久久AV综合亚洲一区,98色花堂永久地址入口大全,国产午夜AAA片无码无片久久

首頁解決方案工業(yè)通訊寄存器字節(jié)順序分析說明

工業(yè)通訊寄存器字節(jié)順序分析說明

工業(yè)通訊寄存器字節(jié)順序分析說明

通信調(diào)試中,字節(jié)序是個(gè)常見概念,比如本地字節(jié)序、網(wǎng)絡(luò)字節(jié)序。

字節(jié)存儲機(jī)制又分兩種:大端(Big-Endian)和小端(Little-Endian)。

MODBUS協(xié)議中同樣存在字節(jié)序概念,存儲機(jī)制同字節(jié)序。不同的是,MODBUS數(shù)據(jù)幀中對寄存器地址定義為大端字節(jié)序,但是數(shù)據(jù)部分在不同廠家的定義方式可能不同,甚*同一廠家某一型號設(shè)備中,對不同數(shù)據(jù)的字節(jié)序定義也不統(tǒng)一。

例如:01 03 04 12 34 56 78 81 07 (讀保持寄存器響應(yīng)報(bào)文)

其中,回復(fù)數(shù)據(jù)長度4Bytes, 原始數(shù)據(jù)為0X12345678,從報(bào)文看,其字節(jié)序即為大端。

但是,MODBUS寄存器在傳輸4字節(jié)浮點(diǎn)數(shù)時(shí),有些設(shè)備廠家給出字序要求,聲明字序?yàn)樾《耍串?dāng)原始數(shù)據(jù)是0X12345678時(shí),傳輸它的報(bào)文字節(jié)流應(yīng)該這樣:

01 03 04 56 78 12 34 66 D5

使用IEEE 754規(guī)范,可進(jìn)行字節(jié)順序交換位置

Float Big-endian   字節(jié)順序:A B C D

Float Little-endian   字節(jié)順序:D C B A

Float Big-endian byte swap    字節(jié)順序:B A D C

Float Little-endian byte swap    字節(jié)順序:C D A B

假設(shè)存儲表就是一張紙,當(dāng)輸入一個(gè)數(shù)據(jù)的時(shí)候,軟件就會為我們開辟一個(gè)地址往表中存放數(shù)據(jù),比如往這個(gè)地址寫入一個(gè)四字節(jié)16進(jìn)制數(shù)據(jù):47 41 45 4D。

對存儲表的高位和低位的理解,可以把每個(gè)空格都當(dāng)作一個(gè)位置,從0~1000開始計(jì)數(shù),寫在*前的就是低位,比如說存放四個(gè)字母GAME的地址低位到高位就是G到E。

將數(shù)據(jù)放入寄存器中,可以把寄存器比做一個(gè)水桶,我們放入數(shù)據(jù)的時(shí)候肯定是把"水先倒到水桶的底部,比如,把GAME放入到水桶中的話,水桶中存放的數(shù)據(jù)就成了EMAG ,也就是 45 4D 41 47 (注意:計(jì)算機(jī)中每個(gè)字節(jié)存儲的是兩個(gè)16進(jìn)制的字符)。

PLC 32位寄存器使用字,即使用兩個(gè)16位的寄存器組成一個(gè)32位的寄存器。

日系(三菱)PLC的32位的寄存器高地位排列是高地址存高16位數(shù)據(jù),低地址存低位16位數(shù)據(jù)。

歐系(西門子)PLC的32位的寄存器高地位排列是高地址存低16位數(shù)據(jù),低地址存高16位數(shù)據(jù)。113.png


在實(shí)際配置中,主要涉及到對modbus、PLC這些需要定義寄存器具體數(shù)據(jù)格式的場景,每家設(shè)備定義或者每個(gè)現(xiàn)場的設(shè)備程序不一樣,數(shù)據(jù)解析處理的方式就有所區(qū)別了。 

如圖,是鐵牛智能網(wǎng)關(guān)產(chǎn)品關(guān)于modbus和西門子PLC寄存器解析方式配置說明:114.png


Modbus 3號命令,保持寄存器115.png

S7-1200  I 寄存器 (開關(guān)量輸入)116.png

S7-1200  M 寄存器 (開關(guān)量/模擬量)

117.png


S7-1200  DB塊寄存器 (開關(guān)量/模擬量)


118.png 

如圖,是鐵牛智能網(wǎng)關(guān)產(chǎn)品常用寄存器數(shù)據(jù)點(diǎn)位的寄存器解析配置示例:


數(shù)據(jù)類型:包括浮點(diǎn)、整形、布爾、字符串;

讀寫方向:包括只讀、只寫、讀寫;

寄存器類型:包括開關(guān)量輸入、開關(guān)量讀寫、模擬量輸入、模擬量讀寫,對應(yīng)modbus 2號命令、1 5號命令、4號命令、3 6 16號命令;

寄存器地址:根據(jù)設(shè)備寄存器點(diǎn)表進(jìn)行配置,modbus默認(rèn)從0開始(即40001);

解析方式:包括常用的數(shù)據(jù)解析類型,見上圖“Modbus 3號命令,保持寄存器”;

位偏移:單個(gè)寄存器內(nèi)BIT位,用于存放開關(guān)量信號,比如一個(gè)modbus寄存器包括16位;

BCD碼解析:是否將模擬量數(shù)據(jù)按照BCD碼(二-十進(jìn)制碼)處理。(注:BCD 碼 (Binary-Coded Decimal)亦稱二進(jìn)碼十進(jìn)制數(shù)或二-十進(jìn)制代碼。 用 4 位二進(jìn)制數(shù)來表示 1 位十進(jìn)制數(shù)中的 0~9 這 10 個(gè)數(shù)字。)

鐵牛智能網(wǎng)關(guān)結(jié)合Tnbuild工程軟件,基本可以實(shí)現(xiàn)對工業(yè)現(xiàn)場數(shù)據(jù)類型解析全覆蓋,如果遇到特殊的數(shù)據(jù)解析規(guī)則,我們可以根據(jù)實(shí)際需求進(jìn)行對接開發(fā)、靈活配置,實(shí)現(xiàn)工業(yè)現(xiàn)場通訊的高效處理和靈活傳輸!