Сам догадался из примера выше:)
Вид для печати
Добрый день! Делаю проект на MasterSCADA 4D. До этого проекта работал с 3-ей версией. Появилось несколько вопросов. Архивные данные с приборов учета забираю через HDA сервер (Multi-Protocol MasterOPC Server) в протоколах. Там же они и хранятся. Как их вывести в таблицу значений по аналогии с 3-ей версией, чтобы можно было их просматривать? Есть ли в 4-ке внутренний веб-браузер - задача открыть окно с адресом (внутренняя сеть) прибора, который имеет веб-сервер со своей страничкой? И вопрос может глупый - но как одной кнопкой создать и просмотреть отчет?
Для вывода в таблицу Вам нужен графический элемент "Таблица данных". Описание, как с ней работать, есть во встроенном хелпнике. Правда для этого необходимо включить архивирование считываемых параметров в самой MaterScada4D (если не прав - SCADAMaster4D меня поправит).
В MasterSCADA4D есть внутренний браузер (клиент), но можно использовать и другой браузер в системе, отключив его в настройках. Либо просто открыть сторонний браузер и вбить IP адрес.
Для того, чтобы открыть окно в адресом, необходимо у элемента (кнопка, например) в панели свойств открыть закладку "события", нажать правой кнопкой на событии "клик мыши", в списке выбрать "открыть адрес". В настройках события вбиваете адрес, который необходимо открыть, свойство "открыть новое" = true. Адрес можно динамизировать.
Пример с таблицей данных:
https://yadi.sk/d/5U7gWvQxnU8a1w
Если кратко - то таблице данных нужно передавать параметр типа "Массив структур". В поля структуры вы уже забиваете необходимые параметры, включая время. В моем примере структура состоит из 2 полей:"Times" и "Values", которые я достаю из архива мастерскады с помощью ФБ READ_ARCHIVE_DATA. У себя Вы, соответственно, забиваете массив структур считывая архивные данные из HDA сервера.
Добрый день!
Подскажите пожалуйста, как вызвать правильно FB из языка ST?
Пытаюсь получить имя объекта, но не выходит.
Смущает иконка типа переменной после определения ФБ
Код:PROGRAM Программа_ST_1
VAR_OUTPUT
EnO: BOOL := True;
Q: STRING;
END_VAR
VAR
GetObjectName_1: BaseObjects.GetObjectName;
END_VAR
Q:=GetObjectName_1.FullName;
END_PROGRAM
Добрый день!
Ошибка, будем исправлять. Пока рекомендация использовать ФБ либо как отдельный в дереве объектов, либо в FBD.
Работаю в BETA версии 3.10 . Готовлю для интернет клиента каталог . Убираю галочки доступа где не нужно и меняю названия в основной папки для наглядности
в интернет клиенте . Столкнулся со следующим исчезли графики и журналы в режиме исполнения Я их не вижу . Это может быть не было не каких ошибок .
Буду еще проверять дома хорошо есть резервная копия всего проекта .
У меня рабочий проект (27 котельных без обслуживающего персонала) . И сейчас проблем нету , есть резервная копия и копия на объекте. Нужно было подготовить этот проект к тому чтобы интернет клиент работал . Я все пробую пока в демо версии 3.10. (проект разработан в 3.7 ) Попробовал на проекте интернет клиент работает ( дома в домашней сети). Начал готовить весь проект .
То есть необходимо было поменять названия папок где находятся мнемосхемы и тренды и журналы к соответвующим названиям и установить где нужно галочки , а там где не нужно убрать ( доступ через интернет клиента) люди будут смотреть .
И всего лишь одна папка (поменял 300 допустим на 300кВт). Поменял во всем проекте и мое удивление -- в исполнении нет графиков ( трендов) в мнемосхемах, а нажимаешь на тренд продвинутый нет никакой реакции .
Нажимаешь на кнопку журнал серый экран . Потом возвращаюсь домой всё нормально.
Никакого восклицательного знака в внизу в правом углу. В режиме останова перейти==есть на тренды и журналы , но когда переходишь серый экран даже в режиме разработки.
А по поводу переустановить . Я восстановлю копию и ещё раз попробую . Раньше все работало и тренды и журналы. На работе где все произошло Я не запускал второй компьютер , который в сети , для доступа к проекту. А интернет клиент был установлен уже несколько дней назад на рабочем.
На выходных Я попробую дома , а потом могу вам выслать два проект рабочего и измененного не рабочего .
Это не паника ,но какие то чудеса может быть в демо версии только.
Ну в режиме разработки если сделать новый тренд - он будет виден или будет серое окно? Если серое - переустанавливайте
Вы так и не ответили на том компьютере, где у вас нет трендов, если в режиме разработки создать тренд - он появится или будет серое окно?
Если серое - что-то блокирует работу MasterSCADA нужно переустановить как мы описали.
Пришел с утра запустил измененный проект . Графики ( тренды) показывает . Получается перегрузка компьютера и запуск MacterScada с нуля помогло с отображением .
До этого не мог в одной из мнемосхем поменять ФБ текст выдавал ошибку , что отсутствует ( как то так ) указание на метку или связь операция не может быть выполнена ( не помню ).
Первый раз такое произошло не сделал скриншот за 3 года работая в MacterScada . И в этой папке сегодня только одна ошибка Вложение 44301 и еще ошибка при выходе из режима исполнения сформировал отчет.
И ещё появилась другая проблема не могу выйти из исполнения нормально , только с ошибкой , дома все происходило нормально без проблем . Отчет об ошибки 300 мбайт поэтому могу выслать только ссылку на файл .ZIP на яндекс диске https://yadi.sk/d/i3nuUDhpr3QPZw .
Вету 3.10 на работе пока не переустанавливал может Вам как разработчикам будет интересно что происходит . Пока не к спеху .
И ещё другие проекты подготовленные для установки на другие объекты работают без проблем они конечно по меньше 27 котельных а там всего 9 и меньше .
Тут явно проблемы с правами доступа. Переустановите скаду и выполните наши рекомендации
Открыли ( с разрешения администратора все запаролено было ) общий доступ к каталогам c:\Program Files (x86)\InSAT\MasterSCADA\
и MasterSCADA Projects и переустановили Вету 3.10 и интернет клиент пока полет нормальный . Но Я же раньше работал и без проблем . Правда
интернет клиента не подключал.
Спасибо .
Добрый день..просьба помочь в выборе ПО Мастер скада. Предполагается один управляющий компьютер с возможностями визуализации процесса, тренды в реальном и историческом времени, создание отчетов, теги от 500 до 1000, Win 10 (32 или 64). Удаленный доступ для клиента через Интернет с возможностью формирования отчета о работе линии за определенный временной интервал и его распечатке на клиентском принтере.
Клиент это будет еще одна MasterSCADA? Две MSRT-NET на 500 или 1000 тегов (можно на сервер MSRT-1000 на клиент MSRT-500)
Подробнее вам ответит отдел продаж - scada@insat.ru, направьте им запрос
Можно ли через скрипты или ST-программу писать данные непосредственно во внутреннюю Firebird? Поясню подробней:
https://masterscada.insat.ru/blog/fb...tsiya-arkhiva/ Это смотрел, но это не совсем то. В данном примере в БД будут создаваться отдельные переменные, которые отдельно придется создавать на трендах.
У меня следующая задача: если есть связь со SCADA, то пишет данные в архив SCADA, если нет, то начинает сохранять контроллер. Потом эти данные нужно извлечь из контроллера и положить в БД. Т.е. добавить те же переменные, но с другими значениями и временными метками, соответственно на трендах это будет идти непрерывно в рамках одной переменной. Как читать файлы - я изучил.
Изучил внутреннюю структуру БД, которая создает MasterSCADA. Фактически нужно записывать значения в таблицу MASDATARAW. Так вот вопрос: может ли скрипт писать данные непосредственно в эту таблицу? Если можно, нужно ли дополнительно устанавливать Firebird на ПК или, т.к. это внутренняя БД и MasterSCADA с ней работает без установки доп. софта, то и скрипт будет работать без доп. софта.
И второй вопрос: что означает поле FLAGS в этой таблице? Сейчас вижу два значения 32768 (фактически один старший бит) и 40960 (добавляется еще один бит). Можно узнать расшифровку значений битов?
С контроллером как идет связь?
Может просто сделать связь через OPC HDA - скада постоянно будет получать архивы с контроллера, связь пропала - данные за это время придут когда связь восстановится.
Напрямую в таблицу, в любом случае писать неправильно. Нужно обращаться к архиву тега, и замещать его архив. Посмотрите вот эту статью:
https://insat.ru/blog/schityvanie-i-...aniem-masters/
Там как раз скрипт почти тоже самое и делает - замещает архив тега на считанный из осциллограммы
Архивация должна идти строго в БД - в файловом это работать не будет.
И все же можете ответить на второй вопрос? С первым уже разобрался самостоятельно.
Первый байт - флаги и признаки превышения границ. Второй байт признак OPC.
Вот перечень всех флагов -
const DWORD PC_MAX_SPEED = 0x00000100;
const DWORD PC_MIN_WARNING = 0x00000200;
const DWORD PC_MIN_ERROR = 0x00000400;
const DWORD PC_MAX_WARNING = 0x00000800;
const DWORD PC_MAX_ERROR = 0x00001000;
const DWORD LAST_SESSION_VALUE = 0x00002000; //Последнее значение в сессии
const DWORD COMMAND_VALUE = 0x00008000; //Значение установлено по действию
Можно ли в скрипте узнать путь проекта?
Если использовать StreamReader(string path) с относительными путями, то путь дополняется тем, откуда запускается MasterSCADA, например, C:\Program Files\InSAT\MasterSCADA\. Но проект, например, лежит в папке D:\Project. Как узнать путь проекта?
PS. Вопрос снят.
Если у кого еще возникнет такой же вопрос:
Код:var project = HostFB.TreeItemHlp.Project;
string path = project.Path;
Добрый день.
Ощущение, что "руль" где-то рядом.
MS4D 1.2.6, ПЛК110-MS4 ver. 5.562
Пытаюсь открыть всплывающее окно по нажатию кнопки. Как в видосе по "MS4D.Быстрый старт.Часть 2".
В режиме эмуляции все работает - окно открывается.
После загрузки в контроллер - нифига. Причем в разных браузерах. На разных компах. И даже в браузере телефона при заходе с внешнего IP.
В какую сторону копать?
Если ли возможность архивировать данные по событию?
Необходимо в базу записывать отдозированные значения. Дозы примерно одинаковые и могут совпасть, поэтому вариант "по изменению" не подходит.
С помощью действия Присвоить, присвайте значения в нужный момент времени (значения одних переменных другим переменным). Чтобы архивация всегда происходила, включите периодическую архивацию у этих переменных с шагом в 0
Добрый день.
Вопрос по поводу сетевого проекта. Для того чтобы компьютеры синхронизировались нужно чтобы проект лежал в папке по умолчанию на диске С? У меня проект лежит на другом месте и синхронизация почему то не проходит.
Нет, это не долго играть роли.
Единственное, что если используются MAS-Client, и скада лежит в Program DATA, то до проекта может быть очень длинный путь, и тут могут быть проблемы. Тогда да, можно перенести проект на диск С.
Первый раз переносите проект вручную (Проект - Экспортировать), а уже потом будет нормально работать синхронизация
Еще такой вопрос. Если я буду использовать в качестве сервера отдельную машину на которой будет находится чисто проект, то мне на нее тоже нужно будет приобретать лицензию SCSDA системы или достаточно будет установить среду разработчика?
Что подразумевается под "в качестве сервера"? В качестве сервера сбора данных или сервера проекта?
Но в любом случае если компьютер будет добавлен в сетевой проект, то на нем должна быть установлена ключевая версия, так как ключевые версии не могут подключаться к Demo версиям.
Вы можете вести разработки в Demo версию, а потом импортировать разработанный (исправленный) проект на компьютер в системе используя импорт через папку.
Добрый день. Подскажите на счёт архивирования. Master scada 4d 1.2 база данных mssql. Значение времени пишется в формате bigint, можно ли его изменить для записи в timestamp? Или как преобразовать в читаемый формат yyy-mm-dd hh:mm:ss.sss?
И ещё такой вопрос, возможна запись значений в базу данных своими скриптами? Например, чтобы каждое значение сохранялось в своей таблице?
Добрый день!
Подскажите, пожалуйста, есть ли возможность управлять во время работы значениями полей "Время" и "Повтор" из таблицы, расположенной на вкладке "Расписание" Объекта? Если да - то как? Есть необходимость выполнять некие действия по расписанию, а само расписание должен задавать "Начальник смены" или "Начальник цеха" из отдельного окна.
Подскажите пожалуйста, как отправить элементарное любое сообщение с клиента на сервер, а на сервере это сообщение получить? через скрипт
SCADAMaster Спасибо!