Объектная модель, классы

<< Click to Display Table of Contents >>

Navigation:  Интерфейс редактора проекта > Операции в редакторе проекта > Скрипт C# >

Объектная модель, классы

В системе MasterSCADA 4D существует два уровня представления проекта:

Внутренняя объектная модель - это структура данных, применяемая внутри среды MasterSCADA 4D для хранения, отображения и обработки элементов. Она не предназначена для прямого использования в пользовательских скриптах или внешних приложениях и может изменяться между версиями. Типы, относящиеся к внутренней модели, отображаются в панели свойств элемента в категории Служебные. Они представляют собой классы, на которых построена работа среды разработки.

Внешняя объектная модель - предоставляет стабильный, документированный и безопасный интерфейс для программного взаимодействия с проектом. Внешняя объектная модель предоставляет доступ к элементам проекта через публичное API, абстрагируя разработчика от деталей внутренней реализации. При разработке скриптов необходимо использовать именно эту объектную модель.

Объектная модель включает в себя все элементы дерева проекта: узлы, переменные, группы, каналы, объекта, окна и другие элементы. Соотношение элементов MasterSCADA 4D и типов объектной модели приведено в соответствующем разделе.

Пример программного доступа к объектной модели приведён ниже:

var rootItemModel = this.RootItemModel;   //Переменная для обращения к дереву проекта (объектной модели)

Объектная модель организована в виде иерархической структуры, где каждый элемент является объектом определённого класса, унаследованного от единого базового класса Item. Абстрактный класс Item является корнем иерархии объектной модели и служит базовым типом для всех элементов проекта. Он реализует общие свойства и методы, характерные для любого элемента системы, обеспечивая единообразный интерфейс взаимодействия. Остальные свойства и методы элемента зависят от его типа.

UML-диаграмма классов представлена на рисунке ниже. Интерактивную версию схемы можно найти в web-справке.

UML Diagram