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

    基于MTConnect協(xié)議的柔性適配器研究*

    2018-10-09 06:37:02胡天亮張承瑞
    關(guān)鍵詞:數(shù)據(jù)項適配器數(shù)控系統(tǒng)

    王 標,楊 艷,胡天亮,張承瑞

    (1.山東大學 a.機械工程學院;b.高效潔凈機械制造教育部重點實驗室,濟南 250061;2.山東大學 蘇州研究院,江蘇 蘇州 215123)

    0 引言

    隨著中國制造業(yè)升級和《中國制造2025》的提出,智能制造得到重點推進,而智能制造的基礎(chǔ)是實現(xiàn)車間內(nèi)信息的互聯(lián)互通[1]?,F(xiàn)今,車間內(nèi)設備以數(shù)控機床為主,相關(guān)學者已對數(shù)控機床的監(jiān)控開展了許多研究,在單臺數(shù)控系統(tǒng)監(jiān)控方面,有通過硬件[2]、嵌入式單元[3]、商業(yè)通信軟件[4]等形式采集數(shù)據(jù);在數(shù)控系統(tǒng)的群控方面,有對于同種開放式數(shù)控系統(tǒng)的監(jiān)控[5]、基于OPC協(xié)議的控制系統(tǒng)聯(lián)網(wǎng)[6]等。然而研究中未能有效實現(xiàn)將異構(gòu)數(shù)控系統(tǒng)的監(jiān)控柔性化、標準化,系統(tǒng)無法實現(xiàn)快速部署,可擴展性不強。

    為解決此問題,本文根據(jù)MTConnect通信協(xié)議具有的標準化語義、輕量級等特點[7-9],研究了基于MTConnect的具有高效性、開放性的柔性適配器,解決了由于各機床接口、通信協(xié)議不盡相同,異構(gòu)控制系統(tǒng)在同一監(jiān)控網(wǎng)絡下集成困難的問題;并提出了異構(gòu)數(shù)控系統(tǒng)的監(jiān)控方案,最后在某車企制造車間進行了應用驗證。

    1 柔性適配器設計

    MTConnect標準架構(gòu)包含兩個元素:適配器(Adapter)和代理(Agent)。適配器將設備數(shù)據(jù)“翻譯”為標準格式,添加時間戳和標識符并封裝成報文,然后發(fā)送到代理;代理存儲數(shù)據(jù),并將它們以XML格式發(fā)給客戶端[7]。圖1說明了體系結(jié)構(gòu)元素之間的關(guān)系。

    圖1 MTConnect體系結(jié)構(gòu)

    本文設計的柔性適配器可以兼容傳統(tǒng)信息采集接口,集成設備使用的不同通信協(xié)議,并進行協(xié)議解析與轉(zhuǎn)換,具有高兼容性和高拓展性。柔性適配器的架構(gòu)如圖2所示。

    圖2 柔性適配器架構(gòu)

    因為不同設備采用不同的數(shù)據(jù)格式和通信協(xié)議,所以要開發(fā)不同的通信驅(qū)動來支持適配器數(shù)據(jù)采集的功能,本文將通信驅(qū)動封裝成動態(tài)鏈接庫,只要動態(tài)庫支持柔性驅(qū)動接口,通信驅(qū)動就可以識別并加載到內(nèi)存中。通過這種模式柔性適配器就可以訪問現(xiàn)場設備信息。

    為保證系統(tǒng)的高擴展性,利用面向?qū)ο蟮某绦蛟O計思想,將柔性適配器分為Adapter類、DataItem類、Asset類、Interface類。Adapter類的功能包括Socket通信、心跳機制、對數(shù)據(jù)項的整合以及數(shù)據(jù)項的發(fā)送等,Adapter類函數(shù)示例見表1。DataItem類則按照MTConnect標準定義了事件(Events)、采樣(Samples)、條件(Conditions)、信息(Messages)、時間序列(Time Series),形成封裝好的數(shù)據(jù)項類型,可以保證完整的數(shù)據(jù)項映射。柔性驅(qū)動接口類(Interface)的作用是對通信協(xié)議進行適配,保證適配器的可擴展性和通用性。通信驅(qū)動是指由機床廠家提供或用戶自行封裝的可用于采集設備數(shù)據(jù)的DLL(動態(tài)鏈接庫),將其中相關(guān)的API(應用程序編程接口)添加到柔性適配器的對應接口中,即可實現(xiàn)對設備的監(jiān)控。

    柔性適配器處理流程如下:

    (1) 適配器通過查詢控制器來發(fā)現(xiàn)路徑并確定設備配置信息,將代理端的配置信息與適配器端相匹配;

    (2) 數(shù)據(jù)項映射,利用柔性驅(qū)動接口讀取動態(tài)庫,并將數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一數(shù)據(jù)格式;

    (3) 設置設備端的端口號,打開適配器;

    (4) 設置數(shù)據(jù)采集時間間隔,定時采集數(shù)據(jù);

    (5) 適配器向代理端發(fā)送數(shù)據(jù)。

    Adapter類提供的部分函數(shù)功能:

    表1 Adapter類函數(shù)示例

    1.1 柔性驅(qū)動接口設計

    柔性接口將通信驅(qū)動中的函數(shù)進行封裝,包括通用的對于設備的連接與斷開、配置、初始化、獲取數(shù)據(jù)、重連、開始、結(jié)束等操作,還有保留的未定義函數(shù)接口,用于特殊情況的擴展;并將采集上來數(shù)據(jù)轉(zhuǎn)換成DataItem類中的統(tǒng)一數(shù)據(jù)格式。該接口主要包含的函數(shù)見表2。

    表2 接口函數(shù)示例

    1.2 數(shù)據(jù)項映射實現(xiàn)

    首先為要監(jiān)視的每個數(shù)據(jù)分類為MTConnect標準數(shù)據(jù)類型中的一種,并創(chuàng)建數(shù)據(jù)項,以采集坐標信息為例:

    (1) 新建數(shù)據(jù)項,根據(jù)坐標信息的性質(zhì),將其劃分為Sample類數(shù)據(jù),新建Sample對象,Sample中包括語義與值的對應,“position”是該數(shù)值的語義,添加到數(shù)據(jù)項集中;

    Sample mPosition = new Sample("position");

    mAdapter.AddDataItem(mPosition);

    (2) 將數(shù)據(jù)采集協(xié)議中的對應坐標采集的函數(shù)添加到柔性接口類中的獲取數(shù)據(jù)接口中以實現(xiàn)采集原始數(shù)據(jù);

    (3) 采集到的坐標數(shù)據(jù)都會對應于“position”這個語義,將語義、數(shù)值及時間戳的組合被封裝成一個報文,發(fā)送到代理端。

    mAdapter.SendChanged( )。

    2 柔性適配器應用策略研究

    柔性適配器適用于車間的數(shù)控機床、機器人等,當添加新的設備類型時,設計人員需要封裝一個與此柔性驅(qū)動接口函數(shù)一致的動態(tài)鏈接庫,并添加到適配器軟件的Drivers文件中,適配器就可以識別加載該動態(tài)鏈接庫,經(jīng)過簡單的配置就能實現(xiàn)監(jiān)控。

    2.1 針對通用控制器接口的應用

    目前機床的通信接口可分為PLC上I/O接口、串口和以太網(wǎng)口三種。以下將針對此三種類型介紹本文設計的柔性適配器的應用策略。

    2.1.1 PLC信號點采集

    利用數(shù)據(jù)采集模塊從PLC采集I/O點,再通過網(wǎng)口傳輸模塊與柔性適配器相聯(lián)。采集卡提供驅(qū)動程序以及SDK(Software Development Kit)函數(shù)接口,調(diào)用這些函數(shù)即可實現(xiàn)將模擬量輸入轉(zhuǎn)化為數(shù)字量輸出的功能,將I/O信號解析后送到柔性適配器中。將SDK中的函數(shù)針對柔性適配器中的接口進行二次封裝,生成動態(tài)鏈接庫并添加到柔性適配器中,即可直接通過柔性適配器采集PLC中的數(shù)據(jù)。

    2.1.2 串口通信轉(zhuǎn)換

    通過串口服務器可實現(xiàn)串口轉(zhuǎn)網(wǎng)絡的功能,其按照串口數(shù)據(jù)流的形式采集數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換成符合TCP/IP協(xié)議的數(shù)據(jù)包在以太網(wǎng)中傳播,從而將串口通信設備轉(zhuǎn)換為以太網(wǎng)口的方式采集數(shù)據(jù)。

    2.1.3 以太網(wǎng)口數(shù)據(jù)采集

    具有以太網(wǎng)口的機床采集方法更加多樣化,目前數(shù)控系統(tǒng)的主要廠商都以提供API的方式,通過以太網(wǎng)或串口進行通信。由于各廠商通信接口不一致,所以需要按照柔性適配器中接口的規(guī)則,定義相同的接口,嵌入這個接口文件,就可在柔性適配器中使用這些函數(shù)實現(xiàn)數(shù)據(jù)采集。

    2.2 針對OPC接口的應用

    對于已經(jīng)支持OPC規(guī)范但是不支持MTConnect協(xié)議的設備,例如車間機器人或者一些非標數(shù)控機床,柔性適配器可實現(xiàn)對于OPC規(guī)范的集成。OPC服務器中的命名空間與MTConnect中的設備信息模型功能相似,當其數(shù)據(jù)類型映射到MTConnect數(shù)據(jù)字典時, 將OPC數(shù)據(jù)類型轉(zhuǎn)換為MTConnect中數(shù)據(jù)結(jié)構(gòu)的類型,同時為OPC枚舉類型的子類型創(chuàng)建所有枚舉。方法如下:

    (1) 建立OPC服務器項

    建立IOPCServer接口類型的服務器項,用于采集OPC服務器中的信息。IOPCServer接口中的方法可以獲取OPCServer的狀態(tài)信息、OPC的組對象,其中OPC所采集的所有進程變量OPCItem都保存在組對象中。

    (2) 建立OPCItem類,包含OPC命名空間中的主要數(shù)據(jù)項屬性

    由于OPC中的數(shù)據(jù)項統(tǒng)一采用VARIANT型表示,通過使用OPCItem類將其中的數(shù)據(jù)類型按照MTConnect的數(shù)據(jù)字典區(qū)分開;同時在適配器中建立DeviceDatum類,使之包含所有OPC協(xié)議轉(zhuǎn)為MTConnect協(xié)議的數(shù)據(jù)類型。

    (3) 選擇想要采集的數(shù)據(jù),建立新的數(shù)據(jù)項

    通過AddDataItem函數(shù)將數(shù)據(jù)映射到數(shù)據(jù)項組中,完成OPC協(xié)議到MTConnect協(xié)議的轉(zhuǎn)換。

    (4) 將從機床獲取數(shù)據(jù)的接口統(tǒng)一添加到通用的獲取數(shù)據(jù)接口,采用訂閱式的數(shù)據(jù)訪問方式,當服務器中數(shù)據(jù)發(fā)生改變后,就會觸發(fā)并傳回變化的句柄和數(shù)據(jù),再通過SendChanged方法將數(shù)據(jù)項集發(fā)送到代理端。

    3 車間監(jiān)控系統(tǒng)開發(fā)與功能驗證

    本文基于MTConnect的異構(gòu)數(shù)控系統(tǒng)聯(lián)網(wǎng)方案開發(fā)了網(wǎng)絡監(jiān)控系統(tǒng),并成功應用于某汽車企業(yè)的機械加工車間,該車間布置的主要是Fanuc31i與西門子840D兩種數(shù)控系統(tǒng)的設備,現(xiàn)場如圖3所示。對每臺機床配置一個柔性適配器,整個車間配置一個代理服務器,客戶端與代理使用MTConnect協(xié)會提供的開發(fā)包進行設計。

    圖3 車間現(xiàn)場

    3.1 系統(tǒng)結(jié)構(gòu)設計

    監(jiān)控系統(tǒng)的結(jié)構(gòu)如圖4所示,柔性適配器從數(shù)控系統(tǒng)中采集數(shù)據(jù)然后轉(zhuǎn)換為MTConnect統(tǒng)一數(shù)據(jù)格式,發(fā)送到代理;工程中運行著一個數(shù)據(jù)庫,用作保存歷史數(shù)據(jù)。在客戶端層面,應用程序具有與代理聯(lián)系的URI(Uniform Resource Identifier),數(shù)據(jù)的交互通過請求與應答機制實現(xiàn)[7]。首先客戶端發(fā)送probe指令來獲取設備的描述信息,包括設備組件的結(jié)構(gòu)和其可用數(shù)據(jù)信息,然后客戶端可發(fā)送current指令來獲得最新的數(shù)據(jù)項。

    圖4 監(jiān)控方案結(jié)構(gòu)

    3.2 Fanuc系統(tǒng)在監(jiān)控網(wǎng)絡的集成

    3.2.1 連接機床數(shù)控系統(tǒng)

    (1) 機床數(shù)控系統(tǒng)的連接

    采用Fanuc公司提供的動態(tài)鏈接庫-FOCAS (Fanuc Open CNC API Specifications),將Fwlib32.dll中的連接函數(shù)cnc_allclibhndl3加入適配器柔性驅(qū)動接口中的Connect函數(shù)中,建立通信鏈路并返回通信句柄,通信句柄將伴隨整個通信過程,直到應用程序通過調(diào)用函數(shù)cnc_freelibhndl斷開通信鏈路。

    (2) 柔性適配器配置

    在適配器柔性接口的Configure函數(shù)中,F(xiàn)OCAS庫函數(shù)中通過cnc_getpath來獲取機床的所有路徑,然后加入到柔性適配器中控制的path類。

    3.2.2 數(shù)據(jù)采集與映射

    首先根據(jù)要采集的數(shù)據(jù)類型新建數(shù)據(jù)項,加入到數(shù)據(jù)項組中,將FOCAS中的采集數(shù)據(jù)方法添加到GatherDeviceData方法內(nèi),以采集數(shù)控程序為例:

    (1) 新建數(shù)據(jù)項,定義為Event類型;

    (2) 通過AddDataItem(DataItem di)函數(shù)加入到數(shù)據(jù)項組中;

    (3) 通過FOCAS中的cnc_rdexecprog( )獲取到正在運行的程序數(shù)據(jù),再通過Event類的SetValue方法將程序內(nèi)容填充到數(shù)據(jù)流stream中;

    (4) 將獲取數(shù)據(jù)的方法加入到通用的獲取數(shù)據(jù)接口GatherDeviceData( ),再通過SendChanged( )方法將數(shù)據(jù)項集發(fā)送到代理端。

    3.3 集成西門子系統(tǒng)

    在西門子840D系統(tǒng)中配有OPC服務器,適配器可以采集OPC服務器中的數(shù)據(jù)并轉(zhuǎn)換為MTConnect協(xié)議標準的數(shù)據(jù)。本文采用了OPC基金會提供的自動化接口-OPCDAAuto.dll動態(tài)庫,可實現(xiàn)對于OPC服務器的訪問功能,使用OPCServer類、OPCGroup類、ItemValue類來分別實現(xiàn)了OPC中Server對象、Group對象和Item對象。

    OPC與MTConnect數(shù)據(jù)映射:

    (1) 建立OPC服務器對象;

    OPCServer mOPCServer=new OPCServer();

    (2) 連接到OPC服務器;

    mOPCServer.Connect(”O(jiān)PC.SINUMERIK.Machineswitch”);

    其中,OPC.SINUMERIK.Machineswitch為西門子840D數(shù)控系統(tǒng)中OPC服務器的CLSID標識。

    (3) 在服務器對象下添加OPC組對象;

    OPCGroups mOPCGroups= mOPCServer.OPCGroups;

    (4) 建立項對象并向各組添加項,舉例:

    AddDataItem (mProgramName = new COPCItem(mOPCServer, ProgramName)); //程序名

    AddDataItem (mWarningStatus = new COPCItem(mOPCServer, WarningStatus)); //報警狀態(tài)

    (5) 采用訂閱式的數(shù)據(jù)獲取,再將數(shù)據(jù)項集發(fā)送到代理端。

    mOPCGroups.IsActive=true;

    mOPCGroups.IsSubscribed=true;

    SendChanged()。

    3.4 監(jiān)控系統(tǒng)實現(xiàn)

    基于上述方法實現(xiàn)車間監(jiān)控系統(tǒng),客戶端程序采用C#語言編寫,其中包含MTConnect客戶端的軟件模塊,該模塊啟動對MTConnect數(shù)據(jù)的所有請求。客戶端能同時實現(xiàn)多個數(shù)控設備的監(jiān)控,單擊需要查看的設備,即能彈出對應數(shù)控設備的監(jiān)控界面。監(jiān)控內(nèi)容包括數(shù)控系統(tǒng)的坐標、進給速度、主軸速率、程序名、運行模式等,在某一時刻客戶端得到如圖5、圖6所示的運行結(jié)果。

    圖5 車間監(jiān)控系統(tǒng)界面(安裝Fanuc31i數(shù)控系統(tǒng)的機床信息)

    圖6 車間監(jiān)控系統(tǒng)界面(西門子840D數(shù)控系統(tǒng)機床信息)

    通過與當前時刻各數(shù)控系統(tǒng)顯示的實時數(shù)據(jù)進行比較驗證,結(jié)果表明該系統(tǒng)能夠準確地獲取聯(lián)網(wǎng)機床的運行信息,用戶根據(jù)顯示信息可遠程判斷數(shù)控機床的運行狀況,準確定位故障發(fā)生的部位,證實了方案的可行性;同時,柔性適配器簡化了機床的信息采集過程,讓監(jiān)控系統(tǒng)中異構(gòu)設備的添加快速高效,標準的信息模型保證了數(shù)據(jù)的正確性,為實現(xiàn)數(shù)字化車間奠定了基礎(chǔ)。

    4 結(jié)論

    本文針對目前車間信息化過程中存在的問題,基于MTConnect協(xié)議設計了具有高擴展性的柔性適配器,并標準化機床的信息訪問方法,降低了適配器軟件的開發(fā)和硬件通信驅(qū)動開發(fā)的耦合度,提高程序開發(fā)的效率;同時提出了異構(gòu)數(shù)控系統(tǒng)監(jiān)控方案,并成功應用在某汽車制造企業(yè)的自動化管理系統(tǒng)中,完成了對于異構(gòu)數(shù)控系統(tǒng)運行數(shù)據(jù)的有效采集,實現(xiàn)設備監(jiān)控和集中管理,提高了企業(yè)的管理效率。此外,由于MTConnect作為各種機床平臺的標準接口,因此可以使用相同的軟件工具集來捕獲不同機床類型的信息,這進一步減少了在工廠環(huán)境中實施的開發(fā)和部署時間。

    猜你喜歡
    數(shù)據(jù)項適配器數(shù)控系統(tǒng)
    一種多功能抽簽選擇器軟件系統(tǒng)設計與實現(xiàn)
    甘肅科技(2020年19期)2020-03-11 09:42:42
    非完整數(shù)據(jù)庫Skyline-join查詢*
    基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實現(xiàn)
    基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設計
    西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應用
    基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
    適配器模式及其應用
    電子測試(2017年11期)2017-12-15 08:57:45
    數(shù)控系統(tǒng)中GUI軟件平臺設計和實現(xiàn)
    新型水文測驗GPS適配器設計與應用
    基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
    地礦測繪(2015年3期)2015-12-22 06:27:26
    宁海县| 都江堰市| 翁源县| 通江县| 凤阳县| 临漳县| 镇康县| 泗水县| 崇左市| 黄陵县| 德兴市| 玛沁县| 闽清县| 射洪县| 临夏县| 当涂县| 四会市| 东兰县| 稻城县| 陆良县| 伊宁县| 海城市| 都昌县| 商城县| 井冈山市| 德格县| 平乡县| 万全县| 海淀区| 酉阳| 原平市| 陈巴尔虎旗| 宜春市| 讷河市| 登封市| 尚志市| 房产| 兴业县| 藁城市| 张家口市| 巩留县|