新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > BASIC在PLC控制系統(tǒng)中的應(yīng)用

BASIC在PLC控制系統(tǒng)中的應(yīng)用

作者: 時間:2012-09-15 來源:網(wǎng)絡(luò) 收藏

1 引言

是微機(jī)系統(tǒng)中廣泛應(yīng)用的一種高級編程語言,它的指令接近思維邏輯的表達(dá),與自然語言有相通之處,易學(xué)易懂,同時它包涵豐富的算法函數(shù),能十分方便地進(jìn)行各種數(shù)據(jù)處理,因而深受廣大編程愛好者喜愛。plc是計算機(jī)科學(xué)在工業(yè)控制領(lǐng)域內(nèi)的一個重要分支,它一般采用梯形圖、語句表作為其編程語言,由于梯形圖形似電氣原理圖,直觀易懂,易為電氣工程師所接受,為plc的推廣應(yīng)用起到了極大的推動作用。plc從誕生至今,幾十年來,應(yīng)用領(lǐng)域不斷擴(kuò)大,現(xiàn)在,通訊問題已成為plc應(yīng)用中的一個重要課題之一。

本文引用地址:http://butianyuan.cn/article/257257.htm

  本文以ge fanuc plc系列pcm智能通訊模塊在某泵站控制系統(tǒng)中的應(yīng)用為例進(jìn)行探討,介紹了在解決plc與現(xiàn)場儀表或其它外部智能設(shè)備之間數(shù)據(jù)通訊問題時能起到的作用,為廣大同行提供又一種串行通訊解決方案。

2 系統(tǒng)簡述

  本系統(tǒng)采用ge fanuc 90-30系列plc model351,一塊智能通訊模塊cmm311,一塊可編程智能通訊模塊pcm311,及開關(guān)量輸入、輸出模塊,模擬量輸入模塊若干。

  通訊模塊cmm311有兩個通訊口,分別負(fù)責(zé)與上位機(jī)組態(tài)軟件及現(xiàn)場digital觸摸屏進(jìn)行通訊。

  可編程通訊模塊pcm311為通訊協(xié)處理機(jī),內(nèi)有固化的mega解釋程序,能執(zhí)行通過外部編程終端存儲進(jìn)來的basic程序。該模塊有兩個通訊端口,一個端口為編程口,ge公司logicmaster編程軟件包中有專用于編程的軟件,用它可通過該編程口登錄,將計算機(jī)中文本形式的basic代碼文件存入模塊的存儲器中;另一個端口為專用外部通訊口,在basic程序中可打開此端口與外部智能設(shè)備進(jìn)行通訊。在特殊時候,編程口也可被basic程序打開,作與外部設(shè)備通訊用,但這樣使用在調(diào)試時稍有不便。

  系統(tǒng)布置要求敘述如下:

  plc cpu負(fù)責(zé)開關(guān)量、模擬量的采集、運(yùn)算,實(shí)施直接的控制功能;通訊模塊cmm311通過兩個通訊口分別連接上位機(jī)及觸摸屏,實(shí)現(xiàn)人機(jī)界面與plc的數(shù)據(jù)通訊;的com2與westinghouse(西屋儀表)mint ii網(wǎng)絡(luò)轉(zhuǎn)換器相連,負(fù)責(zé)通過mint ii網(wǎng)絡(luò)轉(zhuǎn)換器與現(xiàn)場三個種類的12臺westinghouse儀表通訊,采集電流、電壓、功率等各種物理量的實(shí)時數(shù)據(jù),同時,com1在調(diào)試完畢后用來與現(xiàn)場一臺三菱fx2n plc通訊,實(shí)現(xiàn)從ge plc系統(tǒng)到fx2n系統(tǒng)的數(shù)據(jù)通路,方案圖如圖1所示。


