课程咨询
工作时间: 9:00-18:00
QQ
QQ
0755-28917957
拨打咨询电话:0755-28917957
电话
电话
微信
微信
回顶
在S7-1200、1500中如何通过变量索引实现数组访问?
荣久学院 ● 2019-03-15 16:09:52

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

 

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

 

    "Data_DB". Quantities ["i"]  (一维数组)

    "Data_DB". Quantities ["i"]  (一维结构体数组)

    "Data_DB". Quantities ["i", "j"]  (多维数组)

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


1.png

 

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

 

    S7-300/S7-400PLC


2.png

 

    S7-1200/S7-1500 in STL


3.png

 

    S7-1200/S7-1500 in SCL


4.png

 

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

 

    ▶ 使用现有的数据块和数组变量的名称

    ▶ 数组的基地址对于指针的生成不是必需的

    ▶ 程序代码更为简单和易读

    ▶ 编译器生成优化的程序代码

 

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

 

    ▶ 用作数组索引的变量应该声明为DINT, UDINT (32)

    ▶ 中间结果和数组的索引应该存储在本地临时数据区。


相关文章:

西门子PLC编程中的程序符号如何使用?
常见问题