首页 上一页 1 2 下一页 尾页

请问大哥们s7-200的四个输出排序工作的程序怎么做啊 点击:2858 | 回复:24



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-13 10:27:00
楼主
小弟现在遇到一个这样的问题:四个阀门的开关由四个到位信号控制,要求是1、同一时刻只能一个阀门开;2、当有两个以上到位信号出现时按优先顺序打开阀门;3、每个阀门只要开通就有一定的工作时间,时间未到不开通其他阀门;4、当有两个以上到位信号在等待上一阀门工作完毕的情况下要求按“先到先开”原则对阀门排序工作。采用的是西门子的S7-200的PLC进行控制,有哪位大哥不吝赐教愿帮小弟一把,小弟万分感谢!!!



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-10 12:46:00
1楼
我自己想了一些办法,有普通的逻辑关系进行控制,发现一次开车能很好工作但 是进入第二次循环工作就不行了;后来考虑用计数器,但当前计数值能实时的读 出并进行三项以上的比较吗?考虑用查表法的“先进先出”指令,但是表的容量 是有限的,如果能够控制刷新这个表的话就好了;考虑用堆栈的“先入先出”法 则吧,但是堆栈只有八个(九个)位,不能正确描述四个到位信号。

sdsj

  • 精华:0帖
  • 求助:1帖
  • 帖子:32帖 | 130回
  • 年度积分:0
  • 历史总积分:557
  • 注册:2003年2月10日
发表于:2003-03-10 13:50:00
2楼
这个程序用PLC完全可以实现,仔细想一想,用PLC内部的辅助中间继电器控制。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-10 13:58:00
3楼
我已经试过了,可能的话请您给我邮一个您的构想:SMLY0031@21CN.COM 谢谢!!

asasas

  • 精华:0帖
  • 求助:0帖
  • 帖子:51帖 | 208回
  • 年度积分:0
  • 历史总积分:531
  • 注册:2001年8月02日
发表于:2003-03-10 14:11:00
4楼
你的问题条件不明确: 1、到位信号,是只有开到位还是只有关到位?还是二者都有? 2、阀是电动阀还是电磁阀? 以上2个问题涉及到具体的梯形图逻辑编制。如果能明确了,容易实现的。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-10 14:50:00
5楼
哈尔滨人你好,是这样,我们做出来的胶状物体通过管路输送,末端分别由四个气动阀控制胶体进入四台双缸装药机,当其中一个缸正对阀门出口时,触发近位开关表示到位。我怀疑只用简单的中间继电器、时间继电器是不行的,如果您有高见烦发个邮件给我smly0031@21cn.com,谢谢!

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-10 15:52:00
6楼
刚开始我也以为很简单,但是开始做起来就发现不那么简单,像先进先出,延时工作等要求都是后来提出来的,这是难点所在,有高人拜托不吝赐教。事情较急,万望帮忙!!!

scmyzq

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 81回
  • 年度积分:0
  • 历史总积分:135
  • 注册:2002年10月10日
发表于:2003-03-10 21:47:00
7楼
这个问题应该不是很老火! 我想用定时器+计数器+标志(用一个MBXX作标志)+普通逻辑,应该是行的!

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-11 11:53:00
8楼
有困难,不好办,再试试

chenzhihao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2002年12月05日
发表于:2003-03-11 14:11:00
9楼
到位信号产生后,本信号控制的阀门工作完毕,到位信号要不要复位?还是一直存在?还是二种情况多存在?请把问题讲全面。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-11 19:47:00
10楼
仅提一下对先到先开的优先顺序排队的建议: 程序设计中实际上并不需要过多考虑这个优先,因为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量协助才能实现。 不是大问题!

scmyzq

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 81回
  • 年度积分:0
  • 历史总积分:135
  • 注册:2002年10月10日
发表于:2003-03-11 20:00:00
11楼
我想了想,这样应该行的。 用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

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-12 05:29:00
12楼
我没用过西门子的PLC,但我考虑可以这样做程序(仅是一个思想) 1、每个输入点作为一个计数器的门,当有输入时该计数器打开对一固定脉冲记数。 2、输出作一个子程序,输出时比较各计数器的值,大的输出,并复位本计数器,为下次事件准备好。 3、如果用OMRON的PLC我能帮你做出程序来。

songhao

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 6回
  • 年度积分:0
  • 历史总积分:90
  • 注册:2003年3月04日
发表于:2003-03-12 13:08:00
13楼
我碰到过这个问题,而且控制要求跟你的完全一样,我们采用的是施奈德的PLC,当时用的是一个先进先出的FIFO指令,由于此指令有空输出和满输出,当寄存器空时,用空输出将FIFO置位可接受信号,寄存器满时,用满输出将FIFO断开不可接受信号。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-12 13:23:00
14楼
chenzhihao: 您好,是两种情况都有。 lijieshu :您好,我试过的,计数器的计数值是不能读取并拿来比较的,我现在是用ADD-R自加一的方式来计数的,然后再采用一长串比较指令判断先到者的。 松嵩:您好,您采用的是先填表后查表的方法是吗?我想请问一下,当表填满产生溢出后能再使用这个表地址覆盖当前表数据吗?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-12 13:35:00
15楼
现在还有一些细节需要考虑,VD数最大是多少,当产生溢出时怎么办,延时继电器动作时清零计数单元的同时还需执行4-6个的比较指令,但此时延时继电器也已经复位了,尚未调试,不知会产生竞争现象么?

songhao

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 6回
  • 年度积分:0
  • 历史总积分:90
  • 注册:2003年3月04日
发表于:2003-03-12 14:39:00
16楼
ly0031: 把你的邮箱号码发给我,我把这段程序给你发过去,一起探讨。 cfrlxh007@163.com

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-12 20:07:00
17楼
smly0031@21cn啊,松嵩兄,拜托帮忙哦

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-12 21:32:00
18楼
oylh: 你好,我不会编西门子的PLC,OMRON的PLC比较指令可以用TC寄存器,我指CQM1和C200HS系列的PLC,最近抽时间编一下和大家探讨一下。 lijieshu

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-03-13 10:27:00
19楼
松嵩兄,FIFO指令西门子的也有,当初想到填表会溢出,实际上是不会的,FIFO指令执行一次就为填表腾出了一个空间,看来不难实现,程序已经做好,还没有调试

大话东游

  • 精华:2帖
  • 求助:6帖
  • 帖子:39帖 | 1815回
  • 年度积分:7
  • 历史总积分:8251
  • 注册:2008年12月19日
发表于:2013-02-03 14:09:33
20楼
用用填表指令来实现很简单的!

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页