CAN總線在電梯遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用
與采集卡相連接16塊電梯通訊卡,在初始化時,將地址接收碼與屏蔽碼設(shè)置為只接收采集卡發(fā)送的數(shù)據(jù)。當(dāng)通訊卡接收到采集卡發(fā)來的站號后,與自己的站號相比較,如果不同則不予理睬,如相同則發(fā)送電梯狀態(tài)數(shù)據(jù)到總線上。而采集卡在初始化時設(shè)置未為接收所有通訊卡的數(shù)據(jù),當(dāng)他接收總線上的數(shù)據(jù),確認(rèn)是否是所采集的電梯發(fā)送來的數(shù)據(jù),如果正確,則進(jìn)行協(xié)議轉(zhuǎn)換,將從電梯通訊卡接收來的數(shù)據(jù)轉(zhuǎn)化為符合上位機(jī)要求的格式;然后根據(jù)這些狀態(tài)信息,對電梯進(jìn)行故障診斷,判斷電梯是否正常運(yùn)行,如果不正常,則判斷發(fā)生了什么故障,或者可能會要發(fā)生什么故障,進(jìn)行故障報警或預(yù)報警;故障判斷等處理后,將故障碼和其他數(shù)據(jù)一起發(fā)送給上位機(jī),否則放棄這次操作。
在CAN總線通信中,初始化模塊較為重要,是一個重點(diǎn),也是難點(diǎn)。在初始化時,首先進(jìn)入復(fù)位模式,然后對CAN控制器的寄存器配置。但在實(shí)際中發(fā)現(xiàn)硬復(fù)位較可靠,只要時間足夠,一定能使CAN控制器進(jìn)人復(fù)位狀態(tài),但此時CAN控制器的某些寄存器的值不確定。軟復(fù)位正好相反,不一定能使CAN控制器進(jìn)人復(fù)位狀態(tài),但一旦進(jìn)人復(fù)位狀態(tài)則CAN控制器的寄存器數(shù)值就為確定的復(fù)位值。在實(shí)際應(yīng)用中此兩種復(fù)位方法結(jié)合使用效果好。因此,在硬件電路中還設(shè)計(jì)了Watchdog電路,它同時還可以防止單片機(jī)死機(jī)或者程序出現(xiàn)“跑飛”現(xiàn)象發(fā)生。初始化程序流程圖如圖2所示,采集卡整體程序流程圖如圖3所示。
圖2 CAN總線初始化模塊
圖3 采集卡流程圖
轉(zhuǎn)換卡與工作站通信過程
采集卡與工作站之間通過RS-232總線進(jìn)行通訊,MCU串口波特率為19200bs,工作站監(jiān)控軟件采用VisualBasic和SQL,將其MSComm控件的Settings屬性設(shè)置為“19200,E,8,1”。使用串口與工作站連接,從速率上可以滿足遠(yuǎn)程監(jiān)控系統(tǒng)的要求,而且可以降低成本。如果使用基于PCI總線的CAN總線適配卡,盡管可以提高通信速率,但是也增加了不少成本,況且,還要將協(xié)議轉(zhuǎn)換和故障判斷的任務(wù)移交給上位機(jī),增加了上位機(jī)的負(fù)擔(dān),會影響整個系統(tǒng)的實(shí)時性。綜合比較,還是CAN-232的性價比較高,適合本系統(tǒng)的使用。監(jiān)控軟件每隔40ms可以得出如圖4的旋轉(zhuǎn)角=∠AOC和俯仰角=∠COB,為了使求出的角度與COMPASS得出的角度協(xié)調(diào),以正北為零度來進(jìn)行角度調(diào)制,角度范圍從0~359.9。
圖4
結(jié)論
本系統(tǒng)結(jié)構(gòu)緊湊合理,可以根據(jù)需要調(diào)整到半球任何的一個位置點(diǎn)。在本系統(tǒng)中,樣機(jī)的功率為1.5W,自重2.5kg,可以負(fù)載10kg的天線(本系統(tǒng)的天線中0.7kg),轉(zhuǎn)動速度為每秒4度。該樣機(jī)在工程試驗(yàn)中跟蹤效果比較好,通過軟件來保證運(yùn)行的可靠性,結(jié)果表明響應(yīng)特性符合要求,精度完全滿足實(shí)際需要。
評論