摘要:給出SCADA系統(tǒng)中CAN總線節(jié)點機(jī)的硬件、軟件設(shè)計。
關(guān)鍵詞:SCADA系統(tǒng);RTU;CAN總線節(jié)點機(jī);DSP
引言

SCADA(Supervisory Control And Data Acquisition)數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)是以微型計算機(jī)為核心,綜合利用計算機(jī)技術(shù)、通信技術(shù)、控制技術(shù)等技術(shù)以完成遙控、遙測、遙信、遙調(diào)的一種控制系統(tǒng),在電氣化鐵道上也稱為遠(yuǎn)動系統(tǒng)。
一個SCADA系統(tǒng)可分為三大部分:調(diào)度端,通道,多個遠(yuǎn)方終端單元(RTU)。其中RTU接受調(diào)度端的命令去控制現(xiàn)場的各個被控對象和對現(xiàn)場被控對象進(jìn)行數(shù)據(jù)監(jiān)測并將數(shù)據(jù)送往調(diào)度端。
目前現(xiàn)場總線控制技術(shù)得到廣泛的重視,而CAN總線技術(shù)以其高速、可靠、價廉以及簡單應(yīng)用在現(xiàn)場控制系統(tǒng)中更是得到廣泛應(yīng)用。我們在開發(fā)電氣化鐵道SCADA系統(tǒng)時,在RTU子系統(tǒng)中采用基于CAN總線的分布式控制系統(tǒng)。圖1是基于CAN總線RTU子系統(tǒng)的體系結(jié)構(gòu)圖。工控機(jī)作為RTU子系統(tǒng)的主控機(jī),由插在ISA槽中的CAN卡和下位CAN節(jié)點機(jī)進(jìn)行通信,下位CAN節(jié)點機(jī)可以分布在現(xiàn)場。
硬件設(shè)計
圖2是RTU的交流采樣(遙測)cAN總線節(jié)點機(jī)框圖。CAN節(jié)點機(jī)以TI公司的TMS320F240 DSP為處理器,ADC芯片采用14位的MAXl25,CAN協(xié)議控制器采用SJAl000,雙CAN口。
信號調(diào)理電路
在電力系統(tǒng)交流采樣中,上萬伏的電壓和幾百安的電流先經(jīng)一級電力互感器變換成100V的交流電壓和5A的交流電流。這樣交流采樣節(jié)點機(jī)的輸入量是100V的交流電壓和5A的交流電流,不能直接進(jìn)行A/D轉(zhuǎn)換,因而在測量時還要引入一級互感器,利用互感器將電網(wǎng)的二次高壓和大電流變換成0到5V或一5V到+5V的電壓送入A/D轉(zhuǎn)換器,具體電路見圖3。
圖中畫出了電流和電壓互感器電路,電壓互感器的原邊100V(有效值)電壓轉(zhuǎn)換成2mA電流輸入,副邊輸出2mA電流經(jīng)精密運放OP07轉(zhuǎn)換成-3.5V至+3.5V的電壓量(幅值范圍為一5V至+5V)。電流互感器的原邊輸入5A的電流,副邊輸出2mA的電流經(jīng)運放轉(zhuǎn)換成-3.5V至+3.5V的電壓量。
Rll,R12、R13,R21、R22的值可以通過以上給出的電流、電壓值計算出來,R11=1 00V/2mA,R12+R13=R21+R22=3.5V/2mA
A/D轉(zhuǎn)換電路
AID轉(zhuǎn)換器采用MAXl25 ADC芯片,它和TMS320F240的接口電路如下圖4。MAXl25的數(shù)據(jù)、控制寄存器配置成DSP的I/O端口,圖中MAXl25的端口號為0X04。DSP通過outport(port,Value)和inport(port,variable)I/O指令訪問MAX 1 25。DSP通過SPISTE啟動MAXl25進(jìn)行轉(zhuǎn)換,MAXl25轉(zhuǎn)換完成向DSP申請中斷,DSP在中斷程序中讀取轉(zhuǎn)換結(jié)果。
DSP和CAN協(xié)議控制器的接口電路
CAN協(xié)議控制器選用SJAl000。TMS320F240的地址總線和數(shù)據(jù)總線是獨立的,而SJAl000的地址數(shù)據(jù)總線是分時復(fù)用的,兩者不能直接接口。我們利用DSP的I/O引腳產(chǎn)生讀寫信號,也即用軟件模擬讀寫時序。因為TMS320F24X系列DSP有較充分的I/O口,所以這種方法實現(xiàn)比較容易。具體的接口電路見圖5。

CAN總線的收發(fā)電路
圖6是收發(fā)電路圖。cAN協(xié)議控制器用的是SJAl000,光耦用高速度的6N137,收發(fā)器用82C250。CAN協(xié)議實現(xiàn)了物理層和數(shù)據(jù)鏈路層的功能,編程時只需在應(yīng)用層將數(shù)據(jù)組織成報文發(fā)送到SJAl000并啟動發(fā)送,SJAl000會自動將報文發(fā)往CAN總線;當(dāng)SJAl000從CAN總線接收到報文時,用戶也只須在應(yīng)用層采用中斷或查詢方式從SJAl000讀取報文。
軟件設(shè)計
程序可以劃分為5大模塊:
·初始化模塊:完成DSP和CAN協(xié)議控制器的初始化、全局變量的初始化。
·采樣中斷程序:涉及到兩個中斷,一是定時觸發(fā)采樣中斷;二是MAXl25轉(zhuǎn)換結(jié)束中斷,在這個中斷服務(wù)程序中讀取轉(zhuǎn)換結(jié)果,采樣數(shù)據(jù)存放到采樣數(shù)據(jù)緩沖區(qū)Acq Buffer[]。
·數(shù)據(jù)處理程序:該模塊從采樣數(shù)據(jù)緩沖區(qū)Acq_Buffer[]取數(shù)據(jù)進(jìn)行處理,完成電流、電壓、功率、功率因素、基波含量及諧波的計算。將結(jié)果存放到計算結(jié)果緩沖區(qū)Result_Buffer[]。
·CAN接收中斷程序:接收上位機(jī)的命令,并置相應(yīng)的標(biāo)志,供主程序查詢執(zhí)行。
·CAN總線通信程序:交流采樣CAN節(jié)點機(jī)和上位機(jī)通過cAN總線和工控機(jī)中的CAN卡進(jìn)行通信,通信模塊程序從計算結(jié)果緩沖區(qū)Result_Buffer[]取出數(shù)據(jù)傳送到上位機(jī)。
整個程序采用DSP的c語言編寫,CAN,總線通信協(xié)議采用DeviceNet協(xié)議。
結(jié)語
本文以遙測節(jié)點為例闡述了SCADA系統(tǒng)中CAN總線智能節(jié)點機(jī)的硬件、軟件設(shè)計技術(shù)。該節(jié)點機(jī)的處理器采用工業(yè)控制用TMS320F240 DSP。采用CAN總線和上位機(jī)通信,通信協(xié)議采用DeviceNet協(xié)議。筆者所設(shè)計的CAN節(jié)點機(jī)已投入電氣化鐵道遠(yuǎn)動系統(tǒng)的實際使用。