关于西门子s7-200程序mov指令

第一条执行以后,mb3里面是c3H,ac0里面是12345678H。想问问为什么执行完第二条ac0里面变成了00c3h,而不是123456c3h?谢谢各位高手了~... 第一条执行以后,mb3里面是c3H,ac0里面是12345678H。想问问为什么执行完第二条ac0里面变成了00c3h,而不是123456c3h?谢谢各位高手了~ 展开
 我来答
gzik550204
高粉答主

2012-10-09 · 醉心答题,欢迎关注
知道大有可为答主
回答量:1.8万
采纳率:86%
帮助的人:4974万
展开全部
因为第二条指令传送的是源操作数是MB3的数据。
追问
您的意思也是mb3里面高位的零把123456覆盖了?书上例题没有覆盖,所以我很纠结。。
alleria2006
2012-10-09 · TA获得超过6913个赞
知道小有建树答主
回答量:801
采纳率:66%
帮助的人:732万
展开全部
AC0作为累加器是一个整体,和MD、VDXX这类寄存器有明显区别,所以你把MB3传到AC0里就会完全刷新成新值
更多追问追答
追问
那在什么情况下能得到123456c3H?需要换成什么寄存器?mb3无法用mov传送到vdXX吧?
追答
很简单,你可以把MB3传到VBXX里,VB和VD是连着的,就是代表VDXX的低8位。然后再把VDXX传到AC0里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT与制药
2012-10-09 · TA获得超过4630个赞
知道大有可为答主
回答量:4899
采纳率:44%
帮助的人:3301万
展开全部
源数据类型与目标数据类型长度不一致,高位补0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-10-10
展开全部
覆盖 如果是按照你的意思 plc就没有确定性了
一次写了什么 就是什么 覆盖

你就当传送一次数据 就“重写” 覆盖一次 就完事了 别钻牛角尖 浪费时间
追问
因为书上的例题是没有覆盖的。。。所以我才有疑问。。。难道是书印错了?
追答
遇到这种情况的时候
无敌的招数就是仿真 做实验 看效果

实践出来的效果是唯一真理 什么书 啥的 都靠边站

我给你试验了

实践证明 是你的书错了

若果不试验一下 估计很多人也回答不上来的

现实中没有plc实物这样不确定的事也很常见 我们是这样的 放一下 打一个问号 存疑 到调试的时候为了保险我们会先试验 或者如果发现达不到预期 稍微改改 就可以了 而不是因为一个不确定的小问题所有的工作都耽误下来

目的明确 功能好实现的很

实验证明 ac0 是作为一个整体使用的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式