Просмотр полной версии : Проблема с МУ110-6У
Пропадание реакции на аналоговых выходах при изменении значения в соответствующих регистрах, при обмене по modbus rtu (ПЛК), конфигуратора и сторонней программы modbus Master RTU. Обмен проходит всегда успешно, без ошибок. Если посмотреть лог обмена RTU, все в норме. ответы от МУ110-6У корректные, вроде как все хорошо. Но значения напряжения на выходах не меняются и равны нулю. Прибор отдавали в СЦ там его проверили, только конфигуратором, у них все работает. Схему тестирования проверял раз десять, хотя что там проверять..
Интересно то что если остановить обмен с ПЛК и запустить конфигуратор -> проверку работы аналоговых выходов, конфигуратор считывает значения с регистров которые записывались в модуль с ПЛК!
похожая ситуация будет,если записывать значения больше 1.Ошибок не будет,однако на выходе 0.Переменная должна быть от 0 до 1.Т.е. например 0.5 будет соответствовать 5В.
а вообще конечно лучше выкладывать проект и файл конфигурации.На "свежую" голову кто-нибудь чего-нибудь может "нарыть".
Пишу в 0..1000 как в РЭ написано, обмен сделан с помощью бибки modbus.lib, проект позже выложу.
Ну да,не уточнил,у меня было подключение по протоколу овен на ПЛК100 через конфигурацию.Поэтому и 0-1 надо было записывать.Отлично работает.
Тема остается открытой, выложил проект, вот кусок кода который должен инициировать отправку данных на МУ110:
IF enabl THEN
Buffer[1] := WORD_TO_BYTE(MV110_6Y[1]);
Buffer[0] := WORD_TO_BYTE(SHR(MV110_6Y[1],8));
Buffer[3] := WORD_TO_BYTE(MV110_6Y[2]);
Buffer[2] := WORD_TO_BYTE(SHR(MV110_6Y[2],8));
Buffer[5] := WORD_TO_BYTE(MV110_6Y[3]);
Buffer[4] := WORD_TO_BYTE(SHR(MV110_6Y[3],8));
Buffer[7] := WORD_TO_BYTE(MV110_6Y[4]);
Buffer[6] := WORD_TO_BYTE(SHR(MV110_6Y[4],8));
Buffer[9] := WORD_TO_BYTE(MV110_6Y[5]);
Buffer[8] := WORD_TO_BYTE(SHR(MV110_6Y[5],8));
Buffer[11] := WORD_TO_BYTE(MV110_6Y[6]);
Buffer[10] := WORD_TO_BYTE(SHR(MV110_6Y[6],8));
END_IF
wrt1_modbus(
ENABLE:=enabl ,
Mode:=MB_RTU,
DevAddr:=MV110_6Y_ADR,
FirstAddr:=0,
Quantity:=6,
ComHandle:=Settings.Port ,
TimeOut:=TimeOut ,
Buffer:=Buffer ,
Complete=>cmpl ,
Exception=>err,
regCnt=>DataSize );
enabl:=cmpl;
IF cmpl THEN
err_link_d2:=SEL(err=0, TRUE, FALSE);
step:=0;
END_IF
Вы постоянно инициируете обмен, не давая ему проходить.
овеновские модули прекрасно работают через конфигурацию
через протокол ОВЕН или Модбас,советую сразу привыкать к модбасу.
Вы постоянно инициируете обмен, не давая ему проходить.
С чего бы это? :) a "enabl:=cmpl;" зачем тогда? да даже если бы и без сброса enabl, он нормально проходит на термодате, проверено.
да вообще обмен проходит, как я писал выше, судя по дампу обмена му110 отвечает что все ок.
Почему эти модули работают при опросе по протоколу ОВЕН при подключении конфигуратору без передергивания перемычки заводских настроек сети? выбран же модбас рту? Нафиг тогда вообще эта перемычка?
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot