关于200的间接寻址指令

请问如下图中的间接寻址指令是否正确,为什么用间接寻址后,最终得到的确是地址的值!

问题补充:
大宝朱林森,你也做测试了,那请问为什么它最终不是把vw832数值所指向的地址的值送给vw960,而是只把vw832的值送给vw960呢,即实现不了间接寻址!请大家分析分析,LAD语法似乎也没有错啊!
另外,在我的LAD图中,你们可能已意识到&vb832,&vb836,&vb840等,请问在MOV_DW的in中的&vb832等也是双字的吗?可以用&vb832,&vb834这样的单字吗?
如上,谢谢。

图片说明:

关于200的间接寻址指令   

最佳答案

程序用法没有问题,附图是从在线帮助中截的图,中关于MOV_DWMOV_W的IN和OUT管脚的可用的参数形式
以及在线测试你的程序截图
最终实现的功能是
用间接寻址法,将 VW832的数值传送到VW960
                                 VW836的数值传送到VW962
                                 VW840的数值传送到VW964
补充回复:
1、 每一个V区以字节为单位都有一个地址编号,它是由CPU操作系统分配的,就好比你洒店盖好了,每个房间都有一个门牌号,这个门牌号就用“&VBx”来表示,在PLC中叫地址指针,它里面的客人用“*门牌号”来表示。
2、 V区每一个字节都有一个唯一的地址编号,这个编号是一个32位的二进制数,比如 &VB832 就是 VB832这个存储单元的门牌号,我们通过这个门牌号去找住在里面的客人,这就是间接寻址
3、 假如如规定每个房间都要住8个人,就像每个存储单元都有8个位,我们要访问1个房间的所有人还是两个房间的所有个、还是4个房间的所有人,还是某个房间的某个人,这在现实生活中没有规定,但在西门子200及200 SMART中有明确规定,规定就是不能访问某个房某个人,这理解为间接寻址不能进行位寻址;你只可以访问某个房间的所有8个人(字节寻址)或者相邻两个房间的所有16个人(字寻址),最多只能访问4个房间的32个人(双字寻址,浮点数寻址)
4、 比如程序中
MOVDW &VB832,AC1  将VB832这个存储单元的地址传给32位的寄存器AC1,这条语句就是建立间接寻址指针的过程;
监视程序,可以看到VB832的地址编号是16#8000340(16进制),转换成十进制就是 134218560;
MOVW  *AC1,VW960  ,将连续两个单元的内容传送到VW960,AC1指向了哪个单元,上面一条语名MOVDW &VB832,AC1,使它指向了VB832这个存储单元,MOVW决定了访问2个单元,*AC1指明了从AC1指向的的存储单元开始,二个连续单元的数据传送到什地方?后面的操作数指明了是VW960;
两个语句配合起来就实现了通过间接寻址方式将 VW832这个字传到VW960。 
如果用MOVB    *AC1,VB960   MOVB  决定访问一个字节
如果用MOVDW  *AC1,VD960   MOVDW决定访问一个双字或者
如果用MOVR    *AC1,VD960   MOVR   决定访问一个双字
5、请问在MOVDW的in中的&vb832等也是双字的吗?
是双字,V区的地址编号是32位的二进制无符号数。
6、可以用&vb832,&vb834这样的单字吗?
&vb832,&vb834都是地址指针,全部的双字,而不是你理解的单字。

图片说明:

关于200的间接寻址指令  关于200的间接寻址指令  

提问者对于答案的评价:
讲的很好,若有提高!谢谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午3:14
下一篇 2021年7月5日 下午3:14

相关推荐

  • 6ES7-288 SR60忘记密码 如何处理

    6ES7-288 SR60忘记密码 如何处理 最佳答案 有原程序?如果有,重新设置一遍密码,清空plc中的原程序后,下载。如果没有,只能想办法找这个原程序了。 …

    SIMATIC S7-200 2021年7月5日
  • S7-200与三八译码器的应用

    毕业设计中原本设计使用40个输入接口来确定车位是否有车,老师说最好用2个三八编码器,这样只需要控制6个输入端口,可是三八编码器应该怎么用啊?各位大神,萌新求助。 最佳答案 你是不是…

    SIMATIC S7-200 2021年7月5日
  • S7-200做主站,怎么读不到从站

    S7-200做主站,怎么读不到从站,从站为数码控制仪表。控制仪表为RS485接口,我做的通讯线是B接3,A接8,公共端接5。1》我问下做的通讯线没问题吧?还有是不是A与B间是不是要…

    SIMATIC S7-200 2020年11月1日
  • 符号表制作

    高工:   在制作S7-200符号表时,如"1#真空泵"或"真空泵1#"用作符号时,显示红色字体,请问,哪里存…

    SIMATIC S7-200 2021年7月5日
  • s7-200用em241怎么 远程编程啊

    s7-200用em241怎么 远程编程啊应该怎么设置,组态,请告诉我详细步骤 问题补充:我的信箱是HJSLIN@163.COM 最佳答案 如果你不使用密码和回拨功能,而且…

    SIMATIC S7-200 2021年7月5日
  • 西门子200与力控软件

    我想用力控软件显示西门子200里VD、VW寄存器里的数值,怎样才能实现呢?我试着连接了一下,力控软件数值显示-9999,并不是V寄存器里存的数值,怎么回事呢? 最佳答案 西门子S7…

    SIMATIC S7-200 2017年6月10日
  • S7-200定时器达到最大值(32767)后停止计时,定时器触点复位吗?

    S7-200定时器达到最大值(32767)后停止计时,定时器触点复位吗? 最佳答案 不会复位的,只要IN的输入不断开就不会复位,保持32767 提问者对于答案的评价:3Q 专家置评…

    SIMATIC S7-200 2017年8月16日
  • 空气加热器烧坏

    现场有2路相同的回路分别控制2台加热器的温度.由于现场只有一台加热器能加热,所以用这2个回路分别控制它的温度,以便查看两路的接线问题,结果2路均能控制该加热器的温度.今天去调另一个…

    SIMATIC S7-200 2020年10月31日
  • 各位师傅你们好。

    哪位师傅帮我算算这道题怎么算,X+50/3乘2,这个X是什么数,也详细也好。谢谢了。 图片说明:    最佳答案 西门子数值计算的数据类型必须是一致的,根据你贴…

    2017年11月29日
  • S7-200 改为中文后,设置PG/PC接口那里还是英文的

    S7-200 改为中文后,设置PG/PC接口那里还是英文的,有强迫症,各位大神支招啊。(C:\Windows\SysWOW64?找到?s7epatdk.dll?复制并修改…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论