签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
前几天看到网友用smart 间接寻址 冒泡法程序,今天下午不忙,做了一个冒泡法排序,抛砖引玉。 相互学习优化优化程序。
因手头上没有plc暂时未测试。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1554686&b_id=64&s_id=0&num=26
附上程序
冒泡法排序2.0.zip
这个程序可以用,smart plc 一个扫描周期最长5S(复位看门狗方式),排序600个数需要4S多。
把程序改成多个扫描周期排序应该更合理些。
程序有几个笔误不能正常用
附件已经修改完成
修改一下行吗
什么意思 ,修改什么??
这只是纯粹测试plc性能而已,排100个数大越95ms
我在200上试过一个冒泡排序,
16位倒序数列然后顺排序,55个数要510毫秒。顺序排列后顺排序要320毫秒。
32位倒序数列然后顺排序,55个数要500毫秒。顺序排列后顺排序要300毫秒。
感觉smart没快多少?这个我感到有点意外。是我程序执行问题?
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1001479&b_id=3&s_id=1&num=27#anch
你们测试排序的时间是否是指plc一个周期的时间?加入循环指令后,plc的工作周期会加长这个是事实。只要不影响到plc的正常采集及输出,个人认为没有问题的。
之前,在400plc上做过一个模拟量输入“干扰”的数据采集编程,大致含义是400系统中有其中一路模拟量“干扰”,我用OB35循环定时中断采集20个数据(通过几次测试,感觉20个数据比较合理,主要的考虑到模拟量的实时性问题),取消一个最大值,求平均值。
冒泡程序,冒泡是什么意思呢,没明白,看写的程序,在逻辑方面比较简单
我的是指一个周期完成排序。也相信楼主的也是。(我没看程序,他说要修改。)
我知道模拟量采集都要时间的,显然一个周期做模拟量的采集排序是没有意义的。意义在于一些逻辑控制,比如,一些动作20个数据齐集了,然后决定下一步做什么。这个时候就必须最快速度得到结论,即使要等几秒都要等。
对的,一个周期完成。
程序可以了,截图没换。
我是这么测试的:1.smart plc 看门狗默认时间500ms,找了几份资料,没找到修改看门狗时间的地方,就在内外循环里面加了看门狗复位指令。
2.同时smart plc 看门狗时间最大5000ms,排600个数大约4320ms就到极致了,除非改成多周期异步指令。
等几秒,跟指令的同步及异步执行没有直接关系,无非就是一个结果,什么时候取这个结果。
芳侠的思路有问题
plc 运算就是这样,smart 已经是标称很快的了
楼主你试试在你的程序中L寄存器改成V,计算速度会大幅提升的。建库后的多次调用通用性因此会受点影响,但是可以克服的。
@芳 侠
测试了一下,昨天数据记错了
100数16位倒序数列然后顺排序95ms 顺序排列后顺排序要60ms
55个数31 / 19ms
大家猜如果用大扫描做外循环,或者用跳转换for,整个执行时间会多了还是少了?
我做一个可以测试一下的,一会出结果。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录