纠结了若干天,烦请各位前辈在百忙中给后辈解疑答惑!先谢谢了!~
强烈希望前辈能对编程思路提出宝贵意见!!
现有一套PLC200系统,含N个电磁阀,轮流动作,一个动作周期结束后,重新轮询,其中,动作的电磁阀个数n(n<=N)为可变,每个电磁阀动作时间相同,均为T(T可变)。假定N=10,n=5,T=10s,则前5个电磁阀轮询动作10s,后5个不参与动作。N、T的值由组态软件给出,可修改。
因对PLC的一知半解,只会最简单的控制思路,故打算如下编程:顺序控制,上电,电磁阀1开始动作,动作时间为T,T到达后复位1触发电磁阀2,电磁阀2动作时间到达T后,复位2触发电磁阀3,依次循环。利用T是否为0来确定此电磁阀是否动作。
程序烧写完成后,一开始轮询没有问题,轮询若干个周期后,出现同一个时间,有两个电磁阀同时动作的情况,没有找到原因,想到用SCR来试试。
图中程序为SCR修改后的,就是在每个SCR动作时,其他的SCR及输出均做一次复位。
终于,直接观察PLC动作,电磁阀输出没有问题了,顺序也对,也没有两个电磁阀同时动作的情况了。
但是,用组态软件对输出点进行监控,发现,在最后一个电磁阀跳变到第一个电磁阀时,出现一次同时动作的情况,请教各位原因可能是什么?
图片说明:
最佳答案
你的程序不全,没有办法给你分析
第二,你在组态软件上监控有2个电磁阀同时动作的现象,那根本就不准的,因为组态软件和PLC通信是有通信延迟的,如果你要确定是否有最后一个和第一个输出有同时接通现象,建议你用这2个输出的常开串联,然后置位一个位,这样你看这个位就知道,他们是否有同时接通的时候
给你提个别的思路
开始信号为保持型的,然后启动定时器,定时到后自动复位,重新计时
用左移位指令,开始时送1给QB0,然后定时器每动作一次,执行一次移位指令,并计数
当计数值到达设定值时,重新送1个QB0,系统关闭时,送0给QB0就可以了
提问者对于答案的评价:
谢谢大家~我自己再看看~
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221353.html