Страница 1 из 1

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

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

СообщениеДобавлено: Чт фев 07, 2008 1:07 pm
Admin
Вот, почитайте.
Полное руководство доступно здесь
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.

Спасибо!

СообщениеДобавлено: Вт фев 12, 2008 12:02 am
Lightcreator
Большое спасибо за столь исчерпывающую информацию :idea: :!: Пока не разбирался надеюсь мне поможет :lol:

Както так :-)

СообщениеДобавлено: Вт фев 19, 2008 10:56 pm
Lightcreator
Кому нужна информация :-) то всё оказалось намного проще. Всёравно спасибо 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;

Ну и.

СообщениеДобавлено: Чт окт 16, 2008 4:58 pm
Lightcreator
Собственно все ф-ции aaHustClientTrend расписанны в HELP(е) по ActiveFactory.

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

СообщениеДобавлено: Пн мар 03, 2014 5:53 pm
BuldakovIV
Делаю все как по мануалу
скрипт
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 выдает.

В чем может быть дело?

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

СообщениеДобавлено: Пн мар 03, 2014 5:58 pm
Генератор зла
BuldakovIV писал(а):В чем может быть дело?

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

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

СообщениеДобавлено: Вт мар 04, 2014 12:44 pm
BuldakovIV
Генератор зла писал(а):
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;

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

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

СообщениеДобавлено: Ср мар 12, 2014 1:46 pm
NewOrdered
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");

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

СообщениеДобавлено: Пт мар 14, 2014 4:07 pm
alexR1972
Попробуйте следующим образом, есстно применив Ваши имена для сервера и тегов. А WW хелпам слепо верить нельзя.

#aaHistClientTrend1.AddAnyTag("srv-historian", "test.time");
#aaHistClientTrend1.SetCurrentTag("srv-historian", "test.time");

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

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


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

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

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


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


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

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

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


30 то конечно не много, но охота сделать "красиво"