跟我一起玩200 smart PLC
沿的比较使用
前些天有网友提问,西门子200是否具有类似与第三方PLC编程中的“PLS”上升沿指令类似的指令应用?本人看了这个贴子,思考后回复:“如果用西门子200PLC编程可以使用200的沿指令,只是沿的个数是根据PLC型号的不同是有所区别和限制的”。
问题链接:【S7-200一个周期脉冲变量】
http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=153826&cid=1076
第三方编程指令,“PLS”指令是指上升沿指令的应用,当触发这个指令时,有一个周期的接通过程,我用第三方软件模拟了一个上升沿指令被触发的过程,图示:
当X0接通的本周期,触发“PLS”指令并以M0做沿触发的表记,结果仍然存放在M0标志位中,再由这个标志位置位Y0,Y0仅仅是验证上升沿是否有作用,从时序图中可以看出,M0有效地置位了Y0,沿触发有效。
假设,我变更一下指令在程序中的位置关系,看沿是否仍然有效,图示:
上升沿M0标志位仍然有效,只是需要经过一个周期才能置位Y0。
回过头来看西门子200,因没有200的实体PLC作验证工具,故用200 smart PLC替代来验证结果。编辑一个简单的控制程序,看输出V0.1是否有一次周期的触发,图示:
打开“状态图表”中的“趋势视图”,监控程序变量状态。
V0.1有被上升沿触发的次数在VB10被记录,上述程序验证了上升沿触发INC_B指令的过程。
仍然改变程序的结构,再看上升沿触发的效果,图示:
验证结果,仍然再次被触发,并在VB10中记录了被触发的次数。
V0.1没有看到上升沿触发的原因是无法将趋势视图的监控时间调整为1mS级或更小时间,时基单位只能从1/4秒 ~ 5分钟选择。
小结:
2款小型PLC均具备有沿触发的作用,沿的概念是一致的,无论是上升沿还是下降沿。想要使沿触发有效,必须产生一个高、低脉冲的跳变,并保持有一定的脉冲宽度时间。
不知道什么版本的软件开始(修改指令的版本不详),第三方PLC的上升沿、下降沿早已经被直接使用沿触点指令所替代,如上升沿指令“PLS”被“︱↑∣”;下降沿指令“PLF”被“∣↓∣”替代了。
西门子S7-200及S7-200 smart PLC还具备外部输入作线圈的作用,而第三方PLC不支持该功能。图示:线圈地址用输入“I”地址替代。
当接通M0.0后,通过上升沿激活I0.0地址作为线圈,INC_B指令仍然执行加1指令。
反过来,改变程序结构,看INC_B指令是否仍然被执行,图示:
测试结果,当程序结构改变后,网络段1的INC_B指令不被执行了,VB0没有数据。用户在实际应用该类型的程序时,需要注意程序在网络段中位置的逻辑关系。