将称重设备数据实时记录到 MS SQL 数据库
轮询称重串口设备并将捕获的数据直接导出到 MsSQL 数据库的完整指南,支持自定义数据库结构。
1. 协议配置:RS232称重仪
通信类型: 被动监听(连续或按需打印)
大多数工业称重仪发送以回车符(CR)和换行符(LF)结尾的ASCII字符串。请使用软件的“ASCII数据解析器”模块,并将数据包结束符设置为“#0D#0A”。然后,您可以通过指定固定列位置或使用正则表达式来提取数字重量。此外,记录器还包含为最常见的称重仪预定义的解析器。
应用此基础配置进行串行连接:
{
"port": "COM1",
"baud_rate": 9600,
"data_bits": 8,
"stop_bits": 1,
"parity": "none",
"flow_control": "hardware",
"packet_end": "#0D#0A"
}
称重仪插件选择,用于轮询设备并解析传入数据

称重仪插件配置:称重仪类型和轮询间隔
准备好将 RS232称重仪 连接到 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 连接器。

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

SQL 队列。
3. 协议特定故障排除
- 屏幕上出现乱码字符: 这几乎总是表明波特率或校验位不匹配。9600-8-N-1是标准配置,但老式梅特勒-托利多或奥豪斯称重仪经常使用2400波特率或7-Even-1校验位。请查阅硬件手册。
- 是否可以仅处理稳定重量并忽略中间值?: 使用我们的某个过滤器插件,例如,忽略数据包中所有不含“stable”标记的记录。
- 是否可以处理大于100.0 kg的重量值?: 表达式过滤器插件允许您使用任何数学表达式。例如,以下命令:DISCARD_DATA_PACKET_IF(WEIGHT < 100)。
4. 数据库特定故障排除
- 用户登录失败 / 访问被拒绝: 如果将 RS232 Data Logger 作为后台 Windows 服务运行,请确保该服务在具有 db_datawriter 角色的域帐户下运行,而不是默认的「本地系统」帐户。或者使用「SQL Server」身份验证方法创建一个单独的用户。
- 如果我的数据库离线怎么办?我会丢失数据吗?: 使用 SQL Database Pro 插件。它可以在数据库离线时将数据写入临时文件,稍后再恢复。
- 代码仅在发送数字时有效。当我尝试发送字母时,它不起作用。: 1. 您应将解析器变量声明为字符串。 2. 您的表应包含「VARCHAR」或「NVARCHAR」类型的列。此列的大小应足以容纳您的数据。 3. 您应在数据导出插件的「Binding」页面上为相应列选择「string」数据类型。