-
Вложений: 2
Рецепт на Codesys 2.3
Доброго времени суток!
Просьба помочь разобрать мои ошибки в написании кода рецепта.
Евгений Кислов https://rutube.ru/video/1d0e4b3e9e14...446083d303dae/ четко разложил оформление рецепта в Codesys 3.5. К сожалению, не нашел подробного аналогичного описания на версии 2.3, а было бы здорово)
Решил реализовать этот код только в Codesys 2.3 на базе ПЛК 110-60
Шаг 1
в "тип данных" создал две структуры аналогично видео:
{attribute 'pack_mode':=2}
TYPE recipe :
STRUCT
sTitle:STRING (9);
wValue:WORD;
rValue:REAL;
END_STRUCT
END_TYPE
{attribute 'pack_mode':=2}
TYPE slave_data :
STRUCT
sTitle:STRING (9);
wValue:WORD;
rValue:REAL;
END_STRUCT
END_TYPE
Шаг 2
В POU обозначил переменные:
PROGRAM PLC_PRG
VAR
dwSize: WORD;
recipe: recipe;
fbRTUslave: MB_RTU_SLAVE;
END_VAR
VAR RETAIN
stSlaveData:slave_data;
END_VAR
шаг 3
Добавил в "менеджер библиотек" библиотеки:
OwenModbusSlave v 2.3.9.2
BufferTolls_v2.3.9.01
шаг 4
В поле программирования добавлен ФБ "fbRTUslave"
По сравнению с Codesys 3.5 в Codesys 2.3 ФБ функционал входов ничем не отличается. Только в описании блока в Codesys 2.3 большее количество подключаемых переменных.
При попытке загрузки в ПЛК появляется ошибка "неразрешенные ссылки на внешние pou" Но это лечится посредством удаления библиотек на которые дана ссылка в окне ошибки.
шаг 5
меняется настройка СП307 только вместо Плк210 указывается PLC порт с указанием сетевого адреса slave то есть ПЛК 110.
Далее все загружается.
И тут возникает проблема в отсутствии связи. СП постоянно опрашивает ПЛК в связи с чем появляется окно "communicating .. PLC port StaNO 1"
я так понимаю что просто отсутствует связь между ПЛК 110 и СП307.
Перепробовал все что знаю:
добавил в конфигураторе slave-устройство, присвоил адрес. Но почему то не идет.
Объясните пожалуйста товарищи специалисты что я сделал не так.
Заранее благодарю.
-
Вложений: 4
Вы не зная азов сразу начали с биб-ки и с рецептов. Может начать с конфигурации?
И главное, у вас живые панель и ПЛК или это всё в эмуляции?
Проект панели выложил ниже, Панель мастер, Модбас RTU, ПЛК слейв, Скрин Вложение 78004
На скрине передаётся в ПЛК, Рецепт 8, номер в панели 7.
При чём первые 5 регистров - Имя рецепта Rezept AT %QW13.1.0 : STRING(9); где AT %QW13.1.0 - прямой адрес в слейве
Потом 1 регистр Вес (целочисленное) и последние 2 регистра Температура (Float)
Никаких 64 регистров не надо, есть всего 8 регистров, через которые и передаются все рецепты, в зависимости от номера рецепта.
И работа с биб-кой, ПЛК154-UМ, скрин Вложение 78011