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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 104lib.c

?? IEC104程序元源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
   int  max_num,size;   struct tm *ptm;   long tmp;   unsigned char minute,hour,mday,month,weekday,year;   tmp = time(NULL);   ptm = (struct tm *)localtime(&tmp);   minute = ptm->tm_min;   hour   = ptm->tm_hour;   mday   = ptm->tm_mday;   month  = ptm->tm_mon+1;   year   = ptm->tm_year%100;   weekday  = ptm->tm_wday;;      count=0;      size=11;      ptr=data_buf;      for(i=0;i<sp_soe_num;i++){            addr=pSPSoe[i].addr+DIN_START_NO;            ptr[count*size]   =   addr&0xff;            ptr[count*size+1] = ((addr%1024)>>8)&0xff;            ptr[count*size+2] = (addr/1024)&0xff;            ptr[count*size+3] = pSPSoe[i].state & 0x01;            us_ms = pSPSoe[i].ms +                    pSPSoe[i].second * 1000;            if( MyByteOrder ) rReverse( (char *)&us_ms,sizeof(short) );            memcpy( (char *)&(ptr[count*size+4]),(char *)&us_ms,sizeof(short) );            ptr[count*size+6] =  pSPSoe[i].minute;            ptr[count*size+7] =  pSPSoe[i].hour;            ptr[count*size+8] =  (mday&0x1f)|(weekday<<5);            ptr[count*size+9] =  month&0x0f;            ptr[count*size+10] =  year&0x7f;/*            printf("SOE(%02d:%02d:%02d.%03d)===%d\n",                    pSPSoe[i].hour,pSPSoe[i].minute, pSPSoe[i].second,                    pSPSoe[i].ms,us_ms);*/            count++;            if( count * size >= MAX_MSG_LEN ){                 for(k=0;k<sp_soe_num-i;k++){                    pSPSoe[k].addr  =pSPSoe[k+i].addr;                    pSPSoe[k].hour  =pSPSoe[k+i].hour;                    pSPSoe[k].minute=pSPSoe[k+i].minute;                    pSPSoe[k].second=pSPSoe[k+i].second;                    pSPSoe[k].ms    =pSPSoe[k+i].ms;                    pSPSoe[k].state =pSPSoe[k+i].state;                 }                 break;            }      }      sp_soe_num = sp_soe_num-i;      if ( count > 0 ){         cot=3;         i=0;         max_num=(MAX_APDU_LEN-15)/size;         while ( count > max_num ){            M_PrepCmd(M_SP_TB,0,0, &(data_buf[i]),max_num,size);            i = i + max_num*10;            count = count - max_num;         }         M_PrepCmd(M_SP_TB,0,0, &(data_buf[i]),count,size);         return;      }}void M_DP_TB_Proc(){   int            i,j,k,count,i_val,addr;   unsigned char data_buf[MAX_MSG_LEN],*ptr;   unsigned short us_ms;   int  max_num,size;   struct tm *ptm;   long tmp;   unsigned char minute,hour,mday,month,weekday,year;   tmp = time(NULL);   ptm = (struct tm *)localtime(&tmp);   minute = ptm->tm_min;   hour   = ptm->tm_hour;   mday   = ptm->tm_mday;   month  = ptm->tm_mon+1;   year   = ptm->tm_year%100;   weekday  = ptm->tm_wday;      count=0;      size=11;      ptr=data_buf;      for(i=0;i<dp_soe_num;i++){            addr=pDPSoe[i].addr+DIN_START_NO;            ptr[count*size]   =   addr&0xff;            ptr[count*size+1] = ((addr%1024)>>8)&0xff;            ptr[count*size+2] = (addr/1024)&0xff;            ptr[count*size+3] = pDPSoe[i].state & 0x03;            us_ms = pDPSoe[i].ms +                    pDPSoe[i].second * 1000;            if( MyByteOrder ) rReverse( (char *)&us_ms,sizeof(short) );            memcpy( (char *)&(ptr[count*11+4]),(char *)&us_ms,sizeof(short) );            ptr[count*size+6] =  pDPSoe[i].minute;            ptr[count*size+7] =  pDPSoe[i].hour;            ptr[count*size+8] =  (mday&0x1f)|(weekday<<5);            ptr[count*size+9] =  month&0x0f;            ptr[count*size+10] =  year&0x7f;            printf("SOE(%02d:%02d:%02d.%03d)===%d\n",                    pDPSoe[i].hour,pDPSoe[i].minute, pDPSoe[i].second,                    pDPSoe[i].ms,us_ms);            count++;            if( count * size >= MAX_MSG_LEN ){                 for(k=0;k<dp_soe_num-i;k++){                    pDPSoe[k].addr  =pDPSoe[k+i].addr;                    pDPSoe[k].hour  =pDPSoe[k+i].hour;                    pDPSoe[k].minute=pDPSoe[k+i].minute;                    pDPSoe[k].second=pDPSoe[k+i].second;                    pDPSoe[k].ms    =pDPSoe[k+i].ms;                    pDPSoe[k].state =pDPSoe[k+i].state;                 }                 break;            }      }      dp_soe_num = dp_soe_num-i;      if ( count > 0 ){         cot=3;         i=0;         max_num=(MAX_APDU_LEN-15)/size;         while ( count > max_num ){            M_PrepCmd(M_DP_TB,0,0, &(data_buf[i]),max_num,size);            i = i + max_num*10;            count = count - max_num;         }         M_PrepCmd(M_DP_TB,0,0, &(data_buf[i]),count,size);         return;      }}void M_EI_NA_Proc(){   unsigned char ptr[MAX_MSG_LEN];   int len;      len=16;      ptr[0] = 0x68;      ptr[1] = len-2;      ptr[2] = 0;      ptr[3] = 0;      ptr[4] = 0;      ptr[5] = 0;      ptr[6] = M_EI_NA;      ptr[7] = 0x01 & 0x7f;      ptr[8] = 0x04;      ptr[9] = 0x00;      ptr[10] = ASDU_ADDR&0xff;      ptr[11] = (ASDU_ADDR>>8)&0xff;      ptr[12] = 0;      ptr[13] = 0;      ptr[14] = 0;      ptr[15] = 0x01<<8;      pShmSocket.send_len = len;      memcpy( pShmSocket.send_data,ptr,len );      send_msg();}void C_IC_NA_Proc(){   unsigned char data_buf[MAX_DATA_LEN];   int len;   len=pShmSocket.recv_len;   memcpy(data_buf,pShmSocket.recv_data,pShmSocket.recv_len);   memcpy(pShmSocket.send_data,data_buf,len);   pShmSocket.send_len=len;   pShmSocket.send_data[8]=7;   send_msg();   cot=20;   ic_flag=1;   M_SP_NA_Proc();   M_DP_NA_Proc();   M_ME_NA_Proc();   M_IT_NA_Proc();   M_ST_NA_Proc();   ic_flag=0;   cot=10;   memcpy(pShmSocket.send_data,data_buf,len);   pShmSocket.send_len=len;   pShmSocket.send_data[8]=10;   send_msg();}void C_SC_NA_Proc(){   unsigned char data_buf[MAX_DATA_LEN];   int   addr,i;   int   flag=0,action;   char  oper[100],tmpstr[256];   unsigned char buf[MAX_DATA_LEN],*ptr;   memcpy( data_buf,pShmSocket.recv_data,pShmSocket.recv_len );   if(data_buf[8]!=6){          flag=0;          pShmSocket.recv_data[8]=45;   }   flag =1;   addr=data_buf[12]+data_buf[13]*256+data_buf[14]*65536;   if (flag && data_buf[0] == 0x68 && data_buf[1] == 0X0e &&       data_buf[6] == C_SC_NA && data_buf[7] == 0x01 &&       data_buf[8] == 06   && data_buf[9] == 0x00 ){      action = (data_buf[15] & 0x01)+1;      for(i=0;i<YKZ_NUM_DD;i++){  printf("ykz addr %x %d!\n",YkzList[i].addr,YkzList[i].action);        if(YkzList[i].addr==addr && YkzList[i].action==action){           strcpy(YkMsg.desp,YkzList[i].tagdesp);           strcpy(YkMsg.tagname,YkzList[i].tagname);           strcpy(YkMsg.nodename,YkzList[i].nodename);           break;        }      }      if(i>=YKZ_NUM_DD){        pShmSocket.recv_data[8]=47;        flag = 0;        printf("addr %xH  not defined!",addr);      }      if( (data_buf[15]&0x80) == 0x80 ){       if(flag){           if( (data_buf[15] & 0x01)== 0x01  ){              strcpy( oper,"合上" );              YkMsg.ctrl_flag=2;           }           else if((data_buf[15]&0x01) == 0x00 ){              strcpy( oper,"拉開" );              YkMsg.ctrl_flag=1;           }           sprintf(tmpstr,"%s選擇: %s%s(對象%d)",DISPATCH,YkMsg.desp,oper,addr);           write_log( tmpstr,"OPER_LOG" );           YkMsg.select_flag=1;           YkMsg.addr=addr;           YkMsg.select_time=NowTime.time;           pShmSocket.recv_data[8]=7;       }      }      else if ( (data_buf[15]&0x80) == 0x00 ){       if(addr!=YkMsg.addr || YkMsg.addr==0){              pShmSocket.recv_data[8]=47;             flag=0;       }       if((data_buf[15] & 0x01)+1 != YkMsg.ctrl_flag){              pShmSocket.recv_data[8]=9;             flag=0;       }       if(flag){           if( (data_buf[15] & 0x01)== 0x01  ){              strcpy( oper,"合上" );              YkMsg.ctrl_flag=2;           }           else if((data_buf[15]&0x01) == 0x00 ){              strcpy( oper,"拉開" );              YkMsg.ctrl_flag=1;           }           sprintf(tmpstr,"%s執(zhí)行: %s%s(對象%d)",DISPATCH,YkMsg.desp,oper,YkMsg.addr);           write_log( tmpstr,"OPER_LOG" );           YkMsg.exec_flag=1;           pShmSocket.recv_data[8]=7;       }      }   }else{     pShmSocket.recv_data[8]=10;     flag=0;   }    if(flag==0){       YkMsg.select_flag=0;       YkMsg.exec_flag=0;       YkMsg.ctrl_flag=0;       YkMsg.addr=0;    }    memset( buf,0,MAX_DATA_LEN );    memcpy( buf,pShmSocket.recv_data,pShmSocket.recv_len );    pShmSocket.send_len = pShmSocket.recv_len;    memcpy( pShmSocket.send_data,buf,pShmSocket.send_len );    send_msg();}void C_SE_NA_Proc(){   unsigned char data_buf[MAX_DATA_LEN];   int   addr,i;   int   flag=0,action;   short *value;   char  oper[100],tmpstr[256];   unsigned char buf[MAX_DATA_LEN],*ptr;   memcpy( data_buf,pShmSocket.recv_data,pShmSocket.recv_len );   if(data_buf[8]!=6){          flag=0;          pShmSocket.recv_data[8]=45;   }   flag =1;   addr=data_buf[12]+data_buf[13]*256+data_buf[14]*65536;   if (flag && data_buf[0] == 0x68  &&       data_buf[6] == C_SE_NA && data_buf[7] == 0x01 &&       data_buf[8] == 06   && data_buf[9] == 0x00 ){      for(i=0;i<YTJ_NUM_DD;i++){  printf("ytj addr  %d!\n",YtjList[i].addr);        if(YtjList[i].addr==addr ){           strcpy(YtMsg.desp,YtjList[i].tagdesp);           strcpy(YtMsg.tagname,YtjList[i].tagname);           strcpy(YtMsg.nodename,YtjList[i].nodename);           break;        }      }      if(i>=YTJ_NUM_DD){        pShmSocket.recv_data[8]=47;        flag = 0;        printf("addr %xH  not defined!",addr);      }      if( (data_buf[17]&0x80) == 0x80 ){       if(flag){           value=(short *)&data_buf[15];printf("yt value= %d",*value);           sprintf(tmpstr,"%s選擇: %s(對象%d)",DISPATCH,YtMsg.desp,addr);           write_log( tmpstr,"OPER_LOG");           YtMsg.select_flag=1;           YtMsg.addr=addr;           YtMsg.value=*value;           YtMsg.select_time=NowTime.time;           pShmSocket.recv_data[8]=7;       }      }      else if ( (data_buf[17]&0x80) == 0x00 ){       if(addr!=YtMsg.addr || YtMsg.addr==0){              pShmSocket.recv_data[8]=47;             flag=0;       }       value=(short *)&data_buf[15];       if((*value)!=YtMsg.value){         flag=0;         pShmSocket.recv_data[8]=10;       }       if(flag){           sprintf(tmpstr,"%s執(zhí)行: %s(對象%d)",DISPATCH,YtMsg.desp,YtMsg.addr);           write_log( tmpstr,"OPER_LOG" );           YtMsg.exec_flag=1;           pShmSocket.recv_data[8]=7;       }      }   }else{     pShmSocket.recv_data[8]=10;     flag=0;   }    if(flag==0){       YtMsg.select_flag=0;       YtMsg.exec_flag=0;       YtMsg.value=0;       YtMsg.addr=0;    }    memset( buf,0,MAX_DATA_LEN );    memcpy( buf,pShmSocket.recv_data,pShmSocket.recv_len );    pShmSocket.send_len = pShmSocket.recv_len;    memcpy( pShmSocket.send_data,buf,pShmSocket.send_len );    send_msg();}void M_PrepCmd(type,sq,startno,data_buf,count,size)unsigned char  type,sq;unsigned short startno;unsigned char data_buf[];int count,size;{    int           i,j,k,len;    unsigned char buf[MAX_DATA_LEN];    if(sq==0){      len = 6 + 6 + count * size;      memset( buf,0,MAX_DATA_LEN );      buf[0] = 0x68;      buf[1] = len-2;      buf[2] = 0;      buf[3] = 0;      buf[4] = 0;      buf[5] = 0;      buf[6] = type;      buf[7] = count & 0x7f;      buf[8] = cot%256;      buf[9] = cot/256;      buf[10] = ASDU_ADDR&0xff;      buf[11] = (ASDU_ADDR>>8)&0xff;      memcpy( &(buf[12]),data_buf,count*size );      pShmSocket.send_len = len;      memcpy( pShmSocket.send_data,buf,len );    }else{      len = 6 + 9 + count * size;      memset( buf,0,MAX_DATA_LEN );      buf[0] = 0x68;      buf[1] = len-2;      buf[2] = 0;      buf[3] = 0;      buf[4] = 0;      buf[5] = 0;      buf[6] = type;      buf[7] = count|0x80;      buf[8] = cot%256;      buf[9] = cot/256;      buf[10] = ASDU_ADDR&0xff;      buf[11] = (ASDU_ADDR>>8)&0xff;      buf[12] = startno&0xff;      buf[13] = (startno>>8)&0xff;      buf[14] = (startno>>16)&0xff;      memcpy( &(buf[15]),data_buf,count*size );      pShmSocket.send_len = len;      memcpy( pShmSocket.send_data,buf,len );    }    send_msg();}display_msg(){ int i,j; if(pShmSocket.display>0){    switch(pShmSocket.display){      case 1:           /*rcv send net  mesg*/             break;      case 2:           /*DIN_BUF*/             printf("*********DIN MESG BUF********\n");             for(i=0;i<DIN_NUM_DD;i++){               if(i%100==0)printf("%4d-%4d:",i+1,i+101);               printf("%d",pDin[i].value);               if((i+1)%10==0)printf(":");               if((i+1)%100==0)printf("\n");             }             printf("********COS FLAG***********\n");             printf("THE no is:\n");             for(i=0;i<DIN_NUM_DD;i++){                if(pDin[i].cos)printf("%d ",i+1);             }             break;      case 3:           /*AIN_BUF*/             printf("*********AIN MESG BUF********\n");             for(i=0;i<AIN_NUM_DD;i++){               if(i%10==0)printf("%4d-%4d:",i+1,i+11);               printf("%f ",AinList[i].value);               if((i+1)%10==0)printf("\n");             }             break;      case 4:           /*PIN_BUF*/             break;    }    if(pShmSocket.display!=1)pShmSocket.display=0; }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品色婷婷| 日韩无一区二区| 99国产精品久久久久久久久久| 国产成人精品免费看| 国产美女主播视频一区| 国产成人自拍网| 国产成人免费在线| 9久草视频在线视频精品| 不卡的av中国片| 91麻豆精品视频| 欧美最新大片在线看 | 777午夜精品免费视频| 欧美精品在线视频| 91精品国产91久久久久久最新毛片 | 日本不卡中文字幕| 青草国产精品久久久久久| 免费不卡在线观看| 国产精品一区二区久久不卡| 成人免费毛片app| 色哟哟亚洲精品| 欧美久久久久久久久中文字幕| 日韩免费看网站| 国产欧美一区二区三区鸳鸯浴| 日韩一区日韩二区| 婷婷开心激情综合| 国产美女精品人人做人人爽| 99久久免费精品| 91麻豆精品国产91久久久使用方法| 欧美mv日韩mv| 亚洲色图另类专区| 天使萌一区二区三区免费观看| 国产综合久久久久影院| 99re亚洲国产精品| 这里只有精品99re| 中文一区在线播放| 日韩一区精品视频| 国产成人精品免费看| 欧美性videosxxxxx| 精品国产乱子伦一区| 亚洲精品国久久99热| 狂野欧美性猛交blacked| 99精品黄色片免费大全| 91精品午夜视频| 国产精品久久久久久久久免费樱桃 | 欧美www视频| 亚洲色图丝袜美腿| 久久99精品一区二区三区三区| 91亚洲精品一区二区乱码| 欧美日韩成人在线| 中文字幕在线观看不卡视频| 日韩成人伦理电影在线观看| 成人免费高清在线| 欧美一区二区三区婷婷月色| 最新日韩在线视频| 精品一区二区三区在线观看国产| 91麻豆自制传媒国产之光| 精品捆绑美女sm三区| 亚洲最快最全在线视频| 国产一区二区三区观看| 欧美高清性hdvideosex| 亚洲久本草在线中文字幕| 国产精品系列在线播放| 欧美久久一二区| 亚洲欧美日韩人成在线播放| 国产一区二区三区四| 欧美日本韩国一区二区三区视频| 中文字幕一区二区不卡| 久久av资源网| 91.xcao| 亚洲成人免费视| 99re视频这里只有精品| 日本一区二区在线不卡| 精品一区二区在线观看| 91精品麻豆日日躁夜夜躁| 亚洲综合无码一区二区| 91尤物视频在线观看| 久久精品亚洲精品国产欧美 | 成人免费看片app下载| 欧美成人vps| 日本不卡123| 精品视频1区2区| 一区二区三区中文免费| 一本一道久久a久久精品 | 国产中文字幕精品| 91精品国产乱码| 日日夜夜免费精品视频| 欧美色爱综合网| 亚洲综合图片区| 在线一区二区视频| 一二三区精品福利视频| 色视频欧美一区二区三区| 亚洲欧美自拍偷拍色图| 97久久精品人人做人人爽50路| 中文字幕精品—区二区四季| 高清不卡一区二区在线| 久久精品一级爱片| 丁香激情综合国产| 国产精品免费视频网站| 国产成人激情av| 国产精品狼人久久影院观看方式| 国产成人综合网| 国产精品午夜久久| 99久久免费精品| 亚洲激情自拍视频| 欧美在线999| 午夜电影网亚洲视频| 在线综合视频播放| 精品在线播放午夜| 欧美激情综合五月色丁香| 成人18视频日本| 亚洲黄色录像片| 欧美日本乱大交xxxxx| 麻豆精品国产传媒mv男同 | 日韩精品亚洲专区| 欧美一区二区高清| 极品美女销魂一区二区三区免费| 久久精品视频在线免费观看| 波多野结衣欧美| 亚洲一区二区三区视频在线播放| 欧美欧美午夜aⅴ在线观看| 日日嗨av一区二区三区四区| 欧美电视剧免费观看| 成人免费看视频| 玉米视频成人免费看| 69久久99精品久久久久婷婷| 国内精品免费在线观看| 中文字幕在线一区免费| 精品视频999| 激情成人综合网| 国产精品久久久久一区二区三区| 色狠狠综合天天综合综合| 石原莉奈在线亚洲二区| 精品国产91亚洲一区二区三区婷婷 | 一本一道综合狠狠老| 日产国产高清一区二区三区| 久久久久久免费| 日本乱码高清不卡字幕| 日本成人中文字幕| 中文字幕av一区二区三区免费看| 欧美在线观看你懂的| 国内精品伊人久久久久影院对白| 国产精品剧情在线亚洲| 91麻豆精品91久久久久久清纯| 国产98色在线|日韩| 亚洲一区二区在线免费观看视频| 日韩欧美国产三级| 99视频精品免费视频| 麻豆精品一区二区av白丝在线| 国产三级欧美三级日产三级99| 色婷婷久久99综合精品jk白丝| 六月丁香综合在线视频| 亚洲桃色在线一区| 日韩欧美电影在线| 色偷偷一区二区三区| 极品尤物av久久免费看| 亚洲黄色小说网站| 久久久影院官网| 欧美精品777| 一本大道久久a久久综合婷婷| 精品一区二区久久久| 亚洲大型综合色站| 国产精品网站在线| 精品免费视频.| 欧美三级中文字幕在线观看| 成人av小说网| 激情五月激情综合网| 亚洲成av人片在线| 亚洲欧洲制服丝袜| 精品国产髙清在线看国产毛片| 欧美亚洲一区二区在线| 不卡免费追剧大全电视剧网站| 精品一区二区三区欧美| 亚洲国产日韩在线一区模特| 中文久久乱码一区二区| wwwwxxxxx欧美| 日韩一二三区不卡| 欧美无乱码久久久免费午夜一区| 成人高清在线视频| 国产成人综合视频| 奇米影视一区二区三区小说| 亚洲影院久久精品| 最新国产成人在线观看| 国产欧美精品在线观看| 欧美精品一区二区蜜臀亚洲| 51精品视频一区二区三区| 欧美在线观看一区| 91黄视频在线| 东方aⅴ免费观看久久av| 精品在线观看免费| 久久精品国产亚洲高清剧情介绍 | 久久一二三国产| 欧美一区二区三区啪啪| 欧美美女喷水视频| 欧洲一区二区三区在线| 色婷婷av一区| 欧美在线一二三| 欧美日韩综合一区| 欧美三片在线视频观看 | 午夜精品福利视频网站| 一区二区三区免费在线观看|