PDA

Просмотр полной версии : При старте МастерСкада изменяется уставка



Евгений Пашигоров
27.04.2024, 16:00
Здравствуйте!
В контроллере имеется переменная-уставка (время работы).
В скаде на мнемосхеме она связана с полем ввода.
В работе все нормально. Меняешь уставку в поле ввода - меняется и в контроллере.
Даже можно перезапустить МастерСкада - все нормально, значение уставки сохраняется.
А вот при выключении-включении компьютера скада изменяет уставку на свое "любимое" значение.
Как побороть такое поведение?

SCADAMaster
27.04.2024, 16:09
Для решения данной задачи нужно использовать команду с обратной связью У*команды, на вкладке "Опрос выхода" есть поле "Обратная*связь" - перетащите в это поле ОРС переменную или выход ФБ "Повторитель" (что лучше), а выход команды заведите на вход ОРС переменной. В этом случае команда будет отображать значения приходящие по обратной связи, а вводимые оператором значения будут поступать на выход команды. Также на вкладке "Опрос" можно снять галочку "Не передавать данные обратной связи" в этом случае поступающие по обратной связи значения будут идти на выход команды.

Подробнее описано на нашем онлайн курсе (ссылка в подписи), раздел 2.5 шаг 6.

У команды нужно обязательно выключить восстановление при рестарте.

Евгений Пашигоров
27.04.2024, 16:49
Благодарю. Попробую.
А как объяснить, что на мнемосхеме есть еще 3 точно таких же поля ввода для уставок, но для них такого не происходит, все нормально. Никаких команд и обратных связей.

SCADAMaster
27.04.2024, 17:00
Поля ввода использовать не надо.
Используйте команду с обратной связью.

Евгений Пашигоров
27.04.2024, 19:23
Значит, объяснить это нельзя?

SCADAMaster
27.04.2024, 20:02
Использовать блок параметров без обратной связи в любом случае не верно - значение в контроллере может быть например изменено локально, и в контроле это не отобразится.

Евгений Пашигоров
13.06.2024, 13:58
Продолжу здесь, тема схожая.
Я сделал уставку в виде команды с обратной связью. Не получается сделать приращение уставки (на определенную величину) по кнопке на мнемосхеме. Как изменить команду по кнопке (или с выхода ФБ)? Обратная связь уже занята.

SCADAMaster
13.06.2024, 14:28
У команды типа Дискретный есть вкладка Действия - через него можно (действие присвоить).

Евгений Пашигоров
13.06.2024, 15:48
Получается. Но только с выходом блока "Расчет".
А если подставляю выход блока "Программа ST", то выход блока меняется, а изменяемая команда - нет.

SCADAMaster
13.06.2024, 17:23
Причем здесь Расчет и ST?
Если вы хотите менять добавлять значение к команду по кнопке, то используйте действия.

Евгений Пашигоров
14.06.2024, 08:05
Причем здесь Расчет и ST?
Если вы хотите менять добавлять значение к команду по кнопке, то используйте действия.
Я так и делаю. Но в действиях из подходящих есть только "присвоить". Вот я и присваиваю выход ФБ. Надо же еще вычисления куда-то засунуть?

SCADAMaster
14.06.2024, 09:32
Делаете два расчета, в одном значение команда +1, в другом -1. Делаете две команды, одна присваивает значение с одного расчета, другая с другого.

Евгений Пашигоров
14.06.2024, 10:33
Делаете два расчета,
Я же об этом и пишу. У меня сложный расчет. Поэтому пишу его не в ФБ расчет, а в ФБ программа ST.
Так почему-то ФБ расчет присваивает новое значение, а ФБ программа ST - нет.

SCADAMaster
14.06.2024, 11:31
Расчет ничего не должен присваивать. Вы с помощью действия присваиваете значение Выхода ФБ или Расчета вашей команде.

Евгений Пашигоров
14.06.2024, 12:45
Расчет ничего не должен присваивать. Вы с помощью действия присваиваете значение Выхода ФБ или Расчета вашей команде.
Ну хорошо. Не расчет, а действие присваивает выход ФБ расчет, а выход ФБ программа ST - не присваивает. Почему?

SCADAMaster
14.06.2024, 13:26
Пришлите ваш проект (Проект - Экспортировать), укажите путь к объекту где вы пытаетесь сделать присваивание.
Также приложите несколько скриншотов демонстрирующих проблему.

Евгений Пашигоров
14.06.2024, 13:57
Думаю, я понял, в чем проблема. В скрипте ST я использовал условие по нажатию кнопки приращения, в результате правильный выход ФБ появлялся только на один такт. А на выходе расчета оно висит постоянно.
Придется написать десяток расчетов вместо одного скрипта.