技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 數(shù)控系統(tǒng)PLC編輯器的設(shè)計(jì)與實(shí)現(xiàn)

數(shù)控系統(tǒng)PLC編輯器的設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2010-02-08 09:15:29來(lái)源:limin

導(dǎo)語(yǔ):?本文介紹了一種在數(shù)控系統(tǒng)中用C 語(yǔ)言設(shè)計(jì)PLC 編輯器的方法。該編輯器融合了大多數(shù)應(yīng)用軟件所有的復(fù)制、剪切、粘貼以及按關(guān)鍵字搜索等功能。

1 引言
      ANC-45M 全功能數(shù)控系統(tǒng)是大連機(jī)床廠高新技術(shù)開(kāi)發(fā)中心與日本AVAIL 技研株式會(huì)社合作開(kāi)發(fā)的立式、半閉環(huán)三軸加工中心數(shù)控系統(tǒng)。她使用了32 位RISC 型CPU,專用的多任務(wù)實(shí)時(shí)操作系統(tǒng),改進(jìn)的哈佛結(jié)構(gòu),9″彩色液晶顯示器,雙CPU、雙主板設(shè)計(jì),其中一個(gè)CPU 所在的主板是加工中心的控制子系統(tǒng),另一個(gè)CPU 及其主板是它的輸入、輸出子系統(tǒng),它是機(jī)床的人機(jī)用戶界面。本文詳細(xì)論述了數(shù)控ANC-45M 加工中心PLC 編輯器的設(shè)計(jì)與實(shí)現(xiàn)。
2 ANC—45M 加工中心的組成結(jié)構(gòu)
  兩個(gè)CPU 及其主板之間用一根通信電纜線將兩個(gè)主板上的RS-232 異步串行通信接口連接起來(lái),用報(bào)文形式進(jìn)行數(shù)據(jù)交換。其中交換的數(shù)據(jù)包括:MMC 側(cè)(人機(jī)接口控制器)和CNC側(cè)加工程序以及PLC 梯形圖程序等的交換,MMC 側(cè)和CNC 側(cè)的實(shí)時(shí)坐標(biāo)數(shù)據(jù)、機(jī)床狀態(tài)參數(shù)的交換等。
3 軟件系統(tǒng)結(jié)構(gòu)
  3.1 主程序算法結(jié)構(gòu)
  PLC 編輯器是MMC 部分的一個(gè)子程序,為了能更好地描述本文的內(nèi)容,我們應(yīng)首先分析一下MMC 部分主程序的設(shè)計(jì)算法,其三個(gè)主要程序模塊算法如下:
  (1) main 函數(shù)算法如圖1 所示。

main 函數(shù)算法

圖 1 Main 函數(shù)算法

  (2) 任務(wù)管理模塊如圖 2 所示。

任務(wù)管理模塊

圖 2 任務(wù)管理模塊算法

 (3) 狀態(tài)任務(wù)模塊如圖 3 所示。

狀態(tài)任務(wù)模塊

