wcb516358
级别: 略有小成
精华主题: 0
发帖数量: 54 个
工控威望: 216 点
下载积分: 1485 分
在线时间: 50(小时)
注册时间: 2015-10-22
最后登录: 2024-01-30
查看wcb516358的 主题 / 回贴
楼主  发表于: 2020-07-20 17:53
假如:我输入1个数值 25,我需要从已知的1、2、2、5、10、20数组,自动找出5和20进行相加,请问这PLC程序如何编写
[ 此帖被wcb516358在2020-07-20 18:15重新编辑 ]
wcb516358
级别: 略有小成
精华主题: 0
发帖数量: 54 个
工控威望: 216 点
下载积分: 1485 分
在线时间: 50(小时)
注册时间: 2015-10-22
最后登录: 2024-01-30
查看wcb516358的 主题 / 回贴
1楼  发表于: 2020-07-24 11:02
非常感谢各位同行的回复,特别是5楼的大兄弟值得表扬。
wcb516358
级别: 略有小成
精华主题: 0
发帖数量: 54 个
工控威望: 216 点
下载积分: 1485 分
在线时间: 50(小时)
注册时间: 2015-10-22
最后登录: 2024-01-30
查看wcb516358的 主题 / 回贴
2楼  发表于: 2020-07-24 11:13
引用
引用第5楼13771165220于2020-07-21 16:53发表的  :
Z0 为第一个数地址,比如Z0等于0找出的是第一个数
Z1为第二个数地址。
最后求出Z0=3 Z1=5
就是说数组中第四个数和第六个数。因为是从0开始算第一个数。


目前这个问题我已经想到1个方法解决,我在这抛砖引玉,期待有更多同行的思路。

方法1:用减法的方式,按数值从大往小开始做减法运算。25-20>0,则表示有20,有效;(25-20)-10<0,则表示没有10,无效;(25-20)-5=0,则表示有5,有效;如果25-20-5>0则继续减去下1个数字,如果等于0,则减法运算结束。
[ 此帖被wcb516358在2020-07-24 11:19重新编辑 ]