鄭雅偉,鄭雅宏
(1.山西經濟管理干部學院,山西太原030024;2.太原科技大學,山西太原030024)
隨著十二五規(guī)劃中各行業(yè)工業(yè)系統(tǒng)升級的逐步落實,工業(yè)現場的智能化已經成為大勢所趨,如何能夠在環(huán)境惡劣的工業(yè)場合進行智能化電子系統(tǒng)的嵌入,一直是工業(yè)現場智能化研究的重要課題。
在工業(yè)現場中,常常需要采集一些無源開關狀態(tài),傳遞到人機界面,以便工作人員能夠準確實時的得到設備運行、環(huán)境參數、安全報警等重要信息。與其他類型數據相比,無源開關量數據的特點是數據量小,但對數據的準確性和實時性要求極高,這個特點對無源開關量數據系統(tǒng)的采集提出了很高的要求。
首先,系統(tǒng)的安全性要求高。工業(yè)現場存在很多大功率強電設備,可能產生較大的靜電及擊穿電弧,智能化系統(tǒng)的主控制電路通常為耐壓等級較低的MCU、芯片和元件,如果現場工作人員的操作不當,很可能會對系統(tǒng)造成不可逆的損壞。
其次,系統(tǒng)的抗干擾能力要求高。智能化工業(yè)現場的通信協議繁雜,標準不一,各種有線及通信方式互相串擾,數據在采集和傳輸過程中,很可能會受到不同程度的干擾,在一些干擾大的場合,即使是抗干擾能力很強的數字信號,也可能會被噪聲淹沒。
為解決上述問題,本文提出了一些解決方案。在系統(tǒng)的安全性方面,本文提出一種信號隔離的方式,來確保開關量數據在采集過程中,如果發(fā)生突發(fā)性的沖擊電壓,系統(tǒng)可以安全穩(wěn)定的工作。在系統(tǒng)抗干擾能力方面,本文采用了一種低成本、高糾錯能力工業(yè)現場通信協議,在最大程度上確保了數據的準確性。
圖1所示為本文所涉及的無源開關量采集系統(tǒng)的結構圖。若干路的無源開關量信號被該系統(tǒng)采集后,經過加工和處理,由RS485總線傳輸至工業(yè)現場環(huán)境之外的遠程計算機,通過協議轉換,使計算機能夠準確、實時地獲取數據。
圖1 無源開關量采集系統(tǒng)結構圖
為保證系統(tǒng)的安全性,本方案將通過電源隔離技術和信號隔離技術,將供電電源、開關量數據、RS485總線分別進行隔離,這樣就使整個系統(tǒng)在保證信號正常傳輸的前提下,在電氣上和外界無共地點,一旦外界對系統(tǒng)輸入較大的沖擊電壓,將能夠避免損失,或者將損失降到最小。
為保證系統(tǒng)的可靠性,本方案采用了RS485總線進行數據傳輸,RS485接口是采用平衡驅動器和差分-接收器的組合,抗共模干擾能力增強,即抗噪聲干擾性好。
硬件電路的主體包括三部分:無源開關量采集及隔離電路(如圖2)、RS485傳輸及隔離電路(如圖3)、電源隔離電路(如圖4)。
在無源開關量采集及隔離電路中,四路開關量分別從KIN0/KIN1/KIN2/KIN3輸入,其無源特性體現在:當開關量輸入點接地時,即為開關合狀態(tài);當其懸空時,即為開關開狀態(tài),開關量接入點在開、合狀態(tài)均不帶電。本電路中,MCU選用意法半導體公司的STM32F103VET6[1],隔離芯片選用光耦芯片TLP521。當開關量有輸入,會觸發(fā)光耦芯片前級導通,進而打開后級開關管,MCU對應的GPIO口將得到電平“1”;反之,當開關量輸入點懸空時,光耦芯片前級未通,后級開關管沒有打開,MCU對應的GPIO口輸入即為“0”。這樣的電路結構,既保證了無源開關量數據的準確采集,還通過光耦隔離,使對外開關量接入點和MCU進行了電氣隔離,確保了電路的安全性。
RS485傳輸及隔離電路,RS485物理層芯片選用MAX3485[3],信號隔離芯片選用 ADUM1201,控制信號隔離芯片選用 TLP521,MCU的 USART的 TX和 RX在連接RS485物理層芯片之前,通過隔離芯片進行了信號隔離,確保了電路的安全性。DE信號作為RS485物理層芯片半雙工方式的切換信號,可以連接MCU中的普通IO口,實現靈活控制,DE信號同樣經過隔離來確保電路的安全性。
電源隔離是非常重要的環(huán)節(jié)。為實現真正的信號隔離,在隔離芯片TLP521和ADUM1201的兩側的供電只能為隔離電源,本方案采用了IF0505作為電源隔離芯片,使整個系統(tǒng)的各個隔離模塊真正生效。
圖2 無源開關量采集及隔離電路圖
圖3 RS-485傳輸及隔離電路圖
圖4 電源隔離電路圖
本系統(tǒng)的軟件實現方法較為靈活,大致可以采用變送和定時刷新兩種方式。
變送的方式是一旦無源開關量狀態(tài)發(fā)生變化,即進行數據的上傳。此方式的優(yōu)點是實時性高,MCU的工作效率高。缺點是如果系統(tǒng)發(fā)生故障,數據將停止傳送,此時容易造成上位機的誤判斷,無法對系統(tǒng)故障和無數據兩種狀態(tài)進行區(qū)分。解決這個問題,需要加入心跳協議,心跳數據傳輸的同時,亦增加了系統(tǒng)開銷。
本系統(tǒng)方案采用的是定時刷新的方式。此方式需要開啟一個系統(tǒng)定時器,定時讀取IO口的無源開關量數據,并將數據不間斷地上傳,這樣,數據包傳遞數據的同時,也起到了心跳包的作用。如圖5為系統(tǒng)主函數的流程圖。主要包括系統(tǒng)時鐘、定時器、GPIOE、USART的配置和初始化,根據對數據實時性的要求,可以對定時器的定時值進行合理的配置,以及循環(huán)讀取GPIOE的輸入數據。與此同時,需要編寫定時器中斷服務函數,在定時器溢出中斷服務函數中,需要啟動USART數據傳輸,值得注意的是,在數據傳輸之前需要發(fā)出DE信號,確保RS485物理層芯片工作在發(fā)送狀態(tài)。
圖5 主函數流程圖
根據工業(yè)現場的實際情況來看,無源開關量數據的采集和傳輸只是工業(yè)現場數據采集和傳輸的其中一個課題,在智能化程度越來越高的工業(yè)現場,各種傳感器數據、開關量數據、流媒體數據等需要一個龐大的數據傳輸網來支撐。本方案只是完成了其中一個環(huán)節(jié)的設計,如何能將本系統(tǒng)完美地融入工業(yè)現場通信網絡,是本方案接下來需要進行的工作。
工業(yè)現場通信網絡可分為有線和無線兩大類。有線通信的方式基本分為各類現場總線和以太網兩種方式。本方案中的RS485通信方式,雖然具有較強的抗干擾能力和可靠性,但如果要實現網絡化,還需要大量工作。如果不需要過多考慮成本問題,可以采用現場總線的方式來實現數據傳輸,這樣既保證了高可靠性和抗干擾能力,還能夠無縫融入工業(yè)現場的標準通信網,在更好地解決實際問題的同時,極大地提高了系統(tǒng)的兼容性和可移植性。
[1]STM32F103xx Advanced ARM -based 32-bit MCUs Datasheet[Z].意法半導體公司,2009.
[2]STM32F10x Standard Peripherals Library[Z].意法半導體公司,2011.
[3]Explanation of Maxim RS-485 Features - Application Note[Z].Maxim Integrated Products,2010.