点击【
大
中 小 】,可以选 择字 体的大小,以便 你阅读.
s7-200的四个输出排序工作的程序怎么做啊
现在遇到一个这样的问题:四个阀门的开关由四个到位信号控制,要求是1、同一时刻只能一个阀门开;2、当有两个以上到位信号出现时按优先顺序打开阀门;3、每个阀门只要开通就有一定的工作时间,时间未到不开通其他阀门;4、当有两个以上到位信号在等待上一阀门工作完毕的情况下要求按“先到先开”原则对阀门排序工作。采用的是西门子的S7-200的PLC进行控制,有哪位大哥不吝赐教愿帮小弟一把,小弟万分感谢!!
以下是对《s7-200的四个输出排序工作的程序怎么做啊》的回复:
匿名回复:
我自己想了一些办法,有普通的逻辑关系进行控制,发现一次开车能很好工作但
是进入第二次循环工作就不行了;后来考虑用计数器,但当前计数值能实时的读
出并进行三项以上的比较吗?考虑用查表法的“先进先出”指令,但是表的容量
是有限的,如果能够控制刷新这个表的话就好了;考虑用堆栈的“先入先出”法
则吧,但是堆栈只有八个(九个)位,不能正确描述四个到位信号。
匿名回复:
这个程序用PLC完全可以实现,仔细想一想,用PLC内部的辅助中间继电器控制。
匿名回复:
我已经试过了,可能的话请您给我邮一个您的构想:SMLY0031@21CN.COM
谢谢!!
匿名回复:
你的问题条件不明确:
1、到位信号,是只有开到位还是只有关到位?还是二者都有?
2、阀是电动阀还是电磁阀?
以上2个问题涉及到具体的梯形图逻辑编制。如果能明确了,容易实现的。
匿名回复:
哈尔滨人你好,是这样,我们做出来的胶状物体通过管路输送,末端分别由四个气动阀控制胶体进入四台双缸装药机,当其中一个缸正对阀门出口时,触发近位开关表示到位。我怀疑只用简单的中间继电器、时间继电器是不行的,如果您有高见烦发个邮件给我smly0031@21cn.com,谢谢!
匿名回复:
刚开始我也以为很简单,但是开始做起来就发现不那么简单,像先进先出,延时工作等要求都是后来提出来的,这是难点所在,有高人拜托不吝赐教。事情较急,万望帮忙!!!
匿名回复:
这个问题应该不是很老火!
我想用定时器+计数器+标志(用一个MBXX作标志)+普通逻辑,应该是行的!
匿名回复:
有困难,不好办,再试试
匿名回复:
到位信号产生后,本信号控制的阀门工作完毕,到位信号要不要复位?还是一直存在?还是二种情况多存在?请把问题讲全面。
匿名回复:
仅提一下对先到先开的优先顺序排队的建议:
程序设计中实际上并不需要过多考虑这个优先,因为plc的性质本身决定了就是先到的有限,因为你的约束条件决定了后到者只能等先到者完成之后才能满足条件。
A I0.0
AN Q0.1
AN Q0.2
AN Q0.3
S Q0.0
A I0.1
AN Q0.0
AN Q0.2
AN Q0.3
S Q0.1
。。。。
因为互锁这里面本来就存在排序优先级。
当然,由于实际工艺情况,输入信号的形态和输出信号的特性不一致,需要用M量协助才能实现。
不是大问题!
匿名回复:
我想了想,这样应该行的。 用MB1 做标志,4个到位信号对应例如I1。0=M1。0 。。。。。。I1。3=M1。3这样用4位二进制,MB1最多有16种可能。用16条比较指令得出相应结果(例如将00000010MOVE给MB2再用MB2去接通输出QXX)。这样可解决你提出的条件1、2、4。再在比较指令前插一个定时器比如T38,每次比较过后 SET T38 当定时器输出为“0”时跳过比较指令这样解决了你的条件3。
也许我说的不太清楚。你可联系我 scmyzq@vip.sina.com
匿名回复: