一、梯形圖LAD
梯形圖語言是從常用的繼電器與接觸器邏輯控制基礎上簡化了符號演變而來的,具有形象、直觀、實用等特點,電氣技術人員容易接受,是目前運用上最多的一種plc的編程語言。
在PLC程序圖中,左、右母線類似于繼電器與接觸器控制電源線,輸出線圈類似于負載,輸入觸點類似于按鈕。梯形圖由若干階級構成,自上而下排列,每個階級起于左母線,經過觸點與線圈,止于右母線。圖1為一段典型的梯形圖語言編寫的程序。
圖1 梯形圖語言
上圖中,“常開點”I0.3、I1.2、I1.1及“常閉點”I0.2串聯后,與“常開點”M0.0并聯,然后為“線圈”Q4.2供電。在“繼電器與接觸器“型電路中,用梯形圖編程會顯得一目了然,猶如看電氣連接圖一般。
二、功能塊圖FBD
FBD用方框圖的形式來表示控制邏輯,類似于數字邏輯門電路的編程語言。駝子在大學時,對數字電路情有獨鐘,因而后來對FBD語言有了天然的好感,工作中傾向于用FBD進行編程。FBD語言對于有數字電路基礎的人來說很容易掌握,該編程語言用類似與門、或門的方框來表示邏輯運算關系,方框的左側為邏輯運算的輸入變量,右側為輸出變量;信號也是由左向右流向的,各個功能方框之間可以串聯,也可以插入中間信號。在每個最后輸出的前面組合邏輯操作方框數是有限的,同一組邏輯運算的輸出結果的數目也要根據操作系統的不同而不同;經過擴展,不但可以表示各種簡單的邏輯操作,并且也可以表示復雜的運算、操作功能。圖1的梯形圖控制邏輯用FBD編程的話,如圖2所示。
圖2 FBD語言
圖2中,方框”&“為“與”運算,“>="為或運算,其真值表如下:
圖3 真值表
FBD語言的編程過程類似于數字電路中用集成模塊搭建電路,每個模塊都有其自己的功能,根據控制需要,選用合適的模塊,用“線”連起來即可。
三、語句表STL
STL是一種與匯編語言類似的助記符編程語言,用一個或幾個容易記憶的字符來代表PLC的某種操作功能,每個語句由地址(步序號)、操作碼(指令)和操作數(數據)三部分組成。語句表可以實現某些不易用梯形圖或功能塊圖來實現的功能。玩過單片機的小伙伴再學習STL,可能會有些優勢。圖4為用STL編寫的同一控制邏輯的程序。
圖4 STL語言
其中,“A”為與運算,“AN”為與非運算,“O”為或運算,“=”為賦值運算。
用STL編程,需要對PLC的微觀邏輯結構有相當的了解,比如:需要了解各種存儲模式,熟悉各種尋址方式,同時還要能熟練使用各種編程助記符??梢哉f,能夠熟練運用STL編程的小伙伴,siemens的PLC一定玩的相當的溜。駝子我的STL編程仍處在初學者階段,猶記得去年用STL編寫過一段光電測距儀的接口程序,不知死了多少腦細胞,實在是不堪回首。
四、三種語言,該如何抉擇?
1、三種語言互相轉換
在STEP7中,可以通過菜單選擇,在三種語言中相互切換顯示。如圖5所示。
圖5 LAD、FBD、STL切換顯示
當然,通常LAD和FBD直接可以互相切換,LAD、FBD也可以轉換為STL語言,但STL卻不一定可以轉換為LAD或FBD語言。
2、三種語言的優劣比較
LAD是最常用的plc編程語言,其形象、直觀,稍懂電氣的人就能很快上手,而且目前市面上幾乎所有的PLC都支持LAD編程,一通百通。其在“繼電器或接觸器型”邏輯功能中應用比較好,但隨著STEP7中集成的程序功能單元越來越多,LAD語言寫出的程序多少有點“不倫不類”。如圖6所示,程序單元“CMP>=D”在FBD程序中,以“塊”的形式顯示,與其他單元一樣;但在LAD語言中,仍以“塊”的形式顯示,與其它“觸點單元”放在一起顯得有點格格不入,雖然不影響邏輯,但看起來不工整。
圖6 FBD、LAD程序對比
FBD語言寫出的程序,個人認為邏輯性較強,在編程過程中,可以根據被控對象的控制邏輯,“輕易”的捋清程序邏輯,編程就會輕松許多。同時,STEP7提供了大量的、功能各異的“程序邏輯單元”,僅需要簡單的拖動,就能實現編程。
STL接近于匯編語言,起點較高,不容易掌握。但在一些需要對硬件操作的時候,比如:駝子曾經編寫過的激光測距儀的接口程序,就不得不用到STL語言了。
責任編輯:彭菁
-
編程語言
+關注
關注
10文章
1939瀏覽量
34609 -
程序
+關注
關注
116文章
3778瀏覽量
80861 -
LAD
+關注
關注
0文章
15瀏覽量
7026
原文標題:【編程】LAD、FBD、STL這些編程語言怎么選擇?
文章出處:【微信號:設備維修屋,微信公眾號:設備維修屋】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論