免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

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

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

點擊:1421

A+ A-

所屬頻道:新聞中心

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

    1 引言

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

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

    2 軟PLC技術(shù)簡介

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

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

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

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

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

    4 軟PLC的實現(xiàn)

      4.1 總體設(shè)計思路

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

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

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

      4.3 配置文件設(shè)計

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

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

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

      4.4 編譯與測試

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

    5 結(jié)束語

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

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

    (審核編輯: 智匯張瑜)

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