mcpField
S
Sartorius Balance

Sartorius Balance

本地服务
github.com科研与教育235 周前更新

关于 Sartorius Balance

Sartorius Balance 是通过 SBI 协议操作受支持 Sartorius 实验室天平的 MCP 服务。它提供称重记录和内部调整功能;目前尚未经过硬件验证。

主要功能

  1. 01读取当前重量并可等待稳定
  2. 02记录重量序列并汇总统计数据
  3. 03执行天平去皮和置零
  4. 04调整环境条件滤波
  5. 05锁定或解锁键盘
  6. 06运行内置内部调整

适用场景

  1. 01对容器去皮并读取稳定样品重量
  2. 02随时间跟踪蒸发或漂移
  3. 03为振动台面调整滤波设置
  4. 04测量前运行内部调整

MCP 相关

通过 MCP 工具提供 SBI 天平读数、重量记录、去皮和置零、滤波与键盘控制以及内部调整。只读模式允许称重,但会阻止去皮、置零和调整。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"k-dense-ai-labmcp-sartorius": {
"command": "uvx",
"args": [
"labmcp-sartorius"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}
启动命令uvx labmcp-sartorius
需要配置的环境变量
LABMCP_ADDRESSInstrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025
LABMCP_SIMULATESet to 1 to use the built-in simulator (no hardware)
LABMCP_READ_ONLYSet to 1 to disable all state-changing tools
LABMCP_LIMITSSafety limit overrides, e.g. max_temperature_c=80

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypilabmcp-sartorius0.1.2

工具

10

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

Sartorius 天平 — MCP 服务

通过文档所述的 SBI(Sartorius Balance Interface)ASCII 协议,让 AI Agent 使用 Sartorius 实验室天平称量样品、去皮、记录漂移和蒸发,并执行内部调整。

软件包labmcp-sartorius
仪器Cubis MSE、Cubis II MCA、Secura、Quintix、Practum、Entris II;使用 --option legacy=true 可支持较旧的 CP/CPA 系列天平。其他 SBI 天平也可能适用
接口RS-232、USB(虚拟 COM 端口,“PC-SBI”)、以太网(Cubis II 的“通过以太网进行串行传输”,或任何串行转以太网适配器)
协议SBI:Entris II 接口说明(2020 年 10 月技术说明)、Secura/Quintix/Practum 用户手册 §10.3(WSE6004)、Cubis MSE 操作说明(WMS6004)、Cubis MCA 操作说明(WMC6028)、SBI 接口说明(98647-000-53)
状态🧪 模拟:已通过线路级 SBI 模拟器测试,尚未在硬件上验证。报告硬件测试结果

无需硬件即可试用

uvx labmcp-sartorius --simulate --check

连接天平

  1. 天平设置:将所用接口(RS232、USB-B / “PC-SBI”或以太网)设为 SBI 协议,并将 SBI 数据输出设为手动、无稳定性检测,同时关闭自动输出(Cubis II 和 Entris II 的出厂设置)。启用自动打印时,ESC P 会切换自动输出,而不会发送一次读数。两种行格式均可使用(16 个字符,或带 ID 代码的 22 个字符)。
  2. 串行设置:出厂设置为9600 波特、8 个数据位、奇校验、1 个停止位,并启用硬件握手(Cubis II/MSE、Secura/Quintix/Practum、Entris II)。服务使用这些设置,但不会强制启用 RTS/CTS(它会保持 RTS 有效,使天平能够传输数据;USB 虚拟 COM 端口通常不会启用 CTS)。添加 ?rtscts=true 可强制启用 RTS/CTS;如果天平使用不同设置,例如添加 ?bytesize=7&parity=E。
  3. 查找端口:uvx labmcp ports
  4. 测试连接:
    uvx labmcp-sartorius --address /dev/ttyUSB0 --check                 # Linux
    uvx labmcp-sartorius --address /dev/tty.usbmodem14201 --check       # macOS
    uvx labmcp-sartorius --address COM4 --check                         # Windows
    uvx labmcp-sartorius --address tcp://192.168.1.61:49155 --check     # Cubis II via Ethernet (port as configured)
    
    --check 会在天平支持时打印型号、序列号和软件版本(ESC x1_、x2_、x3_)。

添加到 MCP 客户端

Claude Code

claude mcp add balance -- uvx labmcp-sartorius --address /dev/ttyUSB0

Claude Desktop / Cursor / Windsurf(claude_desktop_config.json、.cursor/mcp.json、……)

{
  "mcpServers": {
    "balance": {
      "command": "uvx",
      "args": ["labmcp-sartorius", "--address", "/dev/ttyUSB0"]
    }
  }
}

添加 --read-only 可允许称量,但会阻止去皮、归零和调整。对于其他客户端:uvx labmcp config sartorius-balance --address /dev/ttyUSB0 --client vscode。

工具

工具类型说明
get_command_log👁 读取返回最近发送给仪器的原始命令和收到的回复(最新的排在最后)。适用于调试和记录操作。
get_connection_info👁 读取报告当前连接的仪器(身份、地址、模拟或真实)、服务是否为只读,以及当前安全限制。请先调用此工具。
lock_keypad🎛 控制禁用或启用天平按键,例如在长时间记录期间防止有人意外去皮。
log_weight_series👁 读取记录一系列即时(未经滤波)的读数,以监测漂移、蒸发、吸湿或稳定情况。返回每个读数和汇总统计数据。
read_weight👁 读取读取天平当前净重(ESC P)。设置 stable=True 后,服务会持续轮询,直到天平报告数值稳定;如果无法稳定(气流、振动、蒸发等原因),则会报错;请重试,或使用 stable=false 获取当前读数。
reconnect🛑 安全关闭并重新打开与仪器的连接(例如,仪器断电重启或重新插拔线缆后)。
run_internal_adjustment🎛 控制使用天平内置砝码进行调整(校准)(ESC Z;仅限 isoCAL 型号)。秤盘必须为空,且天平不得受到干扰。SBI 不会发送完成消息,因此服务会监测调整状态,并等待天平恢复称重;请检查 observed_adjustment,以及天平显示屏或 GLP 打印输出以确认结果。
set_ambient_conditions🎛 控制根据环境条件调整天平的滤波器(ESC K/L/M/N)。如果工作台有气流或振动,请使用 'unstable' 或 'very_unstable'(读数更慢,但更稳定)。
tare🎛 控制对天平去皮(ESC U,或旧款天平使用 ESC T):将当前载荷(例如空容器)设为皮重。随后等待读数稳定,并检查数值是否约为 0;然后返回该读数。
zero🎛 控制将天平归零(ESC V)。仅当秤盘(几乎)为空且读数处于天平的置零范围内时才有效;此操作会清除皮重。随后通过读取约为 0 的数值来确认。

安全限制

限制默认值含义
max_series_duration_s600 sAgent 可启动的最长称重记录序列

启动时覆盖:--limit max_series_duration_s=3600。无论限制设置为何,单个序列最长为一小时(工具的时间限制)。此服务没有任何工具会移动物体或加热,因此没有危险工具。

示例提示词

  • “对天平去皮,然后在我放入样品后,等读数稳定时告诉我重量。”
  • “每隔 10 s 记录一次重量,持续 5 分钟,并告诉我蒸发速率(mg/min)。”
  • “称取约 250 mg:每隔几秒读取一次,并告诉我还要加多少,直到误差在 ±2 mg 以内。”
  • “今天工作台在振动;将天平滤波器切换到不稳定条件,并锁定按键。”
  • “开始绘制校准曲线前,运行一次内部调整,并告诉我是否成功运行。”

注意事项

  • 稳定性由单位符号判断。 SBI 没有明确的稳定标志:称重仪器仅在读数稳定时发送单位符号(第 12–14 位)(“如果称重系统尚未稳定,则不会输出单位符号”,接口说明 98647-000-53;较新的手册将这些位置列为“单位符号或空格”)。因此,read_weight(stable=true) 会轮询 ESC P,直到收到包含单位的读数。不稳定读数会报告上一次读取到的单位。
  • 行格式。 解析器遵循文档记载的固定宽度布局:16 个字符(符号、值位于第 2–10 位、单位位于第 12–14 位、CR LF)和 22 个字符(6 个字符的 ID 代码,例如 N、G#、T、Stat,后接相同的 16 个字符)。它还支持 Cubis II 的“单行完整长度”格式、小数逗号,以及 G#/T/N 称重数据块(会报告 N 行)。High、Low、Err ###、APP.ERR、DIS.ERR 和 PRT.ERR 均会作为明确错误报告。
  • 无确认响应。 SBI 控制命令(ESC U 去皮、ESC V 置零、ESC Z 调整、ESC K–N 滤波、ESC O/R 按键)不会产生回复,因此不支持相应命令的称重仪器会直接忽略它们。tare 和 zero 因此会等待稳定读数并检查读数是否约为 0,否则报告错误。
  • 置零与去皮。 ESC V 仅在称重仪器的置零范围内(秤盘几乎为空)置零;ESC U 则可对任意载荷去皮。较旧的称重仪器(CP/CPA、LE 等)只有 ESC T(去皮键);请使用 --option legacy=true 启动服务。
  • 内部调整(未经验证)。 对于内置砝码的称重仪器,ESC Z 会启动 isoCAL。SBI 不会发送完成或结果消息;服务会监测 Cal. 状态(或称重仪器忙到无法响应的情况),并再次等待稳定读数。如果始终未检测到该状态,则报告 observed_adjustment=false。请在显示屏或 GLP 打印输出上确认结果。手册中无法确认调整期间状态输出的具体内容。
  • 身份信息回复(格式未经验证)。 ESC x1_/x2_/x3_ 会输出型号、序列号和软件版本;其确切格式未见文档记载,因此会按原样传递文本。
  • 命令日志会以十六进制形式显示 SBI 通信(1b 50 0d 0a = ESC P CR LF),因为其中包含 ESC 字符。
  • 尚未实现:防风罩和离子发生器命令(仅限 Cubis MSE)、外部调整(ESC W,需要参考砝码)、ESC S 重启,以及功能键命令。

硬件验证

型号固件接口验证者日期
暂无:成为首位验证者

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。