Тема / Topic: Продолжение темы о WatchDog HOST i7000
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted
Добрый вечер! тема была начата в 2006 году http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000002.html Суть проблемы. Имеем систему управления приготовления смеси химикатов в определенной пропорции, для подачи в технологическую линию помола клинкера. Пропорция смешивания 1 к 10. Система реализована на контроллере ViewPac c модулями i7000 фирмы ICPDAS. Ситуация, контроллер подал команду начала приготовления смеси, открылись клапаны, включились насосы и начался процесс приготовления смеси. В этот момент произошел сбой в контроллере или обрыв связи с модулями, но модули управляющие насосами и клапанами остался в состоянии с последней полученной им командой. Вопрос как избежать переполнения емкости в которой смешиваются химикаты, нарушения пропорции смешивания химикатов. Оказывается умные китайцы подумали о данной ситуации и предусмотрели функцию приведения модулей управления к безопасному состоянию в случае обрыва связи с управляющим контроллером. Для этого необходимо в пределах установленного безопасного интервала времени посылать в линию RS485 управляющей команды ~** которая сбрасывает WatchDog таймер модулей. В случае обрыва связи с модулем УСО данная команда не поступает и модуль переводит состояние управляющих сигналов в заранее предустановленное безопасное состояние. Как это реализовать?
[ 12.04.2012, 10:24: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Сообщения / Posts 362 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
Указанная функция существует. В настоящее время она не документирована. Надо в "Источниках" создать компонент "Распределенные УСО/DCS/DI", задать ему COM-порт и адрес устройства и установить "Канал"=128. Канал, привязанный к этому "Источнику", будет со своим периодом генерировать широковещательную команду ~** - обнуление таймера Watchdog.
Если есть необходимость постоянно контролировать статус устройства и перезапускать Watchdog, надо создать канал, связанный с аналогичным "Источником" с "Канал"=130 и в атрибут C4 канала внести величину таймаута для Watchdog (целое число с ценой младшего разряда 0.1 сек.). Этот канал со своим периодом будет генерировать команду ~aa0 - проверка статуса. При получении ответа, не равного 0, автоматически будет установлен атрибут I1(97) канала равным 131 и будет генерироваться команда ~aa1 - отмена режима Watchdog, а затем автоматически будет установлен атрибут I1(97) канала равным 132 и будет генерироваться команда ~aa31 + C4 - активизация Watchdog с таймаутом, равным C4. Затем канал снова возвращается к режиму контроля статуса.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted
Господа, если не трудно можете на почту готовый пример скинуть, только работоспособный!
Сообщения / Posts 362 | Из / From: Россия
| IP / IP: IP адрес / IP address |