基于計算機com/dcom技術(shù)的opc通訊方式設(shè)計淺析
在國家某重點科研生產(chǎn)單位的戰(zhàn)略開發(fā)型項目中,其工藝要求是在生產(chǎn)加工過程中,需要對加工的大型部件進行精確的調(diào)姿,這就需要對承載加工部件的若干根pogo拄進行精確的同步、等位移控制。從而避免由于pogo拄的等時運動偏差過大而導(dǎo)致加工部件的鋼性結(jié)構(gòu)被破壞的情況發(fā)生。
為了保證項目積極穩(wěn)妥的推進直至最后成功,項目組決定其電氣控制系統(tǒng)采用西門子產(chǎn)品。其中西門子新一代運動控制系統(tǒng)simotiond445+ sinamicss120伺服驅(qū)動系統(tǒng)負責(zé)對承載大型加工部件的若干根pogo柱進行精確的位置同步控制,以保證加工的精密性符合生產(chǎn)需要。同時,其上位監(jiān)控系統(tǒng)由原來基于操作員面板的protool組態(tài)軟件更換為功能更為強大的基于pc機系統(tǒng)的wincc,從而保證了從simoTIon中采集到的基礎(chǔ)數(shù)據(jù)在計算機中可以進行二次開發(fā)。
控制系統(tǒng)構(gòu)成
除以上所描述的系統(tǒng)需求外,項目還要求網(wǎng)絡(luò)中的運動控制器和操作員面板的系統(tǒng)時間與上位監(jiān)控計算機保持一致,即達到時間同步功能。現(xiàn)場運動控制和采集系統(tǒng)的硬件組成由圖1加以說明:
伺服驅(qū)動系統(tǒng)采用西門子全新的驅(qū)動器sinamics s120系列。
sinamics s120采用了完美的模塊化設(shè)計,將智能控制單元和功率單元相分離。其中,控制單元采用西門子simoTIond445。各單元之間通過全新通訊標準-drive-cliq串行數(shù)字總線相連接。
各遠程分布式i/o和操作員面板通過標準的profibus工業(yè)現(xiàn)場總線與驅(qū)動系統(tǒng)相連。同時,simoTIond445提供的標準工業(yè)以太網(wǎng)接口使其可連接到廣域網(wǎng)上,與上位計算機進行數(shù)據(jù)交換。其數(shù)據(jù)信息流見圖2:
上位監(jiān)控系統(tǒng)采用西門子wincc,其通訊采用的是opc技術(shù)。
操作員面板采用西門子wincc flexible組態(tài)軟件。
上位機wincc,simoTIon d445和操作員面板winccflexible要實現(xiàn)時間同步功能。系統(tǒng)功能實現(xiàn)由于西門子的上位監(jiān)控軟件protool提供了基于運動控制器simotion的通訊驅(qū)動,因此可以通過簡單的組態(tài)實現(xiàn)與simotion的通訊,繼而將數(shù)據(jù)取入計算機中。
與protool不同,由于wincc本身沒有提供直接與simotion通訊的驅(qū)動程序,因此無法通過組態(tài)實現(xiàn)通訊??紤]到simotion的編程軟件scoutv4.0可以將運動控制器中的變量表生成標準的opc文件后被計算機上的simatic net軟件所加載,而simaticnet又提供了標準的opc通訊接口,因此可以實現(xiàn)與監(jiān)控軟件wincc的數(shù)據(jù)通訊。
這樣,wincc作為opc通訊的客戶端,simaticnet作為opc通訊的服務(wù)器,而simotion通過自身生成的標準的opc文件與simaticnet進行連接,從而實現(xiàn)了數(shù)據(jù)由底層最終到上層的傳遞。其性能完全可以替代protool的作用。
通訊準備條件
為實現(xiàn)數(shù)據(jù)的連通,上位機應(yīng)安裝相應(yīng)的操作系統(tǒng)和應(yīng)用軟件,目前項目服務(wù)器上安裝了以下西門子組態(tài)和編程軟件,其名稱和功能描述如下所述:
windows server 2003 standard edition multi-language sp1
step7 v5.4 sp1用于plc編程和組態(tài)opc服務(wù)器。
simotion scout v4.0 hf8 用于simotion編程和生成動態(tài)的opc文件
wincc v6.2亞洲版 作為標準的opc客戶端與opc服務(wù)器建立通訊連接。
simatic net 2006 hf1導(dǎo)入simotionscout生成的動態(tài)opc文件并作為標準的opc服務(wù)器為客戶機提供數(shù)據(jù)源。
服務(wù)器與simotion控制單元通過標準的工業(yè)以太網(wǎng)相連接。保持同一網(wǎng)段。
將scout變量表導(dǎo)出為動態(tài)的opc文件
在simotionscout中,不同的邏輯程序塊對應(yīng)著不同的變量symbol表,這就需要將不同變量表中的通訊變量導(dǎo)入到統(tǒng)一的watchtable中。為此,首先在scout中的programs一欄中右鍵點擊insert watchtable建立通訊表并取名為time_synchr。
在各個變量symbol表中選中要加載的變量,右鍵選擇add to watchtable功能后選擇剛生成的watch table表導(dǎo)入,如圖3。
生成用于通訊的watchtable后,需要將其導(dǎo)出為標準的opc文件。為此需要點擊菜單欄的options選項并選擇export opc data。。。一欄,在接下來彈出的組態(tài)菜單中選擇simatic net的版本和剛剛生成的watch table表名,如圖4。
在接下來的操作中要注意,因為simotiond445提供了兩個標準的以太網(wǎng)接口,標識分別為x120和x220。因此,在接下來的步驟中,要選對協(xié)議和與服務(wù)器建立連接的以太網(wǎng)端口編號,項目中使用的端口是x120。選擇協(xié)議和通訊端口,如圖5所示。
opc服務(wù)器與simotions7連接通訊的組態(tài)
將simotion的通訊變量導(dǎo)出成opc文件之后,下一步則建立opc服務(wù)器,組態(tài)需要在安裝的simaticnet中進行,其步驟與simatic net通過s7connection與西門子標準plc連接并作為opc服務(wù)器的組態(tài)過程一致:
在桌面右下角的station configurationeditor中插入opc server和ie general,并為網(wǎng)卡配置ip地址。
在simatic manager中組態(tài)pcstation站。具體為插入一個新的pc站,在pc站的hw config中分別組態(tài)opc server和ie general,將iegeneral配置到和simotion統(tǒng)一網(wǎng)絡(luò)中。
進入netpro環(huán)境組態(tài)s7 connection,在這里需要注意的是在localid一欄中需要填入simotion scout中項目的設(shè)備名稱,即d445,并為其分配ip地址。
在netpro中編譯建立了s7connection后,下載到pc station到本機。
在simatic net中配置configuration consoleopc
服務(wù)器建立完畢之后,需要在simatic net中導(dǎo)入simotion scout生成的動態(tài)opc文件。這樣,simotiond445即與opc服務(wù)器建立了動態(tài)的數(shù)據(jù)鏈路。接下來wincc作為opc客戶端就可以從服務(wù)器上讀取simotion的數(shù)據(jù)了。
首先在計算機“開始”菜單中打開simatic net的configuration console。進入到組態(tài)界面后,在application欄中依次點擊選擇opcsetting和symbols,之后點擊右邊的edit list按鈕。
在彈出的界面中,如圖6,點擊browser按鈕,尋找到生成的opc文件并將其加載進來。一般,文件存儲的默認路徑為:
c:programmesiemenssimatic.netopc2ins7simotionxml。
最后,在configuration console中設(shè)置訪問節(jié)點。即選中當前服務(wù)器與simotion d445通訊的以太網(wǎng)卡。
通訊成功后,可以使用simatic net自帶的opc客戶端軟件opc scout來對通訊進行檢測,確認是否opc服務(wù)器與simotion已經(jīng)建立了通訊連接。
建立wincc與simaticnet的opc通訊
打開wincc項目后,在tag management變量管理器中加載opc.chn協(xié)議。右鍵點擊協(xié)議的system parameter后可在窗口中瀏覽到opc.simaticnet。選中opc.simaticnet并點擊browser server按鈕,即可進入opc變量管理器中。圖7為瀏覽可用的opc server。
在sym中可以看到名為d445的設(shè)備以及包含的所有變量組。點擊每個變量組,在右側(cè)可以瀏覽到相關(guān)的組變量名稱,通過選擇右側(cè)要監(jiān)控的變量并點擊additems按鈕可將其加載到wincc的opc通道中。在加載的過程中,系統(tǒng)會提示將在opc.chn通道中自動建立名稱為opc_simaticnet的通訊連接,所有的通訊變量均可在此連接中找到。
將變量自動連接到通訊通道中后運行wincc項目,可在畫面中讀到opc服務(wù)器中的變量實際值,而opc服務(wù)器中的數(shù)據(jù)則來自現(xiàn)場的運動控制器中。至此,wincc實現(xiàn)了與simotion d445的數(shù)據(jù)連接,通過opc的通訊機制。圖8為wincc項目監(jiān)控畫面。
上位機,運動控制器和操作員面板的時間同步功能
wincc與simotion d445之間的時間同步功能無法簡單的通過wincc自帶的時間同步選件來實現(xiàn)。因此simotion需要從wincc中獲取系統(tǒng)時間,再將時間設(shè)置進面板中以實現(xiàn)三方的時間同步。具體為simotion項目中包含了兩個st(structured text)單元,其中“timesync“單元包含了名為“timesync“的被周期性調(diào)用的程序,用來從wincc中讀取系統(tǒng)時間到simotion的同時,再將系統(tǒng)時間寫進simotion的區(qū)域指針中,以此實現(xiàn)與wincc flexible的時間同步。而名為“hmitimesync“的單元包含兩個功能塊用來在程序中生成區(qū)域指針。其內(nèi)部的數(shù)據(jù)傳遞和接口由圖9給出:
simotion d445作為運動控制單元,其與上位機wincc和操作面板wincc flexible的時間同步原理是相同的,都是首先通過simotion的區(qū)域指針獲取要同步的時間內(nèi)容,再由該指針將獲取到的信息由一個接口地址區(qū)搬移到另一個接口地址區(qū),從而實現(xiàn)數(shù)據(jù)的傳遞。因為wincc flexible本身就具有時間同步的區(qū)域指針,特別適合于做時間同步的測試,為表述清楚,下文將著重描述wincc flexible與simotion之間的同步方法。
結(jié)語
本次項目通過使用西門子新一代運動控制加伺服驅(qū)動系統(tǒng)simotion d445+sinamics s120,實現(xiàn)了對承載大型加工件的若干根pogo柱的位置同步控制,精度達到了用戶要求。同時通過運用較為成熟的opc技術(shù),使上位監(jiān)控軟件wincc在沒有集成simotiond445通訊驅(qū)動程序的情況下與它實現(xiàn)了數(shù)據(jù)的動態(tài)交互,從而成功的代替較為簡單的protool軟件作為了整個監(jiān)控系統(tǒng)的核心。由此可知,基于計算機com/dcom技術(shù)的opc通訊方式,在工業(yè)通訊領(lǐng)域的應(yīng)用被證明是可行的。
目前,世界各知名自動化產(chǎn)品供應(yīng)商都在其研發(fā)的系列新產(chǎn)品中集成了標準的opc通訊接口,相信隨著時間的推移,opc這項新興的通訊技術(shù)會越來越成熟,從而在工業(yè)通訊領(lǐng)域中起到越來越重要的作用。