消防指示燈智能監控系統三端口網關設計
圖4 為單片機采用查詢方式的程序流程圖。RI、TI分別是串口接收標志和發送標志。TX_FLG =0 表示STC11 處于接收狀態,TX_FLG=1 表示發送狀態。子程序SPI_BYTE 實現模擬SPI 主站功能。
圖4 擴展串口的STC11 單片機流程圖。
1.3 環形總線主站軟件結構
在第二級環路通信中, 中繼網關作為環路主站, 由STC12 單片機的串口1 和串口2 構成的兩個RS-485 端口實現。3 個通信端口分別設有獨立的接收(RX) 緩沖區、發送(TX) 緩沖區以及專用標志寄存器。
實現環路通信主站的軟件結構如圖5 所示。正常工作時, 兩個串口一個作為發送方, 另一個作接收方。比較接收方的接收數據與發送方的發送數據, 若相等則環路總線是通的;否則,總線出現斷路故障,用標志位LP_BRK=1表示。
注: 串口工作周期包括串口發送過程和等待下位機接收過程和該串口接收三部分。
圖5 環形總線主站通信流程圖。
在 環路總線完好的情況下, 在線的燈具總是既連接在串口1 上, 也連接在串口2 上。在環路斷線狀態下, 對每個燈具, 從串口2( 或串口1) 發送命令, 若接收到正確應答數據, 則記錄該燈具連接在該端口上, 用標志位ON_COM2 =1 ( 或ON_COM1 =1) 表示; 若應答信息超時或返回信息不正確, 則重發相同命令數據至多3 次, 仍然收不到正確應答信號, 則判斷該燈具沒有連接在該發送端口上, 用ON_COM2=0( 或ON_COM1=0) 表示。這樣, 根據每個燈具所連接串口的不同, 可以判斷環路斷線所在位置。
當環路斷開時, 兩個串口都作為命令發送方, 整個環路分為兩個單總線結構, 提高了網絡傳輸可靠性。
基于兩級RS485 總線環形通信網路的應急燈智能監控系統, 設計了三端口通信網關, 實現了監控計算機與大量智能應急燈之間命令和狀態信息交換, 監控計算機管理整個系統, 網關負責傳遞發送至智能應急燈的信息, 同時也將從燈具接收到的信息反饋至監控計算機。
此外也可不通過監控計算機直接控制該環路中的智能應急標志燈。經調試, 所預設功能完全實現。
評論