亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nsiec104server.c

?? 南瑞的IEC104規約實現的源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
          NsIec104Struct.GroupSendLength[GroupIndex]=Index;
          /*
          if((NsIec104Struct.SendLength=send(NsIec104Struct.NsNewSocketId,&NsIec104Struct.GroupSendBuffer[GroupIndex][0],NsIec104Struct.GroupSendLength,0x0))<0)
          {
	               perror ("Client FirstWrite Error");
          }
           */
          GroupIndex++;
          NsIec104Struct.NeedSendNumber++;

    }
    /* Send Pulse End Packet */
    Index=0;
    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=0x68;
    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=0x0e;

    RealNumber=(NsIec104Struct.SendMeNumber<<1);
    P=(unsigned char *)&RealNumber;
    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=P[0];              /*     send number       */
    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=P[1];
    NsIec104Struct.SendMeNumber=(NsIec104Struct.SendMeNumber+1)%65535;


    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=NsIec104Struct.ReceiveHimNumber[0];              /*     receive number    */
    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=NsIec104Struct.ReceiveHimNumber[1];

    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=101;
    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=1;

    for(i=0;i< NS_IEC_104_REASONBYTE;i++)
        NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=10;
             
    for(i=0;i<NS_IEC_104_ASDUADDRESSBYTE;i++)
        NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=NsIec104Struct.CommonAsduAddress[i];


    for(i=0;i<NS_IEC_104_INFORMATIONBYTE;i++)
        NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=NsIec104Struct.InformationObject[i];

    NsIec104Struct.GroupSendBuffer[GroupIndex][Index++]=NsIec104Struct.Qcc;
    NsIec104Struct.GroupSendLength[GroupIndex]=Index;
    /*
    if((NsIec104Struct.SendLength = send(NsIec104Struct.NsNewSocketId,&NsIec104Struct.GroupSendBuffer[GroupIndex][0],NsIec104Struct.GroupSendLength,0x0)) < 0)
    {
	               perror ("Client Write Error");
    }
    */
/* mask 2003-01-24
    GroupIndex++;
    NsIec104Struct.NeedSendNumber++;
*/
}

static  void       NsIec104ProcessPulseData(void)
{


     switch(NsIec104Struct.PulseGroup)
     {
        case 1:
        case 2:
        case 3:
        case 4:
               NsIec104ProcessPulseAck();
               NsIec104ProcessPulseGroup();
               NsIec104ProcessPulseEnd();
               break;
        case 5:
               NsIec104ProcessPulseAll();
               break;
     }
}

static  void     NsIec104ProcessTime(void)
{

unsigned short   i,Index,RealNumber,Mmsecond;
unsigned char    *P,Year,Month,Day,Hour,Minute,Second;
struct tm        NowTime;

          /*  First Send  Confirm */
          for(i=0;i<7;i++)
          {
               NsIec104Struct.TimeSave[i]=NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+i];
          /*     
                   printf("\n Time=%d",NsIec104Struct.TimeSave[i]);
            */   
          }
          Mmsecond=(NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION]
                    +256*NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+1])%1000; 

          Second=(NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION]
                    +256*NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+1])/1000; 
          Minute=NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+2]&0x3f;
          Hour=NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+3]&0x1f;
          Day=NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+4]&0x1f;
          Month=NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+5]&0x0f;
          Year=NsIec104Struct.ReceiveBuffer[NS_IEC_104_TIME_POSITION+6]&0x7f;
