M7130机床的PLC改造设计论文(2)(5)

2019-03-06 08:28

数值。这一过程是将PV以及SP转换成标准化数值的反过程。在PID指令中,必须指定内存区内的36个字节参数表的首地址。要选定的过程变量、设定值、回路增益、采样时间、积分时间、微分时间等参数全部转换成标准值存放在回路表中。 2. 内存变量分配表

表 3.1 控制系统的输入输出与内存变量分配表

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 名 称 1号起动 1号停止 1号急停 2号起动 2号停止 2号急停 总起动 总停止 1号进气阀 1号风机 2号排风阀 2号风机 总进气阀 总排气阀 地址 I0.0 注 释 上升沿有效 I0.1 上升沿有效 I0.2 上升沿有效 I0.3 上升沿有效 I0.4 上升沿有效 I0.5 上升沿有效 I0.6 上升沿有效 I0.7 上升沿有效 Q0.0 “1”有效 Q0.1 “1”有效 Q0.2 “1”有效 Q0.3 “1”有效 Q0.4 “1”有效 Q0.5 “1”有效 12bit 1号热敏电阻 AIW0 1号进气阀 2号进气阀 1号PID表 1号设定值 1号输出值 1号增益 2号热敏电阻 AIW2 12bit AQW0 12bit AQW2 12bit VB0 VD4 VD8 VD12 12bit 8bit 32bit 32bit 32bit 1号过程变量 VD0 序号 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 名 称 1号采样时间 1号积分时间 1号微分时间 1号积分前项 1号过程前值 2号PID表 2号过程变量 2号设定值 2号输出值 2号增益 2号采样时间 2号积分时间 2号微分时间 2号积分前项 2号过程前值 1号养护温度 2号养护温度 1号PID输出 2号PID输出 地址 注 释 VD16 32bit VD20 32bit VD24 32bit VD28 32bit VD32 32bit VB36 8bit VD36 32bit VD40 32bit VD44 32bit VD48 32bit VD52 32bit VD56 32bit VD60 32bit VD64 32bit VD68 32bit VW400 16bit VW402 16bit VW416 16bit VW420 16bit 增计数器 增计数器 “1”有效 “1”有效 1号养护时间 C0 2号养护时间 C1 1号运行标志 M0.0 2号运行标志 M0.1 3.2.3 程序设计

(1) 总体思路 因为本系统仍然是控制规模相同的2个养护窑。控制程序采用PID控制算法控制进气量。其中子程序SBR0为1号窑温控制参数,SBR1为2号窑温控制参数。主程序OB1分别调用SBR0、SBR1子程序块传送PID控制参数。定时中断0为每10ms中断一次,进入INT0。中断服务程序INT0对2个养护窑分别控制。每个养护窑仍然由一个热敏电阻检测窑内温度。

(2) 主程序中的具体控制流程 本系统主程序执行总体起动/停止控制和每个窑的宏观控制。中断程序对各个养护窑进行PID运算,并进行调温控制。子程序是传送

第 20 页 共 28 页

具体单个窑温控制的PID参数。

(3) 控制算法 在本控制系统中,每个养护窑通过一个热敏电阻来检测其内部温度,由一个进气电动阀的周期闭合与断开来控制进气量,以便达到调节窑内温度的目的。控制程序采用主程序和子程序以及中断程序来编写。采用PID控制算法来控制进气电动阀的打开程度,达到控制进气量的目的。应用算法控制窑内温度,是PID的输出值是用来控制电动阀门的开通大小,而不是控制其电磁阀的开通时间长短。

(4) 控制程序 主程序OB1的功能是完成系统控制,子程序SBR0、SBR1的功能是完成各个窑温PID控制参数的检测和传送。而INT0则是对各个养护窑进行PID控制。

主程序2OB1

Network 1 // 设置定时中断。

LD SM0.1 // PLC 上电首次扫描脉冲。

MOVB 10, SMB34 // 设置定时中断 0 的时间间隔为 10ms 。 ATCH INT_0, 10 // 设置定时中断事件10的中断服务程序为 INT0 。 ENI // 开中断。 Network 2 // 系统起动和停止控制。 LD SM0.0 // 常 ON 继电器。 LPS // 压栈。 A I0.6 // I0.6 总起动。 EU // 上升沿有效。 S Q0.4, 1 // Q0.4 总进气阀。 LRD // 读栈。 A I0.7 // I0.7 总停止。 EU // 上升沿有效。 R Q0.4, 1 // Q0.4 总进气阀。 LPP // 弹出。

LDW >= C0, +600 // C0 1 号养护时间。 OW >= C1, +600 // C1 2 号养护时间。 ALD // 块的串联。 = Q0.5 // Q0.5 总排气阀。 Network 3 // 1 号养护窑控制。 LD SM0.0 // 常 ON 继电器。 LPS // 压栈。

A I0.0 // I0.0 l 号起动。

S M0.0, 1 // M0.0 1 号运行标志置位。 LRD // 读栈。

第 21 页 共 28 页

A I0.1 // I0.1 1 号停止。

R M0.0, 1 // M0.0 I 号运行标志复位。 LRD // 读栈。

AW >= C0, +600 // C0 1 号养护时间大于等于设定时间。 = Q0.0 // Q0.0 1 号排气阀排气。 LRD // 读栈。

A I0.2 // I0.2 1 号急停。

R R0.0, 2 // Q0.0 1 号排气阀,Q0.1 1 号电动机复位。 LPP // 弹出。

A M0.0 // M0.0 1 号运行标志。 LPS // 压栈。

= Q0.1 // Q0.1 1 号风机运行。

