Страница 1 из 2

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

Добавлено: 17 апр 2018, 12:47
Daedal
Всем доброго дня!

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

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

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

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

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

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

Добавлено: 17 апр 2018, 14:25
Михайло
Какой софт-то? v5.x или v11-V15?

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

Добавлено: 17 апр 2018, 16:58
Andrey.wys

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

Добавлено: 17 апр 2018, 22:52
Daedal
Михайло писал(а):Какой софт-то? v5.x или v11-V15?
v14

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

Добавлено: 18 апр 2018, 04:14
Михайло
А я 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.

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

Добавлено: 24 апр 2018, 17:41
Daedal
Спасибо, буду разбираться!

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

Добавлено: 07 май 2018, 13:35
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 - какую структуру на вход давать не понятно, в описании на модуль нет упоминания.

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

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

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

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

По S_SEND:

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

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

Добавлено: 08 май 2018, 12:51
Daedal
MB_DB - вроде разобрался.

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

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

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

Добавлено: 08 май 2018, 13:18
Daedal
Где указывается адрес slave устройства и тип команды(0х3 0х4 и т.д.) ? %)

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

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

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

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

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

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

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

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

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

Добавлено: 10 май 2018, 08:40
Daedal
Спасибо!

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

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

Добавлено: 10 май 2018, 08:56
Михайло
да, вроде так

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

Добавлено: 23 май 2018, 15:54
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:

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

Добавлено: 23 май 2018, 20:56
Михайло
У меня есть это поле
1SI.png
Без правильного порта ничего работать не будет.

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

Добавлено: 24 май 2018, 02:43
Daedal
Есть две модификации модуля:

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

Пробовал ставить оба варианта, не показывает поле Hardware Identifier. :dontknow:

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

Добавлено: 24 май 2018, 05:52
Михайло
У меня V13 SP2.
А что показывает во вкладке Identification & Maintenance?

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

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

Добавлено: 24 май 2018, 08:58
Daedal
Identification & Maintenance - там ничего важного нет
System constants есть только в default PLC tags, но там пусто

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

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

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

Добавлено: 24 май 2018, 11:47
Михайло
А system constants тут прямо на вкладках 1SI?