少妇被躁爽到高潮-亚洲熟女少妇一区二区-少妇无码太爽了在线播放-1000部禁片未18勿进免费观看

專業(yè)的微特電機產(chǎn)品發(fā)布平臺
用戶名: 密碼: 注冊
設(shè)為首頁 加入收藏 聯(lián)系我們
免費注冊 企業(yè)免費建站
新技術(shù)論壇 會員產(chǎn)品發(fā)布
TB6600QQ群:70241714   步進電機論文   六軸工業(yè)機器人解決方案  
步進電機     驅(qū)動器     控制器     馬達(dá)IC     伺服電機     無刷直流電動機     微特電機文獻     工控器件     運動控制新產(chǎn)品     六軸工業(yè)機器人    
  六軸工業(yè)機器人應(yīng)用案例  
  混合式步進電機選型手冊  
  步進電機配套行星減速器  
  步進電機應(yīng)用網(wǎng)  
  三軸桌面機械臂參數(shù)介紹  
  六軸工業(yè)機器人應(yīng)用參數(shù)  
  東芝TB6600HQ/HG芯片  
  tb6600hq步進驅(qū)動芯片  
  論壇熱帖  
  步進電機應(yīng)用資料  
  價格****的86步進電機  
  60W無刷直流電機  
  100W無刷直流電機  
  48V,250W無刷直流電機  
  48V,550W無刷直流電機  
  步進驅(qū)動器芯片LV8731V  
  42/57直線T型滾珠絲桿電機  
  有霍爾直流無刷控制器  
  3相2軸步進驅(qū)動器  
  步進電機論壇  
  ZM-6618直流無刷驅(qū)動器  
  無刷直流電機選型  
  SCM6716MF直流無刷驅(qū)動芯片  
  86步進驅(qū)動器2HD8080  
  北京時代超群公司  
  稀土永磁直流力矩電機  
  永磁直流力矩電機  
  86雙出軸電機  
  伺服電機知識  
  關(guān)于步進電機轉(zhuǎn)速  
  步進電機轉(zhuǎn)矩與功率換算  
  關(guān)于步進電機控制  
  關(guān)于步進電動機驅(qū)動  
  tb62209fg的開發(fā)應(yīng)用  
  tb6588fg的應(yīng)用資料  
  ET-DS100C型取斷錐機  
  五自由度取斷錐機  
  步進驅(qū)動器及產(chǎn)品  
  步進控制器產(chǎn)品  
  ****馬達(dá)IC產(chǎn)品  
  無刷直流電機及控制器  
  微特電機論文  
  馬達(dá)IC應(yīng)用論文  
  步進電機網(wǎng)工控企業(yè)會員  
  步進電機網(wǎng)數(shù)控企業(yè)會員  
  步進電機網(wǎng)新聞動態(tài)  
  步進電機網(wǎng)會員產(chǎn)品信息  
  現(xiàn)貨銷售TB62214FG  
  現(xiàn)貨銷售三洋芯片LV8731  
  2軸步進驅(qū)動器ZD-8731-D  
  57步進驅(qū)動器外殼  
  時代超群無刷直流電機  
  步進電動機制造****技術(shù)  
  減速步進電機  
  無刷直流電機  
  無刷直流減速電機  
  35減速步進電機  
  減速步進電機系列產(chǎn)品  
  單軸步進電機控制器  
  多軸步進電機控制器  
  ******的步進控制器  
  信濃步進電機  
  電機聯(lián)軸器  
  更多>>  
 
一種在Windows操作環(huán)境下采用VC++開發(fā)工具設(shè)計的嵌入式軟PLC編程系統(tǒng)
 
 
嵌入式軟PLC編程系統(tǒng)的設(shè)計
吳玉香,郭建勛,周建香
華南理工大學(xué)自動化學(xué)院,廣東廣州54064
 
 
 
 
摘    要:完成一種在Windows操作環(huán)境下采用VC++開發(fā)工具設(shè)計的嵌入式軟PLC編程系統(tǒng)。采用面向?qū)ο蟮脑O(shè)計思想,提出了描述軟PJ,C梯形圖元件的數(shù)據(jù)結(jié)構(gòu),以及對梯形圖元件集合存儲和交互的方案。該系統(tǒng)針對vc++的Documenf/View的結(jié)構(gòu),設(shè)計了軟PLC編程系統(tǒng)的軟件結(jié)構(gòu),分為編輯、編譯和仿真等功能模塊,且結(jié)合相應(yīng)的算法買現(xiàn),并重點介紹了梯形圖程序的編輯和編譯掃描原理:為低成本高效率實現(xiàn)嵌入式軟PLC編程系統(tǒng)提出了新方案,也為軟件開發(fā)人員提供一種軟件設(shè)計的新思維。
關(guān)鍵詞:軟PLC;梯形圖;編輯;編譯;仿真
中圖分類號:TP 273    文獻標(biāo)識碼:A
1引言
    隨著控制技術(shù)向網(wǎng)絡(luò)化、智能化和開放式發(fā)展,傳統(tǒng)PLC逐漸暴露出許多不足,主要表現(xiàn)力技術(shù)封閉,造成了各生產(chǎn)廠商的PLC產(chǎn)品互不兼容,且編程開發(fā)方法差別很大,技術(shù)專門性很強,用戶必須經(jīng)過長期培訓(xùn)才能掌握其中一種產(chǎn)品的開發(fā)方法,這些問題制約了傳統(tǒng)PLC的快速發(fā)展。隨著計算機科學(xué)的發(fā)展和工業(yè)控制的IEC61131國際標(biāo)準(zhǔn)的制定,出現(xiàn)了用軟件方式實現(xiàn)傳統(tǒng)PLC控制功能的軟PLC技術(shù)。
    軟PLC具有符合現(xiàn)代工業(yè)控制技術(shù)的優(yōu)點,體系結(jié)構(gòu)開放,支持多種硬件環(huán)境,解決了傳統(tǒng)硬PLC互不兼容的問題。軟PLC把控制運算的功能封裝在軟件中,具有傳統(tǒng)PLC的功能,可在計算機操作系統(tǒng)中實現(xiàn)程序的編輯、運算、編譯、存儲等功能,具有編程語言標(biāo)準(zhǔn)化、控制功能模塊化、硬件配置靈活等特點Windows環(huán)境下引入vc++開發(fā)工具,用vc++強大的軟件功能,使人機交互界面更友好,由于vc++固有的面向?qū)ο髾C制,可方便地設(shè)計梯形圖數(shù)據(jù)結(jié)構(gòu),并結(jié)合相應(yīng)的算法,完成軟PLC編程系統(tǒng)設(shè)計。本文給出編輯、編譯和仿真模塊。
2嵌入式軟PLC系統(tǒng)的總體框架
    嵌入式軟PLC主要由編程系統(tǒng)和運行系統(tǒng)組成。編程系統(tǒng)進行梯形圖的編輯、指令的解析以及生成目標(biāo)代碼;運行系統(tǒng)執(zhí)行目標(biāo)代碼,實現(xiàn)控制目的。
本文介紹的嵌入式軟PLC編程系統(tǒng)其總體架構(gòu),如圖l所示。
    嵌入式軟PLC編程系統(tǒng)的編程語言基于國際電工委員會發(fā)布的IEC61131-3國際標(biāo)準(zhǔn),是一個通用的開發(fā)環(huán)境,主要由編輯、編譯、仿真和通信4大模塊組成。其中,編輯模塊提供用戶程序開發(fā)環(huán)境;編譯模塊實現(xiàn)對用戶程序的掃描和編譯;仿真模塊用以離線模擬、調(diào)試用戶程序;通信模塊負(fù)責(zé)把編譯后的用戶程序目標(biāo)代碼下載到運行系統(tǒng)。
3軟PLC編程系統(tǒng)的界面設(shè)計
    IEC61131-3國際標(biāo)準(zhǔn)定義了5種PLC編程語言的規(guī)范:梯形圖( LD)、順序功能圖(SFC)、功能模塊( FBD)、結(jié)構(gòu)化文本(ST)和指令表(。由于梯形圖簡單、直觀,所以本編程系統(tǒng)主要采用梯形圖作為用戶程序的開發(fā)語言。
    本軟件采用vC++開發(fā)工具,并基于多文檔的DocumenU View結(jié)構(gòu)設(shè)計,以支持梯形圖和指令表對應(yīng)的格式一。其界面由梯形圖編輯區(qū)、指令表區(qū)和信息輸出區(qū)三部分組成,如圖2所示。
   
    梯形圖編輯區(qū)用于梯形圖駐留和相關(guān)參數(shù)的設(shè)置;指令表區(qū)用于顯示梯形圖對應(yīng)的邏輯指令;信息輸出區(qū)顯示梯形圖可能的語法錯誤信息以及正確執(zhí)行后的輸出信息。
4梯形圖數(shù)據(jù)結(jié)構(gòu)設(shè)計
  1)梯形圖元件類的繼承關(guān)系設(shè)計梯形圖元件包括常開觸點、常閉觸點和輸出線圈等簡單元件和定時器、計數(shù)器、數(shù)據(jù)運算(包括加減運算、比較運算等)等復(fù)雜元件。由面向?qū)ο蟮睦^承特性,可以抽象出一個類作為梯形圖元件的總體接口,再以這個類為基礎(chǔ),派生出具體的元件子類。梯形圖元件的抽象類定義如下:
 
    由此抽象類派生出簡單元件類和復(fù)雜元件類,并擴充相應(yīng)的屬性和方法操作;再由這兩個類派生出具體元件類,如常開觸點或定時器等。各元件類型的繼承樹示意圈,如圖3所示。
  2)梯形圖容器的數(shù)據(jù)結(jié)構(gòu)設(shè)計整個存儲梯形圖的容器選擇用雙向鏈表結(jié)構(gòu)表示。其原因基于以下兩點:
    ①對梯形圖的添加、修改、刪除等操作,能夠方便地運用鏈表的存儲結(jié)構(gòu)完成。
②梯形圖的編輯過程是動態(tài)的,梯形圖的行數(shù)、列數(shù)和元件類型都是未知的,。這種動態(tài)存儲過程,用鏈表結(jié)構(gòu)比其他的數(shù)據(jù)結(jié)構(gòu)表達(dá)得更為清楚、有效。
    存儲梯形圖的雙向鏈表在文檔類中定義為:CObList m_ LADList,存儲秭形圖的容器。由此,添加梯形圖元件,實質(zhì)就是在內(nèi)存中建立相應(yīng)的對象,并調(diào)用鏈表的AddHead或AddTail函數(shù)加入該對象的指針;而刪除梯形圖元件,實質(zhì)就是調(diào)用鏈表的RemoteHead或RemoveTail函數(shù)移除鏈表中對應(yīng)對象的指針。下列代碼表示生成一個常開元件對象,并把該對象的指針加入到鏈表中:
    3)用戶對梯形圖元件的控制用戶通過與編程界面的交互,達(dá)到對梯形圖元件的控制。為了縮小顯示、控制和梯形圖元件三者間的耦合性,可引入MVC( Model-View-Control)模式解決。其中,vc++中的CVieW類充當(dāng)顯示部分,并設(shè)計CPLCEleCon-troller類用以控制梯形圖元件。CPLCEleController類依賴于工廠類CPLCEleFactory類,通過簡單工廠模式以創(chuàng)建梯形圖元件實體,并且針對編輯、編譯和仿真的操作封裝了相應(yīng)方法。其定義如下:
5梯形圖的編輯
    梯形圖的編輯部分封裝于視圖類,能實現(xiàn)存儲與顯示分離,以有效降低代碼的耦合性。
    梯形圖的編輯大體可分為以下步驟:
    Step1選擇所要加載的梯形圖元件類型。
    Step 2用戶在編輯區(qū)單擊鼠標(biāo),掃描程序獲取單擊點對應(yīng)位置的笛卡兒坐標(biāo)值。
    Step 3添加該梯形圖元件到存儲鏈表中。
    Step 4在窗口中顯示該梯形圖。
    Scep 5設(shè)置梯形圖元件的其他參數(shù)。
  1)梯形圖的繪制  矢量圖是計算機通過數(shù)學(xué)表達(dá)式解析的圖形,具有內(nèi)存消耗小,操作靈活的特點。因此,本軟件按矢量繪制梯形圖。
