簡介
接口中包含有塊所用局部變量和局部常量的聲明。這些變量可分為以下兩組:
在程序中調用時構成塊接口的塊參數。
用于存儲中間結果的局部數據。
變量聲明可用于定義程序中塊的調用接口,以及塊中需使用的變量/常量名稱和數據類型。
函數塊接口中還定義了分配給函數塊的背景結構。
塊參數
下表列出了塊參數的類型:
| 類型 | 區域 | 功能 | 可用于 |
|---|---|---|---|
| 輸入參數 | Input | 其值由塊讀取的參數。 | 函數、函數塊和某些類型的組織塊 |
| 輸出參數 | Output | 其值由塊寫入的參數。 | 函數和函數塊 |
| 輸入/輸出參數 | InOut | 調用時由塊讀取其值,執行后又由塊寫入其值的參數。 | 函數和函數塊 |
| 返回值 | 返回 | 返回到調用塊的值。 | 功能 |
根據打開塊的類型不同,可能顯示其它的區域。
局部數據
下表列出了局部數據的類型:
| 類型 | 區域 | 功能 | 可用于 |
|---|---|---|---|
| 臨時局部數據 | Temp | 用于存儲臨時中間結果的變量。只保留一個周期的臨時局部數據。如果使用臨時局部數據,則必須確保在要讀取這些值的周期內寫入這些值。否則,這些值將為隨機數。 |
函數、函數塊和組織塊 注: 臨時局部數據不顯示在背景數據塊中。 |
| 靜態局部數據 | Static | 用于在背景數據塊中存儲靜態中間結果的變量。靜態數據會一直保留到被覆蓋,這可能在幾個周期之后。在此代碼塊中作為多重實例調用的塊名稱,也將存儲在靜態局部數據中。 | 函數塊 |
| 常量 | 常量 | 在塊中使用且帶有聲明符號名的常量。 |
函數、函數塊和組織塊 注: 局部常量不顯示在背景數據塊中。 |
塊接口中的有效數據類型
S7-1200 中塊接口的有效數據類型
下表列出了接口各區域可分配的參數數據類型。
| 區域 |
標準 數據類型 |
ARRAY STRUCT STRING / WSTRING DT |
ARRAY [*] | VOID | VARIANT |
|---|---|---|---|---|---|
| 組織塊 | |||||
| Temp | √ | √ | - | - | √ |
| 常量 | √ | √ (1) (2) | - | - | - |
| 函數塊 | |||||
| Input | √ | √ | - | - | √ |
| Output | √ | √ | - | - | - |
| InOut | √ | √ (1) | √ (4) | - | √ |
| Static | √ | √ | - | - | - |
| Temp | √ | √ | - | - | √ |
| 常量 | √ | √ (1) (2) | - | - | - |
| 函數 | |||||
| Input | √ | √ (1) | √ (4) | - | √ |
| Output | √ | √ (1) | √ (4) | - | √ |
| InOut | √ | √ (1) | √ (4) | - | √ |
| Temp | √ | √ | - | - | √ |
| 返回 | √ | √ (3) | - | √ | - |
| 常量 | √ | √ (1) (2) | - | - | - |
|
(1) 不能在這些區域中聲明 STRING 和 WSTRING 的長度。STRING 標準長度通常為 254;WSTRING 標準長度為 16832。不允許聲明 MyString[3] 格式。在這些區域中,僅允許在具有優化訪問權的塊中聲明 WSTRING。 (2) 不允許使用數據類型為 ARRAY 或 STRUCT 的常量。 (3) WSTRING 數據類型的函數值不得超過 1022 個字符。 (4) 固件版本 V4.2 及更高版本中,ARRAY[*] 可用于具有優化訪問的塊中。 |
|||||
S7-1500 中塊接口的有效數據類型
下表列出了接口各區域可分配的參數數據類型。
| 區域 |
標準 數據類型 |
ARRAY STRUCT STRING / WSTRING DT |
ARRAY[*] | 參數類型 | VOID | DB_ANY | POINTER | ANY | VARIANT | REF_TO |
|---|---|---|---|---|---|---|---|---|---|---|
| 組織塊 | ||||||||||
| Temp | √ | √ | - | - (4) | - | √ | - | √ (3) | √ | √ |
| 常量 | √ | √ (1) (5) | - | - | - | - | - | - | - | - |
| 函數塊 | ||||||||||
| Input | √ | √ | - | √ | - | √ | √ | √ | √ | - |
| Output | √ | √ | - | - | - | √ | - | - | - | - |
| InOut | √ | √ (1) | √(7)(8) | - (4) | - | √ | √ | √ | √ | - |
| Static | √ | √ | - | - | - | √ | - | - | - | - |
| Temp | √ | √ | - | - (4) | - | √ | - | √ (3) | √ | √ |
| 常量 | √ | √ (1)(5) | - | - | - | - | - | - | - | - |
| 函數 | ||||||||||
| Input | √ | √ (1) | √ (7) | √ | - | √ | √ | √ | √ | √ |
| Output | √ | √ (1) | √ (7) | - | - | √ | √ | √ | √ | √ |
| InOut | √ | √ (1) | √ (7) | - (4) | - | √ | √ | √ | √ | - |
| Temp | √ | √ | - | - (4) | - | √ | - | √ (3) | √ | √ |
| 返回 | √ | √ (6) | - | - | √ | √ | √ | √(2) | - | √ |
| 常量 | √ | √ (1) (5) | - | - | - | - | - | - | - | - |
|
(1) 不能在這些區域中聲明 STRING 和 WSTRING 的長度。STRING 標準長度通常為 254;WSTRING 標準長度為 16832。不允許聲明 MyString[3] 格式。在這些區域中,僅允許在具有優化訪問權的塊中聲明 WSTRING。 (2) 在 SCL 中,ANY 不允許作為函數值。 (3) ANY 只能用于“Temp”區域中的標準訪問塊。 (4) “INSTANCE”參數類型是“TEMP”和“InOut”區域中唯一允許出現的例外。 (5) 不允許使用數據類型為 ARRAY 或 STRUCT 的常量。 (6) WSTRING 數據類型的函數值不得超過 1022 個字符。 (7) 固件版本 V2.0 及更高版本中,ARRAY[*] 可用于具有優化訪問的塊中。 (8) 僅當未設置屬性“在 IDB 中設置”(Set in IDB) 時,ARRAY[*] 才可用。 |
||||||||||
塊接口的布局
塊接口的布局
下圖顯示了塊接口的結構。具體的列數和區域取決于塊類型。

