请教在西门子编程环境下指针怎么用呢?最好能举个例子说明一下什么时候是地址,什么时候是地址所指的内容,谢谢了
最佳答案
在S7-200中难道不能直接把VB200传送到AC0吗?
答:可以。影响不大。
如果VB200=12,执行MOVB &VB200,AC1,MOVB *AC1 , AC0
后AC0的内容是什么?
答:AC0=12。问题不大。
从这个简单的问题上可以看出来没有什么区别,其实很大的分支的。你要知道指针地址和使用指针就有点区别了。
MOVB &VB200,AC1
MOVB *AC1 , AC0
这两条指令的作用应该是等同于:
MOVB VB200,AC0
也可以用MOVD $VB200,AC0。但是如果用MOVD VB200,AC0这个就是错误。另外MOVD VD200,AC0这个是正确的。
MOVB &VB200,AC1 把VB200的地址(VB200的起始地址)作为指针存入AC1。
MOVB *AC1 , AC0将AC1所指向的字节(VB201)的值送入到AC0。
这里显然可以看出两种不同的地址。
具体可以参考一下《S7-200系统手册》内容在第四章,PLC的基本概念。
文档连接:
http://www.ad.siemens.com.cn/download/DocList.aspx?TypeId=1&CatFirst=1&CatSecond=2&CatThird=-1
1109582 S7-200可编程控制器系统手册
回答者: 莘莘学子 - 初级工程师 第9级 2011-2-26 20:01
参考:
s7-200的寻址问题
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=64914_1028.html
参考资料:http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=64914_1028.html
提问者对于答案的评价:
懂什么意思了,谢谢各位
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc307902.html