基于開(kāi)放式數(shù)控系統(tǒng)軟件的PLC設(shè)計(jì)
點(diǎn)擊:1281
A+ A-
所屬頻道:新聞中心
從數(shù)控技術(shù)產(chǎn)生并應(yīng)用至今,數(shù)控系統(tǒng)經(jīng)歷了從專用封閉式體系向開(kāi)放式模塊化結(jié)構(gòu)的發(fā)展過(guò)程,其輔助控制功能由可編程邏輯控制器來(lái)實(shí)現(xiàn),而傳統(tǒng)PLC并不能滿足開(kāi)放式數(shù)控系統(tǒng)的需求。因此,基于PLC機(jī)的采用軟件實(shí)現(xiàn)控制功能的軟PLC技術(shù)出現(xiàn)并不斷發(fā)展起來(lái)。本文首先介紹了PLC的概念及特點(diǎn),之后講述了PLC結(jié)構(gòu)與工作原理,然后敘述了開(kāi)放式數(shù)控系統(tǒng)對(duì)軟PLC需求,最后詳細(xì)介紹了軟件PLC的開(kāi)發(fā)運(yùn)行系統(tǒng)。1 PLC的概念及特點(diǎn)
可編程控制器是一種以微處理器為核心的用于工程自動(dòng)控制的工業(yè)控制機(jī),其本質(zhì)是一臺(tái)工業(yè)控制專用計(jì)算機(jī)。PLC一般具有以下的特點(diǎn):運(yùn)行穩(wěn)定,可靠性高;控制功能強(qiáng);編程簡(jiǎn)單,使用方便;適用于惡劣的工業(yè)環(huán)境、抗干擾能力好;功能完善,具有各種接口,與外部設(shè)備連接極方便;擴(kuò)充方便,組合靈活,簡(jiǎn)單易學(xué)。
2 PLC的結(jié)構(gòu)與工作原理
2.1 PLC的結(jié)構(gòu)
PLC是由中央處理器(CPU)、存儲(chǔ)器、編程器、輸入/輸出單元、電源和外部設(shè)備組成。中央處理單元是整個(gè)系統(tǒng)的核心,負(fù)責(zé)協(xié)調(diào)各個(gè)部分的工作。
2.2 PLC的工作原理
PLC的工作過(guò)程是周期掃描的工作過(guò)程。通過(guò)編程器或其它輸入設(shè)備輸入用戶程序存放在PLC的用戶存儲(chǔ)器中。當(dāng)PLC開(kāi)始運(yùn)行時(shí),CPU根據(jù)系統(tǒng)監(jiān)控程序的規(guī)定順序,通過(guò)掃描,完成各輸入點(diǎn)的狀態(tài)采集或輸入數(shù)據(jù)采集、用戶程序的執(zhí)行、各輸出點(diǎn)狀態(tài)更新、編程器鍵 入響應(yīng)和顯示更新及CPU自檢等功能。PLC的循環(huán)掃描工作方式,每個(gè)掃描周期分為輸入采樣、程序執(zhí)行和輸出控制三個(gè)階段。PLC在輸入采樣階段,首先掃描所有端子,并將各輸入存入內(nèi)存中各對(duì)應(yīng)的輸入映像寄存器。接著進(jìn)入程序執(zhí)行階段,在這個(gè)階段,輸入映像寄存器與外界隔離,無(wú)論信號(hào)如何變化,其內(nèi)容保持不變直到下一個(gè)掃描周期。在程序執(zhí)行階段,PLC會(huì)按照先左后右,先上后下的順序?qū)Τ绦蜻M(jìn)行逐行逐句掃描。當(dāng)指令中存在輸入、輸出指令時(shí),PLC從輸入映像寄存器中讀入上一階段的狀態(tài),從輸出映像寄存器讀入對(duì)應(yīng)輸出映像寄存器的當(dāng)前狀態(tài)。然后進(jìn)行相應(yīng)的運(yùn)算,運(yùn)算結(jié)果存入元件映像寄存器中。在輸出刷新階段,在所有指令執(zhí)行完畢后,輸出映像寄存器中所有輸出繼電器的狀態(tài)轉(zhuǎn)存到輸出鎖存寄存器中,通過(guò)一定方式輸出,驅(qū)動(dòng)外部負(fù)載。
3 開(kāi)放式數(shù)控系統(tǒng)對(duì)軟件PLC的需求分析
數(shù)控系統(tǒng)中的PLC按照存在形式可分為硬件PLC和軟件PLC,按與CNC裝置的關(guān)系可分為獨(dú)立式PLC和內(nèi)置式PLC,它們有各自的優(yōu)、缺點(diǎn)。本文主要講述一下數(shù)控系統(tǒng)中最常見(jiàn)的軟件PLC的優(yōu)點(diǎn):
1)具有開(kāi)放的體系結(jié)構(gòu):軟件PLC具有寬范圍的I/O端口和多種現(xiàn)場(chǎng)總線的接口,支持多種硬件,也解決了傳統(tǒng)PLC互不兼容的問(wèn)題。傳統(tǒng)PLC的指令集是固定的,軟件PLC具有第三方軟件接口,可支持多種語(yǔ)言編程(包括高級(jí)語(yǔ)言),可允許用戶根據(jù)需求,靈活擴(kuò)展系統(tǒng)功能,指令集可以更加豐富。
2)遵循國(guó)際工業(yè)標(biāo)準(zhǔn):如IEC1131-3標(biāo)準(zhǔn),大大提高了PLC程序的可讀性、可維護(hù)性和可移植性。
3)能充分利用PC機(jī)的資源:如大容量的內(nèi)存、高速CPU及其它硬件,且更加可靠。
4)具有更強(qiáng)的數(shù)據(jù)處理能力:能夠在短時(shí)間內(nèi)處理大量數(shù)據(jù),利用PC機(jī)的軟件平臺(tái)處理一些比較復(fù)雜的數(shù)據(jù)及數(shù)據(jù)類型,如浮點(diǎn)數(shù)和字符串等。且數(shù)據(jù)管理更加方便,可以利用操作系統(tǒng)提供的功能,方便地通過(guò)建立文件或者數(shù)據(jù)庫(kù)的方式管理數(shù)據(jù)。
5)節(jié)約成本和培訓(xùn)費(fèi)用。
4 PLC的開(kāi)發(fā)運(yùn)行系統(tǒng)及總體結(jié)構(gòu)設(shè)計(jì)
運(yùn)行系統(tǒng)是軟件PLC的核心,完成輸入處理、程序執(zhí)行、輸出處理等工作。通常由I/O接口、通信接口、系統(tǒng)管理器、錯(cuò)誤管理器、調(diào)試內(nèi)核和編譯器組成。軟件PLC運(yùn)行系統(tǒng)以文件模擬輸入、輸出映象區(qū),將開(kāi)發(fā)系統(tǒng)生成的程序編譯連接成可執(zhí)行文件運(yùn)行,用輸出結(jié)果反映I/O狀態(tài)的改變。
PLC的基本原理和開(kāi)發(fā)系統(tǒng)應(yīng)實(shí)現(xiàn)的基本功能,將系統(tǒng)分為編輯和編譯兩大模塊。根據(jù)IEC1131-3對(duì)PLC編程語(yǔ)言的規(guī)定和五種語(yǔ)言的各自特點(diǎn),目前選擇了圖形模式語(yǔ)言梯形圖LD和文本模式語(yǔ)言指令表IL作為本系統(tǒng)的編程語(yǔ)言。因?yàn)樘菪螆D是目前應(yīng)用最廣泛的直觀的編程語(yǔ)言;指令表語(yǔ)言不但簡(jiǎn)單易學(xué),而且非常容易實(shí)現(xiàn),且IEC1131-3的其它語(yǔ)言如功能塊圖、結(jié)構(gòu)化文本、梯形圖等都可以轉(zhuǎn)換為指令表語(yǔ)言。由于系統(tǒng)的開(kāi)放性,可以根據(jù)以后的需要,將其他三種編程語(yǔ)言加載到系統(tǒng)中來(lái)。根據(jù)本實(shí)驗(yàn)室已經(jīng)開(kāi)發(fā)的運(yùn)行系統(tǒng),開(kāi)發(fā)系統(tǒng)需要生成的目標(biāo)代碼為C/C++語(yǔ)言的形式。也就是說(shuō),開(kāi)發(fā)系統(tǒng)需要將梯形圖等編程語(yǔ)言轉(zhuǎn)換為運(yùn)行系統(tǒng)指定的格式,命令才能運(yùn)行。這就需要一個(gè)解釋編譯的過(guò)程。將梯形圖轉(zhuǎn)換為C/C++命令,可以采用兩種方法:
1)直接法:梯形圖表示的電氣控制線路呈矩陣排列模式,因此,可以依靠矩陣的運(yùn)算,將梯形圖直接轉(zhuǎn)換為C/C++語(yǔ)言命令,然后用系統(tǒng)自帶的C編譯器進(jìn)一步編譯運(yùn)行。
2)間接法:梯形圖與指令表的一一對(duì)應(yīng)關(guān)系,可以把梯形圖程序轉(zhuǎn)換為文本形式的指令表語(yǔ)言,再對(duì)指令表語(yǔ)言進(jìn)行處理,最終生成目標(biāo)代碼。
總結(jié):開(kāi)放式數(shù)控系統(tǒng)能很好地解決頻繁變化的需求與封閉控制之間的矛盾,從而建立一個(gè)統(tǒng)一的可重構(gòu)的系統(tǒng)平臺(tái)。
(審核編輯: 智匯張瑜)
分享