Здравствуйте, подключил модуль дискретного ввода МВ110-16ДН к ПЛК100-24КМ. Работать не хочет. Что я сделал не так? Подскажите пжс.
Вид для печати
Здравствуйте, подключил модуль дискретного ввода МВ110-16ДН к ПЛК100-24КМ. Работать не хочет. Что я сделал не так? Подскажите пжс.
Регистр для считывания 51
Я сделал так, как Вы сказали, но в паспорте МВ я про это ничего не нашел. И когда подключаю к конфигуратору, смотрю состояние входов- индикатор RS-485 мигает, то есть связь есть. а подкл. к ПЛК- не мигает... Вообщем, пока ничего не поменялось. Не работает.
а почему 51 регистр?
При работе с модулем по протоколу ModBus используется чтение битовой маски значений входов (0033-hex или 0051-dec)
Руководство по эксплуатации Таблица В4
При работе с конфигуратором обмен идет по протоколу ОВЕН
По ссылке ниже примеры и инструкции по подключению модулей к ПЛК
http://www.owen.ru/forum/showthread.php?t=13580
Dimooon а в конфигураторе в свойствах RS-485 вы указали, что у вас Modbus RTU ?
по картинке видно, что конфигуратором вы выбрали протокол, битность, и т.д. а то по умолчанию там стоит ASCII
Посмотрел, все стоит. только регистр не 0, как выше написано.
стоит рту. рядом просто графа- что по умолчанию было. там аски
Dimooon я имел ввиду в конфигураторе ПЛК, там у вас выставленно RTU, просто я сразу проект не смотрел.
Вроде все выставленно правильно, кроме номера регистра, о чем вам уже сказали. Регистр указывается в десятичном виде
У вас переменная mv110 должна меняться в зависимости от задействованных или нет входов модуля ввода, если укажете регистр 51 вместо 0.
бит 0 - первый вход, бит 15 - 16 вход.
Попробуйте в начале цикла программы mv110 скопировать в другую переменную и уже из нее опрашивать биты. .0 .1 .2 и т.д.
посмотрел в своей программе, почему-то я копировал переменную модбас в другую, а почему не помню :)
Спасибо большое, обязательно попробую и сразу отпишусь
у меня модуль подключен к плк, программа работает, но индикатор RS-485 на модуле не мигает... А когда через ас-4 подключал к пк- связь была, мигал. Получается, сейчас нет связи модуля с плк?
Выходит что так, мигать должен.
Поменяйте параметр Work mode на By poll time и проверьте в настройках Universal Modbus device
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?
Dimoon про FPPLY and INIT подробно в РП ,не ленись а прочти.
Dimooon - By value change - по изменению параметра. У вас модуль ввода является slave устройством, ну изменил состояние один из его входов - как он должен сообщить, если он слейв и бесправен ? Подходит для модулей вывода, мастер отправляет команду изменить состояние выходов по изменению
By pool time - постоянный опрос
Спасибо большое всем! дискретный модуль заработал! Теперь буду выносить Вам моск насчет аналогового модуля.