西門子STEP 7編程軟件的編程語言有哪些
發(fā)布于2022-11-09 10:51
45
2
標(biāo)簽:西門子PLC編程軟件
梯形圖、語句表(即指令表)和功能塊圖是標(biāo)準(zhǔn)的STEP7軟件包配備的3種基本編程語言,這3種語言可以在STEP7中相互轉(zhuǎn)換。STEP7還有多種編程語言可供用戶選用,但是在購買軟件時可選的部分需要附加的費用。
1.順序功能圖(SFC)
這是一種位于其他編程語言之上的圖形語言,用來編制順序控制程序。在這種語言中,工藝過程被劃分為若干個順序出現(xiàn)的步,步包含控制輸出的動作,從一步到另一步的轉(zhuǎn)換由轉(zhuǎn)換條件控制。STEP7中的S7-Graph順序控制圖形編程語言屬于可選的軟件包。用S7-Graph表達復(fù)雜的順序控制過程非常清晰,用于編程及故障診斷更為有效,它特別適合于生產(chǎn)制造過程。5.5節(jié)將對S7-Graph作詳細的介紹。
2.梯形圖(LAD)
梯形圖是使用得最多的PLC圖形編程語言。梯形圖與繼電器電路圖很相似,具有直觀易懂的優(yōu)點,很容易被工廠熟悉繼電器控制的電氣人員掌握,特別適合于數(shù)字量邏輯控制。
梯形圖由觸點、線圈和用方框表示的指令框組成。觸點代表邏輯輸入條件,例如外部的開關(guān)、按鈕和內(nèi)部條件等。線圈通常代表邏輯運算的結(jié)果,常用來控制外部的負載和內(nèi)部的標(biāo)志位等。指令框用來表示定時器、計數(shù)器或者數(shù)學(xué)運算等附加指令。
使用編程軟件可以直接生成和編輯梯形圖,并將它下載到PLC。
觸點和線圈等組成的獨立電路稱為網(wǎng)絡(luò)(Network),中文版STEP7稱之為程序段(見圖3-2)。STEP7自動地為程序段編號。梯形圖中的觸點和線圈可以使用物理地址,例如10.2和Q1.3等。如果用符號表定義了某些地址的符號,例如令 I0.0的符號為“起動按鈕”,在程序中可以用符號地址“起動按鈕”來代替物理地址 I0.0,使程序易于閱讀和理解。
可以在程序段號的右邊加上程序段的標(biāo)題,在程序段號的下面為程序段加上注釋。如果將兩塊獨立電路(可分開的電路)放在同一個程序段內(nèi),將會出錯。
在分析梯形圖的邏輯關(guān)系時,為了借用繼電器電路圖的分析方法,可以想象在梯形圖的左右兩側(cè)垂直“電源線”之間有一個左正右負的直流電源電壓,當(dāng)圖3-2程序段1中I0.0 與I0.1的觸點同時接通,或Q4.0與I0.1的觸點同時接通時,有一個假想的“能流”(Pow-er Flow)流過Q4.0的線圈。利用能流這一概念,可以借用繼電器電路的術(shù)語和分析方法,幫助我們更好地理解和分析梯形圖。能流只能從左向右流動。如果沒有跳轉(zhuǎn)指令,程序段內(nèi)的邏輯運算按從左往右的方向執(zhí)行,與能流的方向一致。程序段之間按從上到下的順序執(zhí)行,執(zhí)行完所有的程序段后,下一次循環(huán)又從最上面的程序段1重新開始執(zhí)行。
3.語句表(STL)
$7系列PLC將指令表稱為語句表(Statement List),它是一種類似于微機的匯編語言的文本語言,多條指令組成一個程序段。語句表比較適合經(jīng)驗豐富的程序員使用,可以實現(xiàn)某些不能用梯形圖或功能塊圖表示的功能。
4.功能塊圖(FBD)
功能塊圖(FBD)使用類似于布爾代數(shù)的圖形邏輯符號來表示控制邏輯,有數(shù)字電路基礎(chǔ)的人很容易掌握。功能塊圖用類似于與門、或門的方框來表示邏輯運算關(guān)系,方框的左側(cè)為邏輯運算的輸入變量,右側(cè)為輸出變量,輸入、輸出端的小圓圈表示“非”運算,方框被“導(dǎo)線”連接在一起,信號自左向右流動。圖3-4的控制邏輯與圖3-2和圖3-3的相同。國內(nèi)很少有人使用功能塊圖語言。
5.結(jié)構(gòu)文本(ST)
結(jié)構(gòu)文本(ST)是為IEC61131-3標(biāo)準(zhǔn)創(chuàng)建的一種專用的高級編程語言。與梯形圖相比,它能實現(xiàn)復(fù)雜的數(shù)學(xué)運算,編寫的程序非常簡潔和緊湊。
STEP7的S7-SCL(結(jié)構(gòu)化控制語言)是符合IEC61131-3標(biāo)準(zhǔn)的高級文本語言。它的語言結(jié)構(gòu)與計算機的編程語言Pascal和C相似,適合于習(xí)慣使用高級編程語言的人使用。
SCL適合于復(fù)雜的計算任務(wù)和最優(yōu)化算法,或管理大量的數(shù)據(jù)等。

