aaHistClientTrend обращение к функциям

Вопросы, не попадающие в другие разделы.

aaHistClientTrend обращение к функциям

Сообщение Lightcreator » Вт фев 05, 2008 10:17 pm

Здраствуйте! Подскажите пожалуйста, если вам не сложно, как обращаться к функциям aaHistClientTrend для вывода на него определённых тэгов из базы InSQL. База импортирована из InTouch, связь с сервером есть, вручную тэги перетаскиваются на график и архивируются, пока смог сделать только автомасштаб и печать на принтер. И ещё если несложно к какой ф-ции обращаться для задания интервала времени на графике :?: Заранее огромное Спасибо! Досвидания! :) Дополню свой вопрос, я отлично понимаю что на этом ActiveX объекте есть все кнопки ф-ций управления, но как их привязать к кнопкам находящимся в другом окне? Разобрался почти со всеми ф-циями кроме добавления трендов на #aaHistClientTrend использую поле #aaHistClientTrendMain.AddTag ( Имя сервера, имя тэга ) пока ничего не получается.
Lightcreator
 
Сообщения: 27
Зарегистрирован: Чт янв 31, 2008 9:50 pm

Сообщение Admin » Чт фев 07, 2008 1:07 pm

Вот, почитайте.
Полное руководство доступно здесь
http://InTouch.ru/support/pub/InTouchUG.pdf

Для каждого тэга архивного тренда существует множество полей, которые применимы только к тэгам архивного тренда. Каждое поле архивного тренда кратко описано ниже.

Поле Описание
.ChartLength Целое поле чтения/записи тэга, используемое
для управления интервалом времени
отображения графика архивного тренда.
.ChartLength отображает длину графа в
секундах.
.ChartStart Целое поле чтения/записи тэга, используемое
для управления начальным временем и/или
прокруткой соответствующего архивного
тренда. Поле .ChartStart отображает
количество секунд, истекших с 12:00 a.m.,
1/1/70.
.DisplayMode Аналоговое поле чтения/записи тэга,
определяющее метод, который будет
использоваться для отображения значений на
тренде.
.MaxRange, .MinRange Действительные поля чтения/записи тэга,
используемые для представления диапазона
инженерных единиц тэга, которые должны
отображаться для каждого тэга, участвующего
в построении тренда. Границы для .MaxRange
и .MinRange лежат в пределах от 0 до 100 и
.MinRange должно быть всегда меньше, чем
.MaxRange. Если этим полям присвоить
значение меньше 0 или больше 100, то оно
зафиксируется на 0 или 100. Если поле
.MinRange больше или равно полю
.MaxRange, тренд не будет отображать
никаких данных.
.Pen1 - .Pen8 Поля с возможностью чтения и записи тэгов
типа Указатель тэга, используемые для
контроля тэга, регистрируемого в архиве
каждым пером тренда. Тэг типа Указатель тэга
может быть приравнен только другому тэгу
типа Указатель тэга. Он не может заменяться
любым другим типом тэга, до тех пор, пока
расширение .TagID не добавлено к другому
тэгу. Поле .TagID не может использоваться для
тэгов удаленного поставщика архивов.
.ScooterLockLeft Дискретное поле чтения/записи. Когда это поле
имеет значение TRUE, ПРАВЫЙ визир не
может сдвигаться левее положения левого
визира. (0=FALSE, 1=TRUE).
.ScooterLockRight Дискретное поле чтения/записи. Когда это поле
имеет значение TRUE, ЛЕВЫЙ визир не может
сдвигаться правее положения правого визира.
(0=FALSE, 1=TRUE).