2.1 minit ii轉(zhuǎn)換器通訊協(xié)議簡介

  在這個方案中,minit ii與下位設(shè)備的硬件連接為雙絞線,minit ii及下位各設(shè)備都并入雙絞線組成的westinghouse incom網(wǎng)絡(luò),在該網(wǎng)絡(luò)中各通訊主體使用二進(jìn)制通訊方式,數(shù)據(jù)幀均由33位二進(jìn)制數(shù)構(gòu)成,minit ii充當(dāng)主站(master)角色,對下位各設(shè)備發(fā)起通訊,進(jìn)行輪詢。

  pcm311模塊與minit ii轉(zhuǎn)換器進(jìn)行的是ascii碼通訊方式,而minit ii轉(zhuǎn)換器與下位dt3000、mp3000、iq200各系列設(shè)備的通訊方式為二進(jìn)制碼通訊,實(shí)際上minit ii所起到的作用是將pcm模塊發(fā)出的ascii碼指令幀轉(zhuǎn)譯為二進(jìn)制碼指令幀,當(dāng)然,在通訊過程中,我們只需關(guān)心ascii碼通訊幀的格式,minit ii會自動將其轉(zhuǎn)為二進(jìn)制格式后發(fā)到incom網(wǎng)絡(luò)中去。

  minit ii模塊的25針rs232串行口接收的ascii碼幀由10個ascii碼字符組成,分為控制指令幀、數(shù)據(jù)指令幀兩類,大致形式如下:

  控制指令:

 ?。╯tx)(c/d)(inst)(comm)(scomm)(address)(sumcheck)

  數(shù)據(jù)指令:

 ?。╯tx)(c/d)(data)(sumcheck)

  stx:第2號ascii碼,占一位

  c/d:控制指令時為1,數(shù)據(jù)指令時為0,占一位

  inst、comm、scomm:由這三個數(shù)字指定需要返回的參數(shù),各占一位

  address:指定指令的發(fā)送對象,是一個三位數(shù)的十六制數(shù),占三位

  sumcheck:和校驗碼,占二位

  data:返回的數(shù)據(jù)信息,占六位

  minit ii串行通訊參數(shù)在其面板上通過開關(guān)來選定。

2.2 fx2n plc通訊協(xié)議簡介

  fx2n是三菱品牌plc在小系統(tǒng)控制應(yīng)用中使用較多的一種經(jīng)濟(jì)型plc,外部設(shè)備通過232bd、485bd等插件或485adp等模塊可與其建立ascii碼串行通訊,讀取plc內(nèi)部寄存器的值。其協(xié)議格式如下:

 ?。?) 讀寄存器

  *外設(shè):(enq)(站號)(pc號)(命令字符)(等待時間)(頭元件)(元件數(shù))(和校驗)

  *plc:(stx)(站號)(pc號)(返回數(shù)據(jù))(etx)(和校驗)

  *外設(shè):(ack)(站號)(pc號)

  (2) 寫寄存器

  *外設(shè):(enq)(站號)(pc號)(命令字符)(等待時間)(頭元件)(元件數(shù))(寫出數(shù)據(jù))(和校驗)

  *plc:(stx)(站號)(pc號)

  *enq、stx、ack、etx:為相應(yīng)的ascii碼

  *站號:plc的站地址,為兩位十六進(jìn)制數(shù)(00-0fh),由plc的d8121寄存器指定

  *pc號:用于a系列melsecnet網(wǎng)絡(luò)中的plc,對fx2n均為ffh

  *命令字符:分為位讀(br)、位寫(bw)、字讀(wr)、字寫(ww)

  *等待時間:以10ms為單位,以十六進(jìn)制數(shù)表示,占一個字符(0-f)

  *頭元件:為要讀、寫的開始元件號,如m0001、d0000等。

  *元件數(shù):為要讀、寫的元件個數(shù)。

  *返回數(shù)據(jù)、寫出數(shù)據(jù):為從plc返回的寄存器值或要寫到plc的數(shù)據(jù)值

  由于fx2n與中央控制柜距離較遠(yuǎn),故本系統(tǒng)中采用fx2n與485bd插件,pcm311模塊經(jīng)232/485轉(zhuǎn)換器與485bd相連,轉(zhuǎn)換器與485bd之間采用兩對雙絞線相連,全雙工方式通訊,plc串行通訊參數(shù)在d8120中設(shè)定。

  2.3 megabasic的語法簡介

 ?。?) 串口操作:pcm模塊共有二個串口,它們均可在megabasic程序中被打開,與外部進(jìn)行通訊,以下為常用的串口操作函數(shù)。

  *串口的打開:open ,

  如open #8,“com1”

  *串口的關(guān)閉:close

  如close #8

  *串口通訊參數(shù)的設(shè)定:ioctl ,

