采用RS422A現場(chǎng)總線(xiàn)溫控網(wǎng)絡(luò )控制系統的結構及分析
dcb.fBinary=TRUE;
dcb.BaudRate=m_nBaud;
dcb.ByteSize=m_nDataBits;
dcb.fParity=TRUE;
dcb.Parity=EVENPARITY;
dcb.StopBits=ONESTOPBIT;
return SetCommState(m_hCom, dcb);
……//以上為打開(kāi)并配置串口代碼
SetTimer(1,5000,NULL); //啟動(dòng)定時(shí)器,定時(shí)間隔為5妙
CwinThread*m_pThreadd=AfxBeginThread(CommProc,this->GetDocument(), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED, NULL); // 創(chuàng )建并掛起線(xiàn)程
if(m_pThreadd==NULL)
?。?p> CloseHandle(m_hCom);
return FALSE;
?。?p> else
?。?p> m_bConnected=TRUE;
m_pThreadd->ResumeThread(); // 恢復線(xiàn)程運行
?。?p> ……
?。?p> UINT CommProc(LPVOID pParam)為輔助通信線(xiàn)程,該線(xiàn)程完成設定值以及動(dòng)態(tài)數據的讀取,其程序流程圖如下所示:
void CRS422AnetView::OnTimer(UINT nIDEvent)為響應計時(shí)器消息的函數,定時(shí)被觸發(fā),本程序中定時(shí)間隔為5秒。在該函數里,主要是恢復輔助通信線(xiàn)程以及調用數據顯示程序p定時(shí)刷新數據等。
(2) 歷史紀錄瀏覽進(jìn)程設計
歷史紀錄的瀏覽是為了對過(guò)去生產(chǎn)過(guò)程的回顧,可將產(chǎn)品的質(zhì)量和過(guò)程的設定結合起來(lái)進(jìn)行分析,對以后的生產(chǎn)提供參考,以便能提高產(chǎn)品的生產(chǎn)質(zhì)量。這個(gè)進(jìn)程提供了一定的查詢(xún)功能,能將歷史紀錄用曲線(xiàn)的方式回放出來(lái),能將重要的過(guò)程鎖定下來(lái),也能刪除過(guò)程紀錄。
本文介紹的基于RS422A現場(chǎng)總線(xiàn)的溫控網(wǎng)絡(luò )系統已經(jīng)在現場(chǎng)運行了較長(cháng)時(shí)間,系統運行穩定可靠,充分發(fā)揮了網(wǎng)絡(luò )管理的便捷優(yōu)點(diǎn),提高了生產(chǎn)效率。顯然,對于一些中、小規模的測控系統,采用RS422A是一個(gè)很好的選擇。
評論