AIBUS通訊協(xié)議說明(V7.0)
AIBUS是廈門宇電自動(dòng)化科技有限公司為AI系列顯示控制儀表開發(fā)的通訊協(xié)議,能用簡(jiǎn)單的指令實(shí)現(xiàn)強(qiáng)大的功能,并提供比其它常用協(xié)議(如MODBUS)更快的速率(相同波特率下快3-10倍),適合組建較大規(guī)模系統(tǒng)。AIBUS采用了16位的求和校正碼,通訊可靠,支持4800、9600、19200等多種波特率,在19200波特率下,上位機(jī)訪問一臺(tái)AI-7/8系列高性能儀表的平均時(shí)間僅20mS,訪問AI-5系列儀表的平均時(shí)間為50mS。儀表允許在一個(gè)RS485通訊接口上連接多達(dá)80臺(tái)儀表(為保證通訊可靠,儀表數(shù)量大于60臺(tái)時(shí)需要加一個(gè)RS485中繼器)。AI系列儀表可以用PC、觸摸屏及PLC作為上位機(jī),其軟件資源豐富,發(fā)展速度極快?;cPC的上位機(jī)軟件廣泛采用WINDOWS作為操作環(huán)境,不僅操作直觀方便,而且功能強(qiáng)大。的工業(yè)平板觸摸屏式PC的應(yīng)用,更為工業(yè)自動(dòng)化帶來新的界面。這使得AIDCS系統(tǒng)價(jià)格大大低于傳統(tǒng)DCS系統(tǒng),而性能及可靠性也具備比傳統(tǒng)DCS系統(tǒng)更*的潛力,V7.X版本AI-7/8系列儀表允許連續(xù)寫參數(shù),寫給定值或輸出值,可利用上位機(jī)將儀表組成復(fù)雜調(diào)節(jié)系統(tǒng)。
一、接口規(guī)格
AI系列儀表使用異步串行通訊接口,接口電平符合RS232C或RS485標(biāo)準(zhǔn)中的規(guī)定。數(shù)據(jù)格式為1個(gè)起始位,8位數(shù)據(jù),無校驗(yàn)位,1個(gè)或2個(gè)停止位。通訊傳輸數(shù)據(jù)的波特率可調(diào)為4800~19200 bit/S,通常用9600 bit/S,單一通訊口所連接儀表數(shù)量大于40臺(tái)或需要更快刷新率時(shí),推薦用19200bit/S,當(dāng)通訊距離很長(zhǎng)或通訊不可靠常中斷時(shí),可選4800bit/S。AI儀表采用多機(jī)通訊協(xié)議,采用RS485通訊接口,則可將1~80臺(tái)的儀表同時(shí)連接在一個(gè)通訊接口上。
RS485通訊接口通訊距離長(zhǎng)達(dá)1KM以上(部分實(shí)際應(yīng)用已達(dá)3-4KM),只需兩根線就能使多臺(tái)AI儀表與計(jì)算機(jī)進(jìn)行通訊,優(yōu)于RS232通訊接口。為使用普通個(gè)人計(jì)算機(jī)PC能作上位機(jī),可使用RS232/RS485或USB/RS485型通訊接口轉(zhuǎn)換器,將計(jì)算機(jī)上的RS232通訊口或USB口轉(zhuǎn)為RS485通訊口。宇電為此專門開發(fā)了新型RS232/RS485及USB/RS485轉(zhuǎn)換器,具備體積小、無需初始化而可適應(yīng)任何軟件、無需外接電源、有一定抗雷擊能力等優(yōu)點(diǎn)。
按RS485接口的規(guī)定,RS485通訊接口可在一條通訊線路上連接zui多32臺(tái)儀表或計(jì)算機(jī)。需要聯(lián)接更多的儀表時(shí),需要中繼器,也可選擇采用75LBC184或MAX487等芯片的通訊接口。目前生產(chǎn)的AI儀表通訊接口模塊通常采用75LBC184,這種芯片具備一定的防雷擊和防靜電功能,且無需中繼器即可連接約60臺(tái)儀表。
AI儀表的RS232及RS485通訊接口采用光電隔離技術(shù)將通訊接口與儀表的其他部分線路隔離,當(dāng)通訊線路上的某臺(tái)儀表?yè)p壞或故障時(shí),并不會(huì)對(duì)其它儀表產(chǎn)生影響。同樣當(dāng)儀表的通訊部分損壞或主機(jī)發(fā)生故障時(shí),儀表仍能正常進(jìn)行測(cè)量及控制,并可通過儀表鍵盤對(duì)儀表進(jìn)行操作,工作可靠性很高。16位校驗(yàn)碼的正確性是簡(jiǎn)單奇偶校驗(yàn)的30000倍,基本能保證數(shù)據(jù)可靠性。并且同一網(wǎng)絡(luò)上有其他公司也采用主從方式通訊的產(chǎn)品時(shí),如PLC、變頻器等,多數(shù)情況下AI系列儀表都不會(huì)受其它公司產(chǎn)品通訊干擾,不會(huì)產(chǎn)生采集數(shù)據(jù)混亂或無法通訊的問題。但是AI儀表協(xié)議并不能保證其它公司產(chǎn)品能否正常工作,所以除非萬不得已,不應(yīng)將AI儀表與其它產(chǎn)品混在一個(gè)RS485通訊總線上,而應(yīng)分別使用不同的總線。
二、通訊指令
AI儀表采用16進(jìn)制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù)。AI儀表軟件通訊指令經(jīng)過優(yōu)化設(shè)計(jì),標(biāo)準(zhǔn)的通訊指令只有兩條,一條為讀指令,一條為寫指令,兩條指令使得上位機(jī)軟件編寫容易,不過卻能*完整地對(duì)儀表進(jìn)行操作;標(biāo)準(zhǔn)讀和寫指令分別如下:
讀: 地址代號(hào)+52H(82)+要讀的參數(shù)代號(hào)+0+0+校驗(yàn)碼
寫: 地址代號(hào)+43H(67)+要寫的參數(shù)代號(hào)+寫入數(shù)低字節(jié)+寫入數(shù)高字節(jié)+校驗(yàn)碼
地址代號(hào):為了在一個(gè)通訊接口上連接多臺(tái)AI儀表,需要給每臺(tái)AI儀表編一個(gè)互不相同的通訊地址。有效的地址為0~80(部分型號(hào)為0~100),所以一條通訊線路上zui多可連接81臺(tái)AI儀表,儀表的通訊地址由參數(shù)Addr決定。儀表內(nèi)部采用兩個(gè)重復(fù)的128~208(16進(jìn)制為80H~D0H)之間數(shù)值來表示地址代號(hào),由于大于128的數(shù)較少用到(如ASC方式的協(xié)議通常只用0-127之間的數(shù)),因此可降低因數(shù)據(jù)與地址重復(fù)造成沖突的可能性。
AI儀表通訊協(xié)議規(guī)定,地址代號(hào)為兩個(gè)相同的字節(jié),數(shù)值為(儀表地址+80H)。例如:儀表參數(shù)Addr=10(16進(jìn)制數(shù)為0AH,0A+80H=8AH),則該儀表的地址代號(hào)為:8AH 8AH
參數(shù)代號(hào):儀表的參數(shù)用1個(gè)8位二進(jìn)制數(shù)(一個(gè)字節(jié),寫為16進(jìn)制數(shù))的參數(shù)代號(hào)來表示。它在指令中表示要讀/寫的參數(shù)名。
校驗(yàn)碼:校驗(yàn)碼采用16位求和校驗(yàn)方式,其中讀指令的校驗(yàn)碼計(jì)算方法為:
要讀參數(shù)的代號(hào)×256+82+ADDR
寫指令的校驗(yàn)碼計(jì)算方法為以下公式做16位二進(jìn)制加法計(jì)算得出的余數(shù)(溢出部分不處理):
要寫的參數(shù)代號(hào)×256+67+要寫的參數(shù)值+ADDR
公式中ADDR為儀表地址參數(shù)值,范圍是0~80(注意不要加上80H)。校驗(yàn)碼為以上公式做二進(jìn)制16位整數(shù)加法后得到的余數(shù),余數(shù)為2個(gè)字節(jié),其低字節(jié)在前,高字節(jié)在后。要寫的參數(shù)值用16位二進(jìn)制整數(shù)表示。
返回?cái)?shù)據(jù):無論是讀還是寫,儀表都返回以下10個(gè)字節(jié)數(shù)據(jù):
測(cè)量值PV+給定值SV+輸出值MV及報(bào)警狀態(tài)+所讀/寫參數(shù)值+校驗(yàn)碼
其中PV、SV及所讀參數(shù)值均各占2個(gè)字節(jié),代表一個(gè)16位二進(jìn)制有符號(hào)補(bǔ)碼整數(shù),低位字節(jié)在前,高位字節(jié)在后,整數(shù)無法表示小數(shù)點(diǎn),要求用戶在上位機(jī)處理;MV占一個(gè)字節(jié),按8位有符號(hào)二進(jìn)制數(shù)格式,數(shù)值范圍-110~+110,狀態(tài)位占一個(gè)字節(jié),校驗(yàn)碼占2個(gè)字節(jié),共10個(gè)字節(jié)。
不同型號(hào)儀表返回各數(shù)據(jù)含義如下:
儀表型號(hào) | 調(diào)節(jié)器 溫控器 | AI-708M巡檢儀 | AI-708H/808H 流量通道 | AI-808H 溫度/壓力通道 | AI-301M頻率調(diào)節(jié)器/IO模塊 |
PV | 測(cè)量值PV | 測(cè)量值 | 瞬時(shí)流量測(cè)量值
| 溫度測(cè)量值,單位為0.1℃ | 測(cè)量值PV |
SV | 當(dāng)前給定值SV | 通道號(hào) (1-6) | 累積流量低位 或批量控制測(cè)量值 | 壓力測(cè)量值,單位為0.001MPa | 當(dāng)前給定值SV |
MV | 輸出值MV 狀態(tài)字節(jié)B | 狀態(tài)字節(jié)B | 累積流量高位 或批量控制給定值 | 補(bǔ)償前流量或頻率值,單位0.1Hz | 調(diào)節(jié)輸出值MV |
狀態(tài)字節(jié) | 狀態(tài)字節(jié)A | 狀態(tài)字節(jié)A | 狀態(tài)字節(jié)A | ||
參數(shù)值 | 表示要讀或?qū)懙膮?shù)的值 |
返回校驗(yàn)碼:PV+SV+(報(bào)警狀態(tài)*256+MV)+參數(shù)值+ADDR按整數(shù)加法相加后得到的余數(shù)。計(jì)算校驗(yàn)碼時(shí),每2個(gè)8位字節(jié)組成1個(gè)16位二進(jìn)制整數(shù)進(jìn)行加法運(yùn)算,溢出數(shù)忽略,余數(shù)作為校驗(yàn)碼。
狀態(tài)字節(jié)A表示儀表部分狀態(tài),其含義如下(位7固定為0):
| 調(diào)節(jié)器及單顯表(V7.0) | AI-702M/704M/706M | 調(diào)節(jié)器、溫控器及單顯表(V7.5) |
位0 | 上限報(bào)警(HIAL) | 上限報(bào)警(HIAL) | HIAL |
位1 | 下限報(bào)警(LoAL) | 下限報(bào)警(LoAL) | LoAL |
位2 | 正偏差報(bào)警(dHAL) | 0 | HdAL |
位3 | 負(fù)偏差報(bào)警(dLAL) | 0 | LdAL |
位4 | 輸入超量程報(bào)警(orAL) | 超量程報(bào)警(orAL) | orAL |
位5 | AL1狀態(tài),0為動(dòng)作 | 0 | 備用(0) |
位6 | AL2狀態(tài),0為動(dòng)作 | 0 | 0表示MV為輸出值,1為狀態(tài)字B |
巡檢儀具備狀態(tài)字節(jié)B,對(duì)于V7.5版本以上調(diào)節(jié)器、溫控儀、單顯表,MV則可交替代表MV值及狀態(tài)字節(jié)B(由狀態(tài)字節(jié)A的位6決定)。狀態(tài)字節(jié)B的位0~6分別表示OP1、OP2、AL1、AL2、AU1、AU2及MIO口的輸入狀態(tài),0表示為未接通或未輸出,1表示外部開關(guān)接通或有輸出,OUTP或AUX做調(diào)節(jié)輸出時(shí)則對(duì)應(yīng)位固定為0。利用功能可將對(duì)應(yīng)端口作為上位機(jī)開關(guān)量的輸出或輸出,應(yīng)用ALP參數(shù)設(shè)置沒有用到的報(bào)警端口均可作為I/O端口,利用修改NONC(常開/常閉)參數(shù)即可實(shí)現(xiàn)對(duì)開關(guān)量的輸出,作為開關(guān)量輸入時(shí),應(yīng)將nonc對(duì)應(yīng)位設(shè)置為常開,若讀入信號(hào)為1,則表示外部開關(guān)閉合或有信號(hào)輸入。
AI儀表可讀/寫的參數(shù)代號(hào)表:
表一
參數(shù)代號(hào) | 調(diào)節(jié)器 | 巡檢儀 | |||
10進(jìn)制 | 16進(jìn)制 | AI-518/708/808/518P/708P/808P | AI-519/719/719P | AI-501/701 | AI-702M/704M/706M |
0 | 00H | SV給定值/SteP程序段 | SV給定值/SteP程序段 | ?。眨?/span> | ?。眨?/span> |
1 | 01H | HIAL上限報(bào)警 | HIAL上限報(bào)警 | HIAL上限報(bào)警 | HIAL上限報(bào)警 |
2 | 02H | LoAL下限報(bào)警 | LoAL下限報(bào)警 | LoAL下限報(bào)警 | LoAL下限報(bào)警 |
3 | 03H | dHAL正偏差報(bào)警 | HdAL偏差上限報(bào)警 | HdAL第二上限報(bào)警 | ?。眨?/span> |
4 | 04H | dLAL負(fù)偏差報(bào)警 | LdAL偏差下限報(bào)警 | LdAL第二下限報(bào)警 | (空) |
5 | 05H | dF回差 | CHYS控制回差 | AHYS報(bào)警回差 | dF回差 |
6 | 06H | Ctrl控制方式 | Ctrl控制方式 | ?。眨?/span> | ?。眨?/span> |
7 | 07H | M5保持參數(shù) | P比例帶 | (空) | ?。眨?/span> |
8 | 08H | P 速率參數(shù) | I積分時(shí)間 | (空) | ?。眨?/span> |
9 | 09H | t滯后時(shí)間 | d微分時(shí)間 | ?。眨?/span> | (空) |
10 | 0AH | CtI控制周期 | CtI控制周期 | ?。眨?/span> | Cn測(cè)量路數(shù) |
11 | 0BH | Sn輸入規(guī)格 | InP輸入規(guī)格 | InP輸入規(guī)格 | Sn 輸入規(guī)格 |
12 | 0CH | dIP小數(shù)點(diǎn)位置 | dPt小數(shù)點(diǎn)位置 | dPt小數(shù)點(diǎn)位置 | dIP小數(shù)點(diǎn)位置 |
13 | 0DH | dIL輸入下限顯示值 | SCL信號(hào)刻度下限 | SCL信號(hào)刻度下限 | dIL輸入信號(hào)刻度下限 |
14 | 0EH | dIH輸入上限顯示值 | SCH信號(hào)刻度上限 | SCH信號(hào)刻度上限 | dIH輸入信號(hào)刻度上限 |
15 | 0FH | ALP報(bào)警輸出定義 | AOP報(bào)警輸出定義 | AOP報(bào)警輸出定義 | ALP報(bào)警輸入定義 |
16 | 10H | Sc輸入平移修正 | Scb輸入平移修正 | Scb輸入平移修正 | Sc輸入平移修正 |
17 | 11H | OP1輸出方式 | OPt主輸出類型 | OPt主輸出類型 | OPn變送輸出通道號(hào) |
18 | 12H | oPL輸出下限 | OPL輸出下限 | (空) | oPL變送輸出電流下限 |
19 | 13H | oPH輸出上限 | OPH輸出上限 | ?。眨?/span> | oPH變送輸出電流上限 |
20 | 14H | CF功能選擇 | AF功能代碼 | ?。眨?/span> | AF功能代碼 |
21 | 15H | 儀表特征碼/程序控制字(運(yùn)行:0 暫停:4 停止:12) | 儀表特征碼/程序控制字(運(yùn)行:0 暫停:4 停止:12) | 儀表特征碼(與SV的值一樣,且可修改) | 儀表特征碼 |
22 | 16H | 儀表地址(讀/寫) | 儀表地址(讀/寫) | 儀表地址(讀/寫) | 儀表地址(讀/寫) |
23 | 17H | dL數(shù)字濾波 | FILt輸入數(shù)字濾波 | FILt輸入數(shù)字濾波 | dL數(shù)字濾波 |
24 | 18H | run運(yùn)行參數(shù) | A-M自動(dòng)/手動(dòng)控制選擇 | ?。眨?/span> | nonc常開/常閉選擇 |
25 | 19H | Loc參數(shù)封鎖 | Loc參數(shù)封鎖 | Loc參數(shù)封鎖 | Loc參數(shù)封鎖 |
26 | 1AH | C01 (AI-808寫入時(shí)設(shè)置MV值) | C01(AI-519/719寫入時(shí)設(shè)置MV值) |
|
|
27 | 1BH | t01 | t01 |
|
|
28 | 1CH | C02 | C02 |
|
|
29 | 1DH | t02 | t02 |
|
|
30 | 1EH | C03 | C03 |
|
|
31 | 1FH | t03 | t03 |
|
|
32 | 20H | C04 | C04 |
|
|
33 | 21H | t04 | t04 |
|
|
34 | 22H | C05 | C05 |
|
|
35 | 23H | t05 | t05 |
|
|
36 | 24H | C06 | C06 |
|
|
37 | 25H | t06 | t06 |
|
|
38 | 26H | C07 | C07 |
|
|
39 | 27H | t07 | t07 |
|
|
40 | 28H | C08 | C08 |
|
|
41 | 29H | t08 | t08 |
|
|
42 | 2AH | C09 | C09 |
|
|
43-85 | 2BH-55H | t09-C30程序數(shù)據(jù) | t09-C30程序數(shù)據(jù) |
|
|
86 | 56H | 當(dāng)前程序段運(yùn)行時(shí)間 | 當(dāng)前程序段運(yùn)行時(shí)間 |
|
|
表二
參數(shù)代號(hào) | 流量積算儀 | AI-301M | 四路PID調(diào)節(jié)器 | |
10進(jìn)制 | 16進(jìn)制 | (AI-708H/Y/808H) | 頻率測(cè)量/開關(guān)量 | AI-7048 |
0 | 00H | SV批量控制給定值 | SV頻率控制給定值 | SP給定值 |
1 | 01H | FHIA瞬時(shí)流量上限報(bào)警 | HIAL上限報(bào)警 | HIAL上限報(bào)警 |
2 | 02H | FloA瞬時(shí)流量下限報(bào)警 | LoAL下限報(bào)警 | LoAL下限報(bào)警 |
3 | 03H | SPE批量控制流量累積速率時(shí)間 | dHAL正偏差報(bào)警 |
|
4 | 04H | Act批量控制繼電器動(dòng)作時(shí)間 | dLAL負(fù)偏差報(bào)警 |
|
5 | 05H | Sn輸入規(guī)格 | dF回差 | AHYS回差 |
6 | 06H | FSc流量信號(hào)測(cè)量平移修正 | CtrL控制方式 | At自整定開關(guān) |
7 | 07H | PdIH壓力測(cè)量量程定義 | M5保持參數(shù) | P比例帶 |
8 | 08H | CSc溫度測(cè)量平移修正 | P速率參數(shù) | I積分時(shí)間 |
9 | 09H | CdIH溫度測(cè)量量程定義 | t滯后時(shí)間 | d微分時(shí)間 |
10 | 0AH | Cut流量小信號(hào)切除比率 | CtI控制周期 |
|
11 | 0BH | FdIH流量測(cè)量量程定義 | Frd頻率量程 | InP輸入規(guī)格 |
12 | 0CH | FdIP流量小數(shù)點(diǎn) | dIP小數(shù)點(diǎn)位置 | dPt小數(shù)點(diǎn)位置 |
13 | 0DH | PA大氣壓力/溫度補(bǔ)償系數(shù) | dIL下限顯示值 | SCL信號(hào)刻度下限 |
14 | 0EH | Po流量傳感器設(shè)計(jì)工作壓力 | dIH上限顯示值 | SCH信號(hào)刻度上限 |
15 | 0FH | Co流量傳感器設(shè)計(jì)工作溫度 | ALP報(bào)警輸出選擇 | AOP報(bào)警輸出定義 |
16 | 10H | Frd頻率信號(hào)上限 | 開關(guān)量狀態(tài) | Scb輸入平移修正 |
17 | 11H | CF功能選擇參數(shù) | oP1輸出方式 |
|
18 | 12H | bC溫壓補(bǔ)償類型 | OPL輸出下限 |
|
19 | 13H | IoL變送輸出電流下限 | OPH輸出上限 | OPH輸出上限 |
20 | 14H | FoH變送輸出流量量程 | CF功能選擇 | AF功能代碼 |
21 | 15H | 儀表特征碼 | 儀表特征碼 | 儀表特征碼 |
22 | 16H | 儀表地址(讀/寫) | 儀表地址(讀/寫) | 儀表地址(讀/寫) |
23 | 17H | IoH變送輸出電流上限 | dL數(shù)字濾波 | FILt輸入數(shù)字濾波 |
24 | 18H | FdL流量信號(hào)數(shù)字濾波強(qiáng)度 | run運(yùn)行參數(shù) | Nonc常開/常閉選擇 |
25 | 19H | Loc參數(shù)封鎖 | Loc參數(shù)封鎖 | Loc參數(shù)封鎖 |
26 | 1AH | ?。眨?/span> | MV手動(dòng)輸出值 | Cn測(cè)量路數(shù) |
27 | 1BH | FdF瞬時(shí)流量報(bào)警回差 |
|
|
28 | 1CH | CHIA溫度上限報(bào)警 |
|
|
29 | 1DH | CLoA溫度下限報(bào)警 |
|
|
30 | 1EH | PHIA壓力上限報(bào)警 |
|
|
31 | 1FH | PLoA壓力下限報(bào)警 |
|
|
32 | 20H | ALP報(bào)警輸出定義 |
|
|
33 | 21H | FSb批量控制給定值偏移 |
|
|
34 | 22H | CdIP溫度小數(shù)點(diǎn) |
|
|
35 | 23H | PdIP壓力小數(shù)點(diǎn) |
|
|
36 | 24H | PSc壓力測(cè)量信號(hào)平移修正 |
|
|
37 | 25H | CLn清零次數(shù)(只讀) |
|
|
38 | 26H | FLJH累積流量高4位(只可清零) |
|
|
39 | 27H | FLJL累積流量低4位(只可清零) |
|
|
40 | 28H | EJH(補(bǔ)前流量高) |
|
|
41 | 29H | EJL(補(bǔ)前流量低) |
|
|
42 | 2AH | 批量累積值清零位 |
|
|
43-85 | 2BH-55H |
|
|
|
86 | 56H |
|
|
|
說明:
1、如果向儀表讀取參數(shù)代號(hào)在表格中參數(shù)以外,則儀表不會(huì)返回任何數(shù)據(jù)。AI-501/701型儀表不具備表格中所有參數(shù),當(dāng)讀寫實(shí)際參數(shù)表以外的參數(shù)或備用參數(shù)時(shí),儀表實(shí)際均對(duì)SP1參數(shù)操作。
2、帶手動(dòng)調(diào)節(jié)功能的儀表處于手動(dòng)狀態(tài)時(shí),可通過寫1AH參數(shù)來調(diào)節(jié)手動(dòng)輸出值。
3、AI-7048型4路控制器占4個(gè)地址,比如Addr=5,則5,6,7,8分別為4個(gè)回路的通訊地址。
4、程序控制字:對(duì)于AI-518P/708P/808P等型號(hào)程序儀表,15H返回程序控制字,其高位字節(jié)數(shù)值為0,低位字節(jié)數(shù)據(jù)則如下:
(X)(X)(X)(X)(EV2)(EV1)(HOLD)(STOP)
前4位(BIT)目前暫不用,程序中應(yīng)允許其為任意值;HOLD及STOP=0,則程序運(yùn) STOP=0,HOLD=1,則程序暫停;S,HOLD=1,則程序停止;EV1、EV2表示事件輸出狀態(tài),為1時(shí)表示事件輸出動(dòng)作,為0時(shí)表示事件輸出無效。
5、累積流量清零:AI-708H/808H的流量累積參數(shù)FLJH及FLJL只能清零,不能改寫,清零方法是向FLJH寫入30808(占2個(gè)地址時(shí),必須是用*個(gè)地址),即可清零累積流量FLJH、FLJL及補(bǔ)償前流量累積EJH及EJL,同時(shí)CLn值加1,CLn為只讀,不可改寫。向參數(shù)代號(hào)2AH寫入31808,則可清除批量控制累積值,同時(shí)復(fù)位批量控制輸出繼電器。
三、編程方法
系統(tǒng)采用主從式多機(jī)通訊結(jié)構(gòu),每向儀表發(fā)一個(gè)指令,儀表返回一個(gè)數(shù)據(jù)。編寫上位機(jī)軟件時(shí),注意每條有效指令儀表應(yīng)在0~150mS內(nèi)作出應(yīng)答,而上位機(jī)也必須等儀表返回?cái)?shù)據(jù)后,才能發(fā)新的指令,否則將引起錯(cuò)誤。如果儀表超過zui大響應(yīng)時(shí)間(150mS)仍沒有應(yīng)答,則原因可能無效指令、通訊線路故障,儀表沒有開機(jī),通訊地址不合等,此時(shí)上位機(jī)應(yīng)重發(fā)指令或跳過改地址儀表。例如,將地址(參數(shù)ADDR)為1的儀表的給定值(參數(shù)代號(hào)0)寫為100.0℃(整數(shù)為1000),用VB的編程方法如下:
1、初始化通訊口,包括與儀表相同的波特率,數(shù)據(jù)位8,停止位2,無校驗(yàn)。注意某些廠家的RS232/RS485通訊轉(zhuǎn)換器對(duì)RTS、DTR等控制線有一定的要求,上位機(jī)軟件必須對(duì)這些控制線進(jìn)型編程。用本公司生產(chǎn)的RS232/RS485轉(zhuǎn)換器則可免去對(duì)這些線進(jìn)行編程。
2、VB編程指令(寫SV為1000)為:
Dim Cmdout (0 To 7) As Byte
Cmdout(0)=129
Cmdout(1)=129
Cmdout(2)=67
Cmdout(3)=0
Cmdout(4)=232
Cmdout(5)=3
Cmdout(6)=44
Cmdout(7)=4
COMM1.OUTPUT=Cmdout
儀表返回?cái)?shù)據(jù):
Dim instring() as byte
Dim pv as integer, sv as integer, mv as integer, alm as integer, cs as integer, crc as integer
instring = MSComm1.Input '假設(shè)已經(jīng)有數(shù)據(jù)返回
pv= Join2Byte(instring(0), instring(1))
sv= Join2Byte(instring(2), instring(3))
mv= (instring(4))
alm= integer(instring(5))
cs= Join2Byte(instring(6), instring(7))
crc= Join2Byte(instring(8), instring(9))
Public Function Join2Byte(lowbyte As Byte, highbyte As Byte)
Dim c As Integer
c = highbyte
If c > 127 Then
c = (c - 256) * 256
Else
c = c * 256
End If
Join2Byte = c + lowbyte
End Function
注:對(duì)于AI-5XX系列儀表,寫入?yún)?shù)周期不易低于2分鐘,否則可能導(dǎo)致儀表在5年保修期內(nèi)損壞存儲(chǔ)單元損壞。