各列的含義
下表列出了各列的含義。可根據需要顯示或隱藏各列。顯示的列數取決于 CPU 系列和打開對象的類型。
| 列 | 說明 |
|---|---|
| 單擊該符號,可將元素拖放到程序中作為操作數。 | |
| 名稱 | 元素的名稱。 |
| 數據類型 | 元素的數據類型。 |
| 偏移 |
塊中變量的相對地址。僅標準訪問的塊中,才顯示該列。 注: SIMATIC 系統庫中的許多指令都具有“優化塊訪問”屬性,因此不占用任何固定存儲器地址。即使將這些指令用作標準訪問塊中的多重實例,這些指令也不顯示偏移量。 |
| 默認值 |
代碼塊接口中可預分配給特定變量的值,或局部常量的值。 對于變量,可選擇是否指定默認值。如果未指定任何值,則使用指定數據類型的預定義值。例如,BOOL 類型的預定義值為“false”。 在相應的背景數據塊中,將變量的默認值應用為初始值。在背景數據塊中,可使用實例特定的起始值對這些值進行替換。 而在塊接口中常量通常為聲明的默認值。這些常量不顯示在背景數據塊中,也無法在此指定實例特定的值。 |
| 保持性 |
將變量標記為具有保持性。 即使在關斷電源后,保持性變量的值也將保留不變。 該列僅在具有優化訪問特性的函數塊接口中顯示。 |
| 在 HMI 工程組態中可見 | 指示 HMI 選擇列表中是否默認顯示變量。 |
| 從 HMI/OPC UA 可訪問 | 指示在運行過程中,HMI/OPC UA 是否可訪問該變量。 |
| 從 HMI/OPC UA 可寫 | 指示在運行過程中,是否可從 HMI/OPC UA 寫入變量。 |
| 設定值 |
將變量標記為設定值。設定值是指調試過程中可能需要微調的值。 該列僅適用于函數塊的接口中。 |
| 監控 | 指示是否已為該變量的過程診斷創建有監視。 |
| 注釋 | 說明元素的注釋信息。 |
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
接口
+關注
關注
33文章
9520瀏覽量
157022 -
函數
+關注
關注
3文章
4417瀏覽量
67504 -
數據類型
+關注
關注
0文章
237瀏覽量
14185 -
Inout
+關注
關注
0文章
4瀏覽量
6296 -
S7-1500
+關注
關注
3文章
302瀏覽量
7345
原文標題:博途:塊接口概述
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
數據類型不一樣和接口 怎么解決
要怎么解決接口和產生的數據類型不一樣的問題,然后利用MYRIO的模擬輸出通道接到示波器里面為什么沒有波形啊,數據類型應該是不一樣,要怎么解決這個問題呢?
發表于 05-09 01:00
vhdl數據類型
VHDL中的標識符可以是常數、變量、信號、端口、子程序或參數的名字。VHDL中的數據類型可以分成四大類: 標量型(SCALAR TYPE):屬單元素的最基本的數據類型,通常用于描述一個單值數據對象
發表于 03-30 15:59
?11次下載
編程語言SCL中ANY數據類型
ANY數據類型 在編程語言 SCL 和 STL 中,如果在塊參數中設定了一個 ANY 指針,則任意類型的存儲器都可以在塊調用時傳遞。 但是,ANY 指針不能存儲有關存儲器結構的任何信息
Struct結構數據類型
Struct類型是一種由多個不同數據類型元素組成的數據結構,其元素可以是基本數據類型,也可以是Struct、數組等復雜數據類型以及PLC
結構數據類型(Struct)及應用案例
Struct數據類型使用非常靈活,隨時可以使用,但是相對于PLC數據類型 (UDT) 有以下缺點,所以建議需要使用Struct類型時,可以使用PLC數據類型(UDT)代替。
什么是數據類型轉換
常用的3種數據類型:1、Python數據類型第一種:字符串(str)。
2、Python數據類型第二種:整數(int)。
3、Python數據類型第三種:浮點數(float)。
定義數據類型
在運算之前我們必須首先定義出數據類型,定義出腳本支持的數據類型,這是運算的基礎。
這一小節我們將定義出數據類型,在這里我們暫時定義四個數據類型:
基本數據類型分享
基本數據類型 基本數據類型:包括位、位序列、整數、浮點數、日期時間。此外字符也屬于基本數據類型,請參見文檔String與WString。 1.位和位序列 2.整數數據類型 3.浮點型實
ARRAY 數據類型的變量
要求 全局數據塊已打開。 操作步驟 要聲明一個 ARRAY 數據類型的變量,請按以下步驟操作: 在“名稱”(Name) 列中,輸入變量的名稱。 在“數據類型”列中輸入“Array”
PLC 數據類型 (UDT) 的基本知識
可直接使用關鍵字 STRUCT 聲明為一個結構。因此,嵌套深度限制為 8 級。 PLC 數據類型 (UDT) 可在程序代碼中統一更改和重復使用。系統自動更新該數據類型的所用使用位置。 PLC 數據類型的優勢: 通過
Redis的數據類型有哪些
Redis的數據類型有哪些?有五種常用數據類型:String、Hash、Set、List、SortedSet。以及三種特殊的數據類型:Bitmap、HyperLogLog、Geospatial
plc數據類型怎么理解和應用
PLC(可編程邏輯控制器)是一種工業自動化設備,用于控制機械和工業過程。在PLC編程中,數據類型是非常重要的概念,因為它決定了程序中數據的存儲和處理方式。正確理解和應用PLC數據類型是編寫有效
塊接口中的有效數據類型和布局
評論