/*
          if(NsIec104Struct.SetTimeFlag)
          {
              NowTime.tm_sec   = Second;
              NowTime.tm_min   = Minute;
              NowTime.tm_hour  = Hour;
              NowTime.tm_mday  = Day;
              NowTime.tm_mon   = Month; 
              NowTime.tm_year  = Year + 2000; 
              setvxTime(&NowTime);
          }
*/
          /*
              printf("\n Year=%d Month=%d Day=%d Hour=%d Min=%d Sec=%d Msec=%d",
                         Year,Month,Day,Hour,Minute,Second,Mmsecond);
           */
          Index=0;
          NsIec104Struct.SendBuffer[Index++]=0x68;
          NsIec104Struct.SendBuffer[Index++]=0x0e;

          RealNumber=(NsIec104Struct.SendMeNumber<<1);
          P=(unsigned char *)&RealNumber;
          NsIec104Struct.SendBuffer[Index++]=P[0];              /*     send number       */
          NsIec104Struct.SendBuffer[Index++]=P[1];
          NsIec104Struct.SendMeNumber=(NsIec104Struct.SendMeNumber+1)%65535;



          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[0];              /*     receive number    */
          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[1];


          NsIec104Struct.SendBuffer[Index++]=103;
          NsIec104Struct.SendBuffer[Index++]=1;

          for(i=0;i< NS_IEC_104_REASONBYTE;i++)
               NsIec104Struct.SendBuffer[Index++]=0x07;
             
          for(i=0;i<NS_IEC_104_ASDUADDRESSBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.CommonAsduAddress[i];


          for(i=0;i<NS_IEC_104_INFORMATIONBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.InformationObject[i];

          for(i=0;i<7;i++)
              NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.TimeSave[i];

          NsIec104Struct.SendBuffer[1]=Index-2;
          if((NsIec104Struct.SendLength = send(NsIec104Struct.NsNewSocketId,&NsIec104Struct.SendBuffer[0],Index,0x0))<0)
          {
	               perror ("Client Write Error");
          }
}






static void     NsIec104Interrogation(void)
{


     switch(NsIec104Struct.AsduQualifier)
     {
         case 20:   /*  All Interrogation */
                  NsIec104InterrogationAll();
                  break;
        
         default:
                  NsIec104InterrogationGroup();
                  break;
     }

}

static void     NsIec104InterrogationGroup(void)
{
 unsigned  char  WhichGroup;


  if(NsIec104Struct.AsduQualifier>=NS_IEC104_GROUP_BEGIN&&NsIec104Struct.AsduQualifier<=NS_IEC104_GROUP_END)
  {
     WhichGroup=NsIec104Struct.ReceiveBuffer[NS_IEC_104_GROUP_BYTE];
     WhichGroup-=21;
     switch(WhichGroup)
     {

         case 0:
         case 1:
         case 2:
         case 3:
         case 4:
         case 5:
         case 6:
         case 7:
                 NsIec104ProcessYxGroup(WhichGroup);
                 break;
         case 8:
         case 9:
         case 10:
         case 11:
                 NsIec104ProcessYcGroup(WhichGroup);
                 break;
         case 12:             /*  location information  */
                 NsIec104DefaultGroup(WhichGroup);
                 break;
         case 13:             /*  BCD Information  */
                 NsIec104DefaultGroup(WhichGroup);
                 break;
         case 14:             /*  cell state */
                 NsIec104DefaultGroup(WhichGroup);
                 break;
         case 15:             /*  backup use */
                 NsIec104DefaultGroup(WhichGroup);
                 break;
         default:
                 NsIec104DefaultGroup(WhichGroup);
                 break;
     }

  }

}

static void    NsIec104DefaultGroup(unsigned char Group)
{
unsigned short   General,Index;
unsigned char    *P;
unsigned short    i,j,RealNumber;


          /*  First Send  Confirm */
          Index=0;
          NsIec104Struct.SendBuffer[Index++]=0x68;
          NsIec104Struct.SendBuffer[Index++]=0x0e;

          RealNumber=(NsIec104Struct.SendMeNumber<<1);
          P=(unsigned char *)&RealNumber;
          NsIec104Struct.SendBuffer[Index++]=P[0];              /*     send number       */
          NsIec104Struct.SendBuffer[Index++]=P[1];
          NsIec104Struct.SendMeNumber=(NsIec104Struct.SendMeNumber+1)%65535;



          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[0];              /*     receive number    */
          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[1];


          NsIec104Struct.SendBuffer[Index++]=100;
          NsIec104Struct.SendBuffer[Index++]=1;

          for(i=0;i< NS_IEC_104_REASONBYTE;i++)
               NsIec104Struct.SendBuffer[Index++]=0x07;
             
          for(i=0;i<NS_IEC_104_ASDUADDRESSBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.CommonAsduAddress[i];


          for(i=0;i<NS_IEC_104_INFORMATIONBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.InformationObject[i];

          NsIec104Struct.SendBuffer[Index++]=21+Group;

          if((NsIec104Struct.SendLength = send(NsIec104Struct.NsNewSocketId,&NsIec104Struct.SendBuffer[0],Index,0x0))<0)
          {
	               perror ("Client Write Error");
          }

          taskDelay(6);
          Index=0;
          NsIec104Struct.SendBuffer[Index++]=0x68;
          NsIec104Struct.SendBuffer[Index++]=0x0e;

          RealNumber=(NsIec104Struct.SendMeNumber<<1);
          P=(unsigned char *)&RealNumber;
          NsIec104Struct.SendBuffer[Index++]=P[0];              /*     send number       */
          NsIec104Struct.SendBuffer[Index++]=P[1];
          NsIec104Struct.SendMeNumber=(NsIec104Struct.SendMeNumber+1)%65535;


          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[0];              /*     receive number    */
          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[1];

          NsIec104Struct.SendBuffer[Index++]=100;
          NsIec104Struct.SendBuffer[Index++]=1;

          for(i=0;i< NS_IEC_104_REASONBYTE;i++)
               NsIec104Struct.SendBuffer[Index++]=10;
             
          for(i=0;i<NS_IEC_104_ASDUADDRESSBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.CommonAsduAddress[i];


          for(i=0;i<NS_IEC_104_INFORMATIONBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.InformationObject[i];

          NsIec104Struct.SendBuffer[Index++]=21+Group;

          if((NsIec104Struct.SendLength = send(NsIec104Struct.NsNewSocketId,&NsIec104Struct.SendBuffer[0],Index,0x0)) < 0)
          {
	               perror ("Client Write Error");
          }
}



static void    NsIec104ProcessYxGroup(unsigned char Group)
{
unsigned short     General,Index,YxLibIndex;
unsigned char      *P,start,YxBit,YxByte;
unsigned short     i,j,g,RealNumber;


          /*  Once Gonce need send 64 Yx  8 bytes   Group from 0 begin*/
          /*  First Send  Confirm */
          Index=0;
          NsIec104Struct.SendBuffer[Index++]=0x68;
          NsIec104Struct.SendBuffer[Index++]=0x0e;

          RealNumber=(NsIec104Struct.SendMeNumber<<1);
          P=(unsigned char *)&RealNumber;
          NsIec104Struct.SendBuffer[Index++]=P[0];                                    /*     send number       */
          NsIec104Struct.SendBuffer[Index++]=P[1];
          NsIec104Struct.SendMeNumber=(NsIec104Struct.SendMeNumber+1)%65535;



          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[0];     /*     receive number    */
          NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.ReceiveHimNumber[1];


          NsIec104Struct.SendBuffer[Index++]=100;                                    /*      transmit  type    */
          NsIec104Struct.SendBuffer[Index++]=1;                                      /*      vsq               */ 

          for(i=0;i< NS_IEC_104_REASONBYTE;i++)                                      /*      reason            */
               NsIec104Struct.SendBuffer[Index++]=0x07;
             
          for(i=0;i<NS_IEC_104_ASDUADDRESSBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.CommonAsduAddress[i];


          for(i=0;i<NS_IEC_104_INFORMATIONBYTE;i++)
             NsIec104Struct.SendBuffer[Index++]=NsIec104Struct.InformationObject[i];

          NsIec104Struct.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国三级电影一区二区| 日韩在线播放一区二区| 久久综合九色综合97婷婷| 91精品国产入口| 91精品国产色综合久久不卡蜜臀| 91精品婷婷国产综合久久性色| 欧美日韩视频在线一区二区| 69av一区二区三区| 欧美一区二区三级| 久久色成人在线| 国产精品黄色在线观看| 国产精品麻豆视频| 一区二区三区成人| 日本va欧美va瓶| 国产精品亚洲视频| 99久久er热在这里只有精品15| 色婷婷av一区二区三区大白胸| 欧美午夜片在线看| 欧美放荡的少妇| 国产欧美一区二区三区在线老狼| 亚洲天堂2016| 蜜臀久久99精品久久久久宅男| 精品一区二区成人精品| 福利一区二区在线| 精品视频一区三区九区| 精品国产91亚洲一区二区三区婷婷| 日本一区二区三区高清不卡| 最新国产精品久久精品| 亚洲香肠在线观看| 国产大片一区二区| 欧美吞精做爰啪啪高潮| 精品福利二区三区| 一区二区三区精品在线| 国内精品不卡在线| 欧洲另类一二三四区| 精品日韩在线观看| 亚洲一区免费观看| 国产精品911| 欧美欧美欧美欧美| 国产精品久久久久aaaa| 日本亚洲一区二区| 99re在线视频这里只有精品| 日韩亚洲欧美在线| 亚洲乱码国产乱码精品精的特点| 麻豆成人在线观看| 色婷婷综合久色| 欧美极品美女视频| 日韩国产欧美三级| 91视频xxxx| 2021中文字幕一区亚洲| 亚洲午夜在线电影| 97se亚洲国产综合自在线观| 久久久久久久性| 久久99精品国产麻豆婷婷洗澡| 色婷婷一区二区三区四区| 久久九九99视频| 美国毛片一区二区| 欧美日韩免费不卡视频一区二区三区| 国产婷婷色一区二区三区在线| 美女性感视频久久| 欧美日韩在线播放三区| 成人免费在线视频观看| 国产夫妻精品视频| 久久久亚洲午夜电影| 久久成人免费网| 精品国产乱码久久久久久老虎| 日韩国产欧美在线观看| 欧美少妇一区二区| 亚洲综合一区二区精品导航| 91麻豆国产香蕉久久精品| 国产精品伦一区二区三级视频| 国产成人精品亚洲日本在线桃色| 国产亚洲精品资源在线26u| 国产美女视频一区| 久久蜜桃av一区二区天堂| 激情综合网最新| 久久一夜天堂av一区二区三区| 国产在线精品免费av| 精品欧美一区二区久久| 精品一区二区三区香蕉蜜桃| 欧美大片顶级少妇| 国产乱码精品一区二区三区五月婷 | 91福利社在线观看| 亚洲欧洲av一区二区三区久久| 岛国一区二区在线观看| 国产精品久久99| 欧美视频你懂的| 免费成人av在线| 欧美精品一区男女天堂| 激情国产一区二区| 国产人伦精品一区二区| av亚洲精华国产精华精| 亚洲另类在线制服丝袜| 91精品国产入口| 丁香六月久久综合狠狠色| 亚洲欧洲综合另类在线| 欧美二区在线观看| 国产乱子轮精品视频| 国产精品福利一区| 欧美日韩高清影院| 国产精品中文字幕一区二区三区| 中文字幕中文字幕中文字幕亚洲无线| 色噜噜狠狠一区二区三区果冻| 图片区小说区国产精品视频 | 国产在线精品一区二区| 国产精品久久久久久久岛一牛影视 | 欧美精品 国产精品| 激情av综合网| 亚洲女与黑人做爰| 日韩欧美一区二区在线视频| 成人99免费视频| 日本欧美加勒比视频| 国产精品久久久爽爽爽麻豆色哟哟 | 99国产精品久久久| 天堂在线一区二区| 中文字幕乱码亚洲精品一区| 欧美日韩国产一级片| 国产激情视频一区二区在线观看 | 欧美久久婷婷综合色| 国产不卡视频一区二区三区| 亚洲大片一区二区三区| 国产精品拍天天在线| 欧美不卡一区二区| 精品视频色一区| 成a人片国产精品| 麻豆精品国产91久久久久久| 亚洲精品视频一区二区| 久久久精品影视| 日韩欧美色电影| 欧美日韩一区二区三区四区五区| 粉嫩av一区二区三区| 奇米一区二区三区| 亚洲综合久久久久| 中文字幕av一区二区三区高 | 成人激情免费视频| 日韩高清一级片| 亚洲曰韩产成在线| 亚洲人xxxx| 亚洲少妇最新在线视频| 欧美国产精品中文字幕| 26uuu精品一区二区| 91精品视频网| 67194成人在线观看| 欧美情侣在线播放| 欧美三级中文字幕| 在线观看欧美精品| 欧美性生活一区| 精品视频一区二区三区免费| 色婷婷亚洲婷婷| 欧洲av在线精品| 色婷婷亚洲精品| 欧美日韩免费观看一区二区三区 | 国产一二精品视频| 精品夜夜嗨av一区二区三区| 久久99国产精品麻豆| 久久99久国产精品黄毛片色诱| 日本vs亚洲vs韩国一区三区 | 欧美图区在线视频| 欧美日韩一区二区三区在线看| 欧美色综合网站| 91精品国产综合久久久久| 7777精品伊人久久久大香线蕉经典版下载| 欧美日韩精品一区二区在线播放| 在线不卡中文字幕| 欧美精品一区二区三区高清aⅴ| 精品少妇一区二区三区在线视频| 久久午夜免费电影| 国产精品久久久久天堂| 亚洲欧洲精品一区二区三区不卡 | 91精品福利在线一区二区三区 | 久久久久久一级片| 国产婷婷色一区二区三区| 亚洲欧洲成人av每日更新| 亚洲在线观看免费视频| 蜜臀av在线播放一区二区三区| 国产精品一区在线观看你懂的| 丁香六月综合激情| 精品视频一区二区三区免费| 精品国产三级a在线观看| 久久久久久电影| 亚洲国产另类av| 国产一区二区三区在线观看精品 | 精品播放一区二区| 国产精品青草综合久久久久99| 亚洲精品成a人| 韩国女主播一区| 色综合久久综合网97色综合 | 欧美高清在线精品一区| 亚洲欧洲美洲综合色网| 奇米亚洲午夜久久精品| 粉嫩绯色av一区二区在线观看| 欧美日韩精品综合在线| 26uuu国产日韩综合| 一区二区视频在线看| 国产一区二三区好的| 欧洲国内综合视频| 国产亚洲精品中文字幕| 五月天欧美精品| 日本乱码高清不卡字幕| 国产午夜亚洲精品午夜鲁丝片|