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

n

描述
对于SIMATIC S7-1200/S7-1500控制器的数组元素的寻址,除了常量用户也可以指定一个整数类型的变量作为索引值。目前已允许长达32位的整数。在SIMATIC S7-S7-1200/1500中此种类型的寻址方式适用于所有的编程语言。n

下面的语法用于命名为"Quantities"的数组元素的索引寻址,"Quantities"数组在数据块"Data_DB"中进行声明:n

  • "Data_DB". Quantities ["i"] (一维数组)n
  • "Data_DB". Quantities ["i"] (一维结构体数组)n
  • "Data_DB". Quantities ["i", "j"] (多维数组)n
  • "Data_DB". Quantities ["i", "j"].a(多维结构体数组)
组成部分 描述
Data_DB 用于存储数组变量的数据块的名称
Quantities 数组类型的变量
i , j PLC用于指针的整数形变量
a 结构体其他的可变变量

表 01 n

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

  • S7-300/S7-400

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

  • S7-1200/S7-1500 in STL

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

  • S7-1200/S7-1500 in SCL

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

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

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

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

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

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

该 FAQ 相关截图由 STEP 7 (TIA 博途) V13 + Update 6创建。

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

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

相关推荐

发表回复

登录后才能评论