国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OPC技術(shù)實(shí)現(xiàn)WINCC與FANUC數(shù)控機(jī)床的監(jiān)控系統(tǒng)設(shè)計(jì)??

2019-01-14 08:24高羅卿莊源昌
制造技術(shù)與機(jī)床 2019年1期
關(guān)鍵詞:數(shù)控系統(tǒng)機(jī)床客戶端

高羅卿 莊源昌

(①常州輕工職業(yè)技術(shù)學(xué)院,江蘇常州213164;②中科院常州數(shù)控技術(shù)研究所,江蘇常州213164)

SIMATIC WINCC組態(tài)軟件是德國(guó)西門子公司的一款產(chǎn)品,屬于HMI/SCADA類型的軟件系統(tǒng),主要用于對(duì)工業(yè)控制過程中各類設(shè)備、標(biāo)簽、控制畫面等資源進(jìn)行配置和編輯,并且可以方便地處理事件報(bào)警和系統(tǒng)報(bào)警,完成各類報(bào)表的統(tǒng)計(jì)生成和打印,支持多種數(shù)據(jù)通訊驅(qū)動(dòng)接口,方便各類設(shè)備的實(shí)時(shí)數(shù)據(jù)采集與歸檔,在工業(yè)生產(chǎn)中應(yīng)用極廣.

WINCC與PLC的通訊連接應(yīng)用比較常見,WINCC可以通過PROFIBUS、TCP/IP等協(xié)議與西門子PLC建立通訊,與不同品牌的PLC也可以通過MODBUS協(xié)議或者OPC協(xié)議進(jìn)行連接.但是WINCC與不同品牌的數(shù)控系統(tǒng)之間通訊,則由于廠商之間的協(xié)議不同,通常無法直接建立通訊連接.

一般現(xiàn)有的對(duì)數(shù)控系統(tǒng)的數(shù)據(jù)采集,多數(shù)都采用數(shù)控系統(tǒng)廠商所提供的專用數(shù)據(jù)采集軟件或者二次開發(fā)函數(shù)庫(kù)(例如FANUC的FOCAS函數(shù)庫(kù)),自行進(jìn)行二次開發(fā).有的工業(yè)場(chǎng)合也采用WINCC通過PLC與數(shù)控系統(tǒng)的PMC模塊進(jìn)行I/O之間的狀態(tài)變化來交互信息.然而,這些方法都無法使WINCC與FANUC系統(tǒng)之間進(jìn)行直接的數(shù)據(jù)通訊.

OPC技術(shù)的應(yīng)用為解決這一問題打開了一條通道,可以通過高級(jí)語(yǔ)言VB或C#編寫OPC客戶端程序,OPC客戶端程序通過FANUC公司提供的FOCAS函數(shù)庫(kù)采集數(shù)控系統(tǒng)狀態(tài)信息.同時(shí),WINCC作為OPC的服務(wù)器,可以被OPC客戶端連接,并且遵循OPC協(xié)議,讀寫服務(wù)器上的FANUC系統(tǒng)緩沖數(shù)據(jù),從而實(shí)現(xiàn)WINCC與FANUC系統(tǒng)的數(shù)據(jù)通訊連接.

1 系統(tǒng)通訊方案

1.1 OPC標(biāo)準(zhǔn)

OPC協(xié)議是基于 Microsoft Windows技術(shù),使用COM/DCOM(分布式組件對(duì)象模型)在軟件組件之間交換數(shù)據(jù).OPC規(guī)范定義了客戶端和服務(wù)器、服務(wù)器和服務(wù)器之間的通訊接口,包括訪問實(shí)時(shí)數(shù)據(jù)、監(jiān)控報(bào)警和事件、訪問歷史數(shù)據(jù)等應(yīng)用.

OPC標(biāo)準(zhǔn)于1996年首次發(fā)布,最初的目標(biāo)是將PLC特定協(xié)議(MODBUS、PROFIBUS等)抽象成標(biāo)準(zhǔn)化接口,允許HMI系統(tǒng)通過OPC的協(xié)議對(duì)設(shè)備進(jìn)行讀與寫的操作,OPC協(xié)議標(biāo)準(zhǔn)僅限于Windows操作系統(tǒng),現(xiàn)在廣泛應(yīng)用在工業(yè)自動(dòng)化、制造業(yè)、石油和天然氣、可再生能源和公共事業(yè)中.

