• {{item.name}}
SIMATIC S7-1500系列 {{item.name}}
{{item2.name}}
更多
常问问题

在 S7-1200/1500 中如何通过变量索引实现数组访问?

star star star star star
5.0 分
  • 软件编程
  • 变量
  • 常量
  • 控制器
文档编号:67598676| 文档类型:常问问题| 发布时间:2023年10月13日
  • 0
  • 1501
  • 905
软件基本操作

对于数组元素的索引地址,应该使用整数数据类型的变量作为索引。


描述
对于SIMATIC S7-1200/S7-1500控制器的数组元素的寻址,除了常量外,还可以指定一个整数类型的变量作为索引值,这里允许长达不超过32位的整数。

在SIMATIC S7-S7-1200/1500中此种类型的寻址方式适用于所有的编程语言。

在“源”和“目标”数据块中声明的名为“data”的数组元素的索引寻址使用以下语法:

  • "Data_DB". Quantities ["i"]  (一维数组)
  • "Data_DB". Quantities ["i"]  (一维结构体数组)
  • "Data_DB". Quantities ["i", "j"]  (多维数组)
  • "Data_DB". Quantities ["i", "j"].a (多维结构体数组)


元素描述
源, 目的数组变量所在数据块的名称
data数组数据类型的变量.
i, j用作指针的整型数据类型的PLC变量
a结构的其它子变量

表 1

下面的截图展示了对位于数据块中的数组元素进行寻址的程序代码。本文把SIMATIC S7-1200/S7-1500和 S7-300/400做了个比较。在SIMATIC S7-300/400控制器中数组变量的起始地址必须已知,并且在使用地址寄存器时索引寻址也必须完成。

  • S7-300/S7-400


    图. 01
  • S7-1200/S7-1500 在 LAD 中


    图. 02
  • S7-1200/S7-1500 在 SCL 中


    图. 03

下面列出了SIMATIC S7-1200/S7-1500 控制器寻址的优势:

  • 使用现有的数据块和数组变量的名称
  • 数组的基地址对于指针的生成不是必需的
  • 程序代码更易于创建和阅读
  • 编译器生成优化的程序代码

为了实现最高的性能,在TIA Portal中可遵从下面的关于寻址和存储器命令的编程建议:

  • 用作数组索引的变量应该声明为DINT, UDINT (32位)
  • 中间结果和数组的索引应该存储在本地临时数据区。

说明
更多关于SIMATIC S7-1200/S7-1500间接寻址的信息请参考STEP 7 (博途 ) 在线帮助。

该 FAQ 相关截图由 TIA Portal V15 创建。


您可以前往全球资源库查看此文档:https://support.industry.siemens.com/cs/cn/zh/view/67598676

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。