
- •Семестр 9 р1. Принципы построения пользовательского интерфейса в приложениях систем управления р1: Лекция №1. Обобщенная архитектура прикладной составляющей программного обеспечения систем управления
- •Жизненный цикл изделия и программные средства его поддержки
- •Обобщенная архитектура систем управления электроавтоматикой
- •Характеристики современного процесса разработки прикладной составляющей электроавтоматики
- •Вопросы:
- •Р1: Лекция №2. Базовые элементы платформы приложений су для построения интерфейса пользователя
- •Компоненты каркаса
- •Компоненты конфигурирования
- •Компоненты средств интерфейса пользователя
- •Конфигурирование компонентов в составе системы
- •Вопросы
- •Р1: Лекция №3. Принципы классификации прикладных компонентов систем управления
- •Виртуальная структура прикладной области
- •Матрица компонентов
- •Анализ и систематизация набора прикладных компонентов с применением матрицы
- •Определение минимально необходимого набора прикладных компонентов системы
- •Вопросы
- •Семестр 9 р2. Технологии .Net в разработке приложений систем управления р2: Лекция №4. Основные понятия платформы .Net
- •Строительные блоки .Net (clr, cts, cls)
- •Преимущества с#
- •Промежуточный язык msil
- •Работа с пространствами имен
- •Память в приложениях .Net
- •Проверка наличия утечек
- •Получение дополнительной информации о пространстве имен и типах сборки
- •Вопросы
- •Р2: Лекция №5. Принципы взаимодействия .Net с разработанным кодом
- •Преобразование исходных кодов в новый формат языков .Net
- •Использование двоичных компонентов для организации взаимодействия с компонентами .Net
- •Вопросы
- •Р2: Лекция №6. Инструментарий процесса разработки
- •P2: Лекция №6. Инструменты отладки приложений в .Net Framework 2.0 и выше Утилиты
- •Загрузка расширения отладки sos
- •Примеры:
- •Базовые различия
- •Сборка мусора в .Net Framework
- •Причины смешивания управляемого и неуправляемого кодов
- •Концепция CoDeSys
- •Окно приложения Сodesys:
- •P3. Лекция № 9. Возможности CoDeSys как открытой системы
- •Архитектура приложений современных систем управления
- •Выявление открытых интерфейсов среды
- •Встраивание сцены трёхмерного моделирования объекта управления
- •P3. Лекция № 10. Взаимодействие с аппаратными средствами платформы CoDeSys
- •Основные характеристики и назначение
- •Построения средств диагностики и управления устройствами электроавтоматики на базе opc технологии
- •Особенности механизмов работы opc серверов
- •Реализация интерфейсов opc в сервере
- •Реализация opc компонентов диагностики для контроллеров CoDeSys sp
- •Вопросы
- •Семестр 9 р4. Тестирование приложений систем управления через интерфейс оператора p4. Лекция № 11. Базовые понятия процесса тестирования
- •Жизненный цикл разработки программного обеспечения
- •Модели жизненного цикла
- •Каскадный жизненный цикл
- •Спиральный жизненный цикл
- •Экстремальное программирование
- •Тестирование, верификация и валидация - различия в понятиях
- •Задачи и цели процесса верификации
- •P4. Лекция № 12. Использование пакетов автоматизации тестирования
- •Методы проведения тестирования пользовательского интерфейса, повторяемость тестирования пользовательского интерфейса
- •1) Ручное тестирование
- •2) Сценарии на формальных языках
- •Тестирование удобства использования пользовательских интерфейсов.
- •Принцип использования коммерческих приложений для тестирования пользовательского интерфейса
- •Обзор Quickt Test. Основные понятия
- •Использование Actions, Iterations
- •Использование объекта DataTable и параметризация
- •Распознавание объектов в qtp и уникальность их свойств
- •P4. Лекция № 13 Модульное тестирование
- •Цели и задачи и модульного тестирования
- •Понятие модуля и его границ. Тестирование классов
- •Подходы к проектированию тестового окружения
- •P4. Лекция № 14. Возможности uiAutomation
- •Начальное представление
- •Представление элемента управления
- •Представление содержимого
- •Шаблоны элементов управления uia
Выявление открытых интерфейсов среды
На основе проведённого анализа единого исполняемого окружения CoDeSys, можно сделать вывод, что для реализуемых прикладных задач трёх мерного моделирования объекта управления и управления доступом пользователей необходима реализация компонентов в виде плагинов. Для этого следует выявить интерфейсы интеграции необходимые для реализации общих функций пользовательского интерфейса (окна инструментов, команды меню и панелей инструментов, строки состояния). Интерфейсы для использования функций системных компонентов и плагинов реализации прикладных задач были представлены ранее в анализе требований и программных интерфейсов разрабатываемых компонентов.
Ключевые интерфейсы интеграции, приведены в таблице (Таблица 1).
Таблица 1 Ключевые интерфейсы CoDeSys в реализации прикладных задач
Имя открытого типа |
Область имён |
Краткое описание |
IView |
_3S.CoDeSys. Core.Views |
Интерфейс для реализации оконного элемента управления (tool window) предоставляющего некоторую информацию и набор инструментов для пользователя в немодальной форме. |
дд |
_3S.CoDeSys. Core.Views |
Интерфейс для реализации фабрики оконного элемента управления инструментария. |
ICommand, IStandard Command, IToggle Command |
_3S.CoDeSys. Core.Commands |
Класс команды, которая отображаеется в интерфейсе пользователя (в меню, контекстном меню, на панели инструментов) должен реализовывать один из интерфейсов, унаследованных от ICommand. IStandardCommand – для реализации простой команды кнопки, выполняемой нажатием. IToggleCommand – для реализации команды переключателя, имеющего 2 состояния включен (элемент активен) и выключен (элемент не активен). |
ICommand Category |
_3S.CoDeSys. Core.Commands |
Категория для объединения команд в логические группы, например по работе с объектами, редактирование текста, работа с файлами и т.п. |
IEngine |
_3S.CoDeSys. Core |
Сервис главного ‘движка’ системы, организует доступ к системным сервисам и проектам системы. |
IObjectManager |
_3S.CoDeSys. Core.Objects |
Сервис менеджера объектов системы. Предоставляет функции для работы с объектами системы: чтение, запрос на изменение, получение информации об объекте и т.п. |
ICommand Manager |
_3S.CoDeSys. Core.Commands |
Сервис менеджера команд, предоставляет информацию об установленных командах в системе и их категориях. |
IObjectFactory Manager |
_3S.CoDeSys. Core.Objects |
Сервис менеджера фабрик объектов. Предоставляет фабрики для создания объектов. |
IProject |
_3S.CoDeSys. Core |
Интерфейс описывает проект системы. Ссылку на данный интерфейс получают c помощью интерфейса IEngine |
IMetaObject |
_3S.CoDeSys. Core.Objects |
Интерфейс описывает общую для всех объектов информацию: например Guid, Name, родительски дочерние отношения. Также, этот описательный объект содержит в себе копию объекта базы данных (IObject). Описательный объект может обладать правами чтения и записи для размещённого в нём объекта базы данных. |
Для реализации компонента системы CoDeSys в виде плагина необходимо выполнить ряд условий оформления сборки .NET:
-
Для проекта плагина установить следующие свойства:
-
Assembly Name = abcxyz.plugin – имя сборки плагина
-
Output Type = Class Library – тип сборки
-
Default Namespace = Company.Product.abcxyz – область имён по умолчанию
-
Post-build Event Command Line = install_dir\Common\IPMCLI.exe /i:"$(TargetPath)" – команда, выполняемая по завершению компиляции, для установки плагина в систему.
-
Установить ссылку на общую сборку каркаса (+Core);
-
Изменить файл информации о сборке (AssemblyInfo.cs) в соответствии со следующим содержанием:
using System.Reflection;
using System.Runtime.CompilerServices;
using _3S.CoDeSys.Core.Components;
[assembly: AssemblyTitle ("ваш заголовок")]
[assembly: AssemblyDescription("ваше описание")]
[assembly: AssemblyCompany("ваша компания")]
[assembly: AssemblyProduct("ваш продукт")]
[assembly: AssemblyCopyright("ваш право на собственность")]
[assembly: AssemblyVersion("a.b.c.d")]
[assembly: PlugInGuid("ваш_заново_созданный_guid)]
-
Далее реализуется необходимый код в проекте. Добавляются необходимые ссылки на интерфейсные и общие сборки системы.
-
Любой тип, который планируется для открытого использования, посредством его интерфейса, в едином исполняемом окружении системы CoDeSys, должен иметь атрибут TypeGuid, с наличием которого этот тип может быть однозначно определён. Исходный код для подобного типа выглядит следующим образом:
//Открытый класс или класс сериализуемый средствами CoDeSys
[TypeGuid("ваш_заново_созданный_guid")]
public class YourClass :ISomeInterface, ISomeOtherInterface
{......
}
-
После создания плагина и его установки он должен быть включен в один из профилей, для его загрузки в соответствующей конфигурации системы.