在vc++申,MFC類庫中的CDC類封裝了矢量圖的相關(guān)操作,由此,對梯形圖的繪制可以通過遍歷鏈表,并調(diào)用CDC類對象指針的函數(shù)來完成。并基于面向?qū)ο蟮亩鄳B(tài)性調(diào)用各元件實際的繪制操作:
 
  梯形圖被繪制后,其類型、行號、列號信息均被確定。而其他的參數(shù),如元件編號、定時器的時基,由用戶輸入確定,具體可以通過添加消息映射函數(shù),掃描鼠標(biāo)操作實現(xiàn)。當(dāng)用戶雙擊某梯形圖元件時,彈出參數(shù)設(shè)置對話框,輸人數(shù)據(jù)后,相關(guān)的參數(shù)就被綁定在該元件對象中。
  2)梯形圖的序列化要實現(xiàn)梯形圖的多次編輯,就要對梯形圖實現(xiàn)序列化,將其保存為文仲;而當(dāng)再次調(diào)用時,需要把程序加載到內(nèi)存。
    對于Document/View結(jié)構(gòu),數(shù)據(jù)都存放于CDocu-ment類里,將其中的變量寫入文件,即實現(xiàn)了梯形圖的序列化;打開文件時,通過動態(tài)創(chuàng)建機制,把其中變量導(dǎo)人內(nèi)存,即實現(xiàn)了梯形圖的反序列化。
6梯形圖的編譯
    梯形圖的編譯是編程系統(tǒng)的關(guān)鍵部分,因為編譯的實質(zhì)是把用戶編輯的梯形圖程序,經(jīng)過語法分析和邏輯分析,循環(huán)掃描,最終生成運行系統(tǒng)可識別的目標(biāo)程序。
    按照梯形圖編程語言規(guī)范,編譯程序掃描梯形圖,經(jīng)過語法分析和邏輯分析后,若發(fā)現(xiàn)梯形圖有錯誤,便生成相應(yīng)的錯誤提示信息,并復(fù)制到用戶界面。
    1)梯形圖的掃描梯形圖掃描和編譯以梯級為單位,且梯級是由相互影響的行組成的最小單元,梯形圖掃描,如圖4所示。
   
    對梯形圖的掃描采用深度掃描算法,即以豎線元素作為邏輯區(qū)分,對梯形圖網(wǎng)絡(luò)自左向右,從上至下,逐個元素進行。
    以圖4力例,一個梯形圖梯級的深度掃描過程如下:
    Step l首先讀取串聯(lián)關(guān)系的元件Xl和X2。
    Step 2遇到并聯(lián)結(jié)點A,從而轉(zhuǎn)至下一行掃描,讀取元件X4。
  實踐證明,該掃描算法容易實現(xiàn),能深入解析梯形圖邏輯關(guān)系,占用存儲空間較少,掃描效率較高。
    2)梯形圖數(shù)據(jù)信息的記錄為了提高移植性,降低運行系統(tǒng)程序與vc++程序的耦合度,本軟件引入了生成相應(yīng)的配置文件技術(shù),以記錄梯形圖的數(shù)據(jù)信息,供仿真模塊或運行系統(tǒng)讀取。
    梯形圖被掃描過程,程序自動生成梯形圖相關(guān)的邏輯關(guān)系數(shù)據(jù)對應(yīng)的配置文件,用4組數(shù)字分別代表梯形圖的類型、連接關(guān)系,包括復(fù)雜元件中定時器的時基等數(shù)據(jù)信息,以備在運行系統(tǒng)加載。其梯形圖數(shù)據(jù)信息存儲結(jié)構(gòu)示例,如圖5所示。
 
圖5存儲了一個梯形圖的梯級信息,一個梯形圖元件對應(yīng)表中的一格,表中“x-x-x-x”的格式為簡單元件信息,分別表示“元件類型一連接關(guān)系一存儲類型一對應(yīng)存儲類型數(shù)組的偏移量”。如表中第1行第1列的“1-0-0-25”數(shù)據(jù),代表梯級中位于第1行第1列,無并聯(lián)關(guān)系的常開觸點,它在簡單元件類型輸入數(shù)組中的存儲偏移量為25。
7梯形圖的仿真
    為了判定被編譯程序執(zhí)行的正確性,本編程系統(tǒng)設(shè)計了仿真模塊,以模擬現(xiàn)場梯圖程序運行。仿真需要將梯形圖程序轉(zhuǎn)化為c程序,以實現(xiàn)邏輯控制。
  仿真模塊主要分為邏輯運算模塊、算術(shù)運算模塊和梯形圖更新顯示模塊。其中,邏輯運算模塊是仿真模塊的核心,負(fù)責(zé)對梯形圖數(shù)據(jù)信息的識別,以及邏輯狀態(tài)的轉(zhuǎn)移。
  仿真程序通過讀取存儲梯形圖邏輯信息的配置文件,并還原對應(yīng)每個梯形圖元件及相應(yīng)的邏輯關(guān)系。以下的代碼片段通過運行是類型識別,反映了當(dāng)前讀取的元件是常開/常閉觸點或輸出線圈時的邏輯運算:
  動態(tài)仿真過程在梯形圖編輯區(qū)實時顯示方便用戶進行錯誤定位、追蹤。具體表現(xiàn)為梯形圖元件能流導(dǎo)通時的變色反顯,可通過重繪觸發(fā)的方式實現(xiàn)。
8結(jié)語
    本嵌入式軟PLC編程系統(tǒng)實現(xiàn)了梯形圖的編輯、編譯和仿真功能。并基于vc++開發(fā)平臺面向?qū)ο蟮姆庋b、繼承和多態(tài)性,通過編輯過程引入存儲梯形圖信息的配置文件,實現(xiàn)了編譯與仿真的橋接,有效地降低了與vc++開發(fā)環(huán)境的耦合度,移植性強。
 
 
 
 
 
 
 
 
 
高精線性模組 上海生化培養(yǎng)箱 大容量恒溫?fù)u床 振動篩網(wǎng) 計價秤 液壓剪板機 孵化機 箱式爐
物聯(lián)網(wǎng)設(shè)備 步進電機 除氧器 造紙設(shè)備 步進驅(qū)動器 深圳機械加盟 帶式干燥機 硫酸泵
直流屏 激光打標(biāo)機 機械論文 中國控制閥網(wǎng)-調(diào)節(jié)閥 移動式升降機 食品機械網(wǎng) 電機 電子稱
酷刻刻字機 中國電動滾筒網(wǎng) 北京時代超群 中國數(shù)控機床維修網(wǎng) 超聲波裥棉機 步進電機論壇
設(shè)為首頁  |  加入收藏  |  關(guān)于我們  |  站長留言  |  廣告服務(wù)  |  友情鏈接申請  |  網(wǎng)站介紹
網(wǎng)站實名:步進電機網(wǎng) 步進電機驅(qū)動器網(wǎng) 微特電機網(wǎng) 網(wǎng)站地圖 新聞中心
版權(quán)所有:北京時代四維科技有限公司 © Copyright By www.troj.com.cn
京ICP備11042559號-1
主站蜘蛛池模板: 西城区| 金坛市| 蓬莱市| 灵宝市| 宁河县| 和顺县| 武陟县| 仁布县| 清苑县| 新昌县| 曲靖市| 姚安县| 湄潭县| 蓬莱市| 岢岚县| 永和县| 锡林郭勒盟| 中超| 高雄县| 赤壁市| 丰城市| 区。| 呼玛县| 肥乡县| 辛集市| 乐安县| 博客| 新巴尔虎左旗| 紫云| 天门市| 古田县| 青岛市| 澜沧| 东安县| 莒南县| 磴口县| 寿宁县| 四子王旗| 柘城县| 东明县| 广宗县|