没有合适的资源?快使用搜索试试~ 我知道了~
DCCE-TAC6000寄存器与控制逻辑组态定义说明.pdf
需积分: 10 0 下载量 166 浏览量
2019-09-17
11:01:04
上传
评论
收藏 315KB PDF 举报
温馨提示
试读
19页
DCCE-TAC6000寄存器与控制逻辑组态定义说明pdf,DCCE-TAC6000寄存器与控制逻辑组态定义说明
资源推荐
资源详情
资源评论
逻辑输入和输出组态信息定义
该说明适用于 DUT4000 系列 CONM2.6 版本和 DUT6000 系列 CONM4.3 版
本,两者的差别是:DUT6000 系列有 4 路 DI 输入 IN0~IN3,模块内有 5 位 DIP
开关用于设置模块地址,通讯协议由波特率字节选择。DUT4000 有一位 DI 输入,
读取数据位在 D3 中,其余位为 0,模块的通讯协议由模块内 4 位 DIP 选择。
DUT4000 系列输出为直接光耦输出,ON 时为+24V。DUT6000 系列的输出为集
电极开路(OC)输出,ON 时为 0V。
TAC3000 功能上与 DUT6000 基本相同。
CONMV46 与 CONMV43 的差别是改进了串行通讯,发送时 2 位停止位,
接收时一个停止位。可以适应不同停止位通讯要求。
CONMV47 与 CONMV46 相比,由 IN0 的引脚电平控制温度控制,如果设
置成外启动控温,则 IN0 为 ON 时开始控温,OFF 时停止控温。CONMV46 为
ON 一次启动控温,不能停止。
CONMV49 改动:1、取消写控制参数重新启动。2、写 30H 为“1”时重新
启动。3、通道控制选择字节写入“0”时关闭通道控温。
V51 改动:DI 读命令刷新口线。(2005-1-6)
由 DISEL1 的高字节控制串口无条件输出,为 0,请求输出;
非 0,无条件输出。
V52改动:DeviceID=“CCIDUT6000CONM”。(2005-1-7)
将 3 号功能读取测量数据和开关状态。
2号功能可以连续读取开关量输入和输出。
改进了模块工作方式控制 DISEL 的改动死机现象。
V54改动:(1)参数自整定功能。(2)MODBUS 协议地址连续与不连续选
择(2005-2-19)。(3)写入上下限报警的最后通道的模块控制参
数,程序自启动。
V60改动:从 V54 版本上改动 EEPROM 写入时冲堆栈 BUG。(2005-4-17)
V61改动:开关量输入逻辑验证。(2005-5-24)
V62改动:将 DO0~DO7 及 STB 开关量输出可以作为开关量输入。(2005-5-25)
改动每次上电过渡状态。(2005-5-26)
V63改动:控温参数整定后不用重新启动,置成 PID 控温方式。
V64改动:将 S 热电偶温度传感器重新线性化,改进 S 热电偶测温精度。把
线性化程序升级为 WIN 程序。(2005 年 8 月 3 日)
V65修改:单个逻辑输出错误,将 ACC.5 为 1 为输入取反改成输出取反,
将 ACC.7 有效改成输入取反和不取反。(2005-8-21)
TACMV10 修改:定义环境温度通道,寄存器 0BH,可以与温度通道一起读出。
定义了环境温度校准协议命令。(2006-7-21)
TACMV11 修改:修改控制参数自整定同时整定错误,增加了 8 个通道设置温度
写功能。(2006-10-22)
TACMV12 修改:将指示灯驱动显示,P0.2Æ595SRCLK;P0.3Æ595SER;
T1Æ595RCLK。程序在空闲时候将显示数据送上来。
(2007-1-28)
通过控制 AlmState0~AlmState8 中的 D2 位为 0 或 1 控制启动每个通道
的启动和停止,地址定义为 24H~2CH,报警 AIOut 高 4 位为 2 时,上
限 Set_Val+AIOut 低 12 位,下限为 Set_Val-AIUpLmt,指示灯定义
(2007-2-26)
控制参数定义
对 9 个输出量 DO 选择,除用调功输出完成控制功能外,还可以选择 AI 上下限和 4 位开
关量输入及 DO0~DO7~STB 之间的逻辑操作后输出。最多可以选择 6 个不同输入运算。
每个开关量输出由以下结构体定义相应的控制参数。
struct
{ int CtrlSel //控制选择变量,低字节有效,高字节为启动次序,0 直接启动
int SampleT //采样时间 Ts,以 80mS 为单位,低字节有效,高字节为相位偏移
int Set_Val //设置控制温度值,整型数,乘以 10 的温度值
int SeriesD0 //PID 比例系数 P,整型数
int SeriesD1 //PID 积分时间 Ti,以 80mS 为单位
int SeriesD2 //PID 微分时间 Td,以 80mS 为单位
int CtrlArea //起控范围,低 8 位有效,以度为单位
} Out[9]
控制变量选择 CtrlSel 定义如下:
CtrlSel
D7 D6 D5 D4 D3 ~ D0
0 控制算法 输入的 AI 号
表 1 控制算法选择:
D6 D5 D4 控制算法 表达式
0 0 0 不控制
0 0 1 PID 控制 U=P*Ei+(Ts/Ti)*SUM(Ei)+(Td/Ts)*(Ei-E(i-1)) (起控范围内)
0 1 0 模糊控制 控制表查找索引 Index=P*Ei+Ti*(Ei-E(i-1)) 范围:-7~+7
0 1 1 增量 PID
Ui=U(i-1)+
P*(E
i
-E
i-1
)+ E
i
*Ts/ Ti+ (E
i
-2E
i-1
+E
i-2
)*Td/Ts
1 0 0 报警输出 1/cycle-恒温,1/3 cycle-加热, 2/3 cycle-预警,cycle-1/cycle-报警
1 1 1 参数整定 整定 PID 控制参数
D3~D0用来选择 8 路模拟输入(AI)通道。
在 CtrlSel 变量的高字节定义启动顺序,如果是 0,则上电后就启动运行,当 0 的都加
热完成进入恒温状态后启动后面的设置。
变量 SampleT 的高字节定义运行相位,该值是开始运行的第一个周期值,后面的周期
是由 SampleT 的低字节定义。
当写入 CtrlSel 和 SampleT 两个参数后,程序重新初始化。其他参数写入不初始化。
V49 版本取消了写控制参数初始化程序。
V54 版本将初始化功能加上了。
V62 版本有初始化功能。
参数整定方法:
例如 SV=200℃ 从冷态开始 PV=25℃:
1。由于 SV-PV>0 所以 使控温继电器吸合,开始加热,温度逐渐升高。
2。当上升到 SV=PV<0 时,使控温继电器断开,由于温度相应的滞后性这时的温度
一般并不会立刻下降而是继续上升一会后才开始下降。
3。当下降到 SV-PV>0 时,使控温继电器吸合,开始加热,但同样的原因温度还会
继续下降一会然后才会逐渐升高。
4。反复如上的步骤几个循环,目的是为找到稳定的振荡波形。一般情况下,第一个
波峰由于从冷态开始上冲太大不予采信,第一个波谷也同样误差较大被排除。
5。可以从第二个波峰开始记录第一个最高温度,同时为记录时间清零时间计数器。
6。从第二个波谷开始记录第一个最低温度,同时读取时间计数器以得到这个振荡波
形的周期值(注意是 T/2)。
7。有了波峰温度,波谷温度,振荡周期就可以计算出 PID 数值了。
8。I 和 D 最简单,I=T(振荡波形的周期),而 D=I/4。这两个数据在我所有的两种样机
中都是相同的。
Tcount=Tmax-Tmin,最大值点到最小值点的时间
P=7.643*SamTime/(Ymax-Ymin)
Ti=Tcount*SamTime/P
Td=0.25*Tcount*SamTime*P
参数整定由于整定完成重新初始化,所以不支持多通道参数同时整定。
整定温度为设置温度(0.1℃为单位)减去起控范围(以℃为单位)。
如果选择开关量输入及 AI 上下限作为输入对每一位输出进行逻辑组态,则定义如下:
CtrlSel
D7 D6 D5 D4 D3 D2 D1 D0
1 1
上
限
下
限
取
反
与
或
下
与
上
与
D7=1开关量输出选择(D7=0 控制参数选择)
D6=1 8路模拟输入上限和下限报警全部参与逻辑输出
(由一个字节逻辑选择字和屏蔽字组合决定输出逻辑)
D5=1 AI 上限报警参与运算
D4=1 AI 下限报警参与运算
D3=1 输出取反
D3=0 输出不变
D2=0上限、下限之间“或”运算
D2=1上限、下限之间“与”运算
D1=0 各 AI 下限报警之间“或”运算
D1=1 各 AI 下限报警之间“与”运算
D0=0 各 AI 上限报警之间“或”运算
D0=1 各 AI 上限报警之间“与”运算
当 D6=1 时(输入各通道全部参与运算),SampleT 的低字节为屏蔽字节。
当 D6=0 时,CtrlSel 中的 D3~D0 为参与运算的输入字节数(最多 6 个逻辑)
D7 D6 D5 D4 D3 ~ D0
1 0 NC NC 输入的字节数
NC为没有使用。
剩余18页未读,继续阅读
资源评论
weixin_38744435
- 粉丝: 370
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功