久久免费视频一区二区,伊人久久五月天,午夜免费激情,美女网站免费黄,日韩av专区,欧美天天色,人人澡超碰碰97碰碰碰

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

來源:網絡

點擊:1870

A+ A-

所屬頻道:新聞中心

關鍵詞:嵌入式 數(shù)控系統(tǒng) 軟PLC

     1 引言

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

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

    2 軟PLC技術簡介

      硬PLC由于技術標準對外封閉,各廠商的硬PLC的軟硬件平臺各不相同。而軟PLC的技術標準對外開放,其硬件平臺一般是工業(yè)控制計算機或通用計算機或嵌入式控制器撳件平臺是商業(yè)性的操作系統(tǒng)。雖然兩者的軟硬件平臺不同,但實現(xiàn)PLC功能的軟件結構相同,都可分為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謹于IPC或PC的控制方案。在這種控制方案中,PLC開發(fā)系統(tǒng)和PLC運行系統(tǒng)都是在同一臺計算機上運行的。(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ā)軟件,它是開放源代碼的,很容易對它進行內核定制,并嵌入到自己的程序中。MatPLC采用的是模塊化設計方法,其內棱主要包含以下幾個部分:YO模塊、邏輯模塊和用戶界面模塊等。MatPLC的工作原理與硬件PLC類似,只是設計內核控制由軟件實現(xiàn)。其結構如圖1所示。

    圖1 MatPLC及其模塊結構

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

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

    4 軟PLC的實現(xiàn)

      4.1 總體設計思路

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

     

                

    圖2模塊構成和數(shù)據(jù)流

    4.2 輸入、輸出模塊設計

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

    圖3輸入、輸出模塊流程圖

      4.3 配置文件設計

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

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

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

      4.4 編譯與測試

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

    5 結束語

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

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

     

     

    (審核編輯: 智匯李)

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