李學(xué)仁 趙海洲 尹樹(shù)君
(北華大學(xué) 電氣信息工程學(xué)院,吉林 吉林 132021)
S7-200系列PLC是Siemens公司推出的一種小型PLC。7-200中的CPU226具有20k程序存儲(chǔ)空間10k數(shù)據(jù)存儲(chǔ)空間,6路獨(dú)立的30kHz單相高速計(jì)算器,2路獨(dú)立的20kHz高速脈沖輸出(DC),2個(gè)RS485通信接口,具有PPI通信協(xié)議﹑MPI通信協(xié)議和自由方式通信協(xié)議。其中,自由口通信方式是CPU226一個(gè)很有特色的功能,可以很好的與其他設(shè)備﹑控制器進(jìn)行通信,(ASCII協(xié)議﹑Modbus協(xié)議等等)[1]。
研華ADAM4000系列遠(yuǎn)程I/O模塊性能可靠,可廣泛應(yīng)用于多種工業(yè)控制場(chǎng)合。ADAM4000系列包括模擬量輸入輸出模塊(4051)﹑數(shù)字量輸入輸出模塊(4017+)。采用RS-485通信協(xié)議方式,支持Modbus通信協(xié)議,系統(tǒng)所有模塊只需要一條通信線(xiàn)即可連接,具有高通信速率﹑高采樣分辨率﹑智能化﹑光電隔離﹑強(qiáng)抗干擾等特點(diǎn)。軟件開(kāi)發(fā)也較容易。
S7-200PLC由一個(gè)獨(dú)立的S7-200CPU和各種可選擇的擴(kuò)展模塊組成??梢愿鶕?jù)系統(tǒng)的復(fù)雜程度來(lái)組成不同的控制器。但一個(gè)CPU226最多只能擴(kuò)展7個(gè)模塊在使用中發(fā)現(xiàn)能采集的數(shù)字量I/O口數(shù)量偏少,模擬量I/O口數(shù)量最多為35路,在有些系統(tǒng)中不能滿(mǎn)足需要,如果采用S7-300PLC系統(tǒng)則工程造價(jià)會(huì)成倍提高。因而我們采用了研華4000模塊擴(kuò)展西門(mén)子S7-200I/O模塊的方法。以S7-200系列CPU226(單價(jià)1500左右)跟S7-300系列CPU314(單價(jià)3000左右)比較[2],研華4000系列每路AI/DI的價(jià)格約為110元,在A(yíng)I/AO、DI/DO點(diǎn)數(shù)較多的情況下,使用研華4000系列模塊可顯著降低成本。
采用 4017+、4051擴(kuò)展 CPU-226的 AI、DI模塊。 4017+是 16位A/D8通道的模擬量輸入模塊,可以采集電壓、電流、溫度等模擬量輸入信號(hào)。ADAM模塊支持Modbus協(xié)議。各通道可獨(dú)立設(shè)置其輸入范圍,而且它的模擬量輸入通道和模塊之間還提供了3000V的電壓隔離,這樣就有效地防止模塊在受到高壓沖擊時(shí)而損壞。4051是一款16路數(shù)字量輸入模塊,帶有3000VDC光隔離保護(hù),可用于一些嚴(yán)格的應(yīng)用。與其它模塊不同,4051可接受10~50V的輸入電壓,適用于各種數(shù)字量信號(hào),如12VDC、24VDC或48VDC。因此將ADAM4000系列作為CPU226的擴(kuò)展模塊,具有可靠性高、抗干擾能力強(qiáng)、精度高,利用Modbus通信協(xié)議及RS-485總線(xiàn)連接簡(jiǎn)單等特點(diǎn)。因此系統(tǒng)的檢測(cè)端口完全可以滿(mǎn)足可靠性和實(shí)時(shí)性方面的要求,其與PC機(jī)連接方法如圖 1所示,在本例中,用 PC 機(jī)將 4017+、4051模塊的地址(2、3)、波特率(19.2kHz)、通信協(xié)議(Modbus)、模擬量檢測(cè)信號(hào)類(lèi)型(0~20mA)設(shè)置好。與CPU226連接方法如圖2所示。
圖1 PC機(jī)與ADAM4000連接
圖2 CPU226與ADAM4000連接
在硬件組態(tài)完成以后,主要工作就是PLC與4017+、4051通信程序的編程了。7-200編程軟件中自帶有Modbus通信協(xié)議的庫(kù)程序MBUS_CTRL指令與MBUS_MSG指令。具體的主程序框圖如圖3所示。
圖3 主程序框圖
設(shè)置Port0的工作方式為自由工作方式,波特率19.2kHz。將所需用的寄存器清零,同時(shí)給定子程序使能信號(hào)端。根據(jù)實(shí)際情況設(shè)置好子程序模塊參數(shù)。
MBUS_CTRL 指令[3]中 EN:指令使能位;Mode:模式參數(shù);Baud:波特率參數(shù);Parety:奇偶效驗(yàn)參數(shù);Timeout:超時(shí)參數(shù);Done:MBUS_CTRL指令成功完成時(shí)輸出1,否則為0;Error:錯(cuò)誤輸出代碼。MBUS_MSG 指令中 EN:指令使能位;First:首次參數(shù);Slave:從站參數(shù);RW:讀寫(xiě)參數(shù);Addr:地址參數(shù),是起始的Modbus地址,00001至09999是離散輸出(線(xiàn)圈)、10001至19999是離散輸入(觸點(diǎn))、30001至39999是輸入寄存器、40001至49999是保持寄存器;Count:計(jì)數(shù)參數(shù);DataPtr:DataPtr參數(shù);Done:完成輸出;Error:錯(cuò)誤輸出。
在本例中MBUS_CTRL指令與MBUS_MSG指令設(shè)置如圖4所示。
圖4 指令參數(shù)設(shè)置
系統(tǒng)中如有多個(gè)擴(kuò)展模塊則每一個(gè)擴(kuò)展模塊都必須具備自己的模塊地址,且具備有數(shù)據(jù)存放的指針地址,這些地址不能重復(fù)。模塊與模塊之間要有相對(duì)應(yīng)的抑制關(guān)系,不能同時(shí)對(duì)兩個(gè)數(shù)據(jù)進(jìn)行讀寫(xiě)。如圖5所示。
圖5 模塊之間的關(guān)系
本文探討了用研華ADAM4017+與4051擴(kuò)展S7-226模擬量輸入模塊與數(shù)字量輸入模塊的方法。實(shí)踐證明,本方式完全滿(mǎn)足了此系統(tǒng)在實(shí)時(shí)性、可靠性、經(jīng)濟(jì)性、靈活性上的要求,節(jié)約了生產(chǎn)成本。PLC和研華ADAM4000模塊硬件連接和軟件編程的優(yōu)點(diǎn),可將4000模塊與PLC集成應(yīng)用于各中小型控制系統(tǒng)。
[1]黃芹,呂春華.跟我動(dòng)手學(xué)西門(mén)子 S7-200 PLC[M].北京:中國(guó)電力出版社,2012,11.
[2]廖常初.跟我學(xué) S7-300/400 PLC[M].北京:機(jī)械工業(yè)出版,2010,9.
[3]崔堅(jiān),李佳.西門(mén)子工業(yè)網(wǎng)絡(luò)通信指南[M].北京:機(jī)械工業(yè)出版社,2004,9.