对网友求助问题的几个回帖展示之三十五 点击:919 | 回复:10



wyb2866255---王者之师

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-06-07 10:52:50
楼主

          对网友求助问题的几个回帖展示之三十五

       本文2例都是在网上回答网友的求助帖,其内容为关于PLC编程的,现整理汇编展示给大家,供大家参考。

       一、求助帖:在书上看的的一个程序,I1.0-I1.3的初始状态是1100,I0.0接通后QW0用  16进制分别是0.3.30.300.3000.0..........对不?

       回复:你说的“I1.0-I1.3的初始状态是1100,I0.0接通后QW0用  16进制分别是0.3.30.300.3000.0..........对不?”,我认为不对,如按你的程序运行,其结果为:

       1、由于网络1使用SM0.0指令,就决定了QB1的低4位值恒=IB1的低4位值,如运行中IB1的低4位值改变,则QB1的低4位值立即随之改变。

       2、网络2使用的QW1而不是QW0,QW1,的低字节为QB2,高字节为QB1。如

I1.0~I1.3 输入为:1_1_0_0,即QB1=0000_0011=16#3,而此时的QW1=0000_0011_0000_0000=16#300,如将QW1左移4位,其QW1=0011_0011_0000_0000=16#3300,而不是16#3000,而此时的QW0=16#33。其原因就是:只要IB1低4位的值=‘3‘不变,使QB1的低4位值总=“3”。

       QW1的左移4位的结果,使其QB1的低4位数“3”移到高4位,而低4值由于IB1的低4位值=“3”未变而使其保持“3”不变。这样QB1=16#33,不管QW1左移4位几次(即多次执行网络2),QW1的值不变,即恒=0011_0011_0000_0000=16#3300,而QW0恒=16#33。

        要想实现“I1.0-I1.3的初始状态是1100,I0.0接通后QW0用  16进制分别是3.30.300.3000.0..........”这样结果,程序可以这样改:

 

程序解析:

      1、开机的第一个扫描周期使QW0清0,且使M0.0=0.。此时QW0=0。或按复位按钮I0.1,也使QW0清0,且使M0.0=0.。见网络1。此时QW0=0.

     2、第一次按一下按钮,其前沿先使QW0左移4位,其QW0仍=0,接着因M0.0=0,其常闭触点闭合,故执行IB1与16#0F与指令,如此时IB0=16#3,相与结果送入QB1,再使M0.0=1。此时QW0=16#3。

     3、第二次按一下按钮,其前沿先使QW0左移4位,其QW0=16#30。由于此时M0.0=1,其常闭触点断开,不执行IB1与16#0F的与指令,故此时QW0仍=16#30。

    4、第三次按一下按钮,其前沿先使QW0左移4位,其QW0=16#300。由于此时M0.0=1,其常闭触点断开,不执行IB1与16#0F的与指令,故此时QW0仍=16#300。

    5、第四次按一下按钮,其前沿先使QW0左移4位,其QW0=16#3000。由于此时M0.0=1,其常闭触点断开,不执行IB1与16#0F的与指令,故此时QW0仍=16#3000。

    6、第五次按一下按钮,其前沿先使QW0左移4位,其QW0=16#0。由于此时M0.0=1,其常闭触点断开,不执行与指令,故此时QW0仍=16#0。

    7、以后再按下按钮,其前沿先使QW0左移4位,由于此时QW0 =0,故左移结果,其QW0仍=0。

      如果将你的程序这样改动一下,除了初始状态QW0不=0而=16#3外,如依次按几次 I0.0按钮,QW0的值将为:16#30、16#300、16#3000、0、0、0……见梯形图:

 

改动说明:  

      1、网络1将SM0.0改为SM0.1语句,将Q1.0~Q1.3的输出线圈指令改为置位指令,这样程序在开机的第一个扫描周期将I1.0~I1.3值置入Q1.0~Q1.3里。即开机后QW0立即=16#3,而不是0。

      2、网络2将左移指令的参数QW1改为QW0,当依次按几下I0.0按钮,其QW0的值将由原=16#3,第一次左移结果其值=16#30、第二次左移结果其值=16#300、1第三次左移结果其值=6#3000、第四次左移结果其值=0、第五次左移结果其值=0、第六次左移结果其值=0……

       二、求助帖:跪求完整详细的程序梯形图

 

      回复:按你的要求,用S7-200编写了如下程序,供你参考:

 

 

