劉保平 上海鐵路局車輛處
作為客車運行安全的重要組成部分,發電車一直是列車運行安全的關鍵部位,如何有效地保證運用發電車的安全,將發電車故障率和乘務路風管理置于有效的控制下,鐵道部、各鐵路局均采用了一系列的技術手段來解決這一問題。其中,具有代表性的為安裝在發電車上的客車運行安全監控系統(TCDS)、柴油機組運行監控系統以及發電車巡檢儀(機房打卡記錄儀)等等。這些系統在監控發電車的設備安全、乘務紀律方面發揮了巨大作用,但是由于這些監控設備在設計上突出重點不同,監控手段上存在各自為政的問題,使得這些設備不僅擠占了發電車的空間,而且在設備投入和人員管理及維護上也造成巨大的浪費。在此研究探討對此類監控設備進行系統化集成,以達到資源有效配置,效果有效發揮和運行成本減少的目的。
監控系統由地面接收裝置、網絡傳輸系統、車載信息收集裝置、車載無線發射裝置和相關接口組成。
車載信息采集裝置主要由各類傳感器及信號收集器構成,其中可收集的數據有:全列客車的軸溫、風壓,柴油機組的電壓、電流、功率、水溫、油溫、油壓及乘務機房巡檢時間、巡檢人等影響發電車安全質量和乘務管理的相關因素,如有必要,還可以添加視頻和聲音信息。
車載無線發射裝置由數據轉換單元、數據處理單元、數據通訊單元幾部分組成,其作用就是將傳感器采集來的數據經過模數轉換后,通過中央處理單元進一步編譯后傳輸給數據接收裝置。
地面接收裝置由地面基站、無線接收器和數據處理單元組成。集成的監控系統由于安裝在運行的發電車中,其數據利用的是GPRS技術,通過分布在各地的基站傳輸到車輛段客整所,經過軟件(地面專家系統)編譯后顯示出來,同時網絡通道層層連接,同步滿足局、部監控中心的需要。
全套的監控系統可在原客車安全監控系統TCDS平臺的基礎上,利用TCDS現有的控制電源、數據處理器、網絡傳輸通道和數據處理軟件達到硬件集成的目的。由于TCDS系統相對復雜,相關資料已對運行過程做了說明,現僅對發電車監控系統和電子巡檢系統從數據采集到與客車安全監控系統(TCDS)連接及通訊進行分析。
發電車的監控數據包含柴油機組的電壓、電流、功率、水溫、油溫、油壓等,每一項數據均需要對應的傳感器進行數據采集。我們可以看到,上述的數據由于需要被實時監控,在發電車設計制造時就已經在對應的位置安裝有傳感器,目前除需要在控制屏的線路上安裝互感器外,已不需要額外進行改造。下面以電壓采集為例,說明發電車的電壓數據是如何實現與TCDS的數據傳輸。
在實現電壓采集時,從成本因素考慮,可采用性價比高,結構簡單的TLC0831芯片作為A/D轉換器件,單片機采用STC89C51單片機。STC89C51單片機的優點是不需要編程器和下載線,直接通過串口就可以下載程序,開發方便,下載的電路就是RS232的通信電路。同時為充分利用TCDS現有電源,使新增部分與TCDS電源一致,可采用5V電源電壓作為A/D的參考電壓。由于參考電源的限制,測量的最大電壓為5V,發電機發出的三相交流電電壓值遠遠大于參考值,不適合直接進行數據采集,需要進行降壓采集,所以整個數據采集和模數轉換的原理圖如圖1所示。
利用TLC0831芯片和STC89C51單片機的物理連接實現A/D轉換和數據通訊功能(如圖2所示),其中所使用的TLC0831是TI公司推出的8位模數轉換芯片,該芯片工作電壓為5V,采用逐次逼近式轉換結構,具有串行控制功能。250kHz的頻率下,轉換時間約為32μs。該芯片具有的串行控制功能使其在與微處理器接口時,能大大節省微處理芯片的I/O口。通訊轉換器為MAX232,轉換后可以使處理器通過RS232接口與計算機和其它處理器進行通訊,與TCDS的通訊可以在此得到實現。

圖1 電壓采集及A/D轉換原理圖

圖 2 TLC0831、STC89C51、MAX232 連接電路
TLC0831的引腳功能如下:
1腳CS:SP1通信的片選;2腳 IN+:差分+輸入;3腳 IN-:差分-輸入(一般接地);5 腳 REF:參考電壓;6 腳 DO:SPI串行數據輸出;7腳CLK:SPI通信時鐘;8腳和4腳為電源和地。
3軟件核心程序及流程圖
TLC0831是一款SPI接口的器件,51單片機內部沒有硬件SPI接口,因此需要利用軟件模擬SPI的時序,參照TLC083l的操作時序(如圖3所示),在片選CS有效(低電平)的期間內,利用時鐘信號CLK來同步讀取D0引腳上的數據。編寫SPI程序的時候需要注意以下幾點:

數據位:高位在前,還是低位在前。對應不同的情況程序上需要作相應的處理,比如左移或者右移,還有就是直接通過與或處理得到相應的位數據。
時鐘沿:上升沿讀取數據,還是下降沿讀取數據。如果是上升沿讀取,一般是先把時鐘線拉低,之后再拉高,制造一個上升沿,之后去讀取數據位;下降沿剛好相反。具體見下面的程序分析。
核心程序:
Fina=temp_read*1.95
函數_讀取一次轉換結果
Unsigned char read0831()
{
Unsigned char I;//定義循環變量
T0831_cs=1;//置高
Delay0831(10);//延時
T0831_sk=1;//時鐘置高
T0831_cs=0;//cs拉低
T0831_sk=0;//時鐘拉低
For(i=0;i<8;i++);//循環 8 次,讀取數據
{
T0831_sk=1;
T0831_sk=0;
If(T0831_do)//判斷數據bit高低
Datasoute++;
Datasoute<<=1;左移一位
}
T0831_cs=1;//CS置高,清空寄存器
T0831_sk=1;//時鐘置高
Delay0831(20);
Return(datasoute);返回數據
}
函數-軟件濾波
Void filter(void)
{
Unsigned char I;//定義循環變量
Unsigned char temp[4];//累加數據
temp[0]=read0831();第一次讀取
For(i=0;i<100;i++);//延時一段時間
temp[1]=read0831();第二次讀取
For(i=0;i<100;i++);//延時一段時間
temp[2]=read0831();第三次讀取
For(i=0;i<100;i++);//延時一段時間
temp[3]=read0831();第四次讀取
For(i=0;i<100;i++);//延時一段時間
Temp_read=temp[0]+temp[1]+temp[2]+temp[3];//四次結果累加
Temp_read=Temp_read>>2;//右移二位,相當與除以4
由此發電車電壓數據經過采集轉換后被送入TCDS系統中,在具有PLC控制的列車網中,TCDS的通訊是通過列車網實現的,采用的是lonworks網絡,分為列車級和車輛級,兩級網絡的數據傳輸通過網關和代理節點實現。帶有發電車的TCDS系統,由于僅監控軸報數據這一項,且軸報采用的是RS485接口,因此新采集的數據在通訊時也需要通過網關進行電平轉換和協議轉換,但是相對于lonworks網絡,所需要的通訊設備就要少得多。
這里需要說明的是,僅僅實現車上物理連接和程序是遠遠不夠的,要想遠程監控新增的發電車數據,還需要對 TCDS發生裝置中固化的程序和地面專家系統的程序進行對應修改,這樣才能完成整個數據的傳輸和監控。因此在TCDS系統開發和升級過程中,應預留擴展插槽,開放系統原程序,對設備的安裝和程序的調用實現模塊化設計,這樣才能更好地發揮TCDS監控作用,并為以后的功能提升打下基礎。