|
глупый трабл с запуском в режиме Auto
Программа прекрасно пашет в T1/T2, но вот ругаеццо в AUTO:
KSS00203 Разрешение общего перемещения Caused by: KS KSS01356 Требуется нажатие кнопки запуска KSS01376 Активные команды заблокированы -- Первое сообщение желтое, и при нажатии на "?" оно выдает еще более мутную и общую "расшифровку": KSS01210 Квитирование общего разрешения перемещения. === В мануалах черт ногу сломит. Пробовал вот этот момент: If the variable $CHCK_MOVENA has the value FALSE, $MOVE_ENABLE can be bypassed. The value of the variable can only be changed in the file C:\KRC\ROBOTER\KRC\STEU\Mada\$OPTION.DAT. Но просто поправить, естественно, мало. Теоретически надо перезагрузиться, но тогда $CHCK_MOVENA сбрасывается назад в TRUE. Что надо пнуть? ;) |
переменную "$move_enable" сконфигурировать на какой-нибудь вход, а его (вход) установить в "true".
|
Ха!!! Так вот физических входов-то у меня и нет... Только пара планок (EL2024 и еще какая-то ELXXXX) выходов на EK1100. Я же не просто так тут пару недель назад бился с X25/X33 и $meas_pulse :)))
Разве нельзя как-то программно "забить" переменную нужным значением? Любой хак подойдет, так как пока я физически все данные ловлю на meas_pulse (один пин все еще свободен - вдруг и так можно вывернуться...), и это точно продлится несколько недель :) |
Подозреваю, что никакой связи с физическими I/O нет. Робот, скорее всего сконфигурирован
для работы в Automatic External, а внешний контроллер отключен (отсоединен). Вот минимальный код для того, чтобы запустить робот в автомате. Если не пойдет, проверить настройки Automatic External на смартпаде. DEF TestAuto ( ) E6POS TempPos ;FOLD INI;%{PE} ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) INTERRUPT ON 3 BAS (#INITMOV,0 ) ;ENDFOLD (BASISTECH INI) ;FOLD USER INI ;Make your modifications here ;ENDFOLD (USER INI) ;ENDFOLD (INI) $OV_PRO = 10 TempPos = $POS_ACT PTP TempPos ;BCO run LOOP ENDLOOP END |
Гхм... совсем запутался - буду разбираться :)
но пока кратко и чуток сумбурно: 1. Робот был вообще гол как сокол - одна железяка. 2. У железяки нет входов. Только EL2404, то есть выходы. 3. Входы реализовал через quick measurements, пока сойдет. 4. Робот при попытке запустить программу в AUTO-режиме выдает то, что перечислил в начале. 5. Мысль про $move_enable возникла после перелопачивания пары-тройки страниц мануалов :) --- Вопросы: Видимо с $move_enable я прав? И нужно именно ее долбить? Но тогда что означает $OV_PRO = 10? Судя по коду это ключевой момент... Но тогда смущает то, что ПРЕЖДЕ чем запустить этот код, я УЖЕ должен НЕ иметь в списке предупреждения. То есть замкнутый круг. Чтобы запустить "обходилку" запрета движений я должен снять запрет движений :))) Или тут хитрость какая-то, связанная с $OV_PRO = 10? То есть раз по ходу это ПЕРВАЯ ЗНАЧИМАЯ строка, то она как раз что-то системное настраивает? И если ее влепить в каждую свою программу в начале, то эта припарка поможет обойти ограничение движений? Хотелось бы знать, что же это за такая волшебная переменная $OV_PRO :))) Мануал подсказывает, что это просто указание процента от макс.скорости... Или это такой полубаг, из-за которого при явном задании значения переменной она "глушит" все остальные ограничения? Мол, если я пишу $OV_PRO = 100; то фактически насильно разрешаю движения на полную катушку, игнорируя общий запрет? |
не работает... прежде чем я запускаю программу система заранее орет Kss00203, и никакие команды не "фунициклируют"...
|
пробовали в сигналах внешней автоматики $MOVE_ENABLE=$in[1025] ?
|
Попробую ответить по порядку.
$OV_PRO = 10 или $OV_PRO = 30 ставлю просто для удобства. Я так привык, что когда запускается отлаживаемая программа, я железно стартую с заданной скоростью(пониженной). В дальнейшем скорость можно изменить на подходящую для работы или вообще убрать. Теперь, что касается I/O. Надо зайти в меню Automatic External и проверить какие адреса заданы для входов и выходов. Как правило, по умолчанию это 3х или 4х значные индексы, например 973 или 1025, как подсказывали выше. Какие конкретно должны быть цифры не скажу. Это зависит от модели робота и его контроллера. Все переменные и порты которые отвечают за интерфейс Automatic External находятся в файле config.dat Его перед изменениями желательно сохранить, чтобы можно было откатиться. Если робот был восстановлен корректно, то можно в доступных проектах на стороне робота поискать проект с названием "Base". Это стартовый начальный проект с корректной аппаратной конфигурацией, по вашим требованиям для данного конкретного робота, которую Кука устанавил на заводе. "Base" можно загрузить через WV и там в config.dat посмотреть начальные значения параметров интерфейса для Automatic External. Просто поменять один $MOVE_ENABLE думаю не получится. |
Ага, так уже понятнее :)))
Утром вцеплюсь... Просто робота я уже довел до кондиции, при том, что у него вообще нет входов физически. Но ничего. Уже фурычит: https://youtu.be/grH3J7UCYbo |
как ты активируешь автоматический режим
работы? хочу это видеть. сделай видео |
Часовой пояс GMT +2, время: 03:36. |
|
vBulletin v3.6.2, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co