- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Объектная модель в MasterScada 4D
Модератор: Глоб.модераторы
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Объектная модель в MasterScada 4D
Добрый день.
Сформировал я наконец то для себя принципы построения объекта в MS4D в рамках об]ектного инструментария MS4D.
Сразу определимся с объектом (минимально) в MS4D. Объект это инкапсулированная сущность (т.е. библиотечный элемент), состоит из окон, параметров, процедур (методов) и других объектов. Теоретически доступ к объекту (точнее к его экземпляру) должен осуществлятся либо через атрибуты (объект.атрибут) либо через метод (объект.процедура(параметры)). Но тут вылазят 2 неприятных ограничения MS4D:
1) В экземпляре объекта MS4D параметры процедур становятся недоступными. Т.е. работа через методы (напрямую через параметры процедуры) невозможна.
2) Атрибуты окна, нельзя связывать с атрибутами в дереве объекта.
В результате, схема получается такая - создаются 3 реинкарнации атрибута:
a) Параметр окна, который связывается с атрибутами окна
b) Параметр процедуры, который связывается с параметрами окна.
с) параметр объекта, который связывается с параметрами процедуры.
Далее на основе библиотечного модуля, создается нужное количество экземпляров, и вот там уже параметры или теги проекта вяжутся с атрибутами экземпляра. Когда это все заработало, сильно удивился сам.
Сформировал я наконец то для себя принципы построения объекта в MS4D в рамках об]ектного инструментария MS4D.
Сразу определимся с объектом (минимально) в MS4D. Объект это инкапсулированная сущность (т.е. библиотечный элемент), состоит из окон, параметров, процедур (методов) и других объектов. Теоретически доступ к объекту (точнее к его экземпляру) должен осуществлятся либо через атрибуты (объект.атрибут) либо через метод (объект.процедура(параметры)). Но тут вылазят 2 неприятных ограничения MS4D:
1) В экземпляре объекта MS4D параметры процедур становятся недоступными. Т.е. работа через методы (напрямую через параметры процедуры) невозможна.
2) Атрибуты окна, нельзя связывать с атрибутами в дереве объекта.
В результате, схема получается такая - создаются 3 реинкарнации атрибута:
a) Параметр окна, который связывается с атрибутами окна
b) Параметр процедуры, который связывается с параметрами окна.
с) параметр объекта, который связывается с параметрами процедуры.
Далее на основе библиотечного модуля, создается нужное количество экземпляров, и вот там уже параметры или теги проекта вяжутся с атрибутами экземпляра. Когда это все заработало, сильно удивился сам.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Объектная модель в MasterScada 4D
Согласен, но ограничения по вызовам методов экземпляров объекта, характерны для всех SCADA. В основном, они работают со "свойствами" объекта. Свойства от параметров отличаются скрытыми методами доступа (при установке значения свойства - вызывается связанный метод, параметры устанавливаются напрямую, по ссылке). Это связано, как я понимаю, в основном, с экономией ресурсов.
Чистые методы, лучше не использовать в визуализации, а выделять их в отдельный объект.
Чистые методы, лучше не использовать в визуализации, а выделять их в отдельный объект.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Объектная модель в MasterScada 4D
Есть исключения. Например WinCC OA. Но теперь то я наверно точно ее не попробую. :)
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Объектная модель в MasterScada 4D
Почему? Сименс перестал принимать платежи в пиастрах?
Отправлено спустя 21 минуту 9 секунд:
Если Вы хотите сделать красиво с точки зрения OP - разделите на объекты "процесс" и "визуализация" (я с некоторых пор, стал делать объекты "упаковщики процесса", которые состояния и задания объектов упаковывают в стандартные типы данных, для того, что бы было легко переходить от одной топологии к другой).
Если хотите разделить ресурсы - разместите их на соответствующих платформах. Если не все платформы поддерживают такое размещение - проще и быстрее сэкономить на одной, при увеличении времени разработки на другой.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Объектная модель в MasterScada 4D
Да просто Сименс пока ничего не поставляет, мы с этим уже столкнулись.
Внутри объекта у меня есть процедуры которые занимаются, в том числе и упаковкой и распаковкой.
Дело в том, что я начинал с OpenScada - у которой довольно продвинутый инструментарий, с развитыми механизмами
для построение объектной модели. Поэтому, когда я столкнулся потом с WinCC и другими Скадами - было легкое неудобство.
Но если ты работаешь в этой сфере - будь готов работать с любыми инструментами, что конечно не отменяет их заточку под
твое понимание работы.
Внутри объекта у меня есть процедуры которые занимаются, в том числе и упаковкой и распаковкой.
Дело в том, что я начинал с OpenScada - у которой довольно продвинутый инструментарий, с развитыми механизмами
для построение объектной модели. Поэтому, когда я столкнулся потом с WinCC и другими Скадами - было легкое неудобство.
Но если ты работаешь в этой сфере - будь готов работать с любыми инструментами, что конечно не отменяет их заточку под
твое понимание работы.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Объектная модель в MasterScada 4D
Лучше эти процедуры вынести наружу. Они могут использоваться только с разделенной системой, нет смысла их использовать при обработке процесса и визуализации на одной системе (тут просто обмен структурами или указателями на структуры).
Полностью с Вами согласен.
В TIA 16 объектную прадигму допилили вполне прилично.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Объектная модель в MasterScada 4D
У меня только контроллер и сервер приложений, т.е. выносить некуда. И так все крутится на сервере приложений.
-
- эксперт
- Сообщения: 1735
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 78 раз
- Поблагодарили: 235 раз
Объектная модель в MasterScada 4D
Кстати, довольно интересное решение у Intouch в его System Platform. Там для системы состоящей из нескольких узлов, один узел объявляется репозиторием, и все обновления накатываются на него, а он потом распостраняет их по всем остальным узлам, но не огульно все - а то, на что они "подписаны". Т.е. узел имеет локальные копии того, с чем он работает и временное отключение сервера приложений, на его работу не влияет. Появилась сеть - синхронизировались. Правда администрирование все этого становится ужже не совсем тривиальной задачей.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 207 раз
Объектная модель в MasterScada 4D
У B&R в APROL похожая технология. Один из серверов выступает в качестве "сервера разработки". С него же и происходит обновление и панелей и SCADA и контроллеров. У меня не было настолько масштабных проектов, что бы APROL применить, но они давали свой сервер разработки на "пощупать" на пол-года. Это самая масштабная система, из того, что лично щупал.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.