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

📄 m4palmq.c

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

#include <other.h>

void AlmInd(struct instruction AlmValue);
void PolFill(struct instruction PolValue);
void M4PAlmQ()
{
    struct instruction AlmVal;
    struct instruction PolVal;
    uchar TMP;    
    WDI=1;
    WDI=0;
    if (f[15]==1)
    {

      if ((M4_019&0x80)==0x80)  //TPORT16 Mask
      {
        TMP=(T4_0D2)&0x01;
        if ((FgTLOS[15]!=1)&&(TMP==0x01)) //T16LOS
        {
          FgTLOS[15]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=15;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M4_0E0=M4_0E0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[15]!=1)&&((M4_0D5&0x02)==0x02))  //T16LOC
        {
          FgTLOC[15]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=31;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M4_017&0x80)==0x80) //RPT16A Mask
      {
        if ((FgAAIS[15]!=1)&&((M4_0C1&0x80)==0x80))  //A16AIS
        {
          FgAAIS[15]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=31;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);

        }
        if ((FgTDAIS[15]!=1)&&((M4_0D5&0x01)==0x01))  //T16DAIS
        {
          FgTDAIS[15]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=63;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
    
        if ((FgANDF[15]!=1)&&((M4_0C1&0x10)==0x10)) //A16NDF    NEW POINTER INDICATION
        {
          FgANDF[15]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=15;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[15]!=1)&&((M4_0C1&0x08)==0x08)) //A16RDI
        {
          FgARDI[15]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=15;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
      
        if ((FgAUNEQ[15]!=1)&&((M4_0C1&0x02)==0x02)) //A16UNEQ
        {
          FgAUNEQ[15]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=15;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[15]!=1)&&((M4_0C1&0x01)==0x01)) //A16SLER
        {
          FgASLER[15]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=15;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);

        }
        if ((FgAJ2TIM[15]!=1)&&((M4_0DF&0x04)==0x04)) //A16J2TIM
        {
          FgAJ2TIM[15]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=15;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }     
      }
    }
    if (f[14]==1)
    {

      if ((M4_019&0x40)==0x40)  //TPORT15 Mask
      {
        TMP=(T4_092)&0x01;
        if ((FgTLOS[14]!=1)&&(TMP==0x01)) //T15LOS
        {
          FgTLOS[14]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=14;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M4_0B0=M4_0B0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[14]!=1)&&((M4_0A5&0x02)==0x02))  //T15LOC
        {
          FgTLOC[14]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=30;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M4_017&0x20)==0x20) //RPT15 Mask
      {
        if ((FgAAIS[14]!=1)&&((M4_091&0x80)==0x80))  //A15AIS
        {
          FgAAIS[14]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=30;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[14]!=1)&&((M4_0A5&0x01)==0x01))  //T15DAIS
        {
          FgTDAIS[14]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=62;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
      
        if ((FgANDF[14]!=1)&&((M4_091&0x10)==0x10)) //A15NDF    NEW POINTER INDICATION
        {
          FgANDF[14]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=14;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[14]!=1)&&((M4_091&0x08)==0x08)) //A15RDI
        {
          FgARDI[14]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=14;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgAUNEQ[14]!=1)&&((M4_091&0x02)==0x02)) //A15UNEQ
        {
          FgAUNEQ[14]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=14;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[14]!=1)&&((M4_091&0x01)==0x01)) //A15SLER
        {
          FgASLER[14]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=14;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[14]!=1)&&((M4_0AF&0x04)==0x04)) //A15J2TIM
        {
          FgAJ2TIM[14]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=14;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }    
      }
    }
    if (f[13]==1)
    {
      if ((M4_019&0x20)==0x20)  //TPORT14 Mask
      {
        TMP=(T4_0D2)&0x01;
        if ((FgTLOS[15]!=1)&&(TMP==0x01)) //T16LOS
        {
          FgTLOS[15]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=15;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M4_0E0=M4_0E0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        
        if ((FgTLOC[13]!=1)&&((M4_075&0x02)==0x02))  //T14LOC
        {
          FgTLOC[13]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=29;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M4_017&0x08)==0x08) //RPT14A Mask
      {
        if ((FgAAIS[13]!=1)&&((M4_061&0x80)==0x80))  //A14AIS
        {
          FgAAIS[13]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=29;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[13]!=1)&&((M4_075&0x01)==0x01))  //T14DAIS
        {
          FgTDAIS[13]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=61;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
      
        if ((FgANDF[13]!=1)&&((M4_061&0x10)==0x10)) //A14NDF    NEW POINTER INDICATION
        {
          FgANDF[13]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=13;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[13]!=1)&&((M4_061&0x08)==0x08)) //A14RDI
        {
          FgARDI[13]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=13;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[13]!=1)&&((M4_061&0x02)==0x02)) //A14UNEQ
        {
          FgAUNEQ[13]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=13;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[13]!=1)&&((M4_061&0x01)==0x01)) //A14SLER
        {
          FgASLER[13]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=13;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[13]!=1)&&((M4_07F&0x04)==0x04)) //A14J2TIM
        {
          FgAJ2TIM[13]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=13;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }      
      }
    }
    if (f[12]==1)
    {
      if ((M4_019&0x10)==0x10)  //TPORT13 Mask
      {
        TMP=(T4_012)&0x01;
        if ((FgTLOS[12]!=1)&&(TMP==0x01)) //T12LOS
        {
          FgTLOS[12]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=12;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M4_050=M4_050|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[12]!=1)&&((M4_045&0x02)==0x02))  //T13LOC
        {
          FgTLOC[12]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=28;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M4_017&0x02)==0x02)  //RPT13A Mask
      {
        if ((FgAAIS[12]!=1)&&((M4_031&0x80)==0x80))  //A13AIS
        {
          FgAAIS[12]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=28;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        TMP=M4_045&0x01;
        if ((FgTDAIS[12]!=1)&&(TMP==0x01))  //T13DAIS
        {
          FgTDAIS[12]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=60;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
      
        if ((FgANDF[12]!=1)&&((M4_031&0x10)==0x10)) //A13NDF    NEW POINTER INDICATION
        {
          FgANDF[12]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=12;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[12]!=1)&&((M4_031&0x08)==0x08)) //A13RDI
        {
          FgARDI[12]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=12;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[12]!=1)&&((M4_031&0x02)==0x02)) //A13UNEQ
        {
          FgAUNEQ[12]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=12;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[12]!=1)&&((M4_031&0x01)==0x01)) //A13SLER
        {
          FgASLER[12]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=12;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[12]!=1)&&((M4_04F&0x04)==0x04)) //A13J2TIM
        {
          FgAJ2TIM[12]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=12;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }       
      }
    }
}

⌨️ 快捷键说明

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