关于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

相关推荐

  • 有没有step 7microwin smart 编程软件下载的链接

    有没有step 7microwin smart 编程软件下载的链接,麻烦给我一下,谢谢 问题补充:第一个发我链接的朋友,安装向导时中断了,谁还有的麻烦…

    2021年7月5日
  • 程序监控

    程序监控时 出现“不支持显示当前状态,转换到显示扫描结束状态”按下确定后梯形中有源流状态颜色不会发生改变,触点接触通的颜色会改变,其它全不会改变。 问题补充:图片 图片说…

    SIMATIC S7-200 2020年10月31日
  • 写了一段PID程序,但是测试时无输出

    各位前辈,我写了一段PID的程序,用CPU224的模拟电位器模拟时,即调节SMB28小螺丝,PID输出结果无变化,本人新手,还请指点一下,哪里的问题,谢谢,不胜感激(是关于锅炉汽包…

    SIMATIC S7-200 2017年6月27日
  • s7-200WEN

    从PLC上传程序,再下载到相同型号相同版本(2.02)的PLC,下载到中途就出现通讯故障,而下载新写的陈序没问题。PLC 是作为MODBUS从站的,从端口1下载的。 问题…

    SIMATIC S7-200 2021年7月5日
  • 伺服马达转速程序

    我如果采用高速计数器和定时中断来写伺服马达的实际转速程序。会不会不准啊?1:比如我设定的是1S的定时中断,但伺服马达运转还不到1S钟怎么办啊?:2:1S钟的定时中断,假如时间计到0…

    SIMATIC S7-200 2020年11月1日
  • 200PLC脉冲输出

    高速脉冲输出指令中如使用轮廓表中。有一个初是周期,周期增量,脉冲数。脉冲数是不是就是要发送的脉冲个数?,初使周期就是最开始以此参数的时间来发送脉冲?脉冲增量就是在初是周期的时间上加…

    SIMATIC S7-200 2017年8月16日
  • PT100怎么接线,怎么接到SMART 200

    硬件:FK-TP/200风管式温度传感器,PLC SMART 200  模拟量模块,EM AE04,  &nb…

    SIMATIC S7-200 2021年7月5日
  • profibus通讯协议该怎么编程

    客户要求用profibus通讯协议,我们制氮机用的是西门子S7-200来控制的 ,那我在我的PLC程序上应该怎么编程?求大神帮忙,最好给个实例啊 最佳答案 1、如果西门子…

    SIMATIC S7-200 2017年11月23日
  • SHRB接收外部有符号数

    如何用移位寄存器SHRB指令接收外部有符号数(负数)? 最佳答案 移位寄存器都是针对无符号数进行处理,执行时只考虑要移位的存储单元的每一位数字状态,而不管数据值的大小。 提问者对于…

    SIMATIC S7-200 2020年11月5日
  • S7-200 PID 几个问题

    S7-200PID向导编程1:S7-200用向导编程PID之后,直接用SM0.0调用就可以了吗?我看有的资料说还要写入回路控制 0才能运行?什么意思?2:如图PID指令调…

    2020年10月31日

发表回复

登录后才能评论