一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
樓主  發(fā)表于: 2011-06-29 14:24
這個(gè)程序可以用Visual Studio或EVC(Win CE)編譯,實(shí)際在Wince系統(tǒng)RUN過OK,有問題的可以回覆告知。
下方范例程序可以直接讀取D0000的值。
我是這個(gè)論壇的新人,不知道如何將文件上傳,我可以將完整專案文件上傳給大家參考,包刮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;        //錯(cuò)誤檢出
    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
luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
1樓  發(fā)表于: 2011-06-29 14:26
不知是否有上傳成功
Fred Lo
luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
2樓  發(fā)表于: 2011-06-29 15:29
發(fā)郵件給2樓了,請(qǐng)注意接收
Fred Lo
luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
3樓  發(fā)表于: 2011-06-30 07:47
已發(fā)出郵件給6樓,請(qǐng)查收
Fred Lo
luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
4樓  發(fā)表于: 2011-10-05 12:25
郵件已發(fā)出,請(qǐng)查收
Fred Lo
luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
5樓  發(fā)表于: 2011-10-06 10:33
我把檔案(共3個(gè) )放上來,包刮說明文件,有興趣的人請(qǐng)自行下載
Mit_02.zip (2 K) 下载次数:198    PLC Ethernet設(shè)定.zip (124 K) 下载次数:231
Fred Lo
luoyingdong
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 162 個(gè)
工控威望: 306 點(diǎn)
下載積分: 1203 分
在線時(shí)間: 103(小時(shí))
注冊(cè)時(shí)間: 2011-06-27
最后登錄: 2024-11-22
查看luoyingdong的 主題 / 回貼
6樓  發(fā)表于: 2012-01-29 14:55
檔案放在12樓,請(qǐng)自行下載
Fred Lo

主站蜘蛛池模板: 99这里都是精品| 四虎论坛| 免费α片| 国产极品美女在线| 成人精品| 亚洲 欧美 国产 综合久久| 99视频观看| 国产成人免费在线视频| 亚洲好视频| 天天操精品视频| 性姿势女人嗷嗷叫图片| 国产成人盗摄精品| 精品国产区| 波多野结衣两女调教| 福利入口在线观看| 67194在线免费观看| 午夜国产在线| 忘忧草高清| 欧美高清乌克兰精品另类| 火影忍者羞羞| 久久亚洲成a人片| 男男同志gaysxxx| 欧美另类变态| 欧美一级xxx| 亚洲国产自| 欧美日韩成人在线| 精品卡1卡2卡三卡免费网站| 国产国语videosex另类| 久久青青草原| 俺去俺来也在线www色官网| 国产私拍精品88福利视频| 欧美日韩国产一区二区三区在线观看 | 日本成人黄色网址| 人人爽人人草| 久久伊人中文字幕有码| 俄罗斯妈妈k8影院在线观看| 黄色a视频| 桃乃木香在线| 96萝莉| 国内精品91东航翘臀女神在线 | 欧美精品一区二区在线观看|