編程示例
在此編程示例中,將移動在生產班次期間為示例收集的數據值以作進一步處理。收集的數據放在 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 |
|---|
審核編輯:彭菁
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
編程
+關注
關注
90文章
3718瀏覽量
97315 -
移動數據
+關注
關注
0文章
42瀏覽量
11055 -
Array
+關注
關注
103文章
19瀏覽量
19847 -
程序代碼
+關注
關注
4文章
43瀏覽量
15821
原文標題:西門子博途:移動數據的示例
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
Java中的Reactive編程示例
相信響應式編程經常會在各種地方被提到。本篇就為大家從函數式編程一直到Spring WeFlux做一次簡單的講解,并給出一些示例,希望大家可以更好的理解響應式編程,可以在合適的時機運用到
GPIB編程示例
課程推薦:http://z.elecfans.com/258.html?elecfans_trackid=bbs_toptxtGPIB編程示例,用來熟悉GPIB的使用
發表于 10-13 14:44
ESP8266 RTOS SDK的編程示例手冊資料免費下載
本文檔的主要內容詳細介紹的是ESP8266 RTOS SDK的編程示例手冊資料免費下載包括了:第 1 章 前言 介紹 ESP8266EX。,第 2 章 概述 介紹 RTOS SDK 和編程注意事項
發表于 03-19 08:00
?64次下載
移動數據的編程示例






評論