0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實現(xiàn)數(shù)控系統(tǒng)內(nèi)嵌式軟PLC編輯器的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-06-21 08:00 ? 次閱讀

1、引言

ANC-45M 全功能數(shù)控系統(tǒng)是大連機床廠高新技術(shù)開發(fā)中心與日本AVAIL 技研株式會社合作開發(fā)的立式、半閉環(huán)三軸加工中心數(shù)控系統(tǒng)。她使用了32 位RISCCPU,專用的多任務(wù)實時操作系統(tǒng),改進的哈佛結(jié)構(gòu),9″彩色液晶顯示器,雙CPU、雙主板設(shè)計,其中一個CPU 所在的主板是加工中心的控制子系統(tǒng),另一個CPU 及其主板是它的輸入、輸出子系統(tǒng),它是機床的人機用戶界面。本文詳細論述了數(shù)控ANC-45M 加工中心PLC 編輯器的設(shè)計與實現(xiàn)。

2、ANC—45M 加工中心的組成結(jié)構(gòu)

兩個CPU 及其主板之間用一根通信電纜線將兩個主板上的RS-232 異步串行通信接口連接起來,用報文形式進行數(shù)據(jù)交換。其中交換的數(shù)據(jù)包括:MMC 側(cè)(人機接口控制器)和CNC側(cè)加工程序以及PLC 梯形圖程序等的交換,MMC 側(cè)和CNC 側(cè)的實時坐標數(shù)據(jù)、機床狀態(tài)參數(shù)的交換等。

3、軟件系統(tǒng)結(jié)構(gòu)

3.1 主程序算法結(jié)構(gòu)

PLC 編輯器是MMC 部分的一個子程序,為了能更好地描述本文的內(nèi)容,我們應(yīng)首先分析一下MMC 部分主程序的設(shè)計算法,其三個主要程序模塊算法如下:

(1) main 函數(shù)算法如圖1 所示。

如何實現(xiàn)數(shù)控系統(tǒng)內(nèi)嵌式軟PLC編輯器的設(shè)計

圖 1 Main 函數(shù)算法

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

如何實現(xiàn)數(shù)控系統(tǒng)內(nèi)嵌式軟PLC編輯器的設(shè)計

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

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

如何實現(xiàn)數(shù)控系統(tǒng)內(nèi)嵌式軟PLC編輯器的設(shè)計

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

主程序為每一個子功能模塊預(yù)留了對應(yīng)的兩個子函數(shù),PLC 編輯器有其相應(yīng)的無鍵處理子函數(shù)和向鍵處理子函數(shù)。在向鍵處理子函數(shù)中進行輸入鍵值的判斷處理,而無鍵處理子函數(shù)則進行實時狀態(tài)參數(shù)的屏幕刷新處理。對于每個子功能模塊,都有一個共同的特點,那就是其無鍵處理子程序相對于向鍵處理子程序較為短小。在當前子功能模塊狀態(tài)下、沒有鍵值輸入時就調(diào)用無鍵處理子函數(shù),并且每一主程序循環(huán)周期都要調(diào)用它;當在有鍵值輸入的情況下,就轉(zhuǎn)而調(diào)用向鍵處理子程序。一旦有按鍵輸入,系統(tǒng)是以中斷方式被CPU 所接收的,它首先進行相應(yīng)的預(yù)處理,然后再調(diào)用任務(wù)管理模塊子程序。任務(wù)管理模塊程序是通過判斷當前狀態(tài)變量是否為初始狀態(tài),如果是則進入相應(yīng)的初始處理,如果不是則判斷是否按鍵狀態(tài),如是則分別進入相應(yīng)的分支程序。

在有按鍵的情況下,程序首先判斷該鍵值的類型,如果是改變功能子函數(shù)模塊的命令時,則首先調(diào)用相應(yīng)的功能鍵值子函數(shù)模塊,并送去狀態(tài)變量值TASKSTART,同時把當前運行中的功能子模塊放入后臺等待該中斷執(zhí)行完后,接著執(zhí)行完;如果不是改變功能子模塊,而是在當前功能子函數(shù)狀態(tài)下的鍵值輸入,系統(tǒng)則調(diào)用該功能鍵值處理子函數(shù)模塊,并且送去TASKRUN 狀態(tài),這樣也就進入了各子程序的鍵值處理子程序。

3.2 操作系統(tǒng)

該數(shù)控系統(tǒng)的操作系統(tǒng)采用的是AVAIL 公司自行開發(fā)設(shè)計的,并已經(jīng)成功應(yīng)用于公司生產(chǎn)的繡花機上,該公司生產(chǎn)的繡花機多年行銷中國大陸等地,已經(jīng)得到實踐和用戶的驗證和認可。該操作系統(tǒng)是專門為任務(wù)相對比較單一的控制系統(tǒng)所設(shè)計的,其中有一個非常重要的時間任務(wù)控制模塊,它負責對各任務(wù)的處理分配運行時間,并對任務(wù)執(zhí)行時間進行監(jiān)控。我們知道,對于一個實時系統(tǒng)來說,系統(tǒng)的正確性不僅取決于計算的邏輯結(jié)果,而且還依賴于產(chǎn)生結(jié)果的時間。為了保證數(shù)控加工的精度,該操作系統(tǒng)采用一種硬實時任務(wù)的管理模式,即系統(tǒng)給一個特定的任務(wù)指定了一個最后的期限,而系統(tǒng)必須在這個最后期限之前處理完所規(guī)定的任務(wù),否則系統(tǒng)就會強制中斷該任務(wù)的執(zhí)行。這個時間任務(wù)模塊決定了該數(shù)控系統(tǒng)的加工精度,依賴于多種因素的制約,比如CPU 執(zhí)行速度的快慢、通訊口傳輸速率等等。由于該操作系統(tǒng)功能簡單、任務(wù)可預(yù)測且單一,這就為該系統(tǒng)可靠性更高,穩(wěn)定性更強提供了根本的保證。

4 梯形圖主要功能實現(xiàn)

4.1梯形圖符號的輸入和編輯

該梯形圖編輯器采用軟鍵盤按菜單梯形圖編輯器[1-4]工具繪制相應(yīng)的圖形符號,具有增加、刪除、修改等功能,操作方便。操作者在使用時,只需移動到合適的位置,然后用鍵盤按相應(yīng)的梯形圖符號,即可在該位置畫出該符號,并可以標注編號。將作圖窗口劃分成一定間隔的行與列,使插入的圖形符號只能定位在網(wǎng)格點上。這既不影響梯形圖編輯的直觀性,又使解釋程序易于實現(xiàn)。

4.2 梯形圖符號的存儲和提取

每個梯形圖符號是一幅位圖,我們存儲每幅位圖的類型、位置、文本顯示信息等。提取時仍按照原來的順序繪制各幅位圖。由于梯形圖的行數(shù)是不能預(yù)知的,因此,對梯形圖的編輯采用動態(tài)數(shù)據(jù)存儲,以雙向鏈表數(shù)據(jù)結(jié)構(gòu)來記錄梯形圖的所有信息。由于雙向鏈表的每個鏈結(jié)都具有向前和向后的指針,既能向前查找,又可向后訪問,因此各類操作十分靈活方便。

4.3 語法檢查

主要檢查所繪制的梯形圖是否符合規(guī)定的格式,如果梯形圖不符合格式要求,則會給出錯誤信息。首先對存儲好的文件進行逐行掃描,看支路是否有輸出,如有則指出錯誤,沒有則繼續(xù)掃描;繼續(xù)檢查編號是否為X、Y、R、T等事先規(guī)定好的字母,如不是則指出錯誤,正確則繼續(xù)掃描;然后看編號后面是否為數(shù)字,是則正確,檢查數(shù)字是否小于127,是則語法檢查成功,不是則報警。

4.4 邏輯檢查

由于在編輯梯形圖時,存儲的是行與行之間的順序以及每行中各元素的信息,并沒有存儲各個元素間的邏輯關(guān)系,所以檢查比較困難。我們采用先把梯形圖轉(zhuǎn)換成語句表的方法來達到目的。本文提出了以二叉樹為中心的轉(zhuǎn)換方法。二叉樹的特點:一個父結(jié)點有且只有兩個子結(jié)點。這種數(shù)據(jù)結(jié)構(gòu)用來表示邏輯關(guān)系很方便。梯形圖中有序排列的階梯,可以表示成若干有序排列的二叉樹森林,通過對每棵二叉樹設(shè)計遍歷算法,可以唯一地得到相應(yīng)指令集。

