This is topic О пересчете каналов in forum TRACE MODE 6 (предложения / suggestions) at Форум TRACE MODE: техническая поддержка.


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

Posted by zem21 (Участник № / Member № 418) on :
 
Может я чего-то не понимаю, но мне кажется диким тот факт, что я не могу сам задать порядок пересчета каналов. Например канал подтипа “ ПУСТОЙ” с дополнением “управление R/W” позволяет управлять каналом “ ПУСТОЙ” с дополнением “R/W”. Кроме того один канал может управлять атрибутами другого. А если пересчет управляющего канала произойдет после пересчета того канала, которым он управляет? Тогда управляемый канал в текущем цикле пересчета выдаст неверные данные.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Управлять порядком пересчета каналов можно - необходимо сделать объект БАЗА загружаемым, тогда порядок будет определяться не индексом канала, а его позицией в списке этого объекта.
Однако, функции обмена информацией для каналов, которые работают с внешними интерфейсами типа ОРС, RS, R/W и т.д., реализуются параллельными потоками, по существу, АСИНХРОННО относительно пересчета базы каналов. И обращение к этим интерфейсам осуществляется В ПОРЯДКЕ АБСОЛЮТНЫХ ИНДЕКСОВ КАНАЛОВ.
Сама асинхронность интерфейса по отношению к циклу пересчета снимает вопрос о гарантиях получения синхронного среза данных в одном цикле пересчета.
 
Posted by zem21 (Участник № / Member № 418) on :
 
Спасибо за подсказку! Не знал, что так можно. Но все это очень сложно. Создавать загружаемый объект, потом загружать его во время выполнения, проблемы с FBD программами... А ведь в Редакторе базы каналов уже есть кнопки со стрелками, но они меняют только порядок каналов в окне. Кроме того, самое главное, загружаемые объекты не поддерживаются в Микро МРВ!
Что касается необходимости контроля за порядком пересчета каналов, то замечу, что существующий подход хорош в том случае, если надо собрать информацию с датчиков и записать в архив, или выполнив какие-то рассчеты выдать управляющие сигналы. И частота пересчета базы каналов, как минимум, в два раза выше частоты изменения параметров.
Но в Трейс Моуд с помощью каналов управляется все: обмен данными, выполнение FBD программ и т.д.
Недавно писал драйвер (под Микро МРВ) и если-бы можно было задать порядок пересчета двух каналов, управляющих работой драйвера, он бы был существенно проще.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Вся "сложность" действий для объявления объекта "загружаемым" состоит в выставлении флага в его атрибутах. [Усмешка / Big Grin] Никаких дополнительных функций в реальном времени типа "потом загружать его во время выполнения..." выполнять не нужно. Не понятно - что у Вас за проблемы с FBD программами?
[Недоумение / Confused]
2) Загружаемые объекты в Микро МРВ поддерживаются!
3) Начиная с релиза 5.11 в драйвере можно обратиться к любому количеству каналов за один его вызов. [Вращающиеся глаза / Roll Eyes]
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2