tft每日頭條

 > 科技

 > plc常用編程語言哪三個

plc常用編程語言哪三個

科技 更新时间:2025-01-30 13:27:41


微電子技術的發展使得集成芯片産生了一定程度的“智能”,微處理器(CPU)能夠按照我們開發者預先設定好的“程序”來運行,我們通過編寫“程序”代碼,達到與計算機(PC)去工作的目的。

plc常用編程語言哪三個(PLC編程語言你知道多少)1

在計算機技術發展的早期,“程序”代碼的編寫并不是一件簡單的事情。由于計算機本身隻能理解“0”和“1”組成的代碼,于是編程人員隻能把“0”和“1”的數字編成的程序代碼打在紙帶(“1”打孔,“0”不打孔)上,然後将紙帶放入計算機的輸入系統中,這樣計算機才能明白程序員讓它完成什麼任務。

程序員編程時要充分定義好每一個“位”的含義,然後按照規定好的邏輯将它們組合成代碼。這種由“0”和“1”組成的代碼十分地複雜,人類很難理解,給程序的編寫、修改和維護都帶來了很大的困難。

為了提高程序編寫的效率,提高代碼的可讀性及可維護性,計算機科學家們發明了“彙編語言”。彙編語言使用特定的英文符号代替機器指令,大大增強了程序的可讀性,提高了編程的效率。

彙編語言的英文指令雖然便于人類理解,但微處理器(CPU)卻無法理解。于是科學家們設計出一個專門的程序,用來把彙編語言的英文指令,“翻譯”成微處理器(CPU)能夠執行的機器代碼,這個翻譯程序,被稱為“編譯器”(編譯器也有個發展的過程,不深究)。那些用彙編語言寫成的代碼,被稱為“源代碼”。

彙編語言編程與早期的紙帶打孔編程相比,程序的可讀性大大增強。但随着微處理器技術的迅猛發展,用彙編語言來寫程序也逐漸不能滿足需求了,主要表現在兩個方面:

第一:随着程序複雜性的提高,彙編語言編寫的代碼量顯著增加,編寫和維護的難度變大;

第二:彙編語言依賴于特定的微處理器,程序的跨平台移植性很差,很多時候需要重新編寫;

于是,一種不需要記憶繁雜指令的、與硬件平台無關的編程語言就成了程序員們夢寐以求的東西就是C語言。C語言用結構化的語句代替了彙編語言中的指令,提供了豐富的數據類型和運算符,支持指針功能,編寫的代碼簡潔緊湊,自其誕生之初就受到了衆多程序員的喜愛,被視為編程語言的經典。時至今日C語言仍保持着強大的生命力,在單片機和嵌入式程序設計中有着廣泛的使用。

随着微電子技術在工業控制領域的使用,PLC(可編程邏輯控制器)取代了傳統的繼電器控制系統。作為“可編程”邏輯控制器,編程語言必不可少。但是由于各大廠家的PLC産品自成一派,相互不兼容,編程語言的語法也各有所好,形形色色,PLC應用和推廣帶來了不便。

為了規範PLC的編程語言,國際電工委員會(International Electrotechnical Commission)起草并頒布了工業自動化領域編程語言的标準(IEC 61131-3),制定了五種在工控領域使用的語言,包括圖形式語言和文本式語言。圖形式語言包括:梯形圖(LD-Ladder Diagram)、功能塊圖(FBD- Function Block Diagram)和順序功能圖(SFC- Sequential Function Chart)。文本式語言包括:指令表(IL-Instruction List)和結構化文本(ST-Strutured Text)。

下面我們來聊聊這五種編程語言:

在各種PLC的編程語言中,使用最多的梯形圖(LD-Ladder Diagram)語言。梯形圖是從早期繼電器控制系統原理圖演變而來,與繼電器電路圖相似,直觀易懂,保留了繼電器電路圖的風格和習慣,是熟悉繼電器控制系統人員最容易接受和使用的語言。

梯形圖雖然容易上手,但是在編寫大型系統程序的時候會很吃力。很多書都建議初學者學習梯形圖,我不敢苟同,除非你接觸的都是些簡單邏輯控制。當你感到需要控制的邏輯系統變得複雜,想換一種語言的時候,基本還是要從頭學起。所以我建議初學者學習功能塊圖(FBD- Function Block Diagram)。

功能塊圖(FBD)使用數字電路的邏輯符号(“與”、“或”、“非”)來表達控制邏輯,在編寫大型複雜系統的時候也能保證邏輯清晰

結構化文本(ST-Strutured Text)編程語言,在西門子PLC編程中被稱為SCL(Structure Language),先給你看看我在某項目中使用SCL編寫的程序代碼的截圖:

plc常用編程語言哪三個(PLC編程語言你知道多少)2

是不是和計算機編程很相似?SCL的語法類似VB(PASCAL)等高級語言,接近人類的思維方式,程序的可讀性很強。在西門子Step7 5.x平台下可以使用插入源文件的方式進行編程,在博途平台下可以直接編寫。SCL可以說是工控領域裡“高大上”的編程語言,它的源代碼編譯後的效率也很高,如果你之前接觸過計算機高級語言編程,強烈建議深入學習下SCL語言。

指令表(IL),在西門子PLC中稱為語句表(STL)。它類似于彙編語言,對編程人員要求較高,需要熟悉PLC内部的各種寄存器、狀态字等等,需要熟悉各種指令,并清楚某指令執行後會對哪些寄存器産生影響。語言表(STL)編寫的程序可讀性相對較低,但其執行效率在所有的語言中是最高的。有些特殊的功能使用其它語言(比如梯形圖)表達很困難,或者根本無法表達,語言表(STL)可能幾行代碼就完成了。

順序功能圖(SFC- Sequential Function Chart)語言,在西門子PLC中稱為S7-GRAPH。該語言非常适合生産過程的順利控制,它把整個生産過程分成若幹“步”,每一“步”都有某些動作要完成,當某個條件滿足後,可以跳到下一“步”,也就是所謂的“順序控制”。

IEC61131-3推薦的五種語言,在不同的工控場合下均有使用,作為初學者,建議學習功能塊圖(FBD)語言。如果你有計算機高級語言編程的基礎,建議學習下SCL語言。當然,無論學哪種語言,都首先要理解PLC本身,要知道PLC内部資源是如何存儲?程序是如何調用?知道了這些後,你才清楚程序應該怎樣寫,以及為什麼這樣寫。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved