在STL中如何间接访问二维数组中的一个元素(例如:位于第2行第5列的元素)?

使用说明:
一个二维数组包含一个由行和列组成的矩阵。如果您想要访问数组的一个元素,您必须首先计算该元素的地址。为此,累加行和列的偏移量。将结果转换为指针格式之后,您便可以使用地址寄存器间接访问该元素。由此,便可以自由访问数组元素。n

本页面所附的下载文件“2D_Array”中包含一个STEP 7程序,该程序基于一个25x25 REAL数值的二维数组。通过指定行和列,FC10计算出地址然后将其以指针格式作为OUT参数返回给您。n

在STL中如何间接访问二维数组中的一个元素(例如:位于第2行第5列的元素)?
图01n

计算基于以下前提:n

  • 二维数组由25x25 REAL数值组成。n
  • 数组从数据块的地址0开始。

定义数组:ARRAY [1..25,1..25] OF REAL
n

列 1 列 2 列 3 列 4 ... 列 25
行 1 1,1 1,2 1,3 1,4 ... 1,25
行 2 2,1 2,2 2,3 2,4 ... 2,25
行 3 3,1 3,2 3,3 3,4 ... 3,25
... ... ... ... ... ... ...
行 25 25,1 25,2 25,3 25,4 ... 25,25

注意事项:
如果上面描述的前提条件没有给出,则访问不存在的存储区域可能会导致CPU进入STOP模式。

所附的下载文件“2D_Array”中包含一个STEP 7项目,项目中含有上述功能块(FC10、DB10和OB1)。带有德语注释的功能块位于“Deutsch” 站点中,带有英语注释的功能块位于“English”站点中。

在STL中如何间接访问二维数组中的一个元素(例如:位于第2行第5列的元素)? 2D_Array.zip ( 322 KB )

将文件“2D_Array”复制到一个单独的文件夹中,然后双击运行文件。STEP 7 V5.3项目及所有的子文件夹随即自动解压缩,您可以使用SIMATIC Manager打开并处理解压缩出来的项目。

可运行性和测试环境:
该例子可用于SIMATIC S7-300、S7-400、C7的所有CPU类型和WinAC。下表列出了创建该例子程序以及测试上述功能所用到的组件。

测试环境 版本
PC平台 Pentium(R) M处理器1.73 GHz
PC操作系统 Windows XP SP2
STEP 7 STEP 7 V5.3 SP1
选件包 S7-PLCSIM V5.3

关键词:
间接访问

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc338345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论