Skip to main content

Modbus TCP client for robot control

Project description

AMI-tcp

Modbus TCP клиент для управления роботами CHAIFU и АМИ. Библиотека предоставляет простой интерфейс для чтения и записи регистров по протоколу Modbus TCP.

Установка

Установка через пакетный менеджер pip.

pip install aim-tcp

Подключение

# Создаем объект робота с нужным IP и портом
robot = ModbusRobot(ip="192.168.1.50", port=502)

Основные методы

Запись в один регистр (16 бит) (FC06) Стандартный регистр Modbus вмещает только 16 бит (максимум 65 535)

robot.send_modbus_tcp(register=0x08, value=1) #записываем 1 в 8й регистр 

Запись 32-битного значения (FC10) Запись значения в два регистра

robot.send_modbus_tcp_32bit(start_register=0x02, value=150000)
# Для числа 150000 (в шестнадцатеричном виде это 0x000249F0):
# High Word (Старшее слово): (150000 >> 16) = 2 (0x0002)
# Low Word (Младшее слово): 150000 & 0xFFFF = 18928 (0x49F0)

Чтение регистров (FC04)

robot.read_modbus_tcp_registers(register=0x01, count=5)

Рисование круга в плоскости XY

robot.run_circle_XY_motion(X0=300, Y0=500, Z0=1200, R=100, delay_ms=2, repeat_count=5)
# Выполнит круг 5 раз с задержкой 2мс

Функция run_circle_motion

Математика использует векторы для перемещения по окружности в 3D пространстве. Векторы vector_u и vector_v должны быть ортогональны (их скалярное произведение равно нулю)

Плоскость XY (горизонтальная вдоль оси Z): vector_u = (1, 0, 0), vector_v = (0, 1, 0)
Плоскость XZ (вертикальная вдоль оси X): vector_u = (1, 0, 0), vector_v = (0, 0, 1)
Плоскость YZ (вертикальная вдоль оси Y): vector_u = (0, 1, 0), vector_v = (0, 0, 1)
Наклонная плоскость: задайте два вектора, которые лежат в нужной плоскости и перпендикулярны друг другу.

robot.run_circle_motion(X0=300, Y0=500, Z0=1200, R=100, delay_ms=2, vector_u=(1, 0, 0), vector_v=(0, 0, 1), repeat_count=2)

Примечание:

Библиотека разработана для работы с промышленными роботами, поддерживающими протокол Modbus TCP. Протестирована на оборудовании АМИ М25-Д1830.

Лицензия

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aim_tcp-0.0.2.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aim_tcp-0.0.2-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file aim_tcp-0.0.2.tar.gz.

File metadata

  • Download URL: aim_tcp-0.0.2.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for aim_tcp-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6da289bc602fdd2c2e028e3354807068b87d571ecb4276761038507e6dca3458
MD5 9bc312a9fb32d2f902012a8664db98b9
BLAKE2b-256 c73ed71eea2be7f272849fd48d38d85d6e29ef30ecb1477298674ae43bc8d16a

See more details on using hashes here.

File details

Details for the file aim_tcp-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: aim_tcp-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for aim_tcp-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b9b09ef84c9ffcef6baea582e30a90b022876608695d1a5c8a4f05bfabb0c742
MD5 d7489d6b297666a9efe4ba73a7bb3a7a
BLAKE2b-256 05723cc1aa8060e785ac0cf8e116e9572dbacb376d6de8b86afd76603b362dd7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page