当前位置: 移动技术网 > IT编程>开发语言>.net > C# Modbus协议中读取浮点数的操作方法

C# Modbus协议中读取浮点数的操作方法

2018年11月30日  | 移动技术网IT编程  | 我要评论

淘人乐,甘肃新闻,白发魔主

输入参数p1,p2代表plc中浮点数储存的两个寄存器获取的数据

public static float getfloat(ushort p1, ushort p2)
        {
            int intsign, intsignrest, intexponent, intexponentrest;
            float faresult, fadigit;
            intsign = p1 / 32768;
            intsignrest = p1 % 32768;
            intexponent = intsignrest / 128;
            intexponentrest = intsignrest % 128;
            fadigit = (float)(intexponentrest * 65536 + p2) / 8388608;
            faresult = (float)math.pow(-1, intsign) * (float)math.pow(2, intexponent - 127) * (fadigit + 1);
            return faresult;
        }

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网