宋婉貞,田洪濤
(中國(guó)電子科技集團(tuán)公司第四十五研究所,北京101601)
作為一臺(tái)生產(chǎn)線上運(yùn)行的設(shè)備而言,如果只有運(yùn)動(dòng)控制系統(tǒng),將無(wú)法對(duì)生產(chǎn)工藝中的各項(xiàng)數(shù)據(jù)進(jìn)行監(jiān)測(cè)和保存。在不失運(yùn)動(dòng)穩(wěn)定性的同時(shí),采用穩(wěn)定的總線平臺(tái)、合理的通訊接口和通訊方式,為設(shè)備配備上位機(jī),將會(huì)使設(shè)備具有更加便捷的操作性以及穩(wěn)定性。以下是我們本次實(shí)驗(yàn)各種接口、平臺(tái)的選型以及具體通訊方法的實(shí)現(xiàn)。
Profibus總線是由西門子公司提出并極力倡導(dǎo),己先后成為德國(guó)國(guó)家標(biāo)準(zhǔn)din19245和歐洲標(biāo)準(zhǔn)en50170,是一種開(kāi)放而獨(dú)立的總線標(biāo)準(zhǔn),傳輸速率從9.6 kB/s到12 MB/s,傳輸距離從1 200 m到l00 m。在機(jī)械制造、工業(yè)過(guò)程控制、智能建筑中充當(dāng)通信網(wǎng)絡(luò)。profibus是一種比較成熟的總線,在工程上的應(yīng)用十分廣泛。根據(jù)現(xiàn)場(chǎng)設(shè)備是否具備Profibus接口可分為3種形式:
(1)總線接口型:現(xiàn)場(chǎng)設(shè)備不具備Profibus接口,采用分散式I/O作為總線接口與現(xiàn)設(shè)備連接。這種形式在應(yīng)用現(xiàn)場(chǎng)總線技術(shù)初期容易推廣。如果現(xiàn)場(chǎng)設(shè)備能分組,組內(nèi)設(shè)備相對(duì)集中,這種模式會(huì)更好地發(fā)揮現(xiàn)場(chǎng)總線技術(shù)的優(yōu)點(diǎn)。
(2)單一總線型:現(xiàn)場(chǎng)設(shè)備都具備Profibus接口。這是一種理想情況。可使用現(xiàn)場(chǎng)總線技術(shù),實(shí)現(xiàn)完全的分布式結(jié)構(gòu),可充分獲得這一先進(jìn)技術(shù)所帶來(lái)的的利益。新建項(xiàng)目若能具有這種條件,就目前來(lái)看,這種方案設(shè)備成本會(huì)較高。
(3)混合型:現(xiàn)場(chǎng)設(shè)備部分具備Profibus接口。這將是一種相當(dāng)普遍的情況。這時(shí)應(yīng)采用Profibus現(xiàn)場(chǎng)設(shè)備加分散式I/O混合使用的辦法。無(wú)論是舊設(shè)備改造還是新建項(xiàng)目,希望全部使用具備Profibus接口現(xiàn)場(chǎng)設(shè)備的場(chǎng)合可能不多,分散式I/O可作為通用的現(xiàn)場(chǎng)總線接口,是一種靈活的集成方案。
我們的實(shí)驗(yàn)設(shè)備采用的是速率快、穩(wěn)定性高的混合型Profibus總線,這將為上位機(jī)與PLC通訊提供最適合的底層平臺(tái)。
為了適應(yīng)PLC網(wǎng)絡(luò)化要求和外界控制需求,幾乎所有的可編程控制器都被開(kāi)發(fā)了與上位機(jī)通訊的接口或?qū)S猛ㄓ嵞K。可編程控制器與計(jì)算機(jī)之間的通訊正是通過(guò)可編程控制器上的RS422或RS232C接口和計(jì)算機(jī)上的RS232C接口進(jìn)行的。可編程控制器與計(jì)算機(jī)之間的信息交換方式,一般采用字符串、雙工或半、異步、串行通信方式。因此可以說(shuō),凡具有RS232C口并能輸入輸出字符串的計(jì)算機(jī)都可以用于和可編程控制器的通訊。運(yùn)用RS232C和RS422通道,可配置一個(gè)與外部計(jì)算機(jī)進(jìn)行通訊的系統(tǒng)。該系統(tǒng)中可編程控制器接受控制系統(tǒng)中的各種控制信息,分析處理后轉(zhuǎn)化為可編程控制器中軟元件的狀態(tài)和數(shù)據(jù)。可編程控制器又將所有軟元件的數(shù)據(jù)和狀態(tài)送入計(jì)算機(jī),由計(jì)算機(jī)采集這些數(shù)據(jù),進(jìn)行分析及運(yùn)行狀態(tài)監(jiān)測(cè),用計(jì)算機(jī)可改變可編程控制器的初始值和設(shè)定值,從而實(shí)現(xiàn)計(jì)算機(jī)對(duì)可編程控制器的直接控制。
面對(duì)眾多生產(chǎn)廠家的各種類型PLC,它們各有優(yōu)缺點(diǎn),能夠滿足用戶的各種需求。目前,人們主要采用以下幾種方式實(shí)現(xiàn)PLC與PC的互聯(lián)通信:
(1)通過(guò)使用PLC開(kāi)發(fā)商提供的系統(tǒng)協(xié)議和網(wǎng)絡(luò)適配器,來(lái)實(shí)現(xiàn)PLC與PC機(jī)的互聯(lián)通信。但是由于其通信協(xié)議是不公開(kāi)的,因此互聯(lián)通信必須使用PLC開(kāi)發(fā)商提供的上位機(jī)組態(tài)軟件,并采用支持相應(yīng)協(xié)議的外設(shè)。可以說(shuō)這種方式是PLC開(kāi)發(fā)商為自己的產(chǎn)品量身定作的,因此難以滿足不同用戶的需求。
(2)使用目前通用的上位機(jī)組態(tài)軟件,如組態(tài)王、InTouch、WinCC、力控等,來(lái)實(shí)現(xiàn)PLC與PC機(jī)的互連通信。組態(tài)軟件以其功能強(qiáng)大、界面友好、開(kāi)發(fā)簡(jiǎn)潔等優(yōu)點(diǎn)在PC監(jiān)控領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,但是一般價(jià)格比較昂貴。組態(tài)軟件本身并不具備直接訪問(wèn)PLC寄存器或其它智能儀表的能力,必須借助I/O驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。也就是說(shuō),I/O驅(qū)動(dòng)程序是組態(tài)軟件與PLC或其它智能儀表等設(shè)備交互信息的橋梁,負(fù)責(zé)從設(shè)備采集實(shí)時(shí)數(shù)據(jù)并將操作命令下達(dá)給設(shè)備,它的可靠性將直接影響組態(tài)軟件的性能。但是在大多數(shù)情況下,I/O驅(qū)動(dòng)程序是與設(shè)備相關(guān)的,即針對(duì)某種PLC的驅(qū)動(dòng)程序不能驅(qū)動(dòng)其它種類的PLC,因此組態(tài)軟件的靈活性也受到了一定的限制。
(3)利用PLC廠商所提供的標(biāo)準(zhǔn)通信端口和由用戶自定義的自由口通信方式來(lái)實(shí)現(xiàn)PLC與PC機(jī)的互連通信。這種方式由用戶定義通信協(xié)議,不需要增加投資,靈活性好,特別適合于小規(guī)模的控制系統(tǒng)。
(4)借助其他輔助工具進(jìn)行通訊,我們的實(shí)驗(yàn)設(shè)備選用的是netLINK網(wǎng)關(guān),netLINK擁有唯一的MPI地址,因此當(dāng)PLC的MPI口已經(jīng)連接了觸摸屏,netLINK仍然可以通過(guò)MPI口進(jìn)行通訊。netLINK提供公開(kāi)的底層通訊庫(kù),可以將西門子的PPI協(xié)議、MPI協(xié)議Profibus-FDL協(xié)議轉(zhuǎn)換成以太網(wǎng)協(xié)議,換句話說(shuō),netLINK既可以取代PLC傳統(tǒng)的編程電纜和編程方式,可以成為PLC產(chǎn)品編程的又一解決方案。同時(shí)netLINK還支持無(wú)線網(wǎng)絡(luò)通訊,采用無(wú)線路由器,可以實(shí)現(xiàn)遠(yuǎn)距離無(wú)線監(jiān)控,減少?gòu)?fù)雜的網(wǎng)絡(luò)布線。
以上幾種普遍的通訊方式各有優(yōu)缺點(diǎn),我們綜合以上幾種通訊方式,借助我們良好穩(wěn)定的底層Profibus總線接口平臺(tái),利用netLINK網(wǎng)關(guān),掌握PLC廠商提供的標(biāo)準(zhǔn)通信端口和自由口通信方式以及編程語(yǔ)言來(lái)實(shí)現(xiàn)上位機(jī)與PLC之間的實(shí)時(shí)通信。實(shí)驗(yàn)平臺(tái)如圖1所示。

