Сообщение от
RV9WFJ
При организации обмена данными между контроллерами с помощью DataSource Manager можно как-то задать IP адрес опрашиваемого контроллера? Ну или его системный ID или еще как-то обойти скан сети. Дело в том что я подключаюсь удаленно через OpenVPN в сеть с контроллерами и соответственно скан сети не работает. И Автоматическая конфигурация у меня тоже не работает - связь не устанавливается. Вроде как в своей сети смог сделать связь через Поиск целевого устройства, но повторить это на удаленных контроллерах не получилось. Пока не пробовал только через переменную с адресом ПЛК, но там не до конца понятно какой ID в эту переменную записывать.
2021-11-07_23-04-40.png
У вас скан не работает, вероятно, из-за OpenVPN - потому что сканирование сети происходит через UDP Broadcast.
Но конкретно с ПЛК2хх метод сканирования сети в DataSource Manager вообще не сработает (мы в дальнейшем посмотрим, в чем там может быть дело).
Как вы верно заметили - нужно использовать настройку связи через переменную.
Как это сделать:
1. На устройстве, в котором будет создаваться DataSource Manager объявляете переменную (экземпляр структуры):
Код:
stSetup: DatasourceAppV3.ConnectionSetup;
2. При добавлении DataSource Manager выбираете режим Конфигурация вручную - Динамически из переменной устройства.
Привязываете объявленную переменную.
3. В коде в поле структуры stNodeAddress присваиваете логический адрес (см. ниже) устройства, к которому подключается DataSource Manager.
После этого в поле xDataValid присвоить TRUE.
Код:
stSetup.stNodeAddress := '0003.0885.9000.2DDC.0A02.1949';
stSetup.xDataValid := TRUE;
Логический адрес устройства виден при сканировании сети и подключении:
2021-11-08_8-46-29.png
2021-11-08_8-49-07.png