Архив с записью данных по событию

Для данного урока напишем основную программу «main» на языке FBD и программу для архива «archive» на языке ST. В «main» добавим переменную value с типом данных «USINT». Сделаем value инкрементируемой. Тип данных «USINT» имеет диапазон от 0 до 255. Добавим булеву переменную trigger от значения которой будет зависеть запись данных в архив. Для примера, сделаем так, чтобы в архив записывались данные при value равной 60, либо 120, 180, 240. Реализация данного примера представлена ниже.

../_images/8.png

Программа «main»

Примечание

Для того чтобы добавить несколько входов в функциональный блок «OR», необходимо дважды щелкнуть по нему и выбрать количество входов.

../_images/g3.gif

В программе «archive» добавим переменные trigger, value, и регистр Arch_save_arc. Также создаем переменную value_arch, в которую будут записываться данные value при срабатывании trigger. Конечный результат программы показан на рисунке ниже:

../_images/9.png

Программа «archive»

Далее добавляем переменную value_arch в окно регистров архива. Тип данных указываем как «USINT».

../_images/9_1.png

Окно регистров архива

В ресурсах выставим настройки для каждой программы отдельно:

../_images/10.png

Ресурсы программ

В глобальных переменных необходимо добавить value и trigger. Для переменной value пропишем начальное значение 1, сделаем его «Retain», что означает сохранение значения при возможных перезагрузках или выключениях ПЛК.

../_images/11.png

Глобальные переменные программ

После загрузки проекта в ПЛК данные value будут записываться в архив при значениях 60, 120, 180 и 240.