Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Документирование в TRACE MODE / Data Documentation in Trace Mode » вопрос по Техно List

   
Автор / Author Тема / Topic: вопрос по Техно List
Konstantin
Forum Member / Участник форума
Участник № / Member № 833


Icon 5 отправлено / posted      Профиль для / Profile for Konstantin           Редактировать/удалить сообщение / Edit/Delete Post 
Добрый день. Хотелось бы проконсультироваться по поводу работоспособности приведенной ниже пользовательской функции на Техно List. Дело в том, что проверить ее в данный момент не получается ввиду отсутствия СД.

Задача функции W_value такая: есть строка в таблице и ячейки строки должны заполняться последовательными значениями глобальных переменных W некотор. узла.
Аргументами функции должны быть:
base - номер переменной W, значение которой будет находиться в первой ячейке строки
shit - номер ячейки в строке.

Функция:
var base = ARGS[0];
var shift = ARGS[1];

var ch = CHAN( base+shift, 0, "Operator", "W_Global");
return GETVAL( ch);

В повторяющуюся ячейку строки вставляем, скажем, такой вызов: W_value( 10, COL());
Все ли тут корректно?

Сообщения / Posts 44 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Konstantin
Forum Member / Участник форума
Участник № / Member № 833


Icon 1 отправлено / posted      Профиль для / Profile for Konstantin           Редактировать/удалить сообщение / Edit/Delete Post 
Попробовал формировать пробный отчет - процедура вроде работает, но если передавать аргумент base, больший, чем 590, то в данной строке все ячейки заполнены записями #CHAN:BAD CHANNEL#. В чем тут дело?
Если вставлять в ячейку выражение
GETVAL(CHAN("WG591",0,"Operator","W_Global")), значение переменной выводится нормально...

Сообщения / Posts 44 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Kuznetsov
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post 
Попробуйте формировать строковый параметр в качестве идентификатора глобальной переменной.
Например, ch_name= "WG"+STR(591);

Еще можно попробовать читать глобальные переменные, начиная с индекса 64000 в объекте "_БАЗА" с идентификатором 0.

IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Я полагаю, все-таки, что в данном случае имеет место не вполне адекватная ЭМУЛЯЦИЯ при формировании пробного отчета.
Аналогичные эффекты могут наблюдаться и в других случаях обращения к каналам по индексам.
В сервере документирования этот механизм должен отрабатываться корректно.

Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2