Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство пользователя
×

5.1.3.1 Настройка архивации


Архивация переменной настраивается за 4 шага:
  • Для начала архивации переменной перейдите в редактор словаря и поставьте галочку у атрибута «Архивация». Без активации данного атрибута дальнейшая настройка архивации не имеет смысла.
  • Обязательно задайте в атрибуте «Количество записей» размер буфера архивации, то есть  максимальное количество сохраняемых в буфере значений. После полного заполнения буфера архивации, для архивации каждого нового значения переменной, из буфера удаляется самая старая запись.
  • Укажите в атрибуте «Фильтр по времени» минимальный период времени в секундах, в течение которого значение переменной не будет сохраняться в буфер архивации. Например, при заданном периоде в 10 секунд значение переменной будет сохраняться в буфер архивации не чаще, чем один раз в 10 секунд.
    Если по истечении заданного периода значение переменной изменено, оно сразу будет сохранено в архив, иначе сохранение произойдет только после изменения переменной. При нулевой фильтрации значение переменной сохраняется в архив при каждом изменении.
  • Если настраивается архивация целых или вещественных значений, может быть задан атрибут «Фильтр по значению», который позволяет не сохранять в буфер архивации незначительные изменения переменной. При нулевой фильтрации значение переменной архивируется при каждом изменении.
    Например, если последнее архивированное значение переменной X=5.505 и фильтр по значению 0.01, то значения в диапазоне 5.495 < X < 5.515 будут игнорироваться, а любое значение X<=5.495 или X>=5.515 будет архивировано.
Если в процессе выполнения технологического приложения текущее значение архивируемой переменной отличается от последнего сохраненного, то запускается последовательная проверка двух заданных условий архивации:
  • Если разность по модулю между текущим и последним сохраненным значением переменной больше фильтра по значению, то проверяется фильтр по времени, иначе изменения игнорируются.
  • Если с момента прошлого сохранения переменной истек период, заданный в фильтре по времени, то значение сохраняется в буфере архивации, иначе изменения игнорируются.
    Запись значений переменных в архив выполняется на границе циклов контроллера. Если переменная меняет свое значение несколько раз за цикл, и каждое значение должно быть записано в архив, необходимо использовать системный функциональный блок HDA_WRITE_VAR, его подробное описание в документе «Unimod PRO 2. Руководство по программированию».