登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:S7-1200乘法指令,实数乘不出来?
点击:2212 回复:9
楼主
管理
857362369
为什么大家都是实数,却乘不出来呢,数据类型都是对的,1200的乘法总是搞不懂,之前做过一个整数乘实数都可以
最后修改:
2019/11/14 14:11:25
19-11-14 13:19
1楼
编辑
引用
管理
pqsh
可能又2个原因.
MD300好像不是实数,如果是,1149也是非常小的数.你确定一下md300到底是多少?
另外的原因可能是,dbd20被别的地方复用了.
19-11-14 14:05
2楼
编辑
引用
管理
965528555
我刚刚测试了,按你的所有地址一样建立的数据,都是可以计算的
你看下是否存在其它地言赋值的情况
19-11-14 14:05
3楼
编辑
引用
管理
MIC小赖
建议交叉引用下结果那个标签(地址),不出意外别的地方有程序给它赋值了。我这边随便写了一个,指令是没问题的。
19-11-14 14:25
4楼
编辑
引用
管理
cvlsam
引用
857362369
在 2019/11/14 13:19:37 发言
【内容省略】
我有理由相信,你MD300是直接使用而非在变量表内建立并定义为REAL类型,因此你的MD300中的值是1149而非1149.0,所以,你需要查看你的变量是否是REAL类型。
在变量类型正确的情况下:
当变量类型为其他同样长度非Real类型的情况下,得到了与楼主一样的输入显示与结果。
MUL指令编译时不检查数据类型,仅检查数据长度是否合适。
Good Luck~
19-11-14 14:42
5楼
编辑
引用
管理
大蜜蜂
MD不是实数,如果是实数会显示1149.0
19-11-14 15:25
6楼
编辑
引用
管理
857362369
我这两个也是实数啊,都转换的,数据类型也是实数,不知道为啥不行啊
19-11-14 17:07
7楼
编辑
引用
管理
857362369
我用一个整数就可以
19-11-14 17:13
8楼
编辑
引用
管理
857362369
交叉检查了下,就用过两次,后面一次是对计算出来的值整数化,这个会影响吗
19-11-14 17:16
9楼
编辑
引用
管理
857362369
已经解决了
数值转换,要这个转换成DINT,转换后的值才能试浮点型,虽然用DWORD型进行转换不会报错,但是结果还是双字型的
19-11-15 10:13
工控新闻
破局人形机器人制造瓶颈!2025人形机器人先进制造技术论坛在株洲隆重举办
软件定义时代的左移策略
“万物皆可协作”,《2025年中国协作机器人产业发展蓝皮书》正式发布
卧龙电驱赴港上市加推出海战略 全球设5大研发中心海外收入近40%
魏德米勒与松下强强联合——伺服驱动迎来安全与效率双重革新!
如何在RK3576开发板上运行TinyMaix :超轻量级推理框架--基于米尔MYD-LR3576开发板
我国传感器行业应用拓展带动市场扩容 2025年截至4月6日已发生39起投融资事件
意法半导体计划以 9.5 亿美元收购恩智浦 MEMS 微机电传感器业务
更多新闻资讯