1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

TraceMode 5+Локальный сервер документирования5. Нужна помощь

SCADA, серверы, АРМ верхнего уровня, диспетчерские
Ответить

Автор темы
shnim
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 июл 2014, 13:43
Имя: Тюков Владимир Михайлович
Страна: Россия
город/регион: Тула

TraceMode 5+Локальный сервер документирования5. Нужна помощь

Сообщение shnim »

Добрый день!
Помогите пожалуйста с решением проблемы.

Используется локальный сервер документирования v5.15, вместе с TraceMode 5.15.
Необходимо накапливать расход природного газа и формировать отчёт, суточный и за период.
Для этого, с периодичностью 1 секунда, архивируется этот самый расход.
Для подсчёта расхода за период, используется следующая пользовательская функция:

var ChanelData;
var ChanelDataSize;
var i;
var summa;
var ot_day;
var ot_mon;
var ot_yer;
var do_day;
var do_mon;
var do_yer;

summa=0;
ot_day=GETVAL(CHAN( "ot_day", 0, "WSK_K1", "PRINT")); //Начальная дата
ot_mon=GETVAL(CHAN( "ot_mon", 0, "WSK_K1", "PRINT"));
ot_yer=GETVAL(CHAN( "ot_year", 0, "WSK_K1", "PRINT"));
do_day=GETVAL(CHAN( "do_day", 0, "WSK_K1", "PRINT")); //Конечная дата (включительно)
do_mon=GETVAL(CHAN( "do_mon", 0, "WSK_K1", "PRINT"));
do_yer=GETVAL(CHAN( "do_year", 0, "WSK_K1", "PRINT"));

ChanelData=READVAL(CHAN( "val5_sin", 0, "WSK_K1", "PRINT"), MKTIME( ot_yer, ot_mon, ot_day, 0, 00, 00, 00), MKTIME(do_yer, do_mon, do_day, 23, 59, 59, 999));
ChanelDataSize=SIZE(ChanelData);
for i=0 to ChanelDataSize-1 do
summa=summa+ChanelData/3600;
return summa;

Здесь, "val5_sin" собственно объёмный расход, м3/ч.

Эта функция, великолепно работает, но только если начальная и конечная дата совпадают. Если попробовать поставить разные даты,например расчитать суммарный расход с 28.07.2014 (суточный расход = 34957.3 м3) по 29.07.2014 (суточный расход = 62748.9 м3), то результатом будет 67437.1 м3, что естесственно не верно. Простейшая конструкция, но работает
не верно. Изучение форума техподдержки на официальном сайте, к сожалению, не помогло. Помогите пожалуйста решить эту задачу. Спасибо.

Romcheg
SCADA+
SCADA+
Сообщения: 592
Зарегистрирован: 05 ноя 2009, 11:18
Имя: Бузинов Роман Анатольевич
Страна: Россия
город/регион: Москва
Благодарил (а): 8 раз
Поблагодарили: 33 раза

Re: TraceMode 5+Локальный сервер документирования5. Нужна по

Сообщение Romcheg »

Не думаю, что по 5-й версии кто-то Вам сможет помочь. Уже даже Адастра давно прекратила ее всячески не то что поддерживать, а даже отвечать на вопросы по ней.
На моей памяти - работа скриптов в отчетах в 5-ке порой приводила к очень непредсказуемым результатам, исправить которые можно было только через программистов.
В свое время даже отказывался от функций сервера документирования при работе с выборками из СПАДа, благо в 5-й версии еще был драйвер ODBC для доступа к архиву. И вот через него писались собственные утилиты по формированию отчетов, даже в том же HTML. Уверяю Вас - это гораздо будет менее затратно и адекватнее, чем разгребание глюков работы скриптов в СД.
SCADA+
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17472
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 749 раз
Поблагодарили: 1278 раз

Re: TraceMode 5+Локальный сервер документирования5. Нужна по

Сообщение Jackson »

Простейшая конструкция, но работает не верно.
Фирменная фича ТМ4 и ТМ5. :)
По вопросам работы Форума можно обратиться по этим контактам.

Автор темы
shnim
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 июл 2014, 13:43
Имя: Тюков Владимир Михайлович
Страна: Россия
город/регион: Тула

Re: TraceMode 5+Локальный сервер документирования5. Нужна по

Сообщение shnim »

Romcheg писал(а):Не думаю, что по 5-й версии кто-то Вам сможет помочь. Уже даже Адастра давно прекратила ее всячески не то что поддерживать, а даже отвечать на вопросы по ней.
На моей памяти - работа скриптов в отчетах в 5-ке порой приводила к очень непредсказуемым результатам, исправить которые можно было только через программистов.
В свое время даже отказывался от функций сервера документирования при работе с выборками из СПАДа, благо в 5-й версии еще был драйвер ODBC для доступа к архиву. И вот через него писались собственные утилиты по формированию отчетов, даже в том же HTML. Уверяю Вас - это гораздо будет менее затратно и адекватнее, чем разгребание глюков работы скриптов в СД.
С официальной поддержкой AdAstra общался сегодня утром, результат нулевой (то специалистов нет, то ресурсов (каких, интересно?) не хватает), короче - глухая стена непонимания и не желания помочь под разными предлогами, касаемо 5-й версии их продукта. Вообще, грамотные люди по ТМ5 есть, безусловно, судя по закрытому форуму ТМ5 на оф.сайте.
А по теме, скрипты (это язык Техно Лист), работают. Такие простейшие задачи выполнять можно, но увы, не простыми методами. Мой проект уже готов, и работает на объекте, радикально что-то менять мне попросту не дадут времени. Тут я просто заложник ситуации...

Romcheg
SCADA+
SCADA+
Сообщения: 592
Зарегистрирован: 05 ноя 2009, 11:18
Имя: Бузинов Роман Анатольевич
Страна: Россия
город/регион: Москва
Благодарил (а): 8 раз
Поблагодарили: 33 раза

Re: TraceMode 5+Локальный сервер документирования5. Нужна по

Сообщение Romcheg »

Тогда ситуация из разряда - "Вам шашечки, или ехать?"
Вы же понимаете, что не решите этот вопрос, даже с привлечением специалистов. Я вот и в 5-й и 6-й работал (я по ним даже 9 лет техподдержку оказывал), но даже я вам не смогу помочь, потому что тут, скорее всего, в "консерватории" что-то править надо. :) А сделать это может только разработчик, который уже этого не сделает по 5-ке никак.
Вот и получается у Вас сейчас следующие варианты:
1) Изменить принцип работы этой логики так, чтобы в отчете изменился алгоритм формирования данных. Это позволит обойти глючный момент.
2) Попытаться найти решение проблемы в текущем виде без изменений
3) Написать свой собственный формирователь отчета, который будет тянуть данные из СПАДа ТМ через ODBC

На мой взгляд:
(1) - один-несколько дней работы, но есть вероятность и очень большая, что в новом методе Вы опять наткнетесь на "простейшую конструкцию", которая опять будет "работать не верно"
(2) - по-моему вообще утопия
(3) - у более-менее продвинутого программиста займет от силы пару часов работы, зато результат 100%

Смотрите сами, но я вам как специалист по 5-му и 6-му ТМ в прошлом, это говорю...
SCADA+

Автор темы
shnim
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 31 июл 2014, 13:43
Имя: Тюков Владимир Михайлович
Страна: Россия
город/регион: Тула

Re: TraceMode 5+Локальный сервер документирования5. Нужна по

Сообщение shnim »

Romcheg писал(а): Вот и получается у Вас сейчас следующие варианты:
1) Изменить принцип работы этой логики так, чтобы в отчете изменился алгоритм формирования данных. Это позволит обойти глючный момент.
2) Попытаться найти решение проблемы в текущем виде без изменений
3) Написать свой собственный формирователь отчета, который будет тянуть данные из СПАДа ТМ через ODBC

На мой взгляд:
(1) - один-несколько дней работы, но есть вероятность и очень большая, что в новом методе Вы опять наткнетесь на "простейшую конструкцию", которая опять будет "работать не верно"
(2) - по-моему вообще утопия
(3) - у более-менее продвинутого программиста займет от силы пару часов работы, зато результат 100%

Смотрите сами, но я вам как специалист по 5-му и 6-му ТМ в прошлом, это говорю...
Да, доводы вполне убедительные. Спасибо. Вообще, я надеялся, что мою задачу можно как-то решить с помощью функций Техно Лист "RTSTAT" и "SUM"... В этом случае, я обошёлся бы "малой кровью". Но тут нужно пробовать. Ещё одна проблема в том, что с моим ключом разработчика, сервер документирования не работает (тоже абсурдная фишка AdAstra), нужен отдельный ключ для этого самого сервера, который уже стоит на удалённом объекте. С ODBC работать не приходилось, хотя представление есть. Попробую "покурить" эту тему...
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Re: TraceMode 5+Локальный сервер документирования5. Нужна по

Сообщение MuadDib »

shnim писал(а):...то ресурсов (каких, интересно?) не хватает
Нужно больше золота! :D

Извините, не удержался. Воспоминания об этом продукте нахлынули.
Ответить

Вернуться в «Верхний уровень автоматизации (отображение)»