PLC程序逻辑“不正确”原因分析

发布时间:2024-03-07
首先需要说明的是,这里所说的逻辑不正确,并不是说plc有问题了,而是我们在调试程序时遇到的一种从常理来说不符合逻辑的一种现象。
有时我们在调试plc程序时,会遇到程序逻辑不正确的情况,如下面的这些语句所示(三菱q系列plc):
按理说,能流已经通过了前面的节点,输出线圈(b1117或b1116)就应该得电为1,为什么会造成现在这种情况呢?有时遇到这种情况可能百思不得其解,丈二和尚摸不着头脑。其实造成这种情况无外乎有以下二方面的原因:
★ 输出线圈的重复利用
★ plc未扫描执行该部分程序
对于第一种情况,由于plc是循环扫描的工作原理(plc工作原理详见《plc基础概念(2) 》),对于同一程序段中的多个线圈,plc只更新最后一个线圈的数字值(0或1),而对前面的线圈则会不予理会,当我们监控程序时,就会发现前面的线圈逻辑不对的情况。
解决方法:可利用编程软件“软元件查找”或“交叉使用表”的方法来观察线圈在同一个程序是否重复利用,该线圈多次被使用,只要更换其它的线圈就可以了(相关文章:《plc双线圈输出的规则及在程序设计中的应用(作者:廖常初)》)。
对于第二种情况,由于plc未执行扫描此部分程序,此时也会出现逻辑不对的情况发生。造成plc不执行部分程序的原因有很多原因,常见原因有如2个方面:
● 在plc中使用跳转(jump)语句过多,改变了plc的扫描顺序而跳过了部分程序,导致部分程序未执行,造成该段程序内的相关语句逻辑不正确;

部分程序未注册。像一些plc(如三菱plc),你单纯下载了程序还不行,你还需要注册(需要下载plc参数,详见《三菱plc程序编写注意事项一例(原) 》),否则该部分程序不能运行,也会造成plc程序逻辑不正确的情况发生。
使用jump语句造成逻辑错误的例子如下所示(siemens plc):
从例可以看出,当i0.0闭合时,由于plc扫描跳过了网络2(改变了plc顺序扫描的方向),所以plc并不扫描网络2,此时,网络2中的i0.1和i0.2就是闭合了,q0.0也不闭合。
此处,仅是一个简单说明性的例子,如果程序很大,jump用的过多,则很容易造成plc逻辑“不正确”的现象发生,这种情况就不容易看出来了。因此建议在程序中要尽是少用jump语句,可以使用调用子程序的方法来实现同样的功能。
上一个:苹果电脑适合3d建模吗的简单介绍(苹果电脑适合3d建模吗的简单介绍图片)
下一个:win10字体调节大小(windows10字体大小)

RTT023833DTH现货库存,最新价格
固定式可燃气体报警器维护保养方法
苹果手机连接打印机怎么操作(苹果怎么用手机连接打印机)
电脑右键图形属性怎么去掉(右键菜单图形属性怎么删除)
iphone数据线连接电脑如何让电脑上网(苹果6s怎么用数据线给台式电脑开网)
要离婚另一方在外地能离吗
window10笔记本电池充电只能充到80%充不到100%(笔记本电脑充电只能到70)
企业如何申请免费域名,都有哪些方法?
希沃传屏怎么投屏 希沃传屏的使用方法
燃气、电、太阳能热水器性能比较