Skip to main content

Modbus TCP client for robot control

Project description

AIM-tcp

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

Установка

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

pip install aim-tcp

Подключение

import 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.4.tar.gz (3.1 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.4-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aim_tcp-0.0.4.tar.gz
  • Upload date:
  • Size: 3.1 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.4.tar.gz
Algorithm Hash digest
SHA256 9bbf4cbde565ef5bbbc1da1d52a4843451f860a3814f805ad1bb563e4374cebe
MD5 321dd92a66a5530f0653da1b4f95e7b6
BLAKE2b-256 02e0426b8b68b07763db926979c656ad2a34a66be28191dfbcd7b1f929b6b6ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aim_tcp-0.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1f226983a6497947f0815639ac23218246f6a7bcd1ae9a65f14303cd7b5676ce
MD5 7c94aa238961207b4aa7b23d6694b2d6
BLAKE2b-256 2eb7a040034191ba2dc667e81799fbe604cb1527f531ffccab4de3aa51a514b7

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