"Постоянная" команда

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #8529
    scmember
    Участник

    Добрый день!

    Пытаемся использовать RapidSCADA в составе комплекса управления оборудованием. Для управления оборудованием используется ПЛК, в качестве GUI для отправки команд используется сторонняя программа.

    регистры ПЛК:
    DI_1 это регистр команды.
    DО_1 это регистр для мониторинга.

    В GUI оператор нажимает на кнопку. Надо чтобы на DI_1 появилась скажем цифра 2. Нажимает на другую кнопку — на DI_1 соотв должны появляться другие цифры. Для индикации обратной связи с ПЛК считывается регистр DО_1, и считанное значение выводится в GUI

    Реализовали модуль для связи rapid scada с GUI, завели тег КП для DО_1 и команду ТУ для DI_1. К сожалению, сейчас система работает примерно так — при нажатии кнопки в GUI соответствующая цифра успешно записывается в DI_1, но тут же сбрасывается снова на ноль (видимо при следующем обмене ПЛК и Коммуникатора)

    Вопрос — можно ли каким-то образом отправлять «постоянные» команды, чтобы при каждом обмене с ПЛК Коммуникатор писал в соотв регистр команд последнюю полученную команду?

    Заранее спасибо за ответ!

    #8530
    manjey73
    Участник

    Все логично, вы нажимаете кнопку, «регистр» меняет значение согласно нажатию. Отпустили кнопку, «регистр» обнулился. Scada честно читает ваш «регистр» и выводит значение.

    Вам надо фиксировать значение последней переменной, соответствующей нажатию кнопок ?

    Такие вещи должны делаться в ПЛК по большей части, или единственная возможность сейчас делать только на RapidScada ?

    • Этот ответ был изменен 6 лет, 2 месяца назад от manjey73.
    #8532
    scmember
    Участник

    Вам надо фиксировать значение последней переменной, соответствующей нажатию кнопок ?

    с точки зрения GUI — именно так. Если оператор GUI нажал на кнопку, которая отправляет ПЛК команду 2 — ПЛК будет выполнять эту команду, пока на его входе записана 2. Соотв от скады ожидаю, что она будет передавать на вход ПЛК эту команду, пока не придет новая

    Такие вещи должны делаться в ПЛК по большей части, или единственная возможность сейчас делать только на RapidScada ?

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

    #8533
    manjey73
    Участник

    Чтобы RapidScada отправляла команду в ПЛК (любой) нужен Модуль автоматического управления (можете поставить и взять демо ключ). И посмотреть что нынче может модуль, давно сам не смотрел.

    Без модуля команда будет отправлена 1 раз.

    Или я опять не понимаю, чего вы хотите добиться ? и где и что у вас обнуляется ?
    Можете накидать структурную схему ? я так понимаю в планах уйти от самописного GUI ?

    #8534
    scmember
    Участник

    Наоборот — необходимо интегрироваться в тот GUI.

    Ну вот есть некая программа, в ней две кнопки ВКЛ и ВЫКЛ. Оператор жмет ВКЛ, GUI генерирует сообщение, что надо включить устройство. Устройство должно включиться. Через какое то время оператор жмет ВЫКЛ, GUI генерирует сообщение, что надо выключить. Всего два сообщения

    Вот есть контроллер устройства, который включит его, если на вход ему записать скажем 1, и выключит, если записать 0.

    Сейчас получается так — при нажатии кнопки ВКЛ в GUI скада успешно записывает единицу на вход контроллера, но при последующих обменах ПЛК и Коммуникатора судя по всему, скада снова начинает писать на вход ноль. Устройство соотв, если и включается то на какието доли секунды…

    А хотелось бы так — при нажатии кнопки ВКЛ в GUI скада должна записать единицу на вход контроллера, и так ее и оставить, пока от GUI не придет новое значение. Или записывать это значение при каждом обмене, если она подругому не умеет.. главное не писать ноль

    Готов накидать схему, если нужно уточнить

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

    Нужно определиться с физическим уровнем. Нужно, чтобы Коммуникатор повторял команду с какой-то периодичностью?

    Обычно команда записывает значение в регистр ПЛК, и ПЛК сохраняет полученное значение. Что заставляет Ваш ПЛК переключиться обратно?

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

    скада снова начинает писать на вход ноль

    Без команды скада ничего сама писать не будет.

    #8540
    manjey73
    Участник

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

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