关于 IKA Hotplate & Overhead Stirrer
面向实验室的 MCP 服务,通过 IKA NAMUR 命令控制热板搅拌器和顶置搅拌器,可设置加热与搅拌并读取温度、转速和扭矩。支持通信看门狗;目前仅经线路级模拟器测试,尚未在真实设备验证。
主要功能
- 01读取温度、转速与扭矩
- 02设置并启动加热和搅拌
- 03等待温度达到稳定目标
- 04启用热板通信看门狗
- 05停止设备并设置运行上限
适用场景
- 01加热样品并监测介质温度
- 02按目标转速搅拌混合物
- 03等待温度稳定后继续实验
- 04通信中断时触发热板安全行为
MCP 相关
该 MCP 服务向客户端提供 IKA 搅拌器的状态读取、加热与搅拌控制工具。可设置只读模式、温度和转速上限,并控制热板通信看门狗。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx labmcp-ikaLABMCP_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
14收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
IKA 加热磁力搅拌器与顶置式搅拌器 — MCP 服务
让 AI Agent 通过 IKA 记录的 NAMUR 接口命令,控制 IKA 加热磁力搅拌器(C-MAG HS control、IKA Plate / RCT digital)加热和搅拌,并驱动 IKA 顶置式搅拌器(EUROSTAR control):读取加热板、探头和介质温度,以及转速和扭矩;设置并启动加热和搅拌;等待达到指定温度;并启用加热板的硬件看门狗,使其在计算机停止通信时自动关闭。
| 软件包 | labmcp-ika |
| 仪器 | 加热磁力搅拌器:C-MAG HS 7 control、IKA Plate (RCT digital)。顶置式搅拌器(--option device=overhead):EUROSTAR 60 control、EUROSTAR 100 control。其他采用相同 NAMUR 命令集的 IKA 设备可能也能使用,但尚未验证 |
| 接口 | RS-232(9 针,PC 1.1 电缆)、USB(虚拟 COM 端口) |
| 协议 | IKA NAMUR 命令,见操作说明书中的“Interfaces and outputs”部分:IKA Plate (RCT digital)(11/2018)、C-MAG HS 7 control(11/2018)、EUROSTAR 60/100 control(20000003965c)。官方下载:ika.com |
| 状态 | 🧪 模拟:已通过线路级 NAMUR 模拟器测试,尚未在硬件上验证。报告硬件测试结果 |
无需硬件即可试用
uvx labmcp-ika --simulate --check
uvx labmcp-ika --simulate --option device=overhead --check # EUROSTAR simulator
连接搅拌器
- **电缆:**USB A–B(搅拌器会显示为虚拟 COM 端口;在 Windows 上安装 IKA 的 USB 驱动,链接见手册),或 9 针 RS-232 PC 1.1 电缆。无需在设备上进行任何设置。接口固定为 9600 波特率、7 个数据位、偶校验、1 个停止位、无流控,每条命令以空格 + CR LF 结尾。
- 查找端口:
uvx labmcp ports - 测试连接:
uvx labmcp-ika --address /dev/ttyACM0 --check # Linux, hotplate uvx labmcp-ika --address /dev/tty.usbmodem14101 --check # macOS uvx labmcp-ika --address COM5 --check # Windows uvx labmcp-ika --address COM6 --option device=overhead --check # EUROSTAR--check会显示设备报告的名称(IN_NAME)。
添加到 MCP 客户端
Claude Code
claude mcp add ika -- uvx labmcp-ika --address /dev/ttyACM0 --limit max_temperature_c=120
Claude Desktop / Cursor / Windsurf(claude_desktop_config.json、.cursor/mcp.json,……)
{
"mcpServers": {
"ika": {
"command": "uvx",
"args": ["labmcp-ika", "--address", "/dev/ttyACM0", "--limit", "max_temperature_c=120"]
}
}
}
添加 --read-only 以仅启用监控(停止工具仍可用)。其他客户端请使用:uvx labmcp config ika-stirrer --address /dev/ttyACM0 --client vscode。
工具
| 工具 | 类型 | 描述 |
|---|---|---|
disable_watchdog | 🎛 control | 取消看门狗模式 2(OUT_WD2@0)并停止后台刷新。看门狗模式 1 没有取消命令;对此模式调用此工具会报错。 |
enable_watchdog | 🎛 control | 启用加热板的通信看门狗(OUT_WD1@m / OUT_WD2@m)。随后,服务会在后台重新发送看门狗命令;如果电脑、此服务或电缆发生故障,加热板会在 timeout_s 后关闭加热和搅拌(模式 1),或恢复为指定的安全值(模式 2)。注意:停止或重新连接服务也会停止刷新,因此除非重新启用看门狗,否则看门狗会触发。无法通过接口取消模式 1。 |
get_command_log | 👁 read | 返回最近发送到仪器的原始命令和收到的回复(最新记录在最后)。可用于调试和记录操作内容。 |
get_connection_info | 👁 read | 报告当前连接的仪器(身份、地址、模拟设备或真实设备)、服务是否为只读,以及当前生效的安全限制。请先调用此工具。 |
get_status | 👁 read | 读取温度、搅拌速度和设定值。对于加热板:读取加热板和外部探头温度、温度设定值及设备的安全回路温度。对于顶置式搅拌器:读取 PT1000 探头温度、扭矩,以及设备上设置的转速和扭矩限制。 |
reconnect | 🛑 safety | 关闭并重新打开与仪器的连接(例如,仪器断电重启或电缆重新插接后)。 |
set_speed | ⚠️ hazard | 设置搅拌速度设定值(OUT_SP_4)。不会启动电机;如果电机已经运行,速度会立即改变。超过 max_speed_rpm(对于顶置式搅拌器,还超过设备上设置的转速限制)时会被拒绝。 |
set_temperature | ⚠️ hazard | 设置加热板温度设定值(OUT_SP_1)。连接外部探头时,此设定值是介质的目标温度。不会启动加热;如果加热已经开启,加热板会立即开始升至新的设定值。超过 max_temperature_c 或设备自身安全回路温度时会被拒绝。 |
start_heating | ⚠️ hazard | 打开加热板加热器(START_1)。加热器会升至当前设定值;首先会检查该设定值是否超过 max_temperature_c。请确保容器及其内容物能够承受设定温度,并确保加热板附近没有易燃物。 |
start_stirring | ⚠️ hazard | 按当前速度设定值启动搅拌电机(START_4);首先会检查该设定值是否超过 max_speed_rpm。请确保搅拌子或叶轮已就位,且容器已固定(搅拌子脱耦或容器未夹紧可能导致液体飞溅)。 |
stop_all | 🛑 safety | 紧急停止:关闭加热器(加热板)并停止电机。即使某个停止命令失败,也会发送所有停止命令。此操作也会结束正在运行的 wait_for_temperature。 |
stop_heating | 🛑 safety | 关闭加热板加热器(STOP_1)。搅拌会继续进行。关闭加热后,加热板会长时间保持高温。 |
stop_stirring | 🛑 safety | 停止搅拌电机(STOP_4)。如果加热已开启,则会继续加热。 |
wait_for_temperature | 👁 read | 持续轮询温度,直到温度在目标值的 tolerance_c 范围内保持 stable_for_s 秒,或经过 timeout_s 秒。不会更改设备上的任何设置(请先启动加热)。返回是否达到目标温度,以及一段简短的温度记录。收到停止命令后会提前结束等待。 |
安全限制
| 限制 | 默认值 | 含义 |
|---|---|---|
max_temperature_c | 150 °C | Agent 可设置的最高加热板设定温度(在 start_heating 前以及看门狗备用温度检查中也会进行检查) |
max_speed_rpm | 1000 rpm | Agent 可设置的最高搅拌速度(在 start_stirring 前也会进行检查) |
max_wait_s | 3600 s | wait_for_temperature 的最长等待时间 |
启动时可覆盖,例如 --limit max_temperature_c=250 --limit max_speed_rpm=1500。除此之外,加热板会拒绝高于其自身安全电路温度的设定值(使用设备上的螺丝刀旋钮设置,通过 IN_SP_3 读取),顶置式搅拌器会拒绝高于设备菜单中设定的速度限制的转速(IN_SP_6);服务会在发送前检查这两项。
示例提示词
- “使用外部探头将圆底烧瓶加热至 65 °C,以 400 rpm 搅拌,并在温度稳定一分钟后告诉我。”
- “将看门狗设为 60 s,然后开始加热至 80 °C。我要让它整夜运行。”
- “冷却时每隔 30 s 记录一次介质温度,并在温度低于 30 °C 时告诉我。”
- “将 EUROSTAR 转速逐步升至 300 rpm 并报告扭矩;混合物越来越黏稠了。”
- “闻起来不太对劲,马上停止所有操作。”
说明
- 两种设备类型。 默认值为
--option device=hotplate。顶置式搅拌器需要使用--option device=overhead;它们没有加热器,通过IN_PV_3报告 PT1000 探头读数,通过IN_PV_5报告扭矩。不适用于所配置设备类型的工具会返回明确错误,且不会发送任何内容。 - 无法查询加热器状态。 NAMUR 命令集中没有“加热器是否开启?”命令,因此
get_status会报告此服务最近发送的启动/停止命令(heating_commanded、stirring_commanded),未知时则为None。前面板按钮可以更改状态,而服务无法知晓。 - 设定值会读回校验:调用
set_temperature/set_speed后会读取设定值(IN_SP_1/IN_SP_4);如果设备报告的值不同,则会返回warning。 - 看门狗(加热板,
OUT_WD1@m/OUT_WD2@m,20–1500 s):enable_watchdog会启用看门狗,服务会在后台每隔看门狗时间的四分之一重新发送命令。如果服务或计算机发生故障,或线缆被拔掉,加热板会关闭加热和搅拌(模式 1),或回退到安全温度和速度(模式 2)。停止或重新连接服务也会停止刷新,因此看门狗会触发。模式 1 没有文档记录的取消命令;模式 2 使用OUT_WD2@0取消。手册不同章节中的看门狗错误代码不一致(ER 2 与 Err. 1/Err. 2);触发状态会显示在设备屏幕上,而不会通过接口报告。 - 未验证的回复格式。 IKA 手册记录了命令,但未说明确切的回复行格式。驱动会读取行中的第一个数字(据报告,设备会在末尾附加通道号,例如
25.3 2),因此两种格式都适用。未插入外部探头时IN_PV_1报告的值没有文档说明;如果没有探头,请忽略external_temperature_c。 - IKA 手册将终止符写作“Blank CR LF (hex 0x20 0x0d 0x20 0x0A)”;多出的 0x20 与文本(“Blank CR LF”)矛盾,因此视为笔误,服务会发送
0x20 0x0D 0x0A。 - 尚未实现:
SET_MODE_n(更改开机运行模式 A/B/D,属于持久设置)和RESET;顶置式搅拌器的扭矩/速度限制写入(OUT_SP_5/6/8)以及方向更改(OUT_MODE_n)。
硬件验证
| 型号 | 固件 | 接口 | 验证者 | 日期 |
|---|---|---|---|---|
| 暂无: 成为首位验证者 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。