Просмотр полной версии : помогите подружить плк-100 и WB-MRM2 Реле 2х канальное
доброго времени суток. у реле (ссылка на описание http://archive.is/stEqi#selection-409.0-409.17 ) протокол modbus RTU, для управления выходами используется команда "WRITE_SINGLE_COIL 05" так как у плк-100 и кодесис v2 нет этой команды не получается управлять, входа считываются без проблем. может быть можно по команде "WRITE_MULTI_COILS 15" и кодесис и плк поддерживают ее но как организовать это до меня не доходит. если можно то сделать пример управления/ контроллер плк-100 рм
Где ты нашел у ПЛК100 команду WRITE_MULTI_COILS с кодом функции 15 ?
Надо пробовать команду WRITE_MULTI_REGISTERS с кодом функции 16.
Сколько стоит это реле ?
"так как у плк-100 и кодесис v2 нет этой команды не получается управлять" я и говорю что нету этой команды....
не правильно написал изначально force multiply coils 0x0f (15) про эту команду я имел ввиду
не правильно написал изначально force multiply coils 0x0f (15) про эту команду я имел ввиду
Используй команду WRITE_MULTI_REGISTERS с кодом функции 16.
lara197a
31.03.2016, 21:11
а что бы вам 6 функцией не записывать?
Используй команду WRITE_MULTI_REGISTERS с кодом функции 16.
а можно поподробнее? а то я вообще уже запутался
а что бы вам 6 функцией не записывать?
если я преобразую лог 1 (bool) в word и отправлю ее - судя по вашему примеру - по 6 команде на 0 регистр то впринцепе должно реле включится? я вас правильно понял? у меня проек сам на языке CFC собран.
lara197a
31.03.2016, 23:39
В 0 регистр - 1 реле
в 1 регистр- второе реле
Конфигуратору без разницы в какой среде написана программа
В 0 регистр - 1 реле
в 1 регистр- второе реле
Конфигуратору без разницы в какой среде написана программа
спасибо обязательно попробую по вашему примеру!
Николаев Андрей
01.04.2016, 10:11
Добрый день, надеюсь никто не обидится что удалил сообщения, чтобы не перекрывать основную тему.
Ссылки на конкурентов действительно не приветствуются. А это прямой конкурент.
Но паранойей никто не страдает, все понимают что могут использоваться не тольк модули ОВЕН с контроллерами ОВЕН, птак что первую ссылку оставляем, в ней приведена вся таже информация о модуле, что и по второй.
а что бы вам 6 функцией не записывать?
не работает так...
Используй команду WRITE_MULTI_REGISTERS с кодом функции 16.
с этой командой через register output module не работает
lara197a
03.04.2016, 15:08
У меня нет такого модуля, проверить не могу. но ни с одним сторонним устройством,
работающим по модбасу при обмене с ПЛК 100(110) не было.
с этой командой через register output module не работает
Что-то ты не так делаешь.
Что-то ты не так делаешь.
делал так - непомогло. там судя по документации (в первом посту) он общается только через coil с управлением реле (табличка "карта регистров" первые две строки во второй графе написана как раз тип команды- coil) , а в др табличке "команды поддерживаемые устройством" приведены команды 05 или мульти coil 15.
lara197a
03.04.2016, 22:01
а вместо АТ нужно было переменную записать...
(если вы не любите котят- то это вы просто не умеете их готовить)
а вместо АТ нужно было переменную записать...
(если вы не любите котят- то это вы просто не умеете их готовить)
А так и было с переменной вместо АТ. Просто скрины экрана с рабочего компа а делал на домашнем...
lara197a
04.04.2016, 08:36
Присвойте переменную, пусть In_01 входу. out_01 выходу.
В программе напишите Out_01.0=In_01
Состояние входа будет переноситься на реле.
В настройках выхода установите номер команды 6 и передача команды по изменению.
В ошибках модуля Модбас мастер должно быть 0(81- нет связи)
Присвойте переменную, пусть In_01 входу. out_01 выходу.
В программе напишите Out_01.0=In_01
Состояние входа будет переноситься на реле.
В настройках выхода установите номер команды 6 и передача команды по изменению.
В ошибках модуля Модбас мастер должно быть 0(81- нет связи)
модуль сам реагирует (светодиод в момент посылки команды моргает) а вот реле не в какую не хочет срабатывать.входа у модуля показывает. причем через программу modbus poll все реле срабатывают только через команду 05 и 15...
лишний раз убеждаюсь что лучше продукция фирмы овен чем стороннего производителя. хотели просто сэкономить на входах и выходах так как нужны просто 2 выхода релейных и чтоб не ставить тот же мдвв к примеру и чтоб без дела не пустовали оставшиеся входы/выходы... заказали эту хрень...
отвлекся от темы- вообщем не работает(
lara197a
05.04.2016, 08:26
да вы все не правильно написали.
перевернули все наоборот
зачем вы бит из ворда превращаете в бит?
ну и т.д... дальше тоже не правильно.
Напишите, как я вам рекомендовал,
один в один строчку на ST и без объявлений переменных.
Только присваивание имен в ПЛК конфигураторе.
да вы все не правильно написали.
перевернули все наоборот
зачем вы бит из ворда превращаете в бит?
ну и т.д... дальше тоже не правильно.
Напишите, как я вам рекомендовал,
один в один строчку на ST и без объявлений переменных.
Только присваивание имен в ПЛК конфигураторе.
вы вот так имели ввиду?
lara197a
05.04.2016, 10:12
Нет. какой у вас ПЛК и параметры связи?
я напишу сам.
плк100 RM, связь с модулем рс485 при скорости 9600, стоповый бит 2, честности нет, 8 бит данных, modbus RTU
lara197a
05.04.2016, 11:33
Обычно 8N1
(один стоп бит, 2 не правильно)
Попробуйте и так и так, проверьте параметры еще раз сами.
Обычно 8N1
(один стоп бит, 2 не правильно)
Попробуйте и так и так, проверьте параметры еще раз сами.
спасибо буду рядом с контролером проверю. а по поводу стоп битов так написано к описанию устройства (ссылка в первом посту). и так не только на этот модуль описание
lara197a
05.04.2016, 16:27
Если написано, то значит ставьте 2 стоп бита.
Обычно 2 стоп бита используют при контроле четности.
Многие устройства настройки 8N2 не допускают вообще.
полностью загрузил ваш пример к себе в контроллер изменил только адрес модуля с 1 на 9. на модуле мигает светодиод (команду получает) но вот реакции нет, реле молчат...
lara197a
05.04.2016, 20:28
входы замыкаете?
Попробуйте записать так:
out1:= SEL(In1, 0,65535);
out2:=SEL(In2, 0,65535);
И позамыкайте входы ПЛК 1 и 2.
Также посмотрите в онлайн режиме, изменяются ли выходные значения в Модбас с 0 на 65535,
при замыкании входов.
Напишите результат.
все тож самое светодиод подмаргивает а реакции ноль....
lara197a
05.04.2016, 21:34
судя по скрину устройство получает команду и правильно, без ошибки на него отвечает.
Значит команда приходит.
Я просил записать 65535, т.к. возможно в устройстве старший и младшие байты изменены.
Протокол не обязывает соблюдать определенную очередность, могут быть варианты,
Но видимо дело не в очередности.
попробуйте считать с регистра 200 уникальный номер.
команда чтения 3
Длинна 6 байт, если получится напишите. можно попробовать считать еще с 201 и 202.
также можно попробовать считать адрес с 128 регистра и попробовать его изменить.
Измененные данные обычно вступают в силу после перезагрузки.
В любом случае напишите. Интересно разобраться.
Еще в регистр 2 запишите значение, к примеру 255,
а потом попробуйте его считать.
Это тайм аут, время через которое реле вернется в исходное состояние, после передачи команды на включение в секундах
Совсем Санька замучили.:rolleyes:
Прекратите ему дурить голову!
Санек ведь который раз говорит, что выходы реле управляются командой 05 или 15, по тому, что они биты (coil) и находятся в области 0х.
23666
А Вы все предлагаете ему обращаться к ним через область 4х.
С чего Вы все взяли, что у этого реле, как у ОВЕНА области 0х, 1х, 3х и 4х пересекаются?
Санек, не слушай этих умников. Через конфигуратор обмен с твоим реле не получится, только через библиотеку Modbus.lib.
ЗЫ.
Читайте теорию https://sites.google.com/site/fieldbusbook/seti/modbus/modbuseducation
Для справки
http://www.owen.ru/forum/attachment.php?attachmentid=12621&d=1397777586
lara197a
05.04.2016, 21:50
я этой части описания не видел,
а в том, что он выложил черным по белому написано, что команда 6 поддержана,
И на скрине видно, что устройство приняло и ответило на команду.
и вообще petera не очень вежлив.
ты вообще другой документ выкладываешь.
то, что санек выложил, пишет, что таймаут в регистре 2,
а в твоем 8
Ребят хорош сорится начинать... В первом посте ссылка есть на описания работы этого реле... С библеотекой пытаюсь разобраться второй день уже читаю вникаю но что то пока не как... просто с ней дело не имел не когда и пользовался приборами овен а тут заказали на мою шею...
lara197a
05.04.2016, 21:57
по ссылке лично у меня
404 Not Found
я этой части описания не видел,
а в том, что он выложил черным по белому написано, что команда 6 поддержана,
И на скрине видно, что устройство приняло и ответило на команду.
и вообще petera не очень вежлив.
ты вообще другой документ выкладываешь.
то, что санек выложил, пишет, что таймаут в регистре 2,
а в твоем 8
Тот же самый документ я и выложил
См на ссылку из первого поста
23668
А теперь на адресную строку
23669
ЗЫ. За резкие высказывания я конечно извиняюсь, просто хлопца жалко стало
http://www.owen.ru/forum/attachment.php?attachmentid=11947&d=1392750251
lara197a
05.04.2016, 22:03
Еще раз говорю у меня по ссылке
404 Not Found
Или мне скрин скинуть?
пишу только то, что вижу.
в частности, что регистры в разных местах документа по разному нумерованы.
см. копию скрина выше.
и так
404 Not Found
Ладно теперь уже проехали.
С библиотекой нет проблем. Просто интересно было в чем засада, а из доступного описания,
все должно было работать.
Напишите в личку, скину адрес где человеческие, с простой адресацией модули по 2т.р.
Еще раз говорю у меня по ссылке
404 Not Found
Или мне скрин скинуть?
пишу только то, что вижу.
в частности, что регистры в разных местах по разному нумерованы.
см. копию скрина выше.
вот скрины параметров
lara197a
05.04.2016, 22:12
ок. см. предидущее.
Еще раз говорю у меня по ссылке
404 Not Found
Или мне скрин скинуть?
пишу только то, что вижу.
в частности, что регистры в разных местах документа по разному нумерованы.
см. копию скрина выше.
и так
404 Not Found
Ладно теперь уже проехали.
С библиотекой нет проблем. Просто интересно было в чем засада, а из доступного описания,
все должно было работать.
Напишите в личку, скину адрес где человеческие, с простой адресацией модули по 2т.р.
ЦЕНЗУРА????
23674
а не могли бы скинуть готовый пример по моему случаю с этим реле через 05 команду по библеотеке с модбас.либ? попробую разобратся с рабочим примером этим и документацией что к чему... в дальнейшем пригодится же знания эти
lara197a
05.04.2016, 23:53
в разделе примеры и полезности есть пример.
я его малость допилил под вашу задачу, чтобы побыстрее.
Удалите блоки с инт и реал. и пр. лишнее.
проверить не могу не начем.
не забудьте добавить библиотеку через менеджер
спасибо попробую как отпишусь
lara197a
06.04.2016, 07:26
нужно переписать разрешение работы блока.
К примеру опять в блоках MOVE вместо 1 на входе поставить переменные In.
если они изменили свое состояние, то подать на вход тригера(RS) команду включения.
Выход использовать как En для блока.
А выключать тригер как на выходе Complete появится сигнал конца операции(или отслеживать сообщение об ошибке Exception)
уже поздно было вчера с нуля писать.
это как?? переменная in я так понимаю это переменная входов котроллера.а тригер будет по входной переменной уже давать разрешение на работу блока и запрещать как только пропадет сигнал со входа контроллера?
lara197a
06.04.2016, 11:45
будет сбрасывать после отправки данных в слейв или при ошибке.
повторную отправку инициировать новым замыканием входа.
нужно еще перед входом RS поставить блок TRG по переднему фронту.
"если они изменили свое состояние, то подать на вход тригера(RS) команду включения.
Выход использовать как En для блока." я просто не пойму как это организовать в проекте самом
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot