编程示例
在此编程示例中,将移动在生产班次期间为示例收集的数据值以作进一步处理。收集的数据放在 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
不能忽略的LED显示屏省电常识
隔离式双向I2C收发器的应用及特性的介绍
人工智能的发展是否一直很顺利
位置传感器的工作原理及类型
新能源汽车深入二三线城市 岳阳首块新能源车号牌上路
移动数据的编程示例
卜蜂莲花卖“水货”电池 如属实退1赔1
兆芯KX-U6780A处理器的CPU、游戏与功耗测试
浅析卷积的本质及物理意义
开发人员为Windows 10创建Thy Phone应用程序
如何驱动六轴姿态传感器MPU6050获取原始数据?
据测算 80%的活跃iPhone上安装了iOS14
工信部:支持高精度传感器、路侧感知等关键技术攻关及L3级自动驾驶商业化应用
XR虚拟制作在生活中会起到哪些作用
传统车企推动无人驾驶技术新轮变革
开关电源变压器解析,如何判断开关电源变压器的好坏
什么是组培室,它的功能都有哪些
介绍WebAssembly现存的一些风险和他们的应对方法
人工智能学术之多目标跟踪(MOT)研究
第二届上海国际电池产品及技术展