自动化网-工控人家园官网移动版

主页 > 工控品牌 > 西门子 >

S7-200编程软件中系统块的设置-S7-1200间接寻址指令

S7-200编程软件系统块中的数据掉电保持范围0默认的是数据区VB偏移量0单元数目10240,范围1默认的是数据区VB偏移量0单元数目0,两者有什么关系,互相影响吗?
答:互相不影响,只要设置任一个都有效。
该保存区域断电后靠超级电容记录数据,一般超级电容可以维持数据记忆时间为50-100小时左右。跟使用时间和温度关联。
如果想长期保存数据,可以将数据写入EEPROM,永不丢失。
或加电池模块,电池模块可以保持200天。用完就没有了,需更换电池。不能充电。

西门子S7-1200间接寻址指令的应用

    西门子S7-1200的间接寻址需要通过数据块中的数组来实现。指令FieldRead通过索引(又称为下标)变量从数组中读取数值,指令FieldWrite 通过索引变量向数组中写数值,使用这两条指令可以实现间接寻址。
    索引变量是间接寻址中的地址指针,它的值是要读写的数组元素的索引值。地址指针就像收音机调台的指针,改变指针的位置,指针指向不同电台。改变地址指针中的索引值,指针“指向”数组不同的元素。间接寻址的优点是可以在程序处理期间,通过改变指针的值动态地修改指令中的地址。
    首先生成一个名为“数据块1”的全局数据块DB2,在数据块中生成名为“数组1”的数组Array[1..10] of Int,其元素的数据类型为Int。
    这两条指令没有列入指令列表和高级指令列表,编程时将收藏夹中的空逻辑框插入程序,点击其中红色的“??”,打开下拉式列表框,可以看到列表框底部的指令FieldWrite或FieldRead。点击生成的指令框中的“???”,用列表设置要写入或读取的数据类型为Int(见下图)。两条指令的参数MEMBER的实参必须是数组的第一个元素“数据块1”.数组1[1]。
    指令的输入参数索引值“INDEX”是要读写的数组中的元素的下标,数据类型为DINT(双整数)。参数“VALUE”是要写入数组元素的值或要读取的数组元素的值。
    下图中的FieldWrite指令将常数25写入数组1中的元素“数组1[3]”。FieldRead指令读取数组元素“数组1[3]”的值,将它保存到MW20。改变INDEX的值,可以读写别的数组元素的值。

(责任编辑:admin)