This is topic Call.Writer Принудительная запись в архив. in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.
Здравствуйте. Подскажите, пожалуйста. Накапливаю в контроллере массив значений с меткой времени и передаю построчно в Трейс Моуд (при обрыве связи). Создала канал Call.Writer с параметром 3 (4 тоже пробовали), создала программу для передачи значений:
if Буффер_пуст_R==0 then CALL_15_R:=1; CALL_15_ARG01:=0; CALL_15_ARG00:=Дата_Время_Формат_R; end_if;
END_PROGRAM Вопрос 1: Что такое Аргумент 1 у канала Call.Writer и что туда надо передавать. Я так поняла, нужно только передавать номер СПАД архива (в реальное) и метку времени (в аргумент 0)? Вопрос 2: Приведенная программа не работает, при пересылке значений они записываются с текущей меткой времени, а в период, когда не было связи в контроллером (именно в этот период должны дозаписываться данные), на тренде отображается недостоверность канала.
Posted by ETM (Участник № / Member № 5807) on :
Можно ли вообще записать в СПАД данные за прошедшее время?
Posted by Nico (Участник № / Member № 5342) on :
1)если разность между Call.Writer.arg0 и 45 атрибутом канала с архивом=Call.Writer.R больше Call.Writer.arg1 то записать значение канала в архив с меткой времени=Call.Writer.arg0 2)можно и не одним способом
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. В режимах 3 и 4 с помощью канала WRITER осуществляется запись в выбранный архив ТЕКУЩИХ ЗНАЧЕНИЙ ВСЕХ КАНАЛОВ, для которых выполняется условие Writer.arg0 – <канал>.T > Writer.arg1.
2. Чтобы выдать рекомендации по записи в СПАД данных за прошедшее время, надо более точно представлять себе задачу. Обратитесь, пожалуйста, в службу техподдержки (hotline@adastra.ru) с более полным изложением задачи.
Posted by ETM (Участник № / Member № 5807) on :
Да, я поняла, однако 45 атрибут канала - это время его изменения. То есть, если при восстановлении связи я буду в канал последовательно передавать его старые значения, они никогда не запишутся со старой меткой времени, так как Call.Writer.arg0 - это время, например, за вчера, а <канал>.T - это сейчас(так как я сейчас передала его значение), и разность никогда не будет больше нуля.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Прошу Вас с уточненной задачей обратиться в службу техподдержки.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
По результатам анализа уточненной задачи по почте переданы рекомендации по способу восстановления информации.