Для ПР205 есть возможность восстановить параметры при помощи OwenConfigurator - сначала считать, сохранить в файл, восстановить из файла.
Для ПР200 - не уверен, нужно смотреть.
Для ПР205 есть возможность восстановить параметры при помощи OwenConfigurator - сначала считать, сохранить в файл, восстановить из файла.
Для ПР200 - не уверен, нужно смотреть.
Формирование наличия Modbus соединения по аппаратной переменной, возможно, не корректно работает.
Проект содержит два ПР205 в двух шкафах на расстоянии до 10 м. Связь между ними по Modbus RTU RS-485.
Для Master обрыв соединения определяется с фиксацией по инверсии аппаратной переменной наличия соединения с задержкой 15 секунд.
Для Slave обрыв соединения определяется по прекращению изменения принимаемой целочисленной переменной с задержкой в 4 секунды.
И тем не менее, ошибка зафиксировалась в Master, а в Slave ошибки не случилось. Непонятно, ведь у Master задержка 15 секунд против 4 секунд у Slave.
Также, Slave управляет собственным ПЧВ, который почти всё время стоит в ожидании.
Вывел на дисплей ПР205 состояние обрыва связи с ПЧВ - получил на экране непрерывно мигающий индикатор.
Мне кажется, что или я не понимаю назначение привязанной переменной или её алгоритм некорректен.
Прикладываю скрины:
- Master - привязка переменной к аппаратной части
- Master - формирование сигнала текущего отсутствия связи со Slave
- Master - формирование изменяющегося числа для Slave, чтобы Slave мог следить за состоянием связи
- Slave - формирование сигнала текущего отсутствия соединения с Master
Не стал показывать фиксацию с задержкой, но поверьте, это один и тот же проверенный макрос.
Это же неправильно, что один прибор фиксирует обрыв соединения, а другой даже не замечает этого.
Очень странно, в смысле, Вы сами придумали неправильную логигу и другим жалуетесь на это?
Впрочем не надо расстраиваться, этот вопрос много раз обсуждался, в смысле, надо было просто взять готовое типа такого:
Нет связи.png
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Если всё же прочитать мой вопрос - предложенное решение там уже реализовано в Slave.
А вот в Master контроль выполняется по переменной, привязанной к аппаратному контролю. И это единственный способ определить отсутствие связи с готовыми устройствами типа ПЧВ, ТРМ. Поэтому применить для контроля связи с другим ПР тоже считаю корректным.
Проблема состоит в том, что в Master с контролем по аппаратной привязке сработала ошибка при 15 секундах задержки, а при контроле через heartbeat в Slave - не сработала даже с 4 секундами.
Оба ПР205 куплены одновременно, аппаратно идентичны.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
В ПР производителем реализован аппаратный контроль соединения по Modbus только со стороны Master, со стороны Slave нужно реализовывать программно.
У меня система из двух ПР205, соединённых по Modbus RTU RS-485. Одно из ПР является Master, другое - Slave.
Контроль связи организован в них по разному: в Master - аппаратно, в Slave - программно (именно так - из Master приходят секунды и длительное отсутствие изменения является признаком ошибки).
При помощи TON и SR-триггера эти обрывы связи фиксируются после небольшой выдержки.
Для Master выдержка составляет 15 секунд, для Slave - 4 секунды.
Скрины привязки к аппаратной части Master и фрагменты получения признака отсутствия соединения привёл выше. Не показал только фиксацию ошибки на TON и триггере.
Вчера сработала защита по отсутствию связи. Оператор сбросил сигнализацию только на Master, а на Slave ошибки зафиксировано не было.
Это меня беспокоит.
Также, использую аппаратную переменную для определения обрыва связи с ПЧВ. Привязал индикатор на экране ПР205 к аппаратному сигналу - наблюдаю постоянное мигание индикатора, т.е. аппаратура постоянно диагностирует обрыв и восстановление соединения.
Возможности получить от ПЧВ переменную с секундами для программной диагностики связи - не имею технической возможности. И, получается, могу использовать только аппаратную переменную.
Меня интересует, как правильно интерпретировать аппаратную переменную, почему диагностирован обрыв соединения при задержке 15 секунд (а программная диагностика и при 4 секундах не заметила).
При отсутствии изменений переменной Heartbeat на выходе XOR будет целочисленный 0, а при изменении - на один такт будет что-то отличное от 0, после преобразования результата в BOOL соответственно получу 0 и 1, а дальше - небольшая фильтрация результата на TON с задержкой в 1-2 секунды.А почему вы думаете, что конструкция в виде целочисленного XOR должна выдать требуемый результат?
Может у вас сильные помехи, например от ПЧ, на одно из ПР они действуют сильнее, может оно ближе к источнику помех или сетевой фильтр хуже работает, мне так кажется!
И зачем так усложнять очень простую функцию, она становится неочевидной(трудно разобраться как она работает), Валенок как-то называл подобный код, типа индусский код, точно уже не припомню, зачем что-то выдумывать(время тратить не жалко) когда есть простое и очевидное решение, это мне непонятно!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.