0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BASIC編程語(yǔ)言在PLC控制系統(tǒng)中有哪些應(yīng)用

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-16 07:52 ? 次閱讀

1 引言

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

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

2 系統(tǒng)簡(jiǎn)述

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

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

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

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

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

BASIC編程語(yǔ)言在PLC控制系統(tǒng)中有哪些應(yīng)用

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

在這個(gè)方案中,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)角色,對(duì)下位各設(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ò)程中,我們只需關(guān)心ascii碼通訊幀的格式,minit ii會(huì)自動(dòng)將其轉(zhuǎn)為二進(jìn)制格式后發(fā)到incom網(wǎng)絡(luò)中去。

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

控制指令:

(stx)(c/d)(inst)(comm)(scomm)(address)(sumcheck)

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

(stx)(c/d)(data)(sumcheck)

stx:第2號(hào)ascii碼,占一位

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

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

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

sumcheck:和校驗(yàn)碼,占二位

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

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

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

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

(1) 讀寄存器

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

*plc:(stx)(站號(hào))(pc號(hào))(返回?cái)?shù)據(jù))(etx)(和校驗(yàn))

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

(2) 寫(xiě)寄存器

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

*plc:(stx)(站號(hào))(pc號(hào))

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

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

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

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

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

*頭元件:為要讀、寫(xiě)的開(kāi)始元件號(hào),如m0001、d0000等。

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

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

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

2.3 megabasic的語(yǔ)法簡(jiǎn)介

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

*串口的打開(kāi):open ,

如open #8,“com1”

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

如close #8

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

(2) ioctl_string格式為:

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

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

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

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

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

如print #8,“hello world”

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

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

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

syslink,,[type]

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

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

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

b) 讀、寫(xiě)plc寄存器

sysread

syswrite

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

