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>