• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    高羅卿 莊源昌

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

    SIMATIC WINCC組態(tài)軟件是德國西門子公司的一款產(chǎn)品,屬于HMI/SCADA類型的軟件系統(tǒng),主要用于對工業(yè)控制過程中各類設(shè)備、標(biāo)簽、控制畫面等資源進(jìn)行配置和編輯,并且可以方便地處理事件報警和系統(tǒng)報警,完成各類報表的統(tǒng)計生成和打印,支持多種數(shù)據(jù)通訊驅(qū)動接口,方便各類設(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)有的對數(shù)控系統(tǒng)的數(shù)據(jù)采集,多數(shù)都采用數(shù)控系統(tǒng)廠商所提供的專用數(shù)據(jù)采集軟件或者二次開發(fā)函數(shù)庫(例如FANUC的FOCAS函數(shù)庫),自行進(jìn)行二次開發(fā).有的工業(yè)場合也采用WINCC通過PLC與數(shù)控系統(tǒng)的PMC模塊進(jìn)行I/O之間的狀態(tài)變化來交互信息.然而,這些方法都無法使WINCC與FANUC系統(tǒng)之間進(jìn)行直接的數(shù)據(jù)通訊.

    OPC技術(shù)的應(yīng)用為解決這一問題打開了一條通道,可以通過高級語言VB或C#編寫OPC客戶端程序,OPC客戶端程序通過FANUC公司提供的FOCAS函數(shù)庫采集數(shù)控系統(tǒng)狀態(tài)信息.同時,WINCC作為OPC的服務(wù)器,可以被OPC客戶端連接,并且遵循OPC協(xié)議,讀寫服務(wù)器上的FANUC系統(tǒng)緩沖數(shù)據(jù),從而實現(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(分布式組件對象模型)在軟件組件之間交換數(shù)據(jù).OPC規(guī)范定義了客戶端和服務(wù)器、服務(wù)器和服務(wù)器之間的通訊接口,包括訪問實時數(shù)據(jù)、監(jiān)控報警和事件、訪問歷史數(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é)議對設(shè)備進(jìn)行讀與寫的操作,OPC協(xié)議標(biāo)準(zhǔn)僅限于Windows操作系統(tǒng),現(xiàn)在廣泛應(yīng)用在工業(yè)自動化、制造業(yè)、石油和天然氣、可再生能源和公共事業(yè)中.

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

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

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

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

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

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

    2.2 OPC客戶端設(shè)計

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

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

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

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

    當(dāng)OPC客戶端連接上FANUC系統(tǒng)后,會返回正確的句柄,此時客戶端會開啟一個定時器,按照固定的周期,通過cnc_rdmacror函數(shù)批量地讀取機(jī)床的宏變量區(qū)數(shù)據(jù),通過cnc_rdalmmsg2函數(shù)批量地讀取機(jī)床的多種報警信息,同時檢查數(shù)據(jù)緩沖區(qū),判斷寫入FANUC系統(tǒng)數(shù)據(jù)區(qū)的數(shù)據(jù)有沒有改變,如果有改變,則通過cnc_wrmacro函數(shù)修改有變化的數(shù)據(jù)到FANUC系統(tǒng)宏變量區(qū).通過緩沖區(qū)的數(shù)據(jù)交換和FOCAS接口,實現(xiàn)WINCC對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ù)有限,操作方式、報警狀態(tài)、倍率信息等輸出比較困難.(3)PMC交互,通過IO電平狀態(tài)交互信息,只能交互簡單的點位狀態(tài)信息.

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

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

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

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

    2.4 FOCAS接口報警采集

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

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

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

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

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

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

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

    4 結(jié)語

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

    猜你喜歡
    函數(shù)庫數(shù)控系統(tǒng)機(jī)床
    機(jī)床展會
    機(jī)床展會
    用于優(yōu)化雷達(dá)信號處理的VSIPL函數(shù)庫
    基于Python的開源GIS應(yīng)用開發(fā)
    Scratch求最值和平均值
    電腦報(2020年34期)2020-09-12 14:03:42
    基于BB60C的IQ數(shù)據(jù)采集與存儲系統(tǒng)設(shè)計
    2019,中國機(jī)床變中求進(jìn)
    基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計
    西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
    基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
    中超| 肥西县| 大石桥市| 新巴尔虎右旗| 吉木乃县| 资阳市| 砚山县| 射阳县| 中西区| 烟台市| 应用必备| 台前县| 常州市| 璧山县| 方山县| 高州市| 长宁县| 桐庐县| 得荣县| 化隆| 库伦旗| 米林县| 襄垣县| 崇礼县| 丹寨县| 恩平市| 黑河市| 镇原县| 崇阳县| 中山市| 商城县| 万年县| 永丰县| 原阳县| 龙口市| 溆浦县| 孝感市| 宁国市| 苏尼特左旗| 肥乡县| 贡觉县|