C 和梯形图不是二选一,而是配合:C 负责算,梯形图负责控。本课讲两者如何协同、数据怎么互通。
C 和梯形图怎么配合?原则是各干各的强项:C 擅长数值计算,梯形图擅长逻辑时序。让 C 算、梯形图控,中间靠几个寄存器传数据,谁也别抢谁的活。
举个分工的例子:算偏差。梯形图把设定值 sp 写进 HD0、过程值 pv 写进 HD1,C 只负责一减,把偏差写回 HD2。减法归 C,加减速归梯形图,清爽。
偏差一出来,还要告诉梯形图往哪调。C 顺手给三个位:偏差为正置 pos、为负置 neg、刚好为零置 eq。梯形图读这三个位,决定加、减还是停。
别小看这一减——它就是 PID 里的偏差计算。PID 后面积分微分那一大套先不管,光这个偏差算清楚,控制就理顺了一半。剩下的输出,可再交梯形图或另一个 C 块。
协同有条铁律:C 块只碰自己的 HD/HM,不碰梯形图和场景占用的 D/M。这样两条扫描循环各跑各的,谁也不覆盖谁。之前踩过的坑,就是这么定的规矩。
协同就一句:C 算、梯形图控,HD/HM 当中转站。设定值、过程值喂进去,偏差和方向位吐出来。各司其职,程序才好维护、好复用。