0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

西门子PLC 64位浮点数转32位浮点数程序分享

feichangkuai 来源:郑州PLC工控 2023-03-29 09:39 次阅读

西门子S7-200测试通过,程序网上而来,献给有需要的各位!

一、主程序调用:

64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。

572746ec-cdaa-11ed-bfe3-dac502259ad0.png

二、子程序符号表:

57743876-cdaa-11ed-bfe3-dac502259ad0.jpg

三、子程序网络1:

1.把双精度浮点数的高16位读取出来;

2.左移1位,右移5位之后取到双精度浮点数的指数部分;

3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分。

5796be50-cdaa-11ed-bfe3-dac502259ad0.png

57ccf236-cdaa-11ed-bfe3-dac502259ad0.jpg

四、子程序网络2:

取出双精度浮点数的高8位。

57ed4298-cdaa-11ed-bfe3-dac502259ad0.jpg

五、子程序网络3:

双精度浮点数指针后移一个字节。

580c1a9c-cdaa-11ed-bfe3-dac502259ad0.jpg

六、子程序网络4:

左移4位,右移8位得到单精度浮点数的小数部分。

58355ca4-cdaa-11ed-bfe3-dac502259ad0.jpg

七、子程序网络5:

把单精度浮点数的指数部分加上,右移1位空出符号位。

585cf5c0-cdaa-11ed-bfe3-dac502259ad0.jpg

八、子程序网络6:

传送符号位。

587c40e2-cdaa-11ed-bfe3-dac502259ad0.jpg

九、子程序网络7:

最终结果。

5897c6dc-cdaa-11ed-bfe3-dac502259ad0.jpg

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5016

    文章

    13385

    浏览量

    465056
  • 西门子
    +关注

    关注

    95

    文章

    3062

    浏览量

    116345
  • 程序
    +关注

    关注

    117

    文章

    3795

    浏览量

    81344
  • 浮点数
    +关注

    关注

    0

    文章

    61

    浏览量

    15894
  • S7-200
    +关注

    关注

    13

    文章

    408

    浏览量

    50542

原文标题:西门子PLC 64位浮点数转32位浮点数程序分享

文章出处:【微信号:郑州PLC工控,微信公众号:郑州PLC工控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    求推荐一款可计算64浮点数(double)的DSP

    最新做高精度的控制算法,需要做比较高阶的数字滤波器,用的是2812,计算浮点数乘法非常的慢,关键是只能计算32浮点数乘法,造成数字滤波器的特性都和原来的设计有偏差。大家推荐一款可计算64
    发表于 12-15 21:04

    浮点数的表示方法

    浮点数的表示方法  浮点数,是指小数点在数据中的位置可以左右移动的数据。它通常被表示成:    N = M* RE  这里的M(Mantissa)被称为浮点数
    发表于 10-13 17:13 1.6w次阅读
    <b class='flag-5'>浮点数</b>的表示方法

    浮点数常用的编码方法

    浮点数常用的编码方法  前面已经说到,在计算机内,浮点数被表示为如下格式:    通常情况
    发表于 10-13 17:21 4529次阅读
    <b class='flag-5'>浮点数</b>常用的编码方法

    32浮点数字信号处理器SHARC产品组合(ADI)

    32浮点数字信号处理器SHARC产品组合(ADI) Analog Devices, Inc.,全球领先的高性能信号处理解决方案供应商,最新推出32浮点数
    发表于 04-10 09:59 1336次阅读

    modbus 如何读取浮点数

    本文为大家介绍modbus读取浮点数的两个程序设计。
    发表于 02-08 10:03 1.5w次阅读

    单片机浮点数运算的源码设计

    单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。本文详细介绍了浮点数在单片机中的表示方式和汇编子程序浮点数比定
    的头像 发表于 03-07 15:19 1w次阅读
    单片机<b class='flag-5'>浮点数</b>运算的源码设计

    谈一谈浮点数的精度问题

    还是要从浮点数的存储和标识出发来处理该问题,既然浮点数天然就存在一定的误差,而有时候计算又无法获得唯一的数值,如下图所示,浮点数计算出来的实轴上的值都会因为浮点数无法存储标识而近似到其
    的头像 发表于 08-11 14:28 4707次阅读
    谈一谈<b class='flag-5'>浮点数</b>的精度问题

    什么是浮点数浮点数在内存中的存储

    浮点型简单讲就是实数的意思。浮点数在计算机中用以近似表示任意某个实数。
    的头像 发表于 11-09 11:07 5527次阅读
    什么是<b class='flag-5'>浮点数</b>?<b class='flag-5'>浮点数</b>在内存中的存储

    什么是浮点数

    Python数据类型第一种:字符串(str)。 Python数据类型第二种:整数(int)。 Python数据类型第三种:浮点数浮点数的英文名是float,浮点数没有简写。
    的头像 发表于 02-23 14:58 4712次阅读

    西门子PLC读取的仪表数据(浮点数)如何转换为整数

    看到一个网友的问题,西门子200PLC采用MODBUS RTU协议采集多功能仪表的数据,接收的数据均是32的单精度浮点数,我怎么在PLC
    的头像 发表于 06-01 10:18 5853次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>读取的仪表数据(<b class='flag-5'>浮点数</b>)如何转换为整数

    西门子PLC浮点数程序案例分享

    64浮点数保存于VB0开始的存储区中,转换得出的32浮点数保存于VD100中。
    发表于 10-27 17:07 3440次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>浮点数</b><b class='flag-5'>程序</b>案例分享

    单精度和双精度浮点数的区别

    。 一、表示范围 单精度浮点数(float)通常使用32来表示,其范围在1.17549435E-38F至3.40282347E+38F之间。而双精度浮点数(double)通常使用64
    的头像 发表于 12-13 10:55 1.2w次阅读

    单精度和双精度浮点数的区别

    。 单精度浮点数,也称为单精度浮点数格式,用于在计算机中表示32二进制格式的浮点数。一个单精度浮点数由三个部分组成:符号
    的头像 发表于 12-15 10:25 5589次阅读

    modbus浮点数怎么读取

    常重要的。 首先,要理解Modbus浮点数的表示方式。在Modbus协议中,浮点数采用了IEEE 754标准进行编码和解码。IEEE 754标准定义了浮点数的二进制表示方法,包括符号
    的头像 发表于 12-28 14:38 6645次阅读

    西门子TIA Portal如何比较两个浮点数相等

    的方法。 第1步: 添加 PLC 设备。 选择西门子 CPU 1214C DC/DC/DC。 设置 IP 地址:192.168.0.1。 子网掩码:255.255.255.0 图1添加 PLC 设备 第2
    的头像 发表于 01-06 10:07 224次阅读
    <b class='flag-5'>西门子</b>TIA Portal如何比较两个<b class='flag-5'>浮点数</b>相等