Страница 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
Помогите, пожалуйста, уважаемые форумчане!
всю голову сломал себе уже.
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 - вроде разобрался.
По остальным вопросам не понятно вообще
Выручайте, товарищи, горю!
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, чтобы его настроить, верно?
Помогите разобраться, пожалуйста!
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.
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?