0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 23
1

Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU

16.08.2021, 07:23. Показов 1685. Ответов 23

Задача: считать задание в процентах с ПЧ FC51.

Соединил контроллер S7-1200 (214-1AG40-0XBO) по протоколу MODBUS RTU с преобразователем частоты Danfoss FC51 c помощью коммуникационной платы связи 6ES7241-1CH30-1XB0.
Cостояниее "Off Reset".
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU

Состояние "Hand on".
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU

Настройку ПЧ произвел в соответствии с таблицей.
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU

В TIA PORTAL V14 сконфигурировал плк и коммуникационную плату.
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU

В OB1 добавил блоки "MB_COMM_LOAD_DB" и "MB_MASTER_DB".
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU


Проблема: при переводе ПЧ из Off Reset в Hand on в переменную DB1.STATUS ничего не записывается. Ошибки не появляются, но при этом параметр DONE = False.

Вопрос: в каком моменте была допущена ошибка?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2021, 07:23
Ответы с готовыми решениями:

Приложение для управления девайсом по протоколу Modbus RTU
Здравствуйте! Необходимо написать приложение для управления источником постоянного тока по...

Сформировать запрос на чтение данных по протоколу modbus rtu
Добрый вечер! Появилась задача написать программку для master modbus rtu (на Borland C++ и...

Как сформировать запрос согласно протоколу Modbus RTU
Добрый день надо сформировать запрос согласно протоколу Modbuss RTU при нажатии кнопки отправить...

Нет связи между модулем ввода (modbus rtu slave) и программой modbus poll на ноутбуке
Добрый день форумчанам. Сконфигурирован модуль modbus rtu slave в Ovation system. Опыт работы с...

23
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
17.08.2021, 10:53 2
Цитата Сообщение от DS_2 Посмотреть сообщение
в каком моменте была допущена ошибка?
При этом обратите внимание, что флаг "BUSY" = true. Надо бы посмотреть что возвращает Данфосс в момент переключения режима. Мне кажется дело в запросах от ПЛК.
И еще. На счет Данфосса не уверен, но возможно его стоит перевести в "Auto On" для корректного обмена?
0
453 / 218 / 71
Регистрация: 25.05.2012
Сообщений: 952
Записей в блоге: 1
19.08.2021, 16:37 3
Цитата Сообщение от wizard41 Посмотреть сообщение
возможно его стоит перевести в "Auto On" для корректного обмена
ЕМНИП Auto On это для разрешения внешнего управления (полевая шина, DI..). На сам обмен влиять не должно
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
19.08.2021, 17:45 4
Цитата Сообщение от NewOrdered Посмотреть сообщение
На сам обмен влиять не должно
Естественно. Но и статусы в "Hand on" получаем соответствующие.

Добавлено через 21 минуту
Неизвестно что у ТС в настройках ПЧ сейчас стоит. Может быть там готовность по сигналу некоего DI; сигнала нет (контакт не замкнут) вот и статус DONE = False. И это еще не известно что за код запроса там идет по модбасу. Бывали случаи, когда приходилось "танцевать с бубном", чтоб ПЧ начал понимать запросы от ПЛК.
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 23
19.08.2021, 18:59  [ТС] 5
Цитата Сообщение от wizard41 Посмотреть сообщение
Может быть там готовность по сигналу некоего DI
В теории данный вариант возможен, так как ранее ПЧ управляли через DI. При следующей возможности проверю настройки ПЧ.

Уточняющий вопрос, в плане соединения плк с ПЧ по модбас все верно? (Соединял в соответствии с инструкциями)
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
Соединение S7-1200 c ПЧ FC51 по протоколу MODBUS RTU
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
19.08.2021, 19:08 6
Цитата Сообщение от DS_2 Посмотреть сообщение
Уточняющий вопрос, в плане соединения плк с ПЧ по модбас все верно?
Судя по фото в первом посте обмен же идет? Или ПЛК сам с собой разговаривает?
А землю (common) все же прицепите к ПЧ (COM RS 485), хоть это и дифференциальная пара.

Добавлено через 1 минуту
Да, и в самом ПЧ точно в настройках все правильно, относительно МБ (485) ?
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 23
19.08.2021, 19:15  [ТС] 7
Цитата Сообщение от wizard41 Посмотреть сообщение
Да, и в самом ПЧ точно в настройках все правильно, относительно МБ (485) ?
Настраивал по таблице из первого поста. Саму таблицу нашел в мануалах по настройке соединения с этим ПЧ.

Цитата Сообщение от wizard41 Посмотреть сообщение
А землю (common) все же прицепите к ПЧ (COM RS 485), хоть это и дифференциальная пара.
Попробую, спасибо)
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
19.08.2021, 19:22 8
FC51-е у меня тоже стоят и довольно много. Управляются по профинету, но пока не доводилось ковыряться в них (проблем не было). Мануала по ним под рукой нет (я в отпуске), но если скинете что есть у вас, ознакомлюсь.
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 23
19.08.2021, 19:35  [ТС] 9
Цитата Сообщение от wizard41 Посмотреть сообщение
Мануала по ним под рукой нет (я в отпуске), но если скинете что есть у вас, ознакомлюсь.
Первоначальная настройка делала в соответствии с данным файлом. В конце файла ссылка на исходную статью.
Connect.docx

