加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595

西门子(Siemens)安徽省豪州市变频器总代理-西门子伺服电机总代理-西门子中国(授权)中国一级代理商

更新时间
2025-01-15 09:10:00
价格
请来电询价
变频器
西门子代理商
触摸屏
西门子一级代理
伺服电机
西门子一级总代理
联系电话
18126392341
联系手机
15267534595
联系人
梁涛
立即询价

详细介绍

使用间接寻址就必须先创建指针,那么指针怎么创建呢?使用MOV_DW指令把指针地址存放到OUT输出的变量,MOV_DW不是普通的32位数传送指令吗,怎么就是指针了呢?


其实当MOV_DW指令IN引脚使用&VBxxx、&IBxxx、&MBxxx、&QBxxx时为创建指针的格式。如图1所示,&VB0为创建指针指向vb0,其中&为创建指针的符号,VB为V存储区的字节,0代表指向的地址是从字节0开始的,指针地址放在OUT输出变量地址中,VD100为创建指针存放的指针地址。


图片

图1

图片2.引用指针

引用指针使用字符“*”带表示引用指针,如图2所示,*VD100代表引用指针,把vd0的数据传送到vd200中。


图片

图2


那么如何判断指向的地址使用的是字节、字、双字呢?其实和指令有关系。可以通过数据类型判断,如图3所示,把光标放在指令块处不动2S左右,会弹出一个指令块引脚指令使用的数据类型。


这里可以看到IN:DWORD,输入为DWORD的32位数据类型,也就是双字,那么这时候引用的是VD0,指针没有偏移过,还是指向VB0地址起始的,指令使用的是双字,所以引用的是VD0地址中的数据,把VD0赋值给VD200。


图片

图3



图片3. 指针偏移

初学者使用指针时,对于指针偏移的理解Zui容易乱的。指针偏移是通过对指针存放的地址进行运算得到一个新的指针地址。


如图4所示,按下M0.0把指针指向VB0的指针地址放在VD100中,如果这时候没有接通I0.0,那么程序段3就会把VD0的数据传送给VD200,如果接通了I0.0,那么程序段3就会把VD4的数据传送给VD200。


指针地址加多少就是向上偏移多少,也可以减去一个偏移量,一般字节偏移1,字偏移2,双字偏移4。如图4中的程序段2,指针地址VD100+4=VD100,程序段中Zui开始的创建的指针是指向VB0,指针+4以后,指针指向偏移指向VB4。


图片

图4



相关产品

联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595