把前面学的合起来:用 C 写一个 PID 温控算法,从采集、计算到输出,串成一条能跑的自动线。
最后一课,把前面学的串起来做个真东西:温控。读温度、比设定、决定加不加热,还得防着温度在门槛附近反复抖。一个 C 功能块全拿下,这就是毕业设计。
如果一到设定就停、一低就开,温度在门槛附近会反复跳,继电器咔咔响。解决办法是带回差:低于下限才开,高于上限才停,中间保持不变,一下就稳当了。
输入三个:设定 HD0、当前温度 HD1、回差带宽 HD2。还得记一个状态:上一拍加没加热,存 HD3。有了这个记忆,才知道中间区间该保持开还是保持关。
逻辑就滞环三步:温度低于设定减回差,加热开;高于设定加回差,加热停;卡在中间,就照上一拍的状态保持不变。写 C 就三个 if,一目了然。
加热状态直接输出到 HM0,梯形图读它就驱动固态继电器。顺手把设定减温度的偏差写回 HD4,上位监视、报警都能用。算和输出,一个块里都办了。
回头看,这十一课把 C 功能块走了一遍:内存、定时、边沿、状态机、查表、浮点、协同、通讯、运动,最后落到温控。会了这些,再复杂的算法都能搬进 C 了。