0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

移動數(shù)據(jù)的編程示例

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-08-23 10:10 ? 次閱讀

編程示例

在此編程示例中,將移動在生產(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”。
按如下方式聲明塊接口
8a215e94-40e0-11ee-a2ef-92fbcf53809c.png
按如下方式創(chuàng)建 SCL 程序代碼:
可以找到以下程序代碼作為模板。
8a3878ea-40e0-11ee-a2ef-92fbcf53809c.png
8a3878ea-40e0-11ee-a2ef-92fbcf53809c.png
創(chuàng)建 PLC 數(shù)據(jù)類型“UDT_MyStruct”:
8a60df7e-40e0-11ee-a2ef-92fbcf53809c.png
創(chuàng)建全局數(shù)據(jù)塊“DB_WithArrays”:
8a74c6c4-40e0-11ee-a2ef-92fbcf53809c.png
在組織塊(例如 OB1)中調(diào)用“FC_PartialArrayCopy”函數(shù),并使用 DB_WithArrays 數(shù)據(jù)塊初始化參數(shù)。輸入指定的常量:
8a8f9cec-40e0-11ee-a2ef-92fbcf53809c.png
也可以使用第三個和第四個 ARRAY(數(shù)據(jù)類型為 REAL)來代替使用前兩個 ARRAY (數(shù)據(jù)類型為 UDT_MyStruct)。
8aab3696-40e0-11ee-a2ef-92fbcf53809c.png

結果

在程序周期中調(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

審核編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    88

    文章

    3521

    瀏覽量

    93263
  • 移動數(shù)據(jù)

    關注

    0

    文章

    41

    瀏覽量

    10521
  • Array
    +關注

    關注

    96

    文章

    18

    瀏覽量

    17289
  • 程序代碼
    +關注

    關注

    4

    文章

    42

    瀏覽量

    15399

原文標題:西門子博途:移動數(shù)據(jù)的示例

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Java中的Reactive編程示例

    相信響應式編程經(jīng)常會在各種地方被提到。本篇就為大家從函數(shù)式編程一直到Spring WeFlux做一次簡單的講解,并給出一些示例,希望大家可以更好的理解響應式編程,可以在合適的時機運用到
    的頭像 發(fā)表于 10-08 16:06 ?832次閱讀
    Java中的Reactive<b class='flag-5'>編程</b><b class='flag-5'>示例</b>

    樹形控件編程示例

    給大家分享一個樹形控件編程示例
    發(fā)表于 08-22 19:53

    GPIB編程示例

    課程推薦:http://z.elecfans.com/258.html?elecfans_trackid=bbs_toptxtGPIB編程示例,用來熟悉GPIB的使用
    發(fā)表于 10-13 14:44

    SST單片機IAP編程示例(C語言)

    SST 單片機IAP 編程示例(C 語言),好東西,喜歡的朋友可以下載來學習。
    發(fā)表于 01-18 17:04 ?16次下載

    形態(tài)學圖像處理綜合示例_《OpenCV3編程入門》書本配套源代碼

    《OpenCV3編程入門》書本配套源代碼:形態(tài)學圖像處理綜合示例
    發(fā)表于 06-06 15:52 ?8次下載

    圖像濾波綜合示例_《OpenCV3編程入門》書本配套源代碼

    《OpenCV3編程入門》書本配套源代碼:圖像濾波綜合示例
    發(fā)表于 06-06 15:52 ?6次下載

    OpenCV3編程入門-源碼例程全集-pyrUp函數(shù)用法示例

    OpenCV3編程入門-源碼例程全集-pyrUp函數(shù)用法示例
    發(fā)表于 09-18 16:38 ?0次下載

    第6章 部件工作原理與編程示例

    第6章 部件工作原理與編程示例
    發(fā)表于 10-27 09:44 ?3次下載
    第6章 部件工作原理與<b class='flag-5'>編程</b><b class='flag-5'>示例</b>

    ESP8266 RTOS SDK的編程示例手冊資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是ESP8266 RTOS SDK的編程示例手冊資料免費下載包括了:第 1 章 前言 介紹 ESP8266EX。,第 2 章 概述 介紹 RTOS SDK 和編程注意事項
    發(fā)表于 03-19 08:00 ?58次下載
    ESP8266 RTOS SDK的<b class='flag-5'>編程</b><b class='flag-5'>示例</b>手冊資料免費下載

    AN-1108: AD9832/AD9835編程示例

    AN-1108: AD9832/AD9835編程示例
    發(fā)表于 03-19 11:06 ?12次下載
    AN-1108: AD9832/AD9835<b class='flag-5'>編程</b><b class='flag-5'>示例</b>

    Megawin 8051 MCU的IAP(應用程序編程示例代碼

    Megawin 8051 MCU的IAP(應用程序編程示例代碼分享
    發(fā)表于 07-01 10:36 ?3次下載
    Megawin 8051 MCU的IAP(應用程序<b class='flag-5'>編程</b>)<b class='flag-5'>示例</b>代碼

    運動編程示例:定時按壓操作

    運動編程示例:定時按壓操作
    的頭像 發(fā)表于 03-14 14:42 ?715次閱讀
    運動<b class='flag-5'>編程</b><b class='flag-5'>示例</b>:定時按壓操作

    運動編程示例:重復運動的循環(huán)功能

    運動編程示例:重復運動的循環(huán)功能
    的頭像 發(fā)表于 03-13 16:59 ?1068次閱讀
    運動<b class='flag-5'>編程</b><b class='flag-5'>示例</b>:重復運動的循環(huán)功能

    TCON、TDISCON、TSEND和TRCV的編程示例

    在以下示例中,將在 S7-1500 系列的兩個 CPU 間創(chuàng)建一個編程連接,并將數(shù)據(jù)記錄從 CPU 1 發(fā)送到 CPU 2 中。
    的頭像 發(fā)表于 07-08 17:16 ?6750次閱讀
    TCON、TDISCON、TSEND和TRCV的<b class='flag-5'>編程</b><b class='flag-5'>示例</b>

    使用RDREC讀取診斷數(shù)據(jù)記錄的編程示例

    在以下示例中,可通過 RDREC 讀取 IO 設備的診斷數(shù)據(jù)記錄“16#E00A”。觸發(fā)斷路時,系統(tǒng)將錯誤信息輸出為一條診斷數(shù)據(jù)記錄。
    的頭像 發(fā)表于 07-24 15:59 ?2875次閱讀
    使用RDREC讀取診斷<b class='flag-5'>數(shù)據(jù)</b>記錄的<b class='flag-5'>編程</b><b class='flag-5'>示例</b>