S7-200指针

S7-200指针

现在我把VD320的地址送到累加器AC0,用下面的指令
MOVD &VB320, AC0

然后在把指针AC0所指的值传送到AC1,用下面的指令
MOVD *AC0, AC1

编译的时候,这条指令出错,“指令操作数的储存器寻址范围无效”

是什么原因呢?该如何解决?

最佳答案

1、因为AC0不能用作指针寻址。所以你的程序是错误的。
2、更改下就可以了
MOVD &VB320, AC1

MOVD *AC1, AC0


解释原因,请详细看下面的资料!

间接编址
间接编址使用指针存取内存中的数据。指针是包含另一个内存位置地址的双字内存位置。您只能将V内存位置、L内存位置或累加器寄存器(AC1、AC2、AC3)用作指针。欲建立指针,您必须使用"移动双字"指令,将间接编址内存位置移至指针位置。指针还可以作为参数传递至子程序。

S7-200允许指针存取以下内存区:I、Q、V、M、S、T*仅限当前值)和C(仅限当前值)。您不能使用间接编址存取单个位或存取AI、AQ、HC、SM或内存区。

欲间接存取内存区数据,输入一个"和"符号(&)和需要编址的内存位置,建立一个该位置的指针。指令的输入操作数前必须有一个"和"符号(&),表示内存位置的地址(而并非内存位置的内容)将被移入在指令输出操作数中识别的位置(指针)。

在指令操作数前面输入一个星号(*)指定该操作数是一个指针。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc303832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:18
下一篇 2020年10月31日 下午3:18

相关推荐

  • 各位大侠!NPN和PNP的输出形式是怎样

    1.网上一大堆不同说法,PNP输出高电平也有说是低电平,NPN输出也一样2.现在遇到一个问题,未知型号的接近开关有三个端子,现接到PLC200上,一个接24V,一端接0V端,还有一…

    SIMATIC S7-200 2020年11月1日
  • 请教几个小问题:1,S7200PLC里边实数可以用VD表示,假如是VD200,那它在S7300PLC中对应如何表示?

    请教几个小问题: 1,S7200PLC里边实数可以用VD表示,假如是VD200,那它在S7300PLC中对应如何表示?2,组态王数据词典中变量对点的时候寄存器选择问题,Q…

    SIMATIC S7-200 2021年7月4日
  • 关于MODBUS RTU

    4WB0001啥意思 问题补充:如图 最佳答案 你的图能够重新发一次?不要发了贴就不看。 提问者对于答案的评价:我也想啊,追问过一次,找不到在哪里补发图片了

    SIMATIC S7-200 2021年7月5日
  • 模拟量输入读取传感器量程

    测距传感器4-24ma输入,除了读取测距值,还能读取量程吗,比如我量程55修改成45,plc程序的寄存器的数值也能55变为45。不明白怎么读过来。 最佳答案 以下回答其于&nbsp…

    SIMATIC S7-200 2021年7月5日
  • S7-200远距离组网

    现在有9个S7-200的PLC远距离组网,每2个相隔700米左右,请问各位用什么方式连接才好? 是级联的,只需要相隔的2个PLC通信就可以 最佳答案 在每个PLC柜中加4…

    SIMATIC S7-200 2021年7月4日
  • 西门子PLC控制欧姆龙G系列伺服

    我用S7-200的脉冲加方向控制欧姆龙伺服电机。当给伺服电机脉冲,方向信号Q0.2为OFF时。伺服电机转动,当给伺服电机脉冲,方向信号Q0.2为ON时,伺服电机就不转动了。也不知道…

    SIMATIC S7-200 2020年10月31日
  • 调用指令

    在写同一程序时,为什么指令可以写SBR_0,而不能写SBR_1(或2,3,4,5,6  ……)呢?除0外其他一编就打红叉,(但书本上很多例子都可以同时编…

    SIMATIC S7-200 2021年7月5日
  • 关于子程序

    看见许多例程上的子程序都带着参数,试图弄明白其含义和作用,无奈基础欠佳,百思不得其解.敬请各朋友详解其意,越详细越好.手册有一些叙述,但是仍然希望各位朋友用自己的理解来通俗的阐述,…

    SIMATIC S7-200 2021年7月5日
  • wincc通过kepserver与200plc通讯

    wincc中显示已经通讯上了,但是在做画面的时候,画面里面的动作不改变,并且也不能够通过wincc来更改200plc中程序的开关,就感觉Wincc没连接上,并且也没和200plc连…

    SIMATIC S7-200 2021年7月5日
  • 怎么根据收到的数来转换?

    我在用串口接收到一批数据:vb0=3,vb1=60,vb2=32,vb3=24,然后根据vb0的值3就表示把vb1,vb2,vb3这三个高低转换后合并,结果是243260,如果vb…

    SIMATIC S7-200 2020年11月1日