三相電流/電壓表AV-300


一、通訊
1-1通訊協(xié)定
采用Modus protocol –RTU模式之通訊協(xié)定。
編碼 | 8位元之2進位制數(shù)值 |
起始位 | 1位 |
模式 | 異步 |
數(shù)據(jù)長度 | 8位 |
奇偶校驗 | 無 |
停止位 | 2位 |
錯誤校驗 | CRC(冗余循環(huán)碼) |
起始標志=≥4字節(jié)的時間
位址碼 = 1字節(jié)
功能碼 = 1字節(jié)
數(shù)據(jù)區(qū) =N字節(jié)
錯誤校驗 = 16位CRC碼
結(jié)束標志=≥4字節(jié)的時間
1-2結(jié)構(gòu)
位址碼 | 功能碼 | 數(shù)據(jù)區(qū) | 校驗碼 |
8位元 | 8位元 | N×8位元 | 16位元 |
1-3位址區(qū)
位址碼為訊息組的起始位元組(8位元),從1~247這個位元組表示由用戶設(shè)置位址的從站將接收由主站發(fā)送來的訊息。每個從站都必須有的位置碼,并且只有符合位址碼之從站才能回應。當從站回應訊息時,其位址碼表示其訊息來自何處。
1-4功能區(qū)
主站發(fā)送之功能碼告訴從站要執(zhí)行之任務,以下列出功能碼都有具體的含義及操作。
代碼 | 含義 | 操作 |
03 | 讀取數(shù)據(jù) | 讀取當前暫存器一個或多個之二進位值 |
06 | 預置單一暫存器 | 把設(shè)置之二進位值寫入單一暫存器 |
1-5數(shù)據(jù)區(qū)
數(shù)據(jù)區(qū)包含需要從站執(zhí)行之動作或由從站采集的反送訊息,這些訊息可以是數(shù)值,參考地址等等。例如:功能碼告訴從站讀取暫存器的值,則數(shù)據(jù)區(qū)必包含要讀取暫存器的起始位址及讀取長度,對于不同的從站,位址和數(shù)據(jù)訊息都不相同。
1-6錯誤校驗碼
主站或從站可用校驗碼進行判別接收訊息是否出錯,當訊息在傳送過程中,由于電子訊或其他的干擾,而產(chǎn)生不確定性的變化,錯誤校驗碼可以保證主站或從站在傳送過程中出錯的訊息不被認定,如此可確立系統(tǒng)的可靠性。(錯誤校驗采CRC-16校驗方法)
- 位址碼,功能碼,數(shù)據(jù)區(qū)和錯誤訊息組成的格式都是相同的※
1-7錯誤校驗碼
冗余循環(huán)碼(CRC)包含2個位元組,16位元二進位數(shù)值CRC碼由發(fā)送設(shè)備計算,置于發(fā)送訊息的尾部。接收訊息設(shè)備再重新計算接收到訊息CRC碼,比較計算得到的CRC碼是否與接收到的相符合,如果兩者不相符合,則表明出錯,即傳訊資料不被確定就執(zhí)行錯誤處理。
計算CRC碼的步驟:
- 預置16位元暫存器為十六進位FFFF(即全為1)。稱此為CRC之暫存器。
- 把個8位數(shù)位元組與16位CRC暫存器之較低位元組做互斥或運算,把結(jié)果置于CRC暫存器內(nèi)。
- 把CRS暫存器的內(nèi)容右移一位元(朝低元),用0位元,再驗查位元。
- 如果位元為0:重復第3步驟(再次移位)。
如果位元為1:CRC暫存器與多項式A001()做互斥或運算。
- 重復步驟3和4,知道右移8次為止,將全部8位數(shù)位元組全部進行處理。
- 重復步驟2到步驟5,進行下一個8位數(shù)位元組全部進行處理。
- 最后得到的CRC暫存器即為CRC碼。
二、通訊功能說明
2-1讀取暫存器內(nèi)容:(Function code:03H)
此一功能允許使用者選取測量值,記錄資料及系統(tǒng)所設(shè)定參數(shù)
Address | Function | Data start Addr | Data of Regs | CRC 16 Low | CRC 16 Hi |
01H | 03H | 03H | 00H | | |
Response:所回傳的資料中包含了從站的位置,功能碼,資料的長度,資料位元組及檢查碼。
Address | Function | Data count | Data | CRC 16 Low | CRC 16 Hi |
01H | 03H | 02H | 27H | 0 | |
2-2變更單一暫存器的內(nèi)容:(Function code:06H)
此一功能允許使用者變更任何經(jīng)許可的單一暫存器位置,但其變更的資料必須是在被接收的范圍內(nèi),當此表在正常的工作狀態(tài)下,此功能在任何時間均可執(zhí)行。
Address | Function | Data of Regs | Value | CRC 16 Low | CRC 16 Hi |
01H | 06H | 0BH | 00H | | |
Response:在常態(tài)回應時,回應通常延遲至暫存器變更之后
Address | Function | Data of Regs | Value | CRC 16 Low | CRC 16 Hi |
01H | 06H | 0BH | 00H | | |
2-3錯誤訊息
Address | Function | Error code | CRC 16 Low | CRC 16 Hi |
01H | 6EH | 02H | 0 | |
其功能碼的位元更改為high
錯誤碼:01 = 錯誤的功能碼(Error Function)
02= 錯誤的資料位置(Error Data Address)
03 = 錯誤的資料值(Error Data Value)
三、數(shù)據(jù)結(jié)構(gòu):
1.儀表的任何一個參數(shù)值都是由一個整數(shù)值和一個小數(shù)點組成(整數(shù)值為儀表顯示值去掉小數(shù)點的值)。
2.參數(shù)值范圍超過255的為兩個字節(jié),否則為1個字節(jié)。
例如:電壓顯示為355.5V
那么電壓值為3555(十六進制為0X0DE3)
即電壓的高字節(jié)為0X0D
電壓的低字節(jié)為0XZ3
電壓的小數(shù)點位置為1
地址表
0 | A相電壓的高字節(jié) | unsigned char | 0~255 |
1 | A相電壓的低字節(jié) | unsigned char | 0~255 |
2 | B相電壓的高字節(jié) | unsigned char | 0~255 |
3 | B相電壓的低字節(jié) | unsigned char | 0~255 |
4 | C相電壓的低字節(jié) | unsigned char | 0~255 |
5 | C相電壓的低字節(jié) | unsigned char | 0~255 |
6 | A相電流的高字節(jié) | unsigned char | 0~255 |
7 | A相電流的低字節(jié) | unsigned char | 0~255 |
8 | B相電流的高字節(jié) | unsigned char | 0~255 |
9 | B相電流的高字節(jié) | unsigned char | 0~255 |
10 | C相電流的高字節(jié) | unsigned char | 0~255 |
11 | C相電流的高字節(jié) | unsigned char | 0~255 |
12 | 電壓報警值的高字節(jié) | unsigned char | 0~255 |
13 | 電壓報警值的低字節(jié) | unsigned char | 0~255 |
14 | 電壓低端報警值的高字節(jié) | unsigned char | 0~255 |
15 | 電壓低端報警值的低字節(jié) | unsigned char | 0~255 |
16 | 電流報警值的高字節(jié) | unsigned char | 0~255 |
17 | 電流報警值的低字節(jié) | unsigned char | 0~255 |
18 | 電流低端報警值的高字節(jié) | unsigned char | 0~255 |
19 | 電流低端報警值的低字節(jié) | unsigned char | 0~255 |
20 | 報警延遲時間的高字節(jié) | unsigned char | 0~255 |
21 | 報警延遲時間的低字節(jié) | unsigned char | 0~255 |
22 | 從機地址 | unsigned char | 0~255 |
23 | 波特率 | unsigned char | 0~255 |
備注:波特率0---->4800
波特率1---->9600
波特率2---->19200