1.2 WINCC讀取FANUC系統(tǒng)的通訊結(jié)構(gòu)

系統(tǒng)主要通過WINCC后臺(tái)變量管理作為OPC的服務(wù)器,建立內(nèi)部變量及變量名稱,通過本地網(wǎng)絡(luò)與本機(jī)上的OPC客戶端軟件通訊,OPC客戶端軟件應(yīng)用FOCAS 1/2函數(shù)庫(kù)與FANUC機(jī)床通過以太網(wǎng)建立TCP連接,FANUC數(shù)控系統(tǒng)通過FOCAS接口,接受OPC客戶端的讀寫操作.如圖1所示.

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 WINCC的OPC服務(wù)器設(shè)置

OPC的服務(wù)器主要功能是提供通訊程序和數(shù)據(jù)存儲(chǔ)程序,通過OPC標(biāo)準(zhǔn)接口供其它軟件使用.OPC(DA 2.0)標(biāo)準(zhǔn)定義了兩個(gè)對(duì)象OPCServer和OPCGroup,OPCServer負(fù)責(zé) OPCGroup對(duì)象的管理、OPCItem屬性查詢、連接點(diǎn)管理、地址空間瀏覽等.OPCGroup對(duì)象負(fù)責(zé)管理數(shù)據(jù)項(xiàng)(Item),包括數(shù)據(jù)項(xiàng)的同步/異步訪問、添加刪除、屬性查詢等.

WINCC在軟件啟動(dòng)的時(shí)候默認(rèn)開啟了OPC服務(wù)器功能,默認(rèn)的服務(wù)器名稱為“OPCServer.WinCC.1”,在變量管理中,建立OPC服務(wù)器的變量名,指定變量的數(shù)據(jù)類型及長(zhǎng)度,如圖2所示,建立FanucAlarmstr變量,數(shù)據(jù)類型是文本變量8位字符集,支持UTF-8中字符集,在OPC客戶端中就可以尋找到該變量名,并讀寫該變量值.

2.2 OPC客戶端設(shè)計(jì)

OPC客戶端的主要任務(wù)是創(chuàng)建服務(wù)器對(duì)象、建立與服務(wù)器的連接、瀏覽OPC服務(wù)器、通過OPC接口讀寫數(shù)據(jù)、斷開連接等.

OPC的客戶端接口方式有很多種,主要有:(1)OPCNetAPI接口,需用OPCNetAPI.dll,OPCNetAPI.com.dll.(2)自動(dòng)化接口,需用OPCDAAuto.dll.(3)自定義接口.使用C#語(yǔ)言開發(fā)時(shí),一般采用自動(dòng)化接口.

本項(xiàng)目的OPC客戶端程序的主要功能是隨WINCC軟件開機(jī)自啟動(dòng),啟動(dòng)后分別枚舉本地的WINCC服務(wù)器和使用FOCAS接口連接FANUC機(jī)床,客戶端一直嘗試連接,直到兩部分都連接成功.具體流程圖如圖3所示.

連接上WINCC服務(wù)器后,OPC客戶端會(huì)自動(dòng)遍歷服務(wù)器上的Item,尋找和加載要更新的變量,然后開啟一個(gè)定時(shí)器,按照固定的周期,不斷的將FANUC的數(shù)據(jù)緩沖區(qū)數(shù)據(jù)刷新到WINCC服務(wù)器對(duì)應(yīng)Item變量中,并接受服務(wù)器寫數(shù)據(jù)操作,更改緩沖區(qū)的數(shù)據(jù).