Архивные функции Quick-сценариев 8-25
Поле Описание
.ScooterPosLeft Действительное поле чтения/записи,
определяющее положение левого визира (в
диапазоне от 0.0 до 1.0).
.ScooterPosRight Действительное поле чтения/записи,
определяющее положение правого визира (в
диапазоне от 0.0 до 1.0).
.TagID Поле чтения/записи тэга TagID, используемое в
сочетании с полями .Pen1 - .Pen8 TagID
архивного тренда для мониторинга и/или
управления тэгом, который рисуется пером.
.UpdateCount Целое поле только для чтения, получающее
приращение, когда завершается выборка
данных для построения тренда.
.UpdateInProgress Дискретное поле только для чтения,
показывающее статус выборки архивных
данных (0=нет выборки, 1=идет процесс
выборки).
.UpdateTrend Дискретное поле чтения/записи тэга, которое
может быть установлено в 1, и вызывающее
обновление архивного тренда, используя все
текущие значения.

Существует несколько внутренних функций, которые можно использовать для определения тэга, рисуемого каждым пером, отображения значения положения визира, прокрутки тренда в процентах и т.д.
Функция Описание
HTGetLastError Определяет, произошла ли ошибка во время
выборки определенного пера.
HTGetPenName Возвращает имя тэга, используемого для
определенного номера пера определенного
тренда.
HTGetTimeAtScooter Возвращает время в секундах, прошедшее с
00:00:00 GMT 1 января 1970 для выборки в
положении визира, заданном параметрами
ScootNum и ScootLoc. Изменение любого из
тэгов UpdateCount, ScootNum или ScootLoc
вызывает на выполнение эту функцию. Это
обеспечивает выполнение функции после
новых считываний или передвижений визира.

8-26 ГЛАВА 8
Поле Описание
HTGetTimeStringAtScooter Возвращает строку, содержащую время/дату
для выборки в положении визира, заданном
параметрами ScootNum и ScootLoc.
Изменение любого из тэгов UpdateCount,
ScootNum или ScootLoc вызывает на
выполнение эту функцию. Это обеспечивает
выполнение функции после новых
считываний или передвижений визира.
Формат строки определяет содержимое
возвращаемого значения.
HTGetValue Возвращает значение запрашиваемого типа
для определенного пера тренда.
HTGetValueAtScooter Возвращает значение заданного типа для
замера с заданными параметрами положения
визира, тренда и номера пера. После
завершения считывания тренда из-за
изменения поля UpdateCount эта функция
будет пересчитываться.
HTGetValueAtZone Возвращает величину запрашиваемого
времени для данных, находящихся между
правым и левым положениями визиров для
определенного пера тренда.
HTScrollLeft Устанавливает начальное время тренда
раньше текущего начального времени в
процентном соотношении к ширине тренда.
Результатом является сдвиг даты/времени
тренда влево на заданный процент.
HTScrollRight Устанавливает начальное время тренда позже
текущего начального времени в процентном
соотношении к ширине тренда. Результатом
является сдвиг даты/времени тренда вправо
на заданный процент.
HTSetPenName Присваивает другой тэг перу тренда.
HTUpdateToCurrentTime Вызывает считывание данных и вывод их на
дисплей с конечным временем, равным
текущему. Стартовое время будет равно =
Конечное время – Ширина графа.
HTZoomIn Вычисляет новую ширину графа и стартовое
время. Если поле .ScooterPosLeft равно 0.0, а
.ScooterPosRight равно 1.0, тогда ширина
нового графа равна ширине старого графа,
деленной на два. Новое стартовое время
вычисляется на основании величины
LockString.
HTZoomOut Вычисляет новую ширину графа и стартовое
время. Новая ширина графа равна старой,
умноженной на 2. Новое стартовое время
вычисляется на основании величины
LockString.
Admin
Site Admin
 
Сообщения: 294
Зарегистрирован: Пт май 04, 2007 7:32 pm

Спасибо!

Сообщение Lightcreator » Вт фев 12, 2008 12:02 am

Большое спасибо за столь исчерпывающую информацию :idea: :!: Пока не разбирался надеюсь мне поможет :lol:
Lightcreator
 
