亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CNC的軟PLC虛擬機中元件庫的研究*

        2015-06-11 00:45:36陸麗麗季建華
        機械研究與應用 2015年3期
        關(guān)鍵詞:基類鏈表梯形圖

        陸麗麗,季建華

        (江蘇城市職業(yè)學院,江蘇南通 226006)

        0 引言

        數(shù)控是用數(shù)字信息對機械運動和自動化加工過程進行控制的技術(shù),是現(xiàn)代國家制造業(yè)信息化水平和國際競爭能力的象征,已有50多年的發(fā)展歷史。如今,隨著市場競爭日趨激烈,被加工零件的精益求精及微型計算機的迅猛發(fā)展,軟PLC發(fā)展成為進一步提高數(shù)控技術(shù)、實現(xiàn)數(shù)控系統(tǒng)開放化的重要手段。軟PLC能夠充分利用工業(yè)控制計算機(IPC)或嵌入式計算機(EPC)的硬件和軟件資源,改變傳統(tǒng)硬件PLC繁瑣、呆板的缺點,全部用軟件靈活地來實現(xiàn)數(shù)控功能[1]。

        1 軟PLC虛擬機系統(tǒng)

        在數(shù)控機床運行過程中,PLC是機床本體與數(shù)控裝置之間的橋梁。它根據(jù)CNC內(nèi)部標志以及機床的各控制開關(guān)、檢測元件、運行部件的狀態(tài),按照程序設(shè)定的控制邏輯,完成對刀庫運動、換刀機構(gòu)、冷卻液等的控制功能。

        1.1 軟 PLC

        軟PLC采取基于虛擬機的解決方案,分為開發(fā)系統(tǒng)和運行系統(tǒng)兩部分。開發(fā)系統(tǒng)實際上就是編程器,完成調(diào)試和編譯工作。運行系統(tǒng)是軟PLC的核心,完成輸入處理、程序執(zhí)行、輸出處理等工作,如圖1所示。

        圖1 軟PLC系統(tǒng)的總體結(jié)構(gòu)

        1.2 軟PLC虛擬機

        軟PLC虛擬機是相對我們平常所用的實際的計算機而言的一個概念,它是一個假想的模擬實際計算機進行工作的軟件系統(tǒng),由編譯器、解釋執(zhí)行器、元件庫和管理模塊組成,可以完成對圖文件的編譯、中間代碼生成和解釋執(zhí)行,對PLC文件的加載和執(zhí)行(見圖2)。其中,元件庫提供了梯形圖元件的相關(guān)信息,作為一個單獨的模塊可動態(tài)升級,可根據(jù)用戶的需要進行裁減。這種架構(gòu)給PLC虛擬機帶來了極大的靈活性和可擴展型,是數(shù)控系統(tǒng)實現(xiàn)開放化的關(guān)鍵技術(shù)。

        圖2 軟PLC虛擬機的結(jié)構(gòu)

        2 軟PLC中元件庫模塊的研究

        2.1 元件及元件庫

        梯形圖中的觸點、線圈和用方框表示的功能塊,把這些繪圖元素叫做“元件”[2](見圖3)。由于“元件”在梯形圖中作為梯形圖的繪圖元素,因此元件中包括其所具有的自身參數(shù)(輸入?yún)?shù)、輸出參數(shù))和功能函數(shù)(邏輯行為)。

        圖3 梯形圖程序舉例

        所有的元件按照一定的分類規(guī)則組合在一起,稱元件的組合為元件庫。元件庫是軟PLC虛擬機中獨立的模塊,包含元件的繪圖信息和行為信息,提供了一組對外訪問的接口,其它模塊通過這些接口獲取希望獲得的信息。

        2.2 元件庫的數(shù)據(jù)結(jié)構(gòu)

        由于標準中規(guī)定的元件數(shù)量較多,為了便于信息查找,可對其建模過程采用按類型分組的策略,功能相近的元件分在同一個元件組中,采用的數(shù)據(jù)結(jié)構(gòu)是鏈表。每個元件庫包含一個元件組鏈表,該鏈表的結(jié)點為元件組的信息,每個元件組又包含一個元件鏈表,結(jié)點為元件。標準元件庫數(shù)據(jù)結(jié)構(gòu)如圖4所示。

        2.3 開發(fā)語言及編程工具的選擇

        開發(fā)元件庫,可以選擇當今業(yè)界流行的C++語言,C++是C的派生,是C的超集,是一種面向?qū)ο蟮某绦蛟O(shè)計語言(Object-Oriented Programming Language,OOPL),具有封裝性、繼承性、多態(tài)性等獨到之處,使程序結(jié)構(gòu)更加清晰,更易于擴充和維護,更加靈活,程序設(shè)計者能更好地理解和管理龐大的復雜程序[3]。

        圖4 元件庫的數(shù)據(jù)結(jié)構(gòu)

        3 標準元件庫的創(chuàng)建

        3.1 實現(xiàn)原則

        元件庫創(chuàng)建的過程中,采用了C++標準程序庫,提供了容器和泛性算法。比如:實現(xiàn)元件庫模型中的實體類時,使用了標準庫中提供的元素,包括pair、wstring等類型和 list、vector等容器,直接調(diào)用容器類提供的成員函數(shù),不但避免了自己設(shè)計鏈表、動態(tài)數(shù)組等數(shù)據(jù)結(jié)構(gòu)容易產(chǎn)生的錯誤,而且對軟件的可靠性有了很大的提高,大大提高了開發(fā)效率和程序質(zhì)量。

        3.2 元件庫的組類

        元件的信息分成兩部分描述[4]。一部分為靜態(tài)信息,包括繪圖信息和參數(shù)信息,抽象出元件基類CBaseUnit,具體的元件類都繼承自元件基類,例如元件ID、元件大小、元件名稱和參數(shù)表等屬性的初始化和描述;另一部分為動態(tài)信息,也就是元件的行為信息,抽象出行為抽象基類CDictate,具體元件行為的描述都繼承自該類,例如純虛函數(shù)Run。通過兩部分信息結(jié)合,完成對元件描述和類型聲明。

        由于元件較多,所以采取了分組策略,將標準中規(guī)定的功能相關(guān)的元件放在一組當中,產(chǎn)生元件組。

        對元件組類的聲明可以如下:

        class CUnitGroup

        {

        public:

        CUnitGroup();

        virtual~CUnitGroup();

        void AddUnit(CBaseUnit*pUnit);//向元件組中添加元件

        成員函數(shù)定義略……

        private:

        unsigned int m_nID;//組ID

        std::wstring m_szName;//組名稱

        std::list< CBaseUnit* > Units m_units;//元件組中包含元件鏈表

        };

        元件組實例對象可以通過調(diào)用AddUnit成員函數(shù)向元件組添加元件,使得元件組中成員變量鏈表的節(jié)點是元件對象的指針,對元件的操作可通過遍歷元件組來實現(xiàn)。

        3.3 標準元件庫的實現(xiàn)

        標準元件庫中共包括觸點組、線圈組、程序控制組、計數(shù)器指令組、定時器指令組、數(shù)學運算組、邏輯運算組等多個元件組,將標準中的元件按功能分配到相應的元件組中。在元件庫中需要將具體的元件組組織起來,并且通過公有接口提供給系統(tǒng)中的其它模塊。針對元件庫的功能出元件庫基類CBaseUnitTempl,在該類中包含成員變量std::list<CUnitGroup*>namedUnitGroups,該成員變量把元件組的指針作為鏈表的節(jié)點,可以把元件組對象的指針存放在該鏈表對象namedUnitGroups中。此外,該基類主要包含了一組虛函數(shù),標準元件庫繼承該基類,并對繼承的接口進行重寫,元件庫中接口按功能主要分為以下4類[4]:

        (1)元件庫信息相關(guān)接口,包括獲取元件庫ID號、是否是標準元件庫等接口。

        (2)元件組信息相關(guān)接口,包括獲取元件組名稱、各個元件組中元件的數(shù)量、創(chuàng)建新的元件組等接口。

        (3)判斷元件類型的接口,包括判斷元件是否為直線、是否為觸點等接口。

        (4)元件信息相關(guān)的接口,包括獲取元件參數(shù)類型、獲取元件大小、獲取元件名稱等接口。

        4 總結(jié)

        開放式數(shù)控系統(tǒng)是當今數(shù)控技術(shù)的發(fā)展方向,軟PLC因具有更好的數(shù)據(jù)處理能力、網(wǎng)絡(luò)通訊能力和開放的體系結(jié)構(gòu),將傳統(tǒng)的硬PLC替而代之。筆者以FANUC數(shù)控系統(tǒng)作為硬件平臺,對軟PLC技術(shù)進行分析,尤其是元件庫模塊進行了研究設(shè)計,提出了新的解決方案,解決了傳統(tǒng)封閉式數(shù)控系統(tǒng)兼容性差、功能不易擴展等問題,提高數(shù)控系統(tǒng)的開放性、降低成本。

        [1] 任玉田,包 杰,喻逸君,等.新編機床數(shù)控技術(shù)[M].北京:北京理工大學出版社,2005:1-2.

        [2] 高欽和.可編程控制器應用技術(shù)與設(shè)計實例[M].北京:人們郵電出版社,2004:1-2.

        [3] 馬玉敏,樊留群,李 輝,等.軟PLC技術(shù)的研究與實現(xiàn)[J].機電一體化,2005(3):14-27.

        [4] 蘇 中,李興成,李 擎,等.基于PC架構(gòu)的可編程序控制器[M].機械工業(yè)出版社,2005.

        猜你喜歡
        基類鏈表梯形圖
        基于C#面向?qū)ο蟪绦蛟O(shè)計的封裝、繼承和多態(tài)分析
        基于二進制鏈表的粗糙集屬性約簡
        跟麥咭學編程
        基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
        基于VC的梯形圖編程軟件開發(fā)技術(shù)
        繼電器電路轉(zhuǎn)為梯形圖教學經(jīng)驗淺談
        電子制作(2016年15期)2017-01-15 13:39:28
        空戰(zhàn)游戲設(shè)計實例
        一種基于用戶興趣的STC改進算法
        服裝學報(2015年1期)2015-10-21 01:20:30
        虛機制在《面向?qū)ο蟪绦蛟O(shè)計C++》中的教學方法研究
        PLC梯形圖程序設(shè)計技巧及應用
        幻女bbwxxxx在线视频| 一区二区三区国产大片| 日产国产亚洲精品系列| 日本h片中文字幕在线| 久久精品黄aa片一区二区三区| 久久久久99精品成人片试看| 中文字幕人妻系列一区尤物视频| 精品视频手机在线免费观看| 亚洲成a人片在线观看无码专区| 97精品国产手机| 亚洲国产成人AⅤ片在线观看| 精品国产污黄网站在线观看| 不卡的av网站在线观看| 久久久久久国产精品无码超碰动画 | 久久精品网站免费观看| 国产手机在线观看一区二区三区| 国产精品久久久久9999赢消| 欧美喷潮系列在线观看| 日本最新在线一区二区| 91在线视频在线视频| 国产高清一区二区三区视频| 免费看一级a女人自慰免费| av高清视频在线麻豆免费观看 | 亚洲av日韩av在线观看| 日韩在线看片| 国产一区二区三区在线观看蜜桃| www夜插内射视频网站| www国产无套内射com| 欧美性爱一区二区三区无a| 蜜臀人妻精品一区二区免费| 亚洲精品白浆高清久久久久久| 久久精品国产9久久综合| 中文字幕五月久久婷热| 电驱蚊液可以插一晚上吗| 久久久无码人妻精品一区| 秋霞日韩一区二区三区在线观看| 精品国产亚洲av高清日韩专区| 午夜裸体性播放| 亚洲人在线观看| 色婷婷精久久品蜜臀av蜜桃| 国产精品 无码专区|