1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

M241: подключение к ПЛК двух Modbus TCP клиентов

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить
Аватара пользователя

Автор темы
sCh378
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 27 авг 2020, 09:58
Имя: Клим
Страна: Россия
город/регион: Саратов

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение sCh378 »

Добрый день,
Необходимо к ПЛК М241, работающему в качестве Modbus TCP сервера, подключить два Modbus TCP клиента - панель оператора и SCADA-систему (например, через OPC). Теоретически это можно сделать, если использовать для клиентов на одном сетевом интерфейсе разные порты. Но, судя настройкам сетевых интерфейсов в CDS, коммуникационные возможности контроллера сильно ограничены. Невозможно даже изменить стандартный адрес порта (502). Возможно есть какие-то библиотеки, которые помогут решить данную задачу? Подскажите куда копать?

se_sib
освоился
освоился
Сообщения: 280
Зарегистрирован: 14 дек 2015, 12:15
Имя: Евгений
Страна: Россия
город/регион: Краснодар
Благодарил (а): 5 раз
Поблагодарили: 73 раза

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение se_sib »

Почему нужны разные порты для подключения 2 устройств?
М241 могут опрашивать до 8 клиентов одновременно по 502.
Для работы с сервером не нужно добавлять ModbusTCP Slave Device на порт, достаточно включить Modbus Server в настройках порта и обьявить переменные с статическими адресами через AT %M....
Аватара пользователя

Автор темы
sCh378
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 27 авг 2020, 09:58
Имя: Клим
Страна: Россия
город/регион: Саратов

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение sCh378 »

Спасибо, добрый человек! :ges_up:
А каким образом адреса присваивать? В Device Tree к узлу Ethernet добавлять вложенные объекты в виде переменных не дает. Если объявить переменные, к примеру, в GVL, то какие адреса им присвоить, чтобы они были привязаны к сетевому интерфейсу? Или, если адрес, например, %М40001, то туда попадают данные которые клиент записал функцией 3 в нулевой регистр?
Если есть поделитесь ссылками на руководства по программированию Modicon? А то я накачал каталогов, брошюр, да кое-каких примеров, но там того, что нужно нет.

se_sib
освоился
освоился
Сообщения: 280
Зарегистрирован: 14 дек 2015, 12:15
Имя: Евгений
Страна: Россия
город/регион: Краснодар
Благодарил (а): 5 раз
Поблагодарили: 73 раза

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение se_sib »

Посмотрите в папке инструкции
https://schneider-electric.app.box.com/ ... ntxmo14nay

Вы даете адреса при объявлении, например
xVar1 AT %MX0.0 : BOOL;
iVar2 AT %MW10 : INT;
rVAr3 AT %MD10 : REAL;
(следите за перекрытием адресов MX,MW,MD)
И по эти адресам они доступны через любые интерфейсы поддерживающие Modbus. Главное чтоб в настройках Ethernet был включен Modbus сервер, а на последовательные порты добавлен и сконфигурирован Modbus Manager.

Для подключения к SCADA может быть так же использован встроенный в ПЛК OPC UA сервер или промежуточный Codesys OPC DA сервер или прямое подключение по символьному протоколу Codesys(его же использует OPC DA сервер для связи с ПЛК) если поддерживает клиент.

p.s. можно и программно организовать Modbus серверы на ПЛК с любыми номерами портов, кроме 502(он зарезервирован штатным сервером).
https://www.se.com/ww/en/faqs/FA379937/
Аватара пользователя

Автор темы
sCh378
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 27 авг 2020, 09:58
Имя: Клим
Страна: Россия
город/регион: Саратов

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение sCh378 »

Вы даете адреса при объявлении, например
xVar1 AT %MX0.0 : BOOL;
iVar2 AT %MW10 : INT;
rVAr3 AT %MD10 : REAL;
Если я правильно понял: регистры Modbus отображаются на адреса в памяти ПЛК. Т.е. обращаясь к нулевому регистру хоть функцией 3, хоть функцией 4 (или функциями 1,2 при побитовом чтении), я попаду на одну и ту же переменную в памяти. И при этом и читать и писать в нее может как программа ПЛК, так и клиент Modbus. Верно?

se_sib
освоился
освоился
Сообщения: 280
Зарегистрирован: 14 дек 2015, 12:15
Имя: Евгений
Страна: Россия
город/регион: Краснодар
Благодарил (а): 5 раз
Поблагодарили: 73 раза

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение se_sib »

sCh378 писал(а): 28 авг 2020, 12:42 Если я правильно понял: регистры Modbus отображаются на адреса в памяти ПЛК. Т.е. обращаясь к нулевому регистру хоть функцией 3, хоть функцией 4 (или функциями 1,2 при побитовом чтении), я попаду на одну и ту же переменную в памяти. И при этом и читать и писать в нее может как программа ПЛК, так и клиент Modbus. Верно?
Нет, все объявленные переменные находятся в памяти регистров хранения! Только функции для работы с регистрами хранения 03,16,23...
Переменные используются в программе и по заданному адресу доступны по Modbus.
%MX"a"."b" - "a" номер байта, "b" номер бита в байте, например MX10.0 это 0-ой бит регистра 5(MW5)
%MW"a" - так и есть "a" номер регистра(слова) в памяти
%MD"a" - "a" номер двойного регистра(слова) в памяти, например MD10 - это регистры 20,21(MW20,MW21)
Прочитайте раздел AT Declaration в онлайн справке.
Аватара пользователя

Автор темы
sCh378
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 27 авг 2020, 09:58
Имя: Клим
Страна: Россия
город/регион: Саратов

M241: подключение к ПЛК двух Modbus TCP клиентов

Сообщение sCh378 »

Ок. Спасибо! :good:
Ответить

Вернуться в «ПЛК»