過程分析儀器CAN網絡通信設計
智能節點分析儀器端的編程采用 C 語言與匯編語言相結合的方式,采用結構化程序設計方案,可讀可移植性好。流程如圖3 和4 所示。
圖3 分析儀器主節點程序流程圖
主節點在接收到從節點傳送過來的數據后,在接收成功引起的中斷處理程序中對數據進行處理,然后轉存到主節點的發送郵箱中,等待發送給上位機。在進行數據處理的時候要把接收郵箱中的數據賦給中間變量,處理完后再把中間變量的值賦給發送郵箱,這個過程中要注意借助指針來完成。如下所示:
Mailbox = ECanaMboxes.MBOX0 + n; // n 為郵箱號
receiveboxl = Mailbox->MDRL.all;
receiveboxh = Mailbox->MDRH.all;
圖4 分析儀器從節點程序流程圖
3 實驗結果及分析
使用 KPCI-8110 的測試程序向分析儀器周期發送一幀數據時,查看測試程序和分析儀器存儲器可以看出,分析儀器端正確地接收到PC 發送來的數據,CAN 網絡運行良好。圖5為自己開發的接收界面試驗狀態下成功接收到數據,分析儀器網絡分析周期為20s,發送速率為100Kbps。
圖5 上位機接收界面
在對節點和上位機的通信進行試驗的時候發現,在單獨使用eCAN 模塊發送和接收數據時,通信情況良好,發送和接收的幀數相同。
需要注意的是,在運行DSP 多組分氣體分析平臺的整個軟件程序時,在較短時間內要以較大速率發送大批量數據,故將A/D 采樣之后的數據濾波和處理部分放在主程序中執行,盡可能減少A/D 中斷服務子程序的處理時間,這樣就可以減少對CAN 發送中斷程序的影響。
經實驗證明,以上分析和判斷是正確的,網絡通信狀況良好,無丟幀現象。
4 總結
高效液相色譜儀相關文章:高效液相色譜儀原理
評論