资源简介
MODBUS RTU协议中浮点数的相互转换
从浮点数到整形,以及从整形到浮点数
带简单的协议说明文档

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CsharpModbusFloatConverter
{
class Program
{
static void Main(string[] args)
{
Program p = new Program();
//浮点数转ModbusRTU格式的2个32位整数
float f = -234.563F;
int[] r1 = p.parseFloat2Int(f);
Console.WriteLine(r1[0].ToString() + ““ + r1[1].ToString());
//Modbus整数转浮点数
//实例:C3 6A 90 21 -- x1=50026 x2=36897 -- 浮点数结果-234.56
int x1 = 50026;
int x2 = 36897;
float r2 = p.parseInt2Float(x1 x2);
Console.WriteLine(“浮点数结果:“ + r2.ToString());
Console.ReadLine();
}
//浮点数转ModbusRTU格式的2个32位整数
public int[] parseFloat2Int(float f) {
int[] result = new int[2];
byte[] byteBuffer = BitConverter.GetBytes(f);//4个byte 示例:[0]33 [1]144 [2]106 [3]195 合16进制[0]21 [1]90 [2]6A [3]C3
string high = byteBuffer[3].ToString(“X2“) + byteBuffer[2].ToString(“X2“);//结果示例:C36A
string low = byteBuffer[1].ToString(“X2“) + byteBuffer[0].ToString(“X2“);//结果示例:9021
result[0] = Convert.ToInt32(high 16);
result[1] = Convert.ToInt32(low 16);
return result;
}
//ModbusRTU格式的2个32位整数转浮点数
public float parseInt2Float(int x1 int x2) {
int f fRest exponent exponentRest;
float value weishu;
f = x1 / 32768;
fRest = x1 % 32768;
exponent = fRest / 128;
exponentRest = fRest % 128;
weishu = (float)(exponentRest * 65536 + x2) / 8388608;
value = (float)Math.Pow(-1 f) * (float)Math.Pow(2 exponent - 127) * (weishu + 1);
return value;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-12-03 07:05 CsharpModbusFloatConverter\
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\
文件 920 2016-12-03 06:48 CsharpModbusFloatConverter\CsharpModbusFloatConverter.sln
文件 17408 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter.suo
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\bin\
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\bin\Debug\
文件 6144 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\bin\Debug\CsharpModbusFloatConverter.exe
文件 11776 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\bin\Debug\CsharpModbusFloatConverter.pdb
文件 11600 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\bin\Debug\CsharpModbusFloatConverter.vshost.exe
文件 490 2010-03-17 22:39 CsharpModbusFloatConverter\CsharpModbusFloatConverter\bin\Debug\CsharpModbusFloatConverter.vshost.exe.manifest
文件 2473 2016-12-03 06:48 CsharpModbusFloatConverter\CsharpModbusFloatConverter\CsharpModbusFloatConverter.csproj
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\Debug\
文件 702 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\Debug\CsharpModbusFloatConverter.csproj.FileListAbsolute.txt
文件 6144 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\Debug\CsharpModbusFloatConverter.exe
文件 11776 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\Debug\CsharpModbusFloatConverter.pdb
文件 5960 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
目录 0 2016-12-03 06:48 CsharpModbusFloatConverter\CsharpModbusFloatConverter\obj\x86\Debug\TempPE\
文件 2022 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\Program.cs
目录 0 2016-12-03 07:04 CsharpModbusFloatConverter\CsharpModbusFloatConverter\Properties\
文件 1402 2016-12-03 06:48 CsharpModbusFloatConverter\CsharpModbusFloatConverter\Properties\AssemblyInfo.cs
文件 67885 2016-12-03 07:05 CsharpModbusFloatConverter\附:Modbus IEEE 754标准浮点数举例.pptx
- 上一篇:QT5.5.1串口实现在线热拔插检测
- 下一篇:vas5054usb驱动
相关资源
- Modbus RTU S7-1200 发送
- Modbus协议官方文档中、英文全
- IEEE754 浮点转换工具
- Omron ETN21模块进行modbustcp通讯
- WPF USB 网络 串口 通信软件
- modbus通讯协议详解
- B/S 网上订餐系统
- 教室管理系统.rar
- 小鸡快跑游戏.
-
分别适用于.NET fr
amework 2.0和4.0的E - 汽车租赁系统............................
- 德卡D8读写器关于读写感应卡的一些代
- halcon 测量助手
- MCGS与单片机通信
- 图片存储到数据库保存二进制文件并
- VC 6 Modbus RTU测试程序
- modbus51_c代码
- 用Socket写的简易FTP服务器和客户端
- pb (powerbuilder) 编写的自动转台控制
- 企业销售管理信息系统(全套)
- 串口操作类(justinio)
- 基于Petri网的工作流(完整的原创源代
- 选择题自动考试系统
- 多线程实例:桌面智能弹球小游戏
- Modbus TCP Client
-
NModbus4 通讯类库(fr
amework4.5版本) - 西门子S7-1200 MODBUS-TCP通讯编程
- 200SMART Modbus-TCP通信程序演示-轮询(多
- 整理的ModbusProtocol SDK开发包
- 土地信息管理系统
评论
共有 条评论