S7-1200 Modbus TCP • RAZRAB.RU

S7-1200 Modbus TCP

ПЛК / Децентрализованная периферия

S7-1200 Modbus TCP

Сообщение Ivydy » 13 фев 2018, 16:25

Добрый день. Задача: ПЛК S7-1200 1214С (Slave). Должна быть организована связь с двумя панелями (Master) по Modbus TCP. S7-1200 имеет только один порт для соединения по Modbus . Существует ли какой-нибудь дополнительный коммуникационный модуль для организации связи по Modbus TCP. Или как еще можно это сделать? Спасибо
Ivydy
Дилетант
 
Сообщения: 8
Зарегистрирован: 13 фев 2018, 16:17

Re: S7-1200 Modbus TCP

Сообщение Михайло » 13 фев 2018, 21:14

TCP-протокол имеет возможность наложения нескольких протоколов "друг на друга". Соответственно Modbus TCP можно наложить друг на друга. Физически это означает, что достаточно устройства соединить в сеть Ehernet между собой, а дальше все проблемы решать программно. И эти "проблемы" решаемы.
Михайло
Администратор
 
Сообщения: 3754
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 Modbus TCP

Сообщение Борисыч » 14 фев 2018, 07:38

Добрый день.
Для физического соединения данных устройств (2 панели + 1 ПЛК) Вам необходимо, только все эти устройства подключить в один свитч. Обмен будет по TCP/IP. Profinet - используется тот же TCP/IP только в него встроен протокол Profinet. Михайло выше об это написал.
Но есть один нюанс. Программно в CPU1214 создаете MB_SERVER, но в документации на ПЛК S7-1200 написано: S7-1200 позволяет только одно соединение на IP-порт. Т.е. Вам необходимо создать два MB_SERVER у которых будут отличаться IP_PORT(например, 502 и 503) и ID соединения (например 1 и 2). Один MB_SERVER работает с одной панелью по Modbus TCP, другой MB_SERVER работает с другой панелью по Modbus TCP. Об этом хорошо написано в документации на S7-1200 (на 1296 стр.). Посмотрите страницу - 1021.
Борисыч
Любитель
 
Сообщения: 39
Зарегистрирован: 20 дек 2017, 17:01

Re: S7-1200 Modbus TCP

Сообщение Ivydy » 14 фев 2018, 10:15

Борисыч писал(а):Добрый день.
Для физического соединения данных устройств (2 панели + 1 ПЛК) Вам необходимо, только все эти устройства подключить в один свитч. Обмен будет по TCP/IP. Profinet - используется тот же TCP/IP только в него встроен протокол Profinet. Михайло выше об это написал.
Но есть один нюанс. Программно в CPU1214 создаете MB_SERVER, но в документации на ПЛК S7-1200 написано: S7-1200 позволяет только одно соединение на IP-порт. Т.е. Вам необходимо создать два MB_SERVER у которых будут отличаться IP_PORT(например, 502 и 503) и ID соединения (например 1 и 2). Один MB_SERVER работает с одной панелью по Modbus TCP, другой MB_SERVER работает с другой панелью по Modbus TCP. Об этом хорошо написано в документации на S7-1200 (на 1296 стр.). Посмотрите страницу - 1021.

Спасибо за подробный ответ. А не могли бы ссылку на документацию дать ?
Ivydy
Дилетант
 
Сообщения: 8
Зарегистрирован: 13 фев 2018, 16:17

Re: S7-1200 Modbus TCP

Сообщение Борисыч » 14 фев 2018, 10:25

например: https://www.prosoft.ru/cms/f/464634.pdf
начиная с 1008 страницы - Modbus TCP коммуникации, а конкретно - 1021 страница.
Борисыч
Любитель
 
Сообщения: 39
Зарегистрирован: 20 дек 2017, 17:01

Re: S7-1200 Modbus TCP

Сообщение Борисыч » 14 фев 2018, 10:30

В структуре TCON_IP_V4 пробивается порт (в LocalPort) - это если в блоке (MB_SERVER) явно нет, если в блоке (MB_SERVER) есть явно то просто порт, как в руководстве пробиваете.
Борисыч
Любитель
 
Сообщения: 39
Зарегистрирован: 20 дек 2017, 17:01

Re: S7-1200 Modbus TCP

Сообщение Борисыч » 14 фев 2018, 10:38

Посмотрел у Siemens есть описание:
https://cache.industry.siemens.com/dl/f ... 200_en.pdf
Там и блоки расписаны и структуры (типа TCON_IP_V4). Что, куда и зачем.
Борисыч
Любитель
 
Сообщения: 39
Зарегистрирован: 20 дек 2017, 17:01

Re: S7-1200 Modbus TCP

Сообщение Ivydy » 15 фев 2018, 10:13

Борисыч писал(а):Посмотрел у Siemens есть описание:
https://cache.industry.siemens.com/dl/f ... 200_en.pdf
Там и блоки расписаны и структуры (типа TCON_IP_V4). Что, куда и зачем.

спасибо, будем разбираться
Ivydy
Дилетант
 
Сообщения: 8
Зарегистрирован: 13 фев 2018, 16:17

Re: S7-1200 Modbus TCP

Сообщение asnik » 04 июл 2018, 23:10

Кто сталкивался подскажите. Организовал Modbus TCP server. На вход MB_Hold дал DB с аналогами (т.е. Real). Все замечательно, Modbus клиентом опрашиваю и получаю значения параметров (почему то лектус не берет 0-й адрес, но это мелочи). Кроме этого мне нужно было получить еще входные-выходные дискреты, которые хранятся в другом DB. И вот тут меня ждал облом. Сначала я объединил аналоги и дискреты в одном DB, предполагая что клиенту все равно что читать в регистрах хранения, нужно задать только адрес регистра или бита. Номер не прошел, ошибка соединения с сервером. Тогда сделал два блока MB_SERVER с другим ID и номером порта . На 1-й блок DB с аналогами, на 2-й DB с дискретами, опять фигвам, значения недостоверны. Что я делаю не так? Документацию уже наизусть выучил. Там кроме всего прочего сказано, что можно получить прямой доступ к образу процесса, задавая адреса типа 10001, 30001, но как это сделать практически?
asnik
Дилетант
 
Сообщения: 5
Зарегистрирован: 01 май 2018, 09:57

Re: S7-1200 Modbus TCP

Сообщение Михайло » 04 июл 2018, 23:46

asnik писал(а):сказано, что можно получить прямой доступ к образу процесса, задавая адреса типа 10001, 30001, но как это сделать практически?

Прямой доступ к памяти означает: Q0.0...Q1249.6, I0.0...I1249.6, IW0...IW19996, но используя адресацию 1...9999 (во всех случаях).
Holding registers - эти данные особые, их можно размещать в датаблоке DB или в памяти M, да наверное и в Q можно, только зачем?
Михайло
Администратор
 
Сообщения: 3754
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 Modbus TCP

Сообщение asnik » 07 июл 2018, 00:09

В Holding registers (регистры хранения) вы можете хранить все что угодно. Биты, слова, двойные слова, Float. Для организации связи по Modbus TCP, по-моему это очень удобный вариант, когда в одной DB вы объединяете все необходимые данные для запросов Modbus TCP клиентов, будь-то верхняя SCADA или ОРС сервер.
asnik
Дилетант
 
Сообщения: 5
Зарегистрирован: 01 май 2018, 09:57


Вернуться в LOGO! / S7-200 / S7-1200 / S7-300/ S7-400 / S7-1500 / ET200

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1