5 語句表主要功能設(shè)計與實現(xiàn)

5.1 MMC 部分主程序的設(shè)計原理

MMC 部分主程序采用的是主循環(huán)的總體結(jié)構(gòu),每隔大致30ms 就對各子程序模塊掃描執(zhí)行一次。而每一模式下的子程序又包括向鍵任務(wù)子程序和無鍵任務(wù)子程序,在主程序的每一掃描周期中,有鍵值輸入的情況下,則運行相應(yīng)的向鍵任務(wù)子程序,如果沒有輸入鍵值,則運行相應(yīng)的無鍵任務(wù)子程序。在每一次循環(huán)之前,先進行模式的檢查,如果當前模式已經(jīng)改變,則把相應(yīng)模式的子程序調(diào)入前臺執(zhí)行,而把在這之前運行的前臺程序轉(zhuǎn)入后臺繼續(xù)執(zhí)行。

5.2 設(shè)計原理

MMC 部分main 主程序采用定周期循環(huán)讀取鍵值的處理方式,當遇到某一中斷,首先對其合法化進行判斷,在其合法的情況下,將其中斷子程序從后臺轉(zhuǎn)移至前臺執(zhí)行并顯示之。所以,全屏幕編輯子程序采用每一個循環(huán)周期接收一個字符或一個控制指令并執(zhí)行之的思路。

5.2.1 指令的輸入處理

考慮到編輯器應(yīng)能適應(yīng)順序輸入語句表程序以及進行程序段中間某部分的修改兩種情況,每輸入一個指令時首先應(yīng)對其合法性進行檢查判斷,合法的情況下,首先應(yīng)將當前位置后面的所有字符后移一位,然后在當前位置處依次、前后相連地把該指令字符存放在一緩存里。在存入緩存的同時將其顯示在監(jiān)視器上,監(jiān)視器采用的是800×600 的LCD,其普通字符模式下顯示參數(shù)為50×18。字符和數(shù)字輸入的算法如圖4 所示。

如何實現(xiàn)數(shù)控系統(tǒng)內(nèi)嵌式軟PLC編輯器的設(shè)計

圖 4 輸入流程圖

5.2.2 確認鍵的輸入處理

(1)編輯功能。當一PLC 語句表程序段編輯完以后必須按下確認鍵才能進行下一程序段的編輯工作。一旦按下確認鍵,編輯器需要對該程序段依次進行查錯、容錯、格式化和規(guī)整化一系列處理。語法檢查用戶語句程序有無拼寫、指令格式、指令地址越界等語法錯誤;語言程序邏輯檢查語句表程序是否存在邏輯錯誤。

(2)檢錯功能。開發(fā)系統(tǒng)在將PLC程序轉(zhuǎn)換為中間代碼之前必須先檢查PLC程序是否有語法錯誤。該系統(tǒng)為了方便PLC編程者修改PLC程序,按照梯形圖的梯級順序進行,編譯過程中要進行語法檢查,主要是檢查所編譯的梯形圖是否符合規(guī)定的格式,如果梯形圖不符合格式要求,則會給出錯誤信息,同時,在編譯過程中還要校驗梯形圖中的信號代碼與信號定義模塊中所定義的信號是否一致,如果不一致,則提示該信號代碼未定義。用戶通過查看編譯過程中所給出的錯誤信息,進行相應(yīng)的修改,直到?jīng)]有錯誤為止。

5.2.3 其它功能鍵的處理

在PLC 編程中為了方便用戶進行指令的編輯,還提供了行選擇、行復(fù)制、行粘貼、字選擇、字復(fù)制、字粘貼,行號檢索等功能。當然在進行屏幕編輯以及上面介紹的所有功能中還會遇到上、下自動移屏顯示,這是每個編輯器都應(yīng)具有的最基本的功能。值得指出的是:在這個編輯系統(tǒng)中,光標總是隨著輸入自動地指向下一位置處,指導(dǎo)用戶將輸入的字符輸?shù)疆斍拔恢锰?,光標是不能隨便自由地移到屏幕的空格處。并且在行選擇和字選擇時均以反色形式重新在原位置處對所選內(nèi)容重新刷新一遍。

6 結(jié)束語

本文提出的內(nèi)嵌式軟PLC 編輯器體現(xiàn)了數(shù)控系統(tǒng)的開放性要求,易于實現(xiàn)與硬件無關(guān)性要求,統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)易于實現(xiàn)深度的系統(tǒng)開放,方便的編程環(huán)境、靈活的編程方式可降低PLC 編程門檻,方便用戶使用,另外該方法降低了系統(tǒng)成本。該PLC 編輯器根據(jù)輸入的離散信息,在內(nèi)部進行邏輯運算,并完成輸入輸出控制功能,完全能夠滿足經(jīng)濟型數(shù)控加工中心的要求。PLC 已成功應(yīng)用于ANC_45M 經(jīng)濟型加工中心的數(shù)控系統(tǒng)設(shè)計中,隨著數(shù)控產(chǎn)品即將銷往全國各地。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5013

    文章

    13327

    瀏覽量

    464077
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10879

    瀏覽量

    212196
  • 數(shù)控系統(tǒng)
    +關(guān)注

    關(guān)注

    5

    文章

    260

    瀏覽量

    24267
收藏 人收藏

    評論

    相關(guān)推薦

    AD的內(nèi)嵌式陣列拼板疑問

    `“用AD的內(nèi)嵌式陣列拼板方式無法將源單板的keep-out-layer顯示出來,但出gerber時是有keep-out-layer的”請問各位大神,要怎么設(shè)置內(nèi)嵌式陣列拼板里會將源單板的keep-out-layer顯示出來?`
    發(fā)表于 03-31 16:36

    數(shù)控系統(tǒng)PLC編輯器的設(shè)計與實現(xiàn) -Design and R

    介紹了一種在數(shù)控系統(tǒng)中用C語言設(shè)計PLC編輯器的方法。首先概括性地介紹該數(shù)控系統(tǒng)系統(tǒng)結(jié)構(gòu),然后根據(jù)ANC_45M加工中心的需求和
    發(fā)表于 05-05 21:56 ?35次下載

    基于PC的開放數(shù)控系統(tǒng)的研究與開發(fā)

    在探討了開放數(shù)控系統(tǒng)的開放途徑的基礎(chǔ)上,提出了一種運行在PC機上,基于DSP的完全開放的數(shù)控系統(tǒng),闡述了這種數(shù)控系統(tǒng)的軟硬件結(jié)構(gòu)及實現(xiàn)方法
    發(fā)表于 08-24 15:24 ?12次下載

    PLC程序編輯器中功能塊的設(shè)計與實現(xiàn)

    本文分析了目前PLC 編輯器中功能塊編程的不足,提出了使用面向?qū)ο蟮母拍顏碓O(shè)計功能塊圖的方法。通過研究PLC 開發(fā)
    發(fā)表于 12-07 11:45 ?23次下載

    基于PC的開放數(shù)控系統(tǒng)體系的應(yīng)用分析

    隨著計算機技術(shù)的發(fā)展,數(shù)控系統(tǒng)正在發(fā)生著日新月異的變化。本文介紹了開放數(shù)控系統(tǒng)的特征以及比較了當前開放數(shù)控系統(tǒng)的幾種模式。通過目前3 種
    發(fā)表于 01-11 17:11 ?25次下載

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

    介紹了一種在數(shù)控系統(tǒng)中用C語言設(shè)計PLC編輯器的方法。首先概括性地介紹該數(shù)控系統(tǒng)系統(tǒng)結(jié)構(gòu),然后根據(jù)ANC_45M加工中心的需求和
    發(fā)表于 07-13 15:52 ?24次下載

    內(nèi)嵌式電源系列產(chǎn)品目錄

    內(nèi)嵌式電源系列產(chǎn)品目錄
    發(fā)表于 10-27 00:26 ?20次下載

    開放鉆床數(shù)控系統(tǒng)軟件的設(shè)計

    數(shù)控系統(tǒng)由傳統(tǒng)的專用型封閉系統(tǒng)向靈活的開放數(shù)控系統(tǒng)轉(zhuǎn)變已成為一種必然趨勢。與傳統(tǒng)的封閉
    發(fā)表于 07-21 10:10 ?865次閱讀

    基于ARM與FPGA的嵌入數(shù)控系統(tǒng)設(shè)計

    基于ARM與FPGA設(shè)計了嵌入數(shù)控系統(tǒng)。其ARM芯片采用Samsumg公司的基于ARM9的 S3C2410 , FPGA采用Altera公司的Cyclone系列的EP1C20。介紹了數(shù)控系統(tǒng)的硬件設(shè)計, 并采用L INUX操作
    發(fā)表于 07-25 18:22 ?74次下載
    基于ARM與FPGA的嵌入<b class='flag-5'>式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>設(shè)計

    機床數(shù)控系統(tǒng)中嵌入plc的設(shè)計

    在機床數(shù)控系統(tǒng)中,電氣設(shè)備的控制占有重要的地位。目前,一般采用可編程控制PLC)進行機床電氣控制。PLC可靠性高,使用方便,對于復(fù)雜的,控制點數(shù)較多的應(yīng)用場合,可以在
    發(fā)表于 01-06 15:25 ?2164次閱讀
    機床<b class='flag-5'>數(shù)控系統(tǒng)</b>中嵌入<b class='flag-5'>式</b><b class='flag-5'>plc</b>的設(shè)計

    基于CORTEX-A8的嵌入數(shù)控系統(tǒng)設(shè)計

    基于OMAP3530處理的嵌入實時系統(tǒng),然后在此基礎(chǔ)上完成基于實時嵌入數(shù)控系統(tǒng)的設(shè)計。 本文對實時
    發(fā)表于 11-23 10:43 ?6次下載
    基于CORTEX-A8的嵌入<b class='flag-5'>式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>設(shè)計

    嵌入數(shù)控系統(tǒng)設(shè)計

    目前,基于PC的開放數(shù)控系統(tǒng)數(shù)控技術(shù)開放架構(gòu)的主要實現(xiàn)方式,這種實現(xiàn)方式主要是考慮利用工業(yè)
    發(fā)表于 03-16 15:12 ?17次下載

    數(shù)控系統(tǒng)PLC的外置和內(nèi)置PLC信息交換技術(shù)詳細說明

    介紹了數(shù)控系統(tǒng)中,外置和內(nèi)置PLC信息的交換形式,開放數(shù)控系統(tǒng)
    發(fā)表于 08-25 16:32 ?19次下載
    <b class='flag-5'>數(shù)控系統(tǒng)</b>中<b class='flag-5'>PLC</b>的外置<b class='flag-5'>式</b>和內(nèi)置<b class='flag-5'>式</b><b class='flag-5'>PLC</b>信息交換技術(shù)詳細說明

    基于MPC08運動控制實現(xiàn)開放數(shù)控系統(tǒng)的設(shè)計方案

    在計算機技術(shù)飛速發(fā)展的今天,數(shù)控系統(tǒng)由傳統(tǒng)的專用型封閉系統(tǒng)向靈活的開放數(shù)控系統(tǒng)轉(zhuǎn)變已成為一種必然趨勢。與傳統(tǒng)的封閉
    的頭像 發(fā)表于 03-28 10:38 ?3523次閱讀
    基于MPC08運動控制<b class='flag-5'>器</b><b class='flag-5'>實現(xiàn)</b>開放<b class='flag-5'>式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>的設(shè)計方案

    什么是開放數(shù)控系統(tǒng)?

    對開放數(shù)控系統(tǒng)給出如下定義:開放數(shù)控系統(tǒng)本質(zhì)一個具備軟件平臺化、功能模塊化、界面組態(tài)化內(nèi)部屬性和可移植性、可伸縮性、互操作性外部特征,支持用戶根據(jù)需求進行
    的頭像 發(fā)表于 02-08 10:54 ?4082次閱讀
    什么是開放<b class='flag-5'>式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>?