編程示例
在此編程示例中,將移動在生產班次期間為示例收集的數據值以作進一步處理。收集的數據放在 ARRAY 中。通過“MOVE_BLK_VARIANT:移動塊”(Move block) 指令,可以動態或以類型安全方式移動整個 ARRAY 或個別 ARRAY 元素。可以為源和目標 ARRAY 自由選擇 ARRAY 限值,這些限值不必匹配。但是,要移動的數據值的數據類型必須匹配。該指令在所有編程語言中都可用。
通過 VARIANT 數據類型,也可以使用已創建的程序代碼并通過在塊調用中指定不同的源和目標區域來移動另一個生產班次的數據。
步驟
使用 SCL 編程語言創建函數并將其命名為“FC_PartialArrayCopy”。 按如下方式聲明塊接口: 按如下方式創建 SCL 程序代碼: 可以找到以下程序代碼作為模板。 創建 PLC 數據類型“UDT_MyStruct”: 創建全局數據塊“DB_WithArrays”: 在組織塊(例如 OB1)中調用“FC_PartialArrayCopy”函數,并使用 DB_WithArrays 數據塊初始化參數。輸入指定的常量: 也可以使用第三個和第四個 ARRAY(數據類型為 REAL)來代替使用前兩個 ARRAY (數據類型為 UDT_MyStruct)。 |
結果
在程序周期中調用“FC_PartialArrayCopy”塊后,會將從第四個元素開始的兩個數據值立即從“DB_WithArrays”全局數據塊的第一個 ARRAY 復制到該數據塊的第二個 ARRAY 中。復制的數據值將插入到第二個 ARRAY 中(從第四個元素開始)。
用于復制的 SCL 程序代碼:
IF IS_ARRAY(#SourceArray) AND TypeOfElements(#SourceArray) = TypeOfElements(#DestinationArray) THEN |
#Error := MOVE_BLK_VARIANT(COUNT := #Count, SRC := #SourceArray, SRC_INDEX := #SourceIndex, |
DEST => #DestinationArray, DEST_INDEX := #DestinationIndex); |
END_IF; |
#FC_PartialArrayCopy := #Error; |
SCL |
---|
審核編輯:彭菁
-
編程
+關注
關注
88文章
3637瀏覽量
93980 -
移動數據
+關注
關注
0文章
42瀏覽量
10600 -
Array
+關注
關注
99文章
18瀏覽量
18050 -
程序代碼
+關注
關注
4文章
42瀏覽量
15466
原文標題:西門子博途:移動數據的示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論