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

📄 m3palmq.c

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

#include <other.h>
void AlmInd(struct instruction AlmValue);
void PolFill(struct instruction PolValue);
void M3PAlmQ()
{
    struct instruction AlmVal;
    struct instruction PolVal;
    uchar TMP;    
    WDI=1;
    WDI=0;
    if (f[11]==1)
    {
      if ((M3_019&0x80)==0x80)  //TPORT12 Mask
      {
        TMP=(T3_0D2)&0x01;
        if ((FgTLOS[11]!=1)&&(TMP==0x01)) //T12LOS
        {
          FgTLOS[11]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=11;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M3_0E0=M3_0E0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[11]!=1)&&((M3_0D5&0x02)==0x02))  //T12LOC
        {
          FgTLOC[11]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=27;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M3_017&0x80)==0x80) //RPT12A Mask
      {
        if ((FgAAIS[11]!=1)&&((M3_0C1&0x80)==0x80))  //A12AIS
        {
          FgAAIS[11]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=27;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[11]!=1)&&((M3_0D5&0x01)==0x01))  //T12DAIS
        {
          FgTDAIS[11]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=59;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
      
        if ((FgANDF[11]!=1)&&((M3_0C1&0x10)==0x10)) //A12NDF    NEW POINTER INDICATION
        {
          FgANDF[11]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=11;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[11]!=1)&&((M3_0C1&0x08)==0x08)) //A12RDI
        {
          FgARDI[11]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=11;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[11]!=1)&&((M3_0C1&0x02)==0x02)) //A12UNEQ
        {
          FgAUNEQ[11]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=11;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[11]!=1)&&((M3_0C1&0x01)==0x01)) //A12SLER
        {
          FgASLER[11]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=11;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[11]!=1)&&((M3_0DF&0x04)==0x04)) //A12J2TIM
        {
          FgAJ2TIM[11]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=11;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }      
      }
    }
    if (f[10]==1)
    {
      if ((M3_019&0x40)==0x40)  //TPORT11 Mask
      {
        TMP=(T3_092)&0x01;
        if ((FgTLOS[10]!=1)&&(TMP==0x01)) //T11LOS
        {
          FgTLOS[10]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=10;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M3_0B0=M3_0B0|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[10]!=1)&&((M3_0A5&0x02)==0x02))  //T11LOC
        {
          FgTLOC[10]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=26;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M3_017&0x20)==0x20) //RPT11 Mask
      {
        if ((FgAAIS[10]!=1)&&((M3_091&0x80)==0x80))  //A11AIS
        {
          FgAAIS[10]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=26;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[10]!=1)&&((M3_0A5&0x01)==0x01))  //T11DAIS
        {
          FgTDAIS[10]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=58;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[10]!=1)&&((M3_091&0x10)==0x10)) //A11NDF    NEW POINTER INDICATION
        {
          FgANDF[10]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=10;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[10]!=1)&&((M3_091&0x08)==0x08)) //A11RDI
        {
          FgARDI[10]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=10;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[10]!=1)&&((M3_091&0x02)==0x02)) //A11UNEQ
        {
          FgAUNEQ[10]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=10;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[10]!=1)&&((M3_091&0x01)==0x01)) //A11SLER
        {
          FgASLER[10]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=10;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[10]!=1)&&((M3_0AF&0x04)==0x04)) //A11J2TIM
        {
          FgAJ2TIM[10]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=10;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }      
      }
    }
    if (f[9]==1)
    {
      if ((M3_019&0x20)==0x20)  //TPORT10 Mask
      {
        TMP=(T3_052)&0x01;
        if ((FgTLOS[9]!=1)&&(TMP==0x01)) //T10LOS
        {
          FgTLOS[9]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=9;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M3_080=M3_080|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[9]!=1)&&((M3_075&0x02)==0x02))  //T10LOC
        {
          FgTLOC[9]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=25;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M3_017&0x08)==0x08) //RPT10A Mask
      {
        if ((FgAAIS[9]!=1)&&((M3_061&0x80)==0x80))  //A10AIS
        {
          FgAAIS[9]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=25;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[9]!=1)&&((M3_075&0x01)==0x01))  //T10DAIS
        {
          FgTDAIS[9]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=57;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[9]!=1)&&((M3_061&0x10)==0x10)) //A10NDF    NEW POINTER INDICATION
        {
          FgANDF[9]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=9;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[9]!=1)&&((M3_061&0x08)==0x08)) //A10RDI
        {
          FgARDI[9]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=9;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgAUNEQ[9]!=1)&&((M3_061&0x02)==0x02)) //A10UNEQ
        {
          FgAUNEQ[9]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=9;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[9]!=1)&&((M3_061&0x01)==0x01)) //A10SLER
        {
          FgASLER[9]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=9;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[9]!=1)&&((M3_07F&0x04)==0x04)) //A10J2TIM
        {
          FgAJ2TIM[9]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=9;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }     
      }
    }
    if (f[8]==1)
    {
      if ((M3_019&0x10)==0x10)  //TPORT9 Mask
      {
        TMP=(T3_012)&0x01;
        if ((FgTLOS[8]!=1)&&(TMP==0x01)) //T9LOS
        {
          FgTLOS[8]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=8;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M3_050=M3_050|0x10;  //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[8]!=1)&&((M3_045&0x02)==0x02))  //T9LOC
        {
          FgTLOC[8]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=24;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M3_017&0x02)==0x02)  //RPT9A Mask
      {
        if ((FgAAIS[8]!=1)&&((M3_031&0x80)==0x80))  //A9AIS
        {
          FgAAIS[8]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=24;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[8]!=1)&&((M3_045&0x01)==0x01))  //T9DAIS
        {
          FgTDAIS[8]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=56;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgANDF[8]!=1)&&((M3_031&0x10)==0x10)) //A9NDF    NEW POINTER INDICATION
        {
          FgANDF[8]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=8;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[8]!=1)&&((M3_031&0x08)==0x08)) //A9RDI
        {
          FgARDI[8]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=8;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[8]!=1)&&((M3_031&0x02)==0x02)) //A9UNEQ
        {
          FgAUNEQ[8]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=8;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[8]!=1)&&((M3_031&0x01)==0x01)) //A9SLER
        {
          FgASLER[8]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=8;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[8]!=1)&&((M3_04F&0x04)==0x04)) //A9J2TIM
        {
          FgAJ2TIM[8]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=8;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }      
      }
    }
}

⌨️ 快捷键说明

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