0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

移动数据的编程示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-08-23 10:10 次阅读

编程示例

在此编程示例中,将移动在生产班次期间为示例收集的数据值以作进一步处理。收集的数据放在 ARRAY 中。通过“MOVE_BLK_VARIANT:移动块”(Move block) 指令,可以动态或以类型安全方式移动整个 ARRAY 或个别 ARRAY 元素。可以为源和目标 ARRAY 自由选择 ARRAY 限值,这些限值不必匹配。但是,要移动的数据值的数据类型必须匹配。该指令在所有编程语言中都可用。

通过 VARIANT 数据类型,也可以使用已创建的程序代码并通过在块调用中指定不同的源和目标区域来移动另一个生产班次的数据。

步骤

使用 SCL 编程语言创建函数并将其命名为“FC_PartialArrayCopy”。
按如下方式声明块接口
8a215e94-40e0-11ee-a2ef-92fbcf53809c.png
按如下方式创建 SCL 程序代码:
可以找到以下程序代码作为模板。
8a3878ea-40e0-11ee-a2ef-92fbcf53809c.png
8a3878ea-40e0-11ee-a2ef-92fbcf53809c.png
创建 PLC 数据类型“UDT_MyStruct”:
8a60df7e-40e0-11ee-a2ef-92fbcf53809c.png
创建全局数据块“DB_WithArrays”:
8a74c6c4-40e0-11ee-a2ef-92fbcf53809c.png
在组织块(例如 OB1)中调用“FC_PartialArrayCopy”函数,并使用 DB_WithArrays 数据块初始化参数。输入指定的常量:
8a8f9cec-40e0-11ee-a2ef-92fbcf53809c.png
也可以使用第三个和第四个 ARRAY(数据类型为 REAL)来代替使用前两个 ARRAY (数据类型为 UDT_MyStruct)。
8aab3696-40e0-11ee-a2ef-92fbcf53809c.png

结果

在程序周期中调用“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

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3441

    浏览量

    92406
  • 移动数据
    +关注

    关注

    0

    文章

    41

    浏览量

    10472
  • Array
    +关注

    关注

    93

    文章

    18

    浏览量

    15869
  • 程序代码
    +关注

    关注

    4

    文章

    41

    浏览量

    15352

原文标题:西门子博途:移动数据的示例

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Java中的Reactive编程示例

    相信响应式编程经常会在各种地方被提到。本篇就为大家从函数式编程一直到Spring WeFlux做一次简单的讲解,并给出一些示例,希望大家可以更好的理解响应式编程,可以在合适的时机运用到
    的头像 发表于 10-08 16:06 485次阅读
    Java中的Reactive<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    树形控件编程示例

    给大家分享一个树形控件编程示例
    发表于 08-22 19:53

    GPIB编程示例

    课程推荐:http://z.elecfans.com/258.html?elecfans_trackid=bbs_toptxtGPIB编程示例,用来熟悉GPIB的使用
    发表于 10-13 14:44

    C语言与汇编语言混合编程示例程序

    本文介绍了C语言和汇编语言模块接口的一般方法,并给出了完整的编程示例
    发表于 07-11 17:49 103次下载
    C语言与汇编语言混合<b class='flag-5'>编程</b><b class='flag-5'>示例</b>程序

    SST单片机IAP编程示例(C语言)

    SST 单片机IAP 编程示例(C 语言),好东西,喜欢的朋友可以下载来学习。
    发表于 01-18 17:04 15次下载

    边缘检测综合示例_OpenCV3编程入门-源码例程

    OpenCV3编程入门-源码例程全集-边缘检测综合示例,感兴趣的小伙伴们可以瞧一瞧。
    发表于 09-18 17:02 0次下载

    第6章 部件工作原理与编程示例

    第6章 部件工作原理与编程示例
    发表于 10-27 09:44 3次下载
    第6章 部件工作原理与<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    ESP8266 RTOS SDK的编程示例手册资料免费下载

    本文档的主要内容详细介绍的是ESP8266 RTOS SDK的编程示例手册资料免费下载包括了:第 1 章 前言 介绍 ESP8266EX。,第 2 章 概述 介绍 RTOS SDK 和编程注意事项
    发表于 03-19 08:00 57次下载
    ESP8266 RTOS SDK的<b class='flag-5'>编程</b><b class='flag-5'>示例</b>手册资料免费下载

    AN-1108: AD9832/AD9835编程示例

    AN-1108: AD9832/AD9835编程示例
    发表于 03-19 11:06 11次下载
    AN-1108: AD9832/AD9835<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    Megawin 8051 MCU的IAP(应用程序编程示例代码

    Megawin 8051 MCU的IAP(应用程序编程示例代码分享
    发表于 07-01 10:36 3次下载
    Megawin 8051 MCU的IAP(应用程序<b class='flag-5'>编程</b>)<b class='flag-5'>示例</b>代码

    运动编程示例:定时按压操作

    运动编程示例:定时按压操作
    的头像 发表于 03-14 14:42 493次阅读
    运动<b class='flag-5'>编程</b><b class='flag-5'>示例</b>:定时按压操作

    运动编程示例:重复运动的循环功能

    运动编程示例:重复运动的循环功能
    的头像 发表于 03-13 16:59 799次阅读
    运动<b class='flag-5'>编程</b><b class='flag-5'>示例</b>:重复运动的循环功能

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

    在以下示例中,将在 S7-1500 系列的两个 CPU 间创建一个编程连接,并将数据记录从 CPU 1 发送到 CPU 2 中。
    的头像 发表于 07-08 17:16 4533次阅读
    TCON、TDISCON、TSEND和TRCV的<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    西门子博途:发送函数的编程示例

    在以下示例中,在 S7-1500 系列的两个 CPU 间创建一个编程连接,并将一个字符串从 CPU 1 发送到 CPU 2。待发送字符串的数据类型为 STRING。
    的头像 发表于 07-10 10:41 1948次阅读
    西门子博途:发送函数的<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    使用RDREC读取诊断数据记录的编程示例

    在以下示例中,可通过 RDREC 读取 IO 设备的诊断数据记录“16#E00A”。触发断路时,系统将错误信息输出为一条诊断数据记录。
    的头像 发表于 07-24 15:59 1893次阅读
    使用RDREC读取诊断<b class='flag-5'>数据</b>记录的<b class='flag-5'>编程</b><b class='flag-5'>示例</b>