




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MODBUS-RTU通訊協(xié)議簡(jiǎn)介在本章主要講述如何利用軟件通過(guò)通訊口來(lái)操控該系列儀表。 本章內(nèi)容的掌握需 要您具有MODBUS協(xié)議的知識(shí)儲(chǔ)備并且通讀了本冊(cè)其它章節(jié)所有內(nèi)容, 對(duì)本產(chǎn) 品功能和應(yīng)用概念有較全面了解。本章內(nèi)容包括:MODBUS協(xié)議簡(jiǎn)述,通訊應(yīng)用格式詳解,本機(jī)的應(yīng)用細(xì)節(jié)及參 量地址表。MODBUS通訊協(xié)議 實(shí)際應(yīng)用案例 簡(jiǎn)介PLC伺服驅(qū)動(dòng)器使用RS-232/485串聯(lián)通訊接口時(shí),每一臺(tái)伺服驅(qū)動(dòng)器必須預(yù)先在參數(shù) 0300 上設(shè)定其伺服驅(qū)動(dòng)器局號(hào),電腦便根據(jù)局號(hào)對(duì)個(gè)別的伺服驅(qū)動(dòng)器實(shí)施控制。通訊的方法是使用MODBUSnetworks通訊,其中MODBUS 可使用下列兩種模式:ASCII
2、(American Standard Code forinformation interchange )模式或 RTU (Remote Terminal Unit )模式。使用者 可于參數(shù)0302上設(shè)定所需的通訊協(xié)議。以下說(shuō)明 MODBUS通訊。編碼意義ASCII模式:每個(gè)8-bits數(shù)據(jù)由兩個(gè)ASCII字節(jié)所組成。例如:一個(gè)1-byte數(shù)據(jù)64H (十六 進(jìn)位表小法),以ASCII” 6殺示,包含了 6勺ASCII 碼(36H)及4勺ASCII 碼(34H)。數(shù)字0至9與字母A至F的ASCII碼,如下表圖示:字節(jié)符號(hào)0''1'2'3''4
3、9;'5''6'7對(duì)應(yīng)ASCII 碼 30H 31H 32H 33H 34H 35H 36H 37H字節(jié)符號(hào)8''9''A''B''C'D''E' F對(duì)應(yīng)ASCII 碼 38H 39H 41H 42H 43H 44H 45H 46HRTU模式:每個(gè)8-bits數(shù)據(jù)由兩個(gè)4-bits的十六進(jìn)位字節(jié)所組成。例如:1-byte數(shù)據(jù)64H。字節(jié)結(jié)構(gòu)10 bits字節(jié)框(用于7-bits字節(jié)) 7N2Startbit 0 1 2 3 4 5 6 Stop bit7-data b
4、its10-bits character frameStop bit 7E1Even parityStartbit 0 1 2 3 4 5 6 Stop bit7-data bits10-bits character frame7O1OddparityStartbit 0 1 2 3 4 5 6 Stopbit7-data bits10-bits character frame第八章通訊功能Revision Apr, 2011 8-911 bits字節(jié)框(用于8-bits字節(jié)) 8N2Startbit 0 1 2 3 4 5 6 Stop bit 8-data bits 11-bits cha
5、racter frame Stop 7 bit 8E1 Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frame7 Evenparity8O1Startbit 0 1 2 3 4 5 6 Stopbit8-data bits11-bits character frame7 Oddparity通訊數(shù)據(jù)結(jié)構(gòu)通訊數(shù)據(jù)格式框:ASCII模式:STX起始字節(jié):'(3AH )ADR通訊地址:1-byte包含了 2個(gè)ASCII碼CMD 指令碼:1-byte 包含了 2個(gè)ASCII碼 DATA (n-1)DATA (0)數(shù)據(jù)內(nèi)容:
6、n-word =2n-byte 包含了 4n 個(gè)ASCII 碼,n<=12LRC 指令碼:1-byte包含了 2個(gè)ASCII碼End 1 結(jié)束碼 1: (0DH) (CR)End 0 結(jié)束碼 0: (0AH) ( LF)RTU模式:STX超過(guò)10ms的靜止時(shí)段ADR 通訊地址:1-byteCMD 指令碼:1-byteDATA (n-1)DATA (0)數(shù)據(jù)內(nèi)容:n-word =2n-byte , n<=12CRC 指令碼:1-byteEnd 1超過(guò)10ms的靜止時(shí)段第八章通訊功能8-10 Revision Apr, 2011通訊數(shù)據(jù)格式框內(nèi)各項(xiàng)細(xì)目說(shuō)明于下:STX (通訊起始)AS
7、CII模式:字節(jié)。RTU模式:超過(guò)10ms的靜止時(shí)段。ADR (通訊地址)合法的通訊地址范圍在 1至U254之間。例如:對(duì)局號(hào)為16 (十六進(jìn)位10H)的 伺服驅(qū)動(dòng)器進(jìn)行通訊:ASCII 模式:ADR= 1' ,' 0' => ;1'' 保31=30HRTU 模式:ADR = 10HCMD (指令指令)及DATA (數(shù)據(jù)字節(jié))數(shù)據(jù)字節(jié)的格式依指令碼而定。常用的指令碼敘述如下。指令碼:03H,讀取N個(gè)字(word )N最大為10。例如:從局號(hào)01H伺服驅(qū)動(dòng)器的起始地址0200H連續(xù)t取2個(gè) 字。ASCII模式:指令信息:回應(yīng)信息:STX :"
8、; STX ''ADR '0''0''1'ADR'1'CMD '0''0''3'CMD'3''0''0,2,數(shù)據(jù)數(shù)(以byte計(jì)算) 4''0''0,起始數(shù)據(jù)位置,0''0,'0''B''0'起始數(shù)據(jù)地址0200H的內(nèi)容'1'0,1,數(shù)據(jù)數(shù)目'2''F'LRC Check F'&
9、#39;4''8'第二筆數(shù)據(jù)地址0201H的內(nèi)容'0'End 1 (0DH)(CR)' E'End 0 (0AH)(LF)LRC Check'8'End 1 (0DH)(CR)End 0 (0AH)(LF)第八章通訊功能Revision Apr, 2011 8-11RTU模式:指令信息:回應(yīng)信息:ADR 01H ADR 01HCMD 03H CMD 03H02H (高位組) 起始數(shù)據(jù)位置00H (低位組)數(shù)據(jù)數(shù)(以byte計(jì)算)04H數(shù)據(jù)數(shù)00H 00H (高位組)(以word計(jì)算)02H起始數(shù)據(jù)地址0200H的內(nèi)容B1H
10、 (低位組)CRC Check Low C5H (低位組)1FH (高位組)CRC Check High B3H (高位組)第二筆數(shù)據(jù)地址0201H的內(nèi)容40H (低位組)CRC Check Low A3H (低位組)CRC Check High D4H (高位組)指令碼:06H,寫入1個(gè)字(word)例如:將100 (0064H)寫入到局號(hào)為01H伺服驅(qū)動(dòng)器的起始地址0200HASCII模式:指令信息:回應(yīng)信息:STX :" STX ''ADR '0''0''1'ADR'1'CMD'6'
11、CMD0'2'0'6' '0' 2, '0'起始數(shù)據(jù)地址'0'起始數(shù)據(jù)地址0006數(shù)據(jù)內(nèi)容'4'數(shù)據(jù)內(nèi)容'4'LRC Check '9''9''3,LRC Check'3'End 1 (0DH)(CR) End 1 (0DH)(CR)End 0 (0AH)(LF) End 0 (0AH)(LF)第八章通訊功能8-12 Revision Apr, 2011RTU模式:指令信息:回應(yīng)信息:ADR 01H ADR 01HCMD 06H
12、 CMD 06H02H (高位組) 02H (高位組)起始數(shù)據(jù)地址00H (低位組)起始數(shù)據(jù)地址00H (低位組)00H (高位組) 00H (高位組)數(shù)據(jù)內(nèi)容64H (低位組)數(shù)據(jù)內(nèi)容64H (低位組)CRC Check Low 89H (彳氐位組) CRC Check Low 89H (彳氐位組)CRC Check High 99H (高位組) CRC Check High 99H (高位組)LRC (ASCII模式)與CRC (RTU模式)偵誤值計(jì)算:ASCII模式:ASCII 模式采用 LRC (Longitudinal Redundancy Check )偵誤值。LRC 偵誤值 乃是
13、從ADR至最后一筆數(shù)據(jù)內(nèi)容加總,得到的結(jié)果以256為單位,超出的部分予以去 除(例如:加總后得到的結(jié)果為十六進(jìn)位的128H則只取28H),然后計(jì)算二的補(bǔ)數(shù),之后 所得到的結(jié)果即為L(zhǎng)RC偵誤值。例如:從局號(hào)為01H伺服驅(qū)動(dòng)器的0201H地址讀取1個(gè)字(word)。STX :"'0'ADR'1''0'CMD'3''0'2,'0'起始數(shù)據(jù)地址'1''0''0''0'數(shù)據(jù)數(shù)'1''F'LRC Check
14、'8'End 1 (0DH)(CR)End 0 (0AH)(LF)01H+03H+02H+01H+00H+01H = 08H對(duì)08H取二的補(bǔ)數(shù)為F8H,故知LRC為F' ,' 8'第八章通訊功能Revision Apr, 2011 8-13RTU模式:RTU 模式采用 CRC (Cyclical Redundancy Check )偵誤值。CRC偵誤值計(jì)算以下列步驟說(shuō)明:步驟一:載入一個(gè)內(nèi)容為 FFFFH之16-bits寄存器,稱之為CRC寄存器。步驟二:將指令信息的第一個(gè)位組與16-bits CRC寄存器的低位組進(jìn)行Exclusive OR 運(yùn)算,并將
15、結(jié)果存回CRC寄存器。步驟三:檢查 CRC寄存器的最低位(LSB),若此位為0,則右移一位;若此 位為1 ,則CRC寄存器值右移一位后,再與 A001H進(jìn)行Exclusive OR 運(yùn)算。步驟四:回到步驟三,直到步驟三已被執(zhí)行過(guò)8次,才進(jìn)到步驟五。步驟五:對(duì)指令信息的下一個(gè)位組重復(fù)步驟二到步驟四,直到所有位組皆完全處理過(guò),此時(shí)CRC寄存器的內(nèi)容即是CRC偵誤值。說(shuō)明:計(jì)算出CRC偵誤值之后,在指令信息中,須先填上 CRC的低位,再填 上CRC的高位,請(qǐng)參考以下例子。例如:從局號(hào)為01H伺服驅(qū)動(dòng)器的0101H地址讀取2個(gè)字(word)。從ADR至 數(shù)據(jù)數(shù)的最后一位組所算出的CRC寄存器的最后內(nèi)容
16、為3794H,則其指令信息如下所 示,須注意的是94H于37H之前傳送。指令信息:ARD 01HCMD 03H01H (高位組)起始數(shù)據(jù)位置01H (低位組)00H (高位組)數(shù)據(jù)數(shù)(以word計(jì))02H (低位組)CRC Check Low 94H (低位組)CRC Check High 37H (高位組)End1、End0 (通訊結(jié)束)ASCII模式:以(0DH)即字節(jié)為r'carriage return及(0AH)即字節(jié)為n'new line,代表通訊結(jié)束。RTU模式:超過(guò)10ms的靜止時(shí)段代表通訊結(jié)束。第八章通訊功能8-14 Revision Apr, 2011范例:下
17、例乃以C語(yǔ)言產(chǎn)生CRC值。此函數(shù)需要兩個(gè)參數(shù):unsigned char* data;unsigned char length此函數(shù)將回傳unsigned integer 型態(tài)之CRC值。unsigned int crc_chk(unsigned char* data, unsigned char length) int j;unsigned int reg_crc=0xFFFF;while( length- ) reg_crcA= *data+;for (j=0; j<8; j+ ) if( reg_crc & 0x01 ) /*LSB(bit 0 ) = 1 */reg_cr
18、c = (reg_crc >> 1)A0xA001; else reg_crc = (reg_crc>>1);return reg_crc;個(gè)人計(jì)算機(jī)通訊程序范例:#include<stdio.h>#include<dos.h>#include<conio.h>#include<process.h>#define PORT 0x03F8 /* the address of COM 1 */#define THR 0x0000#define RDR 0x0000#define BRDL 0x0000#define IER 0
19、x0001#define BRDH 0x0001#define LCR 0x0003#define MCR 0x0004#define LSR 0x0005#define MSR 0x0006unsigned char rdat60;/* read 2 data from address 0200H of ASD with address 1 */unsigned char tdat60=': ' , ' 0' , ' 1' , ' 0' , ' 3' , ' 0'r :'n'2
20、39;;, ' 0' , ' 0' , ' C第八章通訊功能Revision Apr, 2011 8-15 void main() int I;outportb(PORT+MCR,0x08); /* interrupt enable */outportb(PORT+IER,0x01); /* interrupt as data in */outportb(PORT+LCR,( inportb(PORT+LCR) | 0x80 );/* the BRDL/BRDH can be access as LCR.b7 = 1 */outportb(PORT+BR
21、DL,12);outportb(PORT+BRDH,0x00);outportb(PORT+LCR,0x06); /* set prorocol<7,E,1> = 1AH, <7,O,1> = 0AH<8,N,2> = 07H <8,E,1> = 1BH<8,O,1> = 0BH */for( I = 0; I<=16; I+ ) while( !(inportb(PORT+LSR) & 0x20) ); /* wait until THR empty */ outportb(PORT+THR,tdatI); /* se
22、nd data to THR */)I = 0;while( !kbhit() ) if( inportb(PORT+LSR)&0x01 ) /* b0=1, read data ready */ rdatI+ = inportb(PORT+RDR); /* read data from RDR */ )第八章通訊功能8-16 Revision Apr, 2011通訊參數(shù)的寫入與讀出本伺服驅(qū)動(dòng)器所有參數(shù)細(xì)目請(qǐng)參照第八章參數(shù)與功能,經(jīng)由通訊所能夠?qū)懭牖蜃x出之參數(shù)說(shuō)明如下。本參數(shù)共分五群:第0群屬監(jiān)控參數(shù),第1群屬基本參數(shù),第2群屬擴(kuò)展參數(shù),第 3群為通訊參數(shù),第4群為診斷參數(shù)。1.1 M
23、ODBUS協(xié)議簡(jiǎn)述ACRXXXE系列儀表使用的是 MODBUS-RTU通訊協(xié)議,MODBUS協(xié)議詳細(xì)定 義了校驗(yàn)碼、數(shù)據(jù)序列等,這些都是特定數(shù)據(jù)交換的必要內(nèi)容。MODBUS協(xié)議在一根通訊線上使用主從應(yīng)答式連接(半雙工),這意味著在一根單獨(dú)的通訊線 上信號(hào)沿著相反的兩個(gè)方向傳輸。首先,主計(jì)算機(jī)的信號(hào)尋址到一臺(tái)唯一的終端 設(shè)備(從機(jī)),然后,終端設(shè)備發(fā)出的應(yīng)答信號(hào)以相反的方向傳輸給主機(jī)。MODBUS協(xié)議只允許在主機(jī)(PC, PLC等)和終端設(shè)備之間通訊,而不允許獨(dú) 立的終端設(shè)備之間的數(shù)據(jù)交換,這樣各終端設(shè)備不會(huì)在它們初始化時(shí)占據(jù)通訊線 路,而僅限于響應(yīng)到達(dá)本機(jī)的查詢信號(hào)。1.1.1 查詢查詢消息中
24、的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能。數(shù)據(jù)段包含了從設(shè) 備要執(zhí)行功能的任何附加信息。例如功能代碼 03是要求從設(shè)備讀保持寄存器并 返回它們的內(nèi)容。數(shù)據(jù)段必須包含要告之從設(shè)備的信息: 從何寄存器開始讀及要 讀的寄存器數(shù)量。錯(cuò)誤檢測(cè)域?yàn)閺脑O(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方 法。1.1.2 回應(yīng)如果從設(shè)備產(chǎn)生一正常的回應(yīng),在回應(yīng)消息中的功能代碼是在查詢消息中的功能 代碼的回應(yīng)。數(shù)據(jù)段包括了從設(shè)備收集的數(shù)據(jù):如寄存器值或狀態(tài)。如果有錯(cuò)誤 發(fā)生,功能代碼將被修改以用于指出回應(yīng)消息是錯(cuò)誤的,同時(shí)數(shù)據(jù)段包含了描述此錯(cuò)誤信息的代碼。錯(cuò)誤檢測(cè)域允許主設(shè)備確認(rèn)消息內(nèi)容是否可用。1.3 傳輸方式傳輸方式是
25、指一個(gè)數(shù)據(jù)幀內(nèi)一系列獨(dú)立的數(shù)據(jù)結(jié)構(gòu)以及用于傳輸數(shù)據(jù)的有限規(guī)則,下面定義了與MODBUS協(xié)議-RTU方式相兼容的傳輸方式。每個(gè)字節(jié)的位:?1個(gè)起始位?8個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送?無(wú)奇偶校驗(yàn)位?1個(gè)停止位錯(cuò)誤檢測(cè)(Error checking): CRC (循環(huán)冗余校驗(yàn))1.4 協(xié)議當(dāng)數(shù)據(jù)幀到達(dá)終端設(shè)備時(shí),它通過(guò)一個(gè)簡(jiǎn)單的“端口”進(jìn)入被尋址到的設(shè)備,該 設(shè)備去掉數(shù)據(jù)幀的“信封”(數(shù)據(jù)頭),讀取數(shù)據(jù),如果沒有錯(cuò)誤,就執(zhí)行數(shù)據(jù)所 請(qǐng)求的任務(wù),然后,它將自己生成的數(shù)據(jù)加入到取得的“信封”中,把數(shù)據(jù)幀返 回給發(fā)送者。返回的響應(yīng)數(shù)據(jù)中包含了以下內(nèi)容:終端從機(jī)地址(Address卜被執(zhí)行了的命令(Func
26、tion)、執(zhí)行命令生成的被請(qǐng)求數(shù)據(jù)(Data)和一個(gè)校驗(yàn)碼(Check)。 發(fā)生任何錯(cuò)誤都不會(huì)有成功的響應(yīng),或者返回一個(gè)錯(cuò)誤指示幀。1.4.1 數(shù)據(jù)幀格式Address Function Data Check8-Bits 8-Bits N x 8-Bits 16-Bits1.4.2 地址(Address)域地址域在幀的開始部分,由一個(gè)字節(jié)(8位二進(jìn)制碼)組成,十進(jìn)制為 0255, 在我們的系統(tǒng)中只使用1247其它地址保留。這些位標(biāo)明了用戶指定的終端設(shè)備 的地址,該設(shè)備將接收來(lái)自與之相連的主機(jī)數(shù)據(jù)。每個(gè)終端設(shè)備的地址必須是唯一的,僅僅被尋址到的終端會(huì)響應(yīng)包含了該地址的查詢。當(dāng)終端發(fā)送回一個(gè)響應(yīng)
27、,響應(yīng)中的從機(jī)地址數(shù)據(jù)便告訴了主機(jī)哪臺(tái)終端正與之進(jìn)行通信。1.4.3 功能(Function )域功能域代碼告訴了被尋址到的終端執(zhí)行何種功能。下表列出了該系列儀表用到的功能碼,以及它們的意義和功能。代碼意義行為03讀數(shù)據(jù)寄存器獲得一個(gè)或多個(gè)寄存器的當(dāng)前二進(jìn)制值16預(yù)置多寄存器設(shè)定二進(jìn)制值到一系列多寄存器中(不對(duì)ACRXXXE開放)1.4.4 數(shù)據(jù)(Data)域數(shù)據(jù)域包含了終端執(zhí)行特定功能所需要的數(shù)據(jù)或者終端響應(yīng)查詢時(shí)采集到的數(shù) 據(jù)。這些數(shù)據(jù)的內(nèi)容可能是數(shù)值、參考地址或者設(shè)置值。例如:功能域碼告訴終 端讀取一個(gè)寄存器,數(shù)據(jù)域則需要指明從哪個(gè)寄存器開始及讀取多少個(gè)數(shù)據(jù),內(nèi)嵌的地址和數(shù)據(jù)依照類型和從
28、機(jī)之間的不同內(nèi)容而有所不同。1.4.5 錯(cuò)誤校驗(yàn)(Check)域該域允許主機(jī)和終端檢查傳輸過(guò)程中的錯(cuò)誤。 有時(shí),由于電噪聲和其它干擾,一 組數(shù)據(jù)在從一個(gè)設(shè)備傳輸?shù)搅硪粋€(gè)設(shè)備時(shí)在線路上可能會(huì)發(fā)生一些改變, 出錯(cuò)校 驗(yàn)?zāi)軌虮WC主機(jī)或者終端不去響應(yīng)那些傳輸過(guò)程中發(fā)生了改變的數(shù)據(jù), 這就提高 了系統(tǒng)的安全性和效率,錯(cuò)誤校驗(yàn)使用了 16位循環(huán)冗余的方法(CRC16)。1.5 錯(cuò)誤檢測(cè)的方法錯(cuò)誤校驗(yàn)(CRC)域占用兩個(gè)字節(jié),包含了一個(gè)16位的二進(jìn)制值。CRC值由傳 輸設(shè)備計(jì)算出來(lái),然后附加到數(shù)據(jù)幀上,接收設(shè)備在接收數(shù)據(jù)時(shí)重新計(jì)算CRC值,然后與接收到的CRC域中的值進(jìn)行比較,如果這兩個(gè)值不相等,就發(fā)生了
29、錯(cuò)誤。CRC運(yùn)算時(shí),首先將一個(gè)16位的寄存器預(yù)置為全1,然后連續(xù)把數(shù)據(jù)幀中的每 個(gè)字節(jié)中的8位與該寄存器的當(dāng)前值進(jìn)行運(yùn)算,僅僅每個(gè)字節(jié)的8個(gè)數(shù)據(jù)位參與 生成CRC,起始位和終止位以及可能使用的奇偶位都不影響CRC。在生成CRC時(shí),每個(gè)字節(jié)的8位與寄存器中的內(nèi)容進(jìn)行異或,然后將結(jié)果向低位移位,高位 則用“0”補(bǔ)充,最低位(LSB)移出并檢測(cè),如果是1,該寄存器就與一個(gè)預(yù)設(shè) 的固定值(0A001H)進(jìn)行一次異或運(yùn)算,如果最低位為 0,不作任何處理。 上述處理重復(fù)進(jìn)行,直到執(zhí)行完了 8次移位操作,當(dāng)最后一位(第8位)移完以 后,下一個(gè)8位字節(jié)與寄存器的當(dāng)前值進(jìn)行異或運(yùn)算,同樣進(jìn)行上述的另一個(gè)8次移位
30、異或操作,當(dāng)數(shù)據(jù)幀中的所有字節(jié)都作了處理,生成的最終值就是CRC值。生成一個(gè)CRC的流程為:1 預(yù)置一個(gè)16位寄存器為0FFFFH (全1),稱之為CRC寄存器。2 把數(shù)據(jù)幀中的第一個(gè)字節(jié)的8位與CRC寄存器中的低字節(jié)進(jìn)行異或運(yùn)算,結(jié)果存回CRC寄存器。3 將CRC寄存器向右移一位,最高位填以 0,最低位移出并檢測(cè)。4 如果最低位為0:重復(fù)第三步(下一次移位);如果最低位為1:將CRC寄存器與一個(gè)預(yù)設(shè)的固定值(0A001H)進(jìn)行異或運(yùn)算。5 重復(fù)第三步和第四步直到8次移位。這樣處理完了一個(gè)完整的八位。6 重復(fù)第2步到第5步來(lái)處理下一個(gè)八位,直到所有的字節(jié)處理結(jié)束。7 最終CRC寄存器的值就是C
31、RC的值。此外還有一種利用預(yù)設(shè)的表格計(jì)算 CRC的方法,它的主要特點(diǎn)是計(jì)算速度快, 但是表格需要較大的存儲(chǔ)空間,該方法此處不再贅述,請(qǐng)參閱相關(guān)資料。lo CRC16hi01H 03H 00H 00H 00H 03H 05H CBHAddr:從機(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é)1.6.1 讀數(shù)據(jù)(功能
32、碼03)l查詢數(shù)據(jù)幀此功能允許用戶獲得設(shè)備采集與記錄的數(shù)據(jù)及系統(tǒng)參數(shù)。主機(jī)一次請(qǐng)求的數(shù)據(jù)個(gè)數(shù)沒有限制,但不能超出定義的地址范圍。下面的例子是從01號(hào)從機(jī)讀3個(gè)采集到的基本數(shù)據(jù)(數(shù)據(jù)幀中每個(gè)地址占用 2 個(gè)字節(jié))UA、UB、UC,其中UA的地址為0025H, UB的地址為0026H, UC的 地址為0027H。Addr Fun Data startAddr hi DatastartAddr lo Data#ofregs hi Data #ofregs lo CRC16 lo CRC16 hi01H 03H 00H 25H 00H 03H 14H 00Hl響應(yīng)數(shù)據(jù)幀響應(yīng)包含從機(jī)地址、功能碼、數(shù)據(jù)的
33、數(shù)量和CRC錯(cuò)誤校驗(yàn)。下面的例子是讀取 UA、UB、UC (UA=082CH , UB=082AH , UC=082CH 的響應(yīng)。 Addr Fun Byte count Datal hi Datal lo Data2 hi Data2 lo Data3 hi Data3 lo CRC16 lo CRC16 hi01H 03H 06H 08H 2CH 08H 2AH 08H 2CH 94H 4EHl錯(cuò)誤指示碼如果主機(jī)請(qǐng)求的地址不存在則返回錯(cuò)誤指示碼:FFH。1.6.2 預(yù)置多寄存器(功能碼16,不對(duì)ACRXXXE開放)l查詢數(shù)據(jù)幀功能碼16允許用戶改變多個(gè)寄存器的內(nèi)容,該儀表中系統(tǒng)參數(shù)、開關(guān)
34、量輸出狀態(tài)等可用此功能號(hào)寫入。主機(jī)一次最多可以寫入16個(gè)(32字節(jié))數(shù)據(jù)。下面的例子是預(yù)置 ACR220EK、ACR320EFK及ACR420EK地址者B為1時(shí)同時(shí) 輸出開關(guān)量Do1和Do2。ACR220EK :Addr Fun Data Start reg hi Data start reg lo Data #of regs hi Data #of regs lo Bytecount Value hi Value lo CRC lo CRC hi01H 10H 00H 22H 00H 01H 02 H 30H 00H B4H D2HACR420EK :Addr Fun Data Start
35、reg hi Data start reg lo Data #of regs hi Data #of regs lo Bytecount Value hi Value lo CRC lo CRC hi 01H 10H 00H 22H 00H 01H 02 H C0H 00H F0H D2HACR320EFK:Addr Fun Data Start reg hi Data start reg lo Data #of regs hi Data #of regs lo Value hi Value lo CRC lo CRC hi01H 10H 00H 05H 00H 01H 00H C0H 0DH
36、 96Hl響應(yīng)數(shù)據(jù)幀對(duì)于預(yù)置單寄存器請(qǐng)求的正常響應(yīng)是在寄存器值改變以后回應(yīng)機(jī)器地址、功能號(hào)、數(shù)據(jù)起始地址、數(shù)據(jù)個(gè)數(shù)(ACR320EFK為數(shù)據(jù)字節(jié)數(shù)卜CRC校驗(yàn)碼。如圖。ACR220EK 和 ACR420EK:Addr Fun Data start reg hi Data start reg lo Data #of regs hi Data #of regs lo CRC16 lo CRC16 hi01H 10H 00H 22H 00H 01H A1H C3HACR320EFK:Addr Fun Data start reg hi Data start reg lo Bytecount CRC1
37、6 lo CRC16 hi 01H 10H 00H 05H 02H 9FH 91Hl錯(cuò)誤指示碼如果主機(jī)請(qǐng)求的地址不存在或數(shù)據(jù)個(gè)數(shù)不正確則返回錯(cuò)誤指示碼:FFH1.7ACRXXXE的應(yīng)用細(xì)節(jié)及參量地址表該系列測(cè)量值用Modbus-RTU通訊規(guī)約的03號(hào)命令讀出。通訊值與實(shí)際值之間的對(duì)應(yīng)關(guān)系如下表:(約定Val_t為通訊讀出值,Val_s為實(shí) 際值)適用參量對(duì)應(yīng)關(guān)系單位電壓值 UA、UB、UC Val_s= ( Val_t Z1000O) * (10ADPT) 伏(V) 電流值IA、舊、IC signVal_s= (Val_t Z10000) * (10ADCT) 安培(A)功率值 PA、PB、PC、P、QA、QB、QC、Q Val_s= (-1)(Val_t Z10000)* (10ADPQ)瓦(W)、乏(Var)電度量一次側(cè)值 EpI、 EpE、EqL、EqC Val_s= Val_t*PT*CT 瓦時(shí)(wh) 乏時(shí)(varh)功率因數(shù)值 PFA、PFB、PFC、PFS Val_s= Val_t Z 1000 無(wú)單位頻率 FR Val_s= Val_t Z 100 赫茲(Hz)范例:UA而通訊疝!值為08C6H(2246
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省監(jiān)理聘用合同范本
- 北碚區(qū)運(yùn)輸合同范本
- 興業(yè)快遞轉(zhuǎn)讓合同范本
- 北京入職合同范本
- 農(nóng)資農(nóng)藥購(gòu)銷合同范本
- 農(nóng)莊合作期間轉(zhuǎn)讓合同范本
- 公司雇傭個(gè)人合同范本
- 出貨貨期合同范本
- 價(jià)稅分開合同范本
- 化妝品經(jīng)營(yíng)合同范本
- PEP六年級(jí)上冊(cè)英語(yǔ)unit1
- 接納與承諾(ACT)療法課件
- 裝配式混凝土建筑技術(shù)標(biāo)準(zhǔn)
- 房地產(chǎn)公司銷售管理部賞罰制度
- 《方位介詞介紹》課件
- 甲狀腺術(shù)后出血搶救流程
- 個(gè)人購(gòu)買家具合同
- 國(guó)際救生設(shè)備規(guī)則
- 第三方檢查應(yīng)對(duì)措施方案
- 2020年財(cái)產(chǎn)保險(xiǎn)公司部門職責(zé)和崗位說(shuō)明書
- 抽水臺(tái)班記錄表
評(píng)論
0/150
提交評(píng)論