У меня в свойствах мнемосхемы все параметры не активны (не меняются ) кроме "закрыть другие окна" и "включить имя экземпляра в заголовок " . Проверил многие настройки в вашим проектом - вроде всё совпадает . Что я не так делаю ?
Вид для печати
У меня в свойствах мнемосхемы все параметры не активны (не меняются ) кроме "закрыть другие окна" и "включить имя экземпляра в заголовок " . Проверил многие настройки в вашим проектом - вроде всё совпадает . Что я не так делаю ?
Ну во первых в Modbus OPC можно включить UA:
http://blog.insat.ru/2017/05/modbus-...steropc-4.html
Но вообще мы предполагали что вы будете отдавать со скады, а не с ОРС - в MasterSCADA тоже есть OPC UA. Посмотрите эту документацию (раздел взаимодействие автономных проектов)
http://insat.ru/metodicheskie-materi...asterSCADA.pdf
Посоветуйте как лучше сделать почасовой счётчик в виде таблицы на мнемосхеме или ещё как-нибудь . У меня импульсы поступают на ПЛК100 , на нём уже собран счётчик CODESYS , но он считает постоянно , пока его не сбросит оператор . Всё выходит на монитор через скаду . Желательно , чтобы считал и записывал даже при не включенной мастерскаде .
Пускай я создам отдельный объект со своим изображением, там будут кнопки "Авторизация", "Смена пользователя", "Редактировать пользователей", которые будут активны в зависимости от того, какой пользователь авторизован на данный момент.
На данный момент мне не ясны следующие моменты:
1. Я нажал кнопку "Авторизация", как вызвать окно "Идентификация пользователя" с выпадающим списком пользователей и компьютеров, которое появляется при запуске проекта.
2. Я решил завершить сеанс текущего пользователя, нажал кнопку "Выход", мне необходимо чтобы прошла автоматическая авторизация пользователя "Гость" без вызова окна "Идентификация пользователя" и без ввода каких либо данных.
3. Вся информация о пользователе ограничена лишь его должностью, сменой и именем оператора? Привязать ФИО, ИД номер, телефон и прочее к записи не получится?
4. Можно ли в режиме исполнения добавить новую должность и смену? Пока удалось лишь оператора. Добавить должность могу только в свойствах системы во время конфигурирования проекта?
p.s. тулбар управления скрыт.
upd. нашел скрипт "СменаОператора", в котором вызывается метод "HostFB.TreeItemHlp.Project.RTPermissions.ReLogon( И мя,Пароль);" - это решает мой второй пункт, и возможно помогает в первом пункте, но не ясно как называется метод для вызова авторизации и где вообще посмотреть все имеющиеся методы?
Это окно появляется автоматически при завершении сеанса пользователя. То есть выход из сессии - появление идентфикации нового опеатора
Вам нужно будет сделать две кнопки - одна будет для выхода, с автоматическим вхождением под гостем, вторая - завершение сеанса.
В первом случае будет вызывать скрипт с методом Relogon, во втором - просто завершение сеанса и появится окно идентификации.
Нет. Можете написать свой скрипт, отслеживать текущего оператора подгружать информацию например из файла и выводить куда надо.
В 3.8 - нельзя. В 3.9 - уже можно.
1. А есть ли какой-то способ завершения сеанса без использования событий? В идеале может у RTPermissions есть какой-то метод "LogOut()"? Я ведь все равно буду использовать с# скрипт, и было бы отлично обрабатывать все в нем, а не городить дополнительную компоненту в объекте.
2. Есть вообще какой-то способ подключить namespace MasterSCADA.Hlp, MasterSCADA.Script.FB, чтобы пробовать все это в Visuial Studio? Было бы отлично поглядеть какие еще методы есть у тех или иных классов, а Ctrl+Space в мастерскаде не работает
Если нужно чтобы это работало и при выключенной скаде, то единственный вариант - писать это все в архив контроллера и читать значения по HDA.
Например раз в час, вы в контроллере пишите с помощью модуля Archiver количество выпущенной продукции. Потом скадой читаете эти значения. Потом уже можно будет в отчет выводить.
Считывать архивы из ОВЕН ПЛК можно с помощью нашего Modbus Universal:
http://insat.ru/products/?category=1414
Вот инструкция по настройке ОРС:
http://www.insat.ru/products/Univers...plc_readme.pdf
http://www.insat.ru/products/Univers...nhda_files.zip
1. А есть ли какой-то способ завершения сеанса без использования событий? В идеале может у RTPermissions есть какой-то метод "LogOut()"? Я ведь все равно буду использовать с# скрипт, и было бы отлично обрабатывать все в нем, а не городить дополнительную компоненту в объекте.
2. Есть вообще какой-то способ подключить namespace MasterSCADA.Hlp, MasterSCADA.Script.FB, чтобы пробовать все это в Visuial Studio? Было бы отлично поглядеть какие еще методы есть у тех или иных классов, а Ctrl+Space в мастерскаде не работает
3. Добавил кнопку на мнемосхему и привязал выход "Кнопка нажата" ко входу c# скрипта. Проблема в том, что при обычном нажатии на кнопку сигнал не поступает на вход скрипта, время реакции на нажатие кнопки достигает 500мс и истина поступает только если нажать на кнопку и держать ее около секунды. Не подскажите в чем причина столь долгой обработки?
Пока что нет.
Вы можете сделать ФБ (инструкция прилагается к скаде) - он пишется в Visual Studio.
Вы неправильно сделали кнопки. Создайте команду, типа дискретный и вытащите ее на мнемосхему - она станет копкой. Сигнал с команды подавайте на вход скрипта.
Огромное спасибо, если честно, то это самая лучшая поддержка, которую я получал по программным продуктам.
Пользуюсь новой версией скады 3.8. Не могу никак в трендах переименовать значения. При двойном нажатии вроде как даёт редактировать но выдаёт крайне маленькое окошко для текста, в котором не видно что пишешь если название длиньше окна редактирования. А способ Ctrl+C, Ctrl+v вообще не работает. в старой версии вроде не было такой проблемы, но я могу ошибаться. Спасибо
Так было во всех версиях. Мы рассмотрим возможности доработок.
Та же проблема, закинул скрипт в корень проекта, если ставить стартовую мнемосхему в режиме "Окно" с запретом на закрытие, то все работает нормально, но если назначить режим открытия "Документ" (закрытие запрещено по умолчанию), то окно просто скрывается. Формат "Окно" не совсем подходит, т.к. оно закрывается при открытии других мнемосхем с тем же форматом. Как заставить этот скрипт работать с документом?
С документом в принципе никак - так как он располагается в форме среды разработки, а она как раз этим скриптом и скрывается.
Чтобы окно не закрывалось, можно включить "Не закрывать при открытии нового окна"
Вот пример скрипта:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using FB.FBAttributes;
using System.Linq;
using MasterSCADA.RT;
using System.Threading;
[FBRetain]
public partial class ФБ : ScriptBase
{
public override void Execute()
{
if (Выход==true)
RTManager.Instance.ThreadHolder.BeginInvoke(new ThreadStart(delegate
{
MasterSCADAHlp.Instance.ThreadHolder.BeginInvoke(n ew Action(()=> { MasterSCADA.RT.RTManager.Instance.Relogon(); }));
}
));
}
}
Появилась ещё одна проблема во взаимном влиянии экземпляров объекта с типизацией (последняя Beta), видно на видео.
Тестовый проект приложен. В объектах без типизации все работает как надо. Подскажите, что делать?
Если я захочу купить SCADA-система на 100 внешних точек ввода-вывода , Как это всё делается ? Смогу ли я менять программу несколько раз ? На сколько компьютеров можно установить ?
Что значит "сменить несколько раз"? Установить можно на любое количество компьютеров, но работать будет только на том, на котором есть ключ.
Для расстановки связей используем таблицу экземпляров. При создании другой таблицы (для других экземпляров) теряются
данные из уже созданной. Импорт не работает. Видео прилагается. Как пользоваться?
Для экземпляра при помещении события в окне изображения объекта, для него не запоминается свойство Типизация->Экземпляр->По выбору .
При повторном открытии изображения объекта свойство меняется на "Все".
Ну в пределах 100 тегов можете делать что хотите.
Если надо больше - то делаете upsize (подробнее в отделе продаж).
А зачем тут вообще что-то менять? Вы когда добавляете изображение, оно и будет указывать к какому экземпляру. А внутри одного экземпляра делать указать на другой экземпляр - это очень странно.
Абсолютно с Вами согласен, вопрос снимается.
Спасибо.
Необходимо подключиться к смежной системе и считать с нее данные по OPC DA. Хотели изначально купить ваш продукт Multi-Protocol MasterOPC Server и организовать связь в OPC UA, но нам не разрешили ставить дополнительное ПО на сторонние серверы, сказали делать по OPC DA. Из всех инструкций, что я смог найти есть лишь упоминание "Важно! Для использования OPC-серверов, расположенных на других компьютерах сети, необходимо на этих компьютерах запустить утилиту ОРС Enum и настроить протокол Microsoft DCOM. Подробнее это описано в сопроводительной документации на MasterSCADA".
Не смог найти данную инструкцию. Есть ли какое-то подробное руководство по подключению OPC DA к MasterScada? (ссылки на ftp сервер нет, сейчас разрабатываю под демоверсией)
Она входит в поставку скады и находится в папке:
c:\Program Files (x86)\InSAT\MasterSCADA\Doc\
Но лучше конечно договорится на установку туда Multi-Protocol. Это существенно лучшее решение, чем делать дыры в безопасности настраивая DCOM.
Мы видели, но там ведь только для Windows 7 и Windows XP. Гложат сильные сомнения, что инструкция Windows 7 подойдет для серверных ОС. Есть ли документы для серверных ОС, в частности для Windows Server 2012 R2?
В целом она совпадает. Однако серверные ОС могут иметь свои нюансы настройки, и иногда настройка DCOM на них заканчивается неудачей.
Тогда вариант остается только с Multi-Protocol.
Здравствуйте. Подскажите пожалуйста, как добиться передачи корректных значений в мастерскаду?
https://youtu.be/3iWRLplwCt4
Судя по всему стоит неправильное чередование байт. Дело в том, что контроллеры ОВЕН (и все OCdesys 2 контроллеры) имеют у Int32 и Float чисел чередование "Старшим байтом вперед", вместо "Старшим словом вперед". Исправьте чередование байт (в четвертой версии ОРС сервера это делается на уровне устройства)
Здравствуйте, пытаюсь понять как привязать дискретное значение к аварии. Например есть у меня два значения: "Потеря связи с ПЛК", "Потеря связи с датчиком", привязал их к шкалам "Вкл/Выкл", а как настроить их вывод в журнал, как аварию не понятно. Не привязывать же каждый сигнал к "Событие"? В мануалах нигде не нашел работы с дискретными значениями.
p.s. есть ли какой-то способ отключить звук аварии, без квитирования? Может способ реализован на скрипте?
Ну вообще да - именно привязав к событию. Чем вас это не устраивает?