写两行程序是什么意思

写两行程序是什么意思,第1张

实话实说,从语文讲,对“写两行程序”的理解绝对不能够认为别人真的只是让你帮他写两行源程序,“两行”在这里只是一个虚数,而真正需要你实际进行编程的源代码行数绝对是要超过两行的。就好比我们平时说话中的:“再等两分钟”、或者是“再说几句话”,等等,都是同一个意思。

故你千万不可以为真的只是让你帮助他写两行程序,而是必须要做好帮助他写比较多的源程序的准备。

第一行程序,当第一次按下启动按钮(灯 Q0.0 为 0 说明第一次)M0.0 时,M0.0 的上升沿为 1,Q0.0 的常闭也为 1,逻辑结果为 1,置位亮灯辅助 M100.0 的指令被执行,M100.0

被置位 1;

第二行程序,当第一次按下启动按钮(灯 Q0.0 为 0 说明第一次)M0.0 时,M0.0 的上升沿为 1,Q0.0 的常开为 0,逻辑结果为 0,复位亮灯辅助 M100.0 的程序不会被执行,M100.0

的值不会因为本段程序被改变;

第三段程序,由于 M100.0 被置位 1,所以 Q0.0 输出结果为 1;

之后的程序扫描周期,只要 M0.0 没有被再次接通,结果都保持不变;

当我们再次按下 M0.0 时,这个时候 Q0.0 是为 1 的;

第一行,M0.0 上升沿为 1,Q0.0 常闭为 0,逻辑结果为0,M100.0 置位不被执行;

第二行,M0.0 上升沿为 1,Q0.0 常开为 1,逻辑结果为1,M100.0 复位被执行,M100.0 变为 0;

第三段程序,由于 M100.0 被复位为 0,所以 Q0.0 输出结果为 0;

之后的程序扫描周期,只要 M0.0 没有被再次接通,结果都保持不变;

方法二:

以上这种方法,当我们第一次按下 M1.0 按钮时,第一行按钮辅助 M110.0 在第一个程序周期输出结果为 1,

第二行的逻辑结果:M110.0 为 1,Q0.1 的常闭触点也为 1,所以他两进行与运算,逻辑结果也为 1;

第三行,M110.0 常闭触点动作,结果为 0,Q0.1 的常开触点当前也为 0,与运算结果为 0;

Q0.0 结果为第二行和第三行的或运算,由于第二行为 1,所以结果为 1;

第二个程序扫描周期,由于 M1.0 按钮没有被再次按下,不管当前状态是否松开,都不会执行,所以 M110.0 结果为 0;

第二行,M110.0 为 0,Q0.1 的常闭触点受上一次程序执行的影响,也为 0,与运算逻辑结果为 0;

第三行 M110.0 的常闭为 1,Q0.1 已经动作,所以也为 1,与运算逻辑结果为 1;

Q0.1 的结果是第二行和第三行的或运算,所以结果仍然为 1,就这样,程序实现了第一次按下按钮,Q0.1 输出结果始终保持为 1;

当我们再次按下按钮 M1.0 时,M100.0 再次为 1 一个扫描周期;

第二行 M100.0 为 1,Q0.1 由于已经为 1,所以常闭触点为 0,逻辑结果为 0;

第三行 M100.0 的常闭变为 0,Q0.1 的常开为 1,逻辑结果也为0;

Q0.1 的值是第二行 0 和第三行 0 的或运算结果,也为 0,所以Q0.1 的值变为 0,恢复到初始状态;

Q0.1 的状态始终保持为 0,等待下一次按钮被按下,重复上面的程序逻辑。

方法三:

第三种方法和第一中方法类似,利用 RS 置位优先指令(或者 SR 复位优先指令也可以),指令左边的两条指令执行完成后,统一输出;

第一次按下 M2.0 按钮时,R 复位条件不满足;S1 置位条件满足,逻辑结果为置位,所以 Q0.2 被置位;

第二次按下时,由于之前 Q0.2 已经被置位,所以复位 R条件满足,置位 S1 条件不满足,所以 Q0.2 被复位;

这种用法,逻辑统一处理完成后,统一输出,程序结构较为简单,逻辑清晰;

方法四:

在 PLC 变量表中建立灯的一个变量;

在 HMI 中添加一个按钮,在属性-事件-单击中添加函数

当按钮单击时,取放灯 Q0.0 的值,如果之前为 0,则改变输出为 1;如果之前为 1,则改变输出为 0;

总结:当个按钮控制启停,这样的程序在实际应用中有会用到,但是更多的目的,是希望能够参考几种方法,加深对 PLC 程序执行逻辑的理解。

第二行是拼凑产生一个字符串:第一个字符'M',第二个字符是把n的值转成对应的字符,后面紧跟字符串'=magic(n)'。比如当n为2时就拼凑成'M2=magic(n)'赋值给变量magic_str。

第三行则是用eval把拼凑成的字符串当作一个matlab命令执行。比如上面那个字符串,用eval执行后会给变量M2赋值为magic(2)的返回值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11055759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存