laiyu_add_solid:
  class:
    action_value_mappings:
      add_powder_tube:
        feedback: {}
        goal:
          compound_mass: compound_mass
          powder_tube_number: powder_tube_number
          target_tube_position: target_tube_position
        goal_default:
          compound_mass: 0.0
          powder_tube_number: 0
          target_tube_position: ''
        handles: []
        result:
          actual_mass_mg: actual_mass_mg
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: SolidDispenseAddPowderTube_Feedback
              type: object
            goal:
              properties:
                compound_mass:
                  type: number
                powder_tube_number:
                  maximum: 2147483647
                  minimum: -2147483648
                  type: integer
                target_tube_position:
                  type: string
              required:
              - powder_tube_number
              - target_tube_position
              - compound_mass
              title: SolidDispenseAddPowderTube_Goal
              type: object
            result:
              properties:
                actual_mass_mg:
                  type: number
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - actual_mass_mg
              - success
              title: SolidDispenseAddPowderTube_Result
              type: object
          required:
          - goal
          title: SolidDispenseAddPowderTube
          type: object
        type: SolidDispenseAddPowderTube
      auto-calculate_crc:
        feedback: {}
        goal: {}
        goal_default:
          data: null
        handles: []
        result: {}
        schema:
          description: Modbus CRC-16校验码计算函数。计算Modbus RTU通信协议所需的CRC-16校验码，确保数据传输的完整性和可靠性。该函数实现标准的CRC-16算法，用于构造完整的Modbus指令帧。
          properties:
            feedback: {}
            goal:
              properties:
                data:
                  type: string
              required:
              - data
              type: object
            result: {}
          required:
          - goal
          title: calculate_crc参数
          type: object
        type: UniLabJsonCommand
      auto-send_command:
        feedback: {}
        goal: {}
        goal_default:
          command: null
        handles: []
        result: {}
        schema:
          description: Modbus指令发送函数。构造完整的Modbus RTU指令帧（包含CRC校验），发送给分装设备并等待响应。该函数处理底层通信协议，确保指令的正确传输和响应接收，支持最长3分钟的响应等待时间。
          properties:
            feedback: {}
            goal:
              properties:
                command:
                  type: string
              required:
              - command
              type: object
            result: {}
          required:
          - goal
          title: send_command参数
          type: object
        type: UniLabJsonCommand
      discharge:
        feedback: {}
        goal:
          float_input: float_input
        goal_default:
          float_in: 0.0
        handles: []
        result: {}
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: FloatSingleInput_Feedback
              type: object
            goal:
              properties:
                float_in:
                  type: number
              required:
              - float_in
              title: FloatSingleInput_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - success
              title: FloatSingleInput_Result
              type: object
          required:
          - goal
          title: FloatSingleInput
          type: object
        type: FloatSingleInput
      move_to_plate:
        feedback: {}
        goal:
          string: string
        goal_default:
          string: ''
        handles: []
        result: {}
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: StrSingleInput_Feedback
              type: object
            goal:
              properties:
                string:
                  type: string
              required:
              - string
              title: StrSingleInput_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - success
              title: StrSingleInput_Result
              type: object
          required:
          - goal
          title: StrSingleInput
          type: object
        type: StrSingleInput
      move_to_xyz:
        feedback: {}
        goal:
          x: x
          y: y
          z: z
        goal_default:
          x: 0.0
          y: 0.0
          z: 0.0
        handles: []
        result: {}
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: Point3DSeparateInput_Feedback
              type: object
            goal:
              properties:
                x:
                  type: number
                y:
                  type: number
                z:
                  type: number
              required:
              - x
              - y
              - z
              title: Point3DSeparateInput_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - success
              title: Point3DSeparateInput_Result
              type: object
          required:
          - goal
          title: Point3DSeparateInput
          type: object
        type: Point3DSeparateInput
      pick_powder_tube:
        feedback: {}
        goal:
          int_input: int_input
        goal_default:
          int_input: 0
        handles: []
        result: {}
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: IntSingleInput_Feedback
              type: object
            goal:
              properties:
                int_input:
                  maximum: 2147483647
                  minimum: -2147483648
                  type: integer
              required:
              - int_input
              title: IntSingleInput_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - success
              title: IntSingleInput_Result
              type: object
          required:
          - goal
          title: IntSingleInput
          type: object
        type: IntSingleInput
      put_powder_tube:
        feedback: {}
        goal:
          int_input: int_input
        goal_default:
          int_input: 0
        handles: []
        result: {}
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: IntSingleInput_Feedback
              type: object
            goal:
              properties:
                int_input:
                  maximum: 2147483647
                  minimum: -2147483648
                  type: integer
              required:
              - int_input
              title: IntSingleInput_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - success
              title: IntSingleInput_Result
              type: object
          required:
          - goal
          title: IntSingleInput
          type: object
        type: IntSingleInput
      reset:
        feedback: {}
        goal: {}
        goal_default: {}
        handles: []
        result: {}
        schema:
          description: ''
          properties:
            feedback:
              properties: {}
              required: []
              title: EmptyIn_Feedback
              type: object
            goal:
              properties: {}
              required: []
              title: EmptyIn_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
              required:
              - return_info
              title: EmptyIn_Result
              type: object
          required:
          - goal
          title: EmptyIn
          type: object
        type: EmptyIn
    module: unilabos.devices.laiyu_add_solid.laiyu:Laiyu
    status_types:
      status: str
    type: python
  description: 来渝固体粉末自动分装设备，用于实验室化学试剂的精确称量和分装。该设备通过Modbus RTU协议与控制系统通信，集成了精密天平、三轴运动平台、粉筒管理系统等组件。支持多种粉末试剂的自动拿取、精确称量、定点分装和归位操作。具备高精度称量、位置控制和批量处理能力，适用于化学合成、药物研发、材料制备等需要精确固体试剂配制的实验室应用场景。
  handles: []
  icon: ''
  init_param_schema:
    config:
      properties:
        baudrate:
          default: 115200
          type: string
        port:
          type: string
        timeout:
          default: 0.5
          type: string
      required:
      - port
      type: object
    data:
      properties:
        status:
          type: string
      required:
      - status
      type: object
  version: 0.0.1
