11.06.2020, 19:50
|
#1
|
Бывалый
Регистрация: 11.06.2020
Сообщения: 16
Сказал Спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении
|
Profinet
Здравствуйте! имеется Kuka 8.3.39. Есть задача наладить её связь связь по Profinet со слейв устроствами. Аппаратно настроил обмен, вопрос - как адресно обратиться к ячейкам памяти в коде?
|
|
|
|
14.06.2020, 07:22
|
#2
|
Гуру
Регистрация: 04.08.2016
Сообщения: 81
Сказал Спасибо: 0
Сказали Спасибо 29 раз(а) в 19 сообщении
|
Для того чтобы адресно обратиться к ячейкам памяти в коде надо:
1. Правильно настроить мапинг входов/выходов Куки на профинетовские.
(скажем все I/O Куки после 20 мапятся на профинетовские I/O).
2. Вручную с тачпада, из экрана для I/O проверяется функциональность
сигналов (так же и со стороны PLC).
3. В файле $config.dat, в секции "USER GLOBALS" объявляем, например две переменные:
SIGNAL MyPlcByteIn $IN[20] TO $IN[27] ;получаем байт данных только для чтения
SIGNAL MyPlcByteOut $OUT[20] TO $OUT[27] ;получаем байт данных, чтение и запись
4. В программе обращаемся с переменными как спеременными типа INT:
IF (MyPlcByteIn == 1) THEN
PTP HOME
ENDIF
5. Если PLC Siemens, то не забываем менять местами старший и младший байт в двухбайтном слове.
Подробнее смотрим в хелпе для WorkVisual.
|
|
|
cказали "Спасибо" Pavel_T за это сообщение:
|
|
|
21.06.2020, 20:59
|
#3
|
Бывалый
Регистрация: 11.06.2020
Сообщения: 16
Сказал Спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении
|
Сообщение от Pavel_T
|
Для того чтобы адресно обратиться к ячейкам памяти в коде надо:
1. Правильно настроить мапинг входов/выходов Куки на профинетовские.
(скажем все I/O Куки после 20 мапятся на профинетовские I/O).
2. Вручную с тачпада, из экрана для I/O проверяется функциональность
сигналов (так же и со стороны PLC).
3. В файле .dat, в секции "USER GLOBALS" объявляем, например две переменные:
SIGNAL MyPlcByteIn TO ;получаем байт данных только для чтения
SIGNAL MyPlcByteOut TO ;получаем байт данных, чтение и запись
4. В программе обращаемся с переменными как спеременными типа INT:
IF (MyPlcByteIn == 1) THEN
PTP HOME
ENDIF
5. Если PLC Siemens, то не забываем менять местами старший и младший байт в двухбайтном слове.
Подробнее смотрим в хелпе для WorkVisual.
|
Да, огромное спасибо! Это получилось. Только остался вопрос - почему предлагаете мапить адреса с 20? чем плохо начать с 0? или это не принципиально?
Теперь следующий вопрос - в программе периодически перед выполнением тех или иных действий необходима информация из профинета... Как лучше сделать перед местом использования вызывать функцию, которая будет считывать Профинет и кидать его в переменные, либо - в sps.sub постоянно\параллельно вызывать эту функцию?
P.S. Кто-нибудь из гуру (ну или просто выше новичка =) ) может дать контакты (любой мессенджер (вацапа, вибер, тлг, аська) или почта) для оперативных мелких вопросов в помощи поиска необходимой литературы или мелких вопросов касаемо программирования контроллера Кука С4?
Последний раз редактировалось guest13, 21.06.2020 в 21:06
Причина: добавление текста
|
|
|
|
21.06.2020, 22:27
|
#4
|
Гуру
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
|
мапить можно и с нулевого бита, система этого делать не запрещает.
не очень понятно что ты хочешь сделать. что значит необходима инфа с профинета? считывать состояние бита? зачем тогда его перезаписывать в другую переменную? в общем я не понял, опиши что хочешь поподробнее.
телефон, конечно, не дам. почту скинул в личку.
|
|
|
|
22.06.2020, 06:57
|
#5
|
Гуру
Регистрация: 04.08.2016
Сообщения: 81
Сказал Спасибо: 0
Сказали Спасибо 29 раз(а) в 19 сообщении
|
В нашем случае, роботы приходят с уже предустановленными карточками ввода/вывода.
Это обычно Input output board (IOB-16-16B) или EtherCAT с расширениями на 16 бит I/O.
Поэтому младшие 16 адресов уже какбы заняты.
|
|
|
|
22.06.2020, 10:31
|
#6
|
Гуру
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
|
в таком случае да
|
|
|
|
22.06.2020, 21:19
|
#7
|
Бывалый
Регистрация: 11.06.2020
Сообщения: 16
Сказал Спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении
|
Пришел к выводу, что придется постоянно записывать данные с профинета в переменные, иначе алгоритмы не будут корректно работать... Вкуриваю дальше - как оптимальнее сделать - использовать sps.sub или как-то запускать параллельную программу
|
|
|
|
23.06.2020, 07:05
|
#8
|
Гуру
Регистрация: 04.08.2016
Сообщения: 81
Сказал Спасибо: 0
Сказали Спасибо 29 раз(а) в 19 сообщении
|
Если это данные от PLC к роботу, то записывать ничего не надо.
Контроллер через профинет записывает данные в переменные асинхронно,
не зависимо от программы робота. Остается их только прочитать.
Данные от робота к PLC записываются программой, в зависимости от логики.
Не обязательно в sps.sub. Запускать параллельную программу в Куке нельзя,
только прерывания.
|
|
|
|
23.06.2020, 21:08
|
#9
|
Бывалый
Регистрация: 11.06.2020
Сообщения: 16
Сказал Спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении
|
Сообщение от Pavel_T
|
Не обязательно в sps.sub.
только прерывания.
|
Да, спасибо! сегодня проверил, можно без sps.sub - переменные из профинета сами обновляются.
по поводу прерываний - можете ли подсказать где пошукать информацию о них? особенно интересует - как каждый цикл контроллера (ну или с заданной периодичностью) изменять состояние бита, для того, что ПЛК понимал, что связь не потеряна
|
|
|
|
24.06.2020, 06:49
|
#10
|
Гуру
Регистрация: 04.08.2016
Сообщения: 81
Сказал Спасибо: 0
Сказали Спасибо 29 раз(а) в 19 сообщении
|
Когда робот теряет соединение с контроллером по
профинету, то он выбрасывает исключение на смартпаде
и выключет моторы. Устанавливает соединение также самастоятельно,
выдет сообщение и если после этого подтвердить сообщение со смартпада,
то можно продолжить работу. Думаю в контроллере будет видно ошибку соединения.
Что касается прерываний, то по ним, а также много чего по программированию
Куки, информация имеется. Я только не пойму, как можно pdf файлы выкатить на форум.
|
|
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +2, время: 13:37.
|
|