После ваших слов буду проверять настройку ПЧ в соответствии с этим документом.
FC51 slave в сети modbus.pdf
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
19.08.2021, 19:39 10
DS_2, ага, ну завтра посмотрю докумы, может какая мысль возникнет.
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 23
19.08.2021, 19:40  [ТС] 11
Цитата Сообщение от wizard41 Посмотреть сообщение
DS_2, ага, ну завтра посмотрю докумы, может какая мысль возникнет.
Хорошо, спасибо)
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
19.08.2021, 19:50 12
Хм, похоже вы считываете что-то не то. Параметр 416020, как следует из документа это задание в %. А текущее задание может быть 0, вот и в DB 0. Что кстати в DB у вас?
Выход ФБ "DONE" возможно устанавливается в true на период одного скана программы. Он говорит о том, что параметр по адресу такому-то считался успешно. Его надо отлавливать сразу после ФБ модбаса.
Короче я понял что к чему. Обмен у вас нормальный, просто надо понять что вы считываете и куда пишете. Но давайте уже не сегодня.
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
20.08.2021, 09:42 13
DS_2, разверните datablock DB1, что там у вас. И Clock_5Hz многовато, сделайте хотя бы 1. Потом, найдите в книжке на ПЧ параметр, который по умолчанию не равен 0, например "Базовая частота" или что-то в этом плане. Как правило с завода он = 50. Пробуйте его считать в DB.

Добавлено через 3 минуты
Ниже ФБ МДБ можете поставить триггер с защелкой и маркер, на вход которого подайте сигнал с DONE.
0
453 / 218 / 71
Регистрация: 25.05.2012
Сообщений: 952
Записей в блоге: 1
20.08.2021, 10:19 14
DS_2,
несколько замечаний:
1. Не используйте таймеры и тактовые биты для управления приемом-передачей.
2. После того как блок вернул Done или Error, переходите к следующему вызову.
3. При чтении:
MODE = 0
DATA_LEN = Количество запрашиваемых регистров (не байт)
DATA_ADDR - тут надо подбирать. С моим слэйвом заработал вариант не 40000, а 400000
DATA_PTR должен указывать на область, равную (кол-во регистров * длина регистра).
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
20.08.2021, 10:28 15
Цитата Сообщение от NewOrdered Посмотреть сообщение
1. Не используйте таймеры и тактовые биты для управления приемом-передачей.
На счет тактовых бит согласен, а вот таймеры чем плохи? Если требуется периодическое считывания параметров? Да и у ТС, похоже, больше ничего пока нет; так, ради проверки если.

Добавлено через 1 минуту
Цитата Сообщение от NewOrdered Посмотреть сообщение
2. После того как блок вернул Done или Error, переходите к следующему вызову.
Он и так произойдет при следующем проходе или по сигналу будущего таймера.
0
453 / 218 / 71
Регистрация: 25.05.2012
Сообщений: 952
Записей в блоге: 1
20.08.2021, 10:40 16
Цитата Сообщение от wizard41 Посмотреть сообщение
а вот таймеры чем плохи? Если требуется периодическое считывания параметров?
в общем случае:
1. Слэйвов может быть больше одного
2. С одного слэйва считывается несколько независимых наборов данных.
С таймерами будет путаница (особенно для начнающих).
Один таймер на всё? На слейва? На вызов блока?
Проще вызывать блок чтения последовательно с новым набором параметров по мере завершения/отказа предыдущего вызова.
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
20.08.2021, 10:48 17
NewOrdered, да, но тут уже идет правильная реализация, на тех же таймерах. Если считывание блока N еще не завершено, то нет и сигнала работы таймера. То есть тут он ничем не вредит.
Цитата Сообщение от NewOrdered Посмотреть сообщение
С таймерами будет путаница (особенно для начнающих).
Возможно, но в данном конкретном случае просто для проверки обмена у ТС. У него нет других источников тактирования выборок.
Цитата Сообщение от NewOrdered Посмотреть сообщение
Один таймер на всё? На слейва? На вызов блока?
Нет конечно. У немцев вон вообще, их целые цепочки. Но как правило, один из них - "запускающий" весь процесс.
Цитата Сообщение от NewOrdered Посмотреть сообщение
Проще вызывать блок чтения последовательно с новым набором параметров по мере завершения/отказа предыдущего вызова.
Да, тоже согласен. Главное ТС не перезагрузить информацией, а то он прям сейчас начнет путаться. Пусть хоть как-нибудь что-нибудь получит от ПЧ.

