Связь двух Decont-A9 по Ethernet
Добрый день!
Столкнулся с некоторыми трудностями. Необходимо связать два контроллера Decont-A9 по Ethernet:
1ый контроллер (я указал его как slave) собирает данные с полтора десятка модулей и обрабатывает их.
2ой контроллер (master) читает два сигнала с 1го контроллера и выдаёт их состояние на релейный модуль.
Что я делал: добавил "интерфейс Е" в таблице интерфейсов, добавил строки в таблицах "Протокол" и "Формат", а также ip. Далее добавил компонент "База-клиент" (у master) и "База-Сервер" (у slave), и соответствующие таблицы: "Диапазоны номеров", "Список номеров".
После загрузки конфигураций (именно после добавления компонентов "База-клиент" и "База-Сервер") контроллеры перестали видеть модуля. Экспериментировал с таблицами этих компонентов, но так и не наладил связь. Потом удалил компонент "База-сервер", контроллер увидел модуля.
Куда двигаться? Что делаю не так?
Столкнулся с некоторыми трудностями. Необходимо связать два контроллера Decont-A9 по Ethernet:
1ый контроллер (я указал его как slave) собирает данные с полтора десятка модулей и обрабатывает их.
2ой контроллер (master) читает два сигнала с 1го контроллера и выдаёт их состояние на релейный модуль.
Что я делал: добавил "интерфейс Е" в таблице интерфейсов, добавил строки в таблицах "Протокол" и "Формат", а также ip. Далее добавил компонент "База-клиент" (у master) и "База-Сервер" (у slave), и соответствующие таблицы: "Диапазоны номеров", "Список номеров".
После загрузки конфигураций (именно после добавления компонентов "База-клиент" и "База-Сервер") контроллеры перестали видеть модуля. Экспериментировал с таблицами этих компонентов, но так и не наладил связь. Потом удалил компонент "База-сервер", контроллер увидел модуля.
Куда двигаться? Что делаю не так?
pooh писал(а):Потому как интерфейс E отменили аж в 2006 году. Вместо него теперь виртуальные интерфейсы V1 - V16.
Тогда не понял, на А9 есть разъем Ethernet, подписан, как "Интерфейс Е", а в Конфигураторе его конфигурировать, как V1-V16? Или нужна какая-то дополнительная плата?
Есть где-то подробное описание или тестовые конфигурации?
Итак, сконфигурировал должным образом контроллер, как приведено в примере. Добавил интерфейс V1, заполнил таблицы Канального и Сетевого уровня.
Далее заливаю конфигурацию в контроллер, при этом происходит следующее:
Перестаёт выполнять алгоритм Разработчика. Также нет обмена м/у контроллером и модулями (диод RTS на модуле перестаёт мигать).
Тестировал связь на 2-х контроллерах (тот с которого читают, и на том, который читает) - там и там схожая ситуация. Контроллеры находятся в нормальном режиме.
Как только удаляю строку в Сетевом уровне "Связь с соседними узлами", то всё начинает работать. Появляется связь с модулями, начинают гореть диоды, показываются данные с аналогов.
Далее заливаю конфигурацию в контроллер, при этом происходит следующее:
Перестаёт выполнять алгоритм Разработчика. Также нет обмена м/у контроллером и модулями (диод RTS на модуле перестаёт мигать).
Тестировал связь на 2-х контроллерах (тот с которого читают, и на том, который читает) - там и там схожая ситуация. Контроллеры находятся в нормальном режиме.
Как только удаляю строку в Сетевом уровне "Связь с соседними узлами", то всё начинает работать. Появляется связь с модулями, начинают гореть диоды, показываются данные с аналогов.
Присылайте конфигурацию на karelov@dep.ru
pooh писал(а):Присылайте конфигурацию на karelov@dep.ru
Отправил.
С конфигурациями вроде все в порядке. Попробуйте запустить без компонента Разработчика, потому как неизвестно как он работает и возможно он просто переписывает базу дискретов значениями неопределенности.
Можно проверить еще один вариант. Для этого нужно узнать следующее:
1. Версия платы контроллера А9 (около зеленого разъема)
2. Есть ли номер, написанный фломастером напротив гнезда SD карты
3. Версия ядра контроллера (можно посмотреть через минипульт в системном меню) Должна быть 00020025.
Можно проверить еще один вариант. Для этого нужно узнать следующее:
1. Версия платы контроллера А9 (около зеленого разъема)
2. Есть ли номер, написанный фломастером напротив гнезда SD карты
3. Версия ядра контроллера (можно посмотреть через минипульт в системном меню) Должна быть 00020025.
Сделал всё с ноля (на столе лежит А9 и модуль DOUT8-R07):
1) Создал новый проект, добавил новый контроллер. Добавил интерфейс "В"(для связи с модулем), описал его.
2) Написал в Разработчике простейший алгоритм - "true" записывается в дискрет с номером "1".
3) В справочнике добавил дискрет "1" (Назвал его "Сигнал 1"). И физически его присвоил на 1 и 8 ой каналы модуля (к примеру)
4)Залил конфигу в А9 - щёлкнули релюшки, диоды загорели, всё ОК.
Далее:
5) Как указано в примере добавляю интерфейс "V1", описываю его в Канальном уровне, в Сетевом уровне добавляю строку в таблице "Связь с соседними узлами". Заливаю.
Каналы 1 и 8 отпадают (после перезагрузки модуля и контроллера)
6) Как только удаляю строчку в "Связь с соседними узлами" всё работает.
1) Создал новый проект, добавил новый контроллер. Добавил интерфейс "В"(для связи с модулем), описал его.
2) Написал в Разработчике простейший алгоритм - "true" записывается в дискрет с номером "1".
3) В справочнике добавил дискрет "1" (Назвал его "Сигнал 1"). И физически его присвоил на 1 и 8 ой каналы модуля (к примеру)
4)Залил конфигу в А9 - щёлкнули релюшки, диоды загорели, всё ОК.
Далее:
5) Как указано в примере добавляю интерфейс "V1", описываю его в Канальном уровне, в Сетевом уровне добавляю строку в таблице "Связь с соседними узлами". Заливаю.
Каналы 1 и 8 отпадают (после перезагрузки модуля и контроллера)
6) Как только удаляю строчку в "Связь с соседними узлами" всё работает.
Контроллер находится в Нормальном режиме (горят оба диода). Диод RTS мигает и на ПЛК, и на модуле
Дискрет связи с модулем я использую "193" - "1", когда "удалена" строчка таблицы "Связь с соседними узлами". Если модуль отцепляю от ПЛК - появляется код ошибки "6".
Как только добавляю эту строчку:
сигнал связи - поле "значение" пусто, а кода ошибки нет.
И диод RTS горит НЕПРЕРЫВНО на ПЛК, а на модуле не горит.
Дискрет связи с модулем я использую "193" - "1", когда "удалена" строчка таблицы "Связь с соседними узлами". Если модуль отцепляю от ПЛК - появляется код ошибки "6".
Как только добавляю эту строчку:
сигнал связи - поле "значение" пусто, а кода ошибки нет.
И диод RTS горит НЕПРЕРЫВНО на ПЛК, а на модуле не горит.
В первую очередь нужно проверить, что все работает на простой конфигурации: скажем 1 модуль и 1 виртуальный интерфейс. Сигналы с модуля приходят? Дискрет связи с модулем в 1? Далее организовать передачу данных между контроллерами, в одном База-сервер, в другом База-клиент. Дискрет связи с удаленным контроллеров устанавливается в 1?, данные с контроллера приходят. А уж потом когда все заработает можно добавлять разные компоненты Разработчика.
pooh писал(а):В первую очередь нужно проверить, что все работает на простой конфигурации: скажем 1 модуль и 1 виртуальный интерфейс. Сигналы с модуля приходят? Дискрет связи с модулем в 1? Далее организовать передачу данных между контроллерами, в одном База-сервер, в другом База-клиент. Дискрет связи с удаленным контроллеров устанавливается в 1?, данные с контроллера приходят. А уж потом когда все заработает можно добавлять разные компоненты Разработчика.
Решил сделать так, как вы написали. Конфигурацию контроллера сделал такую же, как КП1, единственное что при открытии КП1 вылезало сообщение об обнаружении более новых версий компонентов (Обработка дискретов, BUS-драйвер). Их заполнил в ручную, остальные таблицы скопировал.
Изменил физ. адрес модуля DOUT, остальное всё также.
Загрузил. Ситуация аналогичная. Как только заполняю таблицу "Связь с соседними узлами" отрубается свзязь с модулем. До этого дискрет связи с модулем в "1"
Экспериментировал со скоростью - безрезультатно.
Ощущение, что один интерфейс блокирует работу другого. При этом диод RTS горит непрерывно..
pooh писал(а):Можно 0 - тогда А9 будет отвечать любому WD контроллеру с любым сетевым адресом. Можно указать 60002, тогда А9 будет отвечать только конкретному WD. Аналогично и с настройкой IP адреса. Можно указать 0, можно указать конкретный IP WD контроллера.
Уважаемый pooh, еще есть один кейс,
Имеется A9, который передает данные на WinDecont по Ethernet, стоит задача передавать эти же данные с этого же контроллера на другой WinDecont на другом компьютере. Так вот, в настоящий момент данные нормально отображаются только на одном WinDecont, который первый подключился к A9. Как сделать (если это возможно), чтобы данные нормально отображались на обеих WinDecont?