圖1 實(shí)驗(yàn)平臺(tái)示意圖
利用此種工作方式,上位機(jī)除了與PLC進(jìn)行的通訊,各種復(fù)雜的算法和各種繁瑣的數(shù)據(jù)都可以在上位機(jī)上進(jìn)行計(jì)算和保存,將提高算法的正確性和數(shù)據(jù)的穩(wěn)定性。我們可以通過(guò)netLINK提供的接口函數(shù),對(duì)其進(jìn)行二次封裝,細(xì)化到對(duì)PLC內(nèi)部的各個(gè)數(shù)據(jù)區(qū)進(jìn)行讀寫操作,甚至細(xì)化到各個(gè)數(shù)據(jù)位,最大限度的對(duì)應(yīng)用層提供最方便的函數(shù)。
具體封裝接口函數(shù)和設(shè)置參數(shù)如下:
netLINK網(wǎng)關(guān)消息頭是數(shù)據(jù)傳輸?shù)那疤幔_的設(shè)置不僅能夠有效地傳遞數(shù)據(jù),而且能偶提高數(shù)據(jù)傳輸?shù)乃俣纫约肮ぷ餍省etLINK網(wǎng)關(guān)消息頭的設(shè)置如表1所示,消息擴(kuò)展信息中包含了所有要編輯和已經(jīng)讀取的數(shù)據(jù),具體設(shè)置如表2。

