可編程控制器(PLC)的編程語言

發(fā)布時間:2024-03-08
由于plc強大的功能和優(yōu)良的性能,以及應(yīng)用成本的不斷下降和使用的方便性,促使plc的應(yīng)用領(lǐng)域不斷擴展,市場潛力巨大,于是,全世界許多公司紛紛推出自己的plc產(chǎn)品。出于壟斷或市場保護的目的,各家公司的plc產(chǎn)品各有差別,互不兼容。當(dāng)形形色色的plc涌入市場時,國際電工委員會與有關(guān)plc制造商多次協(xié)商,于1993年制定了iec1131標(biāo)準(zhǔn)以引導(dǎo)plc健康地發(fā)展。
iec1131標(biāo)準(zhǔn)共分為5個部分:iec1131-1為一般信息,即對通用邏輯編程作了一般性介紹并討論了邏輯編程的基本概念、術(shù)語和定義;iec1131-2為裝配和測試需要,從機械和電氣兩部分介紹了邏輯編程對硬件設(shè)備的要求和測試需要;iec1131-3為編程語言的標(biāo)準(zhǔn),它吸取了多種編程語言的長處,并制定了5種標(biāo)準(zhǔn)語言;iec1131-4為用戶指導(dǎo),提供了有關(guān)選擇、安裝、維護的信息資料和用戶指導(dǎo)手冊;iec1131-5為通信規(guī)范,規(guī)定了邏輯控制設(shè)備與其他裝置的通信聯(lián)系規(guī)范。iec1131標(biāo)準(zhǔn)后更名為iec61131標(biāo)準(zhǔn)。
在iec61131-3中,規(guī)定了控制邏輯編程中的語法、語義和顯示,并對以往編程語言進行了部分修改后形成目前通用的5種語言。在這5種語言中,有3種是圖形化語言,2種是文本化語言。圖形化編程語言包括:梯形圖(ld-ladder diagram)、功能塊圖(fbd - function block diagram)、順序功能圖(sfc - sequential function chart)。文本化編程語言包括:指令表(il-instruction list)和結(jié)構(gòu)化文本 (st-strutured text)。iec61131-3的編程語言是iec工作組對世界范圍的plc廠家的編程語言合理地吸收、借鑒的基礎(chǔ)上形成的一套針對工業(yè)控制系統(tǒng)的國際編程語言標(biāo)準(zhǔn),它不但適用于plc系統(tǒng),而且還適用于更廣泛的工業(yè)控制領(lǐng)域;iec61131-3 的編程工具提供對現(xiàn)場總線系統(tǒng)的支持,并對現(xiàn)場總線裝置的軟件設(shè)計產(chǎn)生了很大影響。iec并不要求每種產(chǎn)品都運行這5種語言,可以只運行其中的一種或幾種,但均必須符合標(biāo)準(zhǔn)。在實際組態(tài)時,可以在同一項目中運用多種編程語言,相互嵌套,以供用戶選擇最簡單的方式生成控制策略。
正是由于iec61131-3標(biāo)準(zhǔn)的公布,許多plc制造廠先后推出符合這一標(biāo)準(zhǔn)的plc產(chǎn)品。美國羅克韋爾(rockwell)公司許多plc產(chǎn)品都帶符合iec61131-3標(biāo)準(zhǔn)中結(jié)構(gòu)文本的軟件選項。法國施耐德(schneider)公司的modicon tsx quantum plc產(chǎn)品可采用符合iec61131-3標(biāo)準(zhǔn)的concept軟件包,它在支持modicon 984梯形圖的同時,也遵循iec61131-3標(biāo)準(zhǔn)的5種編程語言。德國西門子(siemens)公司的simatic s7-200、s7-300、s7-400、c7-620均采用simatic軟件包,其中梯形圖和功能塊圖部分符合iec61131-3標(biāo)準(zhǔn)。
1、 繼電器梯形圖(ld)
繼電器梯形圖編程語言是plc首先采用的編程語言,也是plc最普遍采用的編程語言。梯形圖編程語言是從繼電器控制系統(tǒng)原理圖的基礎(chǔ)上演變而來的。plc的梯形圖與繼電器控制系統(tǒng)梯形圖的基本思想是一致的,只是在使用符號和表達(dá)方式上有一定區(qū)別。圖1所示是典型的繼電器梯形圖示例。左右兩條垂直的線稱作母線。母線之間是觸點的邏輯連接和線圈的輸出。
圖1 plc繼電器梯形圖
plc的設(shè)計初衷是為工廠車間電氣技術(shù)人員而使用的,為了符合繼電器控制電路的思維習(xí)慣,作為首先在plc中使用的編程語言,梯形圖保留了繼電器電路圖的風(fēng)格和習(xí)慣,并引入“能流”的概念。圖1中,把左邊的母線假想為電源正極或“火線”,而把右邊的母線假想為電源負(fù)極或“零線”。如果有“能流”從左至右流向線圈,則線圈被激勵。如沒有“能流”,則線圈未被激勵。 “能流” 是梯形圖的一個關(guān)鍵概念,它僅是概念上的“能流”,是為了和繼電接觸器控制系統(tǒng)相比較,對梯形圖有一個形象深入的認(rèn)識,其實“能流”在梯形圖中是不存在的。
“能流”可以通過動作(on)的常開接點和未動作(off)的常閉接點自左向右流。“能流”在任何時候都不會通過接點自右向左流。圖1中,當(dāng)i0.0動作而i0.1、t40未動作時,線圈m0.0才能接通(被激勵)。
繼電器梯形圖實質(zhì)上就是plc內(nèi)部的一段控制程序,所以常把它稱作為程序。又由于它是以電路邏輯圖的形式出現(xiàn)的,所以,有時又稱它為內(nèi)部繼電器電路圖。
有的plc的梯形圖有兩根母線,但大部分plc現(xiàn)在只保留左邊的母線了。在梯形圖中,基本符號有觸點(包括常開和常閉)、線圈和功能盒。觸點代表邏輯“輸入”條件,如按鈕、位置開關(guān)、內(nèi)部條件等;線圈通常代表邏輯“輸出”結(jié)果,可以通過輸出端子和外部電路驅(qū)動被控對象,如電磁閥、接觸器、指示燈等;功能盒也是一種輸出,它代表實現(xiàn)某些特定功能的指今,如定時器、計數(shù)器和各種功能指令等。
2、功能塊圖(fbd)
功能塊圖是iec61131-3的標(biāo)準(zhǔn)編程語言,采用類似于數(shù)字邏輯門電路的圖形符號,邏輯直觀,使用方便,但一些低檔的plc并不支持fbd編程語言。s7—200的plc專門提供了fbd編程語言,利用fbd可以查看到像普通邏輯門圖形的邏輯盒指令。它沒有梯形圖編程器中的觸點和線圈,但有與之等價的指令,這些指令是作為盒指令出現(xiàn)的,程序邏輯由這些盒指令之間的連接決定。也就是說,一個指令(例如and盒)的輸出可以用來允許另一條指令(例如定時器),這樣可以建立所需要的控制邏輯。這樣的連接思想可以解決范圍廣泛的邏輯問題。
圖2 plc功能塊圖
3、順序功能圖(sfc)
順序功能圖,亦稱功能流程圖或狀態(tài)轉(zhuǎn)移圖,是一種圖形化的功能性說明語言,專用于描述工業(yè)順序控制程序,也是iec61131-3的標(biāo)準(zhǔn)編程語言。使用它可以對具有并發(fā)、選擇等復(fù)雜結(jié)構(gòu)的系統(tǒng)進行編程,一些高檔的plc提供了用于sfc編程的指令,但一些低檔的plc并不支持sfc編程語言。順序功能圖示例如圖3所示。
順序功能圖主要由“狀態(tài)”和“轉(zhuǎn)移”等基本元素組成。通過這些基本元素的不同組合,可以表達(dá)各種各樣的復(fù)雜順序控制邏輯,控制規(guī)律的表達(dá)簡潔明了。
狀態(tài)有時也稱步,是系統(tǒng)一個相對穩(wěn)定的階段,在這個階段內(nèi)系統(tǒng)的參量保持不變。系統(tǒng)的參量一旦發(fā)生變化,則認(rèn)為系統(tǒng)轉(zhuǎn)移到了一個新的狀態(tài)。狀態(tài)包括初始狀態(tài)和工作狀態(tài),一個系統(tǒng)至少要有一個初始狀態(tài),初始狀態(tài)用雙線矩形框表示,工作狀態(tài)用矩形框表示,工作狀態(tài)一般都有相對應(yīng)的動作。每個狀態(tài)都有一個編號,通常用plc內(nèi)部的狀態(tài)元件來保存狀態(tài)。
當(dāng)系統(tǒng)的參量發(fā)生變化到了一個新的狀態(tài),則認(rèn)為系統(tǒng)狀態(tài)發(fā)生了轉(zhuǎn)移。轉(zhuǎn)移由連接兩個狀態(tài)之間的有向線段和垂直于此線段的短橫線段組成,短橫線段表示發(fā)生轉(zhuǎn)移的條件。
圖3 plc順序功能圖
4、指令語句表(il)
指令表編程語言類似于計算機中的助記符匯編語言,它是可編程控制器最基礎(chǔ)的編程語言。所謂指令表編程,是用一個或幾個容易記憶的字符來代表可編程控制器的某種操作功能,具體指令的說明將在后面的相關(guān)內(nèi)容中作詳細(xì)的介紹。指令表示例如圖4所示。
圖4 plc指令語句表
5、結(jié)構(gòu)化文本語言(st)
結(jié)構(gòu)化文本(st)是一種高級的文本語言,可以用來描述功能,功能塊和程序的行為,還可以在順序功能流程圖中描述步、動作和轉(zhuǎn)變的行為。
結(jié)構(gòu)化文本語言表面上與pascal語言很相似,但它是一個專門為工業(yè)控制應(yīng)用開發(fā)的編程語言,具有很強的編程能力用于對變量賦值、回調(diào)功能和功能塊、創(chuàng)建表達(dá)式、編寫條件語句和迭代程序等。結(jié)構(gòu)化文本非常適合應(yīng)用在有復(fù)雜的算術(shù)計算的應(yīng)用中。
結(jié)構(gòu)化文本程序格式自由,可以在關(guān)鍵詞與標(biāo)識符之間任何地方插入制表符、換行字符和注釋。對于熟悉計算機高級語言開發(fā)的人員來說,結(jié)構(gòu)化語言更是易學(xué)易用。此外,結(jié)構(gòu)化文本語言還易讀易理解,特別是用有實際意義的標(biāo)識符、批注來注釋時,更是這樣。
下面程序是一個用結(jié)構(gòu)化文本程序?qū)崿F(xiàn)功能塊的例子。該實例描述的是如何用功能塊控制箱體中的流體,箱體可以通過閥門被注滿和倒空,箱體的重量由一個稱重單元監(jiān)視。功能塊通過比較兩個輸入值fullweight和emptyweight以確定箱體是滿的還是空的。
該功能塊提供了一個“command”輸入,該輸入有四種狀態(tài),1.給箱體加水;2.保持不變;3.起動“stirrer”;4. 清空箱體。實現(xiàn)該功能塊算法的結(jié)構(gòu)化文本程序如下:
(*箱體狀態(tài)*)
type_t_state: (full,not_full,emptied);end_type;
(*閥門狀態(tài)*)
type_t_valve: (open,shut);end_type;
function_block tankcontrol
var_in (**)
command:sint;
weight :real;
fullweight,emptyweight : real;
end_var
var_out (**)
fillvalve :t_valve:=shut;
emptyvalve :t_valve:=shut;
stirspeed :real:=0.0;
end_var
var
state :=t_state :=emptyied;
end_var
上一個:編輯文檔如何加剪刀線(word怎么加剪刀)
下一個:手機緩存怎么刪除不了怎么回事,為什么手機內(nèi)存刪不掉文件

預(yù)算定額單價如何確定?
雙方共同購買已辦理按揭登記的房地產(chǎn),一方因故退出或轉(zhuǎn)讓,該如何辦理登記手續(xù)?
磁盤類型mbr和gpt選哪一個,初始化磁盤那是選mbr還是gpt
劣質(zhì)柑普茶 小心一顆老鼠屎壞一鍋湯
海州常山栽培技術(shù)
TCL電視遙控器怎么語音,tcl曲面電視怎樣設(shè)置語音運行
起訴離婚孩子可能會判給誰
山西合成血液
電腦開機后黑屏只有鼠標(biāo)怎么解決筆記本(筆記本電腦開機是黑屏但是有鼠標(biāo))
RC0603DR-07576KL,0603 576KΩ 0.5% 1/10W 電阻
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos