Skip to content

Conversation

@Andy6M
Copy link
Collaborator

@Andy6M Andy6M commented Jan 15, 2026

Overview

This PR integrates two major features into the dev branch:

  1. JSON Configuration Migration for BioyondCellWorkstation (migrate from config.py to JSON)
  2. Material Search Dialog Auto-Handling for coin cell assembly workflow

Changes Summary

1. BioyondCell JSON Configuration Migration

  • Purpose: Migrate BioyondCellWorkstation configuration from hardcoded config.py to JSON structure
  • Key Changes:
    • Updated bioyond_cell_workstation.py to accept bioyond_config parameter from JSON
    • Replaced all global variable references with self.bioyond_config dictionary access
    • Added HTTP service de-duplication to prevent double initialization
    • Created nested config.bioyond_config structure in yibin_electrolyte_config.json
  • Files Changed:
    • unilabos/devices/workstation/bioyond_studio/bioyond_cell/bioyond_cell_workstation.py
    • unilabos/devices/workstation/station.py
    • yibin_electrolyte_config.json
  • Documentation: unilabos/devices/workstation/bioyond_studio/bioyond_cell/20260113_JSON配置迁移经验.md

2. Material Search Dialog Auto-Handling

  • Purpose: Automate material search confirmation dialog handling during device initialization
  • Key Features:
    • Automatic detection of material search dialog appearance (Modbus Coil 5176)
    • Auto-click "Yes" or "No" button based on material_search_enable parameter
    • Pulse-mode button simulation (True → 0.5s hold → False)
    • Integrated into initialization wait loop to prevent deadlock
  • Files Changed:
    • unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly.py
      • New method: _handle_material_search_dialog()
      • Enhanced: func_pack_device_init_auto_start_combined() with material_search_enable parameter
    • unilabos/registry/devices/coin_cell_workstation.yaml
    • unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly_b.csv (added 3 Modbus coil definitions)
  • Documentation: unilabos/devices/workstation/coin_cell_assembly/20260113_物料搜寻确认弹窗自动处理功能.md

Testing

  • ✅ JSON config migration tested with yibin_electrolyte_config.json
  • ✅ Material search dialog auto-handling tested on 2026-01-13 (successful automation)

Related Documentation

  • JSON migration guide: 20260113_JSON配置迁移经验.md
  • Material search feature doc: 20260113_物料搜寻确认弹窗自动处理功能.md

改进节点ID解析逻辑以支持多种格式,包括字符串和数字标识符
添加数据类型转换处理,确保写入值时类型匹配
优化错误提示信息,便于调试节点连接问题
添加后处理站的YAML配置文件,包含动作映射、状态类型和设备描述
… configurations

- Removed redundant action value mappings from bioyond_dispensing_station.
- Updated goal properties in bioyond_dispensing_station to use enums for target_stack and other parameters.
- Changed data types for end_point and start_point in reaction_station_bioyond to use string enums (Start, End).
- Simplified descriptions and updated measurement units from μL to mL where applicable.
- Removed unused commands from reaction_station_bioyond to streamline the configuration.
# Conflicts:
#	unilabos/device_comms/opcua_client/client.py
#	unilabos/device_comms/opcua_client/node/uniopcua.py
#	unilabos/registry/devices/post_process_station.yaml
ZiWei09 and others added 16 commits December 29, 2025 21:33
…rial search logic

- Migrate bioyond_cell config to JSON structure and remove global variable dependencies
- Implement material search confirmation dialog auto-handling
- Add documentation: 20260113_物料搜寻确认弹窗自动处理功能.md and 20260113_配置迁移修改总结.md
- Updated the module path for BioyondDispensingStation in bioyond_dispensing_station.yaml to reflect the new directory structure.
- Updated the module path for BioyondReactionStation and BioyondReactor in reaction_station_bioyond.yaml to align with the revised organization of the codebase.
- Update coin_cell_assembly.py with material search dialog handling
- Update YB_warehouses.py with latest warehouse configurations
- Remove outdated documentation and test data files
@Andy6M Andy6M requested a review from TablewareBox January 15, 2026 04:29
@ZiWei09 ZiWei09 merged commit a2e609e into dev Jan 15, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants