Skip to content

feat: add siheng_servo SDK for D-AIS48025A servo driver - #11

Merged
zc-xzc merged 1 commit into
mainfrom
feat/siheng-servo-sdk
Jul 23, 2026
Merged

feat: add siheng_servo SDK for D-AIS48025A servo driver#11
zc-xzc merged 1 commit into
mainfrom
feat/siheng-servo-sdk

Conversation

@zc-xzc

@zc-xzc zc-xzc commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

Add Python SDK for Shanghai Siheng D-AIS48025A low-voltage servo driver, controlled via USB-RS485 using Modbus RTU protocol.

Hardware

  • Driver: Siheng D-AIS48025A (DC 24-60V, 25A, RS485/CANopen)
  • Motor: M60AIS117-24-C01330-B2-5-Z (24V, 0.4kW, 1.27Nm, 3000RPM)
  • Interface: USB to RS485, baudrate 57600, Modbus RTU

Files (13 files, +4666 lines)

SDK package (siheng_servo_sdk/siheng_servo/)

  • __init__.py - package exports
  • constants.py - register address table (HXX_YY -> 0xXXYY)
  • exceptions.py - 6 custom exception types
  • client.py - SihengServo core client (speed/position/torque control, status)
  • lift.py - LiftController for lift mechanism (up/down/stop/positioning)
  • gui.py - PyQt5 GUI (speed slider, jog, emergency stop)

Tools & docs

  • setup.py - pip install config (entry point: siheng-gui)
  • example.py - 6 usage examples
  • README.md - full documentation
  • siheng_servo_gui.py - standalone GUI
  • siheng_auto_scan.py - auto-scan driver comm params
  • modbus_debug_gui.py - Modbus register probing tool
  • stepper_motor_gui.py - generic stepper motor GUI

Key features

  • Speed control: servo.run(500) / servo.stop() / servo.emergency_stop()
  • Lift control: lift.up() / lift.down() / lift.move_to_height(50)
  • Status monitoring: speed, position, torque, load, current, voltage, temp, fault
  • Auto 16/32-bit data handling with configurable word order
  • Context manager support

Test plan

  • Package imports successfully
  • Register address parsing verified (H06_03 -> 0x0603)
  • GUI initialization tested
  • Hardware communication test (baudrate 57600 confirmed)

Add Python SDK for Shanghai Siheng D-AIS48025A low-voltage servo driver, controlled via USB-RS485 using Modbus RTU protocol.

Includes:

- SihengServo client (speed/position/torque control, status monitoring)

- LiftController for lift mechanism (up/down/stop/positioning)

- PyQt5 GUI with speed slider, jog, emergency stop

- Auto-scan tool to detect driver communication parameters

- Modbus debug GUI for register probing

- Complete register address table (HXX_YY -> 0xXXYY mapping)

- 6 exception types, context manager support
@zc-xzc
zc-xzc merged commit c81070d into main Jul 23, 2026
2 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.

1 participant