动态数组的运用实例1:读取任意长度输入数组的数据并传送到输出数组中

前景介绍:

动态数组的有限支持(在FB的Static及全局DB中目前还不允许定义动态数组),在TIA中支持在优化访问的接口中使用动态数组作为参数。

ARRAY[*]定义的是一维数组,ARRAY[*,*,…]定义的是多维数组,这种不定长数组类型的接口允许在调用时传送任意长度的数组,在程序处理时先调用LOWER_BOUND和UPPER_BOUND函数获取实参数组的下限和上限,然后再根据需求执行进一步处理。

MOVE_BLK: “移动块”(Move block) 指令将一个存储区(源范围)的数据移动到另一个存储区(目标范围)中。使用参数 COUNT 可以指定将移动到目标范围中的元素个数。待移动元素的宽度由源区域中第一个元素的宽度决定。仅当源范围和目标范围的数据类型相同时,才能执行该指令。

实例1:读取任意长度输入数组的数据并传送到输出数组中

  1. 新建功能块FC: ARRAYData_Trans_Functions
  2. 接口定义:

  1. 程序编写:

  1. 定义全局数据块:

  1. OB中调用子程序:

  1. 程序演示结果:


版权声明:本文为m0_47781038原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。