压力检测与系统上电初始化问题

主要硬件组成:两组压力变送器(4~20mA输出)和电磁阀,CPU222,EM231。
 目的:压力变送器4~20mA信号经过线形化分别存储在VD200,VD210中。我想在系统上电的时候做一些初始化工作:如果两个压力均高于设定下限值(VD710),则打开较低压力那一路上对应的电磁阀;如果两个压力一个高于设定值,一个低于设定值,则打开高于设定值那一路上的电磁阀;如果两个压力均低于设定值,则关闭两组电磁阀。
 程序如下:
 LD     SM0.1
 LPS
 AR>    PT1:VD200, PT2:VD210        //当PT1>=PT2>=ALM_PL的时候
 LPS
 AR>=   PT2:VD210, ALM_PL:VD710
 =      EV1:Q0.1                    //EV1上电关闭

 NOT
 =      EV2:Q0.2                    //EV2打开。使用BUDDLE 2
 LPP
 AR>=   PT1:VD200, ALM_PL:VD710     // 当PT1>=ALM_PL>=PT2的时候      
 AR<=   PT2:VD210, ALM_PL:VD710

 
 =      EV2:Q0.2                    //EV2上电关闭
 NOT

 
 =      EV1:Q0.1                    //EV1处于打开状态。使用BUDDLE 1

 

 LRD
 AR<    PT1:VD200, PT2:VD210        //当PT2>=PT1>=ALM_PL的时候
 LPS
 AR>=   PT1:VD200, ALM_PL:VD710
 =      EV2:Q0.2                    //EV2上电关闭
 NOT

 =      EV1:Q0.1                    //EV1处于打开状态,使用BUDDLE 1
 LPP
 AR>=   PT2:VD210, ALM_PL:VD710     //如果PT2>ALM_PL>PT1
 AR<=   PT1:VD200, ALM_PL:VD710
 =      EV1:Q0.1                    //EV1上电关闭
 NOT
 =      EV2:Q0.2                    //EV2处于打开状态,使用BUDDLE 2

 LPP
 AR<    PT1:VD200, ALM_PL:VD710     //如果PT1,PT2均低于报警下限值,则输出报警到Q0.5,Q0.6
 AR<    PT2:VD210, ALM_PL:VD710
 =      EV11:Q0.3
 =      EV22:Q0.4
 NOT                                //同时关闭EV1和EV2。供气系统停止运行。
 =      EV1:Q0.1
 =      EV2:Q0.2

 问题,此段程序不能够完成我想达到的目的,请大家帮我分析一下到底什么问题,不胜感激~

 

问题补充:
Q0.5和Q0.6用作报警输出。上述没有表达清楚。

  此段程序主要目的用来选择一组钢瓶使用,上电时选择一组压力比较低但高于设定值的钢瓶使用。

  在使用过程中,后续程序会继续扫描压力,然后根据压力状况作出切换

 
 请教SG9:那我这段程序怎么写才合理呢?
 能不能给出例子程序,完成此功能

最佳答案

这就是你在一个网络里重复对Q0.1、Q0.2输出造成的。
  Network 1 // 网络标题
  // 网络注释
  LD     SM0.1
  LPS
  AR>    VD200, VD210                //当PT1>=PT2>=ALM_PL的时候
  LPS
  AR>=   VD210, VD710
  =      M0.1                        //EV1上电关闭

  NOT
  =      M0.2                        //EV2打开。使用BUDDLE 2
  LPP
  AR>=   VD200, VD710                // 当PT1>=ALM_PL>=PT2的时候      
  AR<=   VD210, VD710

  
  =      M0.4                        //EV2上电关闭
  NOT

  
  =      M0.3                        //EV1处于打开状态。使用BUDDLE 1

  
  LRD
  AR<    VD200, VD210                //当PT2>=PT1>=ALM_PL的时候
  LPS
  AR>=   VD200, VD710
  =      M0.6                        //EV2上电关闭
  NOT

  =      M0.5                        //EV1处于打开状态,使用BUDDLE 1
  LPP
  AR>=   VD210, VD710                //如果PT2>ALM_PL>PT1
  AR<=   VD200, VD710
  =      M1.1                        //EV1上电关闭
  NOT
  =      M1.2                        //EV2处于打开状态,使用BUDDLE 2

  LPP
  AR<    VD200, VD710                //如果PT1,PT2均低于报警下限值,则输出报警到Q0.5,Q0.6
  AR<    VD210, VD710
  =      Q0.3
  =      Q0.4
  NOT                                //同时关闭EV1和EV2。供气系统停止运行。
  =      M1.3
  =      M1.4

  
  Network 2 
  LD     M0.1
  O      M0.3
  O      M0.5
  O      M1.1
  O      M1.3
  S     Q0.1, 1
  Network 3 
  LD     M0.2
  O      M0.4
  O      M0.6
  O      M1.2
  O      M1.4
  S      Q0.2 ,1
 

