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.3.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.3-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aim_tcp-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 97806940469048742613c684890c729f52064e3469c4539b7284f38aaaee32e3
MD5 f77084c3d477ea1fccac107bd827cd58
BLAKE2b-256 0161c8064250547d1e4604779360dc8f9a4446b732643fb56a8958a3ac08192c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aim_tcp-0.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 50a4306f56e83db1b07c170388286b740af59533c590b2f3bb41228e1b1f0309
MD5 4e42fc645f871408c123e24e0982b178
BLAKE2b-256 447a2f79afaf1496bb7b64632d3cbfb3dff6c1c9d8b231d07752d0b165fe300e

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