Mimic — добавить faceplate на схему

Просмотр 15 сообщений - с 31 по 45 (из 58 всего)
  • Автор
    Записи
  • #41298
    Mikhail
    Модератор

    Что там за оборудование на фейсплейте, что оно должно вращаться?

    #41302
    manjey73
    Участник

    клапан с приводом, насос. Дополнительные символы (изображения) для показа состояния.
    Например ! в треугольнике (желтый, красный).
    Мало ли какие хотелки у заказчика. Плюс наработки от существующей scada и возможность перехода на нашу православную 🙂

    тут вопрос так стоит — нет поддержки того или другого, значит в топку. Такой вот подход, который я тоже поддерживаю часто. А выбирает всегда заказчик, как ни крути. Говорит хочу это и то, и все тут. Хоть кол на голове теши.

    Суть в том, что в шаблон собранно много чего, до и более 10-ка сигналов, и привязывать каждый раз все сигналы = трудозатраты. Нужно делать привязку всего 1-3 переменными. Все остальное делает шаблон (скрипты, программный код и т.д.) но код как например в Уровне, он не универсален, против шаблонирования и скриптов.

    Со скриптами только проблема, описывать каждый чих тоже не дело. Нужна какая-то часть предустановленных, готовых к бою 🙂

    • Ответ изменён 10 месяцев, 1 неделя назад пользователем manjey73.
    #41311
    a80808
    Участник

    А гифки не помогут? ))

    #41312
    manjey73
    Участник

    гифки или svg не помогут, ну сами подумайте, какие рисунки, если там 2 слова состояния — 32 бита и еще и разбиты по группам.
    Ну попробуйте привязать наборы каналов на десяток такого на одной мнемосхеме?

    трудозатраты дороже в разы…

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

    Без изображения не могу представить, что нужно. Пока что на форум под моим ником отвечает человек, не AI.

    #41324
    manjey73
    Участник

    Facepalete — мини мнемосхема в которой собрано много картинок.

    Задача — подать переменную word (битовая маска) и faceplate должен внутри себя управлять картинками. Разными, какой-то компонент это рисунок с коллекцией, плюс другие картинки которые надо показывать или нет.
    Есть второй word — назовем его «командой» — когда мы показали одну картинку, то нажатие на нее пойдет в команду определенным битом. Если на другую команду нажали, то сработает другой бит в команде.

    и так далее с вариациями.

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

    Значить, у компонента должно быть соответствующее свойство, к примеру, PictureMask. Оно должно быть привязано к каналу. PictureMask разбирается скриптом компонента, чтобы извлечь нужные биты и изменить отображение.

    Нажатие на картинку:
    — Может отправить команду на сервер, чтобы изменение обработать централизованно.
    — Может изменить то или иное свойство компонента без отправки на сервер, но при закрытии схемы изменение потеряется.

    На мой взгляд, было бы проще для каждой картинки сделать свой набор свойств, но это не обязательно.

    #41334
    manjey73
    Участник

    нееееет — речь не о картинке, а о экземпляре картинки, фейсплейта и так далее, где мы применили стиль.

    Стиль, и скрипт экземпляра должен быть изолирован от «свалки»

    Ну простая аналогия, вы программируете ПЛК, создали некий FBD (функциональный блок) надеюсь знаете чем функциональный блок отличается от функций, что под них резервируется память. В C# аналогично, есть класс и экземпляр класса, который мы объявили.

    Так вот Редактор и Плагин мнемосхемы (я сейчас не только о Mimic, а вообще о web) как раз и должен изолировать по тому же принципу каждый экземпляр на мнемосхеме. И делать их РАЗНЫМИ при одинаковых именах стилей, скриптах и т.д. в родительском faceplate-е

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

    • Ответ изменён 10 месяцев назад пользователем manjey73.
    #41342
    Mikhail
    Модератор

    раз применяя стиль, который прописан только в faceplate, он же применяется к простому тексту

    Это говорит о том, что CSS используется неправильно.

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

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

    CSS работает так как он работает, независимо от того, кто к чему привык.
    Мы можем разобрать на конкретном примере, как корректно написать стили. На данный момент не вижу даже скриншота, чтобы двигаться дальше.

    #41344
    manjey73
    Участник

    :), так вот задача же привести не людей к тому, как работает CSS, а наоборот CSS к тому, как привыкли люди

    https://ibb.co/YYYYk76
    Пример

    Ок, давайте на простом примере.
    1. я хочу сделать faceplate в ЕДИНСТВЕННОМ экземпляре в зависимостях (то есть один код в оригинале faceplate-а
    2. Установить его несколько раз на мнемосхеме. Ну предположим это однотипные счетчики
    3. Иметь возможность задать в «Компоненты — MyFaceplate» цвет фона, какие-то другие параметры, потому что faceplate делался например под светлую тему, а в конкретном проекте я буду делать на темной теме

    Теперь по скрину. I’m a faceplate — это заголовок к примеру.
    1. задать имя заголовка либо статически см. п.3 выше, либо привязать к каналу
    2. иметь возможность менять ему цвет, не меняя цвет остальных надписей, линий, и т.д. в этом faceplate и тем более не менять цвета в других экземплярах такого же фейсплейта и тем более на главной мнемосхеме.

    Самое главное — больше никогда не лезть в исходник фейсплейта. Сделал один раз и забыл.

    КАК ?
    Вроде простая задача как мне казалось, но не тут то было по ссылке

    #41345
    manjey73
    Участник

    Примером был выложенный вами faceplate в теме

    Пример faceplate

    И да, чем меньше мы при этом будем лазить в скриптах, тем лучше. Опять же, сделали один раз при создании faceplate и забыли, если не требуется модернизации, но тогда это уже будет либо улучшенная версия, либо вообще другой компонент.

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

    CSS:
    Для конкретной мнемосхемы нужно отредактировать свойство «Таблица стилей». В нём задать цвет фейсплейта для этой схемы:

    .my-faceplate {
      color: red;
    }

    Если один и тот же цвет нужно задать для множества CSS-классов, используйте переменные CSS.

    Чтобы менять свойства экземпляра фейсплейта, при разработке фейсплейта необходимо создать для него «Экспортируемые свойства». Примеры: SunComponent.fp, MyFaceplate.fp

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

    Свойство «CSS-класс» должно быть заполнено у фейсплейта, а не у схемы.

    #41367
    manjey73
    Участник
    .my-faceplate {
      color: red;
    }

    ну опять моя твоя не понимай 🙂

    ЭТО И ЗАДАНО в примере MyFaceplate, и именно в самом фейсплейте.

    КАК поменять цвет ОДНОМУ экземпляру фейсплейта, установленному на мнемосхеме, и мало того, как поменять только определенному элементу внутри фейсплейта — конкретно для надписи текста I’m a faceplate при помощи стилей ?

    у меня НЕСКОЛЬКО экземпляров одной зависимости faceplate на мнемосхеме, нужно менять статически (без привязки к каналам) те или иные элементы. Вот на примере MyFaceplate — КАК ?
    код faceplate должен быть один раз написан и больше не меняться.

    • Ответ изменён 10 месяцев назад пользователем manjey73.
Просмотр 15 сообщений - с 31 по 45 (из 58 всего)
  • Для ответа в этой теме необходимо авторизоваться.