陳良
?
基于PLC的信號采集系統(tǒng)研究
陳良
中鐵十九局集團電務(wù)工程有限公司,北京 102600
在工業(yè)環(huán)境越來越惡劣的情況下,基于PLC的信號采集系統(tǒng)開始逐漸應(yīng)用到工業(yè)生產(chǎn)之中,有效提高了系統(tǒng)的實際抗干擾能力。在C++Builder環(huán)境下,利用上位機人機交互界面,能夠?qū)LC信號采集與控制系統(tǒng)的歷史數(shù)據(jù)進行保存處理,對實時數(shù)據(jù)進行生動顯示,方便了工業(yè)生產(chǎn)的順利開展?;诖耍瑢LC信號采集與控制系統(tǒng)方案和串口通信的實現(xiàn)進行了探索與研究。
PLC;信號采集系統(tǒng);系統(tǒng)設(shè)計
PLC是可編程控制器的簡稱,其應(yīng)用到工業(yè)生產(chǎn)控制當中,具有方便維修、可靠性高、編程簡單、配置靈活等優(yōu)點,所以逐漸推廣到機械制造、建材、化工以及石油等領(lǐng)域。當前來講,能夠跟可編程控制器相互配合,同時實現(xiàn)數(shù)據(jù)信息實時顯示的方法主要有兩種。首先是配套觸摸屏的應(yīng)用,編寫觸摸屏組態(tài)軟件一般會在WinCC flexible環(huán)境下進行[1]。這種方法雖然具有通信可靠、操作簡單的優(yōu)點,但存在成本高、靈活性不足的缺陷,通常會運用到小型測控系統(tǒng)與便攜式設(shè)備中。其次是利用上位機編寫可視化人機交互界面的方法,這種方法有效實現(xiàn)了數(shù)據(jù)信息的動態(tài)查詢、存儲以及顯示。在傳輸信息量不大時,兩種方法都能夠采取串口通信。
當前的許多測控系統(tǒng)一般是在上位機與采集卡上實現(xiàn),上位機與采集卡之間具有通信簡單的優(yōu)點,但存在較差的抗干擾性,容易被開關(guān)電源與其他電信號干擾。PLC是一種專門應(yīng)用于工業(yè)控制上的裝置,具有超強的抗干擾性,從而保證了所采集到數(shù)據(jù)信息穩(wěn)定可靠。本文主要是以燃氣采暖爐燃燒室氣密性檢測儀為例,對PLC跟上位機所組成的數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)搭建與二者間串口通信程序的建立進行了研究。
燃燒室氣密性檢測臺系統(tǒng)主要由兩個壓力傳感器、一個流量傳感器、報警燈、電磁閥以及上位機等部分構(gòu)成。一般來講,廠家都會對檢測臺提出一些要求:首先是能夠?qū)崟r顯示泄漏量、壓力;其次是能夠自動對壓力進行判斷,并驗證泄露量是否合格,如果不合格就需要實施歷史記錄,同時進行報警處理;最后是對時間進行測試,可以自由設(shè)定不合格或者是合格的判定條件[2]。根據(jù)國際標準規(guī)定,這個測試系統(tǒng)通常需要對三個數(shù)值進行測量,分別為被測器具內(nèi)氣壓值、被測器具漏氣量值以及測試氣壓力值。最終是選擇兩路輸出值在4~20mA的電流型壓力變送器與一路輸出值為脈沖信號的流量傳感器,除此之外,為了控制氣路通斷,系統(tǒng)中還應(yīng)用了一路24V供電的電磁閥,同時還有相應(yīng)的報警燈。
2.1 設(shè)計PLC程序
在具體設(shè)計PLC程序的過程中,首先需要對雙方的通信協(xié)議進行相應(yīng)的定制。如果PLC收到了上位機所發(fā)來的命令,就可以根據(jù)協(xié)議來選擇對電磁閥執(zhí)行動作或者是發(fā)送傳感器數(shù)據(jù)到上位機。如果傳感器數(shù)據(jù)的采集超出了標準范圍,就會使報警燈出現(xiàn)閃爍報警的情況。一般來講,上位機與PLC的通信方式通常會有使用開發(fā)商提供的系統(tǒng)協(xié)議與網(wǎng)絡(luò)適配器、使用上位機組態(tài)軟件、自由口通信,雖然前兩者具有強大的界面,但存在靈活性不足、成本較高的缺陷[3]。在綜合考慮后,本文主要是采取了自由口通信方式。PLC在測量儀中除了要接收信息之外,還需要發(fā)送相應(yīng)的信息。由于RS485屬于半雙工通信,為了防止發(fā)生沖突,我們一般會在發(fā)送或者是接收完成中斷中再啟動接受或者是發(fā)送程序。PLC作為下位機,通常都是處在等待接收上位機命令的狀態(tài)。為了實現(xiàn)采集數(shù)據(jù)信息的實時性,上位機對PLC發(fā)送一次傳送數(shù)據(jù)的命令會在每隔一秒進行。完成數(shù)據(jù)信息的采集與 V區(qū)存儲主要是在PLC主程序塊中進行,子程序1能夠初始化串口,同時確定相應(yīng)的波特率、結(jié)束字符等參數(shù)。與此同時,在接受命令啟動以后,能夠在任意時間將上位機發(fā)來的數(shù)據(jù)進行接收處理,進而在徹底完成數(shù)據(jù)信息接收后中斷,再根據(jù)不同的接收信息,利用通信協(xié)議執(zhí)行來實施動作。
2.2 設(shè)計上位機程序
C++Builder 6 主要是采取了面向?qū)ο蟮能浖绦蛟O(shè)計方法與可視化界面設(shè)計技術(shù),另外,又與數(shù)據(jù)庫編程和Window編程等技術(shù)融合在一起,進而可以使測試儀達到顯示數(shù)據(jù)信息與儲存數(shù)據(jù)信息的目標要求。構(gòu)成上位機程序的部分通常有報警界面、測試界面、參數(shù)設(shè)置界面、用戶登錄界面以及起始界面,上位機的工作流程一般為:在正確輸入用戶名與密碼之后,再進入到相應(yīng)的設(shè)置界面之中,進而進入到測試界面實施測試操作。如果數(shù)據(jù)信息的采集超出了標準范圍的話,就會對報警的數(shù)值與時間進行自動保存,操作人員要想查看報警信息,便可以在報警界面中進行。上位機一般會有三種串口通信方式,分別為直接讀寫串口、WindowsAPI函數(shù)以及MSComm控件。我們在C++中通常會采取直接讀寫串口,讀寫串口數(shù)據(jù)需要利用到Y(jié)BCOMMDEVICE控件,要設(shè)定串口波特率參數(shù)時,只需要雙擊這個控件。
總而言之,采取C++Builder與PLC可以實現(xiàn)對數(shù)字信號與模擬信號的采集與控制。這種系統(tǒng)具有PLC語言簡單而功能指令強大的優(yōu)點,在拓展系統(tǒng)的過程中不需要改變相關(guān)硬件,只需要增加通道到采集程序中便可以實現(xiàn)系統(tǒng)拓展。
[1]謝小成,姜莉莉,許玉枝.面向PLC自動控制生產(chǎn)過程的實時仿真系統(tǒng)設(shè)計[J].中北大學學報(自然科學版),2012(3):282-287.
[2]蘇姍姍,蘇小光.基于PLC的信號采集系統(tǒng)[J].國外電子測量技術(shù),2012(9):51-53.
[3]郭永康,徐敏道,朱國力.基于撥號網(wǎng)絡(luò)的PLC數(shù)據(jù)信號采集系統(tǒng)[J].電氣自動化,2012(6):46-48.
TP274.2;TV536
A
1009-6434(2016)01-0016-01