PDA

Просмотр полной версии : Modbus TCP - несколько мастеров на один слейв



Карбофос
22.03.2020, 17:35
Здравствуйте!

Только начал изучение CoDeSYS 3.5, возник вопрос, как опрашивать ПЛК несколькими мастерами одновременно по ethernet (например с панели оператора, скады и ОвенКлауда).
Возможно ли это сделать по принципу CoDeSYS 2.3, создав один список слейв-переменных и обращаясь к ним из нескольких мест?

Евгений Кислов
22.03.2020, 17:52
Здравствуйте!

Только начал изучение CoDeSYS 3.5, возник вопрос, как опрашивать ПЛК несколькими мастерами одновременно по ethernet (например с панели оператора, скады и ОвенКлауда).
Возможно ли это сделать по принципу CoDeSYS 2.3, создав один список слейв-переменных и обращаясь к ним из нескольких мест?

Добрый день.
Да, возможно.
Стандартный слэйв, добавляемый через дерево проекта, поддерживается до 16-ти клиентов.

Карбофос
23.03.2020, 08:17
Добрый день.
Да, возможно.
Стандартный слэйв, добавляемый через дерево проекта, поддерживается до 16-ти клиентов.

И они все будут подключаться по одному TCP-порту? А ОвенКлауд?

Евгений Кислов
23.03.2020, 08:30
И они все будут подключаться по одному TCP-порту? А ОвенКлауд?

Да, по одному порту.
OwenCloud на современных прошивках работает не через Modbus TCP, а через символьную конфигурацию.
На прошлых прошивках для него использовался отдельный порт (по умолчанию - 1502).

Карбофос
02.04.2020, 13:46
Начал осваиваться с символьной адресацией для ОвенКлауд - достаточно удобная штука, здорово.

В одном грядущем скоро проекте мне потребуется подключить к СПК107 панель СП307-Р по Ethernet одновременно с клаудом. Здесь как, только TCP-слейв для панели и символьная адресация для клауда?

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

Евгений Кислов
02.04.2020, 13:58
В одном грядущем скоро проекте мне потребуется подключить к СПК107 панель СП307-Р по Ethernet одновременно с клаудом. Здесь как, только TCP-слейв для панели и символьная адресация для клауда?

Да, все верно.


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

В такой ситуации вместо СП3хх лучше бы подошла ВП110 - тогда не пришлось бы создавать отдельный проект в конфигураторе и настраивать обмен.
Рекомендую рассмотреть для следующих проектов.
https://owen.ru/product/vp110

Карбофос
03.04.2020, 08:40
Да, все верно.



В такой ситуации вместо СП3хх лучше бы подошла ВП110 - тогда не пришлось бы создавать отдельный проект в конфигураторе и настраивать обмен.
Рекомендую рассмотреть для следующих проектов.
https://owen.ru/product/vp110

В следующих - может быть, спасибо, но в этом уже не получится.

Следующий вопрос: в методичке по настройке связи между контроллером под CDS3.5 и СПК307-Р есть такое:

"Обратите внимание, что в реализации CODESYS значения holding регистров не могут
быть изменены из программы контроллера (только со стороны master-устройства). "


Возможно ли как-то добиться того ,чтобы можно было некую условную уставку изменять и с самого СПК, и из облака, и с панели - и при изменении ее с одного мастера она изменялась во всех других (как на ПЛК110)?

Евгений Кислов
03.04.2020, 09:20
Это можно сделать, организовав Modbus TCP Slave через библиотеку OwenCommunication.

Карбофос
03.04.2020, 10:08
Что-то прям совсем сложнаа. Есть ли пример подобной конструкции? Для того чтобы из ПЛК можно было изменять собственные holding-регистры нужно целиком организовывать обмен через эту библиотеку, или можно организовать обмен стандартными средствами и использовать один ФБ из библиотеки?

Евгений Кислов
03.04.2020, 10:13
Что-то прям совсем сложнаа. Есть ли пример подобной конструкции?

Посмотрите здесь п. 5.9.4:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v2.0.pdf


можно организовать обмен стандартными средствами и использовать один ФБ из библиотеки?

Для работы в режиме Modbus TCP Slave в вашем случае достаточно использовать ФБ библиотеки MB_TcpSlave, в дерево проекта при этом ничего добавлять не надо.
При этом можно использовать стандартные узлы из дерева проекта для других целей - для обмена по Modbus RTU, например, или по Modbus TCP в режиме master.