PLC目前有5種標準的編程語言,包括圖形化編程語言和文本化編程語言。
圖形化編程語言包括:梯形圖(LD-Ladder Diagram)、功能塊圖(FBD - Function Block Diagram)、順序功能圖(SFC - Sequential Function Chart)。
文本化編程語言包括:指令表(IL-Instruction List)和結構化文本(ST-Strutured Text)。
IEC 1131-3的編程語言是IEC工作組對世界范圍的PLC廠家的編程語言合理地吸收、借鑒的基礎上形成的一套針對工業控制系統的國際編程語言標準,它不但適用于PLC系統,而且還適用于更廣泛的工業控制領域,為PLC編程語言的全球規范化做出了重要的貢獻。
繼電器梯形圖(LD)
繼電器梯形圖(LD-Ladder Diagram)語言是PLC首先采用的編程語言,也是PLC最普遍采用的編程語言。梯形圖編程語言是從繼電器控制系統原理圖的基礎上演變而來的,與繼電器控制系統梯形圖的基本思想是一致的,只是在使用符號和表達方式上有一定區別。
PLC的設計初衷是為工廠車間電氣技術人員而使用的,為了符合繼電器控制電路的思維習慣,作為首先在PLC中使用的編程語言,梯形圖保留了繼電器電路圖的風格和習慣,成為廣大電氣技術人員最容易接受和使用的語言。
1.軟繼電器
PLC梯形圖中的某些編程元件沿用了繼電器這一名稱,如輸入繼電器、輸出繼電器、內部輔助繼電器等,但是它們不是真實的物理繼電器,而是一些存儲單元(軟繼電器),每一軟繼電器與PLC存儲器中映像寄存器的一個存儲單元相對應。該存儲單元如果為“1”狀態,則表示梯形圖中對應軟繼電器的線圈“通電”,其常開觸點接通,常閉觸點斷開,稱這種狀態是該軟繼電器的“1”或“ON”狀態。如果該存儲單元為“0”狀態,對應軟繼電器的線圈和觸點的狀態與上述的相反,稱該軟繼電器為“0”或“OFF”狀態。使用中也常將這些“軟繼電器”稱為編程元件。
2.能流
有一個假想的“概念電流”或“能流”(Power Flow)從左向右流動,這一方向與執行用戶程序時的邏輯運算的順序是一致的。能流只能從左向右流動。利用能流這一概念,可以幫助我們更好地理解和分析梯形圖。
3.母線
梯形圖兩側的垂直公共線稱為母線(Bus bar),。在分析梯形圖的邏輯關系時,為了借用繼電器電路圖的分析方法,可以想象左右兩側母線(左母線和右母線)之間有一個左正右負的直流電源電壓,母線之間有“能流”從左向右流動。右母線可以不畫出。
4.梯形圖的邏輯解算
根據梯形圖中各觸點的狀態和邏輯關系,求出與圖中各線圈對應的編程元件的狀態,稱為梯形圖的邏輯解算。梯形圖中邏輯解算是按從左至右、從上到下的順序進行的。解算的結果,馬上可以被后面的邏輯解算所利用。邏輯解算是根據輸入映像寄存器中的值,而不是根據解算瞬時外部輸入觸點的狀態來進行的。
1、與電氣操作原理圖相對應,具有直觀性和對應性;
2、與原有繼電器邏輯控制技術相一致,對電氣技術人員來說,易于撐握和學習;
3、與原有的繼電器邏輯控制技術的不同點是,梯形圖中的能流(Power Flow)不是實際意義的電流,內部的繼電器也不是實際存在的繼電器,因此,應用時,需與原有繼電器邏輯控制技術的有關概念區別對待;
4、與指令表程序設計語言有一一對應關系,便于相互的轉換和程序的檢查。
功能塊圖(FBD)
功能塊圖(FBD - Function Block Diagram)采用類似于數字邏輯門電路的圖形符號,邏輯直觀,使用方便,它有梯形圖編程中的觸電和線圈等價的指令,可以解決范圍廣泛的邏輯問題。
1、以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易;
2、功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設計人員的編程和組態,有較好的易操作性;
3、對控制規模較大、控制關系較復錄的系統,由于控制功能的關系可以較清楚地表達出來,因此,編程和組態時間可以縮短,調試時間也能減少。
順序功能圖(SFC)
順序功能圖(SFC - Sequential Function Chart)亦稱流程圖或狀態轉移圖,是一種圖形化的功能性說明語言,專用于描述工業順序控制程序,使用它可以對具有并發、選擇等復雜結構的系統進行編程。
1、以功能為主線,條理清楚,便于對程序操作的理解和溝通;
2、對大型的程序,可分工設計,采用較為靈活的程序結構,可節省程序設計時間和調試時間;
3、常用于系統的規模校大,程序關系較復雜的場合;
4、只有在活動步的命令和操作被執行,對活動步后的轉換進行掃描,因此,整個程序的掃描時間較其他程序編制的程序掃描時間要大大縮短。
指令表
指令表(IL-Instruction List)編程語言類似于計算機中的助記符匯編語言,它是可編程控制器最基礎的編程語言,所謂指令表編程,是用一個或幾個容易記憶的字符來代表可編程控制器的某種操作功能。
1、采用助記符來表示操作功能,具有容易記憶,便于撐握的特點;
2、在編程器的鍵盤上采用助記符表示,具有便于操作的特點,可在無計算機的場合進行編程設計;
3、與梯形圖有一一對應關系,其特點與梯形圖語言基本類同。
結構化文本(ST)
結構化文本(ST-Strutured Text)是一種高級的文本語言,可以用來描述功能,功能塊和程序的行為,還可以在順序功能流程圖中描述步、動作和轉變的行為。結構化文本語言表面上與 PASCAL語言很相似,但它是一個專門為工業控制應用開發的編程語言,具有很強的編程能力用于對變量賦值、回調功能和功能塊、創建表達式、編寫條件語句和迭代程序等。
1、采用高級語言進行編程,可以完成較復雜的控制運算;
2、需要有一定的計算機高級程序設計語言的知識和編程技巧,對編程人員的技能要求較高,普通電氣人員無法完成。
3、直觀性和易操作性等性能較差;
4、常被用于采用功能模塊等其他語言較難實現的一些控制功能的實施。
提示注意:不是所有的PLC都支持所有的編程語言(如功能塊圖、順序功能圖就有很多低檔PLC不支持),而大型的PLC控制系統一般都支持這5種標準編程語言或類似的編程語言。還有一些標準以外的編程語言,它們雖然沒有被選擇進標準語言中,但是它們是為了適合某些特殊場合的應用而開發的,在某些情況下,它們也許是較好的編程語言。比如D7-SYS的連續功能圖CFC就是專為大型連續工藝控制而開發,只要調用程序中的CFC功能塊就可以輕易實現象PID控制器、計數器、定位器、斜坡函數發生器等一系列特殊功能,而且不需要專門的編程知識,只需要懂得圖形化處理和標準程序塊的使用,進行簡單的設置即可。
聊聊PLC的學習方法
1、學習PLC編程需要堅強的毅力和足夠的耐心
人各有所長。有些人把編程看作一項冗長而枯燥的工作;有些人把編程看作一項趣味的智力游戲。如果你是前者,強烈建議你遠離這份工作。畢竟編程工作是對人的毅力和耐心的挑戰,編程需要經歷無數次的試錯,調試-修改-調試-修改…經過無數次失敗后,當看到PLC按照自己的控制要求有條不紊的運行時,你將得到極大的成就感,這就如同打通了一個游戲的關口,那種感覺是一樣的。
2、學習PLC編程需要敢于實踐的信心
很多初學者往往是出于一種畏懼,擔心損壞設備,而不敢進行實際操作。其實這些畏懼是沒有任何道理的,只要你仔細的閱讀手冊,遵循標準的規范去接線實操的,都不會出什么問題。不必擔心自己寫的程序會有什么問題,會影響PLC的正常工作,程序有沒有問題,只有讓PLC運行了才能發現。所以,要有敢于實踐的信心,大膽的實踐是PLC編程的必由之路。
3、編程需要有縝密的邏輯思維
編程本身就是一種邏輯思維過程。最初的PLC是用來替代繼電器邏輯電路的,所以繼承了繼電器電路以觸點作為觸發條件的描述方式。在PLC中,以虛擬觸點代替了繼電器觸點,而繼電器電路所表達的邏輯關系還是被完整的保留下來。所以,要理順對象之間的邏輯關系,要有縝密的邏輯思維。
4、養成良好的編程習慣
每個人編程都會有不同的習慣和特點,不能強求一致。但是一些好的習慣還是應該為大多數人所遵循。一是理順邏輯關系、時序關系,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號表。PLC的很多操作都是直接針對寄存器的,如果在程序中出現不合理的寄存器地址重疊,可能會造成程序錯誤。編制寄存器符號表不僅可以避免上述問題,而且可以使程序具備更好的可讀性。PLC提供了豐富的指令、模塊,初學者編程時應盡量先使用簡單的指令達到目的,這對你理解那些較為復雜的指令會有幫助,具備了一定經驗后,應該考慮掌握復雜指令的應用,以及程序的優化。
5、有一定的程序設計基礎知識
有一定的程序設計基礎知識,以及弄通有關PLC程序設計理論是重要的。沒有這方面的理論準備或指導,僅靠在實踐中摸索,簡單的問題還好辦,復雜的就不好辦了,不僅無從下手,而且花了很多時間與精力,也難編出質量也較高的程序,常常是事倍功半。任何理論也都只是經驗的總結,歸根到底也都是來自實踐。
-
plc
+關注
關注
5011文章
13297瀏覽量
463343 -
編程語言
+關注
關注
10文章
1945瀏覽量
34736
原文標題:要學好PLC,怎能不知道這5種PLC專用語言!
文章出處:【微信號:DRIA2014,微信公眾號:東莞市機器人產業協會】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論