登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:求教一个三菱PLC的程序

点击:1419 回复:16

想这个问题想的睡不着。求教一下论坛的大神们。
现有数据D0和D2,要求D0的数据发生改变时D2的数据也以相同的变化幅度改变,同时D2里的数据又可以单独写入。
假设D0=1000,D2=500。变更D0=800,减少的幅度为20%,此时D2=400。D0里的数据如果增加,D2里的数据也会以相同幅度增加。
D0里面数据的改变会同时改变D2里的数据,单独改变D2的数据不会影响D0里的数据。
PLC是三菱FX3U。卡壳了,浮点运算什么的试了一晚上,没一次数据是对的。
20-03-09 22:25
这不就是乘以一个系数的事呀,1000*0.5=500,800*0.5=400,单独改变D2的数据就改变系数可以了。800*0.4=320
20-03-10 02:10
我想你的难点是需要另外一个D,来存放上一个周期D0的数据,再做比较,计算增减系数,达到对D2也同步的目的
20-03-10 08:10
不好弄 。。假设D0/2  实时传送给 D2     要想单独改D2   增加一个手动按钮阻断D0-/2 传送 D2      或者D0/2传送D2  不要实时的   只有D0输入有变化时第一次传送一次给D2
20-03-10 11:14
一定要取D0来改变D2吗,,直接拿变化的那个东西做个现行比较不行吗,,就好比如  A会变化会改变D0,D0改变D2,,,那为什么不直接A变换改变D0,,A变化改变D2呢
20-03-10 11:33
用一个中间寄存器Dn暂存D0的值,Dn≠D0就计算然后给D2赋值,并且把变化后的值再次存入中间寄存器Dn,计算公式一楼已经给出。
至于改变D2的值得看你怎么改变了,但是只能用脉冲式的赋值方式了。
20-03-10 15:51
系数我试了,最后得出来D2的数都是一堆乱七八糟的
20-03-10 18:03
想了一天这个东西了Orz
20-03-10 18:05
变化的东西就是D0没有其他的数据
20-03-10 18:05

引用 VvORCG 在 2020/3/10 18:03:15 发言【内容省略】

是不是浮点数这块没有设置好,正常来说不可能乱七八糟的,这就是一个简单的乘法计算而已,自己都可以计算出来的,如果PLC计算的结果与你算出来的结果不符,那就应该是你的程序问题(你要注意寄存器有没有重复使用的),你可以把你的程序截图上来看看。
20-03-10 19:05

上一页下一页

工控新闻

更多新闻资讯