PDA

Просмотр полной версии : Ещё раз про связь: ПЛК160 + ИП320



morcat
21.11.2011, 12:31
Здраствуйте коллеги.

Проблема "нет связи" ПЛК160(Slave) + ИП320(Master).

По порядку.

Настройка ПЛК:
1) Конфигурация ПЛК -> Добавить Подэлемент -> Выбираем "ModBus (slave) [VAR]".
2) В параметрах модуля устанавливаем адрес модуля (например 2).
3) Вместе с "ModBus (slave)" в конфигурации появляется "ModBus [FIX]" -> Добавить Подэлемент -> Выбираем "RS-485-1[VAR]"
3) Настраиваем параметры модуля 115200, NO_PARITY, 8bits, One stop bit, RS485, RTU, 0, No.
4) ModBus (slave) [VAR] -> Добавить Подэлемент -> Выбираем переменные для отправки мастеру. Первые четыре перменные например типа Byte.

Настройка ИП320:
1) Тип ПЛК - ModBus RTU (ИП320 - Master).
2) Настройка связи - 115200, нет проверки на чётность, 8 бит, 1 стоп бит.
3) Создаём простенький проект с одним экраном с чтением регистров ПЛК №0, 1, 2, 3 (адрес ПЛК = 2).

Соединение: ПЛК160 клеммы А и В, ИП320 через переходник (в комплекте) клеммы А и В.

Пробовал подключать разные ИП320, пробовал по-разному подавать/снимать питание с приборов... Смотрел осциллографом линию RS485 - никаких признаков жизни...

Что ещё нужно сделать для того, чтобы связь заработала?

capzap
21.11.2011, 12:57
Первые четыре перменные например типа Byte.
...Создаём простенький проект с одним экраном с чтением регистров ПЛК №0, 1, 2, 3 (адрес ПЛК = 2).

А Вы в курсе что регистр, это два байта и следовательно чтение регистров 2 и 3 приводит к появлению на экране ошибки связи, попробуйте панельку сделать слейвом может дело как то продвинется

morcat
21.11.2011, 14:11
...регистр, это два байта и следовательно чтение регистров 2 и 3 приводит к появлению на экране ошибки связи...
Да, два байта, однако номер регистра в моём случае указан верно (не путать с адресом памяти внутри контроллера). Если бы была переменная 4 Byte, тогда другое дело - вот всем известная картинка:

5085

Что происходит сейчас: показания регистров начали считываться, но только единожды при подаче питания на ИП320. В процессе работы не изменяются + всё та же ошибка "потеря связи"...

capzap
21.11.2011, 14:17
Вы бы лучше прислали скрин своего конфигуратора ПЛК с модбас слейвом, а по Вашей ситуации
показания регистров начали считываться, но только единожды при подаче питания на ИП320опять же а в ПЛК переменные изменяют свои значения под управлением программы, а не ручной принудительной установкой

morcat
21.11.2011, 14:35
Пожалуйста:
5087

в ПЛК переменные изменяют свои значения под управлением программы, а не ручной принудительной установкой
Из конфигуратора можно принудительно установить соответствующий бит - это касается входов, выходов, а также и ModBus-битовых переменных.

swerder
21.11.2011, 14:53
естественно у вас будет "обрыв связи" - вы обращаетесь панелью к несуществующему регистру 3, а судя по картинке с конфигурацией плк у вас такового в плк нет.
p.s. у вас переменные описываются словосочетанием "наличие...". напомнило про кота шредингера - толи жив, толи мертв, вентилятор есть или его нет.

morcat
21.11.2011, 15:03
вы обращаетесь панелью к несуществующему регистру 3

В настоящее время опрашиваю регистры №0, 1 и 2. Больше у меня пока действительно нет регистров для опроса. Ошибка "потеря связи" не уходит.


напомнило про кота шредингера
:)

capzap
21.11.2011, 15:19
создайте для панельки проект с нуля, в окне вначале добавте один регистр, поработайте с ним, если все пучком, добавляйте еще один и т.д., скорее всего где то в проекте на панель, остался висеть несуществующий регистр

morcat
21.11.2011, 17:53
скорее всего где то в проекте на панель, остался висеть несуществующий регистр

Capzap - в яблочко! :)

Где-то в конфигураторе остался висеть (в моём случае скорее всего 3-й, который я с самого начала пытался прочитать) регистр.

Вот уж не думал не гадал... Ставим разработчикам "минус".

Спасибо, коллеги, едем дальше... ;)

Ельцов Андрей
23.11.2011, 22:36
А где Вы его нашли?
Поделитесь пожалуйста.