Цитата:
Сообщение от skipa
При работе SMH по modbus обнаружил такую вещь. Если пропадает связь со slave, то SMH помнит последние данные полученные по modbus, до тех пор пока не сбросить питание SMH. Это не есть хорошо. Ибо для пользователя создается впечатление, что система работает, а на самом деле это не так. Возможно ли с этим бороться?
|
Встречный вопрос: какое мы имеем право записывать недостоверную информацию на сетевые переменные? Ведь 'нули' - это не что иное, как недостоверная информация, якобы поступившая от слейва. А бороться с этим очень просто: контролировать связь со слейвом. Для этого есть переменная с направлением "Echo", для этого есть блок SMH2010 (link), наличие связи косвенно можно контролировать через контроль прохождения одноразовых переменных, можно "гонять" какую-либо информацию по кругу между мастером и слейвом... Я, если делаю проект для двух и более SMH2010 использую метод "по переменной", а если нужна идеальная отказоустойчивость - использую "приёмопередатчик", он, в довершение, позволяет слейву контролировать отправляемый поток данных на мастер. В примере версия для статичных или медленно меняющихся данных.
Вот некоторые примеры: