Форум

Форум (http://robotforum.ru/forum/index.php)
-   Роботы Fanuc (http://robotforum.ru/forum/forumdisplay.php?f=62)
-   -   Передача данных в Fanuc (http://robotforum.ru/forum/showthread.php?t=4599)

lexx905 22.10.2016 11:14

Передача данных в Fanuc
 
Привет всем.

Эксперименты показали, что для передачи данных в робота нет необходимости создавать в 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 можно не спрашивать.

Sergei Troizky 22.10.2016 16:38

Нисколько не умаляя сделанного Вами, должен сказать, что ethernet/ip, devicenet, profinet и т.п. чаще нужны для связи робота не с компьютером, а с контроллером.

lexx905 22.10.2016 17:53

Цитата:

Сообщение от Sergei Troizky (Сообщение 10537)
Нисколько не умаляя сделанного Вами, должен сказать, что ethernet/ip, devicenet, profinet и т.п. чаще нужны для связи робота не с компьютером, а с контроллером.

Для чего нужны эти протоколы, так то я знаю 0_о
А как вы думаете, что дешевле? Контроллер с поддержкой ethernet ip (Allen Bradley например) или контроллер который знает только ethernet tcp/ip ? А отправлять те же команды которыми я оперирую, с контроллера, уж поверьте труда не составит. Вопрос в цене покупаемых опций у Fanuc и в цене используемого контроллера. К тому же с hmi панели все это можно отправлять в робота и получать данные. К тому же, получая данные из контроллера, вы собираете их в GI, здесь все напрямую.

lexx905 22.10.2016 18:18

И примеров по использованию может быть масса. Общение с базой данных без лишних обвязок. Можно без проблем с любой видео камеры отправлять данные о смещении детали сразу в pr. Из того же контроллера сразу управлять ro и опрашивать ri. Можно внешним контроллером, не прибегая к interlink сразу опрашивать входа и выхода робота, которые заведены на другой протокол и т.д.......

Sergei Troizky 22.10.2016 22:18

Цитата:

Сообщение от lexx905 (Сообщение 10538)
А как вы думаете, что дешевле? Контроллер с поддержкой ethernet ip (Allen Bradley например) или контроллер который знает только ethernet tcp/ip ? А отправлять те же команды которыми я оперирую, с контроллера, уж поверьте труда не составит. Вопрос в цене покупаемых опций у Fanuc и в цене используемого контроллера. К тому же с hmi панели все это можно отправлять в робота и получать данные.

Сдается мне, что с Вашим протоколом "контроллер (либо hmi) который знает только ethernet tcp/ip" должен будет поддерживать socket service, а это, на сегодяшний день, скорее исключение, чем правило, даже в контроллерах среднего класса. Ну и протокол нужно будет программировать в контроллере/hmi.
С компьютером же (включая hmi на базе индустриального компьютера) Ваш протокол- вещь полезная, спору нет.

lexx905 23.10.2016 08:19

Цитата:

Сообщение от Sergei Troizky (Сообщение 10540)
Сдается мне, что с Вашим протоколом "контроллер (либо hmi) который знает только ethernet tcp/ip" должен будет поддерживать socket service, а это, на сегодяшний день, скорее исключение, чем правило, даже в контроллерах среднего класса. Ну и протокол нужно будет программировать в контроллере/hmi.
С компьютером же (включая hmi на базе индустриального компьютера) Ваш протокол- вещь полезная, спору нет.

CoDeSys v2.3 с библиотекой SysLibSockets. Разве это исключение?
А программирование протокола не такая большая проблема.

lexx905 23.10.2016 09:00

к тому же, нормальный программист будет писать протокол один раз. упакует его как класс или библиотеку, напишет инструкцию и будет продуктивно работать. трудозатраты от нескольких часов до одного светового дня.

lexx905 26.10.2016 06:30

спасибо Sergei Troizky. нашел баг. из регистра удаляется коментарий. сегодня исправлю

lexx905 26.10.2016 12:29

Ссылка на приложение
https://yadi.sk/d/zvVzo85Axdd36
видео работы приложения с RoboGuide
https://yadi.sk/i/QMvxbd6txddvJ

IP адреса остались прежними.
Оставил 2 текстовых поля. Одно под номер регистра. Можете использовать номера от 1 до 9. И поле под значение.

Потестируйте пожалуйста.


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

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