技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 字符数组转换成实数的问题

字符数组转换成实数的问题

郑志武 发布于2012-12-25 00:59 1 0 标签:

我通过fb64接收以太网传递过来的两个实数。例如1.22,10.3
fb65接收data端用byte型数组,p#db301.dbx0.0byte100
接收到的数据在数组中的存储是
array[1]=31,array[2]=2earray[3]=32array[4]=32array[5]=2c
array[6]=31array[7]=30array[8]=array[9]=33
注:这两个实数位是不确定的。两实数之间用‘,’分隔。
我在plc里需要用到这两个实数,请问如何将数据组中的数据转换成实数型的变量呢?

佳答案

1、可以应用:
fc39:strng_r转换数据类型转换,从string到real。
功能fc39将字符串转换为real数据类型格式变量。字符串必须为以下格式:
±v.nnnnnnne±xx±符号
v小数点前1位
n小数点后7位
x2位指数
如果字符串长度小于14,或者不是如上所示的结构,则不进行任何转换。
2、为了能够应用fc39,要将字符串符合上述要求。
详见下述文档的24-26,fc39strng_r:
<s7-300400的系统软件和标准功能>下载:
https://www2.ad.siemens.com.cn/download/upload/as/manual/1023.pdf
3、可以自编程序,如果字符串规格化则编程也很简单:
首先对字符串要规格化,即array[0]=十位数,array[1]=各位数array[2]=小数点array[3]=十分位,array[4]=白分位。
、取array[0]的内容,减30即为数字,例如32-30=2,再乘以10,即为20;
、取array[1]的内容,减30即为数字,例如33-30=3,即为3;
、取array[3]的内容,减30即为数字,例如34-30=4,再乘以0.1,即为0.4;
、取array[4]的内容,减30即为数字,例如35-30=5,再乘以0.01,即为0.05;
、将上述结果相加,即为23.45.。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签