欢迎来到金湖黄河自动化仪表厂官网!
新闻资讯
拓安信电磁流量计通信协议
发布时间:2024-07-19

**拓安信电磁流量计通信协议**

通信接口

拓安信电磁流量计支持多种通信接口,包括:

RS-485 4-20mA Modbus RTU Modbus TCP

Modbus通信协议

Modbus是一种**用于工业自动化中的开放式串行通信协议。拓安信电磁流量计支持Modbus RTU和Modbus TCP协议。

Modbus RTU协议**

从机地址: 1-247 波特率: 1200、2400、4800、9600、19200、38400、57600、115200 数据位: 8 停止位: 1或2 奇偶校验: 无、奇校验、偶校验

**读取寄存器**

要读取流量计寄存器,可以使用以下报文格式:

``` 0x01 [从机地址] 0x03 [起始地址(高字节)] [起始地址(低字节)] [寄存器数量(高字节)] [寄存器数量(低字节)] [校验] ```

例如,要读取起始地址为0x0100的两个寄存器的值,报文如下:

``` 0x01 0x01 0x03 0x01 0x00 0x02 0xF8 ```

**写入寄存器**

要写入流量计寄存器,可以使用以下报文格式:

``` 0x01 [从机地址] 0x06 [起始地址(高字节)] [起始地址(低字节)] [寄存器数量(高字节)] [寄存器数量(低字节)] [数据(高字节)] [数据(低字节)] ... [校验] ```

例如,要写入起始地址为0x0100的两个寄存器的值0x1234,报文如下:

``` 0x01 0x01 0x06 0x01 0x00 0x02 0x12 0x34 0x01 ```

Modbus TCP协议

端口: 502 从机地址: 1-247

读取寄存器

要读取流量计寄存器,可以使用以下报文格式:

``` [MBAP头] 0x03 [起始地址(高字节)] [起始地址(低字节)] [寄存器数量(高字节)] [寄存器数量(低字节)] ```

例如,要读取起始地址为0x0100的两个寄存器的值,报文如下:

``` [MBAP头] 0x03 0x01 0x00 0x02 0x00 ```

**写入寄存器**

要写入流量计寄存器,可以使用以下报文格式:

``` [MBAP头] 0x10 [起始地址(高字节)] [起始地址(低字节)] [寄存器数量(高字节)] [寄存器数量(低字节)] [数据(高字节)] [数据(低字节)] ```

例如,要写入起始地址为0x0100的两个寄存器的值0x1234,报文如下:

``` [MBAP头] 0x10 0x01 0x00 0x02 0x00 0x12 0x34 ```

MBAP头

对于Modbus RTU和Modbus TCP协议,MBAP头包含以下域:

事务ID: 16位无符号整数 协议ID: 16位无符号整数,RTU为0x0000,TCP为0x0001 长度: 16位无符号整数,表示报文中的字节数,不包括报文头和CRC

寄存器表

拓安信电磁流量计支持多种寄存器,用于配置和读取流量、累计值和其他信息。下表列出了流量计中**重要的寄存器:

| 寄存器地址 | 寄存器名称 | 说明 | |---|---|---| | 0x0000 | 流量 | 当前流量值 | | 0x0001 | 流量小数部分 | 流量的十进制部分 | | 0x0004 | 正向累计流量 | 自流量计复位后累计的正向流量值 | | 0x0006 | 反向累计流量 | 自流量计复位后累计的反向流量值 | | 0x0008 | 累积流量 | 正向和反向累计流量的差值 | | 0x000A | 负流量幅值 | 负向流量的峰值 | | 0x0016 | 电导率 | 流体的电导率 | | 0x0018 | 液体温度 | 流体的温度 | | 0x0020 | 测量状态 | 流量计的当前状态 | | 0x0024 | 测量信息 | 流量计的详细信息,例如日期和时间 | | 0x0028 | I/O输出状态 | 流量计的I/O输出状态 | | 0x002A | 瞬时流速 | 当前瞬间的流速 |

配置流量计

可以使用Modbus协议配置流量计。可以使用以下寄存器来配置流量计:

| 寄存器地址 | 寄存器名称 | 说明 | |---|---|---| | 0x0030 | 流量计类型 | 流量计的类型,例如插入式或法兰式 | | 0x0031 | 管道口径 | 管道的口径 | | 0x0032 | 液体密度 | 流体的密度 | | 0x0034 | 流量单位 | 流量的单位,例如m3/h或㎥/m | | 0x0036 | 电导率报警 | 设置电导率报警值 | | 0x0038 | 电导率报警延时 | 设置电导率报警延时时间 | | 0x003A | 流量报警 | 设置流量报警值 | | 0x003C | 流量报警延时 | 设置流量报警延时时间 | | 0x003E | 反向流量 | 启用/禁用反向流量测量 |

通过读取和写入这些寄存器,用户可以配置流量计以满足他们的特定要求。

示例代码

以下是用C#语言实现Modbus RTU协议读取流量的示例代码:

``` using NModbus; using System; using System.Net.Sockets; namespace Modbus_RTU_Read { class Program { static void Main(string[] args) { // IP地址 string ipAddress = "192.168.1.10"; // 端口 int port = 502; // 从机地址 byte slaveId = 1; // 起始地址 ushort startAddress = 0x0000; // 寄存器数量 ushort numRegisters = 2; // 创建Modbus客户端 TcpClient client = new TcpClient(); // 连接到从机 client.Connect(ipAddress, port); // 创建Modbus通信工厂 IModbusFactory modbusFactory = new ModbusFactory(); // 创建Modbus RTU从机
联系方式

手机:13805232736

固定电话:0517-86898286

邮箱:1092146720@qq.com

公司地址:江苏省金湖县工业园区环城西路8号

ICP备案号:苏ICP备15056420号-4

版权所有:Copyright @ 金湖黄河自动化仪表厂 2024

客户服务热线

0517-86898286

在线客服