電爐控制柜高精度與高可靠性結合,外殼采用
宇電MODBUS通訊協議說明(V8.2)
一、儀表參數代號表
AI儀表可讀/寫的參數代號表(V8.2 516/516P/526/526P/719/719P)
參數代號 | Modbus-RTU寄存器地址 | AI-719/719P | 說明 |
00H | 40001 | 給定值 | 單位同測量值 |
01H | 40002 | HIAL上限報警 | 單位同測量值 |
02H | 40003 | LoAL下限報警 | 單位同測量值 |
03H | 40004 | dHAL正偏差報警 | 單位同測量值 |
04H | 40005 | dLAL負偏差報警 | 單位同測量值 |
05H | 40006 | AHYS報警回差 | 單位同測量值 |
06H | 40007 | CtrL控制方式 | 0,ONOFF;1,APID;2,nPID;3,PoP;4,SoP |
07H | 40008 | P比例帶 | 單位同測量值 |
08H | 40009 | I 積分時間 | 秒 |
09H | 40010 | d 微分時間 | 0.1秒 |
0AH | 40011 | CtI控制周期 | 0.1秒 |
0BH | 40012 | InP輸入規格 | 見使用說明書 |
0CH | 40013 | dPt小數點位置 | 0,0;1,0.0;2,0.00,3,0.000;如讀入的以上數據+128,則表示所有測量值及與測量值使用相同單位的參數(無論是溫度或線性信號),均需要除10后4舍5入后再進行顯示處理。例如,dPt數值為128+1=129,讀入的測量值或相關參數值16位整數值為1000,則實際顯示應為10.0,若dPt數值為1,則實際顯示的數據為100.0;該參數亦可以寫入,但寫入時不得加128,寫數據范圍是0~3。 |
0DH | 40014 | ScL刻度下限值 | 單位同測量值 |
0EH | 40015 | ScH刻度上限值 | 單位同測量值 |
0FH | 40016 | ALP報警輸出選擇 | 含義見說明書 |
10H | 40017 | Sc測量平移修正 | 單位同測量值 |
11H | 40018 | oP1主輸出方式 | 0,SSR;1,rELy;2,0-20;3,4-20 |
12H | 40019 | OPL輸出下限 | % |
13H | 40020 | OPH輸出上限 | % |
14H | 40021 | CF功能選擇 | 含義見說明書 |
15H | 40022 | 儀表型號特征字 | 5180(AI-518)或5187(AI-518P) |
16H | 40023 | Addr 通訊地址 |
|
17H | 40024 | FILt數字濾波 |
|
18H** | 40025 | AMAn手動/自動選擇 | 0,MAN;1,Auto;2,FMAn;3,FAut |
19H | 40026 | Loc參數封鎖 |
|
1AH** | 40027 | MV手動輸出值 |
|
1BH | 40028 | Srun 運行/停止選擇 | 0,run;1,StoP;2,HoLd |
1CH | 40029 | CHYS 控制回差 | 單位同測量值 |
1DH | 40030 | At 自整定選擇 | 0,OFF;1,on;2;FoFF |
1EH | 40031 | SPL 給定值下限 | 單位同測量值 |
1FH | 40032 | SPH 給定值上限 | 單位同測量值 |
20H | 40033 | Fru單位及電源頻率 | 0,50C;1,50F;2,60C;3,60F |
21H | 40034 | OHEF OPH有效范圍 | 單位同測量值 |
22H | 40035 | Act 正/反作用 | 0,rE;1,dr;2,rEbA;3,drbA |
23H | 40036 | AdIS 報警選擇 | 0,OFF;1,on |
24H | 40037 | Aut 冷輸出規格 | 0,SSR;1,rELy;2,0-20;3,4-20 |
25H | 40038 | P2 冷輸出比例帶 | 單位同測量值 |
26H | 40039 | I2 冷輸出積分時間 | 秒 |
27H | 40040 | d2 冷輸出微分時間 | 0.1秒 |
28H | 40041 | CtI2 冷輸出周期 | 0.1秒 |
29H | 40042 | Et 事件輸入類型 | 0,nonE;1,ruSt;2,SP1.2;3,PId2 |
2AH*** | 40043 | SPr 升溫速率限制 | 測量值單位/(分鐘)(需等同測量值進行單位處理) |
2BH* | 40044 | Pno 程序段數 | 整數 |
2CH* | 40045 | PonP 上電選擇 | 0,Cont;1,StoP;2,run1;3,dASt;4,HoLd |
2DH* | 40046 | PAF 程序參數 | 功能見說明書 |
2EH* | 40047 | STEP 程序段號 | 整數 |
2FH* | 40048 | 已運行時間 | 0.1分或0.1小時,由PAF參數決定 |
30H* | 40049 | 事件輸出狀態 | 0,無事件輸出;1,事件1(AL1)動作;2,AL2動作;3,AL1及AL2動作 |
31H** | 40050 | OPrt軟啟動時間 |
|
32H** | 40051 | Strt閥門轉動時間 | 定義閥門轉動需要的時間 |
33H** | 40052 | SPSL外給定下限 | 當外給定輸入口用于測量閥門反饋信號時,設定閥門定位值1 |
34H** | 40053 | SPSH外給定上限 | 當外給定輸入口用于測量閥門反饋信號時,設定閥門定位值2 |
35H** | 40054 | Ero故障輸出值 | 定義傳感器輸入故障或超量程時,儀表的調節輸出值 |
36H** | 40055 | AF2 | 功能參數2 |
37H~3FH | 40056~40064 | 備用 |
|
40H~47H | 40065~40072 | EP1~EP8 |
|
48H** | 40073 | 閥門位置(只讀) | 數值0~25600對應0~*,讀取數除以256方為百分比數 |
49H~4FH | 40074~40080 | 備用 |
|
50H~51H | 40081~40082 | SP 1、t 1 | SP1為給定值1,t1為首段程序值 |
52H~ | 40083~ | SP2 ~ 程序段數據,數量由Pno參數定義 |
|
說明:
1、帶一個*星號的參數僅為AI-516P/526P/719P可用,若對AI-516/526/719讀寫則視為無效參數代號,帶**的參數是AI-719等儀表方可使用,帶***的參數是AI-516P/526P/719P等型號方可使用。
2、如果向儀表讀取參數代號在表格中以外的參數(無效參數代號或備用參數代號),則儀表返回的參數值,高位值為127(若讀成整數就是32512~32767,由于AI系列儀表參數zui大設置范圍是32000,所以32512以上參數可以作為讀錯參數代號的標志),在上位機程序中予以處理;若讀取參數代號大于有效程序段的zui后一個數值(0B4H),則下位機視同傳輸出錯,不回應。
3、帶手動調節功能的儀表處于手動狀態時,可通過寫1AH參數來調節手動輸出值。
AI儀表可讀/寫的參數代號表(AI- 5201 )
參數代號 | Modbus-RTU寄存器地址 | AI-5201 |
00H | 40001 | (空) |
01H | 40002 | HIAL上限報警 |
02H | 40003 | LoAL下限報警 |
03H | 40004 | HdAL第二上限報警 |
04H | 40005 | LdAL第二下限報警 |
05H | 40006 | AHYS報警回差 |
06H | 40007 | (空) |
07H | 40008 | (空) |
08H | 40009 | (空) |
09H | 40010 | (空) |
0AH | 40011 | (空) |
0BH | 40012 | InP輸入規格 |
0CH | 40013 | dPt小數點位置 |
0DH | 40014 | SCL信號刻度下限 |
0EH | 40015 | SCH信號刻度上限 |
0FH | 40016 | AOP報警輸出定義 |
10H | 40017 | Scb輸入平移修正 |
11H | 40018 | OPt主輸出類型 |
12H | 40019 | (空) |
13H | 40020 | (空) |
14H | 40021 | (空) |
15H | 40022 | 儀表特征碼(與SV的值一樣,且可修改) |
16H | 40023 | 儀表地址(讀/寫) |
17H | 40024 | FILt輸入數字濾波 |
18H** | 40025 | (空) |
19H | 40026 | Loc參數封鎖 |
二、編程方法
系統采用主從式多機通訊結構,每向儀表發一個指令,儀表返回一個數據。編寫上位機軟件時,注意每條有效指令儀表應在0~150mS內作出應答,而上位機也必須等儀表返回數據后,才能發新的指令,否則將引起錯誤。如果儀表超過zui大響應時間(150mS)仍沒有應答,則原因可能無效指令、通訊線路故障,儀表沒有開機,通訊地址不合等,此時上位機應重發指令或跳過改地址儀表。例如,將地址(參數ADDR)為1的儀表的給定值(參數代號0)寫為100.0℃(整數為1000),用VB的編程方法如下:
1、初始化通訊口,包括與儀表相同的波特率,數據位8,停止位2,無校驗。注意某些廠家的RS232/RS485通訊轉換器對RTS、DTR等控制線有一定的要求,上位機軟件必須對這些控制線進型編程。用本公司生產的RS232/RS485轉換器則可免去對這些線進行編程。
2、VB編程指令(寫SP1為1000)為:COMM1.OUTPUT=
CHR$(129)+CHR$(129)+CHR$(67)+CHR$(0)+CHR$(232)+CHR$(3)+CHR$(44)+CHR$(4)
3、小數點處理(僅V8.0版本以上):為提升效率,儀表傳送的所有數值均為16位二進制補碼整數,因此上位機必須將整數按一定規則轉換為帶小數點的實際數據,方法是在上位機程序啟動后,應優先讀取參數dPt(0CH)獲得測量信號的小數點位置。注意:如果dPt的數值大于或等于128,則表示所傳輸的測量值,以及與測量值相同單位的參數應該除以10后進行顯示,當對下位機寫這類參數值時,則應將顯示的數取消小數點成為整數,再乘以10,按16位二進制補碼下傳數據。
通訊的技術指標如下:
儀表型號 | AI-301、AI-7/8系列儀表(V7.X) | AI-5XX系列儀表 |
zui遲返回時間(4800bit/S條件下) | 100mS | 150mS |
zui快返回時間(19200 bit/S條件下) | 5mS | 5mS |
平均讀寫周期(19200bit/S條件下) | 20mS | 50mS |
參數允許改寫次數 | 10億次 | 100萬次 |
注:對于AI-5XX系列儀表,寫入參數周期不低于2分鐘,否則可能導致儀表在5年保修期內損壞存儲單元損壞。
三、MODBUS兼容通信協議
從V8.2版本開始,AI系列儀表可選擇使用MODBUS通信協議,AI儀表能支持MODBUS協議下的2條子指令,以更廣泛地與其它MODBUS設備相互通信,為保證速率,AI儀表采用RTU(二進制)模式,波特率必須設置為9600bit/S,無奇偶校驗位,支持03H(讀參數及數據)及06H(寫單個參數)這兩條指令。
對于518/708/708P/719/719P等型號儀表的03指令,要求一次性讀取4個數據,指令如下:
ADDR+03H+0+要讀的參數代號+0+4+CRC校驗碼 返回數據為:ADDR+03H+08H+
測量值PV高位+測量值PV低位+給定值SV高位+SV低位+報警狀態+
輸出值MV+所讀參數值高位+所讀參數值低位+CRC校驗碼低位+CRC校驗碼高位
寫單個參數指令為:
ADDR+06H+0+要寫的參數代號+要寫入的數據高位+要寫入數據低位+CRC校驗碼
由于MODBUS協議的本身的限制,使用寫指令無法返回測量值等信息,會導致寫入時測量值無法刷新,因此應盡量減少寫指令的使用,以免影響系統性能。
五、儀表返回值說明
儀表返回的PV、SV及所讀參數值均各占2個字節,代表一個16位二進制有符號補碼整數,低位字節在前,高位字節在后,整數無法表示小數點,要求用戶在上位機處理;MV占一個字節,按8位有符號二進制數格式,數值范圍-110~+110,狀態位占一個字節,校驗碼占2個字節,共10個字節。不同型號儀表返回各數據含義如下:
儀表型號 | 調節器 溫控器 | AI-708M巡檢儀 | AI-708H/808H 流量通道 | AI-808H 溫度/壓力通道 | AI-301M頻率調節器/IO模塊 |
PV | 測量值PV | 測量值 | 瞬時流量測量值
| 溫度測量值,單位為0.1℃ | 測量值PV |
SV | 當前給定值SV | 通道號 (1-6) | 累積流量低位 或批量控制測量值 | 壓力測量值,單位為0.001MPa | 當前給定值SV |
MV | 輸出值MV | 狀態字節B | 累積流量高位 或批量控制給定值 | 補償前流量或頻率值,單位0.1Hz | 調節輸出值MV |
狀態字節 | 狀態字節A | 狀態字節A | 狀態字節A | ||
參數值 | 表示要讀或寫的參數的值 |
狀態字節A表示儀表部分狀態,其含義如下(位7固定為0):
| 調節器及單顯表(V7.0) | AI-702M/704M/706M | 調節器、溫控器及單顯表(V7.5) |
位0 | 上限報警(HIAL) | 上限報警(HIAL) | HIAL |
位1 | 下限報警(LoAL) | 下限報警(LoAL) | LoAL |
位2 | 正偏差報警(dHAL) | 0 | HdAL |
位3 | 負偏差報警(dLAL) | 0 | LdAL |
位4 | 輸入超量程報警(orAL) | 超量程報警(orAL) | Oral |
位5 | AL1狀態,0為動作 | 0 | 備用(0) |
位6 | AL2狀態,0為動作 | 0 | 0表示MV為輸出值,1為狀態字B |
巡檢儀具備狀態字節B。狀態字節B的位0~6分別表示OP1、OP2、AL1、AL2、AU1、AU2及MIO口的輸入狀態,0表示為未接通或未輸出,1表示外部開關接通或有輸出,OUTP或AUX做調節輸出時則對應位固定為0。利用功能可將對應端口作為上位機開關量的輸出或輸出,應用ALP參數設置沒有用到的報警端口均可作為I/O端口,利用修改NONC(常開/常閉)參數即可實現對開關量的輸出,作為開關量輸入時,應將nonc對應位設置為常開,若讀入信號為1,則表示外部開關閉合或有信號輸入。
六、MODBUS通訊實例
對于03指令,要求一次性讀取4個數據,指令如下:
ADDR+03H+00+要讀的參數代號+00+04+CRC校驗碼
返回數據為:ADDR+03H+08H+測量值PV高位+測量值PV低位+給定值SV高位+SV低位+報警狀態+輸出值MV+所讀參數值高位+所讀參數值低位+CRC校驗碼低位+CRC校驗碼高位
例如:需讀SV給定值,給定值的MODBUS寄存器的地址為40001(保持型寄存器),為宇電MODBUS兼容協議規定需每次讀取的長度為4個字,相當于40001,40002,40003,
40004;發送的指令為01 03 00 00 00 04 CRC:其中01代表儀表的地址號,03為功能碼讀保持型寄存器,00 00為參數代號也就是MODBUS寄存器起始地址0000代表40001,00 04代表讀取的長度為4個字,宇電儀表只支持4個字長度,不支持更多或低于4個。zui后為CRC校驗。
返回數據:
不論讀的起始地址何值,返回數據都是:ADDR+03H+08H+
測量值PV高位+測量值PV低位+
給定值SV高位+SV低位+
報警狀態+輸出值MV+
所讀參數值高位+所讀參數值低位+
CRC校驗碼低位+CRC校驗碼高位這個格式。如讀40001開始的4個字的長度,那么返回值PV保存在40001、SV在40002,報警狀態和MV在40003,所讀的參數值在40004中。
舉例讀取上限報警值:
01 03 00 01 00 04 CRC (起始地址為40002)
返回值的存放地址,40002為PV,40003為SV,40004為MV和報警狀態、40005為上限報警值;
讀取下限警報
01 03 00 02 00 04 CRC (起始地址為40003)
返回值的存放地址,40003為PV,40004為SV,40005為MV和報警狀態、40006為下限報警值;
宇電的兼容型MODBUS協議只支持寫單個參數指令,不支持多個。指令如下;
ADDR+06H+0+要寫的參數代號+要寫入的數據高位+要寫入數據低位+CRC校驗碼
由于MODBUS協議的本身的限制,使用寫指令無法返回測量值等信息,會導致寫入時測量值無法刷新,因此應盡量減少寫指令的使用,以免影響系統性能。
如果需寫SV值,也就是寄存器地址為40001寫入值為100.0
發送的指令為:01 06 00 00 03 E8 CRC
寫指令不支持返回測量值等信息,只返回本身寫入的參數值,也就是返回在40001中的數據為100.0;
廈門宇電自動化科技有限公司
技術部
2013.11.04