您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>

Modbus通訊地址設(shè)定方法說明

2018年02月08日 08:38 電子發(fā)燒友整理 作者: 用戶評(píng)論(0

Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一種通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一個(gè)控制器請(qǐng)求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。

Modbus通訊地址設(shè)定

利用Modbus協(xié)議可以實(shí)現(xiàn)設(shè)備間的數(shù)據(jù)交換。Modbus通訊理論上支持4種ModiconPLC地址,即0*、1*、3*和4*四種,分別表示開出(中間線圈)、開入、模入、模出(中間寄存器)等數(shù)據(jù)地址。與西門子或其它設(shè)備中的開入、開出、模入、模出地址完全不對(duì)應(yīng)??梢岳斫鉃?*和1*對(duì)應(yīng)位地址的讀寫操作,3*和4*字地址的讀寫操作。

此處0*、1*、3*和4*表示長(zhǎng)度有的為5位數(shù)字、有的為6位,其實(shí)和Modbus通訊無關(guān),只是和軟件的表示方式有關(guān)。

按照Modbus通訊時(shí)最常用的是RTU讀請(qǐng)求格式:

從站地址(1個(gè)字節(jié))、功能代碼(1個(gè)字節(jié))、從站數(shù)據(jù)起始地址(2個(gè)字節(jié))、讀數(shù)據(jù)長(zhǎng)度(2個(gè)字節(jié))、CRC校驗(yàn)(2個(gè)字節(jié))

可見,只需設(shè)置起始從站數(shù)據(jù)區(qū)起始地址和通訊長(zhǎng)度即可。

特別注意,Modbus地址遵從IEC1的地址標(biāo)準(zhǔn)(最小地址為*1),西門子遵從IEC0的標(biāo)準(zhǔn)(最小地址為0,如M0.0)。因此,不同標(biāo)準(zhǔn)的地址做通訊時(shí)需要做地址變換,即加1的操作。

ACRXXXE的應(yīng)用細(xì)節(jié)及參量地址表

該系列測(cè)量值用Modbus-RTU 通訊規(guī)約的03號(hào)命令讀出。

通訊值與實(shí)際值之間的對(duì)應(yīng)關(guān)系如下表:(約定Val_t為通訊讀出值,Val_s為實(shí)際值)

Modbus通訊地址設(shè)定方法說明

幾點(diǎn)說明:

1 數(shù)據(jù)類型:“BYTE”指1個(gè)字節(jié);“word” 指16位無符號(hào)整數(shù);“Integer”指16位有符號(hào)整數(shù);“Dword” 指32位無符號(hào)整數(shù),“Fword”指32位浮點(diǎn)數(shù)。

2 讀寫屬性:“R”只讀,讀參量用03H號(hào)命令;“R/W”可讀可寫,寫系統(tǒng)參量用10H號(hào)命令。禁止向未列出的或不具可寫屬性的地址寫入。

3 波特率的設(shè)定范圍4800 bps,9600 bps,19200 bps,38400 bps.在此范圍外的設(shè)定是不允許的。如果寫入超范圍的設(shè)定值,儀表會(huì)啟用默認(rèn)波特率:38400 bps。

4 ACR320EFK所測(cè)電能值均為二次側(cè)電能。高字節(jié)在前,低字節(jié)在后,單位WH 或VARH, 統(tǒng)計(jì)一次側(cè)電能數(shù)據(jù)的時(shí)候,請(qǐng)乘以相應(yīng)的變比。例如10KV/100V,75A/5A 的儀表,請(qǐng)?jiān)谟?jì)量抄表的數(shù)據(jù)乘以PT=100和CT=15 的乘積1500。

5 ACR320EFK 提供4 路開關(guān)量輸入功能和2路繼電器開關(guān)量輸出功能。4 路開關(guān)輸入是采用濕接點(diǎn)電阻開關(guān)信號(hào)輸入方式,儀表內(nèi)部配備+5V 的工作電源,無須外部供電。當(dāng)外部接通的時(shí)候,經(jīng)過儀表開關(guān)輸入模塊DI 采集其為接通信息、顯示為1;當(dāng)外部斷開的時(shí)候,經(jīng)過儀表開關(guān)輸入模塊DI 采集其為斷開信息、顯示為0。開關(guān)量輸入模塊不僅能夠采集和顯示本地的開關(guān)信息,同時(shí)可以通過儀表的數(shù)字接口RS485 實(shí)現(xiàn)遠(yuǎn)程傳輸功能,即“遙信”功能;2路繼電器輸出功能可用于各種場(chǎng)所下的報(bào)警指示、保護(hù)控制等輸出功能。在開關(guān)輸出有效的時(shí)候,繼電器輸出導(dǎo)通,顯示為1;開關(guān)輸出關(guān)閉的時(shí)候,顯示為0,繼電器輸出關(guān)斷。

6 ACRXXXE(K)電度一次側(cè)時(shí)的值采用浮點(diǎn)變量數(shù)據(jù)類型。它用符號(hào)位表示數(shù)的符號(hào),用階碼和尾數(shù)表示數(shù)的大小。儀表采用的數(shù)據(jù)格式為IEEE754數(shù)據(jù)格式具有24位精度,尾數(shù)的高位始終為“1”,因而不保存,位的分布如下

● 1位符號(hào)位;

● 8位指數(shù)位;

● 23位尾數(shù)。

符號(hào)位是最高位,尾數(shù)為最低的23位,按字節(jié)描述如下:

范例:UA的通訊讀出值為08C6H(2246),DPT為5,則UA的實(shí)際值

Va =(2246/10000)*(10^5) = 22.46KV。

IA的通訊讀出值為0FA0H(4000),DCT為3,則IA的實(shí)際值

Ia =(4000/10000)*(10^3) = 400.0A。

Modbus通訊地址設(shè)定方法說明

其中, S:符號(hào)位,1表示負(fù),0表示正;

E:階碼(在兩個(gè)字節(jié)中)偏移為127;

M:23位尾數(shù),最高位為“1”。

具體舉例如下:

讀出0 10001110 100 1011 1010 1100 0000 0000B

0 代表符號(hào)位,“1”為負(fù),“0”為正;

10001110 為計(jì)算指數(shù),設(shè)為a, a為10進(jìn)制,a為142;

100 1011 1010 1100 0000 0000 為計(jì)算尾數(shù),設(shè)為b,b為10進(jìn)制,b為4959232。

計(jì)算公式:

一次側(cè)電量=

上例計(jì)算結(jié)果為:

==52140

通訊應(yīng)用格式祥解

Modbus通訊地址設(shè)定方法說明

Addr:從機(jī)地址

Fun:功能碼

Data start reg hi:數(shù)據(jù)起始地址 寄存器高字節(jié)

Data start reg lo:數(shù)據(jù)起始地址 寄存器低字節(jié)

Data #of reg hi:數(shù)據(jù)讀取個(gè)數(shù) 寄存器高字節(jié)

Data #of reg lo:數(shù)據(jù)讀取個(gè)數(shù) 寄存器低字節(jié)

CRC16 Hi: 循環(huán)冗余校驗(yàn) 高字節(jié)

CRC16 Lo: 循環(huán)冗余校驗(yàn) 低字節(jié)

非常好我支持^.^

(30) 29.1%

不好我反對(duì)

(73) 70.9%

( 發(fā)表人:李建兵 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?