三菱PLC数据寄存器问题

我想做一个程序,文本设定数据寄存到D128,然后把D128的数据处理之后,放到D129和D130里面,D130在某个条件下,可以加减计数。如图,运行时按下X003数据存入... 我想做一个程序 ,文本设定数据寄存到D128,然后把D128的数据处理之后,放到D129和D130里面,D130在某个条件下,可以加减计数。如图,运行时按下X003数据存入D130 ,松开时D130的数据为0(松开时问什么数据为0了)。 展开
 我来答
百度网友b8b3f90
推荐于2017-05-19 · TA获得超过1.5万个赞
知道大有可为答主
回答量:7178
采纳率:94%
帮助的人:3123万
展开全部
您完全没有明白三菱的乘除法对于寄存器的使用啊。

除法:16位除以16位,结果32位,低16位存放结果的整数,高16位存放余数
所以,你的D128除以3,结果就是D129为商,D130为余数。
因为是整除,所以D130中始终会是0。
同样,16位乘以16位,结果为32位,所以D130乘以3,结果占用D131,D132.

介于上面的结论,所以在做乘除法运算的时候要注意不要使得地址重叠,除非程序员有很清楚的思路要用到地址重叠,否则应尽量避免。
追问
能留下口口吗  我还有很多地方不是很明白 希望可能多向你学习
华北工控
2020-07-31 广告
工控机,即工业控制计算机。主要是相对于商务计算机而言的一种称呼。主要功能是对生产过程及机电设备、工艺装备进行检测与控制。华北工控冰翅静音无风扇工控机是目前使用比较广泛的,采用无风扇设计,稳定耐用,功耗更小。◆ 基于Intel Celeron... 点击进入详情页
本回答由华北工控提供
疯狂小鸟ZXD
高粉答主

2015-11-09 · 每个回答都超有意思的
知道大有可为答主
回答量:1.3万
采纳率:96%
帮助的人:2957万
展开全部
问题是你不会用DIV,DIV是除法指令, DIV D128 K3 D129的意思是D128中的数据除以3,商保存到D129中,余数保存到D130中,这个结果是占用2个D的。因此你D130用矛盾了。DIV中D130是余数,MOV中赋值D130,当X3为ON时,执行完DIV后D130=0,然后执行MOV后D130=4,因此D130=4.而X3为OFF时,执行完DIV后D130=0,然后没有执行MOV,因此D130就是0。你要是把下面MOV里的D130换一个D就不会了。
望采纳。。。。。
追问
哦  忘记了    看了手册忘记了    你这么一说想起来了
追答
望采纳。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
exp123s
2015-11-09 · TA获得超过1109个赞
知道小有建树答主
回答量:552
采纳率:100%
帮助的人:357万
展开全部
D128除3,D129储存了商4,D130储存了余数0,所以D130不能再使用了,换D132代替D130可以解决。
追问
哦  忘记了    看了手册忘记了    你这么一说想起来了,我修改了.把D129的数  存到D2里面  但是这下按下X003  D2的数还是为0  这是怎么回事  ,能留下口口吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式