<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子博途:移動數據的示例
    發布時間: 2023-09-19 15:23 更新時間: 2024-12-28 09:10

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

    通過 VARIANT 數據類型,也可以使用已創建的程序代碼并通過在塊調用中指定不同的源和目標區域來移動另一個生產班次的數據。


    步驟

    1. 使用 SCL 編程語言創建函數并將其命名為“FC_PartialArrayCopy”。

    2. 按如下方式聲明塊接口:


    3. 圖片

    4. 按如下方式創建 SCL 程序代碼:

      可以找到以下程序代碼作為模板。




    1. 圖片

      圖片

    2. 創建 PLC 數據類型“UDT_MyStruct”:


    3. 圖片

    4. 創建全局數據塊“DB_WithArrays”:


    1. 圖片

    2. 在組織塊(例如 OB1)中調用“FC_PartialArrayCopy”函數,并使用 DB_WithArrays 數據塊初始化參數。輸入指定的常量:



    3. 圖片

    4. 也可以使用第三個和第四個 ARRAY(數據類型為 REAL)來代替使用前兩個 ARRAY (數據類型為 UDT_MyStruct)。



    5. 圖片


    結果

    在程序周期中調用“FC_PartialArrayCopy”塊后,會將從第四個元素開始的兩個數據值立即從“DB_WithArrays”全局數據塊的第一個 ARRAY 復制到該數據塊的第二個 ARRAY 中。復制的數據值將插入到第二個 ARRAY 中(從第四個元素開始)。

    用于復制的 SCL 程序代碼:



    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;



    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595