登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:S7 200Smart 在定时中断改变脉冲频率,丢失部分脉冲

点击:1866 回复:7

   利用S7 200Smart  PTO发送脉冲,在每个2ms定时中断内,改变本轮发送的脉冲数和对应脉冲频率,比如说当前2ms内发送5个脉冲,下一个2ms内发送6个脉冲。本来是设想2s内发送10000个脉冲,实际结果伺服端只收到5000多个脉冲,而且每次还不一样,有些是有4800多个脉冲,有些时候5200多个脉冲。
   程序如图,我知道可以用运动向导来做,但是为什么我上述方法丢失脉冲。之前在S7 200中用该方法都没有问题啊,请教下...
22-01-18 09:54
图传不上来呢
22-01-18 09:57
各位高手有遇到过这种情况没?困扰几天了
22-01-18 11:50
附件 20220118100006_49.jpg
22-01-18 11:51

。。。。。不是高手路过 。。。其实,昨天就看到你的帖子了。
         我一看,现如今还有人不走向导,而用PTO 表示不太理解 。
         我控制步进,伺服,不管三七二十一,向导走起!
         而你又表示,你知道运动向导。。所以都不知道怎么回复你。
         那你搞这样的研究,是想更复杂的应用吗?。。那我也搬张
         小板凳跟着你学习一下。
22-01-19 17:17
大家都是应用层,LZ说的问题,估计只有写底层的才知道。
还有,不知道LZ要达到啥要求?还有,PLC循环时间现在是多少?2MS,感觉对于PLC有点太难了。
你可以尝试,把中断时间加长试试,例如:200ms
22-01-19 22:13
之前在 老版S7  200 CPU224上用PTO做的,走三次多项式,定时中断(改成4ms了)内发不同脉冲数都是对的,与预期完全符合。主程序扫描时间才1--2ms,然后直接将程序移植到200smart上,就不对了。要求发10000个脉冲,实际只发了5000多个,而且每次还不同。后面看其他程序,受了点启发,就是每次进定时中断后先立即把PTO关了,再计算当前轮需要的脉冲数,再开PTO,实际发出的脉冲就在10000个左右,单仍然差20--30个脉冲,不是准确的10000个
附件 微信图片_20220120105543.jpg
附件 222222.jpg
22-01-20 10:58

。。。。。呃 。。。。
         就算是老200 , 我记得是我都是用MAP库做的。
         就算是PTO移植过来,你这个应用就不能用向导做了吗 ?
         感觉你这个应用高级了,我层次低,帮不上忙了。
         期待高手出现吧 。
         END
22-01-20 16:06

工控新闻

更多新闻资讯