qiuxiaojie
大家好!小弟是大四在读,最近在设计程序,用S7-200,编程时需要用到PLS脉冲输出指令。现在需要实现的功能是:
1.按下I0.6按钮后,通过PLS指令向Q0.0发送脉冲。
2.当发送脉冲时,按下I0.2按钮后,停止发脉冲,且Q0.3和Q0.4置位。
程序编好后发现,一旦启用PLS指令发送脉冲后,就再也停不下来了,只能等待脉冲发完。且发脉冲期间,按下I0.2后,Q0.3与0.4都可以置位。真是奇怪!
现在我将我编写的程序附上给大家看看,第一幅是主程序,第二幅是中断程序。
大家帮我分析一下问题吧!不胜感激!
老愚者
按下I0.2时,给SMB67的最高位(SM67.7)写0, Q0.0就停止高速脉冲输出
回复内容:
对: 老愚者 按下I0.2时,给SMB67的最高位(SM67.7)写... 内容的回复!
按下I0.2后触发了中断程序(因为中断事件号为4,对应着I0.2的上升沿),在中断程序中,就已经将0000 0000(即16#0)赋给整个SMB67了,也就说明SM67.7也为0了。。可是还是不行啊!
welfare87
楼主可以用向导做,在最后一步生成一个专门停止的子程序,使用可方便
对: welfare87 楼主可以用向导做,在最后一步生成一个专门停止的子程序,... 内容的回复!
谢谢!我知道可以用PTO/PWM向导来做,但是我的脉冲频率非常低(5个脉冲/秒,为了连接小灯仿真时容易看清),导致设置向导时总是报错,所以我就放弃向导了。
ye_w
PLS的控制要生效,必须在修改控制字之后再次执行PLS才行
对: ye_w PLS的控制要生效,必须在修改控制字之后再次执行PLS才行 内容的回复!
谢谢!
今天早上到实验室后一进论坛就看到了你的答复,然后我按着你说的方法写好程序下载至PLC中,果然成功了,受教了。帮我解决了困扰了我一整天的问题,不胜感激啊!
用S7-200 做运动控制的话还是用MAP 运动控制指令库比较好 绝对运动 相对运动 回原点 全部搞定
忠义--王者之师
引用 的回复内容: 用S7-200 做运动控制的话还是用MAP 运动控制指...
叶小生
哥哥,我真想当面谢谢你,你的回答解决了我的燃眉之急呀
问世
陈某And
好像向导做出来的调用的指令就是这个机制,需要重新激活才能再次生效类似的