打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一文彻底搞懂间接寻址——指针可以很简单
原创 2018-02-25 彭 PLC工程师

接寻址是使用指针访问存储器中数据的寻址方式,一般可结合算法进行处理数据,间接寻址过程可分三个步骤:建立指针,指针操作和传送数据。



01

建立指针

指针定义为包含另一个存储位置地址的双字存储地址。

编程时,先确定好被寻址的存储区域(例如MB10至MB20)。确定好指针初始指向的地址(例如MB10),做法:此存储地址名称前加一个符号 &”,只能用下列存储区:IQVMST(仅限当前值)、C(仅限当前值)、SMAI  AQ,例如&MB10

然后设定用于存储 被寻址的存储地址(&MB10)的存储地址(指针),但只能使用V存储区,存储区和累加器寄存器(AC1AC2AC3)用作指针,例如用AC1

最后通过“移动双字”(MOV_DW)指令,将被寻址的存储地址(&MB10)移至指针位置(AC1),提个醒:程序运行时,AC1保存不是数据,而是被指向的存储地址MB10


02

指针操作

建立好指针后,若想实现数据的交换与计算,需要对指针的值进行修改,该采用何种数据类型的算数运算呢?如果采用累加器当指针,则无限制(所以建议用累加器当指针),如果用V或L存储区,则需要双整数运算指令,如下图所示。

                        (图1)

此外,对指针的偏移大小也有规定,依据第一步你确定好的被寻址的存储区域(例如MB10至MB20)数据类型来确定:

假设指针初始指向数据区的第一个地址。

若是字节,指针值必须加1,即可指向下一个地址(MB11);

若是字(例如MW10至MW20,指针值必须加 2,即可指向下一个地址(MW12),若指针加1,即将指向MW11

若是双字(例如MD10至MD20,指针值必须加 4,即可指向下一个地址(MD14),若指针加1,即将指向MD11。

一定要注意,不然指针就指了!


03

传送数据

当操作指针偏移到需要的位置时(目标数据),即可进行数据处理;通过在指针(AC1)前面输入一个星号“*”(*AC1),然后可使用传送指令(MOV_BMOV_WMOV_D)或算数运算等指令,将指针指向的存储地址的数值进行处理。

04

例子

通过间接寻址方式,将MB12的数据传输至VB400。以上只是举个最简单的例子,大伙可以自行尝试下:将MB10至MB20的数据定时传输至VB400,以此循环。


当位M0.0使能2次,VB400值等于160


05

数据示意图

数据传输示意图如下所示:


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
西门子S7-1200的数据存取方式
S7-200间接寻址
让你快速掌握S7-200SMART间接寻址使用技巧
S7-200SMART系列PLC的间接寻址功能
PLC功能指令使用基础:数据类型与寻址方式,你学会了吗?
寄存器间接寻址
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服