您现在所在的是:

西门子SIEMENS

回帖:2个,阅读:894 [上一页] [1] [下一页]
* 帖子主题:

S7-300的数据类型

8654
805709808
文章数:759
年度积分:50
历史总积分:8654
注册时间:2013/3/17
发站内信
发表于:2020/7/6 16:30:29
#0楼
附件 081A6AF2-5100-43F8-8440-47DC6F32C6A8.jpg

附件 12AF4C58-2CBD-4E10-97C3-544BC17F0DC1.jpg
如图一所示OUT15是经过ROUND指令输出的,数据格式应该是DINT长整型(32位)的,为什么在图二的程序中OUT15的数据类型是字16位的?
[此贴子已经被作者于2020/7/6 20:06:34编辑过]
此帖发自手机工控论坛
37599
cvlsam 版主
文章数:12429
年度积分:210
历史总积分:37599
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2020/7/7 5:46:11
#1楼
以下是引用8057098082020/7/6 16:30:29的发言:
附件 081A6AF2-5100-43F8-8440-47DC6F32C6A8.jpg

附件 12AF4C58-2CBD-4E10-97C3-544BC17F0DC1.jpg
如图一所示OUT15是经过ROUND指令输出的,数据格式应该是DINT长整型(32位)的,为什么在图二的程序中OUT15的数据类型是字16位的?
[此贴子已经被作者于2020/7/6 20:06:34编辑过]

因为图一中MOVE指令丢弃了高16位的部分,只要低16位。
17636
329345277
文章数:5607
年度积分:196
历史总积分:17636
注册时间:2008/12/16
发站内信
2018春节活动(三)
2015春节活动
2014相约国庆
发表于:2020/7/7 6:58:16
#2楼
用ROUND指令先将32位浮点数转换为32位整数,再用MOVE指令直接将32位整数传送到16位的指定区

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003