расчет расхода в Genesis |
Ответить |
Автор | |
Новичок Присоединился: 19 Январь 2005 Online Status: Offline Публикации: 18 |
Опубликовано: 14 Март 2005 20:10 |
Проблема в следующем! Имеется датчик расхода который выдает весовые импульсы (к примеру 1 имп = 1 кубометр воды). Так вот с OPC - сервера ко мне приходит состояние счетчика, который считает эти самые импульсы. Как заставить Genesis подсчитать количество этих импульсов пришедших за единицу времени (расход в единицу времени)? |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Если я правильно понимаю, со счетчика Вы получаете накопленное итоговое значение расхода. Тогда ответ очевиден: через некоторые интервалы времени вычитать из текущего значения счетчика предыдущее значение и затем делить на интервал времени. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 19 Январь 2005 Online Status: Offline Публикации: 18 |
|
[/QUOTE] Тогда ответ очевиден: через некоторые интервалы времени вычитать из текущего значения счетчика предыдущее значение и затем делить на интервал времени. [/QUOTE] Для меня этот ответ тоже вполне очевиден...а вот как например в DataWorX-e сделать это? как запомнить предыдущее значение? |
|
Действительный член Присоединился: 19 Май 2004 Категория: Zimbabwe Online Status: Offline Публикации: 108 |
|
...а если собирать один и тот же параметр с разными интервалами времени, напр. 0.5 и 1 с, затем логику с математикой использовать. |
|
Действительный член Присоединился: 16 Апрель 2003 Online Status: Offline Публикации: 126 |
|
Это делается с помощью периодического скрипта ScriptWorX (не требует лицензирования). 1. Сначала создаете в DATAWORX два регистра - например, "Х", для хренения последнего значения вашего счетчика, и "Delta" - для искомой расчетной величины (разницы между предудущим и текущим значениями счетчика). 2. Создаете с помошью мастера ScriptWorX четыре стандартных скрипта и один собственный: - чтение ОРС тега текущего значения счетчика; - чтение значения регистра "Х"; - запись значения в регистр "Х"; - запись значения в регистр "Delta" - основной скрипт, который считывет значение из регистра ОРС счетчика (вызовом первого скрипта), затем - читает последнее сохраненное значение регистра Х (вызовом второго) скрипта, вычислает их разность и записывает это значение в регист "Delta" (вызовом червертого скрипта), и, наконец, переписывает последнее значение в регистре "X" (вызовом третьего скрипта) 3. Создаете триттер (периодический), по которому запустаете основной (пятый) скрипт с нужным Вам периодом. Все! В регистре Delta - всегда текущее значение расхода (в еденицу времени, соответствующую периоду триггера). При некоторм навыке все это, конечно, можно написать и одним скриптом, но предложенный вариант ВООБЩЕ не требует умения программирования кроме единственной операции вычитания в скрипте №5... Если у Вас нет лицензии Dataworx, то требуемые регистры можно создать и в бесплатном "Iconics OPC Simulator":) |
|
Сергей Гусев
"Первая Миля", Authorized ICONICS Systems Integrator |
|
Новичок Присоединился: 19 Январь 2005 Online Status: Offline Публикации: 18 |
|
Спасибо! Чесно говоря, я до конца надеялся что это можно сделать стандартными средствами, не лазая в скрипты :)
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |