Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2020, 18:58   #1
Фарит
Новичок
 
Регистрация: 28.12.2019
Сообщения: 6
Сказал Спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении
По умолчанию организация режима работы автомат

Один раз форум мне уже помог. Может и сейчас что-нибудь посоветуете.
Есть робот Kuka Krc2.
До не давнего времени я просто обслуживал по электроники готовые (рабочие) робототехнические комплексы. А тут пришлось самому сопрягать станок с ЧПУ с Kuka Krc2. Почти всё получилось. В режиме Т2 весь цикл работает. Не могу победить два вопроса:
1. в режиме автомат «aut» (открыта определённая программа, не Cell.src) программа отрабатывает до конца и остаётся на последнем кадре End. Чтобы запустить ещё раз, нужно переключиться в ручной режим, перейти на начало программы, переключиться в «AUT» и по новой запустить программу.
Вопрос: как организовать конец программы (что поставить перед оператором End), чтобы технологическая программа (не Cell), вернулась в начало программы и ждало нажатия кнопки пуск на пульте Krc2?
2. не могу сконфигурировать входные сигналы с выбором номера программы в режиме внешняя автоматика «aut Ext». На пульте комплекса есть галетный переключатель. Образно говоря, переключатель стоит в первом положении, на вход робота приходит входной сигнал In9. переключатель стоит во втором положении, на вход робота приходит входной сигнал In10. На пульте комплекса есть кнопки «пуск цикла» и «стоп цикла». их я прописал во вкладке монитор/входа выхода/внешняя автоматика. В шапке программы Cell.src прописал названия программ и в кейсах 1 и 2 их тоже прописал.
Вопрос: где (в каком файле, в какой строке) прописать входа In9 и In10, чтобы они были привязаны соответственно к кейсу 1 и кейсу 2 в программе Cell.src? Чтобы в режиме «aut Ext» и положении галетного переключателя в положении 1, при нажатии на кнопку «пуск цикла» на внешнем пульте запустилась программа, записанная в кейсе 1 программы Cell.src . А в положении галетного переключателя в положении 2, при нажатии на кнопку «пуск цикла» на внешнем пульте запустилась программа, записанная в кейсе 2.

Последний раз редактировалось Фарит, 06.03.2020 в 19:11 Причина: синтактическая ошибка
Фарит вне форума   Ответить с цитированием
Старый 09.03.2020, 13:31   #2
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

Привет!
1. Смотри, самый простой способ это зациклить программу циклом loop - endloop, тогда она у тебя будет в бесконечном воспроизвидении. Но для того, чтобы она запускалась повторно не сама, а после нажатия кнопки старт , тебе необходимо в начале программы поставит команду halt. Данная команда останавливает программы в том месте, где ты ее поставил и запустится только после того, как ты нажмешь на старт. При это никаких переключений с режима на режим делать не надо. На мой взгляд это самый простой способ.
Роботёр вне форума   Ответить с цитированием
Старый 09.03.2020, 15:01   #3
andy_18
Гуру
 
Регистрация: 15.07.2014
Сообщения: 93
Сказал Спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении
По умолчанию

Сообщение от Фарит Посмотреть сообщение
2. не могу сконфигурировать входные сигналы с выбором номера программы в режиме внешняя автоматика «aut Ext»...
Для начала необходимо знать конфигурацию входов/выходов в системе krc2: файл iosys.ini

Программа Cell с переменной Case связана через переменную "PGNO", эта переменная и есть номер передаваемой программы. В файле config.dat есть назначение "INT PGNO_FBIT=9" - указывает номер первого бита номера программы, "INT PGNO_LENGTH=6" - указывает длину номера программы в битах (например: есть область входов 1 ... 30, с значениями указанными здесь - 9 и 6, номер программы будет расположен по адресу 9-14, причем 9 - это младший бит

Последний раз редактировалось andy_18, 09.03.2020 в 15:29
andy_18 вне форума   Ответить с цитированием
Старый 09.03.2020, 15:49   #4
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

Т.е. в таблице конфигурирования входов в строке с переменной PGNO_FBIT необходимо поставить число 9 (т.к. у тебя начинается с $in9). А в строке с переменной INT PGNO_LENGTH необходимо поставить число 2 (т.к. у тебя участвуют только 2 бита - in9 и in10 ). Также проверь, что переменная PGNO_TYP стоит 1 (бинарный тип номера программы). Ну и как правильно написал andy_18 все это можно сделать не через меню входы,выходы/внешняя автоматика, а в файле config.dat в формуляре AUTOEXT GLOBALS.


INT PGNO=4 ;copy of ext. pgno
INT PGNO_ERROR=0 ;transmission error
INT PGNO_TYPE=1 ;coding type of ext. pgno
INT REFLECT_PROG_NR=0 ; enable mirroring of program number inputs (1=enabled, 0=disabled)

; Variables for External
; Communication: I/O-Interface
;----------------------------------
INT PGNO_FBIT=1141 ;first bit of ext. pgno input $IN[]
INT PGNO_FBIT_REFL=999 ;first bit of ext. pgno reflection output $OUT[]
INT PGNO_LENGTH=8 ;length of ext. pgno (max. 16)
INT PGNO_PARITY=1149 ;parity bit of ext. pgno
INT PGNO_REQ=1150 ;request ext. pgno input
INT PGNO_VALID=1150 ;validate ext. pgno input
Роботёр вне форума   Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +2, время: 19:50.

vBulletin v3.6.2, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co