Сохранение переменных

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Записи
  • #8744
    a93911
    Участник

    Здравствуйте. Появилась задача введения уставки аварийного значения некоторой величины.Нужна возможность менять данную уставку с веб страницы. Соответственно, 2 вопроса:

    1. как сделать ввод уставки;
    2. как сохранить уставку в память.

    В контроллере, подключенном к скада, нет возможности сохранения, поэтому возникла данная проблема

    #8747
    manjey73
    Участник

    Использовать входной канал ДорасчетныйТИ и формулы retain переменных для сохранения переменной при перезагрузке Scada.
    Так же придется использовать инициализацию в дополнительном дорасчетномТИ канале, чтобы заставить модуль автоматического управления отправить переменную в ПЛК.

    Вопрос: пока ПЛК подключен к питанию ему достаточно один раз записать переменную аварийного значения или надо постоянно посылать каждый цикл ?

    #8749
    Mikhail
    Модератор

    Значение входного канала сохраняется при перезапуске скады. Поэтому достаточно с помощью канала управления записывать уставку во входной канал с помощью формулы SetVal.

    #8754
    a93911
    Участник

    Не совсем поняли меня. В ПЛК я записать ничего не могу. Можно анализировать только входные каналы. Нужно в скада через веб меню изменять аварийную уставку. Причем уставка должна сохраняться при перезагрузке скада. При превышении уставки генерируется событие

    #8755
    manjey73
    Участник

    Тогда просто формулами сравнения с уставкой.
    Создаете канал ДорасчетныйТИ в котором вы укажете уставку. И сравнивать данный канал со входными каналами, которые опрашиваете из ПЛК

    #8757
    manjey73
    Участник

    В канале управления пишите формулу SetVal(N канала дорасчетныйТИ, Cmd) пример канал управления 5 — SetVal(451, Cmd)
    Во входном канале «N канала дорасчетныйТИ» пишите формулу Val(N канала дорасчетныйТИ) пример 451 — формула Val(451)
    Retain не нужен, это я по привычке из-за Raspberry, так как там текущие данные пишутся в виртуальную память.
    Во входном канале ТИ читаете из ПЛК значение, например канал 452

    Создаете канал дорасчтныйТИ например 453 для контроля и пишите формулу Val(452) > Val(451) ? 1 : 0

    То есть если значение из ПЛК больше вашей уставки то в канале будет 1, если меньше или равно то будет 0. Ну и на этот канал натравливаете Аварию

    #8758
    a93911
    Участник

    Командой SetVal(451, Cmd) устанавливаем значение дорасчетного канала. А при перезагрузке компьютера разве это не придется делать снова? Нужно сохранять это значение

    #8760
    manjey73
    Участник

    Нет, не нужно, при условии, что база данных текущих значений пишется на диск а не на виртуальную память.
    Применять Retain переменные необходимо при использовании виртуальной памяти для базы текущих значений и файлов логирования на Raspberry Pi или при использовании SSD диска и создании виртуального диска, чтобы не убить flash карту или SSD диск раньше времени.

    #8764
    a93911
    Участник

    Всем спасибо за помощь. Это именно то, что нужно.

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Для ответа в этой теме необходимо авторизоваться.