西门子300PLC,如何把ASCII转化成浮点数

问问题描述

西门子300PLC,如何把ASCII转化成浮点数,蹲一个懂行的,求解答求解答!

答精选答案

最佳答案

先按照byte,把每个字符转换为10进制数,比如字符‘3’(plc中实际存储的是3的ascii码值)就转换为10进制的3,然后按照位数乘以倍率再加起来,形如10*a+b+0.1*C+0.01*D,最后再判断是否为负值就乘以-1至于如何把ascii码转换为10进制数据,其实你这种情况都不需要专用指令了,因为就是0-9的ascii码,对应ascii码的范围就是48-57而已,你只要把DB12.DBB7这种地址直接减48就得到10进制数了(当然,step7里面没有byte数据的算术指令,还得先转换为int类型)

本文来自作者[提米家的大脸喵]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/1095471.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 提米家的大脸喵
    提米家的大脸喵 2026年09月30日

    我是公众科技网的签约作者“提米家的大脸喵”!

  • 提米家的大脸喵
    提米家的大脸喵 2026年09月30日

    希望本篇文章《西门子300PLC,如何把ASCII转化成浮点数》能对你有所帮助!

  • 提米家的大脸喵
    提米家的大脸喵 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 提米家的大脸喵
    提米家的大脸喵 2026年09月30日

    本文概览:先按照byte,把每个字符转换为10进制数,比如字符‘3’(plc中实际存储的是3的ascii码值)就转换为10进制的3,然后按照位数乘以倍率再加起来,形如10*a+b+0.1*C+0.01*D,最后再判断是否为负值就乘以-1至于如何把ascii码转换为10进制数据,其实你这种情况都不需要专用指令了,因为就是0-9的ascii码,对应ascii码的范围就是48-57而已,你只要把DB12.DBB7这种地址直接减48就得到10进制数了(当然,step7里面没有byte数据的算术指令,还得先转换为int类型)

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们