可編程序控制器的五種標(biāo)準(zhǔn)編程語言
PLC的用戶程序是設(shè)計(jì)人員根據(jù)控制系統(tǒng)的工藝控制要求,通過PLC編程語言的編制設(shè)計(jì)的。根據(jù)國際電工委員會(huì)制定的工業(yè)控制編程語言標(biāo)準(zhǔn)(IEC1131-3)。PLC的編程語言包括以下五種:梯形圖語言(LD)、指令表語言(IL)、功能模塊圖語言(FBD)、順序功能流程圖語言(SFC)及結(jié)構(gòu)化文本語言(ST)。
1、梯形圖語言(LD)
梯形圖語言是PLC程序設(shè)計(jì)中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由于電氣設(shè)計(jì)人員對繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應(yīng)用。
梯形圖編程語言的特點(diǎn)是:與電氣操作原理圖相對應(yīng),具有直觀性和對應(yīng)性;與原有繼電器控制相一致,電氣設(shè)計(jì)人員易于掌握。
梯形圖編程語言與原有的繼電器控制的不同點(diǎn)是,梯形圖中的能流不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,應(yīng)用時(shí),需要與原有繼電器控制的概念區(qū)別對待。
圖1是典型的交流異步電動(dòng)機(jī)直接啟動(dòng)控制電路圖。圖2是采用PLC控制的程序梯形圖。
圖1 交流異步電動(dòng)機(jī)直接啟動(dòng)電路圖
圖2 PLC梯形圖
2、指令表語言(IL)
指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數(shù)組成。在無計(jì)算機(jī)的情況下,適合采用PLC手持編程器對用戶程序進(jìn)行編制。同時(shí),指令表編程語言與梯形圖編程語言圖一一對應(yīng),在PLC編程軟件下可以相互轉(zhuǎn)換。圖3就是與圖2PLC梯形圖對應(yīng)的指令表。
圖3 指令表
指令表表編程語言的特點(diǎn)是:采用助記符來表示操作功能,具有容易記憶,便于掌握;在手持編程器的鍵盤上采用助記符表示,便于操作,可在無計(jì)算機(jī)的場合進(jìn)行編程設(shè)計(jì);與梯形圖有一一對應(yīng)關(guān)系。其特點(diǎn)與梯形圖語言基本一致。
3、功能模塊圖語言(FBD)
功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。采用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。圖4是對應(yīng)圖1交流異步電動(dòng)機(jī)直接啟動(dòng)的功能模塊圖編程語言的表達(dá)方式。
圖4 功能模塊圖
功能模塊圖編程語言的特點(diǎn):功能模塊圖程序設(shè)計(jì)語言的特點(diǎn)是:以功能模塊為單位,分析理解控制方案簡單容易;功能模塊是用圖形的形式表達(dá)功能,直觀性強(qiáng),對于具有數(shù)字邏輯電路基礎(chǔ)的設(shè)計(jì)人員很容易掌握的編程;對規(guī)模大、控制邏輯關(guān)系復(fù)雜的控制系統(tǒng),由于功能模塊圖能夠清楚表達(dá)功能關(guān)系,使編程調(diào)試時(shí)間大大減少。
4、 順序功能流程圖語言(SFC)
順序功能流程圖語言是為了滿足順序邏輯控制而設(shè)計(jì)的編程語言。編程時(shí)將順序流程動(dòng)作的過程分成步和轉(zhuǎn)換條件,根據(jù)轉(zhuǎn)移條件對控制系統(tǒng)的功能流程順序進(jìn)行分配,一步一步的按照順序動(dòng)作。每一步代表一個(gè)控制功能任務(wù),用方框表示。在方框內(nèi)含有用于完成相應(yīng)控制功能任務(wù)的梯形圖邏輯。這種編程語言使程序結(jié)構(gòu)清晰,易于閱讀及維護(hù),大大減輕編程的工作量,縮短編程和調(diào)試時(shí)間。用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場合。圖5是一個(gè)簡單的功能流程編程語言的示意圖。
圖5
順序功能流程圖編程語言的特點(diǎn):以功能為主線,按照功能流程的順序分配,條理清楚,便于對用戶程序理解;避免梯形圖或其他語言不能順序動(dòng)作的缺陷,同時(shí)也避免了用梯形圖語言對順序動(dòng)作編程時(shí),由于機(jī)械互鎖造成用戶程序結(jié)構(gòu)復(fù)雜、難以理解的缺陷;用戶程序掃描時(shí)間也大大縮短。
5、結(jié)構(gòu)化文本語言(ST)
結(jié)構(gòu)化文本語言是用結(jié)構(gòu)化的描述文本來描述程序的一種編程語言。它是類似于高級語言的一種編程語言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化文本來描述控制系統(tǒng)中各個(gè)變量的關(guān)系。主要用于其他編程語言較難實(shí)現(xiàn)的用戶程序編制。
結(jié)構(gòu)化文本編程語言采用計(jì)算機(jī)的描述方式來描述系統(tǒng)中各種變量之間的各種運(yùn)算關(guān)系,完成所需的功能或操作。大多數(shù)PLC制造商采用的結(jié)構(gòu)化文本編程語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了應(yīng)用方便,在語句的表達(dá)方法及語句的種類等方面都進(jìn)行了簡化。
結(jié)構(gòu)化文本編程語言的特點(diǎn):采用高級語言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;需要有一定的計(jì)算機(jī)高級語言的知識和編程技巧,對工程設(shè)計(jì)人員要求較高。直觀性和操作性較差。
不同型號的PLC編程軟件對以上五種編程語言的支持種類是不同的,早期的PLC僅僅支持梯形圖編程語言和指令表編程語言。目前的PLC對梯形圖(LD)、指令表(STL)、功能模塊圖(FBD)編程語言都以支持。比如,SIMATIC STEP7 MicroWIN V3.2。
在PLC控制系統(tǒng)設(shè)計(jì)中,要求設(shè)計(jì)人員不但對PLC的硬件性能了解外,也要了解PLC對編程語言支持的種類。