签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
关于SIMATIC定时器异步刷新的例子
案例摘自西门子官方文档【SIMATIC PLC 计时器的使用】2009年-1月期
今天在“找答案”栏目中看到这样一个案例,【语句执行的先后顺序问题】,问题链接:
http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=189465&cid=1029
直接上案例程序,图示:
从上图可以看到仿真时,C1能够正常计数,而C3无法正常计数。
我在回复是将计数器C3拆分上移到上一个程序段,这样可以正常计数了,图示:
晚上想起这个回复,总感觉还有什么不妥,于是,找出之前保存的西门子官方文档,再看官方的例子,图示:
这个M10.2是否能够被置1可能?
添加定时器“循环”计数次数C1想在那几个循环后能够捕捉M10.2的程序,图示:添加计数器的目的是看定时器“循环”的次数多少时,M10.2被置位。
计数器在定时器不断“循环”驱动下,在不断的进行加计数,但这个M10.2就是像被屏蔽了似的,很难有被置位的可能。
再继续按官方给出的例子,加入程序SFC47到程序段2,看M10.2能否有被置位的可能,图示:当定时器“循环”到第3个周期时,嘿嘿了,这当然是概率问题(官方的原话)。
在仿真器中重新复位M10.2,再看这个M10.2被置位的概率,这个置位有一定概率性,而并不是有一定规律性的,中间的论证和计算过程参见官方该文档说明。
我在没有做此验证前,一直认为要使计数器C3或M10.2有效,必须要将该程序段放置到定时器线圈的上面的程序段位置,目的是让定时器线圈在被cpu刷新前有效,这个理论是“不一定全面”的概念。重新看过官方的例子程序,才领悟到在定时器程序段下面时,也有可能被计数、置位有效。为验证这个理论,再次将网友的程序段上进行仿真,图示:
计数器C3仍然存在有计数的可能,还是那个“概率”问题。
我不全面的回复可能会误导了那位网友,也盼望那位网友能够看到此贴后,能够重新正确认识西门子定时器的刷新机制。
当然,上述例子如同官方文档说明那样,验证只是在一个被假象了的对象下进行的(插入系统块SFC47)后,延时1000mS下的验证。如果仅仅以网友的那几段程序,被计数的可能性基本不存在,只是考虑到可能在实际应用程序中的程序结构性而已。
添加SFC47的目的就是为了延长定时器T1输出端的有效时间长度,也就是为了延长定时器被cpu刷新的几率。当修改SFC47(WT)时间,时间越小,这个计数器C3被计数的概率就越小,图示:将SFC(WT)修改到5mS
这个计数C3被计数的概率仍然存在,这个延时时间已经非常接近于一般的控制程序的扫描周期了,随着定时器循环次数的增加,计数器计数仍然会有概率性地计数,图示:
SIMATIC定时器异步刷新的工作机制,是指定时器定时时间到达后,触点的刷新并非由线圈来决定的,而是由cpu的扫描周期来确定的被灌之为“异步”特性。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1477207&b_id=4&s_id=23&num=18
职业生涯 竟然 还没用过计数器
跟着王工一块儿学习!
这个实验做的好!
意思就是说,S5timer的运行和扫描时间相关,但并不依赖OB1。。。
类似的功能指令太多了,说实在我也用的很少,可能是习惯问题。
我是回复了那个提问,才想起可能有问题可以深究一下,才重新看那个文档的。
之前,均是置换一下位置处理。
知道然,而不清楚这个所以然。
引用楼主详细内容:
希望能够加深理解。
是的,有机会下一个官方文档看看。
用一个Timer自身来作为条件,本身就是编程的大忌。
在T1后面接个M点,然后用M点来作为条件,这些问题就不存在了,何必让自己这么纠结。
知道然,而更应该知道所以然,这样才能有效规避编程中的风险。
官方说了 转到STL就知道啥原因了.就是个顺序问题及扫描与定时器状态不同步
AN T 1 L S5T#1S SD T 1 CU C 1
AN T 1 CU C 3
从程序来看C3前的T1在大多数情况下状态都为0除非T1 CPU扫描到CU C1与AN T1之间同时定时器到达设定时间那么下面的C3才会计时,就是因为T1是异步的与扫描周期没关系所以第二个T1才会出现状态与预想的不一样.
WWCWWC 您好!能给一个提问者用的那两张截图的那片文档链接吗。如果你知道的话发一下,找了大半天没找到,谢谢!
STEP7编程常见错误
https://support.industry.siemens.com/cs/document/90880166
我做这个验证或许理解了会感觉有一些绝对,但是,实际编程时,或许真的会出现类似的情况,造成程序的“不稳定”,但凡这样的不稳定可能比较难查找到问题的所在。
王工很强大啊
很舒服的职业生涯
大开眼界啊
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录