之前给大家分享过一套基础版 PLC 配方存储程序,经过我自己的使用发现了一些问题,基于 static 静态变量的位置存储程序,能实现 100 组(500 个数据)的配方存储,删除某一组中的数据后在进行存储存在一些BUG,边界判断防越界,存储更安全稳定,代码行数更少,现场移植、排查 bug 更省心,今天给大家带来深度优化后的精简升级版。
去掉冗余变量,代码更清爽 不用 static,逻辑更简单 直接序号计算偏移,新手也能看懂 工业现场更稳定、更易维护、现场调试、后期维护更省心!!!!
只修改了存储段
//增删改查M100:存储确认
//HD0-D99:数据存储区5个地址为一组
define SerialNumber D[10000] //变量序号 if ( B[100] ) //确认存储
{
if ( SerialNumber < 100 )
{
HD[0 + ( 5 * SerialNumber )] = D[0];
HD[1 + ( 5 * SerialNumber )] = D[1];
HD[2 + ( 5 * SerialNumber )] = D[2];
HD[3 + ( 5 * SerialNumber )] = D[3];
HD[4 + ( 5 * SerialNumber )] = D[4];
}
B[100] = 0; //清除触发
}