表1 netLINK網(wǎng)關(guān)消息頭的設(shè)置

表2 netLINK網(wǎng)關(guān)擴(kuò)展信息的設(shè)置
根據(jù)以上設(shè)置,我們封裝出了自己的接口函數(shù)(見(jiàn)表 3)。

表3 函數(shù)表
應(yīng)用以上函數(shù),即可運(yùn)用編程語(yǔ)言,對(duì)PLC各個(gè)區(qū)域的各種數(shù)據(jù)進(jìn)行讀寫訪問(wèn)了。這種通訊方案有效地利用了Profibus混合型現(xiàn)場(chǎng)總線的靈活、多功能的特性,在通訊上最大限度地優(yōu)化了上層軟件對(duì)命令的應(yīng)用過(guò)程,此種通訊方式支持市面上絕大多數(shù)PLC與上位機(jī)的通訊,達(dá)到了對(duì)設(shè)備的有效、穩(wěn)定控制。發(fā)揮上位機(jī)操作設(shè)備良好的穩(wěn)定性和便捷性。
[1]西門子公司.西門子PLC編程手冊(cè)[M].2007,28(5):866-892.
[2]赫優(yōu)訊公司.netLINK網(wǎng)關(guān)說(shuō)明手冊(cè)[M]2010,25(1):13-54.
[3]田宗憲.現(xiàn)場(chǎng)總線技術(shù)與計(jì)算機(jī)控制類別[M].北京:中國(guó)社會(huì)科學(xué)出版社,2005.
[4]網(wǎng)絡(luò)資源.中國(guó)Plc論壇[C].http://www.plcbbbs.com,2002-02-21.