Может быть Я что то не понимаю . Установил галочку "восстановление после старта " -- сообщение стало записываться в базу данных .
В этом же не может быть проблема.jpg
Может быть Я что то не понимаю . Установил галочку "восстановление после старта " -- сообщение стало записываться в базу данных .
В этом же не может быть проблема.jpg
Появляются в базе через какое то время?
Спасибо.
Запустил проект с чистой базой ( чистые ) . С квитировал в начале журнал чистый .
Через 15 минут появились сообщения в журнале 27 , начал проверять базу в базе 26 . Остановил проект .
Начал искать какое не записалось , нашёл . Начал сравнивать сообщения с другими , определил что отсутствует галочка "восстановление после рестарта " .
Установил галочку "восстановление после рестарта "
Запустил проект с базой 26 сообщений . С квитировал в начале журнал чистый .
Через 15 минут появились сообщения в журнале 27 , начал проверять базу в базе 27 . Остановил проект .
Так и определил что дело в этой галочке "восстановление после рестарта ". Если логически рассуждать
она не должна влиять Запись идет по изменению , может быть при пуске было 26 в журнале квитировал стало 0 сообщений
но затем появилось же 27 в журнале , а в базе 26 . Вот это меня и заставило Вам написать .
Приложите ваш проект (Проект - Экспортировать).
Спасибо.
Может зря беспокою . Запускаю проект появляются 26 событий и в журнале и в базе "TEST".
Квитирую событий нету в журнале . В базу тоже ничего не записывается.
Через 6 минут 27 событий и в базу тоже записывается 27 . Идет не согласование по времени что может быть ?????Со временем идет не соответствие.jpg
Играюсь с галочкой .играюсь с галочкой.jpg
В начале Я как понимаю они активны 26 , а потом они 27 пассивны . А где же 27 активных не могу понять ???????????????
Никакого рассогласования нет - значения в архив пишутся в формате UTC.
Зачем у вас вообще во всем проекте включено восстановление при рестарте? Выключите его. Задавайте его только у конкретных переменных, чье значение нужно сохранять (например какие то уставки, или параметры которые вводит оператор)
Спасибо.
То есть нужно держать в голове +3 часа. Но архив пишется из мастер скады , где можно реализовать реальное время.
Это не Я в этом виноват . Все это реализовано по умолчанию . Проект начинал 5 лет назад . Если бы сейчас начал . Может быть все было по другому.
Я конкретно у сообщений менял без восстановления . Но потом вернул обратно . Были замечания у диспетчеров . Выключили ПК включили все должно восстановиться.
Но вопрос сейчас не об этом . Начали работать с университетом . Они хотят анализировать базу и давать рекомендации .
Начал проверять и пришёл к выводу , что у них в настоящий момент ничего не получится .
Сообщение запишется только после того как у него будут все необходимые данные .
время начала время окончания .
Имею опыт работы с базой 1С где всегда фиксируется поступил товал зафиксировалось в базе товар и время поступления.
ушел товар зафиксировалось в базе время отгрузки .
Это как пример.
А у Нас пришло сообщение тишина ждет пока не уйдет сообщение , будут все необходимые данные -- после этого запись в базу.
Это не рекламация , это на мой взгляд как должна работать база по сообщениям .
Я как думал пришло сообщение запись по фронту - дата прихода ( без даты завершения и квитирования).
ушло сообщение запись по спаду - дата ухода записывается дата завершения
квитировал - записалась дата квитирования .
Последний раз редактировалось Алексеев; 29.06.2019 в 14:01.
В голове ничего держать не надо, на уровне ПО вы можете перевести время в локальное.
Это не так. Сообщение записывается сразу после появления. Затем в сообщение меняются поля - указываются время окончания и время квитирования.
В приложении пример. Сообщение было включено, не было выключено. Состояние полей InactiveTime и AckTime вы можете увидеть
Все - это что?
Конкретно за сообщения отвечает настройка (см. приложение).
Понятно что нужно восстанавливать параметры которые задавал оператор (но которые не храняться в контроллере). Но зачем сохранять значения текущих переменных, если после перезапуска они все равно изменяться?
Спасибо.
Подскажите, как отобразить имя экземпляра на мнемосхеме для MasterScada 3.10?
Название окон определяю через скрипт С#.
В журнале вижу ошибки на этот скрипт, хотя визуально скрипт работает корректно, названия отображаются. Ошибки такого плана:
Выполнение ... | Ссылка на объект не указывает на экземпляр объекта. : Неправильный указатель
Подскажите, что изменить в скрипте?
public override void Execute()
{
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.DocumentInfo.X==0) && (attribute.DocumentInfo.Y==45))
НазваниеМнемосхемыМон1=attribute.TreeItem.Name;
if ((attribute.DocumentInfo.X==1920) && (attribute.DocumentInfo.Y==45))
НазваниеМнемосхемыМон2=attribute.TreeItem.Name;
}
}
}
}