签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:侠士
注册时间:2013-12-11
钻石 如何晋级?
11802
50
2024-01-24 11:39:26
测试环境:TIA V16+PLCSIM
第一种思路是每次读取一次程序运行的cycle time ,然后用PT 时间去除一下,得到需要运行的次数;
第一种方法因为会有累积误差,所以只适合时间比较短的场合,比如1分钟内。后面也是针对此缺陷的改进。
第一种改进是把过去的所有循环时间进行累积,误差就被控制在了最后的一次比较上了,然后和目标值进行比较;结果有明显改善;
第二种改进是通过相同的中断间隔时间来代替不那么稳定的cycletime来计时;理论上来说,2种改进的方法应该可以把误差控制在5ms 内,然并*;
第三种更直接一点,直接用循环中断的方式,通过中断的次数来计算,需要注意的是不是设定的时间越小越准,因为要考虑中断程序的处理时间,同时减少使用浮点数的运算;
可以看到几种的ET 时间比较,时间还是比较接近的,但是也没有那么完美,可能有2个原因:
1:用的模拟的PLC;
2 :没有用一个绝对准确的时间参照物(是的,我有点怀疑系统的定时器准不准了);
再说一个额外的发现,我用手机定时作为参照物发现,发现PLCSIM 的TON 定时器大约慢15s/5min,也就是大约每20min 慢1 min;
对于长时间的定时,可以通过读取系统时间+NTP 服务器同步的方式来确保误差在可以接受的范围内;以上只是为了拓展思路,不拘泥于现有条件;
有兴趣的可以拿实际的PLC 试一下;
剩余80%未阅读, 请登录阅读
1. 文件大小:上传文件的大小请限制在2M以内。
2. 文件格式:请不要上传.exe文件,系统支持的格式有: .avi,.wmv,.mp3,.rar,.zip,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.wma,.asf,.txt,.7z
请填写推广理由:
【点这里】0元领课是真的!!原价39.9元运维课程限时免费送了!!!
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有9485条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录