Просмотр полной версии : модуль дискретного ввода МВ110-16ДН
Здравствуйте, подключил модуль дискретного ввода МВ110-16ДН к ПЛК100-24КМ. Работать не хочет. Что я сделал не так? Подскажите пжс.
ramilgim
09.05.2014, 09:40
Регистр для считывания 51
Я сделал так, как Вы сказали, но в паспорте МВ я про это ничего не нашел. И когда подключаю к конфигуратору, смотрю состояние входов- индикатор RS-485 мигает, то есть связь есть. а подкл. к ПЛК- не мигает... Вообщем, пока ничего не поменялось. Не работает.
Кирилл Валюнин
12.05.2014, 11:33
При работе с модулем по протоколу ModBus используется чтение битовой маски значений входов (0033-hex или 0051-dec)
Руководство по эксплуатации Таблица В4
При работе с конфигуратором обмен идет по протоколу ОВЕН
Кирилл Валюнин
12.05.2014, 11:41
По ссылке ниже примеры и инструкции по подключению модулей к ПЛК
http://www.owen.ru/forum/showthread.php?t=13580
zendo057
12.05.2014, 20:21
Здравствуйте, подключил модуль дискретного ввода МВ110-16ДН к ПЛК100-24КМ. Работать не хочет. Что я сделал не так? Подскажите пжс. А может все проще, параметры забил ,а про APPLY и INT забыл.
А может все проще, параметры забил ,а про APPLY и INT забыл.
Пожалуйста, можно немного подробнее? Мне понять надо. Руководствуюсь видеоуроками Кирилла, А у него про это ничего нет. Дошел до модулей и завис... А у меня еще аналогового ввода модуль лежит. Я его уже боюсь...
При работе с модулем по протоколу ModBus используется чтение битовой маски значений входов (0033-hex или 0051-dec)
Руководство по эксплуатации Таблица В4
При работе с конфигуратором обмен идет по протоколу ОВЕН
примеры посмотрел, но пока не понял как применить в своей конфигурации. А если с конфигуратором обмен по одному протоколу , а с плк по другому- это надо где-то указывать, изменять настройки?
Dimooon а в конфигураторе в свойствах RS-485 вы указали, что у вас Modbus RTU ?
по картинке видно, что конфигуратором вы выбрали протокол, битность, и т.д. а то по умолчанию там стоит ASCII
Посмотрел, все стоит. только регистр не 0, как выше написано.
стоит рту. рядом просто графа- что по умолчанию было. там аски
Dimooon а в конфигураторе в свойствах RS-485 вы указали, что у вас Modbus RTU ?
по картинке видно, что конфигуратором вы выбрали протокол, битность, и т.д. а то по умолчанию там стоит ASCII
Посмотрел, все стоит. только регистр не 0, как выше написано.
я не понял, где это смотреть в конфигураторе. Там только задержка ответа редактируется для RS-485
Dimooon я имел ввиду в конфигураторе ПЛК, там у вас выставленно RTU, просто я сразу проект не смотрел.
Вроде все выставленно правильно, кроме номера регистра, о чем вам уже сказали. Регистр указывается в десятичном виде
У вас переменная mv110 должна меняться в зависимости от задействованных или нет входов модуля ввода, если укажете регистр 51 вместо 0.
бит 0 - первый вход, бит 15 - 16 вход.
Попробуйте в начале цикла программы mv110 скопировать в другую переменную и уже из нее опрашивать биты. .0 .1 .2 и т.д.
посмотрел в своей программе, почему-то я копировал переменную модбас в другую, а почему не помню :)
Спасибо большое, обязательно попробую и сразу отпишусь
у меня модуль подключен к плк, программа работает, но индикатор RS-485 на модуле не мигает... А когда через ас-4 подключал к пк- связь была, мигал. Получается, сейчас нет связи модуля с плк?
Выходит что так, мигать должен.
Поменяйте параметр Work mode на By poll time и проверьте в настройках Universal Modbus device
У вас переменная mv110 должна меняться в зависимости от задействованных или нет входов модуля ввода, если укажете регистр 51 вместо 0.
бит 0 - первый вход, бит 15 - 16 вход.
Попробуйте в начале цикла программы mv110 скопировать в другую переменную и уже из нее опрашивать биты. .0 .1 .2 и т.д.
посмотрел в своей программе, почему-то я копировал переменную модбас в другую, а почему не помню :)
А как мне это правильно сделать? в PLC_PRG потом из этой другой переменной n1 через преобразователь типов WORD_BOOL создать переменные n1.0; n1.1; n1.2?
Dimooon в CFC в начале цикла - mv110----------mv110new
далее в программе mv110new.0 и так далее замените на входах ваших блоков
ну или в конфиге поменяйте mv110 на mv110old и в начале программы поставьте mv110old-------------mv110 и получите тоже самое, только не придется по программе менять все имена
А как это работает? ведь переменные мv110.0;мv110.1; мv110.2 и тд- булевые, а мv110 типа WORD
Что конкретно вы поменяли и оно замигало ? :)
Переменная - WORD = 16 бит
переменная.0 - булевая, вы используете из WORD только 0 бит ну и так далее. Это не переменная в прямом смысле, а кусочек переменной, а так как БИТ сам по себе может быть только булевым, вы его можете использовать.
Если вы поменяли на By pool time, то наверное просто, как может подчиненное устройство что-то сказать мастеру, что у него вход изменил состояние ?
Да, я поменял в настройкаА за что отвечают эти параметры? Work mode и By poll time?
zendo057
13.05.2014, 21:12
Dimoon про FPPLY and INIT подробно в РП ,не ленись а прочти.
Dimooon - By value change - по изменению параметра. У вас модуль ввода является slave устройством, ну изменил состояние один из его входов - как он должен сообщить, если он слейв и бесправен ? Подходит для модулей вывода, мастер отправляет команду изменить состояние выходов по изменению
By pool time - постоянный опрос
Спасибо большое всем! дискретный модуль заработал! Теперь буду выносить Вам моск насчет аналогового модуля.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot