?
PLC編程入門-六種編程語(yǔ)言?詳細(xì)解讀!
傳統(tǒng)的plc編程語(yǔ)言只有兩種,指令表(IL)及梯形圖(LD),有的稱梯形邏輯圖(LLD)。而今為便于各類型的工程技術(shù)人員都能使用PLC,PLC廠商都增加了它的編程語(yǔ)言。國(guó)際電工組織也制定與幾次修訂了plc編程語(yǔ)言國(guó)際標(biāo)準(zhǔn)。并在1993年做了全面修訂后稱之為IEC 61131-3的修訂版。我國(guó)在1995年11月發(fā)布了GB/T 15969-1/2/3/4標(biāo)準(zhǔn),與IEC 61131-1/2/3/4等同。該標(biāo)準(zhǔn)推薦了6種編程語(yǔ)言,除了指令表及結(jié)構(gòu)化文本(ST)為文字語(yǔ)言,還有梯形圖、功能塊圖(FBD)、連續(xù)功能圖(CFC)及順序功能圖(SFC)等圖形語(yǔ)言。
?不同型號(hào)的PLC編程軟件對(duì)編程語(yǔ)言的支持種類是不同的,早期的PLC僅僅支持梯形圖編程語(yǔ)言和指令表編程語(yǔ)言。目前的PLC對(duì)梯形圖(LD)、指令表(STL)、功能模塊圖(FBD)編程語(yǔ)言都以支持。
目前,IEC 61131-3編程語(yǔ)言不僅用于PLC,而且還用于集散型控制系統(tǒng)、工業(yè)控制計(jì)算機(jī)、數(shù)控系統(tǒng)和遠(yuǎn)程終端單元。
由于這個(gè)標(biāo)準(zhǔn)的建立是在PLC已廣泛使用之后,加上它不是強(qiáng)制性標(biāo)準(zhǔn),所以,有些老的PLC廠商還是在原來(lái)語(yǔ)言的基礎(chǔ)上做了擴(kuò)展,并沒(méi)有完全采用這個(gè)標(biāo)準(zhǔn)。再就是,即使語(yǔ)言相同,但細(xì)節(jié)還是有不少差異。
倒是國(guó)產(chǎn)PLC,如和利時(shí)公司的LM、LK系列機(jī),是在有了標(biāo)準(zhǔn)之后才開(kāi)發(fā)的,能全面采用這個(gè)標(biāo)準(zhǔn)。再就是ABB公司的PLC也使用標(biāo)準(zhǔn)規(guī)定的6中語(yǔ)言編程。
下面就給大家簡(jiǎn)要介紹一番:
1.指令表(IL)
指令表語(yǔ)言是PLC編程最基本的語(yǔ)言。但是,用它編的程序,可讀性較差,目前已不常用。故不在此做介紹。
?指令表編程語(yǔ)言是與匯編語(yǔ)言類似的一種助記符編程語(yǔ)言,和匯編語(yǔ)言一樣由操作碼和操作數(shù)組成。在無(wú)計(jì)算機(jī)的情況下,適合采用PLC手持編程器對(duì)用戶程序進(jìn)行編制。同時(shí),指令表編程語(yǔ)言與梯形圖編程語(yǔ)言圖一一對(duì)應(yīng),在PLC編程軟件下可以相互轉(zhuǎn)換。
? ?? 指令表表編程語(yǔ)言的特點(diǎn)是:采用助記符來(lái)表示操作功能,具有容易記憶,便于掌握;在手持編程器的鍵盤上采用助記符表示,便于操作,可在無(wú)計(jì)算機(jī)的場(chǎng)合進(jìn)行編程設(shè)計(jì);與梯形圖有一一對(duì)應(yīng)關(guān)系。其特點(diǎn)與梯形圖語(yǔ)言基本一致。
2.結(jié)構(gòu)化文本語(yǔ)言(ST)
ST語(yǔ)言與BASIC語(yǔ)言、PASCAL語(yǔ)言或C語(yǔ)言等類似。它沒(méi)有單一的指令,只有由一組指令構(gòu)成的含義完整的各種語(yǔ)句。具體語(yǔ)句有賦值語(yǔ)句、條件語(yǔ)句、選擇語(yǔ)句、循環(huán)語(yǔ)句及其他語(yǔ)句(EXIT語(yǔ)句、RETURN語(yǔ)句、功能塊調(diào)用語(yǔ)句等)。
?結(jié)構(gòu)化文本語(yǔ)言是用結(jié)構(gòu)化的描述文本來(lái)描述程序的一種編程語(yǔ)言。它是類似于高級(jí)語(yǔ)言的一種編程語(yǔ)言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化文本來(lái)描述控制系統(tǒng)中各個(gè)變量的關(guān)系。主要用于其他編程語(yǔ)言較難實(shí)現(xiàn)的用戶程序編制。
? ?? 結(jié)構(gòu)化文本編程語(yǔ)言采用計(jì)算機(jī)的描述方式來(lái)描述系統(tǒng)中各種變量之間的各種運(yùn)算關(guān)系,完成所需的功能或操作。大多數(shù)PLC制造商采用的結(jié)構(gòu)化文本編程語(yǔ)言與BASIC語(yǔ)言、PASCAL語(yǔ)言或C
語(yǔ)言等高級(jí)語(yǔ)言相類似,但為了應(yīng)用方便,在語(yǔ)句的表達(dá)方法及語(yǔ)句的種類等方面都進(jìn)行了簡(jiǎn)化。結(jié)構(gòu)化文本編程語(yǔ)言的特點(diǎn):采用高級(jí)語(yǔ)言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;需要有一定的計(jì)算機(jī)高級(jí)語(yǔ)言的知識(shí)和編程技巧,對(duì)工程設(shè)計(jì)人員要求較高。直觀性和操作性較差。
不同品牌PLC的ST語(yǔ)言所提供的函數(shù)、運(yùn)算符可能略有不同。
ST語(yǔ)言功能比圖形語(yǔ)言強(qiáng),但不如圖形語(yǔ)言直觀,目前用的還不大普及。如歐姆龍plc只是在自編功能塊的程序中才可使用它。
同樣為ST語(yǔ)言,各PLC廠商的細(xì)節(jié)不完全一樣。
3.梯形圖(LD)
?梯形圖語(yǔ)言是PLC程序設(shè)計(jì)中最常用的編程語(yǔ)言。它是與繼電器線路類似的一種編程語(yǔ)言。由于電氣設(shè)計(jì)人員對(duì)繼電器控制較為熟悉,因此,梯形圖編程語(yǔ)言得到了廣泛的歡迎和應(yīng)用。
? ?? 梯形圖編程語(yǔ)言的特點(diǎn)是:與電氣操作原理圖相對(duì)應(yīng),具有直觀性和對(duì)應(yīng)性;與原有繼電器控制相一致,電氣設(shè)計(jì)人員易于掌握。
? ?? 梯形圖編程語(yǔ)言與原有的繼電器控制的不同點(diǎn)是,梯形圖中的能流不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,應(yīng)用時(shí),需要與原有繼電器控制的概念區(qū)別對(duì)待。
梯形圖的左母線好像電氣原理圖的電源線一樣,一般不直接與輸出類指令(相當(dāng)于電氣原理圖的負(fù)載)相連,中間總要有能建立邏輯條件的一些指令(相當(dāng)于電氣原理圖的控制元件)。但有的PLC也允許這么做。
用梯形圖符號(hào)編的PLC程序,很像電氣原理圖。如上圖所示。圖b為施耐德公司Naza PLC用的梯形圖。
下圖所示為與IL語(yǔ)言程序?qū)?yīng)的梯形圖程序
關(guān)于梯形圖的文章有很多,在此不再贅述。
4.功能塊圖(FBD)
FBD語(yǔ)言(一種對(duì)應(yīng)于邏輯電路的圖形語(yǔ)言),與電子線路圖中的信號(hào)流圖非常相似。FBD廣泛地用于過(guò)程控制。
FBD語(yǔ)言是以功能模塊為單位,描述控制功能。特別是控制規(guī)模較大、控制關(guān)系較復(fù)雜的系統(tǒng),用它表達(dá)將更為方便。
目前,PLC廠商推出一些高功能及高性能的硬件模塊的同時(shí),多提供與其有關(guān)的功能塊圖程序,這為用戶使用這些硬件及進(jìn)行編程提供了很大方便。
FBD語(yǔ)言占用內(nèi)存較大,執(zhí)行時(shí)間較長(zhǎng),因此,這種語(yǔ)言多只在大、中型可編程序控制器和集散控制系統(tǒng)的編程和組態(tài)中采用。
?功能模塊圖語(yǔ)言是與數(shù)字邏輯電路類似的一種PLC編程語(yǔ)言。采用功能模塊圖的形式來(lái)表示模塊所具有的功能,不同的功能模塊有不同的功能。
? ?? 功能模塊圖編程語(yǔ)言的特點(diǎn):功能模塊圖程序設(shè)計(jì)語(yǔ)言的特點(diǎn)是:以功能模塊為單位,分析理解控制方案簡(jiǎn)單容易;功能模塊是用圖形的形式表達(dá)功能,直觀性強(qiáng),對(duì)于具有數(shù)字邏輯電路基礎(chǔ)的設(shè)計(jì)人員很容易掌握的編程;對(duì)規(guī)模大、控制邏輯關(guān)系復(fù)雜的控制系統(tǒng),由于功能模塊圖能夠清楚表達(dá)功能關(guān)系,使編程調(diào)試時(shí)間大大減少。
5.連續(xù)功能圖(CFC)
CFC與FBD類似,也是按需要選用種種功能塊。所不同的是,它更靈活,塊的位置可任意擺放,特別有信號(hào)反饋時(shí),畫(huà)起來(lái)更方便。
為了塊的執(zhí)行有明確的順序,它的每個(gè)塊的右上角都標(biāo)有序號(hào)。但在實(shí)際表達(dá)時(shí),這個(gè)標(biāo)號(hào)也可選擇不顯示。
FBD及CFC語(yǔ)言在dcs系統(tǒng)編程中用得較多。此外,由于這兩種語(yǔ)言差別不大,有時(shí),僅使用FBD語(yǔ)言。因而,有的也把IEC 61131-3自動(dòng)化編程語(yǔ)言說(shuō)成5種。
6.順序功能圖(SFC)
SFC語(yǔ)言以描述控制程序的順序?yàn)樘卣鳎詧D形方式,簡(jiǎn)單、清楚地描述系統(tǒng)的所有現(xiàn)象,并能對(duì)系統(tǒng)中存有的像死鎖、不安全等反?,F(xiàn)象進(jìn)行分析和建模,并可在此基礎(chǔ)上編程。所以,得到了廣泛的應(yīng)用。
其實(shí),SFC語(yǔ)言僅僅是一種組織程序的圖形化方式。其實(shí)際使用要與其它語(yǔ)言配合,否則無(wú)法實(shí)現(xiàn)其功能。所以,嚴(yán)格地講,它不能算是完整的編程語(yǔ)言。
1)組成
步(Step)
用方框表示,分有初始步、活動(dòng)步、不活動(dòng)(休止)步三種。一個(gè)步是否為活動(dòng)步,即是否處于激活狀態(tài),則取決于上一步及與其相應(yīng)的轉(zhuǎn)移。
動(dòng)作(Action)
動(dòng)作是步的組成部分,一個(gè)步含有一個(gè)或多個(gè)動(dòng)作,用一個(gè)附加在步上的矩形框來(lái)表示。每一動(dòng)作中的程序代碼都可以用IEC的任一語(yǔ)言如ST、FBD、LD或IL來(lái)編寫。每一動(dòng)作還有一個(gè)修飾詞(Qualifier),用來(lái)確定步激活時(shí)其動(dòng)作什么時(shí)候執(zhí)行或終止。
有向連線
從上到下、從左到右的步間連線。也可用加箭頭做非上下、左右的步間連線。
轉(zhuǎn)移
在有向連線上的垂直短線。與轉(zhuǎn)移相關(guān)的邏輯條件,用文字、布爾代數(shù)表達(dá)式、圖形符號(hào)標(biāo)注在轉(zhuǎn)移短線旁。
2)SFC轉(zhuǎn)移規(guī)則
步的轉(zhuǎn)移指的是有向連線相連的前后步激活狀態(tài)的轉(zhuǎn)換。
步間轉(zhuǎn)移的規(guī)則是:
①步間的轉(zhuǎn)移邏輯條件為真;
②被轉(zhuǎn)移步的前一步是活動(dòng)的。
不滿足此兩條件,將不轉(zhuǎn)移。
為了啟動(dòng)順序功能流程圖程序的執(zhí)行,總是要指定一個(gè)初始步,其標(biāo)志為S0,是程序運(yùn)行開(kāi)始時(shí)被激活的那個(gè)步。有個(gè)這個(gè)初始步,則隨著相應(yīng)轉(zhuǎn)移邏輯條件滿足,流程圖中步的激活狀態(tài)將逐步轉(zhuǎn)換,直至最后一步被激活,或根據(jù)有向線指定路線不停地循環(huán)轉(zhuǎn)換。
3)SFC主要形式
根據(jù)結(jié)構(gòu)的不同,可分為以下幾種形式:?jiǎn)涡蛄锌刂?、并行序列控制、分支結(jié)構(gòu)序列、轉(zhuǎn)移序列等。
下圖所示為一段SFC語(yǔ)言編寫的程序。
同樣稱SFC語(yǔ)言,但有的是合乎標(biāo)準(zhǔn)的,如歐姆龍CJ2所用的,其Action有以上修飾詞。有的沒(méi)有,使用時(shí)要看具體軟件的說(shuō)明。
順序功能流程圖語(yǔ)言是為了滿足順序邏輯控制而設(shè)計(jì)的編程語(yǔ)言。編程時(shí)將順序流程動(dòng)作的過(guò)程分成步和轉(zhuǎn)換條件,根據(jù)轉(zhuǎn)移條件對(duì)控制系統(tǒng)的功能流程順序進(jìn)行分配,一步一步的按照順序動(dòng)作。每一步代表一個(gè)控制功能任務(wù),用方框表示。在方框內(nèi)含有用于完成相應(yīng)控制功能任務(wù)的梯形圖邏輯。這種編程語(yǔ)言使程序結(jié)構(gòu)清晰,易于閱讀及維護(hù),大大減輕編程的工作量,縮短編程和調(diào)試時(shí)間。用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場(chǎng)合。
順序功能流程圖編程語(yǔ)言的特點(diǎn):以功能為主線,按照功能流程的順序分配,條理清楚,便于對(duì)用戶程序理解;避免梯形圖或其他語(yǔ)言不能順序動(dòng)作的缺陷,同時(shí)也避免了用梯形圖語(yǔ)言對(duì)順序動(dòng)作編程時(shí),由于機(jī)械互鎖造成用戶程序結(jié)構(gòu)復(fù)雜、難以理解的缺陷;用戶程序掃描時(shí)間也大大縮短。
?
?熱點(diǎn)資訊:
???????????????1、深圳第八屆機(jī)器人視覺(jué)公開(kāi)課? 2017年7月30日? 免費(fèi)報(bào)名
??????????????
??????????????? ? ??2、2017最新工業(yè)機(jī)器人招生簡(jiǎn)章? 零基礎(chǔ)學(xué)習(xí)? 免費(fèi)試聽(tīng)
?
??????????????? ????3、機(jī)器視覺(jué)強(qiáng)勢(shì)崛起,卡位“智造”時(shí)代:我是你的眼!
?
?????????????? ?????4、深圳工業(yè)機(jī)器培訓(xùn)出大事了?? 點(diǎn)擊觀看
????
?體驗(yàn)實(shí)戰(zhàn)學(xué)習(xí),添加微信13926544247預(yù)約!
?
?