用户登陆
免费注册
找回密码
站内短信
论坛搜索
工控下载
用户名
密码
输入验证码:
指令
综合讨论
资料互助
程序样例
三菱工控
西门子区
欧姆龙区
触摸屏区
工控人家园
综合讨论
请教一下
上一主题
下一主题
老家伙学电工
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
327 个
工控威望:
466 点
下载积分:
1015 分
在线时间: 329(小时)
注册时间:
2010-11-10
最后登录:
2024-11-14
查看老家伙学电工的
主题
/
回贴
楼主
发表于: 2013-12-08 17:03
只看楼主
|
小
中
大
用三菱FX-2N的PLC。编程的时候用DDIV指令,运算负数。比如:DDIV D10 D14 D18
当D10中是负数的时候,在DDIV中D10显示的是一个很大的值,D18中的值也是很大的值,
可以将它还原成负数吗?还是DDIV不能用于负数的计算?
在线等,虽然是个很菜鸟的问题,但本人其实比菜鸟还菜,请指教。
分享
老家伙学电工
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
327 个
工控威望:
466 点
下载积分:
1015 分
在线时间: 329(小时)
注册时间:
2010-11-10
最后登录:
2024-11-14
查看老家伙学电工的
主题
/
回贴
1楼
发表于: 2013-12-08 17:56
只看该作者
|
小
中
大
用DIV指令是可以运算负数的,只是觉得它有点小,只能到-32768,有点不够用的样子
分享
老家伙学电工
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
327 个
工控威望:
466 点
下载积分:
1015 分
在线时间: 329(小时)
注册时间:
2010-11-10
最后登录:
2024-11-14
查看老家伙学电工的
主题
/
回贴
2楼
发表于: 2013-12-08 18:43
只看该作者
|
小
中
大
编程的时候用DDIV指令,运算负数。比如:DDIV D10 D14 D18
D10中的值原来是一个16位的负数。用DDIV指令就变得很大了。
我试过如果D10如果是一个刚开始就是32位的数值,就不会变,显示的就是本身的负值。
问题是,我用十六位的计算结果,怎么转换成32位的,并能够用DDIV运算?
分享
john42tw
级别: 网络英雄
发送短信
加为好友
精华主题:
0
发帖数量:
1276 个
工控威望:
6107 点
下载积分:
52058 分
在线时间: 1120(小时)
注册时间:
2012-04-24
最后登录:
2024-09-30
查看john42tw的
主题
/
回贴
3楼
发表于: 2013-12-09 08:44
只看该作者
|
小
中
大
要先了解 PLC 數值表現方式
內部表示 外部顯示
16位元 :D10 = 0000 0000 0000 0001 = 1
D10 = 1000 0000 0000 0001 = -1
若D10的值為 -1 直接用32位元來看
D11 D10
實際上是 (D11)D10 = 0000 0000 0000 0000 1000 0000 0000 0001 = 32769
位元表示的詳細解說 請翻書
分享
jesselai
级别: 略有小成
发送短信
加为好友
QQ联系
精华主题:
0
发帖数量:
223 个
工控威望:
403 点
下载积分:
5970 分
在线时间: 81(小时)
注册时间:
2008-12-05
最后登录:
2016-07-13
查看jesselai的
主题
/
回贴
4楼
发表于: 2013-12-09 11:37
只看该作者
|
小
中
大
楼上正解,这就是数制的问题了
分享
老家伙学电工
级别: 略有小成
发送短信
加为好友
精华主题:
0
发帖数量:
327 个
工控威望:
466 点
下载积分:
1015 分
在线时间: 329(小时)
注册时间:
2010-11-10
最后登录:
2024-11-14
查看老家伙学电工的
主题
/
回贴
5楼
发表于: 2013-12-09 12:47
只看该作者
|
小
中
大
感谢楼上的解答,昨晚实际上说了,是16位和32位的区别导致的。
我现在想问的是,怎么把一个16位的负数转化为32位的负数?
好象很麻烦的,要先判断第15位是否为1,再决定是否把32位的最高位置1。
分享
上一主题
下一主题
工控人家园
综合讨论
请教一下
http://www.ymmfa.com
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问