Извините, смотрел коды ошибок функции ext...
Кстати про нее, она просто возвращает ошибку контрольной суммы.
В общем вы думаете что проблема в неисправности прибора?
Вид для печати
Неисправность или нет - уже вопрос к производителю прибора. Отвечает он верно, но почему такой короткий ответ - это нам неведомо.
Или в приборе что-то не так, или вы запрос не правильно формируете.
В документации написано вот так -- https://prnt.sc/mjvuwz
По этим данным я составляю такой запрос server.GetCurrentDeviceAddress(),65,0,1,1000 ,1
Беру часовой (0), считываю назад(1), страницу ставлю 1000, количество страниц 1
Просмотрите пожалуйста, верно ли я делаю?
Не нужно ли в 1 байте кроме направления указать еще и маску запроса (от какой теплосистемы)?
попробуйте
С1 - код ошибки.
Обращайтесь к производителю прибора.
Добрый день! Подскажите пожалуйста, как привязать к журналу возможность выборки конкретных дней элементом календарь и возможно ли сделать с выборкой до часов-минут?
Если разместить журнал на мнемосхеме, то можно управлять его разверткой через входы динамизации Дата с и Дата По
То есть это имеется ввиду?
Вложение 41186
Только так эта панель выглядит в режиме редактирования, а при выполнении так
Вложение 41187
Нажмите на круглую кнопку - и можно будет просматривать архив сообщений, а в том числе задавая начало и конец.
Если нужно делать это внешними средствами (через какие то внешние команды), то используются входы динамизации.
Подробнее про динамизацию.
Подскажите пожалуйста,
пытаюсь отследить статус окна, что оно открыто
Пользуюсь статьей https://masteropc.insat.ru/blog/fb-s...zhivaniya-otk/
Но что то идет не так
Вложение 41299
PHP код:
public override void Execute()
{
Объект1=Объект2=false; //сбрасываем все выходы
foreach (IDocumentHlp document in HostFB.TreeItemHlp.Project.Documents) //перебираем документы
{
IAttributeHlp attribute = document.Attribute;
if (attribute.Opened) //проверяем загружено ли окно
{
var mnemoInfo = attribute.CurrentCallInfo;
var callType = mnemoInfo.CurrentCallType;
//проверяем что окно открыто и оно имеет тип "документ"
if (attribute.DocumentInfo.Handle != 0 && callType == MasterSCADA.Interfaces.ECallType.ctDocument )
{
//взводим определенный выход в зависимости от имени объекта у которого открыто окно
if (attribute.TreeItem.Name=="Объект 1") Объект1=true;
if (attribute.TreeItem.Name=="Объект 2") Объект2=true;
}
}
}
}
Опрос у скрипта должен быть периодический
Спасибо, то что надо,
Теперь я могу сделать что бы сразу при переключении экранов сразу скрипт выполнялся, присутствует некоторая задержка - окно переключилось, скрипт еще не выполнился.
Менял цикл на "Собственный" 10 мс,
Менял условия выполнения по изменению входов,
но все равно есть задержка
Задержка будет равна общему циклу опроса объектов - порядка 1 секунды
У изображения это не выключить.
У обычной кнопки вызова есть настройка "Контекстное меню"
[QUOTE=VladGC;299296]Подскажите пожалуйста,
пытаюсь отследить статус окна, что оно открыто
Пользуюсь статьей https://masteropc.insat.ru/blog/fb-s...zhivaniya-otk/
Но что то идет не так
День добрый,
Также использую скрипт из статьи.
Компилируется без ошибок, но в РТ или отладке в Журнале появляется Ошибка "...Ссылка на объект не указывает на экземпляр объекта. : Неправильный указатель"
Не пойму что не так..?
Код:
blic override void Execute()
{
Паркинг=Этаж1=Этаж2=Этаж3=Этаж4=Этаж4=Этаж5=Этаж6= ТехЭтаж=false; //сбрасываем все выходы
ОВиК=ИТП=ГРЩ=false;
foreach (IDocumentHlp document in HostFB.TreeItemHlp.Project.Documents) //перебираем документы
{
IAttributeHlp attribute = document.Attribute;
if (attribute.Opened) //проверяем загружено ли окно
{
var mnemoInfo = attribute.CurrentCallInfo;
var callType = mnemoInfo.CurrentCallType;
//проверяем что окно открыто и оно имеет тип "документ"
if (attribute.DocumentInfo.Handle != 0 && callType == MasterSCADA.Interfaces.ECallType.ctNewWindow )
{
//взводим определенный выход в зависимости от имени объекта у которого открыто окно
if (attribute.TreeItem.Name=="Паркинг") Паркинг=true;
if (attribute.TreeItem.Name=="1 этаж") Этаж1=true;
if (attribute.TreeItem.Name=="2 этаж") Этаж2=true;
if (attribute.TreeItem.Name=="3 этаж") Этаж3=true;
if (attribute.TreeItem.Name=="4 этаж") Этаж4=true;
if (attribute.TreeItem.Name=="5 этаж") Этаж5=true;
if (attribute.TreeItem.Name=="6 этаж") Этаж6=true;
if (attribute.TreeItem.Name=="Технический") ТехЭтаж=true;
}
if (attribute.DocumentInfo.Handle != 0 && callType == MasterSCADA.Interfaces.ECallType.ctWindow )
{
//взводим определенный выход в зависимости от имени объекта у которого открыто окно
if (attribute.TreeItem.Name=="ОВиК") ОВиК=true;
if (attribute.TreeItem.Name=="ИТП") ИТП=true;
if (attribute.TreeItem.Name=="ГРЩ") ГРЩ=true;
}
}
}
}
}
Подцепитесь отладчиком посмотрите где падает:
https://masteropc.insat.ru/blog/fb-s...adka-skriptov/
Доброго времени суток можно ли интегрировать OPC-сервер TensoOpc в мастер скада ?
Как и любой другой ОРС сервер.
Документация
День добрый,
Ошибка вылезает на строке - var callType = mnemoInfo.CurrentCallType
Что где покрутить?
;Вложение 41351
Приложите ваш проект (Проект - Экспортировать)
Тестовый проект со скриптом
Мы проверили у нас все работает.
Проверьте на текущей Demo версии
На сервере или на клиенте? Какие действия при этом выполняются?
Не проявляется.
Добавьте просто такой код - это должно снять ошибку.
1. Обновил Демо версию (в тестовом проекте1 ошибка не проявилась) - в рабочем проекте ошибка лезет.
2. Добавил код - в основном проекте ошибка лезет (хотя при этом визуально все работает как надо).
3. Сделал Тест2 (у меня раньше было 2 таких скрипта в проекте объединил в 1).. долго кликал по кнопкам в итого ошибка вылезла (хотя реже чем в основном проекте). Закономерностей вызывающих ошибку не выявил... .(кроме разве кривых рук ;(
Скрин
Вложение 41362
+ экспорт Тест2
Подцепитесь отладчиком - где теперь падает?
В том же месте падать не должно, так как указанный код должен приводить к выходу из цикла
MS 4D.
Как можно изменить стандартное форматирование тегов? Вытаскиваю выход на мнемосхему и каждый раз приходится менять кучу свойств в ручную.
Добрый день!
Подскажите пожалуйста, как в заголовке окна ( изображение объекта или окно объекта ) выводить только имя объекта? постоянно вводить в настройках "Параметры открытия заголовка" не очень удобно.
И еще момент, как при дублировании сделать так что бы окно объекта подхватывало имя ? Иначе оно копирует имя из шаблона.
Почему при открытии окна объекта из контекстного меню в дереве объекта , имя заголовка берется из "Параметры открытия заголовка" , а если открывать из мнемосхемы, подцепляется заголовок из диалогового окна "Элементы" ?
Вложение 41407
Повторно приложение