西门子SMART200 PLC烘箱流水线四路加热PID温度控制程序,包含PLC编程、变频器通讯...
西门子SMART200 PLC, 烘箱流水线4路加热PID控制温度的案例程序,程序结构清晰明了,USS通讯控制V20变频器,含PLC程序,SMAT700IE触摸屏程序,电气图纸全套,电气BOM。 实际项目应用的程序。 注意是程序,不是设备元器件。
老张叼着烟蹲在控制柜旁边,眼瞅着触摸屏上的温度曲线跟心电图似的蹦跶。这是上周刚调试的烘箱流水线,四路加热管愣是控不住温度——直到掏出S7-200 SMART的PID指令块,事情才有了转机。
这个项目的PLC程序架构特实在,直接上带参数初始化的OB1主循环。看这段:
LD SM0.1 CALL PID0_INIT:SBR1, 1 CALL PID1_INIT:SBR2, 1 ... MOVR 0.85, VD2004 //加热系数 MOVR 30.0, VD2008 //采样周期初始化块里藏着玄机,VD2004这个加热系数参数特别关键。调试时发现第三区温度总超调,后来把0.85改成0.76才稳住。每个PID回路单独配了过程值滤波,用了个滑动平均滤波算法:
//AIW16为原始AD值 MOVW AIW16, VW100 -I 6400, VW100 //去掉零点偏移 ITD VW100, VD1100 DTR VD1100, VD1104 /R 25600.0, VD1104 //工程量转换这套滤波处理让温度采集波动减少了60%,特别是烘箱门开关时的干扰明显减弱。
USS通讯控制V20变频器那块,用了个取巧的轮询方式。程序里用了个指针变量循环切四个变频器地址:
LD M10.0 //通讯使能 EU //上升沿触发 INCB VB500 //地址指针+1 MOVB &VB500, VB501 //目标地址存储 ANDB 3, VB501 //限定在0-3范围 XMT VB500, 0 //发送指令实测每台变频器状态刷新周期控制在300ms以内,比定时器轮询节省了20%的通讯时间。不过得注意USS库指令得放在定时中断里,主循环容易跑飞。
西门子SMART200 PLC, 烘箱流水线4路加热PID控制温度的案例程序,程序结构清晰明了,USS通讯控制V20变频器,含PLC程序,SMAT700IE触摸屏程序,电气图纸全套,电气BOM。 实际项目应用的程序。 注意是程序,不是设备元器件。
触摸屏上的温控界面整了个动态颜色条,温度超限时红色闪烁。关键是用全局脚本做了个增量式报警记录:
If Temp1 > 120 Then SetTagWord("Alarm_Log", GetTagWord("Alarm_Log") + 1) SetTagString("Alarm_Msg", "1区超温" & Now()) End If这套脚本配合报警缓冲区,能存最近50条异常记录。现场调试时靠这个逮住了加热管偶发断路的问题。
电气图纸里有个细节挺讲究——每路加热管都配了独立固态继电器,PLC输出点后边串了中间继电器做隔离。BOM表里标红的施耐德LC1D接触器后来换成了国产正泰,成本省了四成但得注意把吸合时间参数调准。
程序包里有组态好的PID参数备份文件,直接导入就能用。不过实际调试时发现,烘箱满载和空载时的参数得差两档,后来做了个负载状态选择开关,用不同的PID参数表切换。这个经验算是项目里最值钱的部分——毕竟参数调好了比啥花哨功能都实在。
