技术论坛

 • 产品分类
 • 咱工程师的故事
 • 培训与认证答疑专区
 • 服务合作伙伴专区

 求教200的程序数据问题

返回主题列表
作者 主题
疯狂的馒头
侠客

经验值: 668
发帖数: 49
精华帖: 0
楼主    2017-09-19 11:57:20
主题:求教200的程序数据问题


问题如图所示,我的数据超过32000就转换不过来了,目前想让他传输50000的值,我该如何修改数据,谢谢!

渔明鱼工
至圣

经验值: 24175
发帖数: 2064
精华帖: 80
1楼    2017-09-19 13:08:23
主题:回复:求教200的程序数据问题

因为你的VD670是带符号位的,那么数值最大转换成VW只能到32767,超过此值就会出错,如果 VD670是不带符号位的那么数值最大转换可到65535。

无符号:WORD数据:0-65536;
有符号:INT数据类型:-32768-+32767.

网鱼能够改善伙食,还能释放工作中的压力。
LJCLWYF
侠圣

经验值: 3599
发帖数: 564
精华帖: 0
4楼    2017-09-19 16:28:48
主题:回复:求教200的程序数据问题

“S7-200PLC中,如何将大于32767的整数转换成正实数?”的链接http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1173976&b_id=25&s_id=0&num=11#anch


学无止境
yanxiao
至圣

经验值: 27001
发帖数: 11987
精华帖: 45
5楼    2017-09-20 21:23:11
主题:回复:求教200的程序数据问题

VD670=50000?

不用转换,只要不超出16位的表达范围,拿了VW672,走人。

yanxiao
至圣

经验值: 27001
发帖数: 11987
精华帖: 45
6楼    2017-09-20 21:36:09
主题:回复:求教200的程序数据问题

简单问题弄复杂了。

I_DI的实质是什么?对有符号数,值没有变,只是把符号位向高位扩展。

对于无符号数,16位变32位,没有符号需扩展,所以高16位直接写0。


反过来,如果一个32位的数,其数值范围没有超过16位的表达范围,直接取低16位就行了。

你用转换指令,只是偷懒,让系统帮你做数值范围检查。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。