新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于VC++的現(xiàn)場(chǎng)總線控制系統(tǒng)在水處理系統(tǒng)中的應(yīng)用

        基于VC++的現(xiàn)場(chǎng)總線控制系統(tǒng)在水處理系統(tǒng)中的應(yīng)用

        作者: 時(shí)間:2014-03-10 來(lái)源:網(wǎng)絡(luò) 收藏

        圖1 上、下位機(jī)數(shù)據(jù)通訊流程圖

        軟件編制如下:

        do{//查詢(xún)can總線狀態(tài)(1為空閑,0為忙)
        ret=can_inquiry_trans( );}
        while(ret==0);
        ret=can_ptrans((byte)address,sznumber,(lp -byte)szdata);//發(fā)送特征字符
        if(ret==0)
        {messagebox(“數(shù)據(jù)下裝錯(cuò)誤!”,“數(shù)據(jù)下裝”,mb_ok|mb_iconstop);
        return;}
        do{//查詢(xún)有無(wú)下位機(jī)返回的數(shù)據(jù)(1為有數(shù)據(jù),0為無(wú)
        //數(shù)據(jù))
        ret=can _inquiry_rece( );}
        while(ret==0);//如果有下位機(jī)返回的數(shù)據(jù),接收數(shù)據(jù)
        ret=can_rece((lpbyte)&m_dtype,( lpbyte)&m_address,( lpbyte)&m_data);
        if((ret==0fxx00)||(ret==0fxxff))
        { messagebox (“無(wú)數(shù)據(jù)包收到或數(shù)據(jù)包錯(cuò)誤”,“接收錯(cuò)誤”mb_ok|mb_iconstop);
        return; }
        for(i=0;i4;i++) //數(shù)據(jù)包接收正確,處理接收的數(shù)據(jù)
        db[250+i]=m_data[i]; //判斷回送的特征字符是否
        //與無(wú)發(fā)送的特征字符相同
        if(!(m_data[0]==0x61hm_data[1]==0x61hm_data[2]==m_ptime m_data[3]==m_ptemp)) 
        { messagebox(“下位機(jī)回送特征字符錯(cuò)誤!”,“特征字符下裝”, mb_ok); 
        return; }
        messagebox (“下位機(jī)回送特征字符正確!”,“在線參數(shù)下裝”, mb_ok);


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 湄潭县| 清水县| 桦川县| 张家口市| 鹤壁市| 余庆县| 绍兴县| 景谷| 太谷县| 垦利县| 栖霞市| 昌黎县| 灵寿县| 临潭县| 揭阳市| 阜南县| 抚顺县| 改则县| 巢湖市| 镇巴县| 上蔡县| 潞城市| 渝中区| 洪洞县| 南川市| 子洲县| 浮山县| 弋阳县| 金昌市| 隆尧县| 吴江市| 资兴市| 麟游县| 西畴县| 永清县| 朝阳区| 克拉玛依市| 正定县| 客服| 彭州市| 六安市|