抖音粉丝群1
『7x24小时有问必答』

你想要的功能它都有: 配方存储 按名称查找 查看后删除 配方修改,工控人必备不用自己在敲代码了。
/增删改查M100:存储确认,M101:数据查找,M102:数据删除,M103:数据修改
//D200:配方名称通过D200输入的名称进行查找内容
//D0-D4:要存储的数据
//D5-D9:要修改的数据
//D20-D24:数据查看
//HD0-D99:数据存储区5个地址为一组
//数据存储,全局变量(一定要放在函数外面,用来记住存到第几个位置)
      static int savePos = 0;       //static:保持savePos变量的值
      if ( B[100] )          //确认存储
      {
            int i1 = savePos;   // 从上次保存的位置开始
            // 最多存 100组 = 500个位置,没存满才存
            if ( i1 < 500 )
            {
                  HD[i1 + 0] = D[0];
                  HD[i1 + 1] = D[1];
                  HD[i1 + 2] = D[2];
                  HD[i1 + 3] = D[3];
                  HD[i1 + 4] = D[4];
                  savePos = savePos + 5;   // 核心:偏移+5,下次存下一组
            }
            B[100] = 0;       //清除触发
      }
      HD[1000] = savePos;
//查看配方
      if ( B[101] )          //确认查看
      {
            int i2 = 0;       //查看地址偏移
            while ( true )
            {
                  if ( HD[0 + i2] == D[200] )         //对比名称是否一致
                  {
                        D[20] = HD[0 + i2];         //配方名称
                        D[21] = HD[1 + i2];       //数据存储
                        D[22] = HD[2 + i2];       //数据存储
                        D[23] = HD[3 + i2];         //数据存储
                        D[24] = HD[4 + i2];       //数据存储
                        break;
                  }
                  if ( i2 >= 100   )                  //判断是否超出100个地址
                  {
                        break;
                  }
                  i2 += 5;                        //存储地址偏移,偏移存储个数
            }
            B[101] = 0;       //上升沿
      }
//配方删除
      if ( B[102] )
      {
            int i3 = 0;
            int found = 0;   // 标记是否找到
            while ( true )
            {
                  if ( HD[0 + i3] == D[200] )       //根据D[200]配方名称进行查找,进行赋0删除
                  {
                        HD[0 + i3] = 0;
                        HD[1 + i3] = 0;
                        HD[2 + i3] = 0;
                        HD[3 + i3] = 0;
                        HD[4 + i3] = 0;
                        found = 1;
                        break;
                  }
                  if ( i3 >= 100   )                  //判断是否超出100个地址
                  {
                        break;
                  }
                  i3 += 5;
            }
            if ( found )            //标志找到对应配方后把查看的也赋0
            {
                  D[20] = 0;
                  D[21] = 0;
                  D[22] = 0;
                  D[23] = 0;
                  D[24] = 0;
                  found = 0;
            }
            B[102] = 0;
      }
//配方修改
      if ( B[103] )          //确认查看
      {
            int i4 = 0;       //查看地址偏移
            int found1 = 0; // 标记是否找到
            while ( true )
            {
                  if ( HD[0 + i4] == D[200] )         //对比名称是否一致
                  {
                        HD[0 + i4] = D[5];          //配方名称
                        HD[1 + i4] = D[6];         //数据修改
                        HD[2 + i4] = D[7];         //数据修改
                        HD[3 + i4] = D[8];         //数据修改
                        HD[4 + i4] = D[9];         //数据修改
                        found1 = 1;
                        break;
                  }
                  if ( i4 >= 100   )                  //判断是否超出100个地址
                  {
                        break;
                  }
                  i4 += 5;                        //存储地址偏移,偏移存储个数
            }
            if ( found1 )
            {
                  D[20] = HD[0 + i4];         //配方名称
                  D[21] = HD[1 + i4];       //数据存储
                  D[22] = HD[2 + i4];       //数据存储
                  D[23] = HD[3 + i4];         //数据存储
                  D[24] = HD[4 + i4];       //数据存储
            }
            B[103] = 0;       //上升沿
      }
1.png
2.png
3.png
4.png
顺序存储,自动 + 5 偏移, 按名称查找、删除、修改,不怕数据为 0,不误判, 数组安全,不越界, 查看后自动清空显示区, 工业现场可直接使用, 逻辑简单。
后续有时间还会更新!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码