找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
该例子是用scl建立一个FB,
然后通过调用FC105读入模拟量,9个模拟量中去除最大值和最小值,
然后求平均值.
关于这个程序我有个地方不明白,
1,我的概念是,在一个扫描周期里不是只能读进来一个模拟量吗?
FB也只能运行一次,那么这9个模拟量是怎么存入到DATA_STORE0到DATA_STORE1
里面去的呢? 是不是应该加一段程序,
就是把模拟量依此放入DATA_STORE1-9 的程序?
2,那个LOOP_COUNT的循环语句,是把DATA_STORE1放到DATA_STORE0,
DATA_STORE2放到DATA_STORE1里,依此类推.但是这里面没有模拟量数值,
循环感觉没什么意义.
3,LOOP_COUNT的循环语句是不是在FOR和END_FOR之间循环9次,
但是后面出来一个把模拟量数赋值给DATA_STORE9的语句,感觉这
个赋值语句应该写在LOOP_COUNT的循环语句语句里而不是外面.
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1、这个程序执行的顺序,是先FIFO堆栈,不过是从下往上堆的,就是先吧d1放到d0里面,d2放到d1里面......d9放到d8里面,然后d9里面放当前值,就这样,然后d8里面就是上个周期的值,d9还是当前值,PLC开始运行的第一次扫描没大多意思倒是真的,因为d0到d9里面是0,但是9个扫描周期过去之后,里面的数值就填满了
2、这个问题在第一个问题里面基本上也说了,也就前几个周期里面是空的,9个周期以后,数据就正常了
3 也是这个原理啊,能看明白第一段就都明白了
一个周期采集一个当前数据,放到For循环里面,每次循环都采集9次,9个一模一样的数据了,就就不是平均值了~
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城
能看明白就好,就怕叙述的你看不明白