Добавляете в скрипт выход типа "Строка" и пишите в него строковые значения.
Можно явно присваивать, можно с помощью команды:
SetValue("Выход", new PinValue(Значение, Время.ToUniversalTime()));
Тогда можно указать точную метку времени
Вид для печати
Добавляете в скрипт выход типа "Строка" и пишите в него строковые значения.
Можно явно присваивать, можно с помощью команды:
SetValue("Выход", new PinValue(Значение, Время.ToUniversalTime()));
Тогда можно указать точную метку времени
Например вот так:
string name=HostFB.TreeItemHlp.Parent.FullName+".Команда 1";
var elem = (ITreePinHlp)HostFB.TreeItemHlp.Project.Item(name) ;
Параметр2=(double)elem.GetRTPin().Value.Value; //читаем значение команды
Спасибо
А как поступить если мне нужно записать значение выходной команды?
Можно вот так
elem.AddAssignValueTask(значение,null);
Результат:Код:var elem = (ITreePinHlp)HostFB.TreeItemHlp.Project.Item(HostFB.TreeItemHlp.FullName+".Выходы.Параметр1");
elem.AddAssignValueTask(7,null);
Что я делаю не так?Цитата:
Ошибка: Exception from HRESULT: 0x80040667
Проверяйте путь - возможно где то ошиблись.
Если введён неправильный путь, ошибка такая:Цитата:
Ошибка: Object reference not set to an instance of an object.
Приложите ваш проект
Забавно, ошибка возникает только если вызывать Execute непосредственно
В режиме исполнения работает нормально
Спасибо за помощь
Использую связку masterSCADA + lectusOPC. Опрашиваю 350 переменных.
При изменении значения в скаде параметр передаётся в лектус с существенной задержкой(1-2 сек)
при опросе параметры передаются мгновенно
Как увеличить скорость отправки команды в мастер скада?
Или я что то пропустил?
Это проблема OPC сервера Lectus - на большом количестве точек (100-500 и выше) у него начинаются сильные задержки при передаче данных клиенту.
Рекомендуем вам сменить Lectus на наш Modbus Universal MasterOPC сервер:
http://insat.ru/products/?category=399
Доброе утро! Возник такой вопрос, а можно ли кнопку сделать круглой или прозрачной как дискретная команда без вывода окошка (если сделать пустой контрол) .
Нужна кнопка, как на видео, которая по входному состоянию меняет цвет и имеет выходную переменную состояние.
http://www.owen.ru/forum/showthread.php?t=16842
Однако нужна форма кнопки именно круглая. Спасибо.
Круглую нельзя, прозрачную можно.
Добавьте в дерево объектов Событие, формулу можно не прописывать. Вытащите ее на мнемосхему правой кнопкой мыши и выберите контрол "Зона выбора" - это прозрачная кнопка. Положите ее поверх нужного вам элемента.
В данном примере подобным образом делают checboxы:
http://insat.ru/products/?category=1298
Добрый день! Прошу пояснить небольшой вопрос.
Есть masterscada с opc lectus. Lectus опрашивает объект через заданный интервал времени (допустим 1 час). Необходимо, чтобы мастерскада выполняла опрос opc (с заданным интервалом) без инициирования соединения с объектом, т.е. получала значения последнего опроса opc. А соединение происходило только при изменении в мастерскада переменных (для записи их в контроллер). Не совсем понятно как это осуществить.
При запуске режима исполнения происходит запуск ОРС сервера, и сервер пытается выполнить дозвон до объекта.
Можете попробовать задать в ОРС сервере начальную фазу.
Странно как-то, OPC-сервер то запущен в это время, немного непонятно... Но если я поставлю начальную фазу несколько секунд, через эти несколько секунд дозвон то всё равно пойдет, а это не нужно.
Ещё заодно вопрос про ваш opc-сервер, а то у меня сложилась противоречивое мнение. Суть в том, что есть удаленный объект, который опрашивается opc-мастером через заданный интервал времени (плк - слэйв этом случае), при этом, в случае аварии на объекте, плк как мастер осуществляет дозвон до opc для информирования об аварии, т.е. opc выступает в роли слэйва (на стороне плк - один модем, на стороне пк - два модема). Неоднократно, на форумах попадалась информация, что opc вашей фирмы не может это обеспечить в отличии от лектуса. Насколько правильно я понял?
Какие инструменты отладки есть в скрипте MasterSCADA? Вывод в консоль, пошаговое исполнение?
Есть ли пошаговое исполнение в MasterOPC?
Пошагового исполнения нет. Можно выводить информацию в лог скриптов функцией server.Message
И ещё вопрос: когда проект в режиме исполнения его можно свернуть? или только закрыть? Также не могу найти как основную мнемосхему в режиме исполнения отцентровать посредине экрана или это нельзя и нужно сразу знать разрешение экрана оператора и растягивать его на максимум?
Пытаюсь MasterOPC опросить объект по модему, но получаю ответ:
При этом таймаут уже 30 секунд стоит...В какую сторону копать?Код:1-08-2014 08:38:22.906 баграмяна-22а:Запрос 3:баграмяна-22а:HOLDING_REGISTERS
21-08-2014 08:38:22.906 баграмяна-22а:Превышение таймаута баграмяна-22а:HOLDING_REGISTERS
21-08-2014 08:38:01.625 modem:Набор номера ATD8981xxxxxxx
21-08-2014 08:38:01.625 баграмяна-22а:Запрос 2:баграмяна-22а:HOLDING_REGISTERS
21-08-2014 08:38:01.625 баграмяна-22а:Превышение таймаута баграмяна-22а:HOLDING_REGISTERS
21-08-2014 08:37:45.218 modem:Звонок невозможен.Модем не подключен
21-08-2014 08:37:41.609 баграмяна-22а:Запрос 1:баграмяна-22а:HOLDING_REGISTERS
21-08-2014 08:37:41.609 modem:Порт 2 открыт
21-08-2014 08:37:41.609 Server:Cтарт конфигурации C:\Documents and Settings\All Users\Application Data\InSAT\MasterOPC Universal Modbus Server\SERVERCFG\bagramyana-22a.mbp
21-08-2014 08:37:41.609 Server:MasterOPC Universal Modbus Server Demo 32 Build - 3.0.0.4
Добавляете к скрипту строчку System.Diagnostics.Debug.Assert(false)
и запускаете скаду в режиме ОТЛАДКА, при выполнении скрипта выпадет окно, нажав в нем кнопку "Повтор" будет предложено выбрать отладчик (если в системе стоит VisualStudio), после его выбора вы попадете в запущенную студию, где программа будет остановлена на этой (System.Diagnostics.Debug.Assert(false)) строке, дальше можете отлаживаться по шагам.
С точки зрения системы, MasterSCADA со своими окнами, это еще одна программа, так что сворачивание\разворачивание работает так же как и с другими программами.
Если нужно убрать среду разработки, оставив только окна мнемосхем, то скрип для этого неоднократно приводился на форуме (во вложении).
Так же управлять размером открывающихся мнемосхем можно через ФБ "Управление документом" (В палитре закладка "Служебные")
В 2010\2012\2013 работает. На более ранних не проверяли, но по идее должно работать и там.
Справка по F1 по этому ФБ.
В настройках у ФБ:
Объект - выбирается объект в котором находятся документы (тренд\журнал\мнемосхема\отчет)
Документ - выбирается конкретный документ из тех, что есть в данном объекте
Использовать значение входов при открытии документа - Ложь, то в группу "Открыть" можно будет только открыть документ
Истина, в группе "Открыть" появляются доп параметры открытия (размер, положение, заголовок, способ открытия)
http://screencast.com/t/ZaeRSZFg7Q9 размеры меняются, возможно что то не так делали.
Его и не было. Стандартные механизмы по умолчанию не блокируются, т.е. через контекстное меню свернуть окно можно.
Все окна являются дочерними относительно родительского окна (MasterSCADA), так что свернуть их как отдельное окно на панель задач не выйдет в любом случае. Если требуется всё же убрать окно, то это делается подачей координат (положение относительно верхнего левого угла монитора) на входы "Верхний" и "Левый" и подачи после этого на вход "Открыть" "Вкл" http://screencast.com/t/IRD5XIIAmVtz
Да, меняется. А можно сделать, чтобы при запуске в режим исполнения, команда "Открыть" сразу включалась, т.е. при запуске автоматически? И можно ли чтобы оно разворачивалось на весь экран? И мнемосхема растягивалась при этом под размер окна (или это нельзя)?Цитата:
Цитата Сообщение от energvk Посмотреть сообщение
Да, я так сразу и делал, но никаких изменений не происходит, меняю разрешение, мнемосхема размер не меняет (вход "Как окно" включал, открытие мнемосхемы как окно и разрешение на изменение размера, тоже ставил).
http://screencast.com/t/ZaeRSZFg7Q9 размеры меняются, возможно что то не так делали.
Со сворачиванием понял, спасибо!