選擇編程語言:
為編輯器設(shè)置編程語言
當(dāng)用戶要生成某程序塊或源文件時,應(yīng)在對象的屬性中設(shè)置用于生成該塊或源文件的編程語言和編輯器類型。該輸入確定當(dāng)該程序塊或源文件打開時,啟動的是哪種編輯器。
啟動編輯器
在SIMATIC 管理器中,用雙擊相應(yīng)的對象(塊、源文件,等),或選擇菜單命令Edit > Open Object,或在工具條中選擇相應(yīng)的按鈕,來啟動相應(yīng)的語言的編輯器。
在表中列出的編程語言都可用于生成S7程序。在標(biāo)準(zhǔn)的STEP 7軟件包中包括LAD 、FBD 、
STL 。也可購買做為可選軟件包的其它的編程語言。
你可以選擇一系列不同的編程方法(梯形邏輯、功能塊圖、語句表、高級語言、順序控制
或狀態(tài)圖形)。還可以選擇是用文本方式編程,還是用圖形方式編程。
如果程序塊中沒有錯誤,可將其在梯形邏輯、功能塊圖和語句表之間進(jìn)行切換。如果有部分程序不能切換,則用語句表顯示。
可用源文件的語句表生成各程序塊,也可將各程序塊反編譯到源文件中。
1.梯形邏輯編程語言(LAD)
圖形編程語言梯形邏輯是基于電路圖表示法的基礎(chǔ)之上,在程序段中將電路圖中的元素如常開觸點(diǎn)和常閉觸點(diǎn)組合而成。一個邏輯塊的程序部分由一段或多段程序組成。
梯形邏輯程序段舉例
梯形邏輯編程語言包含在STEP 7標(biāo)準(zhǔn)軟件包中。梯形邏輯程序是用增量編輯器生成。
2.功能塊圖編程語言(FBD )
編程語言功能塊圖(FBD )使用類似于布爾代數(shù)的圖形邏輯符號來表示控制邏輯。一些復(fù)雜功能諸如算術(shù)功能等,可直接用邏輯框表示。
FBD 編程語言包含在STEP 7標(biāo)準(zhǔn)軟件包中。
在FBD 方法中用增量編輯器生成程序
3.語句表編程語言(STL )
編程語言的另一種表示法是語句表,它類似于機(jī)器碼的一種文本語言。每條語句對應(yīng)CPU處理程序中的一步。多條語句可組成一程序段。
語句表編程語言類型包含在STEP 7標(biāo)準(zhǔn)軟件包中。用這種語言,你可以用增量編輯器編輯S7塊,在源代碼編輯器中可以創(chuàng)建和編譯STL 程序源文件,以生成程序塊。
4.S7 SCL 編程語言
編程語言SCL (結(jié)構(gòu)化控制語言)是一個可選軟件包,它是按照國際電工技術(shù)委員會IEC1131-3 標(biāo)準(zhǔn)定義的高級的文本語言。它類似與PASCAL 類型語言,在編寫諸如回路和條件分支時,用其高級語言指令要比STL 容易。因此,SCL 適合于公式計(jì)算,復(fù)雜的最優(yōu)化算法或管理大量的數(shù)據(jù)。
S7 SCL程序是在源代碼編輯器中編寫的。
FUNCTION_BLOCK FB20
VAR_INPUT
ENDVAL : INT ;
END_VAR
VAR_IN_OUT
IQ1 : REAL;
END_VAR
VAR
INDEX : INT;
END_VAR
BEGIN
CONTROL :=FALSE ;
FOR INDEX:= 1 TO ENDVALUE DO
IQ1 := IQ1 * 2;
IF IQ1 >10000 THEN
CONTROL = TRUE
END_IF
END_FOR;
END_FUNCTION_BLOCK
5.S7-GRAPH 編程語言(順序控制)
圖形編程語言 S7-GRAPH屬于可選軟件包,適用于順序控制的編程。它包括生成一系列順序步,確定每一步的內(nèi)容,以及步與步之間的轉(zhuǎn)換條件。編寫每一步的程序要用特殊的編程語言(類似于語句表),轉(zhuǎn)換條件是在梯形邏輯編程器中輸入(梯形邏輯語言的流線型
版本)。S7-GRAPH 表達(dá)復(fù)雜的順序控制非常清晰,用于編程及故障診斷更為有效。
程序塊的生成
用 S7-GRAPH 編輯器,將生成含有順控器的功能塊程序。相應(yīng)的背景數(shù)據(jù)塊中含有順控器的數(shù)據(jù),例如:FB的參數(shù),順序步和轉(zhuǎn)換條件。用S7-GRAPH 編輯器能自動生成背景數(shù)據(jù)塊。
源文件
通過S7-GRAPH 生成的功能塊可以產(chǎn)生一個文本源文件(圖形源文件),該源文件可由操作員面板(OP)或操作員接口文本顯示(TD)編譯顯示成順控器。
S7 HiGraph 編程語言(狀態(tài)圖形)
圖形編程語言 S7 HiGraph 屬于可選軟件包,可以將程序中的各塊做為狀態(tài)圖形編程。這種方法將你的項(xiàng)目分成不同的功能單元,每個單元有不同的狀態(tài)。不同狀態(tài)之間的切換要定義轉(zhuǎn)換條件。用類似于語句表的放大型語言描述賦給狀態(tài)的功能以及狀態(tài)之間轉(zhuǎn)換的條件。每個功能單元都用一個圖形來描述該單元的特性。整個項(xiàng)目的各個圖形組合起來為圖形組。各功能單元的同步信息可在圖形之間交換。
各功能單元的狀態(tài)條件的清晰表示,使得系統(tǒng)編程成為可能,故障診斷簡單易行。與S7 Graph不同,在 S7 HiGraph 中任何時候只能一個狀態(tài)(在S7 Graph中:“步”)是激活的。下列圖形為功能單元的圖形是怎樣生成的(舉例)。
圖形組存在HiGraph源文件中 S7 program 之下的“Source”文件夾中。該源文件可編譯成用戶程序中的S7程序塊。
句法和形式參數(shù)在圖形最后輸入時檢查(當(dāng)工作窗口關(guān)閉時)。地址和符號在源文件編譯時檢查。
6.S7 CFC 編程語言
可選軟件包CFC (Continuous Function Chart,連續(xù)功能圖),是一種用圖形的方法連接復(fù)雜功能的編程語言。
編程語言S7 CFC用于連接已存在的各種功能。有許多標(biāo)準(zhǔn)功能不需要用戶編程,而是可以使用含有標(biāo)準(zhǔn)塊(例如:邏輯、算術(shù)、控制和數(shù)據(jù)處理等功能)的程序庫。使用CFC 不需要用戶掌握詳細(xì)的編程知識以及有關(guān)可編程序控制方面的專門知識。只需要具有行業(yè)所必需的工藝技術(shù)方面的知識就可以。
用戶生成的程序塊可按自己的意愿進(jìn)行連接,連接的方法分不同的情況,如果用SIMATIC S7,可用S7編程語言中的任一種,如果是用于SIMATIC M7 則用C/C++ 編程語言。程序是按CFC 圖表生成并存貯。這些程序存在S7 program下面的“Charts ”文件夾中。這些圖表可編譯成用戶程序中的S7程序塊。
文章出處:【微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
plc
+關(guān)注
關(guān)注
5007文章
13114瀏覽量
461484 -
西門子
+關(guān)注
關(guān)注
93文章
2997瀏覽量
115502 -
編程
+關(guān)注
關(guān)注
88文章
3566瀏覽量
93539
原文標(biāo)題:西門子PLC 的選擇編程語言
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論