⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m2palmq.c

📁 SDH光端机支路单元盘开发程序
💻 C
字号:
/****************************************/
/* Copyright (c) 2004, 通信工程学院戴佳 */
/* All rights reserved.                 */
/* 作    者:戴佳                       */
/****************************************/

#include <other.h>
void AlmInd(struct instruction AlmValue);
void PolFill(struct instruction PolValue);
void M2PAlmQ()
{
    uchar TMP;
    struct instruction AlmVal;
    struct instruction PolVal;
    WDI=1;
    WDI=0;
    if (f[7]==1)
    {
      if ((M2_019&0x80)==0x80)  //TPORT8 Mask
      {
        TMP=(T2_0D2)&0x01;
        if ((FgTLOS[7]!=1)&&(TMP==0x01)) //T8LOS
        {
          FgTLOS[7]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=7;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M2_0E0=M2_0E0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[7]!=1)&&((M2_0D5&0x02)==0x02))  //T8LOC
        {
          FgTLOC[7]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=23;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M2_017&0x80)==0x80) //RPT8A Mask
      {
        if ((FgAAIS[7]!=1)&&((M2_0C1&0x80)==0x80))  //A8AIS
        {
          FgAAIS[7]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=23;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[7]!=1)&&((M2_0D5&0x01)==0x01))  //T8DAIS
        {
          FgTDAIS[7]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=55;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
     
        if ((FgANDF[7]!=1)&&((M2_0C1&0x10)==0x10)) //A8NDF    NEW POINTER INDICATION
        {
          FgANDF[7]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=7;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[7]!=1)&&((M2_0C1&0x08)==0x08)) //A8RDI
        {
          FgARDI[7]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=7;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[7]!=1)&&((M2_0C1&0x02)==0x02)) //A8UNEQ
        {
          FgAUNEQ[7]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=7;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[7]!=1)&&((M2_0C1&0x01)==0x01)) //A8SLER
        {
          FgASLER[7]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=7;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[7]!=1)&&((M2_0DF&0x04)==0x04)) //A8J2TIM
        {
          FgAJ2TIM[7]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=7;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }       
      }
    }
    if (f[6]==1)
    {
      if ((M2_019&0x40)==0x40)  //TPORT7 Mask
      {
        TMP=(T2_092)&0x01;
        if ((FgTLOS[6]!=1)&&(TMP==0x01)) //T7LOS
        {
          FgTLOS[6]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=6;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M2_0B0=M2_0B0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[6]!=1)&&((M2_0A5&0x02)==0x02))  //T7LOC
        {
          FgTLOC[6]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=22;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M2_017&0x20)==0x20) //RPT7A Mask
      {
        if ((FgAAIS[6]!=1)&&((M2_091&0x80)==0x80)) //A7AIS
        {
          FgAAIS[6]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=22;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[6]!=1)&&((M2_0A5&0x01)==0x01))  //T7DAIS
        {
          FgTDAIS[6]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=54;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[6]!=1)&&((M2_091&0x10)==0x10)) //A7NDF    NEW POINTER INDICATION
        {
          FgANDF[6]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=6;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[6]!=1)&&((M2_091&0x08)==0x08)) //A7RDI
        {
          FgARDI[6]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=6;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[6]!=1)&&((M2_091&0x02)==0x02)) //A7UNEQ
        {
          FgAUNEQ[6]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=6;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[6]!=1)&&((M2_091&0x01)==0x01)) //A7SLER
        {
          FgASLER[6]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=6;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[6]!=1)&&((M2_0AF&0x04)==0x04)) //A7J2TIM
        {
          FgAJ2TIM[6]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=6;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }      
      }
    }
    if (f[5]==1)
    {
      if ((M2_019&0x20)==0x20)  //TPORT6 Mask
      {
        TMP=(T2_052)&0x01;
        if ((FgTLOS[5]!=1)&&(TMP==0x01)) //T6LOS
        {
          FgTLOS[5]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=5;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M2_080=M2_080|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[5]!=1)&&((M2_075&0x02)==0x02))  //T6LOC
        {
          FgTLOC[5]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=21;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }

      if ((M2_017&0x08)==0x08) //RPT6A Mask
      {
        if ((FgAAIS[5]!=1)&&((M2_061&0x80)==0x80))  //A6AIS
        {
          FgAAIS[5]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=21;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[5]!=1)&&((M2_075&0x01)==0x01))  //T6DAIS
        {
          FgTDAIS[5]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=53;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[5]!=1)&&((M2_061&0x10)==0x10)) //A6NDF    NEW POINTER INDICATION
        {
          FgANDF[5]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=5;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[5]!=1)&&((M2_061&0x08)==0x08)) //A6RDI
        {
          FgARDI[5]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=5;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[5]!=1)&&((M2_061&0x02)==0x02)) //A6UNEQ
        {
          FgAUNEQ[5]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=5;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[5]!=1)&&((M2_061&0x01)==0x01)) //A6SLER
        {
          FgASLER[5]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=5;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[5]!=1)&&((M2_07F&0x04)==0x04)) //A6J2TIM
        {
          FgAJ2TIM[5]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=5;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
    }
    if (f[4]==1)
    {
      if ((M2_019&0x10)==0x10)  //TPORT5 Mask
      {
        TMP=(T2_012)&0x01;
        if ((FgTLOS[4]!=1)&&(TMP==0x01)) //T5LOS
        {
          FgTLOS[4]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=4;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M2_050=M2_050|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[4]!=1)&&((M2_045&0x02)==0x02))  //T5LOC
        {
          FgTLOC[4]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=20;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M2_017&0x02)==0x02) //RPT5A Mask
      {
        if ((FgAAIS[4]!=1)&&((M2_031&0x80)==0x80))  //A5AIS
        {
          FgAAIS[4]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=20;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[4]!=1)&&((M2_045&0x01)==0x01))  //T5DAIS
        {
          FgTDAIS[4]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=52;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }      
        if ((FgANDF[4]!=1)&&((M2_031&0x10)==0x10)) //A5NDF    NEW POINTER INDICATION
        {
          FgANDF[4]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=4;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[4]!=1)&&((M2_031&0x08)==0x08)) //A5RDI
        {
          FgARDI[4]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=4;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[4]!=1)&&((M2_031&0x02)==0x02)) //A5UNEQ
        {
          FgAUNEQ[4]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=4;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[4]!=1)&&((M2_031&0x01)==0x01)) //A5SLER
        {
          FgASLER[4]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=4;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[4]!=1)&&((M2_04F&0x04)==0x04)) //A5J2TIM
        {
          FgAJ2TIM[4]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=4;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }    
      }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -