PDA

Просмотр полной версии : MasterScada 3.2



~Sergey~
28.07.2010, 13:34
добрый день. вопрос такой - как мне привязать созданный отчёт по архивным данным к кнопке на мнемосхеме и как увеличить интервал считывания данных, ибо отчёт начинает выдавать данные за каждый момент времени и он получается достаточно ёмким. заранее спс за ответ.

Sniper007
28.07.2010, 14:32
~Sergey~ скажите для начала что именно вы хотите сделать?
Вы используете источник "Архив MasterSCADA"? Тогда вам нужно перетащить переменные которые будут ограничивать глубину выборки на параметры источника "Начало" и "Конец". Подробнее в документации к редактору отчетов "Отчет - отображение архивных значений", пункт 3.
Привязать к кнопке - так же как обычно - тянете на мнемосхему правой кнопкой мыши, выбираете "отчет"

~Sergey~
29.07.2010, 10:16
хочу сделать примерно следующее - отображение текущих значений, плюс ко всему этому возможность открыть отчёт для просмотра и экспорта с мнемосхемы... просто с таким системами столкнулся впервые и мне достаточно сложно её настроить без подробной информации, тех источников, которые есть мне пока не достаточно... и ещё один вопрос - а возможно ли сделать так, что бы отчёт автоматически сохранялся через какое то определённое время, и если да, то как это сделать?

Sniper007
29.07.2010, 10:37
Ну текущие значения в рапорте обычно не отображают (отображают итоговые), но можно. Просто тянете переменную в словарь, а оттуда на бэнды.
Открытие делается аналогично как и мнемосхемы. Тянете на мнемосхему правой кнопкой мыши объект которому принадлежит отчет, выбираете в списке отчет.
Теперь насчет экспорта. Вариант 1 - вручную. Открыли отчет, посмотрели нажали сохранить выбрали нужный формат.
Вариант 2 - автоматический (в том числе можно сделать и по времени). Тут снова два варианта. Первый (не очень хороший) - вставляем событие или дискретную команду, на вкладке "Действия", добавляем действие "Сохранить", в выпадающем списке выбираем отчет. В режиме исполнения при подаче сигала ВКЛ, отчет будет сохранен. Он сохранится в папку объекта, в формате htm.
Второй вариант. Используем функциональный блок "Управление документом" (папка служебные блоки). С его помощью можно и сохранять, открывать и распечатывать. Про настройку блока прочитаете в справке.
Экспорт в автоматическом режиме поддерживается не во все форматы. Точно помню что поддерживается pdf, htm, xls. В ручном режиме - форматов гораздо больше.

~Sergey~
29.07.2010, 14:05
хм, спс за ответ, пробую дальше разбираться... посмотрим, что у меня получится....

Sniper007
29.07.2010, 14:17
Это же MasterSCADA - все получится :)

~Sergey~
29.07.2010, 15:10
так, с кнопками я разобрался, с отображением текущих значений тоже, вроде бы... а вот как мне сделать отображение архивных данных по всем значениям, тут я так и не разобрался.... добавляю источник архивных данных MasterScada, в него перетаскиваю все нужные мне переменные... в итоге отчёт получается на страниц 400+ и в конце пишет не понятную мне ошибку..и ещё, в источнике данных есть непонятные мне разделы как : начало конец и интервал... как мне задать интервал опроса, что бы к примеру отображались значения с периодом где то в минут 15, а не в 2 милисекунды..

Sniper007
29.07.2010, 15:36
Сергей. Я бы все таки для посоветовал бы вам прочитать документацию, или хотя бы мои посты:


Вы используете источник "Архив MasterSCADA"? Тогда вам нужно перетащить переменные которые будут ограничивать глубину выборки на параметры источника "Начало" и "Конец". Подробнее в документации к редактору отчетов "Отчет - отображение архивных значений", пункт 3.

Там же в документации (отчет - способы формирования отчета) найдете описание способов формирования отчета. Прочитайте про способ "Периодический" и все сразу станет понятно. Вот параметр "Интервал" как раз и нужен для такого способа формирования. Зададите нужное вам время - 30 сек, 400 сек, через это время и будут данные строится в отчете.

~Sergey~
30.07.2010, 09:49
читаю всё, что нахожу по данному вопросу, но дело в том, что опыта ноль, поэтому требуются разъяснения....

~Sergey~
30.07.2010, 11:08
Сергей. Я бы все таки для посоветовал бы вам прочитать документацию, или хотя бы мои посты:

Там же в документации (отчет - способы формирования отчета) найдете описание способов формирования отчета. Прочитайте про способ "Периодический" и все сразу станет понятно. Вот параметр "Интервал" как раз и нужен для такого способа формирования. Зададите нужное вам время - 30 сек, 400 сек, через это время и будут данные строится в отчете.


прочитал, и не раз, и всё же я так и не понял, как мне присвоить значения интервала, начала и конца... если не затруднит, то покажите это на конкретном примере и разъясните на пальцах чайнику... моих скудных знаний в этой области явно не хватает... одной справки мне явно не достаточно...

Sniper007
30.07.2010, 11:15
вставляем в дерево объекта переменные:
начало (тип данных - время)
конец (тип данных - время)
интервал (тип данных - целый)
теперь открываем редактор отчета (только не в полноэкранном режиме). раскрываете в словаре ваш архив (чтобы было видно параметры "начало", "конец" "интервал"), далее жмете на переменную в дереве объектов (например переменная начало) левой кнопкой мыши, и не отпуская клавишу мышь тащите в редактор отчетов на параметр источника "начало", отпускаете клавишу мыши. все - связь установлена.
если после этого нажмете на кнопку "сохранить все" то увидите что возле команды "начало" в дереве появится красная метка что связь установлена.
аналогично делаете с переменными интревал и конец.

ну а уже в режиме исполнения подаете на них нужные вам значения.

~Sergey~
30.07.2010, 14:32
вставляем в дерево объекта переменные:
начало (тип данных - время)
конец (тип данных - время)
интервал (тип данных - целый)
теперь открываем редактор отчета (только не в полноэкранном режиме). раскрываете в словаре ваш архив (чтобы было видно параметры "начало", "конец" "интервал"), далее жмете на переменную в дереве объектов (например переменная начало) левой кнопкой мыши, и не отпуская клавишу мышь тащите в редактор отчетов на параметр источника "начало", отпускаете клавишу мыши. все - связь установлена.
если после этого нажмете на кнопку "сохранить все" то увидите что возле команды "начало" в дереве появится красная метка что связь установлена.
аналогично делаете с переменными интревал и конец.

ну а уже в режиме исполнения подаете на них нужные вам значения.

сделал, как вы и сказали, получил следующий результат, при выставлении всех значений - начало, конец, интервал, отчёт отображает данные за выставленный мной период, то есть, выставил я диапазон с 13.10 до 13.20 к примеру, с интервалом 15 секунд, запускаю режим отладки, кликаю отчёт, он выдаёт значения за указанный мной период с заданным интервалом, но в реальном времени эти 10 минут не истекли,, то есть отчёт мне выдаёт те параметры, которые даже ещё не считанны.... что то я здесь совсем запутался.. и ещё вопрос, а можно интервал задать постоянный, а не в режиме исполнения каждый раз заново...

Sniper007
30.07.2010, 15:17
А зачем вы задаете ему значения времени которые еще не наступили?
Сделайте так.
Вставьте в объект "расчет", на закладке формула вставье следующее:
DateTime( )
Это будет текущее время.
Теперь разорвите связь между переменной "Конец" и отчетом (правой кнопкой по переменной - разорвать связь). Можете переменную конец удалить.
Теперь свяжите параметр "конец", в редакторе отчетов с только что вставленным расчетом. Теперь при формировании отчет будет строится от параметра "начало" и до текущего времени.

Чтобы пользователь мог сам вводить нужный диапазон, то можно вытянуть команды на мнемосхему. Щелкнув по ним откроется окно ввода времени.


что то я здесь совсем запутался.. и ещё вопрос, а можно интервал задать постоянный, а не в режиме исполнения каждый раз заново...
Можно. На закладке "Опрос выхода" поставьте "константа" и задайте нужное значение.

~Sergey~
02.08.2010, 12:30
Чтобы пользователь мог сам вводить нужный диапазон, то можно вытянуть команды на мнемосхему. Щелкнув по ним откроется окно ввода времени.

по этому пунктику можно поподробней?) и ещё пару вопросов, могу ли таким же образом, как и конец архива, задать начало, то есть при пуске моего проекта в режиме исполнения, время выставлялось бы автоматически согласно текущему значению и оставалось чётко фиксированным.

И как мне сделать так,что бы созданные мною отчёты сохранялись автоматически в заранее определённую папку через заданное время, и как вывести кнопку открытия этой папки на мнемосхему, заранее спасибо.)

Sniper007
02.08.2010, 13:40
по этому пунктику можно поподробней?)
А что тут подробнее? Вставляем команду, присваиваем ей тип - "время". Открываем мнемосхему, тянем на мнемосхему команду левой кнопкой мышью, отпускаем. В режиме исполнения щелкаем по ней, открывается окно ввода даты и времени. Вводим - это значение присваивается команде.

и ещё пару вопросов, могу ли таким же образом, как и конец архива, задать начало, то есть при пуске моего проекта в режиме исполнения
Сделайте так. Вставьте модуль "Скрипт". Входите на вкладку "Код".
В правой части окна (окно переменных), щелкаете правой кнопкой мыши и выбираете "добавить". Появится переменная. Переименуйте ее (щелкните по ее имени один раз и через пару секунд еще раз, а потом введите новое имя), назовите ее например out1. Установите тип - запись, тип значения - время (в раскрывающемся списке).
В левой части окна (окно кода) нужно вписать такой код. Даю целиком, разберетесь как вставить:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using System.Linq;

public partial class ФБ : ScriptBase
{
bool ?m=false;
public override void Execute()
{
if (m==false)Out1=DateTime.Now;
m=true;
}
}
Нажимаете компилировать. Внизу должно появится - компиляция успешно выполнена. Жмете применить.
Теперь открываете выходы скрипта, там будет выход out1. Щелкните по нему, на закладке "опрос выхода" поставьте галку "значение до опроса".
Вот и все. После запуска в режим исполнения на выходе Out1 будет время в которое была запущена в режим исполнения.



И как мне сделать так,что бы созданные мною отчёты сохранялись автоматически в заранее определённую папку через заданное время, и как вывести кнопку открытия этой папки на мнемосхему, заранее спасибо.)
Я вам уже ответил - нужно использовать блок "Управление документов" из папки "Служебные"

~Sergey~
02.08.2010, 14:16
спс за подробные ответы.... но



Я вам уже ответил - нужно использовать блок "Управление документов" из папки "Служебные"

я попытался задействовать этот блок, но в справке есть только его описание , а не применение, поэтому я ничего не понял.... если вас не затруднит, не могли бы Вы на примере показать настройку этого блока?)

Sniper007
02.08.2010, 15:03
я попытался задействовать этот блок, но в справке есть только его описание , а не применение, поэтому я ничего не понял....
Описание вполне исчерпыювающее.
На вкладке "настройки" задаете имя документа с которым будете работать - в данном случае имя отчета.
В группе сохранить входу "Имя файла" присваиваете нужное имя (константой в режиме разработки, или в режиме исполнения по переменной). В режиме исполнения подаете на вход "Сохранить" Вкл, по переднему фронту произойдет запись. Если что-то не так, то на выходе "Ошибка" будет сформировано сообщение.
А уж отчего вы будете формировать импульс на вход "Вкл" - это ваше дело.

Если нужно чтобы сохранялось в определенное время, то можно воспользоваться закладкой "Расписание" у объекта. Описание есть в справке.

~Sergey~
04.08.2010, 11:01
в одном из примеров, который шёл со скадой, есть отчёт, в котором реализованная ссылка с одной страницы на другу, то есть, ссылка между заголовком в таблице значений и графиком, как мне реализовать подобное?
и второй вопрос, как мне добиться того, что бы при построении графика в отчете у отображаемых линий параметров было одно начало координат?

Sniper007
04.08.2010, 13:04
в одном из примеров, который шёл со скадой, есть отчёт, в котором реализованная ссылка с одной страницы на другу, то есть, ссылка между заголовком в таблице значений и графиком, как мне реализовать подобное?

Это реализуется при помощи гиперссылки и закладок.
У объекта на который будет переход в разделе interaction присваивается номер.
А объект по нажатию на который будет переход ставится гиперссылка, тоже в interaction, прописывается переход в формате #имя_перехода.

Подробнее вы можете прочитать в справке. Разработчиком редактора отчетов является компания StimulSoft. Продукт называется Stimulsoft Reports.Net :
http://www.stimulsoft.com/default.aspx?Lang=RU
Скачайте документацию (лучше и в pdf и в chm), и просмотрите. Про гиперссылки и закладки там есть.



и второй вопрос, как мне добиться того, что бы при построении графика в отчете у отображаемых линий параметров было одно начало координат?
Не понял.

~Sergey~
04.08.2010, 14:50
дело в том, что когда я вывожу на график 2 переменных, одна переменная отображается согласно заданному значению(температуре) и аргументу(времени), а вторая переменная отображается согласно заданному аргументу (времени), а вот по оси Y (аргумент) за начало координат берёт значение 1й переменной, то есть 2 переменные примерно равны друг другу одна равна 800с, вторая 810с, первая крива строится от ноля, на отметке 800, вторая кривая строится от первой на отметке 1600, отсюда мой вопрос, как мне добиться того, что бы у кривых было одно начало координат

Sniper007
04.08.2010, 15:13
проще говоря вторая линия графика равна сумме первой и второй переменной, так? тогда вам нужно добавить в данные "новая рассчитываемая колонка", туда вставить сумму ваших переменных и ее уже и выводить на график.

~Sergey~
05.08.2010, 09:30
проще говоря вторая линия графика равна сумме первой и второй переменной, так? тогда вам нужно добавить в данные "новая рассчитываемая колонка", туда вставить сумму ваших переменных и ее уже и выводить на график.

если не затруднит, можно поподробней?))

Sniper007
05.08.2010, 10:24
Можно. Щелкаете по источнику из Архива MasterSCADA правой кнопкой мыши, в контекстном меню выбираете "новая рассчитываемая колонка".
Появится диалоговое окно. В нем задаете тип данных (в данном случае задайте double).
Чуть ниже списка выбора типа значения находится кнопочка с изображением клавиатуры. В нем можно выбирать переменные из источников и вставлять их в поле. Вам нужно написать в этом поле что-то вроде:
источник_данных1.температура+источник_данных1.темп ература2
В рассчитывающей колонке теперь будет сумма этих двух переменных. Ее и нужно вставить в график.

~Sergey~
05.08.2010, 13:06
столкнулся с ещё одной проблемой - для автоматического сохранения отчётов воспользовался вкладкой расписание, но отчёты стали сохраняться в формате html, но при формировании отчёта в этом формате, данные сохраняются некорректно, то есть не отображает графиков, так вот вопрос, есть ли возможность сохранять в другом формате, например в pdf? и второй вопрос, касательно функционального блока "управление документом", как я с ним не разбирался, но автоматического сохранения отчётов так и не добился и в справке ничего конкретного нет, может быть вы всё-таки мне подскажете где именно поставить нужный мне интервал сохранения данных и что с чем связать, что бы это всё работало корректно? уж извините за мою непонятливость, заранее спс за ответ)))

Sniper007
05.08.2010, 14:16
Давайте сделаем так.
Добавьте дискретную переменную, а на закладку расписания объекта, добавьте событие выдать импульс. Перетащите во ВТОРОЙ столбец (столбец документ) созданную переменную. Она будет формировать импульс для создания отчета.
Теперь вставляем блок управление документом. В группе сохранить, вход сохранить соединяем с созданной переменной.
Теперь нужно присвоить входу "имя файла" какой нибудь путь с именем файла с расширением pdf. Чтобы все вычислялось автоматически можно воспользоваться блоком "формирование строки", он позволит "склеить" несколько различных параметров и сформировать путь (описание есть в справке).
Можно например формировать путь и имя по времени. Для этого есть блок, "текущее время" (описание также в справке). Можно сделать при помощи модуля скрипт.

~Sergey~
06.08.2010, 13:08
спс, вроде заработало)))

qdesnoff
07.09.2015, 14:53
Добрый день!
Помогите пожалуйста с отчетом.
Имеется определенное количество параметров, данные которых необходимо выводить в отчете. Строки с данными должны добавляться в отчет с каждым нажатием кнопки "замер" на мнемосхеме.
И должна быть еще одна кнопка для открытия отчета.

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

SCADAMaster
07.09.2015, 15:29
Вам нужно строить по изменению. Посмотрите наши видеопримеры по отчетам - в них разбирался такой отчет:
http://www.masterscada.ru/?additional_section_id=233
Также рекомендуем посмотреть нашу документацию:
http://www.masterscada.ru/?additional_section_id=141

qdesnoff
07.09.2015, 16:32
Спасибо!
Я уже по несколько раз проштудировал весь имеющийся материал (видео и текст) и все равно остается многое не понятным.

Периодическое формирование для меня не интересно.
Другая проблема: при формировании по изменению с помощью пульсатора строки вообще не формируются. В режиме исполнения пульсатор работает и данные в архив записались, а при предварительном просмотре отчета ничего не происходит.

