PDA

Просмотр полной версии : Адресация приборов с сети RS485



ZPavel
01.03.2012, 12:16
Возьмем модуль дискретных входов 16 канальный МВ110-16ДН
Посмотрим таблицу регистров для Modbas, там сказано значения регистров для входов от 64 по 79. это для базового адреса сети, например 1

Потом сказано что прибору принадлежит еще 15 адресов сети и естественно опять для каждого адреса сети, наверно свои регистры от 64 по 79. получается на весь прибор 256 регистров счетчиков, понимаю, что-то я понял не правильно. Объясните. Могу ли я на 4 прибора поставить адреса сети 1, 2, 3, 4 или нужно все-таки 1, 17, 33, 49.

Yegor
01.03.2012, 13:04
там сказано значения регистров для входов от 64 по 79там сказано...
Значение счетчиков дискретных входов можно считать из регистров с номерами от 64 (0х40) до 79 (0х4F).А сами входы находятся в одном регистре по адресу 51.
это для базового адреса сетиПокуда речь о модбасе, это для любого адреса сети. В этом протоколе вообще не существует понятия «базовый адрес» — есть только «адрес».
Могу ли я на 4 прибора поставить адреса сети 1, 2, 3, 4Легко и непринуждённо. Не знаю как там в протоколах ОВЕН и DCON, а в Модбасе система простая: дом (адрес прибора) - квартира (адрес регистра), и одно от другого в плане нумерации никак не зависит.

ZPavel
01.03.2012, 13:51
Спасибо за ответ, но то, что Вы написали, я прекрасно понимаю, с модбасом сталкиваюсь не в первый раз. Я не понимаю, что они хотят этим сказать, привожу выдержку из документации.
Таким образом, под каждый прибор МВ110
резервируется 16 сетевых адресов, т.к. прибор имеет 16 счетных входов и рассматривается в сети ОВЕН как 16 одноканальных счетчиков.

Значит по каждым 16 сетевым адресам должны быть еще и свои регистры, какие?

Я пока установил адреса: 16, 32, 48, 64. Лампочки RS-485 моргают, но и ламочки АВАРИЯ промаргивают на всех четырех приборах одновременно раз в секунду, это нормально? В настройках на приборы выставил аварийное состояние 1 сек. Это получается, контроллер не успевает опросить 4 прибора за одну секунду, и это на скорости 115. Работаю через маски входов.

ZPavel
01.03.2012, 15:29
Ага, понятно. Спасибо. А подмигивание авариями, это нормально, или нет. Я с плк ОВЕН в первый раз работаю.

swerder
01.03.2012, 18:21
ненормально

Николаев Андрей
02.03.2012, 00:19
Смотря что Вы понимаете под подмаргиванием...

ZPavel
02.03.2012, 17:32
Подмаргивание, это значит, кратковременно загорается с интервалом в 1 секунду. В сети контроллер ПЛК110-мастером, и четыре слэйва, два модуля входов 16 канальных и два релейных модуля выходов 16 канальных. Протокол модбас-рту, скорость 115200. Опрос слэйвов по времени, время выставлено 100 мс для каждого модуля. Время обнаружения неактивности сети в модулях выставлено 1 сек.
Для теста, по сигналу от модуля входов удерживается включенным выход модуля выходов. Слышно, как реле клацает с периодичностью 1 секунда. Установка времени опроса слэйвов на 50 и 20 мс, не помогли.
Получается, нужно увеличивать время обнаружения неактивности сети в модулях до 2 секунд? А мне желательно 1 секунду иметь, у меня фрезерный станок. Я важные линии управления завел на контроллер, на модулях расширения сидят не очень важные, но все же.

ZPavel
02.03.2012, 18:59
Нет, единица тем держится стабильно, срабатывает авария сети на модулях. Дело не в переменных, дело в появлении сигнала аварии на модулях расширения. Я хочу добиться минимально времени опознавания модулями расширения того, что пропала сеть.
Я считал, раз есть настройка в одну секунду, значит, все должно работать, а не тут то было.

ZPavel
02.03.2012, 19:09
Вот текущий вариант.

ZPavel
02.03.2012, 19:11
Но я же могу, наверно, заставить мои программы выполнятся по очереди?

ZPavel
03.03.2012, 11:58
Оставил один слэйв в сети, а именно модуль 16 канальных реле МУ110-16Р. В модуле МУ110-16Р выставлен максимальный тайм-аут 1сек, время задержки ответа 2мс.
Период ого опроса в кодесисе 100мс. Осциллографом посмотрел шину RS485, видно, что обмен происходит 10 раз в секунду. Снял снифером протокол обмена, вот он

40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), 02h (.), 00h (.), 00h (.), 9Eh (.), 11h (.),
40h (@), 10h (.), 00h (.), 32h (2), 00h (.), 01h (.), AFh (.), 17h (.)


Видно, что ошибок нет. В кодесисе видно, что сетевых ошибок нет. Вопрос, почему МУ110-16Р диагностирует аварию. С периодичностью 1 секунда?

ZPavel
03.03.2012, 13:31
Выставил время тайм-аута 2 секунды, теперь авария не мигает.
Я предполагаю, что НЕ аварийное состояние, это определенное число сеансов связи за время тайм-аута, а не один. Осталось выяснить у разработчиков, сколько необходимо сделать удачных обменов за время тайм-аута, что бы не сработала авария.

ZPavel
03.03.2012, 13:37
Если снять провод с клеммы, например А, то сигнал аварии появляется примерно через 1 секунду, а не через две, как настроено.

ZPavel
03.03.2012, 17:31
Попробовал настройки: периодичность опроса контроллером - 10мс, время обнаружения неактивности сети модулем МУ110 - 1 сек. Светодиод на модуле RS-485 почти горит равномерно, а лампочка авария мигает по-прежнему. Значит предыдущее мое предположение о счетчике числа удачных сеансов связи неверно. Значит, просто модуля коряво работают с настройками тайм-аут в одну секунду.

ZPavel
03.03.2012, 17:37
У меня есть модуль преобразования интерфейсов RS232-RS485 фирмы EXPERT, называется EX9520. НА нем выход DATA+ и DATA-.

При подключению его к продукции ОВЕН получилось, что
DATA+ это клемма А, DATA- это клемма В.
При использовании его совместно с продукцией фирмы Segnetics наоборот:
DATA+ это клемма В, DATA- это клемма А.
Выходит, кто, как хочет, так и обозначает клеммы.

ZPavel
03.03.2012, 18:08
Я говорю о тайм-ауте в настройках модуля расщирения, его невозможно вытсавить менее 1 секунды. Откуда 5-60мс. Мы говорим о разных вещах.