三级黄色在线视频中文,国产精品一二三区,在线观看三级,成人午夜久久,日韩国产一区二区,韩日免费av,日韩成人一级

嵌入式數(shù)控系統(tǒng)中的軟PLC的應(yīng)用與實(shí)現(xiàn)

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

點(diǎn)擊:1497

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:數(shù)控系統(tǒng) PLC 應(yīng)用

    1 引言

      本文所論述是數(shù)控系統(tǒng)大課題中人機(jī)交互的外圍部分子課題中軟PLC的開(kāi)發(fā)應(yīng)用。在數(shù)控系統(tǒng)中,PLC在處理開(kāi)關(guān)量輔助控制問(wèn)題時(shí)起著重要作用。在以前,需要根據(jù)數(shù)控系統(tǒng)的控制要求分析PLC與機(jī)床、主控機(jī)之間的信息交互種類(lèi)和數(shù)量,來(lái)選用相應(yīng)的外部硬件PLC.采用這種方法設(shè)計(jì),產(chǎn)品一旦定型就很難更改.工控領(lǐng)域的研究人員一直在尋求解決這些問(wèn)題的途徑。近年來(lái),隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及PLC方面的國(guó)際性標(biāo)準(zhǔn)IECll31的制定,一項(xiàng)打破傳統(tǒng)PLC局限性的新興技術(shù)發(fā)展起來(lái),這就是軟PLC技術(shù)?;赑c平臺(tái)的軟PLC在數(shù)控系統(tǒng)中正逐漸取代硬件PLC,成為該領(lǐng)域輔助功能控制的新方法。軟PLC提供了與硬PLC同樣的功能,而同時(shí)具備了Pc環(huán)境的各種優(yōu)點(diǎn)。

      本文就嵌入式數(shù)控系統(tǒng)開(kāi)發(fā)課題中人機(jī)交互部分所應(yīng)用到的軟PLC技術(shù)進(jìn)行論述,對(duì)在Linux環(huán)境下基于MatPLC開(kāi)發(fā)工具的軟PLC具體實(shí)現(xiàn)過(guò)程,以及在實(shí)現(xiàn)過(guò)程中的注意事項(xiàng)上做了詳細(xì)介紹。

    2 軟PLC技術(shù)簡(jiǎn)介

      硬PLC由于技術(shù)標(biāo)準(zhǔn)對(duì)外封閉,各廠商的硬PLC的軟硬件平臺(tái)各不相同。而軟PLC的技術(shù)標(biāo)準(zhǔn)對(duì)外開(kāi)放,其硬件平臺(tái)一般是工業(yè)控制計(jì)算機(jī)或通用計(jì)算機(jī)或嵌入式控制器撳件平臺(tái)是商業(yè)性的操作系統(tǒng)。雖然兩者的軟硬件平臺(tái)不同,但實(shí)現(xiàn)PLC功能的軟件結(jié)構(gòu)相同,都可分為PLC開(kāi)發(fā)系統(tǒng)和PLC運(yùn)行系統(tǒng)兩部分。PLC開(kāi)發(fā)系統(tǒng)用于開(kāi)發(fā)各種適用于工業(yè)控制的PLC程序。PLC運(yùn)行系統(tǒng)通過(guò)運(yùn)行PLC程序,與I/O板卡或現(xiàn)場(chǎng)總線或直接與I/O信號(hào)等配合完成邏輯控制,其控制方案根據(jù)PLC硬件平臺(tái)的不同,可分為以下三種:fl謹(jǐn)于IPC或PC的控制方案。在這種控制方案中,PLC開(kāi)發(fā)系統(tǒng)和PLC運(yùn)行系統(tǒng)都是在同一臺(tái)計(jì)算機(jī)上運(yùn)行的。(2)基于嵌入式控制器的控制方案。在這種控制方案中,PLC開(kāi)發(fā)系統(tǒng)獨(dú)立于嵌入式控制器,而PLC運(yùn)行系統(tǒng)被固化在嵌入式控制器中。(3)基于傳統(tǒng)PLC的控制方案。在這種控制方案中,PLC開(kāi)發(fā)系統(tǒng)一般在普通PC上運(yùn)行,而PLC運(yùn)行系統(tǒng)在傳統(tǒng)PLC硬件上運(yùn)行。從以上3個(gè)方案可以看出,軟PLC和硬PLC的最大區(qū)別在于它們所采用的軟硬件平臺(tái)不同。

    3 MatPLC開(kāi)發(fā)軟件介紹

      MatPLC是Linux下的軟PLC開(kāi)發(fā)軟件,它是開(kāi)放源代碼的,很容易對(duì)它進(jìn)行內(nèi)核定制,并嵌入到自己的程序中。MatPLC采用的是模塊化設(shè)計(jì)方法,其內(nèi)棱主要包含以下幾個(gè)部分:YO模塊、邏輯模塊和用戶界面模塊等。MatPLC的工作原理與硬件PLC類(lèi)似,只是設(shè)計(jì)內(nèi)核控制由軟件實(shí)現(xiàn)。

      每個(gè)模塊都是一個(gè)進(jìn)程。PLC全局變量是MatPLC 中的用戶程序里所有模塊的公共數(shù)據(jù).由配囂文件設(shè)定,受MatPLC內(nèi)核控制,位于MatPLC的內(nèi)核中,各個(gè)模塊的私有數(shù)據(jù)不包含在內(nèi)。全局變量在每個(gè)模塊里都有副本,各個(gè)模塊通過(guò)副本的數(shù)據(jù)對(duì)本模塊進(jìn)行運(yùn)算,當(dāng)循環(huán)一次運(yùn)算后,就更新到全局變量中,這樣就實(shí)現(xiàn)了各個(gè)模塊之間的通信。每個(gè)模塊對(duì)全局變量的讀寫(xiě)權(quán)限是不一樣的,只有對(duì)全局變量具有寫(xiě)權(quán)限的模塊才可以更新全局變量里的相應(yīng)變量。

      MatPLC中可以用梯形圖或指令表來(lái)進(jìn)行PLC邏輯設(shè)計(jì)。梯形圖輸入方式是建立在GTK基礎(chǔ)上的,指令表是MAT IL語(yǔ)言。對(duì)于用梯形圖或指令表設(shè)計(jì)的PLC邏輯,其執(zhí)行順序與硬件PLC完全一致。MatPLC對(duì)IL語(yǔ)言設(shè)計(jì)的程序的處理過(guò)程是:先調(diào)用f12c perlscript將其編譯成c代碼,然后再與其它c(diǎn)代碼一起編譯。因此在一般的設(shè)計(jì)中,很少去采用梯形圖或指令表來(lái)進(jìn)行PLC邏輯設(shè)計(jì),而直接用C語(yǔ)言來(lái)進(jìn)行設(shè)計(jì)。本文不涉及MatPLC軟件內(nèi)核的討論,只是用MatPLC來(lái)實(shí)現(xiàn)通過(guò)PCI接口卡對(duì)外圍IO進(jìn)行數(shù)據(jù)讀寫(xiě)。

    4 軟PLC的實(shí)現(xiàn)

      4.1 總體設(shè)計(jì)思路

      用MatPLC進(jìn)行開(kāi)發(fā).核心的文件是MatPLC.conf文件,它決定了哪個(gè)模塊將被運(yùn)行、輸入模塊需要的參數(shù)、配置MatPLC內(nèi)核、配置全局變量等。在本沒(méi)計(jì)應(yīng)用中,設(shè)計(jì)了兩個(gè)模塊:一個(gè)是輸入模塊,另一個(gè)是輸出模塊。各模塊構(gòu)成和數(shù)據(jù)流。輸入模塊通過(guò)驅(qū)動(dòng)程序從PCI接口卡中讀取數(shù)據(jù),然后更新到全局變量中;輸出模塊從全局變量讀取數(shù)據(jù),更新到自己的全局變量副本中,并用此數(shù)據(jù)進(jìn)行邏輯運(yùn)算,再將運(yùn)算結(jié)果輸出到PCI接口卡,從而實(shí)現(xiàn)了用MatPLC來(lái)讀寫(xiě)外圍IO。

      4.2 輸入、輸出模塊設(shè)計(jì)

      編程語(yǔ)言可以是c、python或tcl.考慮到MatPLC本身是由C語(yǔ)言寫(xiě)的,為了與該軟件更好地兼容,本用c語(yǔ)言編程。輸入、輸出模塊的程序流程圖如圖3所示。其中,打開(kāi)設(shè)備文件、從設(shè)備中讀取數(shù)據(jù)、寫(xiě)數(shù)據(jù)到設(shè)備由PCI接口卡設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)。以下給出了輸出模塊的程序?qū)崿F(xiàn)代碼,輸入模塊程序?qū)崿F(xiàn)與輸出模塊類(lèi)似。

      4.3 配置文件設(shè)計(jì)

      配置文件就是MatPLC.conf文件.它控制著在輸入模塊與輸出模塊之間的數(shù)據(jù)如何共享。在MatPLC開(kāi)發(fā)中處于核心地位。MatPLC.conf一般分成幾個(gè)段,常用到的段包括:(1)PLC段:用來(lái)配置內(nèi)核和各個(gè)模塊的相關(guān)參數(shù)。(2)公共配置:設(shè)置一些各個(gè)模塊共同的屬性。(3)同步配置:配置各個(gè)模塊之間的同步性。由于各個(gè)模塊默認(rèn)是異步運(yùn)行的,為了保證數(shù)據(jù)的正確傳輸,必須讓這些模塊的運(yùn)行同步起來(lái),以產(chǎn)生全局掃描周期。這在設(shè)計(jì)中顯得及其重要。(4)實(shí)時(shí)特性配置:配置整個(gè)MatPLC的實(shí)時(shí)性。MatPLC的模塊可以運(yùn)行在三種模式:正常模式、軟實(shí)時(shí)模式和硬實(shí)時(shí)模式。正常模式是默認(rèn)模式.它不保證響應(yīng)的時(shí)間問(wèn)題;軟實(shí)時(shí)模式可以保證MatPLC模塊優(yōu)先于其它程序,但沒(méi)有超過(guò)操作系統(tǒng)級(jí),所以也不能完全保證響應(yīng)的時(shí)間問(wèn)題:硬實(shí)時(shí)模式可以保證響應(yīng)的時(shí)間問(wèn)題,但需要特殊的操作系統(tǒng)內(nèi)核模塊支持,并且編碼時(shí)需要考慮到實(shí)時(shí)性問(wèn)題。需要指H{的是,硬實(shí)時(shí)模式并不一定是響應(yīng)最快的。有些模塊由于其實(shí)現(xiàn)的功能的原因,是不能運(yùn)行在硬實(shí)時(shí)模式的;比如,一個(gè)向文件寫(xiě)數(shù)據(jù)的模塊就不能運(yùn)行在硬實(shí)時(shí)模式。(5)[kbd]段:說(shuō)明與鍵盤(pán)有關(guān)的操作。有些設(shè)計(jì)需要從鍵盤(pán)輸入控制信息,就需要實(shí)現(xiàn)鍵盤(pán)段。

      對(duì)于每一個(gè)具體的設(shè)計(jì)來(lái)說(shuō),并不一定要全部實(shí)現(xiàn)以上五個(gè)段,也可以據(jù)需要加些其它段,比如掃描周期段等。還有一個(gè)需要注意的問(wèn)題是實(shí)時(shí)性與同步的問(wèn)題,MatPLC不允許將一個(gè)優(yōu)先級(jí)低的模塊同步到優(yōu)先級(jí)別高的模塊;可以將兩個(gè)優(yōu)先級(jí)相同的模塊同步,或者將優(yōu)先級(jí)高的模塊同步到優(yōu)先級(jí)低的模塊。

      本設(shè)計(jì)中,主要實(shí)現(xiàn)的配置有:輸入模塊與輸出模塊的同步,全局變量的設(shè)定。

      4.4 編譯與測(cè)試

      將三個(gè)文件編碼好后,需要進(jìn)行編譯,用于編譯時(shí)要鏈接到MatPLC提供的文件,值得注意的是,不能用gcc直接編譯,而要用Makefile來(lái)編譯。產(chǎn)生Makefile文件有兩種方法.:一種是采用MatPLC軟件自帶的例子中Makefile文件,在此基礎(chǔ)上進(jìn)行修改;另外一種方法是采用autoscan }aclocal }li6toolize }autoconf}automake等工具來(lái)產(chǎn)生,其中還要自己編寫(xiě)一些中間文件。編譯通過(guò)后進(jìn)行測(cè)試,任意修改輸人,觀察輸出是否與設(shè)計(jì)的邏輯相符。本設(shè)計(jì)采用修改Makefile示例的方法來(lái)產(chǎn)生Make}le文件,并制作了一個(gè)demo實(shí)現(xiàn)整個(gè)設(shè)計(jì)的運(yùn)行口

    5 結(jié)束語(yǔ)

      在數(shù)控系統(tǒng)中要用到PLC,通過(guò)計(jì)算機(jī)用軟件的方式來(lái)實(shí)現(xiàn)PLC成為了新的發(fā)展熱點(diǎn)。這項(xiàng)技術(shù)把自動(dòng)化專(zhuān)業(yè)知識(shí),以高附加值的方式,在PC行業(yè)規(guī)模經(jīng)濟(jì)的基礎(chǔ)上加以發(fā)展提升的新型技術(shù)。目前,世界各國(guó)都在進(jìn)行軟PLC的研究,我國(guó)有關(guān)部門(mén)也正在著手研究開(kāi)發(fā)具有自主版權(quán)的中文軟PLC產(chǎn)品。本設(shè)計(jì)在Linux下基于MatPLC軟件實(shí)現(xiàn)了軟PLC來(lái)代替硬件PLC,實(shí)現(xiàn)了軟PLC通過(guò)PCI接口卡對(duì)外圍ID進(jìn)行數(shù)據(jù)讀寫(xiě),簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),降低了產(chǎn)品成本,并且運(yùn)行實(shí)踐表明,所設(shè)計(jì)的軟PLC在嵌人式數(shù)控系統(tǒng)中應(yīng)用穩(wěn)定,效果良好。

      本文作者的創(chuàng)新點(diǎn):在數(shù)控系統(tǒng)中,PLC在處理開(kāi)關(guān)量輔助控制問(wèn)題時(shí)起著重要作用。近年來(lái),基于PC平臺(tái)的軟PLC在數(shù)控系統(tǒng)中正逐漸取代硬件PLC,成為該領(lǐng)域輔助功能控制的新方法。作者在嵌人式數(shù)控系統(tǒng)開(kāi)發(fā)課題中,對(duì)軟PLC技術(shù)進(jìn)行了實(shí)踐應(yīng)用,本文就Linux環(huán)境下基于MatPLC開(kāi)發(fā)工具的軟PLC具體實(shí)現(xiàn)過(guò)程,以及在實(shí)現(xiàn)過(guò)程中的注意事項(xiàng)上做了詳細(xì)介紹。實(shí)現(xiàn)了軟PLC通過(guò)PCI接口卡對(duì)外圍IO進(jìn)行數(shù)據(jù)讀寫(xiě),簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),降低了產(chǎn)品成本,并且運(yùn)行實(shí)踐表明,所設(shè)計(jì)的軟PLC在嵌人式數(shù)控系統(tǒng)中應(yīng)用穩(wěn)定,效果良好。

    (審核編輯: 智匯張瑜)

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