Просмотр полной версии : Несколько выходов привязать к одному тегу
Привет всем!
Задача: присвоить значение одному аналоговому тегу из разных компонентов:
1. Кнопкой установить в значение по умолчанию в режиме полуавтомата.
2. Выпадающим списком установить одно из разрешённых для оператора значений в режиме автомата.
3. Через поле ввода задать любое значение при пуско-наладке, калибровке, ППР.
4. Автоматически на фоне вычислить и присвоить значение в режиме обучения PLC.
5. Установить значение из внешних источников данных в одном очень специфическом режиме работы.
Независимо от состояния т.н. "выхода" других компонентов, изменение значения должно произойти от последнего активного компонента.
Кол-во и виды компонентов могут изменяться в процессе проектирования проекта SCADa.
Увы, кроме отдельного скрипта, я не смог увидеть решения (
Вопрос: как решается задание значения одному тегу от разных источников в MasterSCADa 3.12? И не обязательно аналоговому. Очень много задач потребуют установки значения из разных источников - это классика жанра...
Вы хотите странного.
Например, если есть список - то как быть с произвольным значением в поле ввода?
А так - почти все можно сделать без скрипта.
SCADAMaster
19.05.2024, 09:50
Вопрос: как решается задание значения одному тегу от разных источников в MasterSCADa 3.12?
2 варианта:
1. Действие у события или команды:
https://support.mps-soft.ru/MasterSCADAHelp/index.html?proekt_stranicy_svojstv_elementov_stran icy_svojstv_peremennih-vyhodov_sv_events_dejstvija.html
2. Скрипт (метод AddAssignValueTask):
https://support.mps-soft.ru/MasterSCADAHelp/index.html?sluzhebnie_skript_rukovodstvo_i_primery _obrashchenie_k_peremennym_proekta_zapis_znachenij _v_peremennye.html
Вы хотите странного.
Например, если есть список - то как быть с произвольным значением в поле ввода?
Непонятно, что тут странного. Это самая обычная задача (которая, в общем то никогда и не являлась какой - либо проблемой для нас. Мы даже не предполагали, что с этим могут быть проблемы...).
Выпадающие списки, например, активны только на определённых экранах, что позволяет ограничить выбор оператора только предустановленными значениями в определённом режиме работы.
Поле ввода необходимо при ПНР/ППР, когда ещё нет списков значений (либо требуется перенастройка и создание рецептуры) и наладчик производит подгонку параметров.
Кнопка необходима в режимах очистки/промывки линии для быстрого задания параметра.
На одном экране удобнее задать значение через таблицу, на другом экране поле ввода значения удобнее сделать через экземпляр шаблона. На третьем экране правильно будет использование выпадающего списка в экземпляре другого шаблона в процессе выполнения цикла. На четвёртом экране будет задаваться групповое значение множеству тегов через рецепт перед началом цикла процесса.
А так - почти все можно сделать без скрипта.
??? Это ответ?
2 варианта:
1. Действие у события или команды:
https://support.mps-soft.ru/MasterSCADAHelp/index.html?proekt_stranicy_svojstv_elementov_stran icy_svojstv_peremennih-vyhodov_sv_events_dejstvija.html
2. Скрипт (метод AddAssignValueTask):
https://support.mps-soft.ru/MasterSCADAHelp/index.html?sluzhebnie_skript_rukovodstvo_i_primery _obrashchenie_k_peremennym_proekta_zapis_znachenij _v_peremennye.html
Почитал хелпу.
1. С аналоговым - хорошо. Пока не ясно, как использовать действие для инверсии текущего значения тега типа bool. Надо подумать.
2. Так я и предполагал изначально.
Посмотрим, возможно скомбинирую действия компонентов со скриптом, возможно использую только скрипт или только действия.
Спасибо за ответ!
Спасибо за ссылку!
Непонятно, что тут странного. Это самая обычная задача (которая, в общем то никогда и не являлась какой - либо проблемой для нас. Мы даже не предполагали, что с этим могут быть проблемы...).
Выпадающие списки, например, активны только на определённых экранах, что позволяет ограничить выбор оператора только предустановленными значениями в определённом режиме работы.
Допустим, список из 1,5; 2,7; 3,1. А в поле произвольного ввода оператор задал 2,1. Что должно отображаться в поле списка?
??? Это ответ?
Это вопрос.
Допустим, список из 1,5; 2,7; 3,1. А в поле произвольного ввода оператор задал 2,1. Что должно отображаться в поле списка?
.
Ничего. Вообще ничего. Абсолютно.
Экран с выпадающим списком неактивен и не используется до тех пор, пока не завершится ПНР/ППР/калибровка, и не будет рецептуры.
Наладчик с определённым уровнем доступа, конечно, может случайно открыть экраны для оператора. Но в ComboBox он увидит лишь пустое поле, либо надпись об ошибке.
По завершению ПНР/ППР экраны с ComboBox, автоматически привязанными к рецептуре, будут доступны уже операторам.
Рецептурой я для упрощения называю группу предустановленных значений параметров. Это могут быть как параметры дозировки, так и координаты для робота.
И... В списке ComboBox совсем необязательно будут цифровые значения )
Выпадающий список может выглядеть так:
Смещение по Х, 1
Смещение по Х, 2
Смещение по Х, 3
или
Скорость 1
Скорость 2
Скорость 3
или
Доза 1
Доза 2
Доза 3
Я думаю, оператору быстрее и удобнее выбрать из списка ComboBox, чем помнить список значений и вводить, например "12345,12345" в InputBox... А наладчики пусть ручками вводят - их не жалко )))
Механизм "типизация".
Привязал к выходу и ОС командам на разных объектах, объявленных как разные типы, один и тот же тег OPC UA типа bool.
Привязал к выходу и ОС командам на разных объектах, объявленных как разные типы, один тег и тот же OPC UA типа real.
Проверил.
Теперь могу с экземпляров управлять одним тегом от разных кнопок/полей ввода.
Какая кнопка/поле ввода установила последнее значение - то значение и будет в PLC.
Я уже начал ловить дзен от типизации...
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot