Привет всем.
Эксперименты показали, что для передачи данных в робота нет необходимости создавать в Karel-е сервер или клиент. Не нужно прибегать к использованию дорогих опций ethernet ip, device net, profinet и т.д...
Сейчас я могу передавать в робота любые значения в R[], PR[], SR[] и также опрашивать данные регистры. Опрашивать RI/RO/DI/DO и изменять значения RO/DO.
Все изменения происходят Online, независимо от режима работы робота, даже если робот будет в ошибке.
Мной уже написано приложение, которое все это умеет делать.
Для затравки ссылка на демку:
https://yadi.sk/d/RcCFsytfxMnyW
Там CheckBox и кнопка. По нажатию кнопки, в R[5] будет появляться значение "-255,8".
Работает как с "живым" роботом, так и с RoboGuide.
Что нужно сделать:
1. работа с Roboguide
Создать ячейку с любым роботом. Ни каких дополнительных опций выбирать не нужно.
Назначить на Port1 адрес 127.0.0.1, применить изменения. (Я обычно еще и перезагружаю ячейку в холодную, после изменения IP. Благо в последнем Roboguide на пульте есть удобная кнопка).
Запустить мое приложение, поставить птичку на CheckBox-е. Нажать кнопку Set R[5]. В 5м регистре вы увидите значение.
2. работа с "живым" роботом
Назначить на Port1 адрес 192.168.137.2, нажать кнопку INIT (я бы еще перезагрузился).
Назначить на свою сетевую карту IP 192.168.137.218
Соединиться шнурком с роботом, не перепутав порт в роботе.
Запустить мое приложение, нажать кнопку Set R[5]. В 5м регистре вы увидите значение.
Все вопросы в личку.
Обмен данными нигде не документирован, поэтому как это работает у Fanuc можно не спрашивать.