通過前麵章節的學習,我們已經了解了PLC的基本結構及工作原理。但對於任何控製係統,除了硬件以外,軟件編程也是其重要組成部分。本章結合具體應用實例詳細介紹CJ1係列PLC指令係統及其編程。
第一節編程語言
一、編程語言概述
現代PLC一般具有多種編程語言可供選擇,常見的有梯形圖、指令表(助記符)、布爾表達式、功能表圖、高級語言等幾種。隨著PLC技術與應用的發展,PLC的語言也有了很大的發展,為適應這個形勢,IEC(國際電工委員會)於1989~1990年,在製定的IEC1131PLC國際標準中,規定有五種PLC編程語言。這五種語言是:梯形圖(Ladder Logic,LD)、指令表(Instroduction List,IL;又稱助記符或語句表)、結構化文本(Struture Text,ST)、功能塊圖(Function Block Diagram,FBD)和順序功能圖(Sequence Function Chart,SFC)。由於這些標準不是強製的標準,各公司的PLC不一定都支持這些語言。IEC1131標準經修訂,現改名為IEC61131。OMRON 的各型號PLC都支持其中的梯形圖和指令表編程方式。
(一)梯形圖(LD)
梯形圖編程語言是由原繼電器控製係統演變而來,與電氣邏輯控製原理圖非常相似。它形象、直觀實用,為廣大電氣技術人員所熟知,是PLC的主要編程語言,絕大多數PLC(特別是中、小型PLC)均具有這種編程語言。掌握梯形圖的編程方式及相應的指令係統是PLC應用的基礎。
(二)指令表(IL)
指令表又稱助記符或語句表,是基於字母符號的一種語言,它與計算機的彙編語言很相似,但比彙編語言簡單的多。PLC簡易編程器沒有梯形圖編程功能,必須把梯形圖翻譯成助記符指令後再輸入PLC。微型、小型PLC常采用這種方法,故助記符也是一種用得最多的編程語言。
助記符是用若幹個容易記憶的字符來代表PLC的某種操作功能。
(三)結構化文本(ST)
結構文本語言是基於文本的高級語言,它采用了一些描述語句來描述係統中各種變量之間的關係,執行需要的操作。結構文本語言與BASIC語言、PASCAL語言或C語言等高級語言相似。但為了應用方便,在語句表的表達方法及語句的種類等方麵都作了簡化。結構文本語言的典型語句如:
FlipFlop(SI:=(%IW3>%MW3)) R:=VaeIn);
Varout:=FlipFlop.Q1;
目前結構文本語言隻能在功能塊(FB)中使用。
(四)功能塊圖 ( FBD )
這是一種建立在布爾表達式之上的圖形編程語言。功能塊確切說是一種編程方式而不是一種語言,實質上是一種將邏輯表達式用類似於“與”、“或”、“非”等邏輯電路結構用圖形化的方法,以功能塊為單位描述功能,其表達簡練、邏輯關係清晰,使控製方案的分析和理解變得容易。功能塊可使用梯形圖語言或結構文本語言實現,編寫完成的功能塊放在係統庫中,可以隨時調用,提高了編程效率。這種編程語言及專用編程器也隻有少量PLC機型采用。
(五)順序功能圖(SFC )
這種語言是在20世紀80年代初由法國科技人員根據Petri網理論提出的,是一種功能說明語言,已先後成為法、德的國家標準,IEC於1988年公布了類似的標準(IEC848)。我國也於1986年頒布了功能表圖的國標(GB6988.6—1986)。
它是一種位於前述四種編程語言之上的一種圖形語言,用來編製較為複雜的順序控製程序。對較複雜的控製係統用梯形圖作程序設計,存在如下問題:設計方法很難掌握,且設計周期長;裝置投運後維護、修改困難。
但若用功能表圖法設計PLC程序,則可有效地解決上述問題,有資料稱可以使設計時間減少2/3。功能圖是描述控製係統的控製過程、功能、特性的一種圖形(最初是一種工藝性的流程圖),它並不涉及所描述的控製功能之具體技術,是一種通用的技術語言,可用於進一步的設計和不同專業的技術人員之間進行技術交流。這種設計方法很容易被初學者接受。對有一定經驗的技術人員,也會提高設計效率,程序的設計、調試、修改和閱讀也很容易。
功能表圖在PLC編程過程中有兩種用法:
(1)直接根據功能表圖的原理設計PLC程序,編程主要通過CRT終端,直接使用功能表圖輸入控製要求,這種PLC的工作原理已不像小型機那樣,程序從頭到尾循環掃描,而隻掃描那些與當前狀態有關的條件,從而大大減少了掃描時間,提高了PLC的運行速度。目前已有此類產品,如GE FANUE公司(美)、西門子公司(德)、Telemecanigue公司(法)、富士FACOM公司(日)等,多數在大、中型PLC上應用。
(2)用功能表圖描述PLC所要完成的控製功能(即作為工藝說明語言使用),然後再據此利用具有一定規則的技巧畫出梯形圖。這種用法,因為有功能表圖易學易懂、描述簡單清楚、設計時間少等優點,所以成為用梯形圖設計程序的一種前置手段,是當前PLC梯形圖設計的主要方法,是一種先進的設計方法。
二、梯形圖編程語言中常用的幾個基本概念
由於PLC是從繼電接觸器的控製邏輯發展而來的,因此梯形圖是在傳統的電氣控製係統電路圖的基礎上演變出來的一種圖形語言。它能模擬繼電接觸器控製係統的繼電器、接觸器、定時器、計數器等功能,另外還引入了更多的其它功能,如加、減、乘、除等算術運算,與、或、非等邏輯運算,還有PID功能等。為了方便PLC電氣控製工程技術人員的使用,PLC中許多術語、名稱、編程方法等,一直沿用了繼電接觸器控製的概念。下麵介紹梯形圖編程中常用的幾個基本概念。
(一)軟元件
1.繼電器
PLC中的繼電器也稱為編程元件,它包括線圈、常開觸點和常閉觸點等。在PLC內部的繼電器並不是實際的“硬繼電器”,而是一位存儲器,因此稱為“軟繼電器元件”。當存儲器的位狀態為“1”時,相當於對應的繼電器線圈得電或常開觸點閉合(或常閉觸點斷開);當該位狀態為“0”時,相當於該繼電器線圈斷電或常開觸點仍然斷開(或常閉觸點仍然閉合)。PLC梯形圖是由這些“軟繼電器”組成的控製線路,它們並不是真正的物理連接,而是邏輯關係上的連接,故稱為“軟接線”。
常開觸點的符號用“”表示,受PLC輸入開關量或PLC內部相應線圈的狀態控製。當PLC控製條件滿足或相應線圈通過電流時,此常開觸點就閉合。
常閉觸點的符號用“”表示,受控方式與常開觸點相同,隻是當PLC控製條件滿足或相應線圈通電時,此常閉觸點斷開。
梯形圖中的線圈也稱為邏輯線圈,常用符號“”表示。在梯形圖中它可用作輸出元件,以驅動外圍設備(如電磁閥、指示燈、繼電器和接觸器等)動作;它還可以控製PLC內部的其它觸點(包括常開觸點和常閉觸點),以構成複雜控製。對軟繼電器的線圈定義號隻能有一個,而它的節點狀態,可作無數次的讀出定義。