色8久久人人97超碰香蕉987,人妻系列中中文字幕,国产一区二区三区波多野结衣av,水蜜桃亚洲精品一区二区

 
Beijing Gwanglay Electrical Technology Co., Ltd.
北京廣來電氣技術(shù)有限公司
熱門搜索關(guān)鍵詞: 歐陸  |  奧托尼克斯   |  博世力士樂
您現(xiàn)在的位置:
modbus通訊協(xié)議
來源: | 作者:proe73ab7 | 發(fā)布時(shí)間: 2017-10-11 | 7092 次瀏覽 | ?? 點(diǎn)擊朗讀正文 ?? ? | 分享到:

三、Modbus 消息幀

 

 

兩種傳輸模式中(ASCII 或 RTU),傳輸設(shè)備以將 Modbus 消息轉(zhuǎn)為有起點(diǎn)和終點(diǎn)的幀,這就允許接收的設(shè)備在消息起始處開始工作,讀地址分配信息,判斷哪一個(gè)設(shè)備被選中(廣播方式則傳給所有設(shè)備),判知何時(shí)信息已完成。部分的消息也能偵測(cè)到并且錯(cuò)誤能設(shè)置為返回結(jié)果。

 

1、ASCII 幀

 

 

使用 ASCII 模式,消息以冒號(hào)(:)字符(ASCII 碼 3AH)開始,以回車換行符結(jié)束(ASCI I 碼 0DH,0AH)。

 

其它域可以使用的傳輸字符是十六進(jìn)制的0...9,A...F。網(wǎng)絡(luò)上的設(shè)備不斷偵測(cè)“:”字符,當(dāng)有一個(gè)冒號(hào)接收到時(shí),每個(gè)設(shè)備都解碼下個(gè)域(地址域)來判斷是否發(fā)給自己的。

 

消息中字符間發(fā)送的時(shí)間間隔最長不能超過 1 秒,否則接收的設(shè)備將認(rèn)為傳輸錯(cuò)誤。一個(gè)典型消息幀如下所示:

 

 

 

 

2 ASCII 消息幀

 

2、RTU 幀

 

 

使用 RTU 模式,消息發(fā)送至少要以 3.5 個(gè)字符時(shí)間的停頓間隔開始。在網(wǎng)絡(luò)波特率下多樣的字符時(shí)間,這是最容易實(shí)現(xiàn)的(如下圖的 T1-T2-T3-T4 所示)。傳輸?shù)牡谝粋€(gè)域是設(shè)備地址??梢允褂玫膫鬏斪址鞘M(jìn)制的 0...9,A...F。網(wǎng)絡(luò)設(shè)備不斷偵測(cè)網(wǎng)絡(luò)總線,包括停頓間隔時(shí)間內(nèi)。當(dāng)?shù)谝粋€(gè)域(地址域)接收到,每個(gè)設(shè)備都進(jìn)行解碼以判斷是否發(fā)往自己的。在最后一個(gè)傳輸字符之后,一個(gè)至少 3.5 個(gè)字符時(shí)間的停頓標(biāo)定了消息的結(jié)束。一個(gè)新的消息可在此停頓后開始。

 

整個(gè)消息幀必須作為一連續(xù)的流轉(zhuǎn)輸。如果在幀完成之前有超過 1.5 個(gè)字符時(shí)間的停頓時(shí)間,接收設(shè)備將刷新不完整的消息并假定下一字節(jié)是一個(gè)新消息的地址域。同樣地,如果一個(gè)新消息在小于 3.5 個(gè)字符時(shí)間內(nèi)接著前個(gè)消息開始,接收的設(shè)備將認(rèn)為它是前一消息


 

 

 

的延續(xù)。這將導(dǎo)致一個(gè)錯(cuò)誤,因?yàn)樵谧詈蟮?/span> CRC 域的值不可能是正確的。一典型的消息幀如下所示:

 

 

 

 

 

 

3 RTU 消息幀

 

3、地址域

 

消息幀的地址域包含兩個(gè)字符(ASCII)或 8Bit(RTU)。可能的從設(shè)備地址是 0...247 (十

 

進(jìn)制)。單個(gè)設(shè)備的地址范圍是 1...247。主設(shè)備通過將要聯(lián)絡(luò)的從設(shè)備的地址放入消息中的地址域來選通從設(shè)備。當(dāng)從設(shè)備發(fā)送回應(yīng)消息時(shí),它把自己的地址放入回應(yīng)的地址域中,以便主設(shè)備知道是哪一個(gè)設(shè)備作出回應(yīng)。

 

地址 0 是用作廣播地址,以使所有的從設(shè)備都能認(rèn)識(shí)。當(dāng) Modbus 協(xié)議用于更高水準(zhǔn)的網(wǎng)絡(luò),廣播可能不允許或以其它方式代替。

 

4、如何處理功能域

 

 

消息幀中的功能代碼域包含了兩個(gè)字符(ASCII)或 8Bits(RTU)??赡艿拇a范圍是十進(jìn)制的 1...255。當(dāng)然,有些代碼是適用于所有控制器,有此是應(yīng)用于某種控制器,還有些保留以備后用。

 

當(dāng)消息從主設(shè)備發(fā)往從設(shè)備時(shí),功能代碼域?qū)⒏嬷畯脑O(shè)備需要執(zhí)行哪些行為。例如去讀取輸入的開關(guān)狀態(tài),讀一組寄存器的數(shù)據(jù)內(nèi)容,讀從設(shè)備的診斷狀態(tài),允許調(diào)入、記錄、校驗(yàn)在從設(shè)備中的程序等。

 

當(dāng)從設(shè)備回應(yīng)時(shí),它使用功能代碼域來指示是正?;貞?yīng)(無誤)還是有某種錯(cuò)誤發(fā)生(稱作異議回應(yīng))。對(duì)正?;貞?yīng),從設(shè)備僅回應(yīng)相應(yīng)的功能代碼。對(duì)異議回應(yīng),從設(shè)備返回一等同于正常代碼的代碼,但最重要的位置為邏輯 1。

 

例如:一從主設(shè)備發(fā)往從設(shè)備的消息要求讀一組保持寄存器,將產(chǎn)生如下功能代碼:

 

0 0 0 0 0 0 1 1 (十六進(jìn)制 03H)

 

對(duì)正?;貞?yīng),從設(shè)備僅回應(yīng)同樣的功能代碼。對(duì)異議回應(yīng),它返回:

 

1 0 0 0 0 0 1 1 (十六進(jìn)制 83H)

 

 

除功能代碼因異議錯(cuò)誤作了修改外,從設(shè)備將一獨(dú)特的代碼放到回應(yīng)消息的數(shù)據(jù)域中,這能告訴主設(shè)備發(fā)生了什么錯(cuò)誤。

 

主設(shè)備應(yīng)用程序得到異議的回應(yīng)后,典型的處理過程是重發(fā)消息,或者診斷發(fā)給從設(shè)備的消息并報(bào)告給操作員。


 

5、數(shù)據(jù)域


數(shù)據(jù)域是由兩個(gè)十六進(jìn)制數(shù)集合構(gòu)成的,范圍 00...FF。根據(jù)網(wǎng)絡(luò)傳輸模式,這可以是由一對(duì) ASCII 字符組成或由一 RTU 字符組成。

 

從主設(shè)備發(fā)給從設(shè)備消息的數(shù)據(jù)域包含附加的信息:從設(shè)備必須用于進(jìn)行執(zhí)行由功能代碼所定義的所為。這包括了象不連續(xù)的寄存器地址,要處理項(xiàng)的數(shù)目,域中實(shí)際數(shù)據(jù)字節(jié)數(shù)。

 

 

 

例如,如果主設(shè)備需要從設(shè)備讀取一組保持寄存器(功能代碼 03),數(shù)據(jù)域指定了起始寄存器以及要讀的寄存器數(shù)量。如果主設(shè)備寫一組從設(shè)備的寄存器(功能代碼 10 十六進(jìn)制),數(shù)據(jù)域則指明了要寫的起始寄存器以及要寫的寄存器數(shù)量,數(shù)據(jù)域的數(shù)據(jù)字節(jié)數(shù),要寫入寄存器的數(shù)據(jù)。

 

如果沒有錯(cuò)誤發(fā)生,從從設(shè)備返回的數(shù)據(jù)域包含請(qǐng)求的數(shù)據(jù)。如果有錯(cuò)誤發(fā)生,此域包含一異議代碼,主設(shè)備應(yīng)用程序可以用來判斷采取下一步行動(dòng)。

 

在某種消息中數(shù)據(jù)域可以是不存在的(0 長度)。例如,主設(shè)備要求從設(shè)備回應(yīng)通信事件記錄(功能代碼 0B 十六進(jìn)制),從設(shè)備不需任何附加的信息。

 

6、錯(cuò)誤檢測(cè)域

 

