bg

将水表数据实时记录到 MS SQL 数据库

轮询 RS232 接口水表并将捕获的数据直接导出到 MsSQL 数据库的完整指南,支持自定义数据库结构。

1. 协议配置:流量计与水表

通信类型: 主动轮询(M-Bus / MODBUS)

工业水表通常通过电平转换器在RS232/RS485上使用M-Bus(Meter-Bus)协议进行通信。请使用“M-Bus数据解析器”插件。记录器向特定的仪表地址发送REQ_UD2(类别2数据请求)帧,解析器将应答电报解码为体积、流量和温度变量。

应用此基础配置进行串行连接:

{
  "port": "COM2",
  "baud_rate": 2400,
  "data_bits": 8,
  "stop_bits": 1,
  "parity": "even",
  "protocol": "mbus_en13757",
  "poll_interval_ms": 60000
}
读取水表数据的M-Bus插件选择

读取水表数据的M-Bus插件选择

M-Bus插件配置

M-Bus插件配置

准备好将 流量计与水表 连接到 Microsoft SQL Server 了吗?

2. 数据库设置:Microsoft SQL Server

使用 Data Logger ODBC 导出模块中的内置 SQL Server Native Client 或 OLE DB 提供程序。如果记录器服务帐户具有数据库访问权限,则无缝支持 Windows 身份验证。

使用以下 SQL 脚本创建目标表。 使用 DATETIME2 而不是 DATETIME 以获得更高精度的时间戳,这对于高频工业串行日志记录至关重要。

CREATE TABLE SerialData (
  RecordID INT IDENTITY(1,1) PRIMARY KEY,
  LogTime DATETIME2 DEFAULT SYSUTCDATETIME(),
  PortID NVARCHAR(20),
  SensorReading FLOAT
);
我们记录器中的 Microsoft SQL Server 连接器。

我们记录器中的 Microsoft SQL Server 连接器。

SQLServer 数据库连接设置。例如 SQL Express。

SQLServer 数据库连接设置。例如 SQL Express。

SQL 队列。

SQL 队列。

3. 协议特定故障排除

  • 接收到无效的十六进制数据,而非M-Bus电报: M-Bus严格要求使用偶校验。请检查数据记录器中的COM端口设置,确保其设置为8个数据位、1个停止位和偶校验。
  • 记录器显示不可读的数据(奇怪字符),而非预期的HEX代码: 您需要在记录器设置中更改“数据视图”模式。对所有字节范围选择“以#XX格式显示”。
  • 记录器可以读取哪些值: M-Bus允许记录器一次性读取所有可用值。记录器将它们作为单独的值(变量)导出。

4. 数据库特定故障排除

  • 用户登录失败 / 访问被拒绝: 如果将 RS232 Data Logger 作为后台 Windows 服务运行,请确保该服务在具有 db_datawriter 角色的域帐户下运行,而不是默认的「本地系统」帐户。或者使用「SQL Server」身份验证方法创建一个单独的用户。
  • 如果我的数据库离线怎么办?我会丢失数据吗?: 使用 SQL Database Pro 插件。它可以在数据库离线时将数据写入临时文件,稍后再恢复。
  • 代码仅在发送数字时有效。当我尝试发送字母时,它不起作用。: 1. 您应将解析器变量声明为字符串。 2. 您的表应包含「VARCHAR」或「NVARCHAR」类型的列。此列的大小应足以容纳您的数据。 3. 您应在数据导出插件的「Binding」页面上为相应列选择「string」数据类型。

准备好将 流量计与水表 连接到 Microsoft SQL Server 了吗?

软件产品 购买程序 下载 支持区域 联系人 网站地图
版权所有 © 1999 - 2026, AGG Software.
版权所有。. 使用条款 | 隐私政策