sunzengli
级别: 论坛先锋
精华主题: 0
发帖数量: 683 个
工控威望: 1063 点
下载积分: 1546 分
在线时间: 219(小时)
注册时间: 2021-07-09
最后登录: 2024-11-22
查看sunzengli的 主题 / 回贴
楼主  发表于: 2023-08-29 12:46
数组求和怎么搞?我想了半天,也没找到方法,请教大家有什么好的思路。


FOR Number1 := 0 TO 100 BY 1 DO
sum :=  sum + arr[Number];
END_FOR;

一般的思路是这样写,我试了一下发现不行,因为PLC和计算机是有区别的,PLC是一直在扫描的,所以sum是一直在增加的,这样的结果没有意义。
想了很久,没有好办法。求指导。
[ 此帖被sunzengli在2023-09-11 09:19重新编辑 ]
ayusecret
级别: 略有小成
精华主题: 0
发帖数量: 183 个
工控威望: 261 点
下载积分: 806 分
在线时间: 73(小时)
注册时间: 2021-10-31
最后登录: 2024-11-22
查看ayusecret的 主题 / 回贴
1楼  发表于: 2024-05-30 08:58
图片:
1种是初始化0处理,但预防溢出,你的sum需定义32位的数据,相加的话就不是简单的+了,要做转换
另一种是直接用指令WSUM