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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-08-23 10:10 ? 次閱讀

編程示例

在此編程示例中,將移動(dòng)在生產(chǎn)班次期間為示例收集的數(shù)據(jù)值以作進(jìn)一步處理。收集的數(shù)據(jù)放在 ARRAY 中。通過“MOVE_BLK_VARIANT:移動(dòng)塊”(Move block) 指令,可以動(dòng)態(tài)或以類型安全方式移動(dòng)整個(gè) ARRAY 或個(gè)別 ARRAY 元素。可以為源和目標(biāo) ARRAY 自由選擇 ARRAY 限值,這些限值不必匹配。但是,要移動(dòng)的數(shù)據(jù)值的數(shù)據(jù)類型必須匹配。該指令在所有編程語言中都可用。

通過 VARIANT 數(shù)據(jù)類型,也可以使用已創(chuàng)建的程序代碼并通過在塊調(diào)用中指定不同的源和目標(biāo)區(qū)域來移動(dòng)另一個(gè)生產(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)建全局?jǐn)?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
也可以使用第三個(gè)和第四個(gè) ARRAY(數(shù)據(jù)類型為 REAL)來代替使用前兩個(gè) ARRAY (數(shù)據(jù)類型為 UDT_MyStruct)。
8aab3696-40e0-11ee-a2ef-92fbcf53809c.png

結(jié)果

在程序周期中調(diào)用“FC_PartialArrayCopy”塊后,會(huì)將從第四個(gè)元素開始的兩個(gè)數(shù)據(jù)值立即從“DB_WithArrays”全局?jǐn)?shù)據(jù)塊的第一個(gè) ARRAY 復(fù)制到該數(shù)據(jù)塊的第二個(gè) ARRAY 中。復(fù)制的數(shù)據(jù)值將插入到第二個(gè) ARRAY 中(從第四個(gè)元素開始)。

用于復(fù)制的 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)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3543

    瀏覽量

    93468
  • 移動(dòng)數(shù)據(jù)

    關(guān)注

    0

    文章

    41

    瀏覽量

    10539
  • Array
    +關(guān)注

    關(guān)注

    97

    文章

    18

    瀏覽量

    17458
  • 程序代碼
    +關(guān)注

    關(guān)注

    4

    文章

    42

    瀏覽量

    15416

原文標(biāo)題:西門子博途:移動(dòng)數(shù)據(jù)的示例

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Java中的Reactive編程示例

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

    樹形控件編程示例

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

    GPIB編程示例

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

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

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

    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的編程示例手冊(cè)資料免費(fèi)下載

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

    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(應(yīng)用程序編程示例代碼

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

    運(yùn)動(dòng)編程示例:定時(shí)按壓操作

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

    運(yùn)動(dòng)編程示例:重復(fù)運(yùn)動(dòng)的循環(huán)功能

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

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

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

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

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

    掃描模塊的編程示例和調(diào)試策略

    電子發(fā)燒友網(wǎng)站提供《掃描模塊的編程示例和調(diào)試策略.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 09:38 ?0次下載
    掃描模塊的<b class='flag-5'>編程</b><b class='flag-5'>示例</b>和調(diào)試策略

    TMS320x28xx eCAN的編程示例

    電子發(fā)燒友網(wǎng)站提供《TMS320x28xx eCAN的編程示例.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 11:51 ?0次下載
    TMS320x28xx eCAN的<b class='flag-5'>編程</b><b class='flag-5'>示例</b>