Сообщения: 27
Зарегистрирован: Чт янв 31, 2008 9:50 pm

Както так :-)

Сообщение Lightcreator » Вт фев 19, 2008 10:56 pm

Кому нужна информация :-) то всё оказалось намного проще. Всёравно спасибо Admin(у) Итак>>>
:idea:
удалить тэг с графика #aaHistClientTrendНазвание вашего клиента.RemoveTag(Имя сервера, Имя тэга из таблицы InSQL.Name)
добавить тэг на график#aaHistClientTrendНазвание вашего клиента.AddTag( Имя сервера , Имя тэга из таблицы InSQL , 1);
#aaHistClientTrendMain.SetCurrentTag( mServerInSQLName , IndTrend_1.Name );
#aaHistClientTrendMain.ScaleTag(IndTrend_1.MinRaw ,IndTrend_1.MaxRaw);
#aaHistClientTrendMain.CurrentTagPenWidth = 2;
#aaHistClientTrendMain.CurrentTagColor =3133440;
Lightcreator
 
Сообщения: 27
Зарегистрирован: Чт янв 31, 2008 9:50 pm

Ну и.

Сообщение Lightcreator » Чт окт 16, 2008 4:58 pm

Собственно все ф-ции aaHustClientTrend расписанны в HELP(е) по ActiveFactory.
Lightcreator
 
Сообщения: 27
Зарегистрирован: Чт янв 31, 2008 9:50 pm

Re: aaHistClientTrend обращение к функциям

Сообщение BuldakovIV » Пн мар 03, 2014 5:53 pm

Делаю все как по мануалу
скрипт
XP_4="192.168.0.193";
#aaHistClientTrend2.AddTag( XP_4 , A11T3 , 1);
#aaHistClientTrend2.SetCurrentTag( XP_4 , A11T3 );
#aaHistClientTrend2.ScaleTag(A11T3.MinRaw , A11T3.MaxRaw);
#aaHistClientTrend2.CurrentTagPenWidth = 2;
#aaHistClientTrend2.CurrentTagColor =3133440;

вызывается сервер цвет граници все гуд..., но TagName = 0 выдает.

В чем может быть дело?
BuldakovIV
 
Сообщения: 41
Зарегистрирован: Ср ноя 06, 2013 12:52 pm

Re: aaHistClientTrend обращение к функциям

Сообщение Генератор зла » Пн мар 03, 2014 5:58 pm

BuldakovIV писал(а):В чем может быть дело?

М.б. в том, что не используете ф-цию (метод) aaHistClientTrend.AddServer ?
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: aaHistClientTrend обращение к функциям

Сообщение BuldakovIV » Вт мар 04, 2014 12:44 pm

Генератор зла писал(а):
BuldakovIV писал(а):В чем может быть дело?

М.б. в том, что не используете ф-цию (метод) aaHistClientTrend.AddServer ?


XP_4="192.168.0.193";
#aaHistClientTrend2.AddServer(XP_4,"sa","111");
#aaHistClientTrend2.AddTag( XP_4 , A11T3 , 1);
#aaHistClientTrend2.SetCurrentTag( XP_4 , A11T3 );
#aaHistClientTrend2.ScaleTag(A11T3.MinRaw , A11T3.MaxRaw);
#aaHistClientTrend2.CurrentTagPenWidth = 2;
#aaHistClientTrend2.CurrentTagColor =3133440;

Результат аналогичный!!!
Вложения
1.JPG
(119.07 КБ) Скачиваний: 0
BuldakovIV
 
Сообщения: 41
Зарегистрирован: Ср ноя 06, 2013 12:52 pm

Re: aaHistClientTrend обращение к функциям

Сообщение NewOrdered » Ср мар 12, 2014 1:46 pm

