上一篇文章我们介绍了S7-200 Smart的直接寻址,今天这篇文章,我们来介绍下间接寻址。
间接寻址是利用指针来访问存储器中数据的寻址方式。
什么是指针呢?
PLC程序中所定义的变量,或者说符号,都有明确的地址。比如下面的符号表:
变量“实数1”的地址是VD24,变量“实数10”的地址是VD270。可以看出,地址与变量是一一对应的关系,通过地址就能找到该变量,也可以说,地址指向该变量。因此,地址被形象化的称为“指针”。变量的指针,就是变量的地址。例如,地址“VD270”指向变量“实数10”,因此“实数10”的指针就是“VD270”。
接下来还要介绍另一个概念:指针变量。
我们知道,整型变量中存放的是整数,实型变量中存放的是实数;同样的,指针变量中存放的是指针。刚刚我们介绍过,指针其实就是地址,因此指针变量中存放的是另一个变量的地址。也可以说,指针变量指向另一个变量。
在S7-200 Smart中,指针变量可以存放在变量存储区(V)、局部存储区(L)或者累加器(AC0,AC1,AC2和AC3)中。
可以使用双字移动指令(MOV_DW)来给指针变量赋值。指针变量的赋值要使用取地址符号:&。
符号“&”用来获取变量的地址,例如下面的代码:
该程序段将实数1的地址(VD24)存放到指针变量“指针1”中。
当需要得到指针所指向变量的值时,要使用指针取值符号:*
例如下面的代码:
在变量“指针1”前面加上“*”,表示取指针1所指向的变量的值。该程序段将指针1指向的变量(实数1)的值拷贝到实数10中,最终实现了实数1到实数10的拷贝。
好了,关于S7-200 Smart的间接寻址就介绍到这里。相关参考文章:
欢迎扫描下方的二维码关注我们的微信公众号。
来源:本站| 大小:383 KB| 下载次数:1725次
发表评论