控制模式 |
智能温度控制调节器 |
温度范围 |
-100~1300(℃) |
等级 |
0.2~0.3 |
|
|
具备自整定操作功能是A18/C18系列温控仪表的一大特色,对各种常见的控温场合,只要通过自整定操作,就能达到理想的控温效果。仪表首次使用时,需要进行自整定操作。A18/C18系列温控仪表采用的是带模糊控制PID算法,能在调节中自动学习和记忆被控制对象的部分特征以使效果优化,具有无超调、高、参数确定简单、对复杂对象也能获得良好的控制效果等特点。使用位式(ON/OFF)方式进行控制时,不需要进行自整定操作。
一、接口规格
A18,C18系列仪表使用异步串行通讯接口,接口电平符合RS232C或RS485标准中的规定。数据格式为1个起始位,8位数据,无校验位,1个或2个停止位。通讯传输数据的波特率可调为4800~19200 bit/S,通常用9600 bit/S,单一通讯口所连接仪表数量大于40台或需要更快刷新率时,推荐用19200bit/S,当通讯距离很长或通讯不可靠常中断时,可选4800bit/S。A18,C18仪表采用多机通讯协议,采用RS485通讯接口,则可将1~80台的仪表同时连接在一个通讯接口上。
RS485通讯接口通讯距离长达1KM以上(部分实际应用已达3-4KM),只需两根线就能使多台A18,C18仪表与计算机进行通讯,优于RS232通讯接口。为使用普通个人计算机PC能作上位机,可使用RS232/RS485或USB/RS485型通讯接口转换器,将计算机上的RS232通讯口或USB口转为RS485通讯口。赫明为此专门开发了新型RS232/RS485及USB/RS485转换器,具备体积小、无需初始化而可适应任何软件、无需外接电源、有一定抗雷击能力等优点。
按RS485接口的规定,RS485通讯接口可在一条通讯线路上连接多32台仪表或计算机。需要联接更多的仪表时,需要中继器,也可选择采用75LBC184或MAX487等芯片的通讯接口。目前生产的A18,C18仪表通讯接口模块通常采用75LBC184,这种芯片具备一定的防雷击和防静电功能,且无需中继器即可连接约60台仪表。
A18,C18仪表的RS232及RS485通讯接口采用光电隔离技术将通讯接口与仪表的其他部分线路隔离,当通讯线路上的某台仪表损坏或故障时,并不会对其它仪表产生影响。同样当仪表的通讯部分损坏或主机发生故障时,仪表仍能正常进行测量及控制,并可通过仪表键盘对仪表进行操作,工作可靠性很高。16位校验码的正确性是简单奇偶校验的30000倍,基本能保证数据可靠性。并且同一网络上有其他公司也采用主从方式通讯的产品时,如PLC、变频器等,多数情况下A18,C18系列仪表都不会受其它公司产品通讯干扰,不会产生采集数据混乱或无法通讯的问题。但是A18,C18仪表协议并不能保证其它公司产品能否正常工作,所以除非万不得已,不应将A18,C18仪表与其它产品混在一个RS485通讯总线上,而应分别使用不同的总线。
二、通讯指令
A18,C18仪表采用16进制数据格式来表示各种指令代码及数据。A18,C18仪表软件通讯指令经过优化设计,标准的通讯指令只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写容易,不过却能100%完整地对仪表进行操作;标准读和写指令分别如下:
读: 地址代号+52H(82)+要读的参数代号+0+0+校验码
写: 地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码
地址代号:为了在一个通讯接口上连接多台A18,C18仪表,需要给每台A18,C18仪表编一个互不相同的通讯地址。有效的地址为0~80(部分型号为0~100),所以一条通讯线路上多可连接81台A18,C18仪表,仪表的通讯地址由参数Addr决定。仪表内部采用两个重复的128~208(16进制为80H~D0H)之间数值来表示地址代号,由于大于128的数较少用到(如ASC方式的协议通常只用0-127之间的数),因此可降低因数据与地址重复造成冲突的可能性。
A18,C18仪表通讯协议规定,地址代号为两个相同的字节,数值为(仪表地址+80H)。例如:仪表参数Addr=10(16进制数为0AH,0A+80H=8AH),则该仪表的地址代号为:8AH 8AH
参数代号:仪表的参数用1个8位二进制数(一个字节,写为16进制数)的参数代号来表示。它在指令中表示要读/写的参数名。
校验码:校验码采用16位求和校验方式,其中读指令的校验码计算方法为:
要读参数的代号×256+82+ADDR
写指令的校验码计算方法为以下公式做16位二进制加法计算得出的余数(溢出部分不处理):
要写的参数代号×256+67+要写的参数值+ADDR
公式中ADDR为仪表地址参数值,范围是0~80(注意不要加上80H)。校验码为以上公式做二进制16位整数加法后得到的余数,余数为2个字节,其低字节在前,高字节在后。要写的参数值用16位二进制整数表示。
返回数据:无论是读还是写,仪表都返回以下10个字节数据:
测量值PV+给定值SV+输出值MV及报警状态+所读/写参数值+校验码
其中PV、SV及所读参数值均各占2个字节,代表一个16位二进制有符号补码整数,低位字节在前,高位字节在后,整数无法表示小数点,要求用户在上位机处理;MV占一个字节,按8位有符号二进制数格式,数值范围-110~+110,状态位占一个字节,校验码占2个字节,共10个字节。
不同型号仪表返回各数据含义如下:
返回校验码:PV+SV+(报警状态*256+MV)+参数值+ADDR按整数加法相加后得到的余数。计算校验码时,每2个8位字节组成1个16位二进制整数进行加法运算,溢出数忽略,余数作为校验码。
状态字节A表示仪表部分状态,其含义如下(位7固定为0):
|
调节器及单显表(V7.0)
|
调节器、温控器及单显表(V7.5)
|
位0
|
上限报警(HAL)
|
HAL
|
位1
|
下限报警(LAL)
|
LAL
|
位2
|
正偏差报警(dHAL)
|
HdAL
|
位3
|
负偏差报警(dLAL)
|
LdAL
|
位4
|
输入超量程报警(orAL)
|
orAL
|
位5
|
AL1状态,0为动作
|
备用(0)
|
位6
|
AL2状态,0为动作
|
0表示MV为输出值,1为状态字B
|
A18,C18仪表可读/写的参数代号表:
表一
参数代号
|
调节器
|
|
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保持参数
|
|
8
|
08H
|
P 速率参数
|
|
9
|
09H
|
D滞后时间
|
|
10
|
0AH
|
T控制周期
|
|
11
|
0BH
|
Sn输入规格
|
|
12
|
0CH
|
dP小数点位置
|
|
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数字滤波
|
|
24
|
18H
|
Run运行参数
|
|
25
|
19H
|
Loc参数封锁
|
|
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程序数据
|
|
86
|
56H
|
当前程序段运行时间
|
|
|
|
|
|
|
说明:
1、如果向仪表读取参数代号在表格中参数以外,则仪表不会返回任何数据。A18,C18型仪表不具备表格中所有参数,当读写实际参数表以外的参数或备用参数时,仪表实际均对SP1参数操作。
2、带手动调节功能的仪表处于手动状态时,可通过写1AH参数来调节手动输出值。
3、程序控制字:对于A18,C18型号程序仪表,15H返回程序控制字,其高位字节数值为0,低位字节数据则如下:
(X)(X)(X)(X)(EV2)(EV1)(HOLD)(STOP)
前4位(BIT)目前暂不用,程序中应允许其为任意值;HOLD及STOP=0,则程序运 STOP=0,HOLD=1,则程序暂停;STOP=1,HOLD=1,则程序停止;EV1、EV2表示事件输出状态,为1时表示事件输出动作,为0时表示事件输出无效。
三、编程方法
系统采用主从式多机通讯结构,每向仪表发一个指令,仪表返回一个数据。编写上位机软件时,注意每条有效指令仪表应在0~150mS内作出应答,而上位机也必须等仪表返回数据后,才能发新的指令,否则将引起错误。如果仪表超过响应时间(150mS)仍没有应答,则原因可能无效指令、通讯线路故障,仪表没有开机,通讯地址不合等,此时上位机应重发指令或跳过改地址仪表。例如,将地址(参数ADDR)为1的仪表的给定值(参数代号0)写为100.0℃(整数为1000),用VB的编程方法如下:
1、初始化通讯口,包括与仪表相同的波特率,数据位8,停止位2,无校验。注意某些厂家的RS232/RS485通讯转换器对RTS、DTR等控制线有一定的要求,上位机软件必须对这些控制线进型编程。用本公司生产的RS232/RS485转换器则可免去对这些线进行编程。
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
仪表返回数据:
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 '假设已经有数据返回
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