This is topic Продолжение темы о WatchDog HOST i7000 in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000096.html

Posted by Grigorovskih (Участник № / Member № 1915) on :
 
Добрый вечер!
тема была начата в 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 :
 
Благодарим за помощь, будем испытывать...
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2