Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Базовые структуры взаимодействия универсальных модулей программного обеспечения
Взаимодействие МПО на линейном пункте можно разделить на следующие основные виды (рис. 4.5): - получение данных от датчиков и контроллеров (1); - передача всех данных в концентратор текущего состояния (2); - передача данных для технологической обработки (3); - передача данных для записи протоколов (4); - передача текущего состояния на верхние уровни (5); - трансляция (перекачивание) протоколов (6). Кроме того, возможны следующие виды взаимодействия: - передача данных для отображения (7); - получение запросов смены и получения значений технологических параметров (8); - получение информации о самодиагностике аппаратных средств и смежных систем от МПО получения данных (9).
Рис. 4.5 Структура взаимодействия МПО на линейном уровне
Применение принципов модульности программного обеспечения позволяет организовать работу представленных модулей в нескольких вариантах: 1. Передача данных в рамках одного процесса производится между двумя потоками, на которых выполняются модуль получения данных и концентратор (рис. 4.6). Передача данных в рамках одного процесса производится между двумя потоками, на которых выполняются модуль получения данных и концентратор. В обобщенном виде данные представляют собой набор байт, который передается некоторой подсистеме для разбора. Тем самым модуль получения данных реализует протокол получения данных и передачи их для разбора на потоке концентратора.
Рис. 4.6 Структура передачи данных в рамках одного процесса
2. При распределении модуля получения данных и концентратора по разным процессам применяется клиент-серверное соединение на основе QNet сети (рис. 4.7). Рис. 4.7 Клиент-серверное соединение на основе QNet сети
Здесь между клиентом и сервером (менеджером ресурса) применяется обмен по QNet для обеспечения надежной и быстрой передачи клиенту данных фиксированной длины. Клиент на стороне процесса с концентратором текущего состояния реализует тот же интерфейс и обеспечивает трансляцию данных в концентратор. Заметим, что концентратор не должен контролировать отсутствие данных от модуля получения данных. Считается, что все выдержки времени ведутся в модулях получения данных. 3. Передача данных для технологической обработки состояния подсистемы ввода выполняется специальным менеджером объектов (рис. 4.8). Здесь совмещение концентратора и модуля технологической обработки является самым распространенным вариантом передачи данных.
Рис. 4.8 Схема технологической обработки подсистемы ввода
4. При распределении модулей технологической обработки и концентратора применяется схема, представленная на рис. 4.9. Рис. 4.9 Схема распределения модулей технологической
Здесь для выполнения обработки без потерь информации обмен между процессами должен быть построен с помощью протокола передачи состояния иерархии элементов (в данном случае подсистемы ввода) в спорадическом режиме. На стороне технологической обработки концентратор должен обеспечить обработку спорадических данных с параллельным вызовом технологической обработки менеджером объектов. 5. Схемы передачи данных для записи протоколов предполагают два варианта. Запись протоколов может производиться любыми модулями программного обеспечения, но наиболее важными являются технологические протоколы, которые формируются МПО концентратора (динамический протокол подсистемы ввода, диагностический протокол работоспособности подсистемы ввода/вывода) и МПО технологической обработки данных (динамический протокол состояния объектов мониторинга, диагностический протокол работоспособности устройств ЖАТ, протоколы технологических задач). Работа с инструментами записи протоколов должна строиться по модульному принципу с использованием базовых интерфейсов и классов. При совмещении в одном процессе протокольной системы и модулей, выполняющих формирование протоколов, предлагается обобщенная схема, представленная на рис. 4.10. Рис. 4.10 Схема совмещения модулей формирования протоколов При отделении протокольной системы в дополнительный процесс на стороне клиента остается часть протокольной системы для организации трансляции данных для записи протоколов в другой процесс. Такая схема представлена на рис. 4.11. Рис. 4.11 Вариант отделения протокольной системы Такое построение позволяет гибко распределять между процессами функциональность по записи протоколов в файловую систему. 6. При передаче текущего состояния устройств ЖАТ на верхние уровни предусмотрены два варианта организации МПО. Поскольку на верхних уровнях могут применяться операционные системы Windows, то обмен осуществляется по TCP/IP. Возможны несколько вариантов организации обмена, связанные с распределением TCP/IP сервера и МПО концентратора текущего состояния или МПО технологической обработки. В первом варианте (рис. 4.12) сервер и концентратор находятся в одном процессе.
Рис. 4.12 Схема организации передачи данных на верхние уровни
Если TCP/IP сервер вынесен в отдельный процесс, то применяется схема, изображенная на рис. 4.13.
Рис. 4.13 Второй вариант схемы передачи данных
7. Взаимодействие модулей программного обеспечения по перекачиванию протоколов должно строиться на основе унифицированного сообщения. Для организации взаимодействия используется обобщенная схема, представленная на рис. 4.14.
Рис. 4.14 Организация взаимодействия МПО при перекачивании протоколов
8. При передаче данных для отображения на АРМах взаимодействие МПО отображения текущего состояния производится под ОС QNX. Здесь взаимодействие должно строиться по модульному принципу с использованием унифицированного сообщения и протокола передачи состояния иерархии элементов. При совмещении МПО отображения и МПО технологической обработки кроме элементов межпоточной синхронизации других специальных механизмов взаимодействия не используется (рис. 4.15).
Рис. 4.15 Структура взаимодействия МПО отображения текущего состояния
При отделении МПО отображения в дополнительный процесс (рекомендуемый вариант) применяется схема, представленная на рис. 4.16.
Рис. 4.16 Схема передачи данных для отображения состояния устройств
Здесь обмен строится на основе получения текущего состояния в режиме запрос-ответ. МПО отображения по заданному таймеру выполняет проверку правил отображения и при необходимости производит перерисовку изменившихся объектов. 9. Принципы взаимодействия модулей программного обеспечения по синхронизации и изменению значений технологических параметров предполагают их взаимодействие на основе унифицированного сообщения. Для построения цепочки пользователей технологических параметров используется маршрутизация с одним маршрутом в каждом узле (рис. 4.17).
Рис. 4.17 Схема взаимодействия МПО по синхронизации и изменению
10. Получение информации о самодиагностике аппаратных средств и смежных систем производится от модулей получения данных, которые реализуют уникальные протоколы обмена и имеют наиболее полную информацию о самодиагностике. Обмен должен производиться на основе универсального сообщения с применением принципов модульности. Формат данных и коды сообщений определяются для каждой системы в отдельности. Программное обеспечение, разработанное один раз, требует адаптации и отладки на каждом очередном объекте автоматизации. Для сокращения времени на выполнение этих операций требуется автоматизировать некоторые шаги проектирования и сделать программное обеспечение более гибким и простым при адаптации. Это возможно за счет структурированности исходных данных проектирования и модульности программного обеспечения. Излагаемый ниже раздел содержит описание вопросов достижения модульности программного обеспечения.
|