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