6.S7-HiGraph 編程語言
圖形編程語言S7-HiGraph 屬于可選軟件包,它用狀態(tài)圖(State Graphs)來描述異步、非順序的過程。系統(tǒng)被分解為若干個功能單元,每個單元呈現(xiàn)不同的狀態(tài),各功能單元的同步信息可以在圖形之間交換。需要為不同狀態(tài)之間的切換定義轉(zhuǎn)換條件,用類似于語句表的語言描述指定給狀態(tài)的動作和狀態(tài)之間的轉(zhuǎn)換條件。
7.CFC編程語言
可選軟件包CFC(Continuous Function Chart,連續(xù)功能圖)用圖形方式連接程序庫中以塊的形式提供的各種功能,包括從簡單的邏輯操作到復(fù)雜的閉環(huán)和開環(huán)控制。編程時將這些塊復(fù)制到圖中并用線連接起來即可。不需要用戶掌握詳細的編程知識以及PLC的專門知識,只要具有行業(yè)所必需的工藝技術(shù)方面的知識,就可以用CFC來編程。
編程語言的相互轉(zhuǎn)換與選用
組織塊0B、功能塊FB、功能FC、系統(tǒng)功能塊SFB和系統(tǒng)功能SFC統(tǒng)稱為邏輯塊。在STEP7編程軟件中,如果邏輯塊沒有錯誤,并且被正確地劃分為程序段,梯形圖、功能塊圖和語句表可以相互轉(zhuǎn)換。用語句表編寫的程序不一定能轉(zhuǎn)換為梯形圖,不能轉(zhuǎn)換的程序段仍然保留語句表的形式,但是并不一定表示該程序段有錯誤。
語句表可供習(xí)慣于用匯編語言編程的用戶使用,在運行時間和要求的存儲空間方面最優(yōu)。語句表的輸入方便快捷,還可以在每條指令的后面加上注釋,便于復(fù)雜程序的閱讀和理解。在設(shè)計通信、數(shù)學(xué)運算等高級應(yīng)用程序時建議使用語句表。
梯形圖與繼電器電路圖的表達方式極為相似,適合于熟悉繼電器電路的用戶使用。語句表程序較難閱讀,其中的邏輯關(guān)系很難一眼看出,在設(shè)計和閱讀有復(fù)雜的觸點電路的程序時最好使用梯形圖。功能塊圖適合于熟悉數(shù)字電路的用戶使用。$7-SCL編程語言適合于熟悉高級編程語言(例如Pascal或C語言)的用戶使用。
S7-Graph、HiGraph和CFC可供有技術(shù)背景,但是沒有PLC編程經(jīng)驗的用戶使用。S7-Graph 對順序控制過程的編程非常方便,HiGraph 適合于異步非順序過程的編程,CFC 適合于連續(xù)過程控制的編程。