北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8640760

理解S7-200 Smart的寻址方式(2)

上一篇文章我们介绍了S7-200 Smart的直接寻址,今天这篇文章,我们来介绍下间接寻址。

cover.jpg

间接寻址是利用指针来访问存储器中数据的寻址方式。

什么是指针呢?

PLC程序中所定义的变量,或者说符号,都有明确的地址。比如下面的符号表:

example1.png

变量“实数1”的地址是VD24,变量“实数10”的地址是VD270。可以看出,地址与变量是一一对应的关系,通过地址就能找到该变量,也可以说,地址指向该变量。因此,地址被形象化的称为“指针”。变量的指针,就是变量的地址。例如,地址“VD270”指向变量“实数10”,因此“实数10”的指针就是“VD270”。

接下来还要介绍另一个概念:指针变量

我们知道,整型变量中存放的是整数,实型变量中存放的是实数;同样的,指针变量中存放的是指针。刚刚我们介绍过,指针其实就是地址,因此指针变量中存放的是另一个变量的地址。也可以说,指针变量指向另一个变量。

在S7-200 Smart中,指针变量可以存放在变量存储区(V)、局部存储区(L)或者累加器(AC0,AC1,AC2和AC3)中。

可以使用双字移动指令(MOV_DW)来给指针变量赋值。指针变量的赋值要使用取地址符号:&

符号“&”用来获取变量的地址,例如下面的代码:

取地址符.png

该程序段将实数1的地址(VD24)存放到指针变量“指针1”中。

当需要得到指针所指向变量的值时,要使用指针取值符号:*

例如下面的代码:

指针符号.png

在变量“指针1”前面加上“*”,表示取指针1所指向的变量的值。该程序段将指针1指向的变量(实数1)的值拷贝到实数10中,最终实现了实数1到实数10的拷贝。

好了,关于S7-200 Smart的间接寻址就介绍到这里。相关参考文章:

理解S7-200 Smart的寻址方式(1)

欢迎扫描下方的二维码关注我们的微信公众号。

founderchip.png

理解S7-200 Smart的寻址方式(2)

来源:本站|   大小:383 KB|   下载次数:1725次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论