想起来蛮简单的,但写了3天没搞定不知道是哪出了问题了,过程是阀门开启动定时器过5秒后检查开反馈信号是否开到位,到位输出1表示开到位,不到位输出2表示故障,阀门关也一样时间到后检查关反馈信号,到位输出0表示阀门关到位,不到位输出2表示故障。附件里是程序的截图,请各位帮忙看看,是哪里出了问题,帮忙改改,或者说给一个类似的程序让我参考一下,谢谢!
问题补充:
请问您,这个程序我该怎么写呢?是去除定时部分,保留其他部分吗?然后再在OB35中调用这个子程序吗?新手,不知道这个程序该怎么写,能写一个例程给我看看吗?或者指导一下我现在这个程序怎么修改就可以在OB35中调用了!谢谢!
图片说明:
最佳答案
1、你的程序中应用了若干个定时器,这样容易引起混乱。一个简单的方法是,可以应用循环中断组织块(OB35)来编程,可以不用定时器了。在OB35中编程就可以了,将OB35设置为5000ms(5s)就可以。这样每5000ms(5s)中断一次来处理阀门的控制程序。
2、有关OB35的应用:
双击CPU 315-2DP,选择Cyclic Interrupts 选项,修改OB35 的执行周期(Execution(ms),范围是1-60000ms)。
3、有关OB35的资料:
详见《组织块使用说明》下载:
http://218.93.112.166/ec/C23/dl/xxzl/%E7%BB%84%E7%BB%87%E5%9D%97%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf
提问者对于答案的评价:
谢谢 :阿鸣、一个岛屿、宁超;
用阿鸣的方法把原来的定时器程序去掉就好了,设定OB块的扫描时间,(根据需要)在OB块内调用,不过不能人为的在运行中修改延时时间。
一个岛屿的方法还没有成功。
用宁超的方法,不过我是用了CUP的时钟存储器功能来做脉冲,这样可以人为的调整延时时间,嘿嘿!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc234927.html