Доброй ночи.
SCADAMaster подскажите, почему в режиме исполнения не отображаются (точнее перестали отображаться) ФБ вент установок? В режиме отладка все ок. Это ограничения демо версии?
Вид для печати
Доброй ночи.
SCADAMaster подскажите, почему в режиме исполнения не отображаются (точнее перестали отображаться) ФБ вент установок? В режиме отладка все ок. Это ограничения демо версии?
Подскажите, пожалуйста, как по переднему фронту импульса (ФБ "передний фронт") записать системное время в переменную типа "время".
Нет, назначил заработало. Спасибо. Я со скадой первый месяц разбираюсь. Еще далеко не все нюансы знаю.
Подскажите заодно, насчет партнерских программ. Если я, физ. или юр. лицо внедряю автоматизацию на предприятии, могу ли получать скидки на продукцию ИнСат, при покупках платных версий?
И еще, как можно потестить отправку СМС в демо версии?
У меня есть шаблонный датчик который нарисован как окно объекта. Я изменил изображение объекта и обновил полностью все экземпляры. Так же в меню Сервис обновил Изображения объекта. Одна при перетаскивании изображения объекта от экземпляра всё равно сохраняется предыдущее изображение датчика. что ещё можно сделать?
Сохранили ли вы перед этим проект?
Изображения объектов нужно обязательно сохранять, иначе будут добавляться старые.
Да, всё сохранил. Самое интересное что и в шаблоне и в экземпляре открывается нужное изображение. Проблема возникает именно во время перетаскивания изображения на схему через правую кнопку. Именно в этот момент я получаю не то что нужно.
Приложите ваш проект, и скриншоты демонстрирующие проблему. Укажите путь к проблемному изображению и мнемосхеме
Во всех режимах
Приложите проект и скриншоты демонстирующие проблему.
По вопросам получения скидок вам нужно обратится в отдел продаж - scada@insat.ru
По отправке SMS у нас есть два способа:
1. Канал SMS - Система - Сообщения - Каналы - SMS
2. ФБ "Отправка SMS" - раздел Служебные палитры ФБ.
Работа с ними описана в справке.
Добрый день! Подскажите, пожалуйста, что я делаю не так. Есть ТРМ202, OPC-сервер OWEN beta (новый). Привязываю команду из дерева объектов к тегу OPC-сервера, связанному с уставкой регулятора ТРМ (SP1, адрес Modbus=0x0005). В качестве обратной связи для команды использую другой тег OPC-сервера (SP1, адрес Modbus=0x1011). Запускаю мнемосхему, на которой выведена команда в виде поля для ввода значения. Команда принимает значение, полученное по обратной связи от OPC-сервера, все хорошо. Но когда я изменяю значение команды, на мнемосхеме через некоторое время команда принимает старое значение обратной связи, а потом снова становится тем, что я вводил. На вкладке "Опрос" устанавливал и убирал флаг "Не передавать данные обратной связи" - результат тот же.
И как можно отследить момент между вводом команды и принятием ее в ТРМ, чтобы оператору было понятно, что его уставка принимается оборудованием.
P.S. В системе 36 ТРМок по 9 на один порт, опрос не самый шустрый.
Спасибо!
Если в редакторе отчетов добавить второй источник данных (опять архив мастер-скада) и попытаться перетащить данные из первого источника во второй - в словаре полностью пропадает содержимое и не появляется до перезапуска мастера отчетов.
Испытываю проблему с построением графика внутри отчета. Добавляю источник данных (значение, в котором архивно записаны значения, их видно во вкладке данные), привязываю время начала и конца выборки, ставлю в свойствах словаря периодический опрос, запускаю мастер диаграмм. Тип диаграммы - линия, в качестве аргумента указываю параметр "время" из источника данных, в качестве значения нашу переменную из источника данных. В итоге у меня строится ровно одна точка, которая по времени лежит в конце выбранного временного интервала, а по значению равна максимуму из всех архивных значений переменной. Что я делаю неправильно? Видео еще раз пересмотрю ваши по отчетам, но вроде все так же делаю.
Добрый день. Не могу найти в MasterScada таймера наподобие TON, TOF, TP из Codesys. Существуют ли такие вообще? Есть задача организовать мигание ВБФ "Задвижка мнемоническая" в течение нескольких секунд по сигналам открытие и закрытие.
Все подобные ФБ находятся в разделе "Работа со временем".
Если вам нужно организовать мигание, то используйте ФБ "Пульсатор" из раздела "Генераторы значений".
Спасибо. Проблема еще в следующем. Вытащил на мнемосхему сообщение как зону выбора с фиксацией. Как сделать так чтобы при нажатии и отжатии на эту зону ФБ "Пульсатор" работал 2-3 секунды.
Что значит "нажатии и отжатии"? По щелчку запустить пульсатор на 2-3 секунды?
Или же нужна фиксация?
Неточно написал. Правильнее при нажатии(или по щелчку, что тоже самое), то есть по переднему или заднему фронту запускать пульсатор.
ФБ "Выдержка времени", ФБ "Пульсатор" и событие с логическим И.
Данные точно были, возможно я чего-то напутал со способом формирования. В любом случае я просто удалил отчет и создал с нуля, все появилось.
В целом сейчас решаю такую задачу, может подскажете чего: есть архивируемое мгновенное значение объёма в ёмкости, нужно высчитать расход за период. При это за этот же период ёмкость могут неоднократно дозаправлять. На данный момент я высчитываю мгновенный расход через дифференциал давления (приращение одна секунда). Хотел бы высчитывать дифференциал за бОльший период, но тогда он и будет считаться один раз за этот период, не вижу способа считать, скажем, каждую секунду дифференциал за последние десять секунд. Ставить 10 ФБ дифференциалов и запускать каждый следующий с задержкой в одну секунду - мракобесие.
Отрицательный дифференциал - мгновенный расход топлива, положительный дифференциал - заправка ёмкости, разношу в две разные переменные, отрицательный беру по модулю. Далее в отчете считаю интеграл расхода за период и в принципе получаю полный расход за период. Погрешность - 35 литров на 8 тонн. Правильно ли я в целом делаю, нет ли более простого способа/способа с меньшей погрешностью посчитать расход за период?
В принципе начало и конец каждой заправки у меня фиксируются в архивируемых переменных, так что можно расход за период посчитать как
(Vstart - Vi1) + (Vj1 - Vi2) + (Vj2 - Vi3) + ... + (Vjn - Vin+1) + (Vjn+1 - Vstop), где
Vstart - объём на момент старта выборки
Vjn - объём на момент завершения n-ной заправки
Vin+1 - объём на момент начала n+1-ой заправки
Vstop - объём на момент завершения выборки
При этом член (Vstart - Vi1) не существует, если Tstart приходится на период заправки и член (Vjn+1 - Vstop) не существует, если Tstop приходится на период заправки.
Для наглядности прикладываю картинку.
Вложение 29690
Я подозреваю, что логику подобной сложности можно реализовать в отчете, но не имею ни малейшего представления как это сделать. Это ведь не фильтрация по условию, буду благодарен, если подскажете, в какую сторону копать.
Штатными средствами редактора отчетов задачу точно решить не получится - нужно писать скрипты, находить метки времени когда начиналась заправка, когда заканчивалась и т.д.
Вам нужно найти почасовой расход или просто общий за период? Если общий, то можно обойтись без отчета и решить задачу просто скриптом.
Я уже нахожу штатными средствами самой мастерСкада метки времени начала и конца заправки. На конец каждой заправки у меня обновляются (перезаписываются) три переменные - время начала заправки, время конца заправки, объём заправки (то есть они сами принадлежат одной временной метке). Я вывожу отчетом построчно начало заправки/конец заправки/объем заправки на каждую заправку.
Мне нужно находить расход за произвольный период. Насколько я понимаю все необходимые данные уже есть (метки времени, архивы мгновенного объёма и мгновенного расхода) и редактор отчетов поддерживает скрипты на C#, осталось понять где вбивать указанные в предыдущем посте условия.
Скриптом вне отчета не хочу делать, потому что надо будет разбираться с работой с переменными временного формата и загрузкой/выгрузкой данных из архива, а хотелось бы пока обойтись малой кровью.
По дифференциалу я правильно понял, что нет возможности находить его каждую секунду за предыдущие n секунд? Скользящий дифференциал или что-нибудь вроде?
Я полностью сформулировал в предыдущем посте, но могу повторить:
(Vstart - Vi1) + (Vj1 - Vi2) + (Vj2 - Vi3) + ... + (Vjn - Vin+1) + (Vjn+1 - Vstop), где
Vstart - объём на момент старта выборки (имеется периодический архив #1 объемов, нужно взять первый объем в выборке + определить, находится он перед началом или концом заправки)
Vjn - объём на момент завершения n-ной заправки (имеется архив #2 объёмов на момент завершения заправок с временными отметками завершения заправок)
Vin+1 - объём на момент начала n+1-ой заправки (имеется архив #3 [#4] объёмов на момент начала заправок с временными метками на момент начала или завершения заправок [два архива, можно так или так записывать])
Vstop - объём на момент завершения выборки (имеется архив #1 объемов, нужно взять последний объем в выборке + определить, находится он перед началом или концом заправки)
При этом член (Vstart - Vi1) не существует, если Tstart приходится на период заправки и член (Vjn+1 - Vstop) не существует, если Tstop приходится на период заправки. (простое логическое условие)
Собственно не нужно за меня расписывать всю формулу внутри отчета, нужно только показать, где там такие вещи можно делать.
Стройте отчет по изменению, у которого параметр "Основной" будет включен только у колонки статуса залива жидкости (клапана). Когда значение колонки True - в этот момент началась заливка жидкость, когда False - закончилась.
Затем с помощью событий бэнда выполняйте обработку остальных колонок - значения уровня.
Чтобы обратится к предыдущему значению используйте функцию Previous из раздела PrintState. Пример оформления функции :
{Previous(ИсточникДанных1,"Время")}
ИсточникДанных1 - имя источника, "Время" - имя колонки.
Какой-то сбой в сервисе внешних связей. Версия Мастерскады: 3.8.0.57303 3.8(DemoReleaseMin)_17_02_14_15_04. При нажатии на установку галочки окно остается серым. При этом связи в дереве объектов появляются. Если щелкнуть в том же месте мышкой - связи убираются.
Вложение 29728
Вложение 29729