mcpField
P
Pfeiffer Vacuum Gauge Controller

Pfeiffer Vacuum Gauge Controller

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

关于 Pfeiffer Vacuum Gauge Controller

面向 Pfeiffer Vacuum TPG 压力计控制器的 MCP 服务,可读取和记录压力,并管理电离规。开启电离规前会检查压力。

主要功能

  1. 01读取单个或全部压力计读数
  2. 02记录压力序列并保存 CSV
  3. 03识别已连接的压力计
  4. 04更改压力单位
  5. 05经压力检查后切换电离规
  6. 06读取控制器错误

适用场景

  1. 01监测腔体和前级管路压力
  2. 02记录抽气或压力回升曲线
  3. 03识别压力计及其电源状态
  4. 04确认压力后开启电离规

MCP 相关

向 MCP 客户端提供压力读取、记录、压力计识别和控制工具。它通过 USB 串口、以太网或 RS-232 连接支持的控制器。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"k-dense-ai-labmcp-pfeiffer-tpg": {
"command": "uvx",
"args": [
"labmcp-pfeiffer-tpg"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}
启动命令uvx labmcp-pfeiffer-tpg
需要配置的环境变量
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-pfeiffer-tpg0.1.2

工具

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。

连接控制器

  1. 协议(TPG 36x): PROTOCOL 参数必须设为 AUTO(出厂设置)或 MNE(助记符),而非 PV(Pfeiffer Vacuum 电报协议)。
  2. USB(TPG 36x): USB type B 端口会显示为虚拟 COM 端口。出厂设置为 9600 波特、8N1(参数 BAUD USB;也可设为 19200-115200)。
  3. 以太网(TPG 36x、TPG 366): 设置 DHCP 或静态 IP(通过前面板或 Pfeiffer 的 Ethernet Configuration Tool);命令端口固定为 8000。
  4. RS-232(TPG 261/262): 默认设置为 9600 波特、8N1,仅使用 TXD/RXD。
  5. 测试连接:
    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 --check
    
    使用 AYT 检测型号(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_mbar1e-2 mbar仅当有效读数(来自该规管本身或 reference_channel)不高于此压力时,才可开启电离规管
max_log_duration_s3600 sAgent 可启动的 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 多点运行。

硬件验证

型号固件接口验证者日期
尚无: 抢先验证

评论

支持 Markdown

第一次接触 MCP?

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

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