SCADAMaster
07.09.2015, 17:38
Возможные проблемы:
1) У выхода пульсатора не включена архивация - нет данных, нет строк
2) У колонки пульсатора в отчете не включено "Основной"
3) Параметры "Начало" и "Конец" заданы не корректно - реальных архив вне этого диапазона времени.

qdesnoff
07.09.2015, 18:05
1. Архивация включена. Данные есть.
2. Пульсатор основной.
3. Пробовал разный интервал с приличным запасом.
Какие настройки должны быть у команд "начало" и "конец" в дереве объектов?

SCADAMaster
07.09.2015, 18:48
Приложите ваш проект вместе с данными.

qdesnoff
07.09.2015, 18:55
Вот тестовый проект, в котором необходимо формировать отчет по изменению одного тега (по нажатию кнопки).
19828

SCADAMaster
07.09.2015, 19:28
По какой то причине в переменной "Начало" и "Конец" у вас оказались некорректные данные.
Удалите эти переменные и добавьте снова. Включите у них значение до опроса, и задайте значение когда данные есть в архиве (например Начало - 07.09 17:48, конец - 07.09 17:49).
Отчет у вас построен неправильно - у вас сформируется около 30 тысяч страниц.

qdesnoff
08.09.2015, 08:23
Отчет у вас построен неправильно - у вас сформируется около 30 тысяч страниц.
А что конкретно неправильно?

SCADAMaster
08.09.2015, 09:59
У вас и кросс бэнд, и бэнд данных привязаны к одному источнику.
Бэнд данных нужно отвязать от источника.

qdesnoff
08.09.2015, 10:35
Исправил. Теперь показывается такая ошибка: 19837
Отчет по прежнему не строится.
проект 19838

SCADAMaster
08.09.2015, 11:40
Потому что у вас пульсатор присутствует в фильтре DataBand. Удалите фильтр оттуда

qdesnoff
08.09.2015, 13:23
Удалил, Теперь высвечивается такая ошибка: 19843
Вы не могли бы поправить этот проект? У меня складывается впечатление, что где-то ошибка намного глубже и серьезнее.
Не работает ни периодическое формирование, ни по изменению. Либо, если периодическое работает, то, как вы говорите при "неправильно построенном отчете".

qdesnoff
08.09.2015, 13:44
Ведь мне нужно формирование по изменению. В качестве инициирующего сигнала как раз является пульсатор. Для него настроен фильтр, чтобы данные формировались при значении "true". Для чего его удалять?

SCADAMaster
08.09.2015, 16:19
Удалил, Теперь высвечивается такая ошибка:
Это не ошибка - это предупреждение. Можно его игнорировать


Ведь мне нужно формирование по изменению. В качестве инициирующего сигнала как раз является пульсатор. Для него настроен фильтр, чтобы данные формировались при значении "true". Для чего его удалять?
Потому что пульсатором вы будете фильтровать строки кросс-бэнда, а не бэнда данных.
Бэнд данных нужен просто как контейнер для кросс-бэнда, поэтому он не к чему и не привязывается.

qdesnoff
29.09.2015, 09:43
Возможные проблемы:
1) У выхода пульсатора не включена архивация - нет данных, нет строк
2) У колонки пульсатора в отчете не включено "Основной"
3) Параметры "Начало" и "Конец" заданы не корректно - реальных архив вне этого диапазона времени.
Добрый день!
Спасибо большое. Отчет заработал.
Другой вопрос:
Скажите пожалуйста, каким образом можно организовать двустороннюю связь между Мастерскада и Wincc OPC. А именно, необходимо с помощью Мастерскады осуществлять диспетчеризацию параметров, а также управлять исполнительными механизмами через теги Wincc. Wincc и Мастерскада установлены на разных компьютерах в одной локальной сети.
Версия Мастерскады - MSRT 500.
Заранее спасибо!

SCADAMaster
29.09.2015, 10:43
Как с обычным ОРС сервером - читаете какие нужно читать, пишете в которые нужно писать.
Поскольку он находится на другом компьютере, то нужно будет настроить удаленное подключение к ОРС - настроить DCOM специальным образом (инструкция прилагается к MasterSCADA).
Либо использовать туннель:
http://insat.ru/products/?category=1602

qdesnoff
29.09.2015, 16:49
Спасибо. Попробуем разобраться.