提问者对于答案的评价:
虽然你修改后的程序不能够使用,不过还是给了我很多提示,按照这种思路,重新修改了程序。现在可以实现此功能了。

 SG9:同样非常感谢你的回答,你的回答可以说是字字真金。不过在我没有搞明白这个问题之前,我很难领悟到你所讲的。

 cloud21 &  雨文: 也非常谢谢你们的回答。我这个系统在实际使用过程中,可能会遇到断电之类的情况。而且断电后气体仍然会使用,不能够按最后一次正确状态来确定上电后的输出。所以必须有这么一段初始化程序。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:00
下一篇 2021年7月5日 上午10:00

相关推荐

  • 西门子S7-200编程软件版本问题

    我遇到了一个200plc程序无法上载的问题,寻编了大江南北,西门各部工程人员无一人可以解决,原问题链接http://www.ad.siemens.com.cn/service/an…

    SIMATIC S7-200 2020年11月1日
  • 求助S-200smart的MODBUS问题

    现状在做一个项目,要控制24台伺服电机,14台闭环步进电机,想用MODBU功能,我想问一下用两台PLC可不可行。两个PLC都要跟上位机进行通讯,这跟上位机通讯怎么进行 问题补充:M…

    SIMATIC S7-200 2021年7月5日
  • 如何用s7 200程序控制取代编码器的旋钮开关

    如上传图所示,有3根线接旋钮开关,1&2,3&2都有15V脉冲电压,旋钮开关是控制马达的速度的调节的,现在小弟身边有CPU226CN模块,是否可以通过CPU带的Q0.0,Q0.1的…

    2017年10月30日
  • pid模块无扰切换

    加热设备不同工况适合的pid不同,如何在程序中实现根据不同工况可以自动切换到对应的pid模块,切换的过程又不会产生剧烈扰动,举例而言,计算得出需要30%-100%功率输出时,采用p…

    SIMATIC S7-200 2021年7月5日
  • TD400电源

    TD400与S7-200连接是不是可以不另外接24V电源,直接电缆连接也能正常工作,有区别吗 最佳答案 如果 TD400C 与 S7-200CN&nb…

    SIMATIC S7-200 2021年7月5日
  • 在一个周期循环中,怎样能够实现某一动作在第一周期运作,后面不运作

    装置是一个自动循环的加热装置,加热一段时间,停止一段时间,然后再开始加热如此循环。但想实现一个动作只在第一周期运作,后面的周期不运作,该怎么实现? 问题补充:还有就是想对整个循环的…

    SIMATIC S7-200 2017年11月12日
  • S7-200的时钟数据格式

    S7-200的时钟数据格式是16进制的,如果通过TD200来设置时钟,数据怎么转换?TD200的数据都是整型的,怎么通过程序转换,例如:TD200中设定数值25,在S7-200程序…

    SIMATIC S7-200 2021年7月5日
  • s7-200-samrt编程软件

    怎么下载s7-200-smart的编程软件?我在官网上只找到它的升级包,单独的编程软件没看到。能给个链接不? 最佳答案 v2.2版本http://w2.siemens.com.cn…

    SIMATIC S7-200 2021年7月5日
  • K TP178读不到CPU224CN数据

    我的屏是K TP178micro,CPU是224cn,程序都已down下去了。 可是连线上电后,屏读不到CPU的数据,两边变量地址没问题,屏和PLC的地址也没冲…

    SIMATIC S7-200 2021年7月4日
  • 上电复位功能怎么实现?

    现在遇到一个问题,PLC每执行一次循环要计数一次,上限是9999,现在我用增计数器计数,如果当天计数没有到设定值,到下一天PLC上电时,这个计数器如何复位?如果在当天不正常掉点计数…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论