當(dāng)OPC客戶端連接上FANUC系統(tǒng)后,會(huì)返回正確的句柄,此時(shí)客戶端會(huì)開啟一個(gè)定時(shí)器,按照固定的周期,通過cnc_rdmacror函數(shù)批量地讀取機(jī)床的宏變量區(qū)數(shù)據(jù),通過cnc_rdalmmsg2函數(shù)批量地讀取機(jī)床的多種報(bào)警信息,同時(shí)檢查數(shù)據(jù)緩沖區(qū),判斷寫入FANUC系統(tǒng)數(shù)據(jù)區(qū)的數(shù)據(jù)有沒有改變,如果有改變,則通過cnc_wrmacro函數(shù)修改有變化的數(shù)據(jù)到FANUC系統(tǒng)宏變量區(qū).通過緩沖區(qū)的數(shù)據(jù)交換和FOCAS接口,實(shí)現(xiàn)WINCC對(duì)FANUC機(jī)床的信息采集和數(shù)值寫入功能.

2.3 FANUC系統(tǒng)的連接

工業(yè)應(yīng)用中與FANUC的系統(tǒng)連接一般有3種方式:(1)以太網(wǎng)方式,要求FANUC系統(tǒng)具備以太網(wǎng)功能,通過FOCAS開發(fā)軟件包開發(fā)數(shù)據(jù)采集軟件.(2)串口數(shù)據(jù)采集,在加工宏程序中加入FANUC的串口打印輸出指令將數(shù)據(jù)從串口輸出.但是輸出數(shù)據(jù)有限,操作方式、報(bào)警狀態(tài)、倍率信息等輸出比較困難.(3)PMC交互,通過IO電平狀態(tài)交互信息,只能交互簡(jiǎn)單的點(diǎn)位狀態(tài)信息.

本文采用的系統(tǒng)是FANUC 0i-MD,系統(tǒng)默認(rèn)支持FOCAS網(wǎng)絡(luò)功能,采用FANUC提供的FOCAS 1/2函數(shù)庫(kù)編寫程序就可以與機(jī)床進(jìn)行網(wǎng)絡(luò)通訊.使用系統(tǒng)的FOCAS功能只需要對(duì)系統(tǒng)的IP地址和TCP的端口號(hào)進(jìn)行配置,如圖4所示,使IP地址與OPC客戶端所在主機(jī)在同一個(gè)網(wǎng)段內(nèi)就可以使用了.

OPC客戶端程序通過使用Focas 1/2函數(shù)庫(kù)接口函數(shù)與FANUC系統(tǒng)建立連接:

Focas1.cnc_allclibhndl3("192.168.0.100",8193,10,out Flibhndl);

連接成功返回EW_OK狀態(tài),表示與機(jī)床的網(wǎng)絡(luò)通訊連接成功.運(yùn)行Focas 1/2函數(shù)庫(kù)需要兩個(gè)必不可少的鏈接庫(kù) Fwlib32.dll和 fwlibe1.dll.其中Fwlib32.dll負(fù)責(zé)CNC/PMC數(shù)據(jù)讀寫接口,fwlibe1.dll負(fù)責(zé)網(wǎng)絡(luò)連接和TCP服務(wù)的接口.

2.4 FOCAS接口報(bào)警采集

針對(duì)FANUC 0i-MD系統(tǒng),讀取系統(tǒng)報(bào)警主要有cnc_rdalarm2和cnc_rdalmmsg2.其中cnc_rdalarm2的返回是數(shù)控機(jī)床報(bào)警號(hào),cnc_rdalmmsg2的函數(shù)返回是數(shù)據(jù)結(jié)構(gòu)體Focas1.ODBALMMSG2,該結(jié)構(gòu)體可包含多條報(bào)警信息,每條報(bào)警信息包含報(bào)警號(hào)、報(bào)警類型、哪個(gè)軸報(bào)警、中文報(bào)警詳細(xì)信息等,可以同時(shí)了解同一時(shí)期系統(tǒng)的報(bào)警情況.函數(shù)應(yīng)用流程如圖5所示,讀取報(bào)警信息的函數(shù)體為:

Focas1.cnc_rdalmmsg2(Flibhndl,type,ref num,odbalmmsg2);

3 WINCC與FANUC的數(shù)據(jù)連接調(diào)試

