S7-1200 + Modbus TCP + Altivar Process

ПЛК / Децентрализованная периферия
ермак
Дилетант
Сообщения: 6
Зарегистрирован: 23 ноя 2017, 05:58

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение ермак »

Михайло писал(а):А что Вы уже сделали и поняли? И что Вы не сделали и не поняли?
У меня есть пример по соединению S7-1200 - Sentron PAC. Как я понял, никакие сетевые настройки не конфигурируются, А конфигурируются только блоки получения/передачи - MB_Server/MB_Client. Ну и опрос..
До этого я программировал в основном логику, когда контроллер управляет напрямую исполнительными механизмами посредством релейных выходов. А со связью - впервые, вот тут то и встала загвоздка по параметрированию MB_Server/MB_Client. Длина слов, ID - я не могу понять, откуда это все берется, и как мне передать задание в ЧРП, и получить обратно несколько слов от ЧРП. Сам механизм конфигурирования/передачи/получения мне не ясен. Если можете посоветовать умную литературу (в которой доступно будет объяснено) - буду очень признателен!

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 588
Зарегистрирован: 22 июл 2016, 20:38

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение mr_Frodo »

Найдите здесь сообщения участника Chant. У него в подписи есть информация.
Вот моя подпись...

ермак
Дилетант
Сообщения: 6
Зарегистрирован: 23 ноя 2017, 05:58

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение ермак »

Не совсем понял терминологию "в подписи". Это где?

ермак
Дилетант
Сообщения: 6
Зарегистрирован: 23 ноя 2017, 05:58

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение ермак »

Мне не понятен сам механизм передачи.
1. Настраивается только MB_Client/MB_Server.. Или же еще что-то. Когда вставляю MB_Client в OB1 - на самом блоке нет настройки адреса (IP_OCTET).
2. Куда должны записываться передаваемые/считываемые данные? Я так подозреваю что в соответствующие блоки данных MB_Client/MB_Server. Но опять же... я не знаю каким образом это делать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение Михайло »

Вам нужно использовать MB_Client. Контроллер обращается к ЧРП как клиент, а ЧРП обслуживает контроллер (ЧРП - сервер). Клиент сам решает, какие данные куда переложить. Он может скомандовать "возьми вот эти данные, запиши их в такую-то свою ячейку" или "дай мне данные из такой-то твоей ячейки". Modbus-сервера, как правило, вообще не нужно программировать даже, они простые исполнители, работают все одинаково. MB_Server в S7-1200 предназначен лишь для возможности организации ограничения доступа к своим данным.

MB_Client/MB_Server имеют несколько разных версий с заметной разницей в настройках. Раньше, насколько я помню, IP-адрес вбивался прямо в MB_Client/MB_Server. Потом видимо настроек стало больше и эти настройки вывели в отдельную структуру TCON_IP_v4, которая цепляется к функции MB_Client/MB_Server ко входу Connect. Видимо поэтому Вы не видите, куда вводить IP.

Итак, Вы добавили MB_Client и связали его с датаблоком MB_Client_DB. Создайте еще один датаблок DB1, добавьте в него тэг с любым именем, тип тэга "TCON_IP_v4". Увидели, куда вбивать IP? :p
Второй сложный вопрос: что такое MB_DATA_PTR? Это указатель на область памяти, которые нужно либо передать серверу, либо куда принять от сервера. Добавьте в DB1 нужные тэги, которыми Вы будете обмениваться с ЧРП. Я уже забыл, кажись их потом и надо будет прописывать в MB_DATA_PTR.

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 588
Зарегистрирован: 22 июл 2016, 20:38

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение mr_Frodo »

Подпись - это текст в конце письма (поста), которым автор обозначает свой профиль. В последнее время - на этот аппендикс никто не обращает внимания, хотя зря...
Вот моя подпись...

ермак
Дилетант
Сообщения: 6
Зарегистрирован: 23 ноя 2017, 05:58

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение ермак »

Соединение создал с помощью MB_Client. Задал IP-адрес, режим работы, начальный адрес для чтения, длину сообщения и адрес куда записывать. В общем-то все дело было в некоторых тонкостях. Начальный адрес для чтения был найден экспериментально-эмпирическим путем. Попозже выложу скрин и описание настройки.

ермак
Дилетант
Сообщения: 6
Зарегистрирован: 23 ноя 2017, 05:58

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение ермак »

Теперь встала проблема с записью в ЧРП. При попытке записать в ЧРП уставку скорости связь с ПЛК нарушается. Не работает ни запись, ни чтение. Помогает только перезагрузка ЧРП. Кто-нибудь когда-нибудь записывал данные в ЧРП?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение Михайло »

Может нужно сделать swap? То есть поменять местами байты в слове, просто разные производители придерживаются разного порядка байтов в слове (младший-старший little-endian или старший-младший big-endian). Кажется Schneider Electric придерживается порядка big-endian, а Siemens - little-endian.
Для этого у S7-1200 есть инструкция SWAP. На вход подай частоту вращения little-endian, на выходе получи big-endian для вставки в Modbus-сообщение.

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 588
Зарегистрирован: 22 июл 2016, 20:38

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение mr_Frodo »

Просто посмотри что идет на выход в Стёпе в слове управления для альтиварпроцесс до того и после.
Вот моя подпись...

timonen
Профан
Сообщения: 1
Зарегистрирован: 21 июл 2022, 19:15

Re: S7-1200 + Modbus TCP + Altivar Process

Сообщение timonen »

Для тех кому интересно решение проблемы, в экземплярном блоке данных для MB_Client нужно поменять широковещательный запрос MB_Unit_ID =255 на 0.

Ответить