This is topic Последовательная отработка каналов CALL in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.
Канал класса Call_0, тип вызова (50) AsyncCollection. К аргументам этого канала (начиная с ARG_001) привязаны каналы Call_1-Call_4 типа OUTPUT, для которых заданы следующие параметры: 1) тип вызова (29) LocalStatistics; 2) глубина выборки – OFFSET. Вопросы следующие: 1) Как правильно передавать каналам Call_1-Call_4 в атрибут 1,А значение OFFSET (пробовала задавать значение OFFSET в поле «На старте» – не работает). Целое значение в канал AsyncCollection посылается с помощью программы через определенные промежутки времени. Пробовала в этой же программе передавать значение OFFSET в атрибут 2,In каналов Call_1-Call_4 – не работает. 2) период пересчета каналов Call_1-Call_4 должен быть одинаковый или с отставанием на один цикл?
Posted by Irina Gormakova (Участник № / Member № 2128) on :
Пожалуйта не игнорируйте вопросы. Очень хочется получить ответ.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Прошу прощения за длительную паузу. Готовимся к выпуску нового релиза. 1. Значение OFFSET задаётся непосредственно в атрибут аппаратное значение канала CALL. Аргумент (Out) должен быть привязан к аппаратному значению необходимого канала. 2. При такой схеме параметр AsyncCollection гарантирует последовательную отработку каналов CALL с типом OUTPUT.
Posted by Irina Gormakova (Участник № / Member № 2128) on :
Исправила все неточности в соответствии с вашими замечаниями. Но последовательная отработка каналов CALL с типом OUTPUT все равно не работает. В аппаратные значения каналов значение OFFSET поступает, а вот сам канал Call -AsyncCollection не выполняется. Не могли бы вы указать, что я делаю не так. Высылаю тестовый проект.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проект получили. Будем разбираться.
Posted by Irina Gormakova (Участник № / Member № 2128) on :
Спасибо за разъяснения. Но возникает следующий вопрос. Мне нужно получать 5-минутные усреднения и усреднения за час по 200 каналам. Предположим, для усреднения я буду использовать каналы Call с типом вызова LocalStatistics. Это дополнительно 400 каналов.Но проблема даже не в этом, а в том, как одновременно будут отрабатываться 200 каналов. Ведь вызов всех каналов LocalStatistics будет происходить в одно и тоже время из программы.Не будут ли некоторые каналы теряться или не отрабатываться?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Думаю, что в данной ситуации коллизии не минуимы. Задачу можно решить используя например каналы CALL с типом вызова RT_Statistics или Larc0(1).
Posted by Irina Gormakova (Участник № / Member № 2128) on :
Спасибо за ответ, но возникают новые вопросы. 1)Если использовать для усреднения канал CALL с типом вызова RT_Statistics, то а аргументах получаем статистическую обработку по текущим значениям в канале,а мне надо получать усреднения через каждые 5 минут. Еще и время усредненных значений фиксировать. Насколько я понимаю, для такого типа вызова нельзя сделать выборку значений каналов за предыдущие 5 минут. Или можно? Если можно, то как? 2)Что касается каналов CALL с типом вызова Larc0, то их работа вообще не понятна. В руководстве написано, что аргументы должны создаваться автоматически, но они почему-то не создаются. Хотя атрибут Параметр=5, аргументы никакие не созданы, в узле задан файл дампа. Даже, предположим, аргументы создадутся и в них будут записаны усредненные значения. Как мне потом эти усредненные значения вместе с временем сохранить в СПАДе?
Posted by Irina Gormakova (Участник № / Member № 2128) on :
Еще вопрос по поводу индивидуальных архивов. Все значения я получаю непосредственно от приборов по RS-485,нет никаких контроллеров. Правильно ли я поняла, что индивидуальные архивы относятся только к контроллерам и их нельзя организовать в узле? Или индивидуальный архив может быть создан для любого принимаемого канала?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Например, можно сбрасывать результат статистической обработки RT_Statistics раз в пять минут, а перед этим снимать усреднённые значения. 2. Попробую создать демо-проект для Larc. 3. Индивидуальный архив может быть создан для любого принимаемого канала.
Posted by Irina Gormakova (Участник № / Member № 2128) on :
Статистическую обработку получилось организовать с помощью RT_Statistics , но в архиве усредненных значений попадаются усредненные значения например в 16.37.01, т.е. не в целые минуты. Из-за этого эти значения не сбрасываются в архивную таблицу в документе. Периодичность появления таких значений в архиве неодинаковая. С чем это может быть связано и как с этим бороться? P.S. Когда ждать демо -проект для Larc?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Период архивации зависит от периода обработки соответствующего архивирующего канала и периода обработки базы каналов узла (задается в настройках узла). Чтобы получить архивацию строго с точностью до секунд, и тот, и другой параметр должны быть, по крайней мере, кратными секунде. Например, период пересчета базы каналов можно задать 20*0.05, а период обработки в архивирующем канале - 1 сек. С демо-проектом придется подождать.