標(biāo)準(zhǔn)的 Modbus 網(wǎng)絡(luò)有兩種錯(cuò)誤檢測(cè)方法。錯(cuò)誤檢測(cè)域的內(nèi)容視所選的檢測(cè)方法而定。

 

ASCII

 

 

當(dāng)選用 ASCII 模式作字符幀,錯(cuò)誤檢測(cè)域包含兩個(gè) ASCII 字符。這是使用 LRC(縱向冗長檢測(cè))方法對(duì)消息內(nèi)容計(jì)算得出的,不包括開始的冒號(hào)符及回車換行符。LRC 字符附加在回車換行符前面。

 

RTU

 

 

當(dāng)選用 RTU 模式作字符幀,錯(cuò)誤檢測(cè)域包含一 16Bits 值(用兩個(gè) 8 位的字符來實(shí)現(xiàn))。錯(cuò)誤檢測(cè)域的內(nèi)容是通過對(duì)消息內(nèi)容進(jìn)行循環(huán)冗長檢測(cè)方法得出的。CRC 域附加在消息的最后,添加時(shí)先是低字節(jié)然后是高字節(jié)。故 CRC 的高位字節(jié)是發(fā)送消息的最后一個(gè)字節(jié)。

 

7、字符的連續(xù)傳輸

 

當(dāng)消息在標(biāo)準(zhǔn)的 Modbus 系列網(wǎng)絡(luò)傳輸時(shí),每個(gè)字符或字節(jié)以如下方式發(fā)送(從左到右):

 

 

 

最低有效位...最高有效位

 

使用 ASCII 字符幀時(shí),位的序列是:


 

 

 

 

 

 

4. 位順序(ASCII)

 

 

 

 

 

4. 位順序(RTU)

 

四、錯(cuò)誤檢測(cè)方法

 

 

標(biāo)準(zhǔn)的 Modbus 串行網(wǎng)絡(luò)采用兩種錯(cuò)誤檢測(cè)方法。奇偶校驗(yàn)對(duì)每個(gè)字符都可用,幀檢測(cè)(LR C 或 CRC)應(yīng)用于整個(gè)消息。它們都是在消息發(fā)送前由主設(shè)備產(chǎn)生的,從設(shè)備在接收過程中檢測(cè)每個(gè)字符和整個(gè)消息幀。

 

用戶要給主設(shè)備配置一預(yù)先定義的超時(shí)時(shí)間間隔,這個(gè)時(shí)間間隔要足夠長,以使任何從設(shè)備都能作為正常反應(yīng)。如果從設(shè)備測(cè)到一傳輸錯(cuò)誤,消息將不會(huì)接收,也不會(huì)向主設(shè)備作出回應(yīng)。這樣超時(shí)事件將觸發(fā)主設(shè)備來處理錯(cuò)誤。發(fā)往不存在的從設(shè)備的地址也會(huì)產(chǎn)生超時(shí)。

 

1、奇偶校驗(yàn)

 

 

用戶可以配置控制器是奇或偶校驗(yàn),或無校驗(yàn)。這將決定了每個(gè)字符中的奇偶校驗(yàn)位是如何設(shè)置的。

 

如果指定了奇或偶校驗(yàn),“1”的位數(shù)將算到每個(gè)字符的位數(shù)中(ASCII 模式 7 個(gè)數(shù)據(jù)位,R TU 中 8 個(gè)數(shù)據(jù)位)。例如 RTU 字符幀中包含以下 8 個(gè)數(shù)據(jù)位:

廣來電氣新聞
Guanglai Electric news
最新產(chǎn)品
  • nanodac?組合數(shù)據(jù)記錄儀和溫度控制器

    nanodac?組合數(shù)據(jù)記錄儀和溫度控制器

    記錄儀

    ¥0.00

    ¥0.00

  • 歐陸無紙圖形記錄儀6100A 6100XIO 6180A 6180XIO

    歐陸無紙圖形記錄儀6100A 6100XIO 6180A 6180XIO

    記錄儀

    ¥0.00

    ¥0.00

  • 歐陸功率控制器調(diào)功器EPOWER系列

    歐陸功率控制器調(diào)功器EPOWER系列

    調(diào)功器

    ¥0.00

    ¥0.00

  • 歐陸功率控制器EPack系列

    歐陸功率控制器EPack系列

    調(diào)功器

    ¥0.00

    ¥0.00

  • 歐陸功率控制器EFIT系列

    歐陸功率控制器EFIT系列

    調(diào)功器

    ¥0.00

    ¥0.00