关于 Pfeiffer Vacuum Gauge Controller
面向 Pfeiffer Vacuum TPG 压力计控制器的 MCP 服务,可读取和记录压力,并管理电离规。开启电离规前会检查压力。
主要功能
- 01读取单个或全部压力计读数
- 02记录压力序列并保存 CSV
- 03识别已连接的压力计
- 04更改压力单位
- 05经压力检查后切换电离规
- 06读取控制器错误
适用场景
- 01监测腔体和前级管路压力
- 02记录抽气或压力回升曲线
- 03识别压力计及其电源状态
- 04确认压力后开启电离规
MCP 相关
向 MCP 客户端提供压力读取、记录、压力计识别和控制工具。它通过 USB 串口、以太网或 RS-232 连接支持的控制器。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx labmcp-pfeiffer-tpgLABMCP_ADDRESSInstrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025LABMCP_SIMULATESet to 1 to use the built-in simulator (no hardware)LABMCP_READ_ONLYSet to 1 to disable all state-changing toolsLABMCP_LIMITSSafety limit overrides, e.g. max_temperature_c=80本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
11收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Pfeiffer 真空计控制器 — MCP 服务
让 AI Agent 读取并记录腔室和前级管路的压力、识别已连接的真空计、更改压力单位,以及开启和关闭电离真空计(关闭前会检查压力),适用于 Pfeiffer Vacuum TPG 总压力真空计控制器。
| 软件包 | labmcp-pfeiffer-tpg |
| 仪器 | TPG 361 SingleGauge、TPG 362 DualGauge、TPG 366 MaxiGauge(ActiveLine 真空计);TPG 261 / TPG 262(紧凑型真空计) |
| 接口 | TPG 36x:USB type B(虚拟 COM 端口)、以太网(TCP 端口 8000);TPG 26x:RS-232 |
| 协议 | Pfeiffer 助记符协议,ACK/NAK + ENQ(TPG 361/362 通信协议 BG 5510 BEN、TPG 366 通信协议 BG 5511 BEN、TPG 262 操作说明 BG 805 196 BE 第 5 节;原始资料见 Pfeiffer 下载中心) |
| 状态 | 🧪 模拟:已通过协议的字节级模拟器测试,尚未在硬件上验证。报告硬件测试结果 |
无需硬件即可试用
uvx labmcp-pfeiffer-tpg --simulate --check # TPG 362: FullRange gauge + Pirani
uvx labmcp-pfeiffer-tpg --simulate --option model=tpg366 --check # 6 channels incl. a cold cathode gauge
模拟腔室的压力会从 8e-5 mbar 逐渐下降至 2e-7 mbar(时间常数为 10 min),前级管路压力则维持在约 2.4e-2 mbar。
连接控制器
- 协议(TPG 36x): PROTOCOL 参数必须设为 AUTO(出厂设置)或 MNE(助记符),而非 PV(Pfeiffer Vacuum 电报协议)。
- USB(TPG 36x): USB type B 端口会显示为虚拟 COM 端口。出厂设置为 9600 波特、8N1(参数 BAUD USB;也可设为 19200-115200)。
- 以太网(TPG 36x、TPG 366): 设置 DHCP 或静态 IP(通过前面板或 Pfeiffer 的 Ethernet Configuration Tool);命令端口固定为 8000。
- RS-232(TPG 261/262): 默认设置为 9600 波特、8N1,仅使用 TXD/RXD。
- 测试连接:
使用uvx labmcp-pfeiffer-tpg --address /dev/ttyUSB0 --check uvx labmcp-pfeiffer-tpg --address COM3 --check uvx labmcp-pfeiffer-tpg --address "serial://COM3?baudrate=115200" --check uvx labmcp-pfeiffer-tpg --address tcp://192.168.1.70:8000 --checkAYT检测型号(TPG 36x);不支持AYT的控制器会被视为 TPG 26x。使用--option model=tpg261(或tpg262、tpg361、tpg362、tpg366)可明确指定型号。
添加到 MCP 客户端
Claude Code
claude mcp add vacuum -- uvx labmcp-pfeiffer-tpg --address tcp://192.168.1.70:8000
Claude Desktop / Cursor / Windsurf(claude_desktop_config.json、.cursor/mcp.json 等)
{
"mcpServers": {
"vacuum": {
"command": "uvx",
"args": ["labmcp-pfeiffer-tpg", "--address", "tcp://192.168.1.70:8000"]
}
}
}
添加 --read-only 可允许读取和记录数据,但会禁止更改单位和开启真空计(仍可使用 switch_gauge_off)。对于其他客户端,可通过 uvx labmcp config pfeiffer-tpg --address tcp://192.168.1.70:8000 --client vscode 生成配置片段(也支持 cursor、codex、claude-code)。
工具
| 工具 | 类型 | 描述 |
|---|---|---|
get_command_log | 👁 读取 | 返回最近发送给仪器的原始命令和收到的回复(最新的排在最后)。适用于调试和记录已执行的操作。 |
get_connection_info | 👁 读取 | 报告当前连接的仪器(身份、地址、模拟或真实)、服务是否为只读,以及当前生效的安全限制。请先调用此工具。 |
get_errors | 👁 读取 | 读取(并清除)控制器的 ERROR 字:控制器错误、无硬件、参数不允许或语法错误。空列表表示无错误。 |
get_gauge_types | 👁 读取 | 列出各通道(TID)连接的规管、规管类型,以及电离规管当前是开启还是关闭(SEN)。 |
log_pressure_series | 👁 读取 | 按固定间隔记录压力(例如抽空曲线、漏气速率/压力上升率测试或烘烤)。返回每个通道的对数空间统计数据和降采样后的序列;完整序列可写入新的 CSV 文件(绝不覆盖现有文件)。受 max_log_duration_s 限制,每次调用最多记录 2 小时。 |
read_all_pressures | 👁 读取 | 一次读取控制器的所有通道(PRX),并提供各通道的状态。 |
read_pressure | 👁 读取 | 读取一个规管通道:状态、显示单位下的压力以及以 mbar 为单位的压力。 |
reconnect | 🛑 安全 | 关闭并重新打开与仪器的连接(例如仪器断电重启或重新插接电缆后)。 |
set_gauge_power | ⚠️ 危险 | 开启或关闭电离规管(IKR、PKR、PBR、IMR)(SEN)。在高压下开启热阴极或冷阴极规管可能烧毁灯丝或污染规管,因此只有当该规管或 reference_channel 的有效读数不高于 max_switch_on_pressure_mbar 时,才允许开启。关闭规管可能会触发用作联锁的设定点继电器。 |
set_unit | 🎛 控制 | 更改显示屏和接口使用的压力单位(UNI)。无论此设置如何,读数都会包含以 mbar 为单位的数值。 |
switch_gauge_off | 🛑 安全 | 关闭电离规管(例如在放气前或压力上升时)。始终允许关闭。请注意,分配给此通道的设定点继电器可能会改变状态。 |
get_connection_info、get_command_log 和 reconnect 内置于每个 LabMCP 服务中。
安全限制
| 限制 | 默认值 | 含义 |
|---|---|---|
max_switch_on_pressure_mbar | 1e-2 mbar | 仅当有效读数(来自该规管本身或 reference_channel)不高于此压力时,才可开启电离规管 |
max_log_duration_s | 3600 s | Agent 可启动的 log_pressure_series 最长记录时长 |
启动时覆盖:--limit max_switch_on_pressure_mbar=1e-3 --limit max_log_duration_s=7200。一次 log_pressure_series 调用最多记录 2 小时(工具的超时时间);若需进行更长时间的烘烤记录,请分多次连续调用,并分别保存到不同文件。save_path 必须以 .csv 结尾,且文件必须尚不存在(绝不覆盖现有文件);此项会在开始记录前检查。
示例提示词
- “现在的腔室压力是多少?前级管路压力是否低于 5e-2 mbar?”
- “每隔 10 s 记录所有规管的数据,持续 30 分钟,并告诉我腔室每分钟抽低了多少个数量级。”
- “关闭阀门,然后每隔 2 s 记录通道 1 的数据,持续 5 分钟,以便我估算漏气速率。”
- “连接了哪些规管?其中哪些是已关闭的电离规管?”
- “FullRange 规管显示腔室压力低于 1e-5 mbar。请使用通道 1 作为参考,开启通道 3 上的冷阴极规管。”
注意事项
- 切换离子化规管的电源是风险所在。 热阴极(Bayard-Alpert)灯丝可能烧毁,冷阴极(Penning)规管在高压下运行时会受到污染。
set_gauge_power(on=True)要求该规管自身或同一真空系统中reference_channel的读数状态为 ok,且读数不高于max_switch_on_pressure_mbar。不接受来自 Pirani 的 underrange 读数作为证明(控制器在欠量程时报告什么并未指定),因此在 Pirani + Penning 配置中,应在控制器上开启 Penning 规管,或使用 FullRange 规管作为参考。默认值 1e-2 mbar 是典型冷阴极测量范围的上限;请查看规管手册,如有建议,则对热灯丝规管调低此值。 - 关闭规管电源(
switch_gauge_off或set_gauge_power(on=False))可能会更改分配给该通道的设定点(开关功能)继电器状态,而这些继电器可能连接到阀门或泵的联锁装置。 - 每个压力值都附带控制器状态:ok、underrange、overrange、sensor error、sensor off、no sensor 或 identification error。只有状态为 ok 时才会填入
pressure;raw_value是控制器发送的值。数值会转换为 mbar(1 Torr = 1.333224 mbar);在 V 模式下不进行转换。 - 每条命令都会等待 ACK/NAK;收到 NAK 后会读取并报告 ERROR 字(控制器错误、无硬件、参数不允许、语法错误)。
get_errors会读取并清除此错误字。 - 未提供除气、滤波器、校准系数、开关功能设定点、规管控制(热启动/自控)、数据记录器和 Pfeiffer Vacuum (PV) 电报协议。尚未测试 RS-485 多点运行。
硬件验证
| 型号 | 固件 | 接口 | 验证者 | 日期 |
|---|---|---|---|---|
| 尚无: 抢先验证 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。