Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Языки программирования в TRACE MODE 6 / Algorithm Programming Languages » Преобразователь частоты ATV31HU74N4 и MODBUS

   
Автор / Author Тема / Topic: Преобразователь частоты ATV31HU74N4 и MODBUS
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть преобразователь частоты, который мы хотим подключить к нашему контроллеру по MODBUS. Преобразователь частоты называется ATV31HU74N4. Есть ли у Вас какой-нибудь опыт работы с этим преобразователем по MODBUS. Если есть какой-нибудь тестовый проект, не могли бы Вы его выслать мне на ящик: dreamweaver@petron.ru?
В описании есть только несколько примеров общего подхода отсылки данных на этот преобразователь, а вот конткретно, что нужно отослать для запуска двигателя, например, нет.
Общая схема такова:
- Slave - 1 byte
- номер функции - 1 байт (3 - чтение N байтов, 6 - запись байта, 16 - запись N байтов, 43 - идентификация )
- Номер слова
- Его значение
- Контрольная сумма
Вопросы:
1) Как организуется передача этих 8-ми байт: одним каналом последовательно, разными каналами?
2) В настройках MODBUS в TM есть адрес и канал. Что это за атрибуты?
3) Как формируется контрольная сумма? Ее нужно просчитывать самому или есть стандартный способ формирования контрольной суммы?

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В общем обмен по ModBus RTU сводится к тому, что в контроллере есть области памяти через регистры которой и производится считывание необходимых параметров, а также запись команд управления этим прибором. Обмен производится стандартными пакетами запрос-ответ в формате протокола ModBus. При обращении к разным областям памяти устройства в ModBus есть так называемые функции, они нумерованы. За каждым номером в ТМ есть специальный описатель, который и формирует пакет в формате MdoBus по данной функции к устройству.
Ну а настройки этого описателя: адрес - это адрес устройства (программируется в самом устройстве, что-то вроде его номера в сети RS485), канал - это адрес регистра памяти в устройстве (к которому будет осуществляться обращение по данной функции).
За формирование кадра пакета ModBus, а также контрольной суммы отвечает наш сервер, поэтому пользователю делать это нет необходимости.
Вам только необходимо найти в документации на устройство по каким адресам находятся его управляющие и информационные регистры, и создать для каждого из них соответсвующий описатель в проекте.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А как потом отправлять данные на устройство? Также пакетами по 8 байт? Я выслал на ящик hotline1@adastra.ru описание переменных для устройства. Не могли бы Вы посмотреть и сказать как настроить источник данных MODBUS и какие записывать значения в каналы, созданные авпостроением? То есть нужно ли записывать только одно значение или нужно записывать последовательно через определенный промежуток времени несколько значений?
Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Посмотрел документацию - все адреса регистров контроля и управления подробно описаны начиная с 11-й страницы, вот только нигде в документации не указано какими именно функциями ModBus эти регистры допустимо считывать/записавать. [duno / незнайка]

Вам необходимо обратиться за данной информацией либо к поставщику данного оборудования, либо непосредственно к производителю.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я Выслал Вам еще одно описание протокола MODBUS для ПЧ ATV31 (на hotline1@adastra.ru). Там описано (на английском) какие функции нужно использовать. Хотелось, чтобы Вы привели пару конкретных примеров настроки источников данных для передачи данных ПЧ, а также какие данные и в какой последовательности нужно отправлять. Например, совсем не понятно, куда записывать регистры контроля и управления, которые описаны в описании, которое я Вам уже присылал. Их нужно записывать в поле "Адрес", "Канал"? Или же этот адрес регистра нужно передавать в канале?
Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Там все просто получается - прибор поддерживает функции:
№3 - для чтения из него N слов (слово - 16-бит).
№6 - запись одного слова

Возьмем для примера два регистра из описания:
1) 8603 - Слово состояния DRIVECOM (только чтение)
2) 8501 - Слово управления CMD (чтение - запись)

Соответственно настройки каналов будут следующими:
1) Тип описателя=Rout_Word(3), Адрес=(номер устройства), Канал=0х219B (8603 - в HEX формате) Тип протокола=ModBus, Направление=Input

2) Для записи в этот регистр: Тип описателя=W_Word(6), Адрес=(номер устройства), Канал=0х2135 (8501 - в HEX формате) Тип протокола=ModBus, Направление=Output
Для чтения из регистра: Тип описателя=Rout_Word(3), Адрес=(номер устройства), Канал=0х2135 (8501 - в HEX формате) Тип протокола=ModBus, Направление=Input


Логику управления устройством подсказать не могу, это уже предстоит разбираться Вам, с помощью документации и техподдержки производителя или поставщика. [phone / разговор]

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А нужно ли отдельно создавать группу COM-порты? Соответственно, нужно ли создавать COM-порт? Какие у него должны быть настройки и как он должен связываться с каналами MODBUS?
Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А где указывается, что я использую именно функцию №3, а не какую-нибудь другую? В настройках каналов MODBUS? Или же нужно передавать в каждый регистр последовательно как написано в описании сначала 02, затем номер функции, номер слова для записи, его значение и CRC?
Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1) В группе СОМ-порт создается тэг инициализации СОМ-порта, связывать его ни с чем в проекте не нужно.
2) Настройки СОМ-порта зависят от того, какие парамерты линии связи запрограммированы в устройстве.
3) Номер функции указывается в названии описателя, когда Вы выбираете его из меню группы MODBUS.
4) Ничего в регистр передавать из формата кадра пакета не нужно - МРВ сам формирует кадр протокола ModBus исходя из настроек описателя. В регистры передаются/принимаются уже значения.
5) Вам бы немного почитать теории о принципах обмена по последовательным интерфейсам, а также описание самого протокола ModBus RTU на www.modicon.com - думаю, существенный ряд вопросов тогда сразу отпадет. [clever / умный]

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Понятно. Вроде все сделал как Вы говорили, но все-равно не работает:
В узле RTM создал группу "COM-порты". В ней создал "COM-порт1". Он у меня стоит как Master, 19200,0x3f8,8-1-e,4. Управление передачей не ставил. А что это вообще такое и в каких случаях нужно ставить? Таймаут=10000 (что соответствует 10с, установленным на ПЧ), остальное по нулям + поставил флаг CRC.
Каналы MODBUS настроил как Вы писали: номер порта=1, адрес=1, канал 0x219b, тип протокола MODBUS, направление INPUT, формат Дискрет.
Мы используем преобразователь ADAM-4520 для того чтобы преобразовывать RS-232 в RS-485. Может дело в нем?
Когда подключаюсь и управляю ПЧ поставляемой с ним программой, то все работает нормально, а также светодиод на преобразователе RS232-RS485 постоянно мигает красным светом. Но когда пытаюсь посылать значения из TraceMode, то светодиод не мигает, а просто горит зеленым, что говорит о том, что данные не поступают.
Еще одно, для всех каналов, созданных автопостроением по источнику MODBUS стоит признак аппаратной недостоверности (атрибут 4). Как его сбросить или он сбрасывается сам?
Я так полагаю, что причина именно в связи с ПЧ, а не с логикой отправляемых данных в регистры, так как светодиод на преобразователе не мигает вообще и постоянно стоит признак аппаратной недостоверности.
В чем может быть причина?

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Проект, пожалуйста, покажите (на E-mail).
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Выслал на hotline1@adastra.ru
Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
У вас в настройках ModBus-описателей Номер порта=1, а это СОМ2 физически. Вам надо 0 задавать, потому как Вы через СОМ1 планируете обмен с устройством осуществлять.
Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2