32通道開關信號采集系統的設計與實現
3.1 主程序
卡件上電后,進入主程序,流程圖如圖4所示。首先判斷卡件是否為上電復位,如果不是上電復位,則通過死機恢復處理后直接進入巡回檢測階段:如果是上電復位,則先進行卡件自檢及初始化,包括設置堆棧指針,清內存,設置時間常數等,然后允許中斷,進入正常的巡回處理程序。可以通過參數設置,改變開關量跳變時間、狀態(tài)采集等功能。如果在主程序中檢測到程序中定義的接收數據標志位置位,表明單片機已接收到上位機發(fā)出的數據,接收數據過程由串行口中斷子程序來完成。根據上位機的數據,測量卡件作出相應的響應,或回送數據,或參數設置。

基于如上所示的超級循環(huán)結構的系統既可靠又安全。并且總體結構很簡單,易于理解。
3.2 初始化子程序
單片機初始化程序的作用是將單片機初始化到一個已知狀態(tài),并且使串口處于接收狀態(tài),為進入工作循環(huán)做好準備。系統上電復位后,單片機會立即調用初始化子程序,初始化子程序代碼包括:
◇初始化單片機內部寄存器、定時器T0和串口并且開中斷;
◇初始化單片機內部看門狗奇存器;
◇初始化溫度傳感器LM73;
◇單片機串口波特率設置,以及將串口設置為接收狀態(tài)。
◇讀取單片機在Modbus總線中的器件地址。
3.3 中斷服務子程序
信號采集服務子程序主要完成發(fā)生動作的開關量信號的采集,由溢出中斷來實現,每0.5 ms中斷一次。實現對開關信號的周期采集,為信號的通訊提供準備。
3.4 通訊子程序
通訊服務子程序主要指的是對上位機數據的接收子程序,由串行口中斷來實現。而發(fā)送回上位機的數據大多為開關量記錄信息,數據量較大,主要在主程序中完成。同時,可以設置通訊時波特率的大小,此項在卡件參數設置中可實現。
4 仿真與測試
系統的上位機軟件設計用的是太力信息產業(yè)有限公司的組態(tài)軟件EpSynall。EPSynall系統是一個全殲放的電力自動化系統開發(fā)平臺,它擁有穩(wěn)定可靠、快速高效、擴展性強、兼容性好的電力專業(yè)SCADA功能,可作為各種電力應用的基本SCADA平臺使用。
5 結束語
開關雖控制板帶有RS485接口,可以方便地接入到RS485網絡中,上位機通過與其通訊來實現對開關量輸出的控制,與傳統的開關量控制方式相比較可有效提高控制系統的自動化程度,擁有較好的擴展性,可將多塊控制板接入到同一個控制網絡中從而達到擴展更多路開關最輸出的目的。且通過改變上位機及控制板程序便可實現不同的控制方法,從而適用于不同的控制場合。目前該卡件已投入使用。各項性能指標皆達到原設計要求,運行可靠,狀況良好,可廣泛適用于化工、冶金、電力等行業(yè)工業(yè)過程中,實現開關量的采集,事故追憶等功能。
評論