Project function в Global Script
Игорь Одесса; 23.7.04
Тривиальная задача - есть тег, хочу занести его значение в
TagLogging разделенное на коэффицент . Написал Project Function
которая в качестве параметров принимает имя тега и коэффицент
деления, ну и выполняет соответсвующие действия (...return
<значение/коэффицент>. В
TagLogging->ProcessTagProperties->parametres выбираю Action,
куда ставлю вызов ф-ции с соответствующими параметрами....ничего не
работает. :( Подскажите в чем причина?
Re: Project function в Global
Script
Александр Родин, ООО
"Нева Электрик"; 23.7.04
Для того чтобы заносить нормализованные значения тагов в TagLogging
в качестве Action должна использоваться специальная функция,
написанная по следующему шаблону:
#include "apdefap.h"
double div10 (double doLmtValue, double doValue, int dwCount, BOOL
dwFlag)
{
return doValue/10.0;
}
естественно, что выполняемые в функции операции по нормализации
могут быть любыми, название функции так же может быть произвольным,
главное - это сохранить набор параметров.
Подробнее читайте в Configuration Manual.
Re: Project function в Global
Script
Александр Родин, ООО
"Нева Электрик"; 23.7.04
Добавление:
более подробно надо читать даже не Configuration Manual, а описание
к WinCC, в частности раздел 5 (кажется) Tag Logging.
Re: Project function в Global
Script
Svetozar
Yolov; 23.7.04
Dear Игорь,
I hope you ca deal with English because I understand russian but it
is difficult to speek.
If you want to process tag values from the Tag Logging you have to
use function which have special parameters:
for instance
double Norm_PDE(double doLmtValue, double doValue, int dwCount, int
Archivierung)
{
return (doValue/10);
}
Please read the example in winCC information system, Release Notes,
Notes on WinCC, WinCC CS, then select
Archiving converted process values under Tag Logging.
I hope this will help you.
Also pay attention to the following:
If you set the data to be archived to 1 min and acquisition and
archiving cycle are equal to 1 min it is more likely to log the
data which are 1 minute old! This because tag Logging make some
performance optimisiations (i have contacted the Hot Line
concerning this problem - they told me that this behavior is by
design). To workround this make acquisition cycle less - 5 seconds
for instance.
I hope this works for you.
Best regards,
smi
Re: Project function в Global
Script
Александр Родин, ООО
"Нева Электрик"; 23.7.04
Шкала времени в WinC Online Trend Control
(WinCC 6 SP2)
Макс Прилепский; 23.7.04
Недавно перешёл на с WinCC версии 5.1 на версию 6.0 SP2. При работе
со штатным компонентом для отображения трендов время на оси всегда
обозначается в 12-часовом формате с указанием AM/PM. Манипуляции с
Time Base проекта и компонента, ровно как и смена языка проекта с
английского на русский ничего не изменила. Язык операционной
системы - русский. Эта "фича" компонента вообще как нибудь лечится
?
P.S. В WinCC 5.1 время без проблем отображалось в 24-х часовом
формате.
Re: Project function в Global
Script
Игорь Одесса; 23.7.04
Спасибо, но имя тега я так и не могу в ф-ции передать, или имеет
смысл следующее:
double div10 (char * TagName,double doLmtValue, double doValue, int
dwCount, BOOL dwFlag)
{
value=GetTagDouble(TagName);
return value/10.0;
}
количество и тип передаваемых параметров видимо жестко
зафиксировано, т.к. данная ф-ция у меня не отрабатывает ;(
Re: Project function в Global
Script
Александр Родин, ООО
"Нева Электрик"; 23.7.04
Да не надо никакого имени тега передавать !!!.. :)
Оно уже учитывается, когда вы подставляете Action в строке
архивного тэга TagLogging-а. Значение тэга, который должен
сохранятся - это doValue, а сама функция возвращает нормализованное
значение, которое и _БУДЕТ СОХРАНЕНО_ в архив. Вся фишка-то как раз
в том, что функция должна _ПОЛНОСТЬЮ_ соответсвовать
представленному шаблону, т.е. никаких дополнительных параметров
типа вашего "char* TagName" _НЕ ТРЕБУЕТСЯ_!
Re: Project function в Global
Script
Александр Родин, ООО
"Нева Электрик"; 23.7.04
Попробую все разложить по полкам.. :)
1. В архиве имеем тэг SomeTLGTag, который привязан к системному
тэгу SomeCSTag.
2. Допустим нам надо сохранять в архиве значение SomeCSTag, но в 10
раз меньшее.
3. пишем в глобал-скрипте функцию div10, по уже известному нам
шаблону.
4. В таглогинге у тэга SomeTLGTag в столбце Processing выбираем
Action, в следующем столбцем (Action for processing) вставляем имя
нашей нормализующей функции (div10) - и _ТОЛЬКО ИМЯ_, потому как
список параметров системе уже известен (повторюсь - функция
шаблонная).
Все, далее, с удовлетворением наблюдаем, как в архиве записываются
нормализованные значения.
Re: Project function в Global
Script
Игорь Одесса; 23.7.04
ОГРОМНОЕ СПАСИБО, а я мучался, совал этот TagName ;)
А в каком документе это все описано?
Re: Project function в Global
Script
Александр Родин, ООО
"Нева Электрик"; 23.7.04
Когда-то (для WinCC v.4.0) это входило в стандартное описание.
Сейчас это есть в хэлпах.
Help\Editors\Tag Logging\Apendix\Templates for Function
Calls<<br>