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.
Лицензия
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bbf4cbde565ef5bbbc1da1d52a4843451f860a3814f805ad1bb563e4374cebe
|
|
| MD5 |
321dd92a66a5530f0653da1b4f95e7b6
|
|
| BLAKE2b-256 |
02e0426b8b68b07763db926979c656ad2a34a66be28191dfbcd7b1f929b6b6ba
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f226983a6497947f0815639ac23218246f6a7bcd1ae9a65f14303cd7b5676ce
|
|
| MD5 |
7c94aa238961207b4aa7b23d6694b2d6
|
|
| BLAKE2b-256 |
2eb7a040034191ba2dc667e81799fbe604cb1527f531ffccab4de3aa51a514b7
|