西门子200 比如&vb200 和*AC 什么时候使用?恳请给解释下
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/24 01:00:39
西门子200 比如&vb200 和*AC 什么时候使用?恳请给解释下
比如 mov-dw &vb1000 vd1200 跟后面的什么程序还有什么关系?
比如 mov-dw &vb1000 vd1200 跟后面的什么程序还有什么关系?
&Vb200代表取得Vb200寄存器对于整个PLC内存的内存地址.
*AC 代表 取得Ac寄存器中存放的内存地址内存储的值.
MOVD &VB1000 VD1200代表 将Vb1000对应的内存地址放入Vd1200中.
那么,*VD1200就是取得Vb1000中存储的值.这就是西门子的指针操作,在日系PLC中叫做间接寻址.
再问: 如果中间vd1200经过指令加减乘除传送到vd1204 对于的*vd1200数值变化吗
再答: 那取决于VD1200内的存储的数值,如果VD1200内的地址是指向与VD1204的话,那么势必*后取得的是变化后的VD1204的值。
再问: 我意思是movd &vd1000 vd1200 vd1000=10 vd1201=11 add vd1200+1 T vd1201 *vd1200=?
再答: 首先,您的指针用法存在语法错误,不探讨语法错误,就使用本身来说。 将VD1000的地址放入VD1200, 如果VD1000=10, VD1201=11 然后你对VD1200+1 ,请注意,VD1200中存放的是地址,这个地址原先是VD1000的地址,然后你加1了,那么此时累加器中存放的是VD1000后的一个字节的地址,也就是VB1005的地址。 然后你将这个地址送入VD1201(这里存在地址重叠的问题),通俗的认为是没有改变原先的VD1200中存放的数据。 如果考虑到地址重叠的问题,VD1200由VB1200,VB1201,VB1202,VB1203,VD1201由VB1201,VB1202,VB1203,VB1204组成,这样,实际VD1200的低3个字节被意外修改了。
再问: 非常感谢你的指点,vd地址我没注意,只是随便加了一个1,你能帮我看下这个程序吗,&和*是 不是成对使用的?如果后面加了* 前面的&已经给他赋值,这个程序怎么还可以作为输出![](http://img.wesiedu.com/upload/4/3f/43f6539c57896aa74be622540bd13d5c.jpg)
![](http://img.wesiedu.com/upload/c/68/c6872c4c597b7a4c8583511367f9bb32.jpg)
再答: 并非要求成对使用,你需要将地址送入VD中,那么就会用到&,同样,你需要取得对应的寄存器内的值时,你会使用到*,并非必须一一对应,你可能存在多次需要更改地址的情况,也可能存在多次取值的情况。 VD1200中存放的是VB1000的地址,请注意,这是地址。那么,在后面*VD1200实际操作的值就是VD1000,所以后面那么图等同于将VD204的值送入VD1000中。
*AC 代表 取得Ac寄存器中存放的内存地址内存储的值.
MOVD &VB1000 VD1200代表 将Vb1000对应的内存地址放入Vd1200中.
那么,*VD1200就是取得Vb1000中存储的值.这就是西门子的指针操作,在日系PLC中叫做间接寻址.
再问: 如果中间vd1200经过指令加减乘除传送到vd1204 对于的*vd1200数值变化吗
再答: 那取决于VD1200内的存储的数值,如果VD1200内的地址是指向与VD1204的话,那么势必*后取得的是变化后的VD1204的值。
再问: 我意思是movd &vd1000 vd1200 vd1000=10 vd1201=11 add vd1200+1 T vd1201 *vd1200=?
再答: 首先,您的指针用法存在语法错误,不探讨语法错误,就使用本身来说。 将VD1000的地址放入VD1200, 如果VD1000=10, VD1201=11 然后你对VD1200+1 ,请注意,VD1200中存放的是地址,这个地址原先是VD1000的地址,然后你加1了,那么此时累加器中存放的是VD1000后的一个字节的地址,也就是VB1005的地址。 然后你将这个地址送入VD1201(这里存在地址重叠的问题),通俗的认为是没有改变原先的VD1200中存放的数据。 如果考虑到地址重叠的问题,VD1200由VB1200,VB1201,VB1202,VB1203,VD1201由VB1201,VB1202,VB1203,VB1204组成,这样,实际VD1200的低3个字节被意外修改了。
再问: 非常感谢你的指点,vd地址我没注意,只是随便加了一个1,你能帮我看下这个程序吗,&和*是 不是成对使用的?如果后面加了* 前面的&已经给他赋值,这个程序怎么还可以作为输出
![](http://img.wesiedu.com/upload/4/3f/43f6539c57896aa74be622540bd13d5c.jpg)
![](http://img.wesiedu.com/upload/c/68/c6872c4c597b7a4c8583511367f9bb32.jpg)
再答: 并非要求成对使用,你需要将地址送入VD中,那么就会用到&,同样,你需要取得对应的寄存器内的值时,你会使用到*,并非必须一一对应,你可能存在多次需要更改地址的情况,也可能存在多次取值的情况。 VD1200中存放的是VB1000的地址,请注意,这是地址。那么,在后面*VD1200实际操作的值就是VD1000,所以后面那么图等同于将VD204的值送入VD1000中。
西门子300程序段帮解释下
恳请高人详细解释下非谓语动词和独立主格结构.
关系代词的具体用法比如which、who、whose、where、that、whom什么时候使用具体解释.
西门子PLC程序解释
英语助动词什么时候下使用?
谁能解释下fancy和want的使用区别?
西门子200PLC模拟量输入AIW0和输出AQW0有什么关系?比如我用EM235接变频器~怎么把输入和输出联系起来啊~
西门子PLC S7-200下特殊继电器SM0.0,SM0.1在西门子S7-300下对应那个编号?
西门子 PLC 中的程序解释
“给力”这个词什么时候使用比较合适?
收集日常生活中的分数和百分数.在哪些情况下,人们通常使用百分数?什么时候使用分数?
麻烦给解释下