圖3 狀態(tài)任務(wù)模塊算法

  主程序?yàn)槊恳粋€(gè)子功能模塊預(yù)留了對(duì)應(yīng)的兩個(gè)子函數(shù),PLC 編輯器有其相應(yīng)的無(wú)鍵處理子函數(shù)和向鍵處理子函數(shù)。在向鍵處理子函數(shù)中進(jìn)行輸入鍵值的判斷處理,而無(wú)鍵處理子函數(shù)則進(jìn)行實(shí)時(shí)狀態(tài)參數(shù)的屏幕刷新處理。對(duì)于每個(gè)子功能模塊,都有一個(gè)共同的特點(diǎn),那就是其無(wú)鍵處理子程序相對(duì)于向鍵處理子程序較為短小。在當(dāng)前子功能模塊狀態(tài)下、沒(méi)有鍵值輸入時(shí)就調(diào)用無(wú)鍵處理子函數(shù),并且每一主程序循環(huán)周期都要調(diào)用它;當(dāng)在有鍵值輸入的情況下,就轉(zhuǎn)而調(diào)用向鍵處理子程序。一旦有按鍵輸入,系統(tǒng)是以中斷方式被CPU 所接收的,它首先進(jìn)行相應(yīng)的預(yù)處理,然后再調(diào)用任務(wù)管理模塊子程序。任務(wù)管理模塊程序是通過(guò)判斷當(dāng)前狀態(tài)變量是否為初始狀態(tài),如果是則進(jìn)入相應(yīng)的初始處理,如果不是則判斷是否按鍵狀態(tài),如是則分別進(jìn)入相應(yīng)的分支程序。
  在有按鍵的情況下,程序首先判斷該鍵值的類型,如果是改變功能子函數(shù)模塊的命令時(shí),則首先調(diào)用相應(yīng)的功能鍵值子函數(shù)模塊,并送去狀態(tài)變量值TASKSTART,同時(shí)把當(dāng)前運(yùn)行中的功能子模塊放入后臺(tái)等待該中斷執(zhí)行完后,接著執(zhí)行完;如果不是改變功能子模塊,而是在當(dāng)前功能子函數(shù)狀態(tài)下的鍵值輸入,系統(tǒng)則調(diào)用該功能鍵值處理子函數(shù)模塊,并且送去TASKRUN 狀態(tài),這樣也就進(jìn)入了各子程序的鍵值處理子程序。
  3.2 操作系統(tǒng)
  該數(shù)控系統(tǒng)的操作系統(tǒng)采用的是AVAIL 公司自行開(kāi)發(fā)設(shè)計(jì)的,并已經(jīng)成功應(yīng)用于公司生產(chǎn)的繡花機(jī)上,該公司生產(chǎn)的繡花機(jī)多年行銷中國(guó)大陸等地,已經(jīng)得到實(shí)踐和用戶的驗(yàn)證和認(rèn)可。該操作系統(tǒng)是專門為任務(wù)相對(duì)比較單一的控制系統(tǒng)所設(shè)計(jì)的,其中有一個(gè)非常重要的時(shí)間任務(wù)控制模塊,它負(fù)責(zé)對(duì)各任務(wù)的處理分配運(yùn)行時(shí)間,并對(duì)任務(wù)執(zhí)行時(shí)間進(jìn)行監(jiān)控。我們知道,對(duì)于一個(gè)實(shí)時(shí)系統(tǒng)來(lái)說(shuō),系統(tǒng)的正確性不僅取決于計(jì)算的邏輯結(jié)果,而且還依賴于產(chǎn)生結(jié)果的時(shí)間。為了保證數(shù)控加工的精度,該操作系統(tǒng)采用一種硬實(shí)時(shí)任務(wù)的管理模式,即系統(tǒng)給一個(gè)特定的任務(wù)指定了一個(gè)最后的期限,而系統(tǒng)必須在這個(gè)最后期限之前處理完所規(guī)定的任務(wù),否則系統(tǒng)就會(huì)強(qiáng)制中斷該任務(wù)的執(zhí)行。這個(gè)時(shí)間任務(wù)模塊決定了該數(shù)控系統(tǒng)的加工精度,依賴于多種因素的制約,比如CPU 執(zhí)行速度的快慢、通訊口傳輸速率等等。由于該操作系統(tǒng)功能簡(jiǎn)單、任務(wù)可預(yù)測(cè)且單一,這就為該系統(tǒng)可靠性更高,穩(wěn)定性更強(qiáng)提供了根本的保證。
4 梯形圖主要功能實(shí)現(xiàn)
  4.1梯形圖符號(hào)的輸入和編輯
  該梯形圖編輯器采用軟鍵盤按菜單梯形圖編輯器[1-4]工具繪制相應(yīng)的圖形符號(hào),具有增加、刪除、修改等功能,操作方便。操作者在使用時(shí),只需移動(dòng)到合適的位置,然后用鍵盤按相應(yīng)的梯形圖符號(hào),即可在該位置畫(huà)出該符號(hào),并可以標(biāo)注編號(hào)。將作圖窗口劃分成一定間隔的行與列,使插入的圖形符號(hào)只能定位在網(wǎng)格點(diǎn)上。這既不影響梯形圖編輯的直觀性,又使解釋程序易于實(shí)現(xiàn)。
  4.2 梯形圖符號(hào)的存儲(chǔ)和提取
  每個(gè)梯形圖符號(hào)是一幅位圖,我們存儲(chǔ)每幅位圖的類型、位置、文本顯示信息等。提取時(shí)仍按照原來(lái)的順序繪制各幅位圖。由于梯形圖的行數(shù)是不能預(yù)知的,因此,對(duì)梯形圖的編輯采用動(dòng)態(tài)數(shù)據(jù)存儲(chǔ),以雙向鏈表數(shù)據(jù)結(jié)構(gòu)來(lái)記錄梯形圖的所有信息。由于雙向鏈表的每個(gè)鏈結(jié)都具有向前和向后的指針,既能向前查找,又可向后訪問(wèn),因此各類操作十分靈活方便。
  4.3 語(yǔ)法檢查
  主要檢查所繪制的梯形圖是否符合規(guī)定的格式,如果梯形圖不符合格式要求,則會(huì)給出錯(cuò)誤信息。首先對(duì)存儲(chǔ)好的文件進(jìn)行逐行掃描,看支路是否有輸出,如有則指出錯(cuò)誤,沒(méi)有則繼續(xù)掃描;繼續(xù)檢查編號(hào)是否為X、Y、R、T等事先規(guī)定好的字母,如不是則指出錯(cuò)誤,正確則繼續(xù)掃描;然后看編號(hào)后面是否為數(shù)字,是則正確,檢查數(shù)字是否小于127,是則語(yǔ)法檢查成功,不是則報(bào)警。
  4.4 邏輯檢查
  由于在編輯梯形圖時(shí),存儲(chǔ)的是行與行之間的順序以及每行中各元素的信息,并沒(méi)有存儲(chǔ)各個(gè)元素間的邏輯關(guān)系,所以檢查比較困難。我們采用先把梯形圖轉(zhuǎn)換成語(yǔ)句表的方法來(lái)達(dá)到目的。本文提出了以二叉樹(shù)為中心的轉(zhuǎn)換方法。二叉樹(shù)的特點(diǎn):一個(gè)父結(jié)點(diǎn)有且只有兩個(gè)子結(jié)點(diǎn)。這種數(shù)據(jù)結(jié)構(gòu)用來(lái)表示邏輯關(guān)系很方便。梯形圖中有序排列的階梯,可以表示成若干有序排列的二叉樹(shù)森林,通過(guò)對(duì)每棵二叉樹(shù)設(shè)計(jì)遍歷算法,可以唯一地得到相應(yīng)指令集。
5 語(yǔ)句表主要功能設(shè)計(jì)與實(shí)現(xiàn)
  5.1 MMC 部分主程序的設(shè)計(jì)原理
  MMC 部分主程序采用的是主循環(huán)的總體結(jié)構(gòu),每隔大致30ms 就對(duì)各子程序模塊掃描執(zhí)行一次。而每一模式下的子程序又包括向鍵任務(wù)子程序和無(wú)鍵任務(wù)子程序,在主程序的每一掃描周期中,有鍵值輸入的情況下,則運(yùn)行相應(yīng)的向鍵任務(wù)子程序,如果沒(méi)有輸入鍵值,則運(yùn)行相應(yīng)的無(wú)鍵任務(wù)子程序。在每一次循環(huán)之前,先進(jìn)行模式的檢查,如果當(dāng)前模式已經(jīng)改變,則把相應(yīng)模式的子程序調(diào)入前臺(tái)執(zhí)行,而把在這之前運(yùn)行的前臺(tái)程序轉(zhuǎn)入后臺(tái)繼續(xù)執(zhí)行。
  5.2 設(shè)計(jì)原理
  MMC 部分main 主程序采用定周期循環(huán)讀取鍵值的處理方式,當(dāng)遇到某一中斷,首先對(duì)其合法化進(jìn)行判斷,在其合法的情況下,將其中斷子程序從后臺(tái)轉(zhuǎn)移至前臺(tái)執(zhí)行并顯示之。所以,全屏幕編輯子程序采用每一個(gè)循環(huán)周期接收一個(gè)字符或一個(gè)控制指令并執(zhí)行之的思路。
  5.2.1 指令的輸入處理
  考慮到編輯器應(yīng)能適應(yīng)順序輸入語(yǔ)句表程序以及進(jìn)行程序段中間某部分的修改兩種情況,每輸入一個(gè)指令時(shí)首先應(yīng)對(duì)其合法性進(jìn)行檢查判斷,合法的情況下,首先應(yīng)將當(dāng)前位置后面的所有字符后移一位,然后在當(dāng)前位置處依次、前后相連地把該指令字符存放在一緩存里。在存入緩存的同時(shí)將其顯示在監(jiān)視器上,監(jiān)視器采用的是800×600 的LCD,其普通字符模式下顯示參數(shù)為50×18。字符和數(shù)字輸入的算法如圖4 所示。

輸入流程圖

圖 4 輸入流程圖

  5.2.2 確認(rèn)鍵的輸入處理
  (1)編輯功能。當(dāng)一PLC 語(yǔ)句表程序段編輯完以后必須按下確認(rèn)鍵才能進(jìn)行下一程序段的編輯工作。一旦按下確認(rèn)鍵,編輯器需要對(duì)該程序段依次進(jìn)行查錯(cuò)、容錯(cuò)、格式化和規(guī)整化一系列處理。語(yǔ)法檢查用戶語(yǔ)句程序有無(wú)拼寫、指令格式、指令地址越界等語(yǔ)法錯(cuò)誤;語(yǔ)言程序邏輯檢查語(yǔ)句表程序是否存在邏輯錯(cuò)誤。
 ?。?)檢錯(cuò)功能。開(kāi)發(fā)系統(tǒng)在將PLC程序轉(zhuǎn)換為中間代碼之前必須先檢查PLC程序是否有語(yǔ)法錯(cuò)誤。該系統(tǒng)為了方便PLC編程者修改PLC程序,按照梯形圖的梯級(jí)順序進(jìn)行,編譯過(guò)程中要進(jìn)行語(yǔ)法檢查,主要是檢查所編譯的梯形圖是否符合規(guī)定的格式,如果梯形圖不符合格式要求,則會(huì)給出錯(cuò)誤信息,同時(shí),在編譯過(guò)程中還要校驗(yàn)梯形圖中的信號(hào)代碼與信號(hào)定義模塊中所定義的信號(hào)是否一致,如果不一致,則提示該信號(hào)代碼未定義。用戶通過(guò)查看編譯過(guò)程中所給出的錯(cuò)誤信息,進(jìn)行相應(yīng)的修改,直到?jīng)]有錯(cuò)誤為止。
  5.2.3 其它功能鍵的處理
  在PLC 編程中為了方便用戶進(jìn)行指令的編輯,還提供了行選擇、行復(fù)制、行粘貼、字選擇、字復(fù)制、字粘貼,行號(hào)檢索等功能。當(dāng)然在進(jìn)行屏幕編輯以及上面介紹的所有功能中還會(huì)遇到上、下自動(dòng)移屏顯示,這是每個(gè)編輯器都應(yīng)具有的最基本的功能。值得指出的是:在這個(gè)編輯系統(tǒng)中,光標(biāo)總是隨著輸入自動(dòng)地指向下一位置處,指導(dǎo)用戶將輸入的字符輸?shù)疆?dāng)前位置處,光標(biāo)是不能隨便自由地移到屏幕的空格處。并且在行選擇和字選擇時(shí)均以反色形式重新在原位置處對(duì)所選內(nèi)容重新刷新一遍。
6 結(jié)束語(yǔ)
  本文提出的內(nèi)嵌式軟PLC 編輯器體現(xiàn)了數(shù)控系統(tǒng)的開(kāi)放性要求,易于實(shí)現(xiàn)與硬件無(wú)關(guān)性要求,統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)易于實(shí)現(xiàn)深度的系統(tǒng)開(kāi)放,方便的編程環(huán)境、靈活的編程方式可降低PLC 編程門檻,方便用戶使用,另外該方法降低了系統(tǒng)成本。該P(yáng)LC 編輯器根據(jù)輸入的離散信息,在內(nèi)部進(jìn)行邏輯運(yùn)算,并完成輸入輸出控制功能,完全能夠滿足經(jīng)濟(jì)型數(shù)控加工中心的要求。PLC 已成功應(yīng)用于ANC_45M 經(jīng)濟(jì)型加工中心的數(shù)控系統(tǒng)設(shè)計(jì)中,隨著數(shù)控產(chǎn)品即將銷往全國(guó)各地。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:丹佛斯變頻器開(kāi)環(huán)驅(qū)動(dòng)永磁同...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)