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

        ?

        基于MDI應(yīng)用程序的軟PLC指令表編輯模塊的實現(xiàn)*

        2012-11-24 04:41:52陳嬋娟
        關(guān)鍵詞:定義界面程序

        陳嬋娟,李 龍

        (陜西科技大學(xué)機電工程學(xué)院,西安 710021)

        0 引言

        軟PLC技術(shù)是一種基于IPC或EPC的將PLC的控制功能封裝在軟件內(nèi)的控制技術(shù)[1],也就是通過軟件來實現(xiàn)標(biāo)準(zhǔn)硬件PLC的基本功能。它不但具有傳統(tǒng)PLC的PID調(diào)節(jié)、離散控制和I/O控制功能,而且具有微型計算機的高速數(shù)據(jù)處理和網(wǎng)絡(luò)功能[2]。由于國際編程標(biāo)準(zhǔn)IEC61131-3的制定和推廣應(yīng)用,軟PLC技術(shù)已經(jīng)成為一項新興的技術(shù)。

        根據(jù)IEC61131-3的標(biāo)準(zhǔn),可選用的編程語言有:梯形圖(LD),指令表(IL),結(jié)構(gòu)文本(ST),功能模塊(FB)和順序功能圖(SFC)[3]。指令表程序可以更方便的用于程序的編譯,所以指令表編輯模塊的開發(fā)具有著很大的實用意義。為了使所開發(fā)的系統(tǒng)能夠?qū)崿F(xiàn)指令表編輯功能,本文根據(jù)指令表語言的特點,并采用C++語言成功開發(fā)了指令表編輯模塊,從而實現(xiàn)了指令表語言的編輯,修改與輸出。

        1 MDI應(yīng)用程序的結(jié)構(gòu)

        指令表編輯模塊是建立在多文檔界面應(yīng)用程序之上的。多文檔界面應(yīng)用程序簡稱MDI(Multiple Document Interface),它允許有多個文檔、視圖類和多個文檔模板CMultiDocTemplate存在,即可以建立多種文檔——視圖——子框架窗口的關(guān)系[4]。由于MDI程序基于的文檔模板類為CMultiDocTemplate,能夠同時創(chuàng)建多種文檔類型,所以采用了MDI應(yīng)用程序來開發(fā)軟PLC開發(fā)系統(tǒng),開發(fā)出的軟PLC開發(fā)系統(tǒng)界面如圖1所示。

        圖1 軟PLC開發(fā)系統(tǒng)界面

        2 指令表編輯模塊的實現(xiàn)

        2.1 指令表程序顯示窗口的實現(xiàn)

        圖1中最右側(cè)的窗口為指令表程序最終的輸出窗口,該窗口不僅可以顯示指令表編輯器所編輯的指令表程序,還可以顯示由梯形圖程序轉(zhuǎn)化的指令表程序。根據(jù)指令表程序語言的特點我們將所創(chuàng)建的指令表程序顯示窗口設(shè)置成一個列表視圖控件。實現(xiàn)方法是給程序添加一個基于CListView類的新類:CILView,并給這個類定義一個類型為CListCtrl的變量:m_listctrl,從而來初始化列表視圖控件。

        指令表程序顯示窗口是從原有的MDI應(yīng)用程序窗口拆分而來的。實現(xiàn)方法是在CChildFrame類中定義兩個類型為CSplitterWnd的變量:m_wndSplitter1和m_wndSplitter2,再利用這兩個變量調(diào)用函數(shù)CreateStatic()來拆分窗口,最后將構(gòu)建的類CILView通過函數(shù)CreatView()將列表視圖控件在拆分的窗口上顯示[5]。MDI應(yīng)用程序窗口切分流程如圖2所示。

        圖2 MDI應(yīng)用程序窗口切分流程

        2.2 指令表編輯器的設(shè)計

        指令表編輯器是在一個對話框上實現(xiàn)的,通過給程序添加一個對話框資源,并構(gòu)建一個基于CDialog類的新類:CEDITDlg來實現(xiàn)的?;趯υ捒虻念怌EDITDlg定義如下:

        為了獲取程序相應(yīng)的“步數(shù)”、“指令”和“操作數(shù)”這三個元素,在對話框上添加了三個Edit Box控件來。同時為了方便用戶預(yù)覽程序,也在對話框上添加了一個具有網(wǎng)格線風(fēng)格的列表視圖控件。另外還添加了5個按鈕控件,從而實現(xiàn)“刪除”和“插入”等功能,以便用戶能夠?qū)Τ绦蜻M行更改和刪除等操作。指令表編輯器的界面如圖3所示。

        圖3 指令表編輯器編輯界面

        2.3 指令表編輯器數(shù)據(jù)結(jié)構(gòu)的設(shè)計

        指令表程序主要包括“步數(shù)”、“指令”和“操作數(shù)”這三個元素,根據(jù)這三個元素首先定義一個結(jié)構(gòu)體CILElement用于存儲程序的相關(guān)數(shù)據(jù)。數(shù)據(jù)結(jié)構(gòu)體CILElement的定義如下:

        定義完存儲數(shù)據(jù)的結(jié)構(gòu)體后,再用MFC的鏈表類將程序的每個“步數(shù)”串聯(lián)起來,就是定義一個CPtrList類的變量 m_IlList指向定義的結(jié)構(gòu)體CILElement,以便對后面對程序的序列化和輸出。程序輸出之間要對程序數(shù)據(jù)進行提取、交換與存儲,數(shù)據(jù)的提取、交換與存儲流程如圖4所示。

        圖4 數(shù)據(jù)處理流程

        2.4 指令表編輯器數(shù)據(jù)的輸出

        指令表編輯器里輸入的數(shù)據(jù)經(jīng)過提取、交換和存儲,接下來就是要將編輯器里輸入的數(shù)據(jù)輸出到程序的最終輸出窗口。實現(xiàn)的方法是分別在源文件CEDITILDlg.cpp和CS_PLCView.cpp的頭部定義自定義消息碼:#define WM_SET_IL WM_USER+100,最后通過自定義的消息處理函數(shù)實現(xiàn)數(shù)據(jù)的輸出[6]。指令表程序最終輸出界面如圖5所示。

        圖5 指令表程序最終輸出界面

        3 結(jié)束語

        圖5是指令表編輯器編輯的程序最終輸出到列表視圖控件所在窗口的界面,由于對指令表程序所包含的三個元素采用字符串類CString類進行定義,所以數(shù)據(jù)在處理過程中不會出現(xiàn)錯誤,在程序運行時保證了輸入和輸出程序的一致性。軟PLC相對于傳統(tǒng)PLC來說,它更靈活,可以根據(jù)用戶自己的需求開發(fā)出相應(yīng)的產(chǎn)品,并且價格低廉。指令表編輯模塊是軟PLC開發(fā)系統(tǒng)不可或缺的部分,該模塊的開發(fā)對于整個開發(fā)系統(tǒng)的完整性具有重要意義。同時指令表編輯模塊的開發(fā)也為以后程序的編譯和仿真奠定了基礎(chǔ)。

        [1]黃延延,林躍,于海斌.軟PLC技術(shù)研究及實現(xiàn)[J].計算機工程,2004,30(1):15-17.

        [2]陳嬋娟,高帥,王杰.軟PLC開發(fā)系統(tǒng)梯形圖編輯模塊的實現(xiàn)[J].組合機床與自動化加工技術(shù),2010(10):5-6.

        [3]Open-PLC programming using IECll31-3,http://www.engineeringtalk.com.

        [4]楊波,葉春,等.用VC++實現(xiàn)一個通用的MDI應(yīng)用程序[J].計算機應(yīng)用,2001(7):4-7.

        [5]候俊杰.深入淺出MFC(第二版)[M].武漢:華中科技大學(xué)出版社,2001.

        [6]鄭慧,范忠誠,等.零基礎(chǔ)學(xué) Visual C++[M].北京:機械工業(yè)出版社,2008.

        猜你喜歡
        定義界面程序
        國企黨委前置研究的“四個界面”
        試論我國未決羈押程序的立法完善
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        人機交互界面發(fā)展趨勢研究
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        創(chuàng)衛(wèi)暗訪程序有待改進
        手機界面中圖形符號的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        修辭學(xué)的重大定義
        精品香蕉久久久午夜福利| 色欧美与xxxxx| 亚洲每天色在线观看视频| 国产亚洲中文字幕一区| 欧美性生交活xxxxxdddd| av无码久久久久不卡网站下载| 国产男女插插一级| 国产免费一区二区三区在线观看 | 中国年轻丰满女人毛茸茸| 好爽受不了了要高潮了av| 日韩高清av一区二区| 少妇激情一区二区三区99| 午夜视频在线在免费| 中文字幕在线码一区| 欧美性xxx久久| 久久黄色精品内射胖女人| 精品国产免费一区二区三区香蕉| 偷偷色噜狠狠狠狠的777米奇| 屁屁影院一区二区三区| 99热久久只有这里是精品 | 亚洲精品国精品久久99热| 99国产精品人妻噜啊噜| 欧美在线播放一区二区| 日本一区二区高清在线观看| 天堂资源中文网| av无码久久久久不卡网站下载| A阿V天堂免费无码专区| 国产精品三级自产拍av| 色佬精品免费在线视频| 天堂…在线最新版资源| 欧美色图50p| 国产久色在线拍揄自揄拍| 正在播放老肥熟妇露脸| 91精品福利观看| 亚洲一区久久久狠婷婷| 夜夜爽妓女8888888视频| 日本五月天婷久久网站| 蜜桃av一区在线观看| 加勒比色老久久爱综合网| 亚洲日韩av无码| 精品亚洲欧美高清不卡高清|