IEC1131-3為PLC制定了5種標(biāo)準(zhǔn)的編程語言,,包括圖形化編程語言和文本化編程語言,。圖形化編程語言包括:梯形圖(LD-Ladder Diagram),、功能塊圖(FBD - Function Block Diagram),、順序功能圖(SFC - Sequential Function Chart),。文本化編程語言包括:指令表(IL-Instruction List)和結(jié)構(gòu)化文本 (ST-Strutured Text),。IEC 1131-3的編程語言是IEC工作組對世界范圍的PLC廠家的編程語言合理地吸收,、借鑒的基礎(chǔ)上形成的一套針對工業(yè)控制系統(tǒng)的國際編程語言標(biāo)準(zhǔn),,它不但適用于PLC系統(tǒng),,而且還適用于更廣泛的工業(yè)控制領(lǐng)域,為PLC編程語言的全球規(guī)范化做出了重要的貢獻(xiàn),。
繼電器梯形圖(LD-Ladder Diagram)語言是PLC首先采用的編程語言,,也是PLC最普遍采用的編程語言。梯形圖編程語言是從繼電器控制系統(tǒng)原理圖的基礎(chǔ)上演變而來的,,與繼電器控制系統(tǒng)梯形圖的基本思想是一致的,,只是在使用符號和表達(dá)方式上有一定區(qū)別。PLC的設(shè)計初衷是為工廠車間電氣技術(shù)人員而使用的,,為了符合繼電器控制電路的思維習(xí)慣,,作為首先在PLC中使用的編程語言,梯形圖保留了繼電器電路圖的風(fēng)格和習(xí)慣,,成為廣大電氣技術(shù)人員最容易接受和使用的語言,。梯形圖程序設(shè)計語言的特點(diǎn)是:
(1)與電氣操作原理圖相對應(yīng),,具有直觀性和對應(yīng)性,;
(2)與原有繼電器邏輯控制技術(shù)相一致,對電氣技術(shù)人員來說,,易于撐握和學(xué)習(xí),;
(3)與原有的繼電器邏輯控制技術(shù)的不同點(diǎn)是,,梯形圖中的能流(Power Flow)不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,,因此,,應(yīng)用時,需與原有繼電器邏輯控制技術(shù)的有關(guān)概念區(qū)別對待,;
?。?)與指令表程序設(shè)計語言有一一對應(yīng)關(guān)系,便于相互的轉(zhuǎn)換和程序的檢查,。
功能塊圖(FBD - Function Block Diagram)采用類似于數(shù)字邏輯門電路的圖形符號,,邏輯直觀,使用方便,,它有梯形圖編程中的觸電和線圈等價的指令,,可以解決范圍廣泛的邏輯問題。功能塊圖程序設(shè)計語言有如下特點(diǎn):
?。?)以功能模塊為單位,,從控制功能入手,使控制方案的分析和理解變得容易,;
?。?)功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設(shè)計人員的編程和組態(tài),,有較好的易操作性,;
(3)對控制規(guī)模較大,、控制關(guān)系較復(fù)錄的系統(tǒng),,由于控制功能的關(guān)系可以較清楚地表達(dá)出來,因此,,編程和組態(tài)時間可以縮短,,調(diào)試時間也能減少;
順序功能圖(SFC - Sequential Function Chart)亦稱流程圖或狀態(tài)轉(zhuǎn)移圖,,是一種圖形化的功能性說明語言,,專用于描述工業(yè)順序控制程序,使用它可以對具有并發(fā),、選擇等復(fù)雜結(jié)構(gòu)的系統(tǒng)進(jìn)行編程,。順序功能圖程序設(shè)計語言有如下特點(diǎn):
(1)以功能為主線,條理清楚,,便于對程序操作的理解和溝通,;
(2)對大型的程序,,可分工設(shè)計,,采用較為靈活的程序結(jié)構(gòu),可節(jié)省程序設(shè)計時間和調(diào)試時間,;
?。?)常用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場合,;
?。?)只有在活動步的命令和操作被執(zhí)行,對活動步后的轉(zhuǎn)換進(jìn)行掃描,,因此,,整個程序的掃描時間較其他程序編制的程序掃描時間要大大縮短。
指令表(IL-Instruction List)編程語言類似于計算機(jī)中的助記符匯編語言,,它是可編程控制器最基礎(chǔ)的編程語言,,所謂指令表編程,是用一個或幾個容易記憶的字符來代表可編程控制器的某種操作功能,。 指令表程序設(shè)計語言有如下特點(diǎn):
?。?)采用助記符來表示操作功能,具有容易記憶,,便于撐握的特點(diǎn),;
(2)在編程器的鍵盤上采用助記符表示,,具有便于操作的特點(diǎn),,可在無計算機(jī)的場合進(jìn)行編程設(shè)計;
?。?)與梯形圖有一一對應(yīng)關(guān)系,,其特點(diǎn)與梯形圖語言基本類同。
結(jié)構(gòu)化文本(ST-Strutured Text)是一種高級的文本語言,,可以用來描述功能,,功能塊和程序的行為,還可以在順序功能流程圖中描述步,、動作和轉(zhuǎn)變的行為,。結(jié)構(gòu)化文本語言表面上與PASCAL語言很相似,但它是一個專門為工業(yè)控制應(yīng)用開發(fā)的編程語言,,具有很強(qiáng)的編程能力用于對變量賦值,、回調(diào)功能和功能塊,、創(chuàng)建表達(dá)式、編寫條件語句和迭代程序等,。結(jié)構(gòu)化文本程序設(shè)計語言有如下特點(diǎn):
?。?)采用高級語言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算,;
?。?)需要有一定的計算機(jī)高級程序設(shè)計語言的知識和編程技巧,對編程人員的技能要求較高,,普通電氣人員無法完成,。
(3)直觀性和易操作性等性能較差,;
(4)常被用于采用功能模塊等其他語言較難實(shí)現(xiàn)的一些控制功能的實(shí)施,。
不是所有的PLC都支持所有的編程語言(如功能塊圖,、順序功能圖就有很多低檔PLC不支持),而大型的PLC控制系統(tǒng)一般都支持這5種標(biāo)準(zhǔn)編程語言或類似的編程語言,。還有一些標(biāo)準(zhǔn)以外的編程語言,,它們雖然沒有被選擇進(jìn)標(biāo)準(zhǔn)語言中,但是它們是為了適合某些特殊場合的應(yīng)用而開發(fā)的,,在某些情況下,,它們也許是較好的編程語言。比如D7-SYS的連續(xù)功能圖CFC就是專為大型連續(xù)工藝控制而開發(fā),,只要調(diào)用程序中的CFC功能塊就可以輕易實(shí)現(xiàn)象PID控制器,、計數(shù)器、定位器,、斜坡函數(shù)發(fā)生器等一系列特殊功能,,而且不需要專門的編程知識,只需要懂得圖形化處理和標(biāo)準(zhǔn)程序塊的使用,,進(jìn)行簡單的設(shè)置即可,。