色婷婷日韩,免费伊人网,av黄色在线,天天碰天天爽,性久久久久久久久久,久草手机视频在线观看,亚洲黄色第一页

數(shù)控系統(tǒng)中內(nèi)嵌式PLC編程軟件的實現(xiàn)

來源:互聯(lián)網(wǎng)

點擊:1233

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:數(shù)控系統(tǒng) 內(nèi)嵌式PLC

      內(nèi)嵌式可編程控制器(embedued PLC)具有結(jié)構(gòu)緊湊、成本低廉等優(yōu)點,在中小型數(shù)控系統(tǒng)中得到了廣泛的應(yīng)用,但也存在通用性不高、擴充性不強以及對用戶透明度較差等問題。本文根據(jù)其工作原理,用C語言建立了內(nèi)嵌式PLC的集成編程環(huán)境,使這些問題得到了較好的解決。

    1 編程軟件的功能和數(shù)據(jù)流向

      編程軟件的主要功能是在I/O接口卡和伺服控制卡等硬件平臺上針對不同的數(shù)控系統(tǒng)來完成內(nèi)嵌式PLC的軟件編程任務(wù)。在編程軟件的主界面中,有’‘輸人定義”、‘’輸出定義”、“中間變量”、“參數(shù)設(shè)置”、“系統(tǒng)組成”、“梯形圖”、“系統(tǒng)退出”等功能項,其中“輸人定義”和“輸出定義”用來定義輸人信號和輸出信號;“中間變量”用來定義PLC邏輯程序中用到的內(nèi)部變量;“參數(shù)設(shè)置卜,用來設(shè)定數(shù)控系統(tǒng)所用到的一些參數(shù);“系統(tǒng)組成‘’的功能是把已經(jīng)定義過的輸人信號、輸出信號、中間變量以及系統(tǒng)的參數(shù)根據(jù)所設(shè)計的數(shù)控系統(tǒng)的大小有選擇地組合在一起,并根據(jù)輸人/輸出點數(shù)的多少建立映射區(qū)川,形成一個名字為PLC. H的磁盤文件,供其他程序調(diào)用;“梯形圖”選項用來對梯形圖進行編輯和編譯,形成數(shù)控系統(tǒng)能夠識別的代碼在本系統(tǒng)中,該代碼是一個名字為CPLC.C的C語言程序。該程序能被數(shù)控程序或仿形數(shù)字化程序調(diào)用,經(jīng)過和PLC的函數(shù)庫連接形成一個完整的可執(zhí)行文件。編程軟件的數(shù)據(jù)流向如圖1所示。

    2 信號定義

      在編程軟件的主界面中選擇“輸人定義”,其下拉式菜單有兩個子功能“新建”和“打開”。“新建”就是對一塊輸人卡上的32路輸人信號進行定義,此時屏幕上會給出提示信息,讓用戶鍵人輸人卡的基地址,基地址的范圍在000H-3FFH之間,并且不能與系統(tǒng)所占用的地址以及已經(jīng)定義過的輸人卡的地址相沖突,例如,用戶鍵人的基地址為330貝y在屏幕上從上到下順序排列出該輸人卜上的4個口地址330.331,332,333,每個口地址對應(yīng)8路輸人信號,用戶可以對這些信號進行定義,信號定義完成后,按壓F2鍵,則該輸人卡的信號以330.adr文件名存于硬盤上。“打開”是用來對已經(jīng)定義過的一塊輸人卡的信號從硬盤上調(diào)出并顯示在屏幕上以便用戶查閱和修改。用同樣的方法在“輸出定義’‘中可以完成輸出信號的定義,

    3 梯形圖的編輯和雙向鏈表的存儲結(jié)構(gòu)

      編程軟件的“梯形圖”選項用來進行梯形圖的編輯和編譯。本系統(tǒng)將梯形圖的基本符號如動合觸點、動斷觸點等歸納成14種基本圖素,圖素代號為“A”-“N”,排列在屏幕右側(cè),供操作者選擇。屏幕左側(cè)為梯形圖編輯窗口,光標(biāo)可在該窗口內(nèi)全屏幕搜索定位。梯形圖的每行可編輯9列圖素操作者只需移動淺綠色的光標(biāo)塊到合適的位置然后在此光標(biāo)塊上分別鍵人需要輸人的圖素代碼和該圖素代碼所對應(yīng)的信號代碼,即可存該位置畫出相應(yīng)的梯形圖符號,并標(biāo)有信號代碼。梯形圖的編輯有全中文界面和幫助信息,可吏現(xiàn)的功能主要有:梯形圖文件存盤、裝載;圖素的繪制、插入、刪除;圖形瀏覽;梯形圖整行的插入、刪除;錯誤檢測;梯形圖編譯等。由于梯形圖的行數(shù)是不能預(yù)知的,因此,對梯形圖的編輯采用動態(tài)數(shù)據(jù)存儲,以雙向鏈表數(shù)據(jù)結(jié)構(gòu)來記錄梯形圖的所有信息,把梯形圖的每行作為一個鏈結(jié),其結(jié)構(gòu)如下:

      其中,BLOCK blk[9]為結(jié)構(gòu)體數(shù)組,每一項順序記錄著從第1列到第9列的基本圖素信息,其第9列限定為輸出項,BLOCK的結(jié)構(gòu)如F:

      對梯形圖的編輯可以通過對結(jié)構(gòu)體LDA的前后項指針*prior和*next來進行,如圖2所示。

    圖2梯形圖雙向鏈表數(shù)據(jù)結(jié)構(gòu)圖

      雙向鏈表結(jié)構(gòu)存放在內(nèi)存的堆中,所占用的內(nèi)存空間在程序運行期間可以動態(tài)地變化。用兩個全局指針變量LAD*listhead和LAD*lisitail分別指向雙向鏈表的鏈頭和鏈尾,用全局性指針變量LAD*info來指向正在編輯的鏈結(jié)一般情況下,一個完整的梯形圖不可能在一個屏幕內(nèi)全部顯示出來,而只能以屏幕為單位一屏一屏地顯示(本系統(tǒng)一屏幕顯示10行),因此用fistlin來記錄屏幕當(dāng)前顯示的梯形圖起始行,用rellin表示光標(biāo)塊所在行在當(dāng)前屏幕卜的位置,如果rellin >10或rellin < 1,則把當(dāng)前屏幕的內(nèi)容更換整個梯形圖通過LAD的前項指針*prior和后項指針*nex。按照行號順序鏈結(jié)在一起。這樣,對梯形圖的各種操作,如修改、刪除、插人等就轉(zhuǎn)化為對雙向鏈表的相應(yīng)操作,例如刪除梯形圖的某行,實際卜就是把內(nèi)存中的梯形圖雙向鏈表的鏈結(jié)刪除掉,并且這西操作均可用結(jié)構(gòu)體指針的運算來實現(xiàn)。由于雙向鏈表的每個鏈結(jié)都具有向前和向后的指針,既可向前查找,也能向后訪間,因此各類操作十分靈活方便。

    4 梯形圖的編譯

      編輯好的梯形圖,根據(jù)其雙向鏈表中的圖素代號和信號代碼,可形成各種邏輯關(guān)系。利用編譯程序、把這種邏輯關(guān)系編譯成C程序困,以便嵌入到同樣用C語言編制的數(shù)控程序或仿形數(shù)字化程序中,完成機床的順序控制。在梯形圖編譯時按照梯形圖的梯級順序進行,編譯過程中要進行語法檢查,主要是檢查所編譯的梯形圖足否鈳臺規(guī)定的格式,如果梯形目不符合格式要求,則會給出錯誤信啟,同時,在編譯過程中還要枝驗梯形嘲中的信號代碼與信號定義模塊PLC。H中所定義的信號是否~致,如果不一致,則提示該信號代碼未定義。用戶通過查看編譯過程中所給出的錯誤信息,進行相應(yīng)的修改,直到?jīng)]有錯誤為止。梯形圖編譯程序的流程圖如圖3所示。

    圖3梯形圍編譯程序流程圈

    5 結(jié)束語

      該編程軟件簡化了采用常規(guī)方法時要根據(jù)系統(tǒng)不同的硬件配置從底層進行設(shè)計的繁瑣步驟,縮短了設(shè)計周期,提高丁工作效率。從其在&ldquo;數(shù)控仿形銑床&rdquo;研制過程中的使用情況來看,取得了令人滿意的效果,為系統(tǒng)的設(shè)計、安裝和調(diào)試帶來了極大的便利。

    (審核編輯: Doris)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。