西门子S7-200测试通过,程序网上而来,献给有需要的各位!
一、主程序调用:
64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。
二、子程序符号表:
三、子程序网络1:
1.把双精度浮点数的高16位读取出来;
2.左移1位,右移5位之后取到双精度浮点数的指数部分;
3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分。
四、子程序网络2:
取出双精度浮点数的高8位。
五、子程序网络3:
双精度浮点数指针后移一个字节。
六、子程序网络4:
左移4位,右移8位得到单精度浮点数的小数部分。
七、子程序网络5:
把单精度浮点数的指数部分加上,右移1位空出符号位。
八、子程序网络6:
传送符号位。
九、子程序网络7:
最终结果。
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
plc
+关注
关注
4975文章
12254浏览量
454907 -
西门子
+关注
关注
91文章
2849浏览量
113766 -
程序
+关注
关注
114文章
3631浏览量
79541 -
浮点数
+关注
关注
0文章
58浏览量
15792 -
S7-200
+关注
关注
13文章
405浏览量
49629
原文标题:西门子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次阅读
谈一谈浮点数的精度问题
还是要从浮点数的存储和标识出发来处理该问题,既然浮点数天然就存在一定的误差,而有时候计算又无法获得唯一的数值,如下图所示,浮点数计算出来的实轴上的值都会因为浮点数无法存储标识而近似到其
什么是浮点数
Python数据类型第一种:字符串(str)。
Python数据类型第二种:整数(int)。
Python数据类型第三种:浮点数,浮点数的英文名是float,浮点数没有简写。
单精度和双精度浮点数的区别
。 一、表示范围 单精度浮点数(float)通常使用32位来表示,其范围在1.17549435E-38F至3.40282347E+38F之间。而双精度浮点数(double)通常使用64位来表示,其范围在2.22507385850
单精度和双精度浮点数的区别
单精度和双精度是计算机中表示浮点数的两种不同的精度。在计算机中,浮点数用来表示带有小数部分的实数,而单精度和双精度用来表示浮点数的精确程度不同。在以下文章中,我将详细介绍单精度和双精度浮点数
modbus浮点数怎么读取
Modbus是一种通信协议,常用于工业自动化系统中的设备之间的通信。它支持多种数据类型,包括整数、浮点数、字符串等。浮点数在工业领域中广泛应用,因此了解如何读取和处理Modbus浮点数是非
一文带你秒懂IEEE 754浮点数
一、简介1、常见的浮点数表示方式是IEEE754标准,它规定了浮点数的存储格式和运算规则,这个标准定义了两种浮点数表示:单精度和双精度。2、任何一个浮点数的二进制数可以写为:NUM
评论