IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

ПЛК / Децентрализованная периферия
Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Всем доброго дня!

Стоит задача управлять частотником по Modbus RTU протоколу.

В конфигурации ПЛК есть IM151-8 и 1SI модуль.

В мануале на 1SI модуль есть описание структур для FB.
Во время чтения мануала я не нашёл, как привязывается созданный FB к модулю 1SI. У 1SI нет тэгов и как он узнает, что созданная структура относится к нему?

Имена элементов структур зарезервированы и модуль по ним определяет, что с ним общаются или как?
Существует ли библиотека, в которой эти структуры были бы уже созданы для TIA PORTAl или их нужно создавать самому?
Может у кого есть пример Modbus RTU Master для IM151 + 1SI ?

Мне показалось, что на Siemens Modbus RTU сделан как-то сложно, ранее я с таким не сталкивался. Помогите, пожалуйста! :ges_help:

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

Какой софт-то? v5.x или v11-V15?


Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Михайло писал(а):Какой софт-то? v5.x или v11-V15?
v14

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

А я v5.5 запустил и пытался разобраться. :) Не сумел добавить ET200 CPU (IM151-8) в Hardware.

Вот может быть более подходящая ссылка:
https://support.industry.siemens.com/cs ... 0&lc=en-WW

Для идентификации 1SI используется PORT у функции MB_Comm_Load.
В свою очередь, MB_Comm_Load связывается с MB_Master или MB_Slave через вход MB_DB.

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Спасибо, буду разбираться!

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Добрый день!

Добрался до этой темы и возникли вопросы:
1. Что такое и откуда брать DB_NO для S_SEND и S_RCV ? В описании на 1Si модуль, что это число зависит от CPU. И всё..
2. В том же описании сказано, что для работы достаточно S_SEND и S_RCV. Для чего тогда нужны : MB_Comm_Load и MB_Master или можно без них обойтись?

UPD:
1. DB_NO - это номер db, где лежит массив на передачу?
2. В MB_Comm_Load настраиваем параметры связи, он нужен, получается.
3. MB_DB в MB_Comm_Load - какую структуру на вход давать не понятно, в описании на модуль нет упоминания.

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Помогите, пожалуйста, уважаемые форумчане! :clap: всю голову сломал себе уже.

MB_DB в MB_Comm_Load - какую структуру на вход давать не понятно, в описании на модуль нет упоминания.

Не понятно абсолютно, как работать с MB_Comm_Load и нужен ли и MB_Master и как работать с MB_DB ?

По S_SEND:

Где брать LADDR ?
Где выставлять адрес SLAVE устройства?

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

MB_DB - вроде разобрался.

По остальным вопросам не понятно вообще :wall:

Выручайте, товарищи, горю! :(

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Где указывается адрес slave устройства и тип команды(0х3 0х4 и т.д.) ? %)

Мануал на 240 страниц и толком ничего нет

Прикрепил мануал.

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

У Сименса не указывается напрямую тип функции, вместо этого, ты должен сказать, какую операцию, read или write, хочешь использовать и ещё пару параметров. И после этого модбас-функции "догадываются", что ты хочешь.

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

И ещё: в ТИА Портале есть два набора функций для Modbus RTU. Выбери те, что новые (пишутся большими буквами MB_COMM_LOAD, MB_MASTER).

MB_COMM_LOAD - эта функция для настройки и активации подключения к слэйвам.
MB_MASTER - эта функция для инициации обмена данными.

Обе функции нужны. На входах EN всегда единица. И далее задавай входные параметры. Выделяешь прямоугольник функции и нажимаешь F1 - вылазит справка по функции, где всё расписано.

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Спасибо!

В хэлпе не понятно написано про DATA_PTR - это указатель на начало массива данных на передачу?
А DATA_ADDR - это смещение от начала массива на передачу?

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

да, вроде так

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Доброго дня, уважаемые коллеги!

В настройках MODBUS_COMM_LOAD есть PORT - номер-идентификатор железа.

В примерах для программирования для S7-1200, S7-300/400, у которых используются коммуникационные модули, отличные от 1SI, который используется вместе с ET200S, есть поле "Hardware Identifier" - это и есть PORT.

У модуля 1SI 6ES7 138-4DF11-0AB0 такого поля нет.

Что указывать в PORT в настройках MODBUS_COMM_LOAD?

Сейчас MODBUS_COMM_LOAD не выдаёт DONE=1 при этом STATUS = 0x7000 - что означает Block Idle. Если я правильно понимаю, это означает, что прошивка не может достучаться до модуля 1SI, чтобы его настроить, верно?

Помогите разобраться, пожалуйста! :clap:

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

У меня есть это поле
1SI.png
Без правильного порта ничего работать не будет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Есть две модификации модуля:

6ES7 138-4DF11-0AB0 - Modbus и USS
6ES7 138-4DF10-0AB0 - 3964(R)

Пробовал ставить оба варианта, не показывает поле Hardware Identifier. :dontknow:
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

У меня V13 SP2.
А что показывает во вкладке Identification & Maintenance?

Ещё хардварные номера должны отображаться в PLC Tags - System constants.
У меня переменная "IO_device_1~1_SI_1" равна 277. Эту переменную можно воткнуть прямо на вход PORT.

Daedal
Любитель
Сообщения: 28
Зарегистрирован: 15 фев 2018, 11:29

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

Сообщение Daedal »

Identification & Maintenance - там ничего важного нет
System constants есть только в default PLC tags, но там пусто

У TIA PORTAL не установлен SP1. Это на что-то влияет?

Видимо, нужно поставить его, если не поможет, то буду ставить V13 SP2. Не знаю, что делать ещё. %)

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

Re: IM151-8 + 1SI = Modbus Rtu Master. Как делают такое?

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

А system constants тут прямо на вкладках 1SI?

Ответить