This is topic Преобразователь частоты ATV31HU74N4 и MODBUS in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/33/t/000015.html

Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Есть преобразователь частоты, который мы хотим подключить к нашему контроллеру по MODBUS. Преобразователь частоты называется ATV31HU74N4. Есть ли у Вас какой-нибудь опыт работы с этим преобразователем по MODBUS. Если есть какой-нибудь тестовый проект, не могли бы Вы его выслать мне на ящик: dreamweaver@petron.ru?
В описании есть только несколько примеров общего подхода отсылки данных на этот преобразователь, а вот конткретно, что нужно отослать для запуска двигателя, например, нет.
Общая схема такова:
- Slave - 1 byte
- номер функции - 1 байт (3 - чтение N байтов, 6 - запись байта, 16 - запись N байтов, 43 - идентификация )
- Номер слова
- Его значение
- Контрольная сумма
Вопросы:
1) Как организуется передача этих 8-ми байт: одним каналом последовательно, разными каналами?
2) В настройках MODBUS в TM есть адрес и канал. Что это за атрибуты?
3) Как формируется контрольная сумма? Ее нужно просчитывать самому или есть стандартный способ формирования контрольной суммы?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В общем обмен по ModBus RTU сводится к тому, что в контроллере есть области памяти через регистры которой и производится считывание необходимых параметров, а также запись команд управления этим прибором. Обмен производится стандартными пакетами запрос-ответ в формате протокола ModBus. При обращении к разным областям памяти устройства в ModBus есть так называемые функции, они нумерованы. За каждым номером в ТМ есть специальный описатель, который и формирует пакет в формате MdoBus по данной функции к устройству.
Ну а настройки этого описателя: адрес - это адрес устройства (программируется в самом устройстве, что-то вроде его номера в сети RS485), канал - это адрес регистра памяти в устройстве (к которому будет осуществляться обращение по данной функции).
За формирование кадра пакета ModBus, а также контрольной суммы отвечает наш сервер, поэтому пользователю делать это нет необходимости.
Вам только необходимо найти в документации на устройство по каким адресам находятся его управляющие и информационные регистры, и создать для каждого из них соответсвующий описатель в проекте.
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
А как потом отправлять данные на устройство? Также пакетами по 8 байт? Я выслал на ящик hotline1@adastra.ru описание переменных для устройства. Не могли бы Вы посмотреть и сказать как настроить источник данных MODBUS и какие записывать значения в каналы, созданные авпостроением? То есть нужно ли записывать только одно значение или нужно записывать последовательно через определенный промежуток времени несколько значений?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Посмотрел документацию - все адреса регистров контроля и управления подробно описаны начиная с 11-й страницы, вот только нигде в документации не указано какими именно функциями ModBus эти регистры допустимо считывать/записавать. [duno / незнайка]

Вам необходимо обратиться за данной информацией либо к поставщику данного оборудования, либо непосредственно к производителю.
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Я Выслал Вам еще одно описание протокола MODBUS для ПЧ ATV31 (на hotline1@adastra.ru). Там описано (на английском) какие функции нужно использовать. Хотелось, чтобы Вы привели пару конкретных примеров настроки источников данных для передачи данных ПЧ, а также какие данные и в какой последовательности нужно отправлять. Например, совсем не понятно, куда записывать регистры контроля и управления, которые описаны в описании, которое я Вам уже присылал. Их нужно записывать в поле "Адрес", "Канал"? Или же этот адрес регистра нужно передавать в канале?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Там все просто получается - прибор поддерживает функции:
№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 / разговор]
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
А нужно ли отдельно создавать группу COM-порты? Соответственно, нужно ли создавать COM-порт? Какие у него должны быть настройки и как он должен связываться с каналами MODBUS?
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
А где указывается, что я использую именно функцию №3, а не какую-нибудь другую? В настройках каналов MODBUS? Или же нужно передавать в каждый регистр последовательно как написано в описании сначала 02, затем номер функции, номер слова для записи, его значение и CRC?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) В группе СОМ-порт создается тэг инициализации СОМ-порта, связывать его ни с чем в проекте не нужно.
2) Настройки СОМ-порта зависят от того, какие парамерты линии связи запрограммированы в устройстве.
3) Номер функции указывается в названии описателя, когда Вы выбираете его из меню группы MODBUS.
4) Ничего в регистр передавать из формата кадра пакета не нужно - МРВ сам формирует кадр протокола ModBus исходя из настроек описателя. В регистры передаются/принимаются уже значения.
5) Вам бы немного почитать теории о принципах обмена по последовательным интерфейсам, а также описание самого протокола ModBus RTU на www.modicon.com - думаю, существенный ряд вопросов тогда сразу отпадет. [clever / умный]
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Понятно. Вроде все сделал как Вы говорили, но все-равно не работает:
В узле 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). Как его сбросить или он сбрасывается сам?
Я так полагаю, что причина именно в связи с ПЧ, а не с логикой отправляемых данных в регистры, так как светодиод на преобразователе не мигает вообще и постоянно стоит признак аппаратной недостоверности.
В чем может быть причина?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Проект, пожалуйста, покажите (на E-mail).
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Выслал на hotline1@adastra.ru
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
У вас в настройках ModBus-описателей Номер порта=1, а это СОМ2 физически. Вам надо 0 задавать, потому как Вы через СОМ1 планируете обмен с устройством осуществлять.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2