Судя по всему отсюда
Вид для печати
Судя по всему отсюда
Тогда не совсем понятно, где приоритет по подписи заголовка
В одном месте написано "Подробно"
В другом "Футировка"
Хотя это свойства открытия одного и тогоже окна объекта
Вложение 41420Вложение 41421Вложение 41422
Если открываете по кнопке (а вы открываете ей) то настройки берутся от этой кнопки.
Если у кнопки переопределены настройки - заданы собственные, то да.
Если все по умолчанию - то будут браться настройки окна.
Здравствуйте. Как убрать подчеркивание значения - "Признаки качества".
Вложение 41456
В версии 3.10 появилась такая вкладка:
У меня версия 3.9.0.3129 . Есть ещё способы убрать подчеркивание значения ?
Только обновиться до 3.10
Добрый день! Я уже спрашивал "Подскажите пожалуйста, как можно реализовать вывод списка существующих, сохраненных отчетов на мнемосхему? Может какой-то изменяющийся список с выборкой по датам?"
и вы давали в ответ "Скрипт возвращения выбранного сообщения"
Не могу разобраться, может есть вариант проще? Нельзя как-то привязать это дело к кнопке или добавить какой-то сторонний компонент?
Что вам в конечном счете нужно сделать? Опишите вашу задачу подробнее.
Вариантов вывести список сохраненных отчетов вагон. Можно свой ВФБ написать который будет сканировать определенную папку, можно взять ВФБ "Список строк" и на него выводить список файлов (скриптом писать в файл имена файлов), можно просто папку в Explorer через ФБ "Запуск процесса" открыть, можно скриптом из журнала как описывали.
Есть несколько разных отчетов регулярно сохраняющихся в разное время ежедневно. Нужно вывести на мнемосхему список со всеми этими существующими отчетами, с возможностью фильтрации по дате и желательно по объекту. Ну и соответственно чтобы можно было открывать эти отчеты из этого же списка.
В существующем варианте на АРМ RATE визуально выглядит так.
Вложение 41486
Вариант со скриптом и журналом проще всего. Средствами журнала можно и фильтрацию и выборку по дате сделать.
Когда сохраняете отчет, сформируйте также событие, а в текст сообщения добавьте путь к вашему отчету (для этого под полем текста сообщения есть табличка куда можно перетащить переменную).
Сообщение попадает в журнал.
С помощью скрипта, когда оператор выбирает нужно сообщение можно получить его атрибуты. Например текст:
allRecs[0].Message
Вот вам путь к вашему отчету.
Ну а дальше через ФБ "Запуск процесса" можно его открыть через PDF Reader.
Можно не только путь положить в текст сообщение, а вообще что угодно - например начало и конец, в скрипте их извлекаете (парсить на C# достаточно просто), и можете заново отчет построить.
Добрый день.
Необходимо формировать отчёт с несколькими промежутками времени.
Как это можно реализовать ?
Пример как должен выглядеть отчёт прикладываю.
Вложение 41501
И где тут несколько промежутков времени?
Больше похоже на обычный периодический отчет, только не вертикальный, а горизонтальный.
Пример в приложении.
Мне такая таблица к сожалению не подходит.
Необходимо формировать именно вертикальную таблицу, чтобы было 5 промежутков времени.
Объектов будет более 100 штук, смотреть горизонтальную таблицу будет не удобно.
Вложение 41527
А чем не подходит то?
5 промежутков времени - это определяется настройками источника. Если строите с шагом в сутки, то указываете начало и конец с разницей в 5 суток.
Затем в сам источник данных добавляете переменные которые будете размещать на бэнде, и их добавляете на бэнд как примере.
Добрый день.
Необходимо знать сколько дней в месяца работал объект.
Функция архива ArchMomentValue может работать с функцией времени DateTime () ? У меня они не работают.
Вложение 41674
Нужно использовать функцию AbsArchDiscreteCounterTime( )
Описание функции есть в справке.
Но с такими расчетами нужно быть аккуратнее - нельзя каждый цикл опроса пересчитывать пробег за месяц, вы положите систему.
Положите расчет в отдельный объект, в него на вкладке Опрос есть поле "Условие выполнения" - используйте его. Например выполняйте опрос по импульсу от кнопки - по команде оператора, или по расписанию раз в сутки и т.д.
Здравствуйте.
Modbus OPC universal modbus key 2500 build - 3.2.16 - в тег(String/ReadOnly) невозможно вписать строку длиной более 37 символов.
server.WriteTag("название_тега","более 37 символов",OPC_QUALITY_GOOD). на 38символе или виснет OPC или просто не прописывает тег!
В более новых OPC (*сравниваю с демо-версиями, с ограничением в 32тега - такого нет*)!
Есть способ лечить, данную проблему?
Если в более новых такого нет - то обновиться до более свежей версии.
Напишите на support(собка)insat.ru и укажите номер ключа
Необходимо знать сколько дней в месяце работал объект. Берётся определенный момент времени и проверяется объект - работает он или нет.
К примеру:
01.03.2019 объект работал - значит 1
02.03.2019 объект работал - значит 1
03.03.2019 объект не работал - значит 0
04.03.2019 объект не работал - значит 0
В сумме получается 2 дня объект работал.
Я использую формулу
ЕСЛИ( ArchMomentValue (Состояние_объекта, DateTime( ) -86400 , 2) = ИСТИНА, 1, 0)
Но она не работает должным образом.
Панда - было похожая задача, решил так!
тег расчёт - AbsArchDiscreteCounterTime( Состояние_объекта,время_начало,время_конец)!
Далее, создавал подпрограмму ST!!! где переводил секунды во время - получал простой_оборудование и время_работы в формате №ГГГГ-ММ-ДД ЧЧ:ММ:СС - эта беда архивировалась и формировалась в отчёт! - и время время выборки пользователь задавал сам!
Подскажите пожалуйста почему на выходе скрипта нет значения переменной
сам скрипт:
using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using FB;
using FB.FBAttributes;
using System.Linq;
[FBRetain]
public partial class ФБ : ScriptBase
{
float TmpMealLess39;
public override void Execute()
{
var item = (ITreePinHlp)HostFB.TreeItemHlp.Project.Item("Объе кт.Бункер.4_1л.FB.SetProteinR");
var ItemValue=(double?)(item.GetRTPin().ObjectValue);
MealLess39=ItemValue;
}
}
выход скрипта переменная MealLess39, скрипт компилировался без ошибок
Сделал как тут https://insat.ru/blog/fb-skript-c-i-...r-peremennykh/
Нужно вставлять переменные из других объектов в скрипт без объявления входов-выходов
Например если есть ошибка в коде (путь к переменной не найден). Это можно проверить открыв окно лога скады - правый нижний угол, красная кнопка.
Или значения у данной переменной нет.
Может какой-то сборки не хватает?
А переменная имеет тип вещественный двойной точности?
Может там целый или простой вещественный?
Тогда преобразование должно быть float?, а не double
Вы правы, заработало, очень благодарен
Перечислимый - это вообще целый int