This is topic Call.Writer Принудительная запись в архив. in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/40/t/000115.html

Posted by Cutecat (Участник № / Member № 5807) on :
 
Здравствуйте. Подскажите, пожалуйста.
Накапливаю в контроллере массив значений с меткой времени и передаю построчно в Трейс Моуд (при обрыве связи).
Создала канал Call.Writer с параметром 3 (4 тоже пробовали), создала программу для передачи значений:

PROGRAM
VAR_INOUT CALL_15_ARG00 : DATE_AND_TIME; END_VAR
VAR_INOUT CALL_15_R : SINT; END_VAR
VAR_INPUT Дата_Время_Формат_R : UDINT; END_VAR
VAR_INPUT Буффер_пуст_R : INT; END_VAR
VAR_INPUT CALL_15_ARG01 : SINT; END_VAR

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 :
 
По результатам анализа уточненной задачи по почте переданы рекомендации по способу восстановления информации.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2