Показать сообщение отдельно
Старый 06.09.2006, 13:56   #28
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: SMH - modbus - slave

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

Вот некоторые примеры:
Вложения
Тип файла: zip По качеству связи (master).zip (3.4 Кбайт, 532 просмотров)
Тип файла: zip По переменной (master-slave).zip (9.0 Кбайт, 482 просмотров)
Тип файла: zip По принятым пакетам (slave).zip (1.9 Кбайт, 502 просмотров)
Тип файла: zip приёмопередатчик.zip (17.6 Кбайт, 463 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 06.09.2006 в 14:00
Arsie вне форума   Ответить с цитированием