Связь двух Decont-A9 по Ethernet

Общие вопросы по оборудованию и программному обеспечению Компании ДЭП
NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 28 июл 2014, 07:04

Добрый день!

Столкнулся с некоторыми трудностями. Необходимо связать два контроллера Decont-A9 по Ethernet:

1ый контроллер (я указал его как slave) собирает данные с полтора десятка модулей и обрабатывает их.

2ой контроллер (master) читает два сигнала с 1го контроллера и выдаёт их состояние на релейный модуль.

Что я делал: добавил "интерфейс Е" в таблице интерфейсов, добавил строки в таблицах "Протокол" и "Формат", а также ip. Далее добавил компонент "База-клиент" (у master) и "База-Сервер" (у slave), и соответствующие таблицы: "Диапазоны номеров", "Список номеров".

После загрузки конфигураций (именно после добавления компонентов "База-клиент" и "База-Сервер") контроллеры перестали видеть модуля. Экспериментировал с таблицами этих компонентов, но так и не наладил связь. Потом удалил компонент "База-сервер", контроллер увидел модуля.

Куда двигаться? Что делаю не так?

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 29 июл 2014, 08:58

Сразу хотелось бы узнать какую версию дистрибутива используете?
Потому как интерфейс E отменили аж в 2006 году. Вместо него теперь виртуальные интерфейсы V1 - V16.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 29 июл 2014, 09:11

Базовое ПО: 5.5.97.167
Разработчик: 5.3.1.202

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 29 июл 2014, 09:15

pooh писал(а):Потому как интерфейс E отменили аж в 2006 году. Вместо него теперь виртуальные интерфейсы V1 - V16.

Тогда не понял, на А9 есть разъем Ethernet, подписан, как "Интерфейс Е", а в Конфигураторе его конфигурировать, как V1-V16? Или нужна какая-то дополнительная плата?

Есть где-то подробное описание или тестовые конфигурации?

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 29 июл 2014, 09:50

Дистрибутив нормальный. Интерфейс Ethernet конфигурируется как виртуальный интерфейс V1.
Все есть в примерах конфигураций: обычно они ставятся на диск C:\DEP Project. Конкретно вам нужен Пример1. Подробное описание этого примера есть в справке Конфигуратора - раздел "примеры конфигураций".

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 29 июл 2014, 10:10

pooh писал(а):Все есть в примерах конфигураций: обычно они ставятся на диск C:\DEP Project. Конкретно вам нужен Пример1. Подробное описание этого примера есть в справке Конфигуратора - раздел "примеры конфигураций".

Всё нашёл. Отпишусь, как буду опять на объекте. Благодарю!

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 05 авг 2014, 14:10

Итак, сконфигурировал должным образом контроллер, как приведено в примере. Добавил интерфейс V1, заполнил таблицы Канального и Сетевого уровня.
Далее заливаю конфигурацию в контроллер, при этом происходит следующее:
Перестаёт выполнять алгоритм Разработчика. Также нет обмена м/у контроллером и модулями (диод RTS на модуле перестаёт мигать).

Тестировал связь на 2-х контроллерах (тот с которого читают, и на том, который читает) - там и там схожая ситуация. Контроллеры находятся в нормальном режиме.

Как только удаляю строку в Сетевом уровне "Связь с соседними узлами", то всё начинает работать. Появляется связь с модулями, начинают гореть диоды, показываются данные с аналогов.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 05 авг 2014, 14:12

PS Связь м/у контроллерами пока не тестировал из-за этой ситуации.

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 05 авг 2014, 15:01

Присылайте конфигурацию на karelov@dep.ru

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 06 авг 2014, 06:30

pooh писал(а):Присылайте конфигурацию на karelov@dep.ru

Отправил.

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 06 авг 2014, 10:17

С конфигурациями вроде все в порядке. Попробуйте запустить без компонента Разработчика, потому как неизвестно как он работает и возможно он просто переписывает базу дискретов значениями неопределенности.
Можно проверить еще один вариант. Для этого нужно узнать следующее:
1. Версия платы контроллера А9 (около зеленого разъема)
2. Есть ли номер, написанный фломастером напротив гнезда SD карты
3. Версия ядра контроллера (можно посмотреть через минипульт в системном меню) Должна быть 00020025.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 06 авг 2014, 12:02

Контроллер, который сейчас под рукой (тот, что должен читать данные):
1. DA9 v50
2. Номера нет
3. Версия 00020025

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 06 авг 2014, 13:14

Значит остается подозрение на компонент Разработчика

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 06 авг 2014, 15:10

Сделал всё с ноля (на столе лежит А9 и модуль DOUT8-R07):
1) Создал новый проект, добавил новый контроллер. Добавил интерфейс "В"(для связи с модулем), описал его.
2) Написал в Разработчике простейший алгоритм - "true" записывается в дискрет с номером "1".
3) В справочнике добавил дискрет "1" (Назвал его "Сигнал 1"). И физически его присвоил на 1 и 8 ой каналы модуля (к примеру)
4)Залил конфигу в А9 - щёлкнули релюшки, диоды загорели, всё ОК.

Далее:

5) Как указано в примере добавляю интерфейс "V1", описываю его в Канальном уровне, в Сетевом уровне добавляю строку в таблице "Связь с соседними узлами". Заливаю.

Каналы 1 и 8 отпадают (после перезагрузки модуля и контроллера)

6) Как только удаляю строчку в "Связь с соседними узлами" всё работает.

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 07 авг 2014, 07:56

Дискрет связи с модулем есть? Что пишется в нем?
А контроллер случаем не падает в минимальный режим?
На всякий случай ссылку на новый дистрибутив отправил вам по почте.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 07 авг 2014, 08:25

Контроллер находится в Нормальном режиме (горят оба диода). Диод RTS мигает и на ПЛК, и на модуле
Дискрет связи с модулем я использую "193" - "1", когда "удалена" строчка таблицы "Связь с соседними узлами". Если модуль отцепляю от ПЛК - появляется код ошибки "6".

Как только добавляю эту строчку:
сигнал связи - поле "значение" пусто, а кода ошибки нет.

И диод RTS горит НЕПРЕРЫВНО на ПЛК, а на модуле не горит.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 07 авг 2014, 12:08

1) Поставил новую версию ПО. 5.5.106.176
2) Далее обновил BIOS. Поставил перемычку, как указано в Помощи. Перелил контроллер.
3) Ничего не изменилось...

Может у вас есть работающая конфигурация с компонентом Разработчика (хотя бы просто запись 1 на выход модуля)?

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 07 авг 2014, 15:01

Можно записать конфигурацию КП1 из примера 1 Конфигуратора

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 11 авг 2014, 07:34

pooh писал(а):Можно записать конфигурацию КП1 из примера 1 Конфигуратора

Конфигурация КП1 без компонента "Разработчик". А мне именно нужно проверить то, что и связь контроллеров работает, и алгоритм выполняется одновременно. Иначе связывать контроллеры бессмысленно.

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 11 авг 2014, 08:08

В первую очередь нужно проверить, что все работает на простой конфигурации: скажем 1 модуль и 1 виртуальный интерфейс. Сигналы с модуля приходят? Дискрет связи с модулем в 1? Далее организовать передачу данных между контроллерами, в одном База-сервер, в другом База-клиент. Дискрет связи с удаленным контроллеров устанавливается в 1?, данные с контроллера приходят. А уж потом когда все заработает можно добавлять разные компоненты Разработчика.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 13 авг 2014, 09:44

pooh писал(а):В первую очередь нужно проверить, что все работает на простой конфигурации: скажем 1 модуль и 1 виртуальный интерфейс. Сигналы с модуля приходят? Дискрет связи с модулем в 1? Далее организовать передачу данных между контроллерами, в одном База-сервер, в другом База-клиент. Дискрет связи с удаленным контроллеров устанавливается в 1?, данные с контроллера приходят. А уж потом когда все заработает можно добавлять разные компоненты Разработчика.

Решил сделать так, как вы написали. Конфигурацию контроллера сделал такую же, как КП1, единственное что при открытии КП1 вылезало сообщение об обнаружении более новых версий компонентов (Обработка дискретов, BUS-драйвер). Их заполнил в ручную, остальные таблицы скопировал.

Изменил физ. адрес модуля DOUT, остальное всё также.

Загрузил. Ситуация аналогичная. Как только заполняю таблицу "Связь с соседними узлами" отрубается свзязь с модулем. До этого дискрет связи с модулем в "1"

Экспериментировал со скоростью - безрезультатно.

Ощущение, что один интерфейс блокирует работу другого. При этом диод RTS горит непрерывно..

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 13 авг 2014, 09:47

Версия ядра: 2.25
Версия мат. платы: 9.1
Код печатной платы: 5.1
Версия A9 LINUX: 1.1E
Версия А9 RTMEX: 1.C
Версия А9 ROOT: 1.D
Версия А9 BIOS: 1.12
Версия дистр.: 5.5.106.176

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 13 авг 2014, 14:06

Огромная благодарность пользователю Blikk.
Снял галочку "Шифрование", контроллер увидел сразу же модуль в сети. Загрузил простенький алгоритм, релюшки щелкают.
Связь пока не тестил, но дело сдвинулось с мертвой точки :)

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 13 авг 2014, 14:59

Создал WD контроллер, аналогично Примеру 1. Залил в него конфигурацию, запустил. Сигнал "Связь с контроллером" - ошибка 769.

С контроллером есть ping. Вопрос такой:

У меня адрес контроллера "2", WD - 60002.

Адреса WD в конфигруации контроллера указывать "0", как в примере?

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 14 авг 2014, 08:16

Можно 0 - тогда А9 будет отвечать любому WD контроллеру с любым сетевым адресом. Можно указать 60002, тогда А9 будет отвечать только конкретному WD. Аналогично и с настройкой IP адреса. Можно указать 0, можно указать конкретный IP WD контроллера.

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 14 авг 2014, 08:19

Попробовал повторить этот глюк с шифрованием - ничего не получается. Или падает в минимальный с ошибкой: нет ключа шифрования. Или, если создаю ключ с именем default, стартует в отладочный и нормально опрашивает модули.

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 14 авг 2014, 10:37

Разобрался со связью. Данные приходят. Огромная благодарность за помощь!

NS
Сообщения: 45
Зарегистрирован: 31 май 2013, 07:12

Сообщение NS » 18 авг 2014, 16:22

Был на объекте, перезалил контроллеры. Связь м/у двумя А9 есть, данные передаются, всё отлично. Пока проверил связь в локальной сети, в общую сеть (как надо) подключат потом, но думаю всё будет ОК.

alex_ros
Сообщения: 29
Зарегистрирован: 11 янв 2012, 17:13
Откуда: Россия
Контактная информация:

Сообщение alex_ros » 26 мар 2015, 16:24

pooh писал(а):Можно 0 - тогда А9 будет отвечать любому WD контроллеру с любым сетевым адресом. Можно указать 60002, тогда А9 будет отвечать только конкретному WD. Аналогично и с настройкой IP адреса. Можно указать 0, можно указать конкретный IP WD контроллера.


Уважаемый pooh, еще есть один кейс,

Имеется A9, который передает данные на WinDecont по Ethernet, стоит задача передавать эти же данные с этого же контроллера на другой WinDecont на другом компьютере. Так вот, в настоящий момент данные нормально отображаются только на одном WinDecont, который первый подключился к A9. Как сделать (если это возможно), чтобы данные нормально отображались на обеих WinDecont?

pooh
Сообщения: 421
Зарегистрирован: 22 июл 2008, 11:50
Откуда: Дэп

Сообщение pooh » 27 мар 2015, 10:12

В настройках подключения Деконт А9 на интерфейсе V1 устанавливаете Балансную среду передачи и добавляете Деконт 0, чтобы он отвечал всем контроллерам, которые его опросят. У WinDecont аналогично ставите Балансную среду. Сетевые адреса WD контроллеров должны быть разными, например 60002 и 60003.