系統(tǒng)的任務(wù)是讀取5個(gè)系統(tǒng)宏變量(系統(tǒng)測(cè)量數(shù)據(jù)),宏變量地址為500~504,將數(shù)據(jù)顯示在WINCC的圖形顯示界面,并設(shè)置5個(gè)誤差參數(shù)變量到FANUC的系統(tǒng)宏變量中,宏變量的地址設(shè)定為505~509.同時(shí)采集系統(tǒng)的報(bào)警號(hào)和中文報(bào)警信息.

圖6是WINCC的圖形顯示狀態(tài):左邊是讀取FANUC系統(tǒng)宏變量500~504區(qū)間的機(jī)床測(cè)量值,右邊是需寫入到FANUC系統(tǒng)的誤差范圍值,下面是FANUC系統(tǒng)的報(bào)警號(hào)及此時(shí)的中文報(bào)警信息.

圖7是OPC采集客戶端的運(yùn)行主界面,開機(jī)自動(dòng)啟動(dòng)到后臺(tái)運(yùn)行,并自動(dòng)地枚舉WINCC的服務(wù)器,連接上后加載WINCC服務(wù)器的Item,并將需要更新的變量加載到更新列表中,列表中顯示的是WINCC與FANUC系統(tǒng)交互過程中的中間數(shù)據(jù).

圖8是FANUC系統(tǒng)宏變量區(qū)數(shù)據(jù)及報(bào)警狀態(tài).其中500~504的數(shù)據(jù)是OPC客戶端傳遞給WINCC服務(wù)器的測(cè)量值.區(qū)間對(duì)應(yīng)的數(shù)據(jù)是WINCC界面設(shè)置,通過OPC客戶端寫入FANUC系統(tǒng)的,并且此時(shí)有急停報(bào)警顯示,實(shí)驗(yàn)顯示OPC客戶端完成了WINCC與FANUC系統(tǒng)的網(wǎng)絡(luò)通訊,實(shí)現(xiàn)了信息讀取與數(shù)據(jù)寫入,滿足了現(xiàn)場(chǎng)的控制需求.

4 結(jié)語(yǔ)

WINCC是使用最普遍的HMI組態(tài)軟件,FANUC是高檔數(shù)控系統(tǒng)中使用較多的數(shù)控系統(tǒng)之一,利用OPC的服務(wù)器與客戶端技術(shù),使用C#語(yǔ)言編寫OPC客戶端程序,調(diào)用FOCAS 1/2函數(shù)庫(kù)軟件網(wǎng)絡(luò)監(jiān)控FANUC數(shù)控系統(tǒng),可以實(shí)現(xiàn)WINCC軟件與FANUC機(jī)床的無縫對(duì)接,在實(shí)際工程應(yīng)用過程中有很大意義,可以快速地實(shí)現(xiàn)FANUC機(jī)床的網(wǎng)絡(luò)化狀態(tài)采集與控制.

猜你喜歡
數(shù)控系統(tǒng)機(jī)床客戶端
你的手機(jī)安裝了多少個(gè)客戶端
你的手機(jī)安裝了多少個(gè)客戶端
中外高端數(shù)控系統(tǒng)差距分析及對(duì)策
機(jī)床展會(huì)
2021第24屆青島國(guó)際機(jī)床展開幕
基于FPGA的高性能電離層測(cè)高儀數(shù)控系統(tǒng)設(shè)計(jì)
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
《機(jī)床與液壓》投稿要求
基于嵌入式Soft-PLC 的三軸數(shù)控系統(tǒng)設(shè)計(jì)
基于以太網(wǎng)的計(jì)算機(jī)與數(shù)控系統(tǒng)通信技術(shù)研究
隆化县| 阿荣旗| 龙泉市| 营口市| 兰州市| 博罗县| 静乐县| 钟祥市| 林芝县| 双城市| 公安县| 海南省| 丘北县| 中西区| 五寨县| 务川| 卓尼县| 盘锦市| 深水埗区| 盱眙县| 民和| 昌宁县| 友谊县| 子长县| 浮梁县| 姚安县| 长治市| 龙陵县| 江西省| 台湾省| 苍山县| 民乐县| 临泉县| 井研县| 塘沽区| 西乌珠穆沁旗| 府谷县| 北海市| 林口县| 集安市| 镇宁|