(2) ioctl_string格式為:

  baud(波特率),parity(校驗),databits(數(shù)據(jù)位),stopbits(停止位),flowctl(流控制方式),physical(物理協(xié)議如232/485/422),duplexmode(通訊模式,半雙工/全雙工)

  如ioctl #8,“19200,n,8,1,n,232”

 ?。?) 從串口讀取數(shù)據(jù):inchr$(,,,,)

  如restr=inchr$(ch%,10,“”,0,timeout%)

 ?。?) 向串口發(fā)送數(shù)據(jù):print,

  如print #8,“hello world”

  (5) megabasic程序?qū)lc寄存器的訪問:

  對于pcm模塊所在的plc系統(tǒng)中的寄存器如%i,%q,%r,%m等,basic程序中并不可直接引用,而需通過使用特定的功能指令來訪問它們。

  a)訪問plc寄存器之前,先要使用syslink指令。

  syslink,,[type]

  local_name:basic程序內(nèi)部定義的變量

  cpu_symbol:plc的寄存器名,外加雙引號(如“%r500”)

  type:關(guān)聯(lián)數(shù)據(jù)的類型,如bool,byte,int16,uint,dint等

  b) 讀、寫plc寄存器

  sysread

  syswrite

  在syslink指令執(zhí)行后,即可使用上面兩個指令分別讀、寫basic變量所關(guān)聯(lián)的plc寄存器。

  2.4 系統(tǒng)編程過程簡介

  根據(jù)minit ii通訊協(xié)議及megabasic語言的基本語法,在文本編輯器(如記事本)中寫好大致的程序,特別是對返回數(shù)據(jù)的解析編寫專門的函數(shù)來進(jìn)行處理,以得到浮點(diǎn)數(shù)形式的電壓、電流、功率等數(shù)據(jù),其中重點(diǎn)要注意好對返回錯誤幀時的處理,還有采集不同數(shù)據(jù)時的協(xié)議上的差別,這一部分程序?qū)懞煤螅胮cm模塊的com1通過logicmaster軟件導(dǎo)入pcm模塊,用com1監(jiān)視運(yùn)行,用com2通訊,進(jìn)行聯(lián)機(jī)調(diào)試,根據(jù)調(diào)試情況加以修正完善,得到最終版本。

  類似上述步驟,根據(jù)fx2n的通訊協(xié)議,寫好與fx2n通訊的程序,用com1監(jiān)視運(yùn)行,用com2通訊,經(jīng)調(diào)試修正,得到最終版本。

  將兩個版本的程序合并,并將與fx2n通訊的端口改為com1,去掉程序中用于監(jiān)視運(yùn)行的輸出語句(print),再重新導(dǎo)入pcm模塊中,一個滿足系統(tǒng)要求的完整的通訊程序就這樣就寫成了。

3 結(jié)束語

  用類似本系統(tǒng)中的pcm模塊完成通訊任務(wù),筆者認(rèn)為其相對利用plc梯形圖程序進(jìn)行通訊優(yōu)點(diǎn)很明顯。首先由于其使用的是與微機(jī)系統(tǒng)中的basic語言語法相同的高級語言,易學(xué)易懂,處理復(fù)雜的數(shù)據(jù)運(yùn)算時得心應(yīng)手,在復(fù)雜的有大量通訊任務(wù)的系統(tǒng)中有很重大的推廣價值;再者在系統(tǒng)調(diào)試時也有明顯優(yōu)勢,一個端口正在通訊時,一個端口實(shí)時監(jiān)視程序的運(yùn)行情況,并可以自然語言的形式輸出實(shí)時的調(diào)試信息,plc程序就不會有這么好的效果,那么結(jié)果是這種系統(tǒng)的開發(fā)周期必然大為縮短。

  plc系統(tǒng)中采用basic語言的,筆者認(rèn)為這是plc應(yīng)用中一個新的發(fā)展,對簡化編程,減輕工控系統(tǒng)開發(fā)者的開發(fā)壓力可起到較大的作用,據(jù)了解,很多plc廠商都有類似功能的模塊生產(chǎn),如三菱公司就推出了ad51h高速智能通信組件,使用ad51h basic語言,支持四個通信口,具備384k內(nèi)存,大大提高了plc系統(tǒng)數(shù)據(jù)通信與收集方面的靈活性。

雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