回复:报警是怎么做的

唧唧歪歪

  • 帖子

    30
  • 精华

    0
  • 被关注

    2

论坛等级:游士

注册时间:2011-09-15

普通 普通 如何晋级?

发布于 2015-11-02 22:59:15

11楼

展开查看
以下是引用宁超在2015-09-21 14:56:24的发言 >2楼

 设置报警的一些相关参数:

  

    PV   : REAL := 0.0;    //Process Value

    PV_Unit {S7_m_c:='true'}  : INT:=1001 ;  // Unit 

    PVHR {S7_m_c:='true'}  : REAL := 100.0; // high range

    PVLR {S7_m_c:='true'}  : REAL := 0.0;   // low range

    HHA  {S7_m_c:='true'}  : REAL := 95.0;  // H limit Alarm

    HW   {S7_m_c:='true'}  : REAL := 90.0;  // H limit Warning

    LW   {S7_m_c:='true'}  : REAL := 10.0;  // L limit Warning

    LLA  {S7_m_c:='true'}  : REAL := 5.0;   // L Limit Alarm

    HHA_EN : BOOL := TRUE;  // H Alarm Message Enable

    HW_EN  : BOOL := TRUE;  // H Warning Message Enable

    LW_EN  : BOOL := TRUE;  // L Warning Message Enable

    LLA_EN : BOOL := TRUE;  // L Alarm Message Enable

    Hys      {S7_m_c:='true'}  : REAL:=0.0;    // Hysterese value

    Deadband {S7_m_c:='true'}  : REAL:=0.0 ;   // Width of Dead band

    ADCT  : REAL:=0.0;      // Alarm delay coming time

    WDCT  : REAL:=0.0;      // Warning delay coming time

    ADGT  : REAL:=0.0;      // Alarm delay going time

    WDGT  : REAL:=0.0;      // Warning delay going time




// Set hysteresis value 设置滞后,滞后是百分比

    QHys := Hys * (PVHR - PVLR) / 100.0;  //Hys滞后,PV_HR,PV_LR 过程值上下限

// Deadband 零区小信号切除

   IF ABS(PV_OUT) <= Deadband THEN 

       PV_OUT:=0.0 ;

   END_IF;  

如高高报警:

//high - high alarm 高高报警

   

                        //当过程值PV_Out大于高高报警值HHA时,开始启动报警延迟到达计时,如果ADCT(报警延迟达到时间)设置为0秒,立即输出报警,置位QHHA

                       

                        //当过程值PV_Out小于高高报警值HHA-滞后,开始启动报警延迟到达计时,如 果ADGT(报警延迟离开时间)设置为0秒,立即复位报警,复位QHHA ,减去滞后是为了防止ADCT和ADGT设置为0秒时,频繁触发报警

       IF HHA_EN THEN      //如果报警消息使能

             IF (PV_OUT >= HHA) AND NOT  QHHA AND PULSE AND NOT FP_Pulse THEN

                ADCT1:=ADCT1+SAMPLE_T; //开始计时

                IF ADCT1 > ADCT THEN   //计时大于设定值

                QHHA := TRUE;          //报警置位

                ADCT1:= 0.0;           //复位计时

                END_IF;

            ELSIF (PV_OUT < (HHA - QHys))AND QHHA AND PULSE AND NOT FP_Pulse  THEN

                ADGT1:=ADGT1+SAMPLE_T; //开始计时

                IF ADGT1 > ADGT THEN   //计时大于报警延迟离开的时间设定

                QHHA := FALSE;         //复位报警

                ADGT1:= 0.0;

                END_IF;   

            END_IF; 

     ELSE

         QHHA:=FALSE; // 抑制高高报警消息时,复位报警

     END_IF; 


这是用的什么语言写的程序,语句表么?

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。