Универсальный АРМ 32 служит для быстрого создания семейства графических АРМ-ов на базе единой объектной технологии. Достаточно один раз описать поведение объекта в системе, связать его с графическим объектом в Constructor-е и для того чтобы в дальнейшем , например добавить в схему еще один датчик, достаточно добавить его в Constructor-е. При старте UniARM32 создаст новый объект и свяжет его с уже существующими. Программа поддерживает вложенность схем до 1000, масштабирование, векторную мультипликацию. Одна схема поддерживает до 16000 объектов.
Програмный комплекс состоит из двух программ :
1. Графический векторно-растровый редактор схем Constructor32.
2. Графический АРМ схем пользователя UniARM32.
Редактор схем Constructor32.
В данной программе из стандартных графических примитовов создаются элементы схем. После чего из этих графических элементов набираются схемы. Сложные графические элементы могут состоять не только из примитовов, но и из других сложных графических элементов. При этом отслеживается их динамическая отрисовка. Схемы поддерживают иерархии объектов. Иерархии поддерживаются как на уровне перемещения объектов (объекты привязанные к главному объекту будут перемещаться синхронно с ним при его перемещении в редакторе), так и на уровне набора схем (при нажатии специальным курсором на объект к которому привязана подсхема, будет вызвана на экран эта подсхема). Иерархии объектов позволяют работать с группами объектов в UniARM32. Т.к. програмно объекты хранятся в памяти также в виде древовидных структур (подчиненный объект имеет ссылку на головной), то используя програмные механизмы UniARM32, можно легко реализовать любую логику обработки данных и отображение их в нужном виде. Constructor32 совместим с другими графическими программами через импорт\экспорт в формате EMF,WMF,BMP,JPG. К редактору имеются наборы библиотек векторных картинок (20000 шт.)
АРМ схем пользователя UniARM32
В данной программе схемы созданные в Constructor32 связываются с базами данных или устройствами сопряжения с датчиками АСУ и отображаются в нужном виде для конечного пользователя. Программа UniARM32 имеет встроенное ядро для отображения и реализации взаимодействий между объектами. Программисту достаточно создать новый объект, как наследника (Class) базового объекта и переписать или добавить его свойства. Код типа данного объекта должен совпадать с типом объекта описанного в Constructor32. В свойствах базового объекта представлены например такие : инициализация, удаление, отображение, реакция на щелчек мыши, реакция на клавиатуру, обновление данных, запись данных, возвращение списка данных по запросу, события по таймеру, реакции на стандартные инструменты АРМ-а (масштабирование, переход на подсхему, получение данных, установка данных, переключение объекта в другое состояние) и др.
Встроенный механизм реализации сообщений между объектами схемы имеет простой, но эффективный интерфейс.
Например :
Enter(Direct,Key,Address,pField);
пошлет всем подобъектам команду с кодом Key;
направление в котором выполнится эта команда для иерархии подобъектов
определяется переменной Direct (OnlyInside,OnlySelf,InsideSelf,SelfInside,
TopInside,NearInside ..);
в переменной Address можно задать как конкретный номер объекта, так и
конкретный тип или признак "всем";
переменная pField имеет тип Variant и через нее можно как отправить, так
и получить любые наборы данных.
Таким образом иерархии объектов имеют не только графическое выражение, но и программное. Однажды описав на программном уровне объекты и их свойства, можно в далнейшем не переделывать программу при каждом изменении схемы. Достаточно добавлять или удалять графические объекты и схемы в редакторе Constructor32. При старте UniARM32, проверяется были ли изменены схемы и если да, то программа сама произведет все необходимые настройки в структуре иерархии объектов. Программа UniARM32 имеет MDI интерфейс и позволяет в рамках одного АРМ-а работать с несколькими окнами различных групп схем или обычных текстово-табличных данных.