Движок таблицы точек и синхронизатор файлов .DAT
Управление координатами точек, автоматическая синхронизация структуры данных и кинематические трансформации.
Обзор
В архитектуре KRL команды движения в файлах программ .src ссылаются на структуры пространственных координат (E6POS, POS, FRAME, E6AXIS) и технологические параметры (FDAT, PDAT, LDAT), объявленные в парных файлах данных .dat.
Ручная синхронизация между .src и .dat при пусконаладке часто приводит к ошибкам компилятора KSS (Переменная не объявлена) или повреждению координат при сохранении точек через Touch-Up на SmartPAD.
Point Table Engine & Auto-Synchronizer (krl.syncPointsToDat, krl.batchShiftPoints, krl.mirrorTrajectory) обеспечивает автоматическую целостность данных, поиск неиспользуемых точек и точные 6D геометрические расчёты.
Ключевые возможности
1. Автосинхронизация точек в .DAT (krl.syncPointsToDat)
- AST-сканер команд движения: Анализ активного файла
.srcна наличие команд движения (PTP,LIN,CIRC,SPTP,SLIN,SCIRC) и заголовков Inline Form (PDAT_ACT,FDAT_ACT,LDAT_ACT). - Автоматическое создание .DAT: При отсутствии файла данных расширение генерирует корректный модуль
DEFDAT <MODULE> PUBLIC. - Безопасная вставка объявлений: Добавление недостающих объявлений (
DECL E6POS,DECL FDAT,DECL PDAT,DECL LDAT) в структурированный блок;FOLD Auto-Synchronized PointsпередENDDAT. Ранее обученные координаты сохраняются в неизменном виде.
2. Сплит-режим таблицы точек
- Параллельное отображение: Одновременный просмотр команд движения
.srcи соответствующих векторных координат.dat. - Валидация в реальном времени: Проверка координат на соответствие рабочей зоне манипулятора.
3. Детектор неиспользуемых точек-сирот
- Аудит забытых координат: Сканирование
.datна точки, ни разу не вызываемые в коде программы. - Оптимизация памяти: Безопасная очистка лишних точек для предотвращения переполнения памяти контроллера.
4. Калибровка баз и инструмента по методу Кабша (SVD)
- Точный пересчёт фреймов: Расчёт рамок
TOOL_DATAиBASE_DATAметодом сингулярного разложения (SVD Kabsch) по физически замеренным точкам. - Углы Эйлера (A, B, C): Точное вычисление ориентации в стандарте KUKA ($Z-Y'-X''$) с защитой от сингулярностей.
5. 6D зеркалирование траекторий и пакетное смещение
- Зеркалирование траекторий (
krl.mirrorTrajectory): Отражение траекторий относительно плоскостей X, Y, Z с пересчётом битов статуса и поворота ($A_1..A_6$). - Пакетный сдвиг точек (
krl.batchShiftPoints): Пространственное смещение группы точек через оператор композиции фреймов (:) при переносе оснастки или смене инструмента без переобучения с пульта.
Команды
| Команда | Идентификатор | Описание |
|---|---|---|
| KUKA KRL: Автосинхронизация точек в .DAT | krl.syncPointsToDat | Анализ .src и добавление объявлений |
| KUKA KRL: Пакетное смещение координат | krl.batchShiftPoints | 6D пространственный сдвиг группы точек |
| KUKA KRL: Зеркалировать траекторию | krl.mirrorTrajectory | Зеркальное отражение траектории |
| KUKA KRL: Перенумеровать точки движения | krl.renumberPoints | Синхронное переименование точек |
