作者 | 主题 |
---|---|
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
楼主 2020-05-06 10:12:50
主题:关于200smart 定时中断的几个测试 关于200smart 定时中断的几个测试 200smartPLC仍然保留着原200的4个定时中断,即需要通过设置的定时中断_0(由SMB34设置,时间单位mS)、定时中断_1(由SMB35设置,时间单位mS)及定时中断T32和T96。这4个定时中断除了定时时间范围不同,前者定时范围1~255mS,后者定时范围1~32.767S,显然后者定时中断的时间远比前者大。 前几天,看到有一个网友对定时中断应用的若干提问,问题链接:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=234111&cid=1028 大致提问的含义是变更定时中断的周期,看中断链接子程序运行,及T32定时中断的调用。 我按那位网友的含义理解,大致编辑了几个验证程序。 验证1,采用定时中断_0与T32比较,大家均设置定时时间为1mS,图示: 让PLC启动运行一会儿,看2个定时中断的累加数值差异会越来越大。主要原因还是T32定时虽然已经脱离了异步刷新的工作机制,但是,plc扫描机制的影响还是存在的。在测试这个程序前,我有意加入了一个for/next指令,目的也是想扩大程序对扫描周期的影响,上面的测试程序,并没有应用到for/next程序的测试结果已经非常明显了。为验证我这个理论,我看了plc的扫描周期,图示: 当PLC扫描周期等于3mS时,T32丢失累加次数变得非常可能。 验证2,我将定时中断周期同时调整到10mS,再来看结果,图示: 运行测试结果,这2个定时中断累加数差异比定时中断1mS时的差异要小了一些。 如果再将定时中断的时间加长,这个差异将会更加缩小一些。 网友的另一个问题,即任意修改T32的定时中断时间,是否需要重新开定时中断。图示: 测试结果是不需要重新再开启定时中断T32的,任意时间片均可以修改T32的PT管脚数值,T32定时中断会刷新运行新值。 对于中断子程序的认识,加深一下区别。仍然按前面的思路,只是将中断子程序累加与OB1上累加做一下比较,图示: 小结: 定时中断_0与T32的时间差区别在于前者没有与周期直接关联,后者有。定义的中断连接,如累加计算必须在所连接的中断子程序上运算,在OB1后者其它非中断连接子程序上运算是会存在差异的,这个差异的主要原因还是扫描周期的刷新机制引起。选择的定时中断周期长,相对这个差异会变的小,但,不能够达到中断所需要的精度,希望这几个测试能够满足你对定时中断,尤其是中断子程序的认识程度。 |
holdkcsxyz 至圣 经验值: 13008 发帖数: 1814 精华帖: 22 |
1楼 2020-05-06 12:34:33
主题:回复:关于200smart 定时中断的几个测试 |
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
2楼 2020-05-06 13:53:01
主题:回复:关于200smart 定时中断的几个测试 是的,不分享不会理解的有深度。 平时有时间还需要多做做类似的验证,加深理解过程。 看似非常相似的2个中断,里面的知识点还是有一些的。 |
RENHQ 至圣 经验值: 68887 发帖数: 12218 精华帖: 59 |
3楼 2020-05-06 14:25:27
主题:回复:关于200smart 定时中断的几个测试 感谢分享,涨见识了呢 最后一个测试,断开T32别用自己,加个中间位转一下呢,结果有不同不
Q群:https://jq.qq.com/?k=9BDuEgf6
|
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
4楼 2020-05-06 15:35:15
主题:回复:关于200smart 定时中断的几个测试 |
RENHQ 至圣 经验值: 68887 发帖数: 12218 精华帖: 59 |
5楼 2020-05-06 16:05:33
主题:回复:关于200smart 定时中断的几个测试 呃,别用置位复位的方式 在下面直接T32输出线圈 你这样,T32定时时间到,下个周期M0.1置位,然后T32断开,再下个周期M0.1复位,T32才继续计时,这样多了一个周期
Q群:https://jq.qq.com/?k=9BDuEgf6
|
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
6楼 2020-05-06 16:09:06
主题:回复:关于200smart 定时中断的几个测试 你给一个程序,我这边测试,刚刚plc还放在我桌子上。 |
RENHQ 至圣 经验值: 68887 发帖数: 12218 精华帖: 59 |
7楼 2020-05-06 16:16:20
主题:回复:关于200smart 定时中断的几个测试 6 7 8 这样改: 下面是程序: Network 1 LDN M0.1 TON T32, 100 Network 2 LD T32 = M0.1 Network 3 // 程序段注释 LD M0.1 +D 1, VD20 我想想,脑子逻辑分析有点差,感觉是这样的呢 我用300PLC仿真一下试试
Q群:https://jq.qq.com/?k=9BDuEgf6
|
WWCWWC 至圣 经验值: 71712 发帖数: 8024 精华帖: 145 |
9楼 2020-05-06 17:13:23
主题:回复:关于200smart 定时中断的几个测试 |
芳季 至圣 经验值: 66574 发帖数: 14746 精华帖: 100 |
10楼 2020-05-06 17:41:01
主题:回复:关于200smart 定时中断的几个测试 一个是到时到点就会中断,并且无缝开始计算下一次中断的时间。 一个是到达设定值就会中断,扫描到才开始计算下一次中断时间。 是不是? |