Стартовая страница › Форумы › Понять, как работает ПО › Мнемосхемы › передача нескольких переменных через одну
- В этой теме 10 ответов, 3 участника, последнее обновление 2 месяца назад сделано
manjey73.
-
АвторЗаписи
-
17.06.2026 в 21:41 #43959
manjey73УчастникИмеем faceplate, внутри которого несколько переменных одного устройства.
Внутри фейсплейта они называются val1, val2, val3 и так далее.Как передать в сам фейсплейт Номер устройства и сказать через скрипт или как-то еще.
например теги у устройства такие: Устр1-Тег1, Устр1-Тег15, Устр1-Тег20
Что Устр1-Тег1 должен попаcть в val1, Устр1-Тег15 -> val2, Устр1-Тег20 -> val3
Думаю смысл понятен, у фесплейта Одна экспортируемая переменная для всех переменных устройства, внутри фейсплейта он забирает нужные для себя. В том числе и команды, то есть должен как-то понимать, что это только для отображения, а эта еще и для команды.
-
Тема изменена 2 месяца назад пользователем
Mikhail.
18.06.2026 в 18:38 #43971
MikhailМодераторКак передать в сам фейсплейт Номер устройства
Варианты:
1. У каждого компонента есть привязки к данным — это часть свойств компонента. Среди них есть номер устройства, если пользователь его задал. В скриптах есть доступ к свойствам компонента.
2. Через экспортируемое свойство.18.06.2026 в 19:28 #43972
manjey73УчастникЭкспортируемое свойство должно быть ОДНО — «Все данные устройства»
Скрипт должен сам выбирать нужное и распихивать по компонентам фейсплейта.
Это как-то возможно ?
19.06.2026 в 10:42 #43975
manjey73УчастникПример со счетчиками электроэнергии я приводил как-то. Но попробую другой пример.
Имеем Вент установку, два вентилятора, приточный и вытяжной. Фейсплейт у них ОДИН.
Устройство при этом будет ОДНО — Контроллер Вент установки.Нужно — в самом компоненте имеем экспортируемое свойство «Номер устройства»
Внутри компонента переменная для вентиляторов «Работа» (work), «Стоп» (stop), «Частота» (Freq), «Скорость» (speed), «Дифф датчик» в общем все, что потребуется.
В скобочка так скажем свойства или названия этих переменных, обзовите как хотите.При этом в устройстве коды тегов могут быть такого плана
«Частота П1»
«Частота В1»
«Скорость П1»
«Скорость В1»
А могут быть коды тегов на китайском, англиском, итальянском и т.д.Поставили на мнемосхему два фейсплейта, указали через экспортируемое свойство НОМЕР устройства (NN). И вот тут вопрос самой темы: — Как, где, каким образом, не ползая по куче свойств, не редактируя фейсплейт прописать для нужного скриптом или табличкой соответствий что
НОМЕР устройства и переменная должна пойти для одного фейсплейта туда?
NN.Частота П1 -> Freq
NN.Скорость П1 -> speed
А для другого фейсплейта аналогично, но другие перменные
NN.Частота В1 -> Freq
NN.Скорость В1 -> speedмне нужно минимум манипуляций, минимум экспортируемых переменных. А не создавать портянку экспортируемых свойств из 10-ка а часто и сотни экспортируемых свойств, а потом еще и связывать эту толпу с каналами.
Типа вот окошка для facplate по принципу как в Администраторе окно ввода Перечислений, или как у Быстрого шлюза, где мы прописываем соотношения каналов. Что-то в этом роде.
19.06.2026 в 16:02 #43985
MikhailМодераторПри редактировании фейсплейта раскройте свойство экспортируемого свойства. Там есть «Привязка по умолчанию». Возможно, она поможет сократить количество ручного труда при использовании фейсплейта.
Привязки по умолчанию создаются при добавлении фейсплейта на схему. Если он уже добавлен, привязки не изменятся при редактировании фейсплейта.
19.06.2026 в 16:13 #43990
manjey73УчастникТолько проблема, что коды тегов у устройств могут не совпадать, хотя оба устройства могут быть одного типа. Их могут поменять и т.д.
Тут иной подход нужен. Вопрос только какой? тут я точно не понимаю.
В идеале, даже поменяв коды тега, нужно, чтобы в редактирование faceplate даже не лазить. то есть возможность отредактировать «схему» привязки через установленное свойство прямо с мнемосхемы. То есть в Редакторе мнемосхемы, куда вставлен faceplate.И это точно, не по одному сигналу надо делать.
Если можно так выразиться, то на мнемосхеме имеем 5 одинаковых faceplate.
Выбрали 3 штуки, открыли какое-то окно — переписали привязки. Например они изначально хранятся в самом faceplate. Для 2-х других оставили привязки по умолчанию, то есть не меняли.-
Ответ изменён 2 месяца назад пользователем
manjey73.
22.06.2026 в 14:26 #43998
MikhailМодераторПривязки по умолчанию — это часть фейсплейта. А привязки (просто) — это часть компонента, экземпляра фейсплейта. Поэтому их можно будет отредактировать.
22.06.2026 в 14:29 #44000
manjey73Участникну так вот речь о том, чтобы редактировать их было можно не тыкаясь в каждое меню, а просто открыв некое окно для этого с табличкой соотношений внешняя — внутренняя переменная.
опять я так изъясняюсь, что непонятно?
Редактировать с полсотни переменных ползая туда-сюда откровенно выбивается из концепции самой Scada, хотя и в Админке хватает мартышкиного труда.22.06.2026 в 16:23 #44005Imya
УчастникВ том числе и команды, то есть должен как-то понимать, что это только для отображения, а эта еще и для команды.
Если я правильно понял о чём речь, то действительно очень удобно было бы иметь возможность работать с командами через привязку по коду тега — как через фейсплейт, так и без него
23.06.2026 в 08:39 #44007
manjey73Участникя не совсем об этом. Есть фейсплейт, условно с несколькими компонентами.
Есть экспортируемые свойства, созданные под разные компоненты.
Когда мы faceplate ставим на мнемосхему, надо создать привязки и тыкать их по одной.
Для копии этого фейсплейта надо опять перетыкать все переменные.1. Нет никакой фильтрации в списке свойств, и роешься среди системных, ищешь нужную.
2. В самом фейсплейт при создании нужен список Внешняя -> Внутренняя, например заточена по кодам тега ну скажем для счетчика Меркурий. Я ставлю копию такого фейсплейта на мнемосхему, но для счетчика Энергомера например, где коды тегов у устройства отличаются. Просто открываю эти свойства и там меняю коды ВХОДНЫХ тегов для связи, уже не роясь в дебрях всех переменных. Можно в фейсплейте оставить пустым этот список по входным тегам, а можно сделать под какой-то. + при необходимости добавлять связи, если делаем что-то дополнительно.Вообще словами это сложно описать, надо делать кучу скринов. Но на данный момент вообще нет никаких механизмов для быстроты и простоты. Сиди и тыкай мышкой, сигналов так 40-50.
23.06.2026 в 08:41 #44008
manjey73УчастникОсновная цель — Внутренние переменные НИКАК не пересекаются с именами тегов проекта.
Они вот просто есть и их нужно быстро связать в одном окошке, а не перебирая всю пачку…. -
Тема изменена 2 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.