<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        luoyingdong
        級別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 157 個
        工控威望: 306 點
        下載積分: 1391 分
        在線時間: 103(小時)
        注冊時間: 2011-06-27
        最后登錄: 2025-05-07
        查看luoyingdong的 主題 / 回貼
        樓主  發(fā)表于: 2011-06-29 14:24
        這個程序可以用Visual Studio或EVC(Win CE)編譯,實際在Wince系統(tǒng)RUN過OK,有問題的可以回覆告知。
        下方范例程序可以直接讀取D0000的值。
        我是這個論壇的新人,不知道如何將文件上傳,我可以將完整專案文件上傳給大家參考,包刮PLC端Ethernet設(shè)定方法。


               WSADATA            wsaData;
            SOCKET            udpcmdSock;
            SOCKADDR_IN        saRecv, saSend;
            int                iLen,err,nSize;
            unsigned char    szToUdpCommand[80],szUdpResponse[100];
            struct    timeval        tv;
            fd_set    ReadFds;        //資料可讀取
            fd_set    WriteFds;        //資料可寫入
            fd_set    Exceptfds;        //錯誤檢出
            int        iRetCode;
            CString str1,str2;

            if(WSAStartup(0x0202,&wsaData) == SOCKET_ERROR)
            {
                 MessageBox(_T("Startup Failure;"),_T("AMI"),MB_ICONERROR|MB_OK);
                 WSACleanup();
                 return;
            }

            udpcmdSock = socket ( AF_INET, SOCK_DGRAM, 0 );
            if ( INVALID_SOCKET == udpcmdSock)
            {
                MessageBox(_T("socket error;"),_T("AMI"),MB_ICONERROR|MB_OK);
                WSACleanup();
                return;
            }
            // bind to a local socket and an interface.
            saRecv.sin_family = AF_INET;
            saRecv.sin_addr.s_addr = htonl ( INADDR_ANY );
            //saSend.sin_addr.s_addr = inet_addr("172.16.50.220");
            saRecv.sin_port = htons ( 3939 );
            err = bind ( udpcmdSock, (SOCKADDR *) &saRecv, sizeof (SOCKADDR_IN) );
            if ( err==SOCKET_ERROR  )
            {
                MessageBox(_T("bind error;"),_T("AMI"),MB_ICONERROR|MB_OK);
                closesocket( udpcmdSock );
                WSACleanup();
                return;;
            }

            saSend.sin_family = AF_INET;
            saSend.sin_addr.s_addr = inet_addr("172.16.50.222");   // htonl ( INADDR_BROADCAST );
            saSend.sin_port = htons ( 3941 );
            iLen=21;
            szToUdpCommand[0]=0x50;        //SubHeader.bL
            szToUdpCommand[1]=0x00;        //SubHeader.bH
            szToUdpCommand[2]=0x00;        //NetworkNo
            szToUdpCommand[3]=0xFF;        //PCNo
            szToUdpCommand[4]=0xFF;        //IONo.bL
            szToUdpCommand[5]=0x03;        //IONo.bH
            szToUdpCommand[6]=0x00;        //StationNo
            szToUdpCommand[7]=0x0C;        //Length.bL 12 byte
            szToUdpCommand[8]=0x00;        //Length.bH
            szToUdpCommand[9]=0x10;        //Timer.bL
            szToUdpCommand[10]=0x00;    //Timer.bH
            szToUdpCommand[11]=0x01;    //Command.bL
            szToUdpCommand[12]=0x04;    //Command.bH
            szToUdpCommand[13]=0x00;    //SubCommand.bL bit0=0 -> word unit
            szToUdpCommand[14]=0x00;    //SubCommand.bH
            szToUdpCommand[15]=0x00;    //AddressL
            szToUdpCommand[16]=0x00;    //AddressNULL
            szToUdpCommand[17]=0x00;    //AddressH
            szToUdpCommand[18]=0xA8;    //DeviceCode D
            szToUdpCommand[19]=0x01;    //Points.bL    1 points
            szToUdpCommand[20]=0x00;    //Points.bH

            str1.Format(_T("L=%d,SBuf="),iLen);
            for(int i=0;i<iLen;i++) str1.AppendFormat(_T("%02hX "),(BYTE)szToUdpCommand);
            GetDlgItem(IDC_STATIC1)->SetWindowTextW(str1);

            //--- send command to PLC ---
            err = sendto ( udpcmdSock,(char*)szToUdpCommand,iLen,0,
                (SOCKADDR *) &saSend,sizeof ( SOCKADDR_IN ));
            if (  err==SOCKET_ERROR  )
            {
                MessageBox(_T("sendto error"),_T(""),MB_ICONERROR|MB_OK);
                closesocket( udpcmdSock );
                WSACleanup();
                return;
            }

        /*********** receive response from Mit PLC ***********/
            tv.tv_sec = 2;//sec.
            tv.tv_usec = 0; //u-sec
            // The fd sets should be zeroed out before using them to prevent errors.
            FD_ZERO(&ReadFds);
            FD_ZERO(&WriteFds);
            FD_ZERO(&Exceptfds);
            //FD_CLR(udpcmdSock, &ReadFds );
            FD_SET(udpcmdSock, &ReadFds );

            iRetCode = select(0,&ReadFds,NULL,NULL,&tv);
            if (iRetCode == SOCKET_ERROR) {
                MessageBox(_T("select error"),_T(""),MB_ICONERROR|MB_OK);
                closesocket( udpcmdSock );
                WSACleanup();
                return;
            }

            if (FD_ISSET(udpcmdSock, &ReadFds)==0)//OnReceive
            {
                MessageBox(_T("Time Out !"),_T(""),MB_ICONERROR|MB_OK);
                closesocket( udpcmdSock );
                WSACleanup();
                return;
            }//OnReceive
            
            nSize = sizeof ( SOCKADDR_IN );
            err = recvfrom ( udpcmdSock, (char*)szUdpResponse,100, 0,
                (SOCKADDR FAR *) &saRecv, &nSize );
            if (err  ==  SOCKET_ERROR)
            {
                MessageBox(_T("recvfrom error"),_T(""),MB_ICONERROR|MB_OK);              
                closesocket( udpcmdSock );
                WSACleanup();
                return;
            }
            MessageBox(_T("recvfrom OK"),_T(""),MB_OK);

            str2.Format(_T("L=%d,RBuf="),err);
            for(int i=0;i<err;i++)    str2.AppendFormat(_T("%02hX "),(BYTE)szUdpResponse);
            GetDlgItem(IDC_STATIC2)->SetWindowTextW(str2);

            if ( udpcmdSock!=INVALID_SOCKET ){
                closesocket(udpcmdSock);
            }
            WSACleanup();

        Fred Lo
        iteerh
        級別: 家園常客

        精華主題: 0
        發(fā)帖數(shù)量: 552 個
        工控威望: 803 點
        下載積分: 17334 分
        在線時間: 2377(小時)
        注冊時間: 2006-10-25
        最后登錄: 2026-03-14
        查看iteerh的 主題 / 回貼
        1樓  發(fā)表于: 2011-06-29 21:44
        我也想要,.
        iteerh@yahoo.tw
        iteerh
        級別: 家園常客

        精華主題: 0
        發(fā)帖數(shù)量: 552 個
        工控威望: 803 點
        下載積分: 17334 分
        在線時間: 2377(小時)
        注冊時間: 2006-10-25
        最后登錄: 2026-03-14
        查看iteerh的 主題 / 回貼
        2樓  發(fā)表于: 2011-06-29 21:46
        我也想要,謝謝,剛信箱不完整

        iteerh@yahoo.com.tw
        iteerh
        級別: 家園常客

        精華主題: 0
        發(fā)帖數(shù)量: 552 個
        工控威望: 803 點
        下載積分: 17334 分
        在線時間: 2377(小時)
        注冊時間: 2006-10-25
        最后登錄: 2026-03-14
        查看iteerh的 主題 / 回貼
        3樓  發(fā)表于: 2011-07-07 20:51
        已收到,謝謝你

        主站蜘蛛池模板: 亚洲精品麻豆一区二区| 伊人色综合一区二区三区影院视频| 国产无套护士在线观看| 成人精品一区日本无码网| 粉嫩虎白女p虎白女在线| 亚洲一区二区三区人妻天堂| 国产精品小粉嫩在线观看| 国产老妇伦国产熟女老妇高清| 国内精品久久人妻无码网站| 韩国亚洲精品a在线无码| 国产无遮挡无码视频免费软件| 亚洲色大成网站www看下面| 亚洲国产欧美一区二区好看电影| 欧美大胆老熟妇乱子伦视频| 女人扒开屁股桶爽30分钟高潮| 欧美黑吊大战白妞| 成人精品一区二区三区四| 欧美老人巨大XXXX做受视频| 日韩有码中文字幕国产| 成人午夜福利一区二区四区| 精品国产一区二区三区久| 国产成人综合色就色综合| 国产欧美一区二区日本加勒比| 老司机导航亚洲精品导航| 国产精品人成视频免费播放| 国产伦精品一区二区三区| 视频一区二区三区高清在线| 人妻中文字幕精品系列| 国产情侣激情在线对白| 人妻少妇久久中文字幕| 中文字幕无码人妻aaa片| 亚洲男人第一av天堂| 2021AV在线无码最新| 亚洲乱码一二三四区国产| 69人妻精品中文字幕| 国产综合色产在线视频欧美| 亚洲精品视频一二三四区| 亚洲精品成人福利在线电影 | 一区二区不卡国产精品| 亚洲精品理论电影在线观看| 老司机午夜精品视频资源|