BuldakovIV писал(а):XP_4="192.168.0.193";
#aaHistClientTrend2.AddServer(XP_4,"sa","111");
#aaHistClientTrend2.AddTag( XP_4 , A11T3 , 1);
#aaHistClientTrend2.SetCurrentTag( XP_4 , A11T3 );
#aaHistClientTrend2.ScaleTag(A11T3.MinRaw , A11T3.MaxRaw);
#aaHistClientTrend2.CurrentTagPenWidth = 2;
#aaHistClientTrend2.CurrentTagColor =3133440;

Результат аналогичный!!!


Попробуйте другой вариант:
Насколько я помню aaHistClientTrend умеет открывать сохраненные файлы aaTrend.
Сохраните нужные вам сервер, тэги, масштаб, цвет линий и пр. в файл тренда и откройте его
#aaHistClientTrend.OpenFileEx("путь к файлу.aaTrend");
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: aaHistClientTrend обращение к функциям

Сообщение alexR1972 » Пт мар 14, 2014 4:07 pm

Попробуйте следующим образом, есстно применив Ваши имена для сервера и тегов. А WW хелпам слепо верить нельзя.

#aaHistClientTrend1.AddAnyTag("srv-historian", "test.time");
#aaHistClientTrend1.SetCurrentTag("srv-historian", "test.time");
alexR1972
 
Сообщения: 1
Зарегистрирован: Пт мар 14, 2014 4:03 pm

Re: aaHistClientTrend обращение к функциям

Сообщение BuldakovIV » Ср мар 19, 2014 3:05 pm

NewOrdered писал(а):
Попробуйте другой вариант:
Насколько я помню aaHistClientTrend умеет открывать сохраненные файлы aaTrend.
Сохраните нужные вам сервер, тэги, масштаб, цвет линий и пр. в файл тренда и откройте его
#aaHistClientTrend.OpenFileEx("путь к файлу.aaTrend");


Не совсем удобно так как хочу сделать переход на историю выбранного параметра, если использовать метод открытия файла то нужно кучу файлов (30 шт. примерно) предварительно сохранить, и каждую ссылку руками привязывать.
Хочу как то "красиво" сделать, через индиректы...
BuldakovIV
 
Сообщения: 41
Зарегистрирован: Ср ноя 06, 2013 12:52 pm

Re: aaHistClientTrend обращение к функциям

Сообщение NewOrdered » Ср мар 19, 2014 3:36 pm

BuldakovIV писал(а):
NewOrdered писал(а):
Попробуйте другой вариант:
Насколько я помню aaHistClientTrend умеет открывать сохраненные файлы aaTrend.
Сохраните нужные вам сервер, тэги, масштаб, цвет линий и пр. в файл тренда и откройте его
#aaHistClientTrend.OpenFileEx("путь к файлу.aaTrend");


Не совсем удобно так как хочу сделать переход на историю выбранного параметра, если использовать метод открытия файла то нужно кучу файлов (30 шт. примерно) предварительно сохранить, и каждую ссылку руками привязывать.
Хочу как то "красиво" сделать, через индиректы...


Поверьте, 30 файлов это немного :)
Да и сделать это нужно будет всего один раз. К тому же путь и имя открываемого файла очень легко собираются из месседж-тэгов и индиректные тэги тут тоже работают.
Но, конечно же, в вашем случае целесообразность этого подхода оценивать только вам.
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: aaHistClientTrend обращение к функциям

Сообщение BuldakovIV » Ср мар 19, 2014 5:30 pm

NewOrdered писал(а):
Поверьте, 30 файлов это немного :)
Да и сделать это нужно будет всего один раз. К тому же путь и имя открываемого файла очень легко собираются из месседж-тэгов и индиректные тэги тут тоже работают.
Но, конечно же, в вашем случае целесообразность этого подхода оценивать только вам.


30 то конечно не много, но охота сделать "красиво"
BuldakovIV
 
Сообщения: 41
Зарегистрирован: Ср ноя 06, 2013 12:52 pm


Вернуться в Другое

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5