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

📄 m1palmq.c

📁 SDH光端机支路单元盘开发,都是作者工程实践的经验总结,具有很高的工程指导价值和现实推广前景
💻 C
字号:
/****************************************/
/* Copyright (c) 2004, 通信工程学院戴佳 */
/* All rights reserved.                 */
/* 作    者:戴佳                       */
/****************************************/

#include <other.h>
void AlmInd(struct instruction AlmValue);
void PolFill(struct instruction PolValue);
void M1PAlmQ()
{
    struct instruction AlmVal;
    struct instruction PolVal;
    uchar TMP;
    WDI=1;
    WDI=0;
    if (f[3]==1)
    {
      if ((M1_019&0x80)==0x80)  //TPORT4 Mask
      {
        TMP=(T1_0D2)&0x01;
        if ((FgTLOS[3]!=1)&&(TMP==0x01)) //T4LOS
        {
          FgTLOS[3]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=3;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M1_0E0=M1_0E0|0x10; //TnAIS=1,send AIS in transmit data stream
        }
        if ((FgTLOC[3]!=1)&&((M1_0D5&0x02)==0x02))  //T4LOC
        {
          FgTLOC[3]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=19;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M1_017&0x80)==0x80) //RPT4A Mask
      {
        if ((FgAAIS[3]!=1)&&((M1_0C1&0x80)==0x80))  //A4AIS
        {
          FgAAIS[3]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=19;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[3]!=1)&&((M1_0D5&0x01)==0x01))  //T4DAIS
        {
          FgTDAIS[3]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=51;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[3]!=1)&&((M1_0C1&0x10)==0x10)) //A4NDF    NEW POINTER INDICATION
        {
          FgANDF[3]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=3;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[3]!=1)&&((M1_0C1&0x08)==0x08)) //A4RDI
        {
          FgARDI[3]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=3;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[3]!=1)&&((M1_0C1&0x02)==0x02)) //A4UNEQ
        {
          FgAUNEQ[3]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=3;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[3]!=1)&&((M1_0C1&0x01)==0x01)) //A4SLER
        {
          FgASLER[3]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=3;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[3]!=1)&&((M1_0DF&0x04)==0x04)) //A4J2TIM
        {
          FgAJ2TIM[3]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=3;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }     
      }
    }
    if (f[2]==1)
    {
      if ((M1_019&0x40)==0x40)  //TPORT3 Mask
      {
        TMP=(T1_092)&0x01;
        if ((FgTLOS[2]!=1)&&(TMP==0x01)) //T3LOS
        {
          FgTLOS[2]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=2;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M1_0B0=M1_0B0|0x10;
        }
        if ((FgTLOC[2]!=1)&&((M1_0A5&0x02)==0x02))  //T3LOC
        {
          FgTLOC[2]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=18;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M1_017&0x20)==0x20) //RPT3A Mask
      {
        if ((FgAAIS[2]!=1)&&((M1_091&0x80)==0x80))  //A3AIS
        {
          FgAAIS[2]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=18;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[2]!=1)&&((M1_0A5&0x01)==0x01))  //T3DAIS
        {
          FgTDAIS[2]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=50;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[2]!=1)&&((M1_091&0x10)==0x10)) //A3NDF    NEW POINTER INDICATION
        {
          FgANDF[2]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=2;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[2]!=1)&&((M1_091&0x08)==0x08)) //A3RDI
        {
          FgARDI[2]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=2;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[2]!=1)&&((M1_091&0x02)==0x02)) //A3UNEQ
        {
          FgAUNEQ[2]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=2;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[2]!=1)&&((M1_091&0x01)==0x01)) //A3SLER
        {
          FgASLER[2]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=2;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[2]!=1)&&((M1_0AF&0x04)==0x04)) //A3J2TIM
        {
          FgAJ2TIM[2]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=2;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }      
      }
    }
    if (f[1]==1)
    {
      if ((M1_019&0x20)==0x20)  //TPORT2 Mask
      {
        TMP=(T1_052)&0x01;
        if ((FgTLOS[1]!=1)&&(TMP==0x01)) //T2LOS
        {
          FgTLOS[1]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=1;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M1_080=M1_080|0x10;
        }
        if ((FgTLOC[1]!=1)&&((M1_075&0x02)==0x02))  //T2LOC
        {
          FgTLOC[1]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=17;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M1_017&0x08)==0x08) //RPT2A Mask
      {
        if ((FgAAIS[1]!=1)&&((M1_061&0x80)==0x80))  //A2AIS
        {
          FgAAIS[1]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=17;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[1]!=1)&&((M1_075&0x01)==0x01))  //T2DAIS
        {
          FgTDAIS[1]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=49;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
       
        if ((FgANDF[1]!=1)&&((M1_061&0x10)==0x10)) //A2NDF    NEW POINTER INDICATION
        {
          FgANDF[1]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=1;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[1]!=1)&&((M1_061&0x08)==0x08)) //A2RDI
        {
          FgARDI[1]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=1;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[1]!=1)&&((M1_061&0x02)==0x02)) //A2UNEQ
        {
          FgAUNEQ[1]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=1;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[1]!=1)&&((M1_061&0x01)==0x01)) //A2SLER
        {
          FgASLER[1]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=1;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[1]!=1)&&((M1_07F&0x04)==0x04)) //A2J2TIM
        {
          FgAJ2TIM[1]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=1;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }    
      }
    }
    if (f[0]==1)
    {
      if ((M1_019&0x10)==0x10)  //TPORT1 Mask
      {
        TMP=(T1_012)&0x01;
        if ((FgTLOS[0]!=1)&&(TMP==0x01)) //T1LOS
        {
          FgTLOS[0]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=15;
          AlmVal.ObjVal[0]=0;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
          M1_050=M1_050|0x10;
        }
        if ((FgTLOC[0]!=1)&&((M1_045&0x02)==0x02))  //T1LOC
        {
          FgTLOC[0]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=1;
          AlmVal.ObjVal[0]=16;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
      }
      if ((M1_017&0x02)==0x02) //RPT1A Mask
      {
        if ((FgAAIS[0]!=1)&&((M1_031&0x80)==0x80))  //A1AIS
        {
          FgAAIS[0]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=16;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgTDAIS[0]!=1)&&((M1_045&0x01)==0x01))  //T1DAIS
        {
          FgTDAIS[0]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=2;
          PolVal.ObjVal[0]=48;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
     
        if ((FgANDF[0]!=1)&&((M1_031&0x10)==0x10)) //A1NDF    NEW POINTER INDICATION
        {
          FgANDF[0]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=6;
          PolVal.ObjVal[0]=0;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgARDI[0]!=1)&&((M1_031&0x08)==0x08)) //A1RDI
        {
          FgARDI[0]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=7;
          PolVal.ObjVal[0]=0;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        
        if ((FgAUNEQ[0]!=1)&&((M1_031&0x02)==0x02)) //A1UNEQ
        {
          FgAUNEQ[0]=1;
          PolVal.head=0x08;
          PolVal.oper_obj=9;
          PolVal.ObjVal[0]=0;
          PolVal.ObjVal[1]=0xFF;
          PolFill(PolVal);
        }
        if ((FgASLER[0]!=1)&&((M1_031&0x01)==0x01)) //A1SLER
        {
          FgASLER[0]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=10;
          AlmVal.ObjVal[0]=0;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }
        if ((FgAJ2TIM[0]!=1)&&((M1_04F&0x04)==0x04)) //A1J2TIM
        {
          FgAJ2TIM[0]=1;
          AlmVal.head=0x08;
          AlmVal.oper_obj=12;
          AlmVal.ObjVal[0]=0;
          AlmVal.ObjVal[1]=0xFF;
          AlmInd(AlmVal);
        }   
      }
    }
}

⌨️ 快捷键说明

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