Вход

Просмотр полной версии : помогите подружить плк-100 и WB-MRM2 Реле 2х канальное



саня89
31.03.2016, 11:56
доброго времени суток. у реле (ссылка на описание http://archive.is/stEqi#selection-409.0-409.17 ) протокол modbus RTU, для управления выходами используется команда "WRITE_SINGLE_COIL 05" так как у плк-100 и кодесис v2 нет этой команды не получается управлять, входа считываются без проблем. может быть можно по команде "WRITE_MULTI_COILS 15" и кодесис и плк поддерживают ее но как организовать это до меня не доходит. если можно то сделать пример управления/ контроллер плк-100 рм

Вольд
31.03.2016, 15:22
Где ты нашел у ПЛК100 команду WRITE_MULTI_COILS с кодом функции 15 ?

Надо пробовать команду WRITE_MULTI_REGISTERS с кодом функции 16.

Сколько стоит это реле ?

саня89
31.03.2016, 15:52
"так как у плк-100 и кодесис v2 нет этой команды не получается управлять" я и говорю что нету этой команды....

саня89
31.03.2016, 16:01
не правильно написал изначально force multiply coils 0x0f (15) про эту команду я имел ввиду

Вольд
31.03.2016, 20:46
не правильно написал изначально force multiply coils 0x0f (15) про эту команду я имел ввиду

Используй команду WRITE_MULTI_REGISTERS с кодом функции 16.

lara197a
31.03.2016, 21:11
а что бы вам 6 функцией не записывать?

саня89
31.03.2016, 22:18
Используй команду WRITE_MULTI_REGISTERS с кодом функции 16.

а можно поподробнее? а то я вообще уже запутался

саня89
31.03.2016, 22:24
а что бы вам 6 функцией не записывать?

если я преобразую лог 1 (bool) в word и отправлю ее - судя по вашему примеру - по 6 команде на 0 регистр то впринцепе должно реле включится? я вас правильно понял? у меня проек сам на языке CFC собран.

lara197a
31.03.2016, 23:39
В 0 регистр - 1 реле
в 1 регистр- второе реле
Конфигуратору без разницы в какой среде написана программа

саня89
31.03.2016, 23:55
В 0 регистр - 1 реле
в 1 регистр- второе реле
Конфигуратору без разницы в какой среде написана программа

спасибо обязательно попробую по вашему примеру!

Николаев Андрей
01.04.2016, 10:11
Добрый день, надеюсь никто не обидится что удалил сообщения, чтобы не перекрывать основную тему.
Ссылки на конкурентов действительно не приветствуются. А это прямой конкурент.
Но паранойей никто не страдает, все понимают что могут использоваться не тольк модули ОВЕН с контроллерами ОВЕН, птак что первую ссылку оставляем, в ней приведена вся таже информация о модуле, что и по второй.

саня89
03.04.2016, 14:44
а что бы вам 6 функцией не записывать?

не работает так...

саня89
03.04.2016, 14:47
Используй команду WRITE_MULTI_REGISTERS с кодом функции 16.

с этой командой через register output module не работает

lara197a
03.04.2016, 15:08
У меня нет такого модуля, проверить не могу. но ни с одним сторонним устройством,
работающим по модбасу при обмене с ПЛК 100(110) не было.

Вольд
03.04.2016, 16:17
с этой командой через register output module не работает

Что-то ты не так делаешь.

саня89
03.04.2016, 21:50
Что-то ты не так делаешь.

делал так - непомогло. там судя по документации (в первом посту) он общается только через coil с управлением реле (табличка "карта регистров" первые две строки во второй графе написана как раз тип команды- coil) , а в др табличке "команды поддерживаемые устройством" приведены команды 05 или мульти coil 15.

lara197a
03.04.2016, 22:01
а вместо АТ нужно было переменную записать...
(если вы не любите котят- то это вы просто не умеете их готовить)

саня89
04.04.2016, 06:12
а вместо АТ нужно было переменную записать...
(если вы не любите котят- то это вы просто не умеете их готовить)

А так и было с переменной вместо АТ. Просто скрины экрана с рабочего компа а делал на домашнем...

lara197a
04.04.2016, 08:36
Присвойте переменную, пусть In_01 входу. out_01 выходу.
В программе напишите Out_01.0=In_01
Состояние входа будет переноситься на реле.
В настройках выхода установите номер команды 6 и передача команды по изменению.
В ошибках модуля Модбас мастер должно быть 0(81- нет связи)

саня89
05.04.2016, 00:06
Присвойте переменную, пусть In_01 входу. out_01 выходу.
В программе напишите Out_01.0=In_01
Состояние входа будет переноситься на реле.
В настройках выхода установите номер команды 6 и передача команды по изменению.
В ошибках модуля Модбас мастер должно быть 0(81- нет связи)


модуль сам реагирует (светодиод в момент посылки команды моргает) а вот реле не в какую не хочет срабатывать.входа у модуля показывает. причем через программу modbus poll все реле срабатывают только через команду 05 и 15...
лишний раз убеждаюсь что лучше продукция фирмы овен чем стороннего производителя. хотели просто сэкономить на входах и выходах так как нужны просто 2 выхода релейных и чтоб не ставить тот же мдвв к примеру и чтоб без дела не пустовали оставшиеся входы/выходы... заказали эту хрень...
отвлекся от темы- вообщем не работает(

lara197a
05.04.2016, 08:26
да вы все не правильно написали.
перевернули все наоборот
зачем вы бит из ворда превращаете в бит?
ну и т.д... дальше тоже не правильно.
Напишите, как я вам рекомендовал,
один в один строчку на ST и без объявлений переменных.
Только присваивание имен в ПЛК конфигураторе.

саня89
05.04.2016, 09:32
да вы все не правильно написали.
перевернули все наоборот
зачем вы бит из ворда превращаете в бит?
ну и т.д... дальше тоже не правильно.
Напишите, как я вам рекомендовал,
один в один строчку на ST и без объявлений переменных.
Только присваивание имен в ПЛК конфигураторе.

вы вот так имели ввиду?

lara197a
05.04.2016, 10:12
Нет. какой у вас ПЛК и параметры связи?
я напишу сам.

саня89
05.04.2016, 11:02
плк100 RM, связь с модулем рс485 при скорости 9600, стоповый бит 2, честности нет, 8 бит данных, modbus RTU

lara197a
05.04.2016, 11:33
Обычно 8N1
(один стоп бит, 2 не правильно)
Попробуйте и так и так, проверьте параметры еще раз сами.

саня89
05.04.2016, 13:33
Обычно 8N1
(один стоп бит, 2 не правильно)
Попробуйте и так и так, проверьте параметры еще раз сами.

спасибо буду рядом с контролером проверю. а по поводу стоп битов так написано к описанию устройства (ссылка в первом посту). и так не только на этот модуль описание

lara197a
05.04.2016, 16:27
Если написано, то значит ставьте 2 стоп бита.
Обычно 2 стоп бита используют при контроле четности.
Многие устройства настройки 8N2 не допускают вообще.

саня89
05.04.2016, 19:29
полностью загрузил ваш пример к себе в контроллер изменил только адрес модуля с 1 на 9. на модуле мигает светодиод (команду получает) но вот реакции нет, реле молчат...

lara197a
05.04.2016, 20:28
входы замыкаете?
Попробуйте записать так:
out1:= SEL(In1, 0,65535);
out2:=SEL(In2, 0,65535);

И позамыкайте входы ПЛК 1 и 2.

Также посмотрите в онлайн режиме, изменяются ли выходные значения в Модбас с 0 на 65535,
при замыкании входов.
Напишите результат.

саня89
05.04.2016, 21:17
все тож самое светодиод подмаргивает а реакции ноль....

lara197a
05.04.2016, 21:34
судя по скрину устройство получает команду и правильно, без ошибки на него отвечает.
Значит команда приходит.
Я просил записать 65535, т.к. возможно в устройстве старший и младшие байты изменены.
Протокол не обязывает соблюдать определенную очередность, могут быть варианты,
Но видимо дело не в очередности.
попробуйте считать с регистра 200 уникальный номер.
команда чтения 3
Длинна 6 байт, если получится напишите. можно попробовать считать еще с 201 и 202.
также можно попробовать считать адрес с 128 регистра и попробовать его изменить.
Измененные данные обычно вступают в силу после перезагрузки.
В любом случае напишите. Интересно разобраться.

Еще в регистр 2 запишите значение, к примеру 255,
а потом попробуйте его считать.
Это тайм аут, время через которое реле вернется в исходное состояние, после передачи команды на включение в секундах

petera
05.04.2016, 21:37
Совсем Санька замучили.: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

саня89
05.04.2016, 21:55
Ребят хорош сорится начинать... В первом посте ссылка есть на описания работы этого реле... С библеотекой пытаюсь разобраться второй день уже читаю вникаю но что то пока не как... просто с ней дело не имел не когда и пользовался приборами овен а тут заказали на мою шею...

lara197a
05.04.2016, 21:57
по ссылке лично у меня
404 Not Found

petera
05.04.2016, 21:58
я этой части описания не видел,
а в том, что он выложил черным по белому написано, что команда 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т.р.

саня89
05.04.2016, 22:07
Еще раз говорю у меня по ссылке
404 Not Found

Или мне скрин скинуть?
пишу только то, что вижу.
в частности, что регистры в разных местах по разному нумерованы.
см. копию скрина выше.

вот скрины параметров

lara197a
05.04.2016, 22:12
ок. см. предидущее.

petera
05.04.2016, 22:12
Еще раз говорю у меня по ссылке
404 Not Found

Или мне скрин скинуть?
пишу только то, что вижу.
в частности, что регистры в разных местах документа по разному нумерованы.
см. копию скрина выше.

и так
404 Not Found

Ладно теперь уже проехали.
С библиотекой нет проблем. Просто интересно было в чем засада, а из доступного описания,
все должно было работать.
Напишите в личку, скину адрес где человеческие, с простой адресацией модули по 2т.р.
ЦЕНЗУРА????
23674

саня89
05.04.2016, 22:18
а не могли бы скинуть готовый пример по моему случаю с этим реле через 05 команду по библеотеке с модбас.либ? попробую разобратся с рабочим примером этим и документацией что к чему... в дальнейшем пригодится же знания эти

lara197a
05.04.2016, 23:53
в разделе примеры и полезности есть пример.
я его малость допилил под вашу задачу, чтобы побыстрее.
Удалите блоки с инт и реал. и пр. лишнее.
проверить не могу не начем.
не забудьте добавить библиотеку через менеджер

саня89
06.04.2016, 00:11
спасибо попробую как отпишусь

lara197a
06.04.2016, 07:26
нужно переписать разрешение работы блока.
К примеру опять в блоках MOVE вместо 1 на входе поставить переменные In.
если они изменили свое состояние, то подать на вход тригера(RS) команду включения.
Выход использовать как En для блока.
А выключать тригер как на выходе Complete появится сигнал конца операции(или отслеживать сообщение об ошибке Exception)
уже поздно было вчера с нуля писать.

саня89
06.04.2016, 11:03
это как?? переменная in я так понимаю это переменная входов котроллера.а тригер будет по входной переменной уже давать разрешение на работу блока и запрещать как только пропадет сигнал со входа контроллера?

lara197a
06.04.2016, 11:45
будет сбрасывать после отправки данных в слейв или при ошибке.
повторную отправку инициировать новым замыканием входа.
нужно еще перед входом RS поставить блок TRG по переднему фронту.

саня89
06.04.2016, 12:17
"если они изменили свое состояние, то подать на вход тригера(RS) команду включения.
Выход использовать как En для блока." я просто не пойму как это организовать в проекте самом