編程示例
在此編程示例中,將移動在生產(chǎn)班次期間為示例收集的數(shù)據(jù)值以作進一步處理。收集的數(shù)據(jù)放在 ARRAY 中。通過“MOVE_BLK_VARIANT:移動塊”(Move block) 指令,可以動態(tài)或以類型安全方式移動整個 ARRAY 或個別 ARRAY 元素。可以為源和目標 ARRAY 自由選擇 ARRAY 限值,這些限值不必匹配。但是,要移動的數(shù)據(jù)值的數(shù)據(jù)類型必須匹配。該指令在所有編程語言中都可用。
通過 VARIANT 數(shù)據(jù)類型,也可以使用已創(chuàng)建的程序代碼并通過在塊調(diào)用中指定不同的源和目標區(qū)域來移動另一個生產(chǎn)班次的數(shù)據(jù)。
步驟
使用 SCL 編程語言創(chuàng)建函數(shù)并將其命名為“FC_PartialArrayCopy”。 按如下方式聲明塊接口: 按如下方式創(chuàng)建 SCL 程序代碼: 可以找到以下程序代碼作為模板。 創(chuàng)建 PLC 數(shù)據(jù)類型“UDT_MyStruct”: 創(chuàng)建全局數(shù)據(jù)塊“DB_WithArrays”: 在組織塊(例如 OB1)中調(diào)用“FC_PartialArrayCopy”函數(shù),并使用 DB_WithArrays 數(shù)據(jù)塊初始化參數(shù)。輸入指定的常量: 也可以使用第三個和第四個 ARRAY(數(shù)據(jù)類型為 REAL)來代替使用前兩個 ARRAY (數(shù)據(jù)類型為 UDT_MyStruct)。 |
結(jié)果
在程序周期中調(diào)用“FC_PartialArrayCopy”塊后,會將從第四個元素開始的兩個數(shù)據(jù)值立即從“DB_WithArrays”全局數(shù)據(jù)塊的第一個 ARRAY 復制到該數(shù)據(jù)塊的第二個 ARRAY 中。復制的數(shù)據(jù)值將插入到第二個 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 |
---|
審核編輯:彭菁
-
編程
+關(guān)注
關(guān)注
88文章
3614瀏覽量
93685 -
移動數(shù)據(jù)
+關(guān)注
關(guān)注
0文章
42瀏覽量
10558 -
Array
+關(guān)注
關(guān)注
99文章
18瀏覽量
17821 -
程序代碼
+關(guān)注
關(guān)注
4文章
42瀏覽量
15432
原文標題:西門子博途:移動數(shù)據(jù)的示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論