Добавлено через 1 минуту
Цитата Сообщение от NewOrdered Посмотреть сообщение
Слэйвов может быть больше одного
Как правило их от 100 и выше. На больших предприятиях им в виду.
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 23
20.08.2021, 12:55  [ТС] 18
Цитата Сообщение от wizard41 Посмотреть сообщение
Хм, похоже вы считываете что-то не то. Параметр 416020, как следует из документа это задание в %. А текущее задание может быть 0, вот и в DB 0
Задание изменяю в режиме реального времени с помощью энкодера ПЧ и соответственно на экране ПЧ смотрю % задания (16-02).

Цитата Сообщение от wizard41 Посмотреть сообщение
Что кстати в DB у вас?
Одна переменная - STATUS типа Dword.

Цитата Сообщение от wizard41 Посмотреть сообщение
Ниже ФБ МДБ можете поставить триггер с защелкой и маркер, на вход которого подайте сигнал с DONE.
Принял, попробую.

Цитата Сообщение от NewOrdered Посмотреть сообщение
DATA_LEN = Количество запрашиваемых регистров (не байт)
Т.е. вместо 2 нужно указать 1, так как считываю только 1 регистр (16-02)?
0
772 / 454 / 187
Регистрация: 04.09.2018
Сообщений: 2,125
Записей в блоге: 2
20.08.2021, 13:09 19
Цитата Сообщение от DS_2 Посмотреть сообщение
Т.е. вместо 2 нужно указать 1, так как считываю только 1 регистр (16-02)?
Нет. В некоторых параметрах могут быть под-параметры, которые считываются скопом. Если таковых нет, то вы получите один единственный в некотором массиве в индексе [0]. Поэтому длина регистров тут не играет особой роли.
Цитата Сообщение от NewOrdered Посмотреть сообщение
DATA_ADDR - тут надо подбирать. С моим слэйвом заработал вариант не 40000, а 400000
Вот это тоже интересное замечание. Очень может быть.
Цитата Сообщение от DS_2 Посмотреть сообщение
Задание изменяю в режиме реального времени с помощью энкодера ПЧ и соответственно на экране ПЧ смотрю % задания (16-02).
Хмм... Интересно. Тогда в status должно по идее прилететь это задание.
Ну пока все равно отловите DONE, посмотрим, он вообще взводится?
0
453 / 218 / 71
Регистрация: 25.05.2012
Сообщений: 952
Записей в блоге: 1
20.08.2021, 13:44 20
Цитата Сообщение от DS_2 Посмотреть сообщение
Т.е. вместо 2 нужно указать 1, так как считываю только 1 регистр (16-02)?
параметры DATA_LEN и DATA_PTR работают в паре. Для области адресов 4х если задаете DATA_LEN = 1, то DATA_PTR должен быть определен длиной 2 байта.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2021, 13:44

Преобразование modbus rtu в modbus tcp
Суть проблемы: есть устройство, оно работает по протоколу modbus rtu, но нужно подключиться к нему...

modbus rtu
Добрый день Не могу разобраться с работой modbus rtu что значит запрос 024600e260? 02 - номер...

Запрос MODBUS RTU
Добрый день! Никак не получается получить ответ от МВА8. По протоколу ascii проблем не...

ModBus rtu на stm32f030
Доброго вечер всем! При портировании freemodbus v1.5 на stm32f0 возникли небольшие проблемы. Код...

Modbus rtu wincc
Добрый день. Есть wincc advanced v13. Необходимо проверить наличие/отсутствие связи по канала...

Modbus RTU по RS-232
Проблема такая, мы запросили у производителя РЗА программу для мониторинга состояния их устройств....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.