请教关于三菱PLC中除法的问题 点击:797 | 回复:12



豆豆淘

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:7帖 | 327回
  • 年度积分:0
  • 历史总积分:114
  • 注册:2014年8月23日
发表于:2020-09-10 14:37:17
楼主
求助帖30分-已结帖

各位老师好!请问在三菱FX3S plc中要计算几个数的除法,先要算出75除以1600等于0.046875,把结果传送到D2中,然后再要计算10除以0.046875,把结果传送到D4中,请问要怎么样实现啊,看资料说是要先把十进制数转化成二进制数再来乘除,然后再把结果转换回十进制吗?还有除式中有带小数点的数应该怎么处理呢?多谢有人能指教我一下



楼主最近还看过



xiexie1999

  • [版主]
  • 精华:1帖
  • 求助:12帖
  • 帖子:717帖 | 3886回
  • 年度积分:977
  • 历史总积分:161101
  • 注册:2013年4月29日
发表于:2020-09-10 14:56:01
1楼

直接用浮点数运算,有专门的指令

image.png

image.png

fanyaobang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 120回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2018年10月16日
发表于:2020-09-11 08:22:42
2楼

楼上是正解

阿水--王者之师

  • 精华:27帖
  • 求助:376帖
  • 帖子:1725帖 | 22281回
  • 年度积分:58
  • 历史总积分:98503
  • 注册:2007年3月22日
发表于:2020-09-11 08:26:32
3楼

  其实你说的过程就是 PLC 运行的过程,只是 PLC 是二进制的算法,结果一样

关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-09-11 11:09:30
4楼

10、1600、75都先换算为浮点数

可以先进行10.0*1600.00,然后结果再除以75.0

尽量避免除法。

yinguiyao

  • [版主]
  • 精华:3帖
  • 求助:0帖
  • 帖子:8帖 | 260回
  • 年度积分:1302
  • 历史总积分:40586
  • 注册:2010年12月23日
发表于:2020-09-11 11:42:06
5楼

整型数据转成成浮点型再进行除法计算

梦雨天涯

  • 精华:1帖
  • 求助:1帖
  • 帖子:226帖 | 348回
  • 年度积分:1419
  • 历史总积分:14108
  • 注册:2016年10月25日
发表于:2020-09-17 14:11:00
6楼

"xiexie1999" 的回复,发表在1楼
        对内容: 【直接用浮点数运算,有专门的指令】进行回复:

        -----------------------------------------------------------------


FX3S没有浮点除法

helven90

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 64回
  • 年度积分:12
  • 历史总积分:315
  • 注册:2014年6月27日
发表于:2020-09-24 09:01:15
7楼

用浮点数啊,不行的话就把数据放大,算出结果后再缩小啊

陈德富

  • 精华:0帖
  • 求助:8帖
  • 帖子:17帖 | 253回
  • 年度积分:94
  • 历史总积分:5319
  • 注册:2020年5月30日
发表于:2020-09-27 16:35:05
8楼

引用 "xiexie1999" 的回复,发表在1楼
        内容: 直接用浮点数运算,有专门的指令

正解

落叶归根87

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 338回
  • 年度积分:0
  • 历史总积分:792
  • 注册:2013年8月05日
发表于:2020-09-29 15:17:31
9楼

浮点与转换的问题

huangzhengyong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:108
  • 注册:2011年5月02日
发表于:2020-10-06 23:01:14
10楼

先用MOV指令把十进制数据存储在数据寄存器D中;

然后用浮点数指令FLT,把数据转为浮点数;在存储的时候特别注意浮点数是多少位的,一个数据寄存器是16位,判断结果需要多少位,多少个寄存器存储;

然后可以用存储浮点数的寄存器来做除法,这样就可以了;


Smile-lyc

  • [管理员]
  • 精华:127帖
  • 求助:50帖
  • 帖子:3482帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2020-10-21 15:34:55
11楼

感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。

对于求助者要求:

1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;

2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。



luyangluyang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2018年6月05日
发表于:2020-11-28 22:51:01
12楼

"xiexie1999" 的回复,发表在1楼
        对内容: 【直接用浮点数运算,有专门的指令】进行回复:

        -----------------------------------------------------------------


如果被除数想用寄存器表示,怎么转换,E75改D寄存器  寄存器里的数非常大1599868.怎么写



热门招聘
相关主题

官方公众号

智造工程师