2.4 系統(tǒng)編程過(guò)程簡(jiǎn)介

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6620

    瀏覽量

    110610
  • plc
    plc
    +關(guān)注

    關(guān)注

    5011

    文章

    13297

    瀏覽量

    463375
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1945

    瀏覽量

    34740
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC控制系統(tǒng)設(shè)計(jì): PLC編程時(shí)應(yīng)注意的問(wèn)題

    編程序控制器(PLC或PC)的應(yīng)用中,我們常會(huì)碰到對(duì)繼電器控制系統(tǒng)的改造問(wèn)題,這時(shí)我們往往要參考原有的繼電器控制電路來(lái)編制PC的應(yīng)用程序。因此,在
    發(fā)表于 07-28 17:35 ?1386次閱讀

    BASICPLC控制系統(tǒng)中的應(yīng)用

    愛(ài)好者喜愛(ài)。plc是計(jì)算機(jī)科學(xué)工業(yè)控制領(lǐng)域內(nèi)的一個(gè)重要分支,它一般采用梯形圖、語(yǔ)句表作為其編程語(yǔ)言,由于梯形圖形似電氣原理圖,直觀易懂,易
    發(fā)表于 10-21 10:59 ?0次下載
    <b class='flag-5'>BASIC</b><b class='flag-5'>在</b><b class='flag-5'>PLC</b><b class='flag-5'>控制系統(tǒng)</b>中的應(yīng)用

    PLC目前5種標(biāo)準(zhǔn)的編程語(yǔ)言,你知道嗎?

    繼電器梯形圖(LD-Ladder Diagram)語(yǔ)言PLC首先采用的編程語(yǔ)言,也是PLC最普遍采用的
    的頭像 發(fā)表于 03-18 10:05 ?5.7w次閱讀
    <b class='flag-5'>PLC</b>目前5種標(biāo)準(zhǔn)的<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>,你知道嗎?

    淺析BASIC語(yǔ)言PLC通信系統(tǒng)中的應(yīng)用

    plc是計(jì)算機(jī)科學(xué)工業(yè)控制領(lǐng)域內(nèi)的一個(gè)重要分支,它一般采用梯形圖、語(yǔ)句表作為其編程語(yǔ)言,由于梯形圖形似電氣原理圖,直觀易懂,易為電氣工程
    發(fā)表于 03-18 08:37 ?1632次閱讀
    淺析<b class='flag-5'>BASIC</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>在</b><b class='flag-5'>PLC</b>通信<b class='flag-5'>系統(tǒng)</b>中的應(yīng)用

    PLC技術(shù)工業(yè)控制系統(tǒng)中有怎么樣的應(yīng)用

    編程控制器簡(jiǎn)稱———PLC是以微處理器為基礎(chǔ),綜合了計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)和通訊技術(shù)發(fā)展而來(lái)的一種新型工業(yè)控制裝置,工業(yè)自動(dòng)
    發(fā)表于 07-14 16:42 ?8次下載
    <b class='flag-5'>PLC</b>技術(shù)<b class='flag-5'>在</b>工業(yè)<b class='flag-5'>控制系統(tǒng)</b><b class='flag-5'>中有</b>怎么樣的應(yīng)用

    PLC控制系統(tǒng)的7大特點(diǎn)

    ?1.編程方法很容易學(xué)。 梯形圖是plc最廣泛使用的編程語(yǔ)言。其電路符號(hào)和表達(dá)式與繼電器電路原理圖相似。梯形圖語(yǔ)言直觀易學(xué)。熟悉繼電器電路圖
    發(fā)表于 01-06 10:38 ?6685次閱讀

    plc編程語(yǔ)言標(biāo)準(zhǔn)中有哪幾種編程語(yǔ)言

    )和結(jié)構(gòu)文本(st)是書(shū)面語(yǔ)言。 1.順序功能圖 順序圖用于描述開(kāi)關(guān)控制系統(tǒng)的功能,是一種高于其他編程語(yǔ)言的圖形語(yǔ)言,用于編制順序
    發(fā)表于 01-06 17:05 ?4546次閱讀

    PLC常見(jiàn)的5種標(biāo)準(zhǔn)編程語(yǔ)言

    IEC 1131-3的編程語(yǔ)言是IEC工作組 對(duì)世界范圍的PLC廠家的編程語(yǔ)言合理地吸收、借鑒的基礎(chǔ)上形成的一套針對(duì)工業(yè)
    發(fā)表于 10-17 14:21 ?1.3w次閱讀

    PLC編程語(yǔ)言類型有哪幾種 具有什么特點(diǎn)

      PLC的用戶程序,是設(shè)計(jì)人員根據(jù)控制系統(tǒng)的工藝控制要求,通過(guò)PLC編程語(yǔ)言的編制規(guī)范,按照實(shí)
    發(fā)表于 03-15 17:41 ?4584次閱讀

    PLC編程的三種方法 PLC編程的特點(diǎn)

      PLC的用戶程序,是設(shè)計(jì)人員根據(jù)控制系統(tǒng)的工藝控制要求,通過(guò)PLC編程語(yǔ)言的編制規(guī)范,按照實(shí)
    發(fā)表于 03-15 18:10 ?7097次閱讀

    plc編程是什么 plc編程語(yǔ)言

    PLC編程主要包括程序設(shè)計(jì)、調(diào)試、修改和改進(jìn)等工作。   PLC編程中,程序員需要根據(jù)控制系統(tǒng)
    發(fā)表于 04-14 15:44 ?6984次閱讀

    五種支持plc編程語(yǔ)言有哪些

    PLC控制系統(tǒng)設(shè)計(jì)中,不同型號(hào)的PLC編程軟件對(duì)以上五種編程
    發(fā)表于 08-31 14:54 ?1388次閱讀
    五種支持<b class='flag-5'>plc</b><b class='flag-5'>編程</b>的<b class='flag-5'>語(yǔ)言</b>有哪些

    PLC編程語(yǔ)言和方法

    編程語(yǔ)言,沿用電氣控制中的觸點(diǎn)、線圈等術(shù)語(yǔ),具有形象、直觀、易學(xué)、實(shí)用的特點(diǎn),不過(guò)較復(fù)雜的控制系統(tǒng)用梯形圖設(shè)計(jì)時(shí)存在如下問(wèn)題:設(shè)計(jì)方法難掌握且設(shè)計(jì)周期長(zhǎng);裝置投入運(yùn)行后維護(hù)、修改困難
    的頭像 發(fā)表于 09-20 15:58 ?1540次閱讀

    plc控制系統(tǒng)與傳統(tǒng)繼電器控制區(qū)別 plc控制系統(tǒng)的優(yōu)點(diǎn)

    和繼電器組成,實(shí)現(xiàn)對(duì)工業(yè)設(shè)備的控制。本文將詳細(xì)描述PLC控制系統(tǒng)相對(duì)于傳統(tǒng)繼電器控制系統(tǒng)的優(yōu)點(diǎn)。 首先,PLC
    的頭像 發(fā)表于 02-04 15:59 ?3523次閱讀

    PLC常用編程語(yǔ)言有哪些

    工業(yè)自動(dòng)化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)作為一種核心控制設(shè)備,其
    的頭像 發(fā)表于 06-14 16:58 ?1458次閱讀