應用領域 | 環保,地礦,能源,電子/電池,道路/軌道/船舶 |
---|
6ES7214-1HF40-0XB0
SIMATIC S7-1200,CPU 1214 FC, 緊湊型 CPU,DC/DC/繼電器, 機載 I/O: 14 個 24V DC 數字輸入;10 DO 繼電器 2A; 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲器/數據存儲器 125 KB
![]() |
參考價 | 面議 |
更新時間:2023-07-18 10:23:45瀏覽次數:833
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
西門子S7-1200,CPU 1214 FC, 緊湊型 CPU
![]() | 6ES7214-1HF40-0XB0 SIMATIC S7-1200,CPU 1214 FC, 緊湊型 CPU,DC/DC/繼電器, 機載 I/O: 14 個 24V DC 數字輸入;10 DO 繼電器 2A; 2 AI 0-10V DC, 電源:直流 20.4-28.8V DC, 程序存儲器/數據存儲器 125 KB |
SCL 表達式和運算
構造 SCL 表達式
SCL 表達式是用于計算值的公式。表達式由操作數和運算符(如 *、/、+ 或 -)組成。操作數可以是變量、常量或表達式。
表達式的計算按一定的順序進行,具體由以下因素決定:
表達式的結果可用于將值分配給程序使用的變量、用作由控制語句使用的條件、用作其它 SCL 指令的參數或者用于調用代碼塊。
列表: SCL 中的運算符
類型 | 操作 | 操作員 | 優先級 |
---|---|---|---|
圓括號 | (表達式) | ( , ) | 1 |
數學 | 乘方 | ** | 2 |
符號(一元加號) | + | 3 | |
符號(一元減號) | - | 3 | |
倍增 | * | 4 | |
除法 | / | 4 | |
取模 | MOD | 4 | |
加法 | + | 5 | |
減法 | - | 5 | |
比較 | 小于 | < | 6 |
小于或等于 | <= | 6 | |
大于 | > | 6 | |
大于或等于 | >= | 6 | |
等于 | = | 7 | |
不等于 | <> | 7 | |
位邏輯 | 取反(一元) | NOT | 3 |
AND 邏輯運算 | AND 或 & | 8 | |
異或邏輯運算 | XOR | 9 | |
OR 邏輯運算 | OR | 10 | |
賦值 | 賦值 | := | 11 |
作為一種高級編程語言,SCL 使用標準語句實現基本任務:
以下示例顯示了用法不同的各種表達式:
"C" := #A+#B; | 將兩個局部變量之和賦值給一個變量 |
"Data_block_1".Tag := #A; | 為數據塊變量賦值 |
IF #A > #B THEN "C" := #A; | IF-THEN語句的條件 |
"C" := SQRT (SQR (#A) + SQR (#B)); | SQRT指令的參數 |
算術運算符可以處理各種數值數據類型。結果的數據類型取決于有效操作數的數據類型。例如,使用 INT 操作數和 REAL 操作數的乘法運算會產生 REAL 結果值。
控制語句
控制語句是 SCL 表達式的一種類型,可用于執行以下任務:
SCL 控制語句包括 IF-THEN、CASE-OF、FOR-TO-DO、WHILE-DO、REPEAT-UNTIL、CONTINUE、GOTO 和 RETURN。
一條語句通常占一行代碼。可以在一行中輸入多條語句,或者可將一條語句斷開成多行代碼以使代碼易于閱讀。分隔符(如制表符、換行符和多余空格)在語法檢查期間會被忽略。END 語句可終止控制語句。
以下示例顯示的是 FOR-TO-DO 控制語句。(兩種形式的代碼在語法上均有效。)
FOR x := 0 TO max DO sum := sum + value(x); END_FOR;
FOR x := 0 TO max DO sum := sum + value(x); END_FOR;
還可以為控制語句提供標簽。用語句前的逗點將標簽隔開:
Label: <Statement>;
有關完整的 SCL 編程語言參考,請參見 STEP 7 在線幫助。
條件
條件是一個比較表達式或邏輯表達式,其結果為 BOOL 類型(值為 TRUE 或 FALSE)。以下示例顯示了各種類型的條件:
#Temperature > 50 #Counter <= 100 #CHAR1 < 'S' | 關系表達式 |
(#Alpha <> 12) AND NOT #Beta | 比較和邏輯表達式 |
5 + #Alpha | 算術表達式 |
條件可以使用算術表達式:
從 SCL 程序中調用其它代碼塊
要調用用戶程序中的其它代碼塊,只需使用參數輸入 FB 或 FC 的名稱(或地址)。對于 FB,還必須提供 FB 待調用的背景數據塊。
<DB 名稱> (參數列表) | 作為單個背景調用 |
<#背景名稱> (參數列表) | 作為多重背景調用 |
"MyDB"(MyInput:=10, MyInOut:="Tag1");
<FC 名稱> (參數列表) | 標準調用 |
<操作數>:=<FC 名稱> (參數列表) | 在表達式中調用 |
"MyFC"(MyInput:=10, MyInOut:="Tag1");
還可將塊從導航樹中拖動到 SCL 程序編輯器中,然后完成參數分配。
將塊注釋添加到 SCL 代碼
可通過在 (* 和 *) 之間加入注釋文本,將塊注釋添加到 SCL 代碼中。可在 (* 和 *) 之間添加任意數目的注釋行。SCL 程序塊可能包括多個塊注釋。為方便編程,SCL 編輯器包括一個塊注釋按鈕和通用控制語句:
尋址
與 LAD 和 FBD 一樣,SCL 允許用戶在用戶程序中使用變量地址(符號尋址)或地址。SCL 還允許使用變量作為數組索引。
尋址 | |
%I0.0 | 在地址之前加上“%”符號。沒有“%”,STEP 7 將在編譯時生成未定義的變量錯誤。 |
%MB100 |
符號尋址 | |
"PLC_Tag_1" | PLC 變量表中的變量 |
"Data_block_1".Tag_1 | 數據塊中的變量 |
"Data_block_1".MyArray[#i] | 數據塊數組中的數組元素 |
西門子S7-1200,CPU 1214 FC, 緊湊型 CPU