程序说明:

      1、将程序中的L1、L2、L3按钮该为液面控制开关,液面控制开关得特点是:当液面高于对应开关的触头位置时,该开关由断开变闭合,当液面低于对应开关触头位置时,该开关由闭合变断开。这样处理,使系统的循环工作变为自动控制,而不需人工按钮干预。

      2、L3 液面开关的控制处理:当液面高于L3位置时。其开关处于闭合,即使I0.3=1。I0.3=1对Q0.3(释放液体开关或阀门)不起控制作用。只有当液面由高变低于L3液面时,开关断开,其I0.3由1↓0,其下降沿触发断电延时定时器T102,使T102由0↑1,由于前沿为单周期信号,故延时2秒后,T102由1↓0,T102=1的后沿,触发Q0.3与Q0.0:使Q0.3=0,即关掉释放液体开关Y3,使Y1=1,即启动电磁阀Y1。这样使用断电延时定时器,是本程序编程技巧之处。见网络6与网络1。

    3、程序运行控制:按一下启动按钮,其I0.0=1的前沿触发,使Q0.3=0(即关闭释放液体的阀门)、使Q0.0=1,即启动电磁阀Y1,开始注入液体A,使液面逐渐上升,当液体升到L2 高度,I0.2液位开关闭合,I0.2=1的前沿触发,使Q0.0=0,即电磁阀Y1停止,注入液体A停,同时使Q0.1=1,即电磁阀Y2启动,开始注入液体B。见网络2

       当页面上升到L1处时,I0.1液位开关闭合,I0.1=1的前沿触发,使Q0.1=0,即电磁阀Y2(Q0.1)停止,注入液体B停,同时,使Q0.4=1,即搅拌机M(Q0.4) 启动。开始搅拌。见网络3。

       Q0.4=1使通电延时定时器T101 得电且开始延时,延时4秒,T101由0变1,T101=1的前沿触发,使Q0.4=0,即使搅拌机M(Q0.4) 停止运行,同时使Q0.3=1,即使释放液体阀门Y3 开,开始放出液体。见网络4~5。

       液面开始下降,当液面下降低于L3位置时,使液位开关I0.3由闭合变断开(即I0.1由1↓0),其下降沿触发断电延时定时器T102,使T102=1,由于下降沿为单周期出现的脉冲,故延时2秒,T102 由1↓0,T102的下跳沿触发Q0.3与Q0.0:使Q0.3=0,即关掉释放液体开关Y3,使Y1=1,即启动电磁阀Y1,开始第二次循环启动运行。见网络8与网络1。

        本文到此结束,如有不妥之处,请给于指正,谢谢!




HOTEAM

  • 精华:3帖
  • 求助:0帖
  • 帖子:342帖 | 23748回
  • 年度积分:0
  • 历史总积分:70347
  • 注册:2007年4月05日
发表于:2013-06-10 13:59:18
1楼

实在抱歉,是一位新版主将此贴给误删了

HOTEAM

  • 精华:3帖
  • 求助:0帖
  • 帖子:342帖 | 23748回
  • 年度积分:0
  • 历史总积分:70347
  • 注册:2007年4月05日
发表于:2013-06-10 14:01:07
2楼

建议给此贴给谁置精华以支持,非常感谢王工在PLC区的赐贴

明亮天空

  • [版主]
  • 精华:1帖
  • 求助:12帖
  • 帖子:142帖 | 5338回
  • 年度积分:0
  • 历史总积分:19650
  • 注册:2008年5月15日
发表于:2013-06-10 14:18:33
3楼

这样的贴如果故意删那实在是脑袋被你夹过了,斜着眼睛看你.多半是误删的吧.

sdzhibohui

  • 精华:5帖
  • 求助:46帖
  • 帖子:1766帖 | 7713回
  • 年度积分:0
  • 历史总积分:44752
  • 注册:2011年12月19日
发表于:2013-06-10 17:08:26
4楼

楼主 辛苦了                              

fyc871356965

  • 精华:1帖
  • 求助:3帖
  • 帖子:14帖 | 1802回
  • 年度积分:0
  • 历史总积分:2312
  • 注册:2012年1月09日
发表于:2013-06-10 20:56:18
5楼

引用 sdzhibohui 的回复内容: 楼主 辛苦了                     ... 


 

LCL———王者之师

  • 精华:0帖
  • 求助:9帖
  • 帖子:62帖 | 478回
  • 年度积分:197
  • 历史总积分:34719
  • 注册:2011年9月24日
发表于:2013-06-11 00:37:12
6楼

楼主 你太牛掰了。。真有闲功夫。。

贵人鸟180

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2013年6月15日
发表于:2013-06-15 16:25:09
7楼


呵呵,看了王工对第二个问题的仔细解答后,小弟也有一个冲动,见笑了。

因M0.0的存在,此程序可实现“按停止按钮运行停止后,按启动按钮程序可继续从停止前的位置顺序往下执行”,因此保证了工艺的连续性。

如有不对的地方,请指正。

江湖走走--原创军团

  • [版主]
  • 精华:30帖
  • 求助:7帖
  • 帖子:836帖 | 7833回
  • 年度积分:193
  • 历史总积分:46108
  • 注册:2001年2月15日
发表于:2013-06-16 22:21:47
8楼

王工的细心和耐心是值得大家学习的。

工控新起点

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 57回
  • 年度积分:0
  • 历史总积分:185
  • 注册:2010年9月14日
发表于:2013-06-26 15:14:28
9楼

刚新建的工控群,工控产品买卖,技术承接 欢迎加入103178906!!!!

 

jilingr888

  • 精华:0帖
  • 求助:2帖
  • 帖子:5帖 | 161回
  • 年度积分:62
  • 历史总积分:1383
  • 注册:2012年7月19日
发表于:2013-07-01 14:56:28
10楼

做工控的也难得有这样分享给大家的也!


热门招聘
相关主题

官方公众号

智造工程师