签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
在数据块中存储了一把个数据,怎么来计算出这一百个数据中的最大值,最小值,平均值,和
第二个问题,传送FC7块的工作方式能不能OB1中的一个输出实现,就是说OB1中一个条件满足了,FC7工作一次
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1372407&b_id=50&s_id=0&num=11
用间接寻址加循环指令和比较就能实现这个功能。
论坛搜一下冒泡法,一个扫描周期就可以算出最大值最小值。。。。。
scl编程:
min=+∞
max=-∞
sum=0.0
for i=0 to 99
(1) if a(i)>max then//找最大值
max=a(i)
end if
if a(i)<min then//找最小值
min=a(i)
(2) for j=i to 99
if a(i)>a(j) then//降序排列
temp=a(i)
a(i)=a(j)
a(j)=temp
next
sum=sum+a(i)//求和
aver=sum/100//求平均值
(1)直接求极值或者(2)的数据块第一个就是最小值,最后一个就是最大值。
以上思路是手打的,自己修改成scl的语法。
用SCL编程实现起来应该是不难的
数据块做成数组形式的,好进行寻址
曾经使用smart200的plc,在excel启用opc控件读取plc的变量,选中单元格,直接得出结果。
笨法就是一个一个比较吧
只是求最大最小和平均,不需要冒泡,只需要一次FOR/NEXT循环即可。
做成数组,SCL很方便,不需要指针,只需对数组下标操作即可
3楼scl编程厉害。
用SCL编程比较容易实现,c语言的或是PASCAL语言的数据结构书籍有不少这样的例子!!
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录