Добрый вечер! тема была начата в 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 ]
Posted by Nico (Участник № / Member № 5342) on :
канал DCS.DI(8.7) атрибут I1(91) = 128 - ~**
= 130 - ~aa0; read response if (sts !=0) I1=131 131 - ~aa1; read response I1=132 132 - ~aa31 + C4(97); read response I1=130
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Указанная функция существует. В настоящее время она не документирована. Надо в "Источниках" создать компонент "Распределенные УСО/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. Затем канал снова возвращается к режиму контроля статуса.
Posted by Grigorovskih (Участник № / Member № 1915) on :
Господа, если не трудно можете на почту готовый пример скинуть, только работоспособный!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by Grigorovskih (Участник № / Member № 1915) on :