技術頻道

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

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

時間:2010-02-08 09:15:29來源:limin

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

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

main 函數(shù)算法

圖 1 Main 函數(shù)算法

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

任務管理模塊

圖 2 任務管理模塊算法

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

狀態(tài)任務模塊

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

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

輸入流程圖

圖 4 輸入流程圖

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

標簽:

點贊

分享到:

上一篇:丹佛斯變頻器開環(huán)驅動永磁同...

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

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

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

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

傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號