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