自卸除鐵器中直接控制級應用軟件的子模塊設計是在對系統進行結構化功能模塊化分后,詳細地確定各個功能模塊的具體實施方案。本章節將給出幾個重要功能模塊的設計思路、控制要點和程序流程圖。 1、上層指令接收與處理: (1)通訊設計思路∶ 系統是一主多從的總線邏輯控制方式,每臺控制機柜都有自己的地址。如果采用軟件的方式進行地址判斷,過程管理級的監控計算機(上位機)發出的任何一條指令都能被所有下位機收到,若在程序中進行地址判斷和指令的取舍,無形中加大了處理器的負擔。由于直接控制級軟件涉及數據采集、控制、液晶顯示、通訊等各個方面,工作量很大,為了使通訊效率,采用第九位的通訊方式,由硬件來判斷地址的身份,若屬于本機,則繼續接受下面的數據;若不屬于本機,則直接忽略掉,整體不用控制程序的參與。 。2)第九位通訊方式的規則是:當自卸除鐵器系統串口控制寄存器中的第九位SM20位為1時,只有滿足如下條件才會進入接收中斷∶①SM20為邏輯1;②接收的第九位為邏輯1并且接收到的地址與UARTO的地址匹配。因此地址的濾波是由硬件自動完成的。當收到正確的地址字節后,程序將SM20置0,準備接收上位機的命令或數據字節。地址的濾波是在串口中斷中進行的。 2、數據發送模塊: 制定發送策略∶集中監控計算機每隔一定的時間發送查詢命令讀取直接控制級的參數。參數包括兩部分:是自卸除鐵器的運行狀態,一是除鐵器的電氣和物理參數。每當下位機的運行狀態發生變化時,就把當前所有參數打包存儲在鐵電存儲器內,并附加當時的時間信息(參數包加時間信息稱為一個條目)。當參數被查詢時,若存儲器內有歷史數據未上傳,則先上傳歷史數據;若所有歷史數據均上傳完畢,則僅上傳當前參數。采用這種方式,可節省存儲空間并提高上傳效率,因為其避免了相同信息的存儲和發送。該策略又能保證通訊故障時直接控制級的信息不丟失,確保了該層功能獨立、控制獨立的地位。 3、模擬量采集與處理: 轉換的開始是由程序發出指令,器件自動完成的。C8051F020提供了4種轉換啟動方式,可由ADC控制寄存器中的啟動轉換方式位設定。本方案采用寫ADOBUSY位的方式。 ADOBUSY位在數據轉換期間為1,轉換結束后復0。ADOBUSY的下降沿將觸發一個中斷通知處理器,并將中斷標志ADOINT置1,進入自卸除鐵器的中斷服務程序,該標志需要軟件清除,以便下一次轉換的順利進行。