CALL SBR_0 // 调 1 号养护窑 PID 控制子程序 SBR0 。 AR < VD0, VD4 // VD0 1 号过程变量小于 VD4 1 号设定值。 MOVW VW416, AQW0 // VW416 1 号 PID 输出送 AQW0 1 号进气阀。 LPP // 弹出。

LDR >= VD0, VD4 // VD0 1 号过程变量大于等于 VD4 1 号设定值。 O I0.2 // 或 I0.2 1 号急停。 ALD // 块的串联。

MOVW +16000, AQW0 // AQW2=16000,使 1 号进气阀关闭。 Network 4 // 1 号养护窑养护计时。 LD M0.0 // M0.0 l 号运行标志。 A SM0.4 // SM0.4 1min 计时脉冲。 LD I0.0 // I0.0 1 号起动。 O SM0.1 // SM0.4 1min 计时脉冲。 CTU C0, +0 // C0 累计 1 号养护时间。 Network 5 // 2 号养护窑养护计时。 LD SM0.0 // 常 ON 继电器。 LPS // 压栈。

A I0.3 // I0.3 2 号启动。

S M0.1, 1 // M0.1 2 号运行标志置位。 LRD // 读栈。

A I0.4 // I0.4 2 号停止。

R M0.1, 1 // M0.1 2 号运行标志复位。 LRD // 读栈。

第 22 页 共 28 页

AW >= C1, +600 // C1 2 号养护时间大于等于设定时间。 = Q0.2 // Q0.2 2 号排气阀排气。 LRD // 读栈。

A I0.5 // I0.5 2 号急停。

R Q0.2, 2 // Q0.2 2 号排气阀,Q0.3 2 号风机复位。 LPP // 弹出。

A M0.1 // M0.1 2 号运行标志。 LPS // 压栈。

= Q0.3 // Q0.3 2 号风机运行。

CALL SBR_1 // 调 2 号养护窑 PID 控制子程序 SBR1 。 AR < VD36, VD40 // VD36 2 号过程变量小于 VD40 2 号设定值。 MOVW VW418, AQW2 // VW418 2 号 PID 输出送 AQW2 2 号进气阀。 LPP // 弹出。

LDR >= VD36, VD40 // VD36 2 号过程变量大于等于 VD40 2 号设定值。 O I0.5 // 或 I0.5=2 号急停。 ALD // 块的串联。

MOVW +16000, AQW2 // AQW2=16000,使 2 号进气阀关闭。 Network 6 //记录 2 号窑控温时间。 LD M0.1 // M0.1 2 号运行标志。 A SM0.4 // SM0.4 1min 计时脉冲。 LD I0.3 // I0.3 2 号启动。

O SM0.1 // 复位 2 号窑计数器信号为 2 号起动按钮 I0.3 按下

或 PLC 上电。

CTU C1, +0 // C1 累计 2 号养护时间。

子程序2SBR02(传送 1 号窑PID参数)

Network 1 // 传送 1 号养护温度。 LD SM0.0 // 常 ON 继电器。

MOVW AIW0, VW400 // 1 号养护温度送 VW400 。 -I +6552, VW400 // VW400-6552 送 VW400 。

/I +131, VW400 // VW400/131 送 VW400 (1 号养护温度)。 Network 2 // 传送 1 号窑 PID 参数。 LD SM0.0 // 常 ON 继电器。 MOVR 0.616, VD4 // 1 号设定值送 VD4 。 MOVR 0.01, VD12 // 1 号增益送 VD12 。 MOVR 0.1, VD16 // 1 号采样时间送 VD16 。

第 23 页 共 28 页

MOVR 3.0, VD20 // 1 号积分时间送 VD20 。 MOVR 0.0, VD24 // 1 号微分时间送 VD24 。

子程序2SBR12(传送 2 号窑PID参数)

Network 1 // 传送 2 号养护温度。 LD SM0.0 // 常 ON 继电器。

MOVW AIW2, VW402 // 2 号养护温度送 VW402 。 -I +6552, VW402 // VW402-6552 送 VW402 。

/I +131, VW402 // VW402/131 送 VW402 (2 号养护温度)。 Network 2 // 传送 2 号窑 PID 参数。 LD SM0.0 // 常 ON 继电器。 MOVR 0.616, VD40 // 2 号设定值送 VD40 。 MOVR 0.01, VD48 // 2 号增益送 VD48 。 MOVR 0.1, VD52 // 2 号采样时间送 VD52 。 MOVR 3.0, VD56 // 2 号积分时间送 VD56 。 MOVR 0.0, VD60 // 2 号微分时间送 VD60 。

中断程序2INT02(各养护窑 PID 控制算法)

Network 1 // 1 号养护窑 PID 控制算法。 LD M0.0 // M0.0 1 号运行标志。 LPS // 压栈。 A SM0.5 // 秒脉冲时钟。 EU // 上升沿有效。

MOVW AIW0, AC0 // 1 号养护窑温度送 AC0 。 DTR AC0, AC0 // 转换成实数。

MOVR AC0, VD0 // 1 号过程变量送 VD0 。 /R 32000.0, VD0 // 转换成标准值。 LPP // 弹出。

PID VB0, 0 // VB0 1 号 PID 表。

MOVR VD8, AC0 // 1 号 PID 输出值送 AC0 。 *R 16000.0, AC0 // 转换成控制值。 ROUND AC0, AC0 // 转换成整数。

DTI AC0, AC0 // 把 AC0 中的双整数转换成整数。

MOVW +16000, VW416 // 转换成加温电路的控制电压值 VW416 (1 号 PID输出)。 -I AC0, VW416 // 16000-(AC0) 传送到 VW416 。 Network 2 // 2 号养护窑 PID 控制算法。 LD M0.1 // M0.1 2 号运行标志。

第 24 页 共 28 页


M7130机床的PLC改造设计论文(2)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:社工面试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: