新聞中心

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

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

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

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

軟件編制如下:

do{//查詢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ù)下裝錯誤!”,“數(shù)據(jù)下裝”,mb_ok|mb_iconstop);
return;}
do{//查詢有無下位機返回的數(shù)據(jù)(1為有數(shù)據(jù),0為無
//數(shù)據(jù))
ret=can _inquiry_rece( );}
while(ret==0);//如果有下位機返回的數(shù)據(jù),接收數(shù)據(jù)
ret=can_rece((lpbyte)&m_dtype,( lpbyte)&m_address,( lpbyte)&m_data);
if((ret==0fxx00)||(ret==0fxxff))
{ messagebox (“無數(shù)據(jù)包收到或數(shù)據(jù)包錯誤”,“接收錯誤”mb_ok|mb_iconstop);
return; }
for(i=0;i4;i++) //數(shù)據(jù)包接收正確,處理接收的數(shù)據(jù)
db[250+i]=m_data[i]; //判斷回送的特征字符是否
//與無發(fā)送的特征字符相同
if(!(m_data[0]==0x61hm_data[1]==0x61hm_data[2]==m_ptime m_data[3]==m_ptemp)) 
{ messagebox(“下位機回送特征字符錯誤!”,“特征字符下裝”, mb_ok); 
return; }
messagebox (“下位機回送特征字符正確!”,“在線參數(shù)下裝”, mb_ok);


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