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

圖1 實驗平臺示意圖
利用此種工作方式,上位機除了與PLC進行的通訊,各種復雜的算法和各種繁瑣的數據都可以在上位機上進行計算和保存,將提高算法的正確性和數據的穩定性。我們可以通過netLINK提供的接口函數,對其進行二次封裝,細化到對PLC內部的各個數據區進行讀寫操作,甚至細化到各個數據位,最大限度的對應用層提供最方便的函數。
具體封裝接口函數和設置參數如下:
netLINK網關消息頭是數據傳輸的前提,正確的設置不僅能夠有效地傳遞數據,而且能偶提高數據傳輸的速度以及工作效率。netLINK網關消息頭的設置如表1所示,消息擴展信息中包含了所有要編輯和已經讀取的數據,具體設置如表2。

表1 netLINK網關消息頭的設置

表2 netLINK網關擴展信息的設置
根據以上設置,我們封裝出了自己的接口函數(見表 3)。

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