| 控制模式 |
智能溫度控制調(diào)節(jié)器 |
溫度范圍 |
-100~1300(℃) |
| 等級 |
0.2~0.3 |
|
|
具備自整定操作功能是A18/C18系列溫控儀表的一大特色,對各種常見的控溫場合,只要通過自整定操作,就能理想的控溫效果。儀表次使用時,需要進行自整定操作。A18/C18系列溫控儀表采用的是帶模糊控制PID算法,能在調(diào)節(jié)中自動學習和記憶被控制對象的部分特征以使效果優(yōu)化,具有無調(diào)、高、參數(shù)確定簡單、對復雜對象也能獲得良好的控制效果等特點。使用位式(ON/OFF)方式進行控制時,不需要進行自整定操作。
一、接口規(guī)格
A18,C18系列儀表使用異步串行通訊接口,接口電平合RS232C或RS485標準中的規(guī)定。數(shù)據(jù)格式為1個起始位,8位數(shù)據(jù),無校驗位,1個或2個停止位。通訊傳輸數(shù)據(jù)的波特率可調(diào)為4800~19200 bit/S,通常用9600 bit/S,單一通訊口所連接儀表數(shù)量大于40臺或需要更快刷新率時,推薦用19200bit/S,當通訊距離很長或通訊不常中斷時,可選4800bit/S。A18,C18儀表采用多機通訊協(xié)議,采用RS485通訊接口,則可將1~80臺的儀表同時連接在一個通訊接口上。
RS485通訊接口通訊距離長達1KM以上(部分實際應用已達3-4KM),兩根線就能使多臺A18,C18儀表與計算機進行通訊,RS232通訊接口。為使用普通個人計算機PC能作機,可使用RS232/RS485或U/RS485型通訊接口轉(zhuǎn)換器,將計算機上的RS232通訊口或U口轉(zhuǎn)為RS485通訊口。赫明為此專門開發(fā)了新型RS232/RS485及U/RS485轉(zhuǎn)換器,具備體積小、無需初始化而可適應任何軟件、無需外接電源、有雷擊能力等優(yōu)點。
按RS485接口的規(guī)定,RS485通訊接口可在一條通訊線路上連接多32臺儀表或計算機。需要聯(lián)接更多的儀表時,需要中繼器,也可選擇采用75LBC184或MAX487等芯片的通訊接口。目前生產(chǎn)的A18,C18儀表通訊接口模塊通常采用75LBC184,這種芯片具備的雷擊和靜電功能,且無需中繼器即可連接約60臺儀表。
A18,C18儀表的RS232及RS485通訊接口采用光電隔離技術(shù)將通訊接口與儀表的其他部分線路隔離,當通訊線路上的某臺儀表損壞或故障時,并不會對其它儀表產(chǎn)生影響。同樣當儀表的通訊部分損壞或主機發(fā)生故障時,儀表仍能正常進行測量及控制,并可通過儀表鍵盤對儀表進行操作,工作性很高。16位校驗碼的正確性是簡單奇偶校驗的30000倍,基本能數(shù)據(jù)性。并且同一網(wǎng)絡上有其他公司也采用主從方式通訊的產(chǎn)品時,如PLC、變頻器等,多數(shù)情況下A18,C18系列儀表會受其它公司產(chǎn)品通訊干擾,不會產(chǎn)生采集數(shù)據(jù)混亂或無法通訊的問題。但是A18,C18儀表協(xié)議并不能其它公司產(chǎn)品能否正常工作,所以除非萬不得已,不應將A18,C18儀表與其它產(chǎn)品混在一個RS485通訊總線上,而應分別使用不同的總線。
二、通訊指令
A18,C18儀表采用16進制數(shù)據(jù)格式來表示各種指令代碼及數(shù)據(jù)。A18,C18儀表軟件通訊指令經(jīng)過優(yōu)化設計,標準的通訊指令只有兩條,一條為讀指令,一條為寫指令,兩條指令使得機軟件編寫容易,不過卻能100%完整地對儀表進行操作;標準讀和寫指令分別如下:
讀: 地址代號+52H(82)+要讀的參數(shù)代號+0+0+校驗碼
寫: 地址代號+43H(67)+要寫的參數(shù)代號+寫入數(shù)低字節(jié)+寫入數(shù)高字節(jié)+校驗碼
地址代號:為了在一個通訊接口上連接多臺A18,C18儀表,需要給每臺A18,C18儀表編一個互不相同的通訊地址。的地址為0~80(部分型號為0~100),所以一條通訊線路上多可連接81臺A18,C18儀表,儀表的通訊地址由參數(shù)Addr決定。儀表內(nèi)部采用兩個重復的128~208(16進制為80H~D0H)之間數(shù)值來表示地址代號,由于大于128的數(shù)較少用到(如ASC方式的協(xié)議通常只用0-127之間的數(shù)),因此可降低因數(shù)據(jù)與地址重復造成沖突的可能性。
A18,C18儀表通訊協(xié)議規(guī)定,地址代號為兩個相同的字節(jié),數(shù)值為(儀表地址+80H)。例如:儀表參數(shù)Addr=10(16進制數(shù)為0AH,0A+80H=8AH),則該儀表的地址代號為:8AH 8AH
參數(shù)代號:儀表的參數(shù)用1個8位二進制數(shù)(一個字節(jié),寫為16進制數(shù))的參數(shù)代號來表示。它在指令中表示要讀/寫的參數(shù)名。
校驗碼:校驗碼采用16位求和校驗方式,其中讀指令的校驗碼計算方法為:
要讀參數(shù)的代號×256+82+ADDR
寫指令的校驗碼計算方法為以下公式做16位二進制加法計算得出的余數(shù)(溢出部分不處理):
要寫的參數(shù)代號×256+67+要寫的參數(shù)值+ADDR
公式中ADDR為儀表地址參數(shù)值,范圍是0~80(注意不要加上80H)。校驗碼為以上公式做二進制16位整數(shù)加法后得到的余數(shù),余數(shù)為2個字節(jié),其低字節(jié)在前,高字節(jié)在后。要寫的參數(shù)值用16位二進制整數(shù)表示。
返回數(shù)據(jù):無論是讀還是寫,儀表都返回以下10個字節(jié)數(shù)據(jù):
測量值PV+給定值SV+輸出值MV及報警狀態(tài)+所讀/寫參數(shù)值+校驗碼
其中PV、SV及所讀參數(shù)值均各占2個字節(jié),代表一個16位二進制有號補碼整數(shù),低位字節(jié)在前,高位字節(jié)在后,整數(shù)無法表示小數(shù)點,要求用戶在機處理;MV占一個字節(jié),按8位有號二進制數(shù)格式,數(shù)值范圍-110~+110,狀態(tài)位占一個字節(jié),校驗碼占2個字節(jié),共10個字節(jié)。
不同型號儀表返回各數(shù)據(jù)含義如下:
返回校驗碼:PV+SV+(報警狀態(tài)*256+MV)+參數(shù)值+ADDR按整數(shù)加法相加后得到的余數(shù)。計算校驗碼時,每2個8位字節(jié)組成1個16位二進制整數(shù)進行加法運算,溢出數(shù)忽略,余數(shù)作為校驗碼。
狀態(tài)字節(jié)A表示儀表部分狀態(tài),其含義如下(位7固定為0):
|
|
調(diào)節(jié)器及單顯表(V7.0)
|
調(diào)節(jié)器、溫控器及單顯表(V7.5)
|
|
位0
|
上限報警(HAL)
|
HAL
|
|
位1
|
下限報警(LAL)
|
LAL
|
|
位2
|
正偏差報警(dHAL)
|
HdAL
|
|
位3
|
負偏差報警(dLAL)
|
LdAL
|
|
位4
|
輸入量程報警(orAL)
|
orAL
|
|
位5
|
AL1狀態(tài),0為動作
|
備用(0)
|
|
位6
|
AL2狀態(tài),0為動作
|
0表示MV為輸出值,1為狀態(tài)字B
|
A18,C18儀表可讀/寫的參數(shù)代號表:
表一
|
參數(shù)代號
|
調(diào)節(jié)器
|
|
|
10進制
|
16進制
|
|
|
|
0
|
00H
|
SV給定值/SteP程序段
|
|
|
1
|
01H
|
HAL上限報警
|
|
|
2
|
02H
|
LAL下限報警
|
|
|
3
|
03H
|
dHAL正偏差報警
|
|
|
4
|
04H
|
dLAL負偏差報警
|
|
|
5
|
05H
|
CY回差
|
|
|
6
|
06H
|
Ctrl控制方式
|
|
|
7
|
07H
|
I保持參數(shù)
|
|
|
8
|
08H
|
P 速率參數(shù)
|
|
|
9
|
09H
|
D滯后時間
|
|
|
10
|
0AH
|
T控制周期
|
|
|
11
|
0BH
|
Sn輸入規(guī)格
|
|
|
12
|
0CH
|
dP小數(shù)點位置
|
|
|
13
|
0DH
|
dIL輸入下限顯示值
|
|
|
14
|
0EH
|
dIH輸入上限顯示值
|
|
|
15
|
0FH
|
ALP報警輸出定義
|
|
|
16
|
10H
|
Sc輸入平移修正
|
|
|
17
|
11H
|
OPT輸出方式
|
|
|
18
|
12H
|
Opl輸出下限
|
|
|
19
|
13H
|
oPH輸出上限
|
|
|
20
|
14H
|
FON功能選擇
|
|
|
21
|
15H
|
儀表特征碼/程序控制字(運行:0 暫停:4 停止:12)
|
|
|
22
|
16H
|
儀表地址(讀/寫)
|
|
|
23
|
17H
|
Dl數(shù)字濾波
|
|
|
24
|
18H
|
Run運行參數(shù)
|
|
|
25
|
19H
|
Loc參數(shù)封鎖
|
|
|
26
|
1AH
|
C01
(A18,C18-808寫入時設置MV值)
|
|
|
27
|
1BH
|
t01
|
|
|
28
|
1CH
|
C02
|
|
|
29
|
1DH
|
t02
|
|
|
30
|
1EH
|
C03
|
|
|
31
|
1FH
|
t03
|
|
|
32
|
20H
|
C04
|
|
|
33
|
21H
|
t04
|
|
|
34
|
22H
|
C05
|
|
|
35
|
23H
|
t05
|
|
|
36
|
24H
|
C06
|
|
|
37
|
25H
|
t06
|
|
|
38
|
26H
|
C07
|
|
|
39
|
27H
|
t07
|
|
|
40
|
28H
|
C08
|
|
|
41
|
29H
|
t08
|
|
|
42
|
2AH
|
C09
|
|
|
43-85
|
2BH-55H
|
t09-C30程序數(shù)據(jù)
|
|
|
86
|
56H
|
當前程序段運行時間
|
|
| |
|
|
|
|
說明:
1、如果向儀表讀取參數(shù)代號在表格中參數(shù)以外,則儀表不會返回任何數(shù)據(jù)。A18,C18型儀表不具備表格中參數(shù),當讀寫實際參數(shù)表以外的參數(shù)或備用參數(shù)時,儀表實際均對SP1參數(shù)操作。
2、帶手動調(diào)節(jié)功能的儀表處于手動狀態(tài)時,可通過寫1AH參數(shù)來調(diào)節(jié)手動輸出值。
3、程序控制字:對于A18,C18型號程序儀表,15H返回程序控制字,其高位字節(jié)數(shù)值為0,低位字節(jié)數(shù)據(jù)則如下:
(X)(X)(X)(X)(EV2)(EV1)(HOLD)(STOP)
前4位(BIT)目前暫不用,程序中應允許其為任意值;HOLD及STOP=0,則程序運 STOP=0,HOLD=1,則程序暫停;STOP=1,HOLD=1,則程序停止;EV1、EV2表示輸出狀態(tài),為1時表示輸出動作,為0時表示輸出無效。
三、編程方法
系統(tǒng)采用主從式多機通訊結(jié)構(gòu),每向儀表發(fā)一個指令,儀表返回一個數(shù)據(jù)。編寫機軟件時,注意每條指令儀表應在0~150mS內(nèi)作出應答,而機也須等儀表返回數(shù)據(jù)后,才能發(fā)新的指令,否則將引起錯誤。如果儀表過響應時間(150mS)仍沒有應答,則原因可能無效指令、通訊線路故障,儀表沒有開機,通訊地址不合等,此時機應重發(fā)指令或跳過改地址儀表。例如,將地址(參數(shù)ADDR)為1的儀表的給定值(參數(shù)代號0)寫為100.0℃(整數(shù)為1000),用VB的編程方法如下:
1、初始化通訊口,包括與儀表相同的波特率,數(shù)據(jù)位8,停止位2,無校驗。注意某些廠家的RS232/RS485通訊轉(zhuǎn)換器對RTS、DTR等控制線有的要求,機軟件須對這些控制線進型編程。用本公司生產(chǎn)的RS232/RS485轉(zhuǎ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
儀表返回數(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 '假設已經(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