Реферат: Автоматизированное рабочее место регистрации и документирования комплекса средств автоматизации

Содержание

Реферат

Основная часть

Введение

1. Анализ концепции построения комплекса средствавтоматизации

1.1 Общая характеристика системуправления

1.2 Структурная схема комплекса средств автоматизации

1.3 Описание функционирования АСУ комплекса средствавтоматизации

1.4 Функциональное назначение АРМ РД

1.5 Требования, предъявляемые к АРМ РД

2. Обоснование выбора технических средств АРМ РД

2.1 Возможность функционировать в рамках автоматизированнойсистемы

2.2 Требования по обеспечению надежности

2.3 Требование круглосуточной работы

2.4 Работа в реальном масштабе времени

2.6 Хранение и обработка данных

2.7 Возможность выдачи информации на принтер и экранмонитора АРМ РД

3. Структура базы данных

3.1 Алгоритм обработки информации

3.1.1 Организация информационного обмена в системе

3.2 Обоснование необходимости организации базы данных

3.2.1 Понятие базы данных

3.2.2 Достоинства интеграции данных

3.2.3 Проблемы интеграции данных

3.2.4 Необходимость организации БД на АРМ РД

3.4 Выбор СУБД

3.4.1 Выделение СУБД — претендентов

4. Структура комплекса программАРМ РД

4.1 Обоснование структуры комплекса программ

4.1.1 ПО общесистемного назначения

4.1.2 ПО специального назначения

4.1.3 Требования, предъявляемые к специальному ПО АРМ РД

4.2 Программная реализация

4.3 Состав программ

4.4 Описание программ

4.5 Оценка результатов работы программ

Организационно-экономическая часть

Введение

1. Планирование разработки с использованием сетевогографика

2. Расчет стоимости разработки

2.1 Расчёт статьи “материалы, покупные изделия,полуфабрикаты"

2.2 Расчёт основной заработнойплаты по теме

2.3 Расчет дополнительной заработной платы

2.4 Расчёт отчислений на социальные нужды

2.5 Расчёт накладных расходов

2.6 Расчёт договорной цены

3. Экономическая эффективность разработки

4. Основные разделы хозяйственного договора

Заключение

Охрана труда и техника безопасности

Введение

1. Характеристика помещения и факторы, действующие наоператора в процессе его труда

2. Расчёт освещения рабочего места оператора

3. Расчёт информационной нагрузки

Выводы

Гражданская оборона

Введение

1. Теоретическая часть

1.1 Оценка воздействия ударной волны на объект

1.1.1 Характеристики ударной волны

1.1.2 Поражающие факторы ударной волны

1.2 Оценка пожарной обстановки

1.2.1 Влияние степени огнестойкости зданий и сооружений наразвитие пожарной обстановки

1.2.2 Влияние категорий пожароопасности производства наразвитие пожарной обстановки

1.2.3 Влияние расстояний между зданиями на распространениепожаров

1.2.4 Влияние погодных условий нараспространение пожаров

1.2.5 Оценка воздействия теплового импульса огненного шарана пожарную обстановку

1.2.6 Оценка воздействия вторичных поражающих факторов напожарную обстановку

1.2.7 Воздействие пожара на людей и элементы объекта

1.3 Оценка устойчивости элементов объекта

2. Расчетная часть

2.1 Исходные данные

2.2 Расчет

2.2.1 Оценка воздействия воздушной ударной волны наэлементы объекта

2.2.2 Оценка пожарной обстановки

3. Предложения по защите

3.1 Отнесение хранилища на безопасное расстояние от здания

3.2 Уменьшение массы хранимогопропана

3.3 Меры по предупреждению аварийной ситуации на хранилищепропана

3.4 Меры по защите административного здания

3.5 Меры по индивидуальной защите оператора

Эргономика

Введение

1. Теоретическая часть

1.1 Базовый подход к конструированию рабочего местаоператора

1.2 Понятие рабочего места и рабочейзоны оператора

1.3 Формирование типового состава рабочей зоны

1.3.1 Организация пространства рабочего места оператора

1.3.2 Условия, которым должна удовлетворять рабочая зона

2. Реализация эргономической оценкирабочего места оператора

2.1 Основные эргономические требования, предъявляемые кдисплею

2.2 Основные эргономические требования, предъявляемые кклавиатуре

2.3 Размещение кресла оператора в рабочей зоне

2.4 Размещение устройств документирования

2.5 Расположение рабочего места оператора в помещении

Заключение

Заключение

Организационно-экономическая часть

Бизнес-план разработки

Приложение 1

Список литературы


/>Реферат

Данная расчетно-пояснительная записка состоит из 5-тиосновных разделов, которые в общей сложности занимают 163 печатных листа. Всостав пяти основных разделов входят: специальная часть дипломного проекта,организационно-экономическая часть, разделы по охране труда и техникебезопасности, гражданской обороне и эргономике.

Текст расчетно-пояснительной записки сопровождаетсярисунками и таблицами. Расчетно-пояснительная записка содержит 30 рисунков, изних 7 рисунков формата А1 и 8 таблиц.

В дипломном проекте на тему: “Автоматизированное рабочееместо регистрации и документирования комплекса средств автоматизации" разработаныпрограммы обработки запросов для 3-х форм представления байтов состоянияустройств, входящих в комплекс средств автоматизации.

Программы осуществляют формирование и обработку запросов длякаждой из 3-х форм представления байтов состояния и выдачу результатов запросав файл. Программы работают совместно с ПО, осуществляющим выдачу результатовзапроса на экран монитора и принтер. Описание алгоритмов программ и самихпрограмм, а также оценка результатов работы программ приведены врасчетно-пояснительной записке. Программа написана на языке Borland C++,компиляция и отладка проведены в системе программирования С++.

Данная программа входит в состав программного комплекса,разрабатываемого научно-техническим отделом, в котором создавался дипломныйпроект.


/>Основная часть

 

Введение

Задача накопления, обработки и распространения (обмена) информациистояла перед человечеством на всех этапах его развития. В течение долгоговремени основными инструментами для ее решения были мозг, язык и слух человека.Первое кардинальное изменение произошло с приходом письменности, а затемизобретением книгопечатания. Поскольку в эпоху книгопечатания основнымносителем информации стала бумага, то технологию накопления и распространенияинформации естественно называть “бумажной информатикой".

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

Одним из первых примеров подобного системного применения ЭВМв мировой практике были так называемые административные системы обработкиданных: автоматизация банковских операций, бухгалтерского учета, резервированияи оформления билетов и т.п. Решающее значение для эффективности системподобного рода имеет то обстоятельство, что они опираются на автоматизированныеинформационные базы. Это означает, что в памяти ЭВМ постоянно сохраняетсяинформация, нужная для решения тех задач, на которые рассчитана система. Она исоставляет содержимое информационной базы соответствующей системы.

При решении очередной задачи система нуждается во вводетолько небольшой порции дополнительной информации, — остальное берется изинформационной базы. Каждая порция вновь вводимой информации изменяетинформационную базу системы. Эта база (информационная, или база данных) находится,таким образом, в состоянии непрерывного обновления, отражая все изменения,происходящие в реальном объекте, с которым имеет дело система.

Хранение информации в памяти ЭВМ придает этой информациипринципиально новое качество динамичности, т.е. способности к быстройперестройке и непосредственному ее использованию в решаемых на ЭВМ задачах. Устройстваавтоматической печати, которыми снабжены современные ЭВМ, позволяют в случаенеобходимости быстро представить любую выборку из этой информации в формепредставления на бумаге.

По мере своего дальнейшего развития административные системыобработки данных перерастают в автоматизированные системы управления (АСУ) соответствующимиобъектами, в которых, как правило, не ограничиваются одной ЭВМ, а в составедвух и более ЭВМ объединяют в вычислительный комплекс (ВК).

Автоматизированная система управления (АСУ) — эточеловекомашинная система, в которой с помощью технических средствобеспечивается сбор, накопление, обработка информации, формулированиеоптимальной стратегии управления определенными компонентами и выдачарезультатов человеку или группе людей, принимающих решение по управлению. Подоптимальной стратегией понимается стратегия, минимизирующая или максимизирующаянекоторые характеристики объекта.

С целью обеспечения возможности взаимодействия человека сЭВМ в интерактивном режиме появляется необходимость реализовать в рамках АСУтак называемое АРМ — автоматизированное рабочее место. АРМ представляет собойсовокупность программно-аппаратных средств, обеспечивающих взаимодействиечеловека с ЭВМ, т.е. такие функции как:

возможность ввода информации в ЭВМ;

возможность вывода информации из ЭВМ на экран монитора,принтер или другие устройства вывода (в настоящее время этот переченьдостаточно широк — графопостроители, и т.п.).

Так называемые интеллектуальные АРМ в свою очередь такжесодержат в своем составе ЭВМ, тем или иным способом подсоединенную кцентральной ЭВМ (ВК) АСУ. Устройства ввода также должны обеспечивать широкийспектр вводимой информации: текстовой, координатной, факсимильной и т.д. ПоэтомуАРМ оснащаются при необходимости универсальной или специальной клавиатурой,устройствами ввода координатной информации (типа мыши), различного родасканерами и т.д.

С целью повысить спектр форм представления информации,выводимой из ЭВМ, АРМ оснащается цветными мониторами, средствами создания иуправления звуковыми сигналами вплоть до возможности создания и воспроизведенияречевых сигналов.


/>1. Анализ концепциипостроения комплекса средств автоматизации

 

1.1 Общая характеристика систем управления

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

Все системы управления, с точки зрения логики ихфункционирования, решают три задачи:

Сбор информации об управляемом объекте;

Обработка информации;

Выдача управляющих воздействий в той или иной форме.

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

Различают два основных типа систем управления:

Системы управления технологическими процессами в широкомсмысле этого слова, предназначенные для непосредственного управленияпроизводственными процессами на физическом уровне процесса;

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

Главное отличие между ними заключается в характере объектауправления. В первом случае это всевозможные установки, приборы, станки ипрочее, во втором — прежде всего люди.

Другое отличие между указанными системами заключается вформе передачи информации. Если в системах управления технологическимипроцессами основной формой передачи информации являются различного родасигналы, то в системах организационного управления это документы. Четкуюграницу между двумя рассматриваемыми типами систем провести невозможно, чащевсего передача информации осуществляется как с помощью документов, так и спомощью сигналов.

Автоматизация систем управления осуществляется с помощьювычислительной техники. В зависимости от степени участия человека в управлении,системы управления можно классифицировать следующим образом:

Автоматические;

Полуавтоматические;

Автоматизированные.

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

Центральным ядром системы управления, с помощью которого осуществляетсяее автоматизация, является вычислительная машина. Возможны два способавзаимодействия между ЭВМ, объектом управления и органом управления.

В первом случае ЭВМ используется, как правило, для решенияотдельных периодически повторяющихся трудоемких задач. Сбор информации ведетсявручную, так же осуществляется и подготовка документов с управляющимивоздействиями. Подобная система может быть названа системой обработки данных. Обращениепользователей к системам обработки данных чаще всего приводит к обновлениюинформации; вывод информации может вовсе отсутствовать или представлять собойрезультат программной обработки хранимых сведений, а не сами сведения. Примеромсистемы обработки данных может быть система сберегательного банка города. Онасодержит сведения о вкладах жителей города, большинство обработок банковскойинформации предполагает обновление сумм вкладов, расчет процентов, подведениеитогов за некоторый период работы и т.п.

Во втором случае основная информация о состоянииуправляемого объекта собирается автоматически машиной (в общем случае — вычислительным центром). ЭВМ перерабатывает поступающую информацию и в том илиином виде готовит выходную документацию, после чего выносится решение овоздействии на объект. Автоматизированные системы управления классифицируюттакже в зависимости от вида выдаваемой ими выходной документации. Последняяможет быть представлена в виде:

Переработанной, упорядоченной совокупности сведений обуправляемом объекте. На основании их человек (или группа людей) принимаетрешение о характере воздействия на объект. Это свойственно системе обработкиданных, но не собственно автоматизированной системе.

Совокупности рекомендаций (вариантов решения) относительнохарактера воздействия на управляемый объект. Окончательное решение в данномслучае принимает человек. Такая реализация наиболее типична дляавтоматизированных систем управления.


/>1.2 Структурная схемакомплекса средств автоматизации

АСУ представляет собой комплекс средств автоматизации (КСА),выполняющий ряд функций по обработке информации.

Структурная схема КСА представлена на рис.1.

На структурной схеме обозначены следующие устройства (компонентыКСА):

ВК — вычислительный комплекс;

каналы связи, по которым поступает информация от внешнихисточников (в дальнейшем обозначаются — КС1, КС2, КС3);

АРМ1,…, АРМ6 — специализированные автоматизированные рабочиеместа с функциями, характерными для каждого из них, подсоединены к ВК по стыкуС1;

Ш1,…, Ш3 — специальные устройства;

ПУ-1,…, ПУ-3 — пульты управления;

И-ПП, И-ВП — шкафы первичного и вторичного электропитания.

Автоматизированное рабочее место регистрации идокументирования (АРМ РД) реализовано на базе двух персональных компьютеров (ПК1,ПК2) и подключены к ВК по стыку С2.

/>1.3 Описаниефункционирования АСУ комплекса средств автоматизации

Представленный в дипломном проекте КСА представляет собойавтоматизированную систему управления информационными процессами, предназначеннуюреализовать следующие функции:

прием и обработку информации, круглосуточно поступающей поКС в КСА от внешних источников;

формирование и передачу необходимой информации для выдачи поКС на внешние устройства;

обработку информации, круглосуточно поступающей от устройствсистемы, таких как АРМ1 … АРМ6, Ш1… Ш3, ПУ-1 … ПУ-3, И-ПП, И-ВП;

формирование и передачу необходимой информации устройствамсистемы.

Сбор и обработка информации — это целая серия заранеезапланированных действий и операций для получения информации или желаемыхрезультатов. Это комплекс взаимосвязанных процессов и методов, направленных навыполнение основной цели.

Основной задачей автоматизированной системы является вовсене уменьшение количества управленческого персонала (это задача вспомогательнаяи решается она не всегда). Основным достоинством подобной системы является то,что благодаря ей повышается качество функционирования управляемого объекта (примернона 15-25%).

Независимо от вида информации, которая должна бытьобработана, и типа оборудования, АСУ информационными процессами выполняетследующие основные операции:

прием исходной информации;

обработку информации;

получение и анализ результатов;

выдачу управляющих воздействий.

Сбор информации в АСУ производится автоматически — в ВКпередается информация от устройств системы и информация от внешних источников,поступающая по каналам связи КС1, КС2, КС3. ВК также передает информацию,предназначенную для устройств системы и внешних источников.

Процесс обработки поступающей информации выполняется в ВКавтоматически по заранее установленным, последовательно и логическиразработанным алгоритмам. В ВК также поступает управляющая информация соспециальных автоматизированных рабочих мест АРМ1…АРМ6. После обработки в ВКспециальными алгоритмами, она выдается внешним устройствам, или устройствам КСАсистемы.

Так как АСУ информационными процессами — эточеловекомашинная система, то для организации взаимодействия человек — КСАнеобходимо обеспечить возможность общения человека с системой. Для этого всоставе КСА предусмотрены автоматизированные рабочие места АРМ1-АРМ6, а такжеАРМ РД.

 

1.4 Функциональное назначение АРМ РД

Как было отмечено выше, с целью обеспечения возможностивзаимодействия человека с системой, с целью доступа к результатам регистрацииинформации, появляется необходимость реализовать в рамках АСУ АРМ РД,представляющее собой совокупность программно-аппаратных средств, обеспечивающихвзаимодействие человека с ЭВМ в интерактивном режиме.

Вся информация, циркулирующая в системе, в процессеуправления функционированием технических средств системы и получениярезультатов регистрации информации после обработки в ВК специальноразработанными алгоритмами в формализованном виде поступает в АРМ РД. АРМ РД, всвою очередь, реализует следующие функции:

прием данных, круглосуточно поступающих от ВК;

выдачу информации в ВК;

регистрацию поступившей информации в памяти ЭВМ;

документирование данных, размещенных в информационныхмассивах.

Регистрация — это сохранение в памяти ЭВМ информации,поступающей в систему или циркулирующей в системе в некоторых информационныхмассивах, организованных как базы данных. Также необходимо обеспечитьсохранение всей информации о техническом состоянии устройств, поступающей всистему или циркулирующей в системе.

Документирование — это по сути представление на экранемонитора или принтере выборки из этих информационных массивов (баз данных) взаданной, удобной для дальнейшего анализа, форме.

Хранение информации в памяти ЭВМ в виде информационныхмассивов и возможность представления выборок из этих информационных массивов наэкран монитора и принтер для обеспечения успешного взаимодействия человек-система- задачи регистрации и документирования информации, которые были поставленыперед создателями АРМ РД.

 

1.5 Требования, предъявляемые к АРМ РД

При выборе технических средств для реализации АРМ РД иразработке ПО, необходимо учесть требования, предъявляемые к АРМ РД:

возможность функционировать в рамках автоматизированнойсистемы;

круглосуточная работа;

работа в реальном масштабе времени;

обеспечение требований ко времени реакции системы;

регистрация всей информации, циркулирующей в системе;

хранение данных о состоянии устройств системы;

возможность выдачи информации на принтер и экран монитораАРМ РД в форме, обеспечивающей эффективную работу оператора АРМ РД;

обеспечение высокой надежности как технических средств, таки ПО АРМ РД;

обеспечение взаимодействия разрабатываемого ПО скомпонентами автоматизированной системы.

Представленные выше требования к АРМ РД могут бытьреализованы при помощи выбора технических средств и при помощи созданияпрограммного обеспечения, отвечающего требованиям АРМ РД.

Следовательно, для АСУ информационными процессами, с цельюавтоматизации сбора и обработки данных, необходимо спроектировать программноеобеспечение (ПО) АРМ РД, удовлетворяющее функциональному назначению АРМ РД ивыбрать технические средства, удовлетворяющие функциональным требованиям АРМ РД.


/>2. Обоснование выборатехнических средств АРМ РД

 

2.1 Возможность функционировать в рамкахавтоматизированной системы

Для реализации АРМ РД выбрана персональная ЭВМ IBM PC / AT,оборудованная двумя последовательными портами RS 232 (стык С2). При реализацииАРМ РД возможно было имеющимися у ПК средствами (два порта RS 232) подключитьсяпо стыку С2 к специализированному ВК, без доработок ПК. Для подключения ВК былразработан специальный адаптер. (см. рис.2).

/>

/>2.2 Требования пообеспечению надежности

Для повышения надежности АРМ РД реализовано на базе 2-х ПК врежиме параллельной работы. Надежность обеспечивается схемой подключения 2-х ПКк ВК, а также режимом параллельной работы, при котором на каждой из ПЭВМработает одна и та же программа, и поступает одна и та же информация из ВК.


/>2.3 Требованиекруглосуточной работы

Требование круглосуточной работы обеспечивается качествомвыполнения аппаратуры, — ЭВМ IBM PC / AT может круглосуточно работать снебольшими доработками конструктива. Прежде всего это касается соблюдения нормтеплового режима работы. Также предусмотрен дополнительный источникэлектропитания, автоматически включающийся в случае выхода из строя основнойсистемы питания.

 

2.4 Работа в реальном масштабе времени

Системы реального времени — это системы, в которых времяобработки запроса меньше допустимого промежутка времени, а превышение этогодопустимого промежутка приводит к сбою в работе системы.

Работа в системе реального времени обеспечивается:

быстродействием ПК (выбран процессор Intel 80386 снеобходимой тактовой частотой, равной 33 МГц),

пропускной способностью тракта передачи между ПК и ВК (скорость1200 бод),

наличием буфера для сообщений на входе и выходе ПК,

выдачей документов на печать в “фоновом” режиме, не снижаявозможностей по приему и обработке информации во избежание ее потери.

2.5 Обеспечение требований ковремени реакции системы

Эту характеристику можно улучшить использованием контроллерадисковой подсиситемы IDE, установкой прграммного КЭШа, или использованиемконтроллера диска с аппаратным КЭШем объемом 1Мб и выше.


/>2.6 Хранение иобработка данных

Для хранения данных, поступающих на АРМ РД, ПОобщесистемного назначения и ПО специального назначения необходим минимальныйразмер дисковой памяти 80 МБ, а также съёмные магнитные носители информации (дискеты)для организации архива данных.

 

2.7 Возможность выдачи информации на принтер иэкран монитора АРМ РД

Для обеспечения возможности отображения информации оба ПКдолжны быть укомплектованы цветными мониторами VGA и принтерами EPSON LX-100.


/>3. Структура базыданных

 

3.1 Алгоритм обработки информации3.1.1 Организация информационного обмена в системе

После того как требования к системе определены и в основномпредопределен процесс, начинается определение требований к входным данным,источникам данных и их формам. Не менее важным по своему значению являетсяопределение формы для выходной информации, которая в той или иной степенипредопределяет процесс, метод и требования к входным данным.

В АРМ РД для обмена информацией с ВК используется стандартныйинтерфейс RS232 (по стыку С2), согласно которому информация передается в видесообщений переменной длины (слов). Сообщение состоит из 2-х частей — служебнойи информационной. ПО АРМ РД использует только информационную часть, т.к ВКадресует сообщения только для АРМ РД. В дальнейшем будет применяться и другое,принятое для этой системы название сообщения, — кодограмма обмена, или простокодограмма.

Кодограммы, циркулирующие в системе, могут содержать в себеинформацию разного рода — это может быть распоряжение администратора,директора, т.е. управляющие воздействия, которые имеют место в АСУ. Кроме того,в систему приходят кодограммы из КС. Все кодограммы, циркулирующие в системе,имеют формат в рамках заранее оговоренного Протокола информационного обмена,который является одной из составляющих исходных данных на разработку системы.

С точки зрения дипломного проекта интерес представляюткодограммы, отражающие состояние устройств системы, или информациюфункционального контроля.

Функциональный контроль (ФК) — это контрольработоспособности устройств системы и обнаружение неисправностей, возникающих впроцессе работы. Можно сказать, что устройства, входящие в КСА, охваченыалгоритмом функционального контроля. Это означает, что в кодограммах обменаотдельные поля, биты или группы полей отражают текущее состояние устройства сразличной степенью детализации. Кодограмма формируется и передается на АРМ РДпри изменении состояния устройства в ту или иную сторону — было исправно, сталонеисправно, было неисправно — стало исправно, т.е. при любом изменении статусаустройства. Это изменение обнаруживается встроенными в устройствопрограммно-техническими средствами, которые и формируют кодограмму, поступающуюот устройства.

Кодограммы обмена содержат в себе информацию о состояниисистемы, например:

несанкционированный доступ (НСД) к устройствам системы;

несанкционированный доступ к оперативной памяти (НСД ОП);

навязывание ложной информации (НЛИ);

а также о состояниях технических устройств, таких как:

обмен информацией между устройствами системы;

сбой в работе устройств, КС, нарушение связи с устройством,и т.п.;

информации функционального контроля (ФК);

информации байтов состояния (БС) устройств.

По виду кодограммы обмена ПО АРМ РД определяет, откудапришла кодограмма.

Вид кодограмм обмена между ВК и АРМ РД представлен ниже.

Кодограммы обмена между ВК и АРМ РД.

Общий вид кодограммы регистрации №1 представлен на рис.3. Кодограммарегистрации состоит из 6-ти слов, каждое слово имеет размер в два байта.


№ слова

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

слово

Счетчик сбоев

(двоичный код)

Признак

Печати

Часы

(двоичный код)

1

слово

Минуты (двоичный код) Секунды (двоичный код)

2

слово

0-й байт кодограммы 1-й байт кодограммы

3

слово

2-й байт кодограммы 3-й байт кодограммы

4

слово

4-й байт кодограммы 5-й байт кодограммы

5

слово

6-й байт кодограммы 7-й байт кодограммы

Рис.3. Кодограмма регистрации №1.

Значение поля “Счетчик сбоев" (11-15 разряды нулевогослова) содержит следующую информацию: от неисправного устройства поступаюткодограммы в ВК по стыку С1. Пока устройство неисправно, кодограммы, содержащиеодну и ту же информацию, будут поступать в ВК. Поскольку информация вкодограмме не изменялась, то программы обработки информации (каждая для своегоустройства) обнаружив, что точно такая же кодограмма уже есть в очереди наобслуживание, делают всего навсего увеличение счетчика этих поступившиходинаковых кодограмм. Эти счетчики расположены в поле кодограммы с именем“счетчик сбоев". Поэтому, когда кодограмма будет взята на обслуживание извходной очереди, она может содержать в себе значение “счетчика сбоев" отличноеот 1. Значение этого счетчика, кроме того, дает возможность анализироватьстепень загрузки ВК и качество обслуживания в “пиковых” ситуациях, примаксимальной загрузке ВК.

Со 2-го по 5-е слово кодограммы регистрации №1 располагаетсяследующая информация:

информация обмена по КС1, КС2, КС3;

информация обмена между Ш1, Ш2, Ш3 и ВК;

сбойная информация обмена по КС1, КС2, КС3;

сбойная информация между Ш1, Ш2, Ш3 и ВК;

информация о НЛИ.

Поле “Признак печати” (5-9 разряды 1-го слова кодограммырегистрации №1) определяет, от какого устройства пришла информация.



№№ Разрядов

Значение поля “Признак печати” 9 8 7 6 5 Информация от КС1 1 Информация от КС2 1 Информация от КС3 1 1 Информация от Ш1 1 Информация от Ш2 1 1 Информация от Ш3 1 1 Сбой от КС1 1 1 1 Сбой от КС2 1 Сбой от КС3 1 1 Сбой от Ш1 1 1 Сбой от Ш2 1 1 1 Сбой от Ш3 1 1 Информация в КС1 1 1 1 Информация в КС2 1 1 1 Информация в КС3 1 1 1 1 Информация на Ш1 1 Информация на Ш2 1 1 Информация на Ш3 1 1 Информация НЛИ

Рис.4. Значение поля “Признак печати”


Общий вид кодограммы регистрации №2 представлен на рис.5.

№ слова 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

слово

Признак печати

Часы

(двоичный код)

1

слово

Минуты (двоичный код) Секунды (двоичный код)

2

слово

Позиционный № внешнего устройства

3

слово

Позицион. № внешнего устр-ва

4

слово

Код причины отсутствия связи по 3-му каналу Код типа печати по НСД и ФК

5

слово

Код причины отсутствия связи по 2-му каналу Код причины отсутствия связи по 1-му каналу

Рис.5. Кодограмма регистрации №2.

С помощью этой кодограммы осуществляется регистрация:

информации ФК (функционального контроля);

информации НСД;

информации НСД ОП;

информации БС (байтов состояния) устройств.

Значение поля “Признак печати” (5-9 разряды 1-го слова)

10011 — регистрация НСД,10101 — регистрация НСД ОП,

10100 — регистрация ФК,10110 — регистрация БС


Регистрация НСД (признак печати = 10011).

В младшем байте 4-го слова кодограммы при регистрации НСДзаписывается код типа печати, принимающий следующие значения (Рис.6):

№№ Разрядов Текст НСД N\P 7 6 5 4 3 2 1 1 1 НСД 2 1 НСД снято 3 1 1 НСД разрешено 4 1 Разрешение НСД снято 5 1 1 Разрешенное НСД 6 1 1 Разрешенное НСД снято

Рис.6. Значение поля “Код типа печати по НСД”

Во 2-ом слове и [0-7] разрядах 3-го слова передаетсяпозиционный код устройств, по которым поступило сообщение указанное “Кодом типапечати". Наличие “1” (“0”) в соответствующем разряде указывает, что поданному устройству поступило (не поступило) сообщение. Соответствие разрядовустройствам показано ниже (рис.7, рис.8).

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Рис.7. 2-е слово

0-Ш15-АРМ110-15-

1-Ш26-11-

2-7-АРМ212-АРМ5

3-8-АРМ313-АРМ6

4-Ш39-АРМ414-


Рис.8. 3-е слово




15

14 13 12 11 10 9 8 7 6 5 4 3 2 1

0-АРМ РД 12-И-ПП

1-АРМ РД 23-И-ВП

Регистрация результатов ФК (признак печати = 10100).

В 4-ом слове кодограммы при регистрации ФК записывается кодтипа печати, принимающий следующие значения (рис.9).

№№ Разрядов Текст ФК N\P 7 6 5 4 3 2 1 **1 1 Устройство неисправно по ФК **2 1 Неисправность по ФК снята **3 1 1 Блокировка по ФК **4 1 Блокировка по ФК снята --5 1 1 ФК КСА, неисправны Ш1, Ш2, Ш3 --6 1 1 ФК КСА, неисправны АРМ1,…АРМ6 --7 1 1 1 ФК КСА, неисправны АРМ-РД1, АРМ-РД2 --8 1 ФК КСА, неисправны ИП-П, ИВ-П --9 1 1 ФК КСА, неисправны ПУ1,…ПУ3 --10 № АБН 1 1 ФК с АБ № х нет связи --11 № АБН 1 1 1 ФК с АБ № х связь восстановлена --12 1 1 ФК, нет связи по КС1, КС2, КС3 --13 1 1 1 1 ФК, связь по КС1, КС2, КС3 восстан. --14 1 1 1 ФК, с ПУ1 нет связи --15 1 1 1 1 1 ФК, с ПУ1 связь восстановлена --16 1 1 1 1 ФК, с ПУ2 нет связи --17 1 1 1 1 1 ФК, с ПУ2 связь восстановлена --18 1 1 1 1 1 ФК, с ПУ3 нет связи --19 1 1 ФК, с ПУ3 связь восстановлена

Рис. 9. Значение поля “Код типа печати по ФК”


Сообщения с кодом типа печати, помеченные в этой таблицезначком “**", сопровождаются позиционным номером устройств во втором итретьем слове кодограммы.

Сообщения с кодом типа печати, помеченного в этой таблицезначком “--" не сопровождаются позиционным номером устройств во втором итретьем слове кодограммы. Второе и третье слова кодограммы №2 при поступленииинформации ФК предназначены для позиционного кода устройств. Допускается любоесочетание значений указанных разрядов в этих словах.

Устройства, по которым поступают перечисленные в коде типапечати сообщения, указываются “1” соответствующем разряде первого или второгослова. Соответствие разряда устройству показано ниже (рис.10,11). Разряды 15-8второго слова всегда содержат “0". Единица в соответствующем разрядесвидетельствует о наличии, а нуль — об отсутствии сообщений ФК по заданномуустройству.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Рис.10. 1-е слово

0-Ш15-АРМ110-ПУ315-КС3

1-Ш26-КС111-

2-ПУ17-АРМ212-АРМ5

3-ПУ28-АРМ313-АРМ6

4-Ш39-АРМ414-КС2

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Рис.11. 2-е слово

0-АРМ-РД12-ИП-П

1-АРМ-РД23-ИВ-П

 

Значение поля “Код причины отсутствия связи”

№ Разрядов

Причина отсутствия

связи с абонентом

Обозна

чение

7 6 5 4 3 2 1 1 Прием от АБН 3-х кодограмм подряд с признаком контроля К2 К2 1 Отсутствие информации от источника на входе ПУ1…ПУ3 более 12 сек. ВР 1 1 Прием от АБН 3-х кодограмм подряд с ВПС-1010 (не получен) НП 1 1

Отсутствие связи в тракте ИСТ — > КС1, КС2, КС3

(где ИСТ — ПУ1…ПУ3, АБН)

ПД 1 1 1

Отсутствие связи в тракте КС1, КС2, КС3 — > ИСТ

(где ИСТ — ПУ1…ПУ3, АБН)

ПМ

Рис.12. Значение поля “Код причины отсутствия связи”

Где К2 — признак контроля, ВР — время ожидания, ПД — трактпередачи, ПМ — тракт приема, НП — не получено сообщение.

Информация НСД ОП (признак печати = 10101).

№ слова 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 слово

№ устройства

(в двоичном коде)

Признак

Печати

Часы

(двоичный код)

1 слово Минуты (двоичный код) Секунды (двоичный код) 2 слово 3 слово 4 слово Адрес памяти 5 слово Содержимое памяти

Рис.13. Кодограмма  регистрации НСД ОП.


Поля кодограммы регистрации НСД ОП: Часы, Минуты, Секунды — время обращения к памяти, Адрес памяти — адрес слова ОЗУ. В слове 5 находитсянепосредственно содержимое памяти.

Регистрация БС устройств (признак печати = 10110).

БС передаются в последних 4-х словах кодограммы. Соответствующиеустройства занимают под БС от 1-го до 4-х слов кодограммы. Общий вид кодограммырегистрации БС устройств представлен на рис.14.

№ слова 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 слово

№ устройства

(в двоичном коде)

Признак

печати

Часы

(двоичный код)

1 слово Минуты (двоичный код) Секунды (двоичный код) 2 слово 1-й байт БС 0-й байт БС 3 слово 3-й байт БС 2-й байт БС 4 слово 5-й байт БС 4-й байт БС 5 слово 7-й байт БС 6-й байт БС

Рис.14. Кодограмма  регистрации БС.

Номера устройств при передаче БС кодируются следующимобразом (рис.15):

№№ Разрядов Устройства

Количество слов

в кодограмме

15 14 13 12 11 10 Ш1 1 1 ПУ1 1 1 АРМ1 1 1 1 АРМ2 1 1 АРМ3 4 1 1 АРМ4 3 1 1 КС1 4 1 1 1 Ш2 1 1 ПУ2 1 1 1 АРМ5 1 1 1 АРМ6 1 1 1 1 Ш3 1 1 1 КС2 4 1 1 1 - 3 1 1 1 КС3 4 1 1 1 1 ПУ3 1 1 АРМ-РД1 2 1 1 АРМ-РД2 2 1 1 ИП-П 2 1 1 1 ИВ-П 2

Рис.15.

Количество слов, отведенное под БС, указано в 3-й колонкетаблицы.

В зависимости от типа устройства, слова, занятые вкодограмме под БС, кодируются различным образом. В качестве примера рассмотримкодограммы регистрации БС для устройств, охваченных ФК. Так, кодограммырегистрации БС для ПУ1, ПУ2 и ПУ3 выглядят следующим образом (рис.16):

№ слова 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

 

0 слово

№ устройства

(в двоичном коде)

1 1 1

Часы

(двоичный код)

 

1 слово Минуты (двоичный код) Секунды (двоичный код)

 

2 слово 1 1 3 слово 4 слово 5 слово /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

Рис.16. Кодограмма регистрации БС для ПУ1, ПУ2, ПУ3.

№ устройства = 000001 для ПУ1,№ устройства = 001000 для ПУ2,№устройства = 001111 для ПУ3.

Наличие “0” или “1” в разрядах [0-5] 2-го слова кодограммысвидетельствует о наличии соответствующих признаков, смысловое содержаниекоторых следующее:

для ПУ1 [0,1] разряды 2-го слова

[0] р. “1” — ПУ1 заблокировано по ФК оператором;

[0] р. “0” — ПУ1 разблокировано по ФК оператором;

[1] р. “1” — ПУ1 неисправно;

[1] р. “0” — ПУ1 исправно.

для ПУ2 [2,3] разряды 2-го слова

[2] р. “1” — ПУ2 заблокировано по ФК оператором;

[2] р. “0” — ПУ2 разблокировано по ФК оператором;

[3] р. “1” — ПУ2 неисправно;

[3] р. “0” — ПУ2 исправно.

для ПУ3 [4,5] разряды 2-го слова

[4] р. “1” — ПУ3 заблокировано по ФК оператором;

[4] р. “0” — ПУ3 разблокировано по ФК оператором;

[5] р. “1” — ПУ3 неисправно;

[5] р. “0” — ПУ3 исправно.

Кодограмма регистрации БС для Ш1, Ш2, Ш3 выглядит следующимобразом:

№ слова 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

 

0 слово

№ устройства

(в двоичном коде)

1 1 1

Часы

(двоичный код)

 

1 слово Минуты (двоичный код) Секунды (двоичный код)

 

2 слово 1 3 слово 4 слово 5 слово /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

Рис.17. Кодограмма регистрации БС для Ш1, Ш2, Ш3.

№ устройства = 000000 для Ш1,№ устройства = 000111 для Ш2,№устройства = 001011 для Ш3.

Наличие “0” или “1” в разрядах [0-2] 2-го слова кодограммысвидетельствует о наличии соответствующих признаков, смысловое содержаниекоторых следующее:

для Ш1 [0] разряд 2-го слова

“1” — Ш1 неисправен;

“0” — Ш1 исправен.

для Ш2 [1] разряд 2-го слова

“1” — Ш2 неисправен;

“0” — Ш2 исправен.

для Ш3 [2] разряд 2-го слова

“1” — Ш3 неисправен;

“0” — Ш3 исправен.

 

3.2 Обоснование необходимости организации базыданных

 

3.2.1 Понятие базы данных

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

При переходе от автоматизации отдельных процессов предметнойобласти к созданию автоматизированных информационных систем требуется не тольковзаимоувязка приложений, но и качественно новый подход к организации данных. Этотподход состоит в использовании единого хранилища — базы данных. Отдельныепользователи перестают быть владельцами тех или иных данных. Все данныенакапливаются и хранятся централизованно. В памяти ЭВМ создается динамическиобновляемая модель предметной области.

Слова “динамически обновляемая" означают, чтосоответствие БД текущему состоянию предметной области обеспечивается непериодически (раз в месяц, неделю, день), а в режиме реального времени.

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

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

Современный подход требует, чтобы в программе были лишьперечислены необходимые для обработки данные и заданы требуемые форматы ихпредставления. При этом описание баз данных становится независимым от программпользователей и составляет самостоятельный объект хранения. Эти описания обычноназывают метаданными [5].

Важнейшим компонентом автоматизированной системы сбора,накопления и эффективного использования информации является система управлениябазами данных (СУБД). Программы составляющие СУБД включают ядро и сервисныесредства. Ядро — это набор программных модулей, необходимый и достаточный длясоздания и поддержания БД. Сервисные программы предоставляют пользователям ряддополнительных возможностей и услуг по обслуживанию систем баз данных. Языковыесредства служат для описания БД и используются для обработки данныхпользователями.

/>3.2.2 Достоинстваинтеграции данных

Отметим некоторые достоинства интеграции данных.

Во-первых, интеграция обеспечивает синхронное поддержаниеданных для всех приложений (файловые системы не обеспечивают такой поддержки).

Во-вторых, за счет специальной организации устраняетсявозможная в файловых системах избыточность данных (сведения об объекте БД недублируются). Как минимум это приводит к сокращению объемов памяти, необходимойдля хранения данных.

В-третьих, благодаря сокращению или устранению дублированияданных повышается уровень их достоверности; существенно проще и эффективнеестановятся процедуры обновления.

В-четвертых, развитие концепции БД представляет собой важныйшаг в направлении унификации средств организации данных, что позволяетразработчикам приложений не задумываться над вопросами представления данных всреде хранения. Соответствующие интерфейсы поддерживаются автоматически СУБД. Пользовательне знает, где и как хранятся данные, он лишь сообщает системе, с какими даннымижелает работать и в каком виде желает их получить.

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

Обычно выделяются два аспекта независимости приложений оторганизации данных: логическая и физическая независимость. Первая предполагаетвозможность “безболезненного” изменения параметров логической организации БД, авторая — изменения хранения данных в памяти ЭВМ.

 

3.2.3 Проблемы интеграции данных

С переходом к концепции БД, данные становятся неким общимресурсом, целостность которого необходимо защитить от разрушений при сбояхоборудования, при некорректных обновлениях, от НСД и т.п.

Защита данных от разрушения при сбое оборудования. Этот видзащиты часто называют обеспечением физической целостности данных. Физическаяцелостность обеспечивается средствами ведения системного журнального файла ивозможностью восстановления текущего состояния БД на основании копии ижурнального файла. В журнальном файле регистрируются все изменения в БД снекоторого периода времени. Копия БД должна быть выполнена на момент началаведения журнального файла.

Защита от некорректных обновлений. Она предупреждаетневерное использование данных (в первую очередь — обновления другимипользователями). Такая защита данных называется логической целостностью. Онаобеспечивается путем разработки механизмов управления доступом пользователей кданным. Это программные “фильтры", когда пользователь имеет возможностьобрабатывать лишь некоторое подмножество данных. Во-вторых, система выдаетпользователю для обработки не всю запись целиком, а лишь часть ее данных. Приэтом в прикладной программе описываются только эти данные. В-третьих, при описанииданных некоторые СУБД позволяют задавать области допустимых значений. Тогдасистема автоматически проверяет новое значение на допустимость и отвергаетнекорректные.

Защита данных от НСД. Она предполагает введение средств,препятствующих извлечению и обновлению данных некоторыми пользователями. Основноесредство обеспечения этой разновидности защиты данных состоит в том, чтопользователю предоставляется доступ не ко всей БД, а лишь к некоторой,определенной администратором БД, части данных. При этом обращение к любымдругим данным для означенного пользователя становится невозможным.

 

3.2.4 Необходимость организации БД на АРМ РД

Непосредственное функциональное назначение АРМ РД — регистрация и документирование информации, поступающей из ВК. АРМ РД в режимереального времени выполняет следующие функции:

прием данных, круглосуточно поступающих от ВК;

выдачу информации в ВК;

регистрацию поступивших данных в памяти ЭВМ;

документирование данных, размещенных в информационныхмассивах.

Согласно с функциональным назначением, проектирование БД наАРМ РД должно решить следующие задачи:

создать “динамическую" модель предметной областисистемы (в которой соответствие БД текущему состоянию предметной областиобеспечивается не периодически, а в режиме реального времени);

обеспечить эффективность функционирования, т.е. обеспечитьтребования ко времени реакции системы на запросы и обновления БД;

обеспечить централизованное хранение данных в памяти ЭВМ;

обеспечить выборку из информационных массивов данныхсогласно заданным критериям;

обеспечить удобство эксплуатации информационной системы;

обеспечить защиту данных от некорректных обновлений, отразрушений при сбоях оборудования и от несанкционированного доступа.

Эти задачи можно осуществить при помощи создания единогохранилища — базы данных и использования средств СУБД.


3.3 Логическая организация базы данных

Для реализации логической организации БД необходимоопределить, что является объектом предметной области информационной системы. Какуже было отмечено выше (п.3.1 1), любое сообщение в системе, или кодограмма,имеет формат в рамках заранее оговоренного Протокола информационного обмена. Разрядыкодограмм регистрации содержат ряд характеристик, определяемых типомпоступающей по устройству информации:

информации обмена по КС;

информации обмена между Ш1, Ш2, Ш3, и ВК;

сбойной информации обмена по КС;

сбойной информации между Ш1, Ш2, Ш3 и ВК;

информации о НЛИ;

информации ФК;

информации НСД;

информации НСД ОП;

информации о БС устройств.

В зависимости от типа передаваемого по устройству сообщения,содержимое разрядов кодограмм различно, а, следовательно, различны и атрибутыобъектов информационной системы. Если рассматривать информационную систему в частиотображения информационного и технического состояния устройств (ФК), тообъектом предметной области является информация о состоянии устройств.

В общем случае объектом предметной области является,например, распоряжение администратора, директора, т.е. те управляющиевоздействия, которые циркулируют в АСУ в процессе ее функционирования. Преждечем говорить о формировании отношений, необходимо привести перечень атрибутов,выявляющих сущность объектов, которые затем формируются в отношения:

Дата отправки кодограммы;

Время отправки кодограммы;

Направление (от ПУ1, информация в КС3 и т.п.);

Режим работы;

Источник (откуда пришла кодограмма);

Вид сообщения (БС, НСД, и т.п.);

Количество сбойных кодограмм;

Содержание сбойных кодограмм;

Тип устройства, от которого пришла кодограмма;

Признак (сообщения от нескольких устройств приходят в однойкодограмме);

Значение контрольной суммы при пуске ВК;

Значение периодически вычисляемой контрольной суммы;

Текст сообщения, содержащегося в кодограмме.

После составления перечня атрибутов, очередная задачасостоит в определении набора отношений и составлении логической структуры БД. Логическаяструктура базы данных представлена на рис.18 и состоит из набора отношений,представленных в третьей нормальной форме.

Отношение 1: “Вся информация”. Ключевыми доменами являютсяпервые два поля: “Дата", “Время".

Отношение 2: “Оперативная информация". Ключевымидоменами в данном отношении являются “Дата", “Время", “Направление",“Режим работы", “Источник", “Вид сообщения".

Отношение 3: “Информация Ш" Ключевыми доменами являются“Дата", “Время", “Направление", “Режим работы".

Отношение 4: “Сбойные кодограммы". Ключевыми доменамиявляются: “Дата", “Время", “Направление", “Количество”, “Видсообщения", “Слово1", “Слово2", “Слово3", “Слово4”.

Отношение 5: “Функциональный контроль". Ключевымидоменами являются: “Дата", “Время", “Тип", “Признак”, “Видсообщения”.

Отношение 6: “Связь с ВК". Ключевыми доменами являются“Дата", “Время".

Отношение 7: “Текущая контрольная сумма". Ключевымидоменами являются:

“Дата", “Время".

Отношение 8: “Контрольная сумма при пуске ВК". Ключевымидоменами являются: “Дата", “Время".

При формировании отношений были поставлены следующие цели: осуществитьгруппировку записей в такие структуры, которые достаточно малы по размеру ипоэтому управляемы. При этом данные могут дублироваться, например, отношение ФКможет включать в себя информацию о связи с ВК. Однако созданием отношения“Связь с ВК” мы выделяем его в логически самостоятельное отношение и тем самымуменьшаем время поиска важной для нас информации. Это означает, что информация,требующая к себе первостепенного внимания, выделяется в отдельные отношения сцелью уменьшения времени поиска по БД, давая возможность персоналу,обслуживающему КСА своевременно реагировать на изменения, возникающие в системе.

С такой же целью выделяется в отдельные отношения информацияконтрольного суммирования, информация контрольного суммирования при пуске ВК,информация Ш.

Отношения “Вся информация”, “Оперативная информация” и“Функциональный контроль” также выделяются в отдельные отношения из логическихсоображений и для минимизации времени поиска.

Еще одна причина, по которой отношения организуются подобнымобразом — это разграничение доступа пользователей.

Информация фиксируется в восьми не связанных друг с другомтаблицах, и один пользователь, например, может иметь доступ только к БД“Информация контрольного суммирования”, другой — к БД “Информация Ш". Вдипломном проекте рассматривается только та информация, которая содержится в БДФК.

Отношение ФК содержит информацию о результатах ФК, средикоторой имеется информация о БС устройств. Кроме БС, отношение ФК содержит идругую информацию, например, о несанкционированном доступе (НСД), о навязыванииложной информации (НЛИ), информацию о ФК, об обращении к памяти (НОП), и т.д. ИнформацияФК имеет внутренний формат представления для хранения в памяти ЭВМ и формат дляпредъявления оператору на экране дисплея или на принтере в виде таблиц исправок.

Вид полей БД ФК представлен на рис. 19.

Структура БД ФК включает в себя следующие элементы: “Дата",“Время", “Тип устройства", “Признак” (признак группированияинформации), “Вид сообщения" (БС, НСД, ФК, НЛИ, и т.д.), “Текст сообщения”.В поле “Текст сообщения" находится сообщение типа: “НСД снято", или “Нетсвязи по линии 1", или “разблокировано по ФК", и т.п., т.е. раскрываетсяконкретное значение поступившего по устройству сообщения. Остальные элементы,перечисленные ранее, являются ключевыми, и служат для поиска последнегоэлемента “Текст сообщения".

/>3.4 Выбор СУБД3.4.1 Выделение СУБД — претендентов

Проектировщику в настоящее время предоставляется достаточнобольшой выбор СУБД, разработанных для разных конфигураций и типов ЭВМ. Анализосновных параметров этих систем позволяет сразу же отвергнуть ряд СУБД,заведомо непригодных к использованию в разрабатываемой информационной системе,оставив для последующего рассмотрения не более 2-х — 3-х систем — претендентов.

На выбор СУБД — претендентов наибольшее влияние оказываетсогласование ряда параметров среды реализации и СУБД. Наиболее значимыепараметры перечислены ниже (в скобках указаны характеристики АРМ РД):

тип ЭВМ (IBM PC AT на базе процессора Intel 80386);

операционная система (MS DOS);

объем оперативной памяти (2Мб);

объем дисковой памяти (160 МБ);

выбранная для реализации модель данных (реляционная).

Перечислим СУБД подобного класса: D-Base, Clipper, Paradox. Передтем как приступить к сравнительному анализу моделей баз данных, и,следовательно, к окончательному выбору СУБД, необходимо выделить наборфакторов, которые влияют на окончательный выбор варианта.

Наиболее часто используемые факторы оценки моделей базданных:

трудоемкость реализации приложений;

стоимость эксплуатации информационной системы;

возможность совмещения разработки БД с ранее выполненнымипрограммными реализациями;

прогнозируемые сроки реализации информационной системы;

затраты на обучение персонала.

На этом этапе необходимо несколько детализировать требованияк реализуемому ПО АРМ РД.

Как было отмечено в п.3.3.1., обмен информацией в системепроисходит при помощи кодограмм, которые содержат информацию о состоянииустройств в двоичном коде, поэтому требования к СУБД, и соответственно кпрограммам-приложениям достаточно жестки — необходимо обеспечить выборкусведений об устройствах, причем с возможностью их представления не в двоичномвиде, а в удобной для анализа форме — в виде таблиц и справок.

Следовательно, большие требования предъявляются даже не кСУБД, а к языку программирования, на котором будут создаватьсяпрограммы-приложения. Реализация программных средств окружения СУБД иприложений достаточно трудоемкий процесс.

При выборе СУБД необходимо учесть и такой фактор, какналичие опыта у разработчиков в создании прикладных программ для данной СУБД,часто он является определяющим.

В качестве программного продукта для создания ПО АРМ РД былавыбрана разработка фирмы Borland — язык программирования Турбо Си++ версии 3.0 ибиблиотека стандартных программ на языке Турбо Си++ Paradox Engine дляреализации обслуживания реляционных баз данных.

Paradox Engine является уникальным программным средством,позволяющим программистам языка Си в полном объеме использовать архитектурусистемы Paradox.

Engine — библиотека стандартных программ на языке Си,которые можно объединить с любой прикладной программой на языке Си. Вбольшинстве современных систем общий доступ к данным можно осуществить лишь привыполнении дополнительных операций — обычно файлы одной операционной средыпереводятся в форматы другой, и наоборот. Если при анализе задачи выясняется,что исходные данные хранятся в разных системах, то проблемы обобщениястановятся важной областью решения задачи.

Engine устраняет эту проблему, открывая структуру данныхParadox для программ на языке Си. Таким образом, прикладные программы на языкеСи получают возможность обрабатывать данные системы Paradox.

Paradox Engine — это удобное средство для разработчиковпрограмм обслуживания реляционных баз данных на традиционном языке программирования.Разработчики Engine могут использовать данные системы Paradox или разрабатыватьприложения, которые в дальнейшем можно развивать на основе Paradox. РазработчикиParadox могут расширить функции системных программ Paradox, дополнив их вспомогательнымипрограммами на языке Си.

Основные характеристики системы Paradox.

Таблицы Paradox — это стандартные файлы DOS с расширением ".DB”. Имена таблиц отвечают стандартным соглашениям об идентификации файлов,принятым в ОС MS DOS.

Каждая таблица может содержать до двух биллионов записей, апри ее записи на диск размер таблицы ограничен только размером диска илиобъемом свободной памяти на диске.

Каждая запись может включать до 255 полей, а каждое поле до255 символов.

В Paradox используется пять типов полей: алфавитно-цифровоготипа, которые позволяют использовать полный набор символов кода ASCII, числовыеполя данных, позволяющие использовать до 15-ти значащих цифр, включая место длядесятичной точки в интервал значений, а также текущие поля данных, короткиечисловые поля и поля даты.

Для упорядочения и поиска ключевых полей таблицы в ParadoxEngine предусмотрены специальные функции, использующие индексный метод доступа.Индекс таблицы позволяет ускорить процесс поиска нужной записи. Первичныйиндекс упорядочивает записи в порядке возрастания ключевых полей. Paradoxхранит записи отсортированными по ключу и не позволяет дублировать ключи. Вторичныеиндексы, как правило, организуются для очередей таблиц и служат для улучшенияпредставления данных.

Для создания оконного интерфейса пользователя используетсябиблиотека СXL — библиотека функций на языке С, что дает возможность ускоритьнаписание программы, так как позволяет уделить больше времени решению основнойзадачи.

Конечно, нельзя однозначно сказать, что выбранная СУБДидеально соответствует поставленной перед разработчиками задаче. Дляиллюстрации сравним Paradox Engine и СУБД Paradox с внутренним языкомпрограммирования PAL.

PAL — это внутренний язык программирования системы Paradox. СравниваяPAL и Си, можно отметить, что и тот и другой обладают рядом преимуществ инедостатков.

Например, PAL обладает обширным встроенным аппаратом дляобслуживания баз данных, однако не обладает гибкостью и управляющимивозможностями языка Си. С другой стороны, Си, обеспечивая максимально возможныйуровень управления программой, и, следовательно, ее гибкость, не обладаетвозможностью обслуживания баз данных.

PAL считается языком высокого уровня, предельно подогнаннымк среде Paradox. Он обеспечивает возможность создания документов, зашитую винтерфейс вместе с процедурными возможностями, а также является идеальнымсредством для быстрого макетирования или разработки многопользовательскихпрограмм обслуживания баз данных.

В свою очередь, т.к Си является традиционным языком программирования,то его нецелесообразно применять для программ обслуживания баз данных — онисложнее аналогичных программ на языке PAL. С другой стороны, программыобслуживания баз данных на языке PAL больше по размеру и хуже побыстродействию, чем те же программы на языке Си, использующие функции Engine.

Преимущества языка PAL заключаются в том, что он обладаетобширным встроенным аппаратом и обеспечивает немедленный доступ ко всемобластям системы Paradox. PAL позволяет разрабатывать программы с использованиемопций меню Paradox.

Преимущества Engine заключаются в следующем: обеспечениевысокого уровня управления программами; расширение функциональности системыParadox (работая в Engine, вы ограничены только возможностями собственнойпрограммы и доступностью вспомогательных библиотек); обеспечение максимальнойэффективности программ при их минимальном размере.

Из представленных выше рассуждений следует, что при помощилюбого программного продукта приблизительно одного класса можно решитьпоставленную задачу, выбрав различные подходы к проблеме, минимизируя илимаксисмизируя те или иные характеристики.

Можно сделать вывод, что на выбор СУБД повлияли следующиефакторы:

Наличие опыта программирования на языке Турбо Си++, уразработчиков, что позволяет снизить временные и материальные затраты на ихпереобучение.

Трудоемкость реализации приложений, позволяющая в то жевремя обеспечить более высокое быстродействие выполнения программ (например,позволяющая минимизировать такую характеристику как время поиска по БД, и,следовательно, уменьшить время реакции на запрос).

Обеспечение гибкости ПО и высокого уровня управленияпрограммами.

Си открывает программисту доступ к “внутренностям”компьютера — битам, байтам и регистрам, управляющим работой центральногопроцессора и внешних устройств. Но Си все-таки представляет собой нечтобольшее, чем язык ассемблера высокого уровня. Блочная структура программы на Сиобеспечивает как защиту данных, так и высокий уровень контроля за областямидействия и видимости переменных.

Возможность при реализации ПО АРМ РД для создания оконногоинтерфейса использовать библиотеку СXL — библиотеку функций на языке Си, чтодает возможность уделить больше времени решению основной задачи.


/>4. Структура комплексапрограмм АРМ РД

 

4.1 Обоснование структуры комплекса программ

 

4.1.1 ПО общесистемного назначения

Структура комплекса программ АРМ РД представлена на рис.20 иявляется логическим продолжением реализации функционального назначения АРМ РД.

ПО общесистемного назначения представляет собой программныесредства, используемые на этапе проектирования АРМ РД.

Исходными данными предусмотрено, что в качестве средыфункционирования выбирается операционная система MS DOS с файловой оболочкойNorton Commander.

Для работы с файлами в составе ПО АРМ РД предусмотреныобщесистемные утилиты (архиваторы, антивирусы, и т.п.). Для оформлениядокументации, записок, отчетов предусмотрен текстовый редактор LEXICON.

Для создания специального ПО для АРМ РД используютсяследующие программные продукты:

Язык программирования Турбо Cи++ версии 3.0;

PX Engine — библиотеки функций на языке Borland Cи++, длясоздания БД в формате Paradox;

CXL — библиотеки функций на языке Borland C++ для созданияоконного интерфейса пользователя.

/>4.1.2 ПО специальногоназначения

ПО специального назначения представляет собой программныесредства, используемые на этапе эксплуатации АРМ РД (см. рис. 20). Его условноможно разделить на три группы:

Операционная система MS DOS

Библиотеки используемых функций (LIB) включают библиотекииспользуемых функций языка Borland С++, PX Engine — библиотеки функций языкаС++ для создания БД в формате Paradox, CXL — библиотеки функций языка С++ длясоздания оконного интерфейса.

Исполяемые модули программ, обеспечивающие следующие функции:

управляющая программа (MAIN);

функции создания прототипов БД и первичных ключей к ним (INITENG);

функции записи информации и внесения изменений в БД (ZAPBD);

функции формирования и исполнения запросов (INQUIRY),включает программы обработки запросов для 3-х форм представления БС (BS-INQ);

функции службы администрирования БД (CR_ARMBD — созданиебазы данных администратора, CREAT_FA — создание файла администратора, BDADM — работа с БД администратора — создание списка пользователей, регистрация иудаление пользователей);

функции архивирования и работы с архивом (ARCH).

 

4.1.3 Требования, предъявляемые к специальному ПОАРМ РД

1. Требования по обеспечению надежности.

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

2. Требования по обеспечению удобства эксплуатации.

Программное обеспечение АРМ РД должно функционировать вдиалоговом режиме с выдачей иерархических меню основных функций подсистем,например, текст запроса по мере его формирования отображается на экране. Системаменю является подсказкой, исключающей ошибку оператора.

3. Требования к операционной и программной совместимости.

Программное обеспечение средств регистрации идокументирования АРМ должно обеспечивать:

информационную совместимость в части возможности замены ЭВМРС/АТ на модель более высшего порядка, замену принтера на болеепроизводительный, и т.п.

 

4.2 Программная реализация

Постановка задачи.

Задачей данного дипломного проекта является разработкапрограмм формирования и обработки запросов для трех форм представления БС ивыдача их на экран монитора и принтер.

Программы должны быть разработаны для технических средствАРМ РД и обеспечивать информационную и программную совместимость в части возможностизамены ЭВМ на модель более высокого порядка, замену принтера на болеепроизводительный и т.п. Программы обработки запросов должны функционировать всоставе остального ПО АРМ РД и минимизировать время обработки запроса.

Это означает, что необходимо организовать поиск по БД такимобразом, чтобы минимизировать время поиска по БД, и, следовательно, уменьшитьвремя ответа на запрос оператора (характеристика, рассмотренная в п.2.5 можетбыть минимизирована не только техническими, но и программными средствами).

Программы обработки запросов должны обеспечить записьпреобразованных форм БС в файл, и работать совместно с программами,обеспечивающими выдачу преобразованных форм БС на экран монитора и принтер.

Вид представления информации после преобразования БС наэкран монитора и принтер.

Исходя из соображений практического смысла были выбраны 3формы представления БС: компактная-символическая, табличная, справочная (первая,вторая и третья формы представления БС соответственно).

Первая форма представления БС.

Первая форма представления БС приведена на рис.21 ипозволяет выдавать на экран информацию о БС по всем разнотипным устройствам (полюбому сочетанию устройств, по всем устройствам сразу, и т.д.)

1-5 поля — ключевые. Поле 6 — БС технических устройств в позиционномкоде. Для каждого устройства определено фиксированное количество этих байтов (максимальноезначение 4 группы или 4слова).

/> <td/> />
Пример кодирования одного слова для устройства i (рис.22) — значение 035007надо интерпретировать как:

Рис. 22

  Данная форма представления удобна для работы с большими объемами данных(за день неделю, месяц. .) по всем устройствам, где для оператора важен фактобнаружения неисправности (если значения БС не равны нулю, то в данномустройстве произошел какой-то сбой). Но эта форма неудобна тем, что требуетрасшифровки данных с помощью инструкции. Для устранения этого неудобствавводится вторая форма представления, где выборка выполняется по одному,выбранному оператором устройству.

Вторая форма представления БС.

Пример представления формы 2 приведен на рис.23. Как видноиз рис.23, форма 2 является отражением формы 1 для одного устройства и требуетменьших усилий при расшифровке данных, т.к здесь “шапки” колонок таблицысодержат более или менее понятные сокращения и обозначения для специалистов,обслуживающих аппаратуру, т.е. обозначения даются терминах, понятных для сферыдеятельности оператора.

Третья форма представления БС.

Существует третья форма представления, которая являетсятрансформированной формой 2, выбранной на один момент времени, т.е. онаотражает техническое состояние i-го устройства в заданный момент времени. Примерформы 3 приведен на рис.24. Как видно из рис.24, форма 3 представляет собойразвернутую справку с перечнем неисправностей и рекомендаций по устранению этихнеисправностей. Длина справки практически ограничивается при этом толькосоображениями достаточности информации, представленной в справке.

Ш-1

Неисправно направление связи С1 по передаче от ВК к Ш по причине неполучения от Ш-1 кодограмм по времени.

ОТСУТСТВУЕТ СИГНАЛ СЕТЬ1

Заменить блок А4 в стойке П1

Ш-1 заблокирован функциональной задачей

Рис. 24

Определение реализуемых функций программ обработки запросовдля 3-х форм представления БС.

Программы обработки запросов для трех форм представления БСдолжны выполнять следующие функции:

Для первой формы представления БС:

Нахождение заданных оператором записей БС в БД по любомусочетанию устройств, используя различные варианты поиска по БД, а именно:

по всей БД (дата и время не используются);

в едином интервале по дате и времени;

в указанном интервале времени по каждому дню интервала дат;

за один день в указанном интервале времени.

Расшифровка БС заданных оператором устройств, учитываяинтервал поиска.

Выдача расшифрованных БС на монитор или принтер в первойформе представления. Как видно из описанного выше, первая форма представленияБС выдается, на экран монитора в виде, представленном на рис.21.

Для второй формы представления БС:

Нахождение необходимой записи БС в БД по конкретномуустройству, заданному оператором, используя различные варианты поиска:

по всей БД;

в едином интервале по дате и времени;

в интервале времени по каждому дню интервала дат;

за один день в указанном интервале времени.

Можно отметить, что варианты поиска по БД для первой ивторой форм представления БС совпадают.

Расшифровка БС заданного оператором устройства, учитываяинтервал поиска.

Выдача расшифрованных БС на экран монитора или принтер вформе представленной на рис.23, причем вид экрана будет различным в зависимостиот устройства, задаваемого оператором, т.к устройства системы не идентичны иобладают конкретными свойственными лишь им характеристиками.

Для третьей формы представления БС:

1. Нахождение последней по времени или одной записи поконкретному устройству, заданному оператором,

2. Расшифровка БС заданного оператором устройства,

3. Выдача расшифрованных БС на экран монитора или принтер всправочной форме, причем текст сообщения будет зависеть от характеристиккаждого конкретного устройства.

 

4.3 Состав программ

Структура программ представлена на рис.25.

BS1_inq. exe — программа обработки запросов для первой формыпредставления БС;

Initsearch — модуль, определяющий выбор функции поиска;

Interval — определение граничных номеров записей в заданноминтервале поиска;

Search1 — инициализация функции поиска (все записи взаданном интервале);

Search2 — инициализация функции поиска (не более 1-гоискомого значения по каждому полю);

Search3 — инициализация функции поиска (более 1-го искомогозначения хотя бы по 1-му полю);

Recprint. c — форматирование и запись найденной строки вфайл.

Bs2_inq. c — программа обработки запросов для второй формыпредставления БС;

Interval. c — определение граничных номеров интервала поиска;

Search. c — поиск;

Recprint. c — форматирование и запись найденной строки вфайл.

Form2. c — программа представления БС в текстовом виде;

Bs3_inq. c — программа обработки запросов для третьей формыпредставления БС;

Form3. c — представление БС в виде справки;

 

4.4 Описание программ

Функциональное назначение программ обработки запросов,требования, предъявляемые к ним, а также вид представления информации на экранемонитора и принтере были рассмотрены выше.

Программа обработки запроса для первой формы представленияБС вызывается из программы формирования запроса со следующими аргументами:

1) “BS1_inq. exe”;

2) имя базы данных;

3) вариант выборки по дате и времени:

“0” — дата и время не используются, “1” — единый интервал подате и времени, “2” — много интервалов — поиск производится в указанном интервалевремени для каждого значения даты из числа входящих в интервал даты, “3” — единый интервал в течение одного дня (используется только первое значение даты);

4) интервал поиска по дате, например, “01/01/98-20/01/98”;

5) интервал поиска по времени, например, “06: 00: 00-09: 00:00” и далее значения остальных полей БД.

Результат обработки запроса записывается в файл “inquiry. res"После окончания обработки должна быть вызвана программа “inq_out. exe" дляотображения результатов на экран и принтер.

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

Функции поиска search1 (все записи в указанном интервале) иsearch2 (не более одного искомого значения по каждому полю) Поиск производитсяпо максимальному номеру записи. Например, сначала просматривается поле,содержащее тип устройства и выбираются записи с номерами 5, 10, 36, 48. Затемпроизводится поиск по виду сообщения. Если искомый вид сообщения находится лишьв 15-м поле, то все поля с 1-го по 36-е пропускаются и поиск начинается с 36-гополя. С помощью такого алгоритма производится минимизация времени поиска по БД.Как только искомые поля совпадают, то номер найденной записи фиксируется иуправление передается программе recprint, которая форматирует найденную строкуи записывает ее в файл.

Функция поиска search3 (более одного искомого значения хотябы по одному полю) открывает массив буферов для поиска, его размерность равнаколичеству полей в таблице. Размерность каждого из массивов rec [i] равнаколичеству искомых значений по i-му полю таблицы. В каждый буфер заносится одноискомое значение по какому-либо полю таблицы. Каждому буферу rec [i] [j] соответствуетэлемент массива массивов z [i] [j], в котром хранится текущий номер найденнойзаписи по данному буферу (т.е. записи, в соответствующем поле которой находитсязначение, равное значению, занесенному в буфер). Еще в одном массиве хранятсятекущие номера найденных строк по каждому полю, где max — текущий номер записипри поиске, т.е. записи с номерами, меньше max уже просмотрены. Для каждогобуфера находится запись со значением, равным занесенному в этот буфер и сномером, большим либо равным max. Найденные номера заносятся в соответствующиеz [i] [j]. Затем для каждого поля определяется значение текущего номеранайденных строк по каждому полю. Если хотя бы по одному полю произошел выход запределы интервала поиска, значит, поиск закончен. Если же значения текущихномеров найденных строк совпадают по всем полям, значит, искомая запись найдена.Найденная строка форматируется и записывается в файл.

Алгоритм программы обработки запроса для второй формыпредставления БС логически выстроен по такому же принципу, однако он проще, т.кпоиск производится для одного устройства. Перед записью найденной строки в файлпроизводится представление БС в текстовом виде.

Программы обработки запросов для третьей формы представленияБС находят последнюю по времени запись в БД и выдают преобразованные БС в файл.

Алгоритмы программ приведены в Приложении 1.

Тексты программ приведены в Приложении 2.

 

4.5 Оценка результатов работы программ

Результатом данного дипломного проекта является разработкапрограмм формирования и обработки запросов для 3-х форм представления БС. Программыразработаны для технических средств АРМ РД и функционируют в составеспециального ПО АРМ РД.

Программная и информационная совместимость обеспечиваетсявыбором средств программирования (Си — относительно мобильный язык. Программынаписанные на языке Си для данной операционной системы и для конкретногокомпьютера зачастую можно перенести в другую операционную систему или на другойкомпьютер с минимальными изменениями либо вовсе без них).

Требование по обеспечению надежности для программнойобработки запросов обеспечивается также выбором средств программирования, — блочнаяструктура программы на Си обеспечивает как защиту данных, так и высокий уровеньконтроля за областями действия и видимости переменных.

Требование удобства эксплуатации также является требованием,предъявляемым к специальному ПО АРМ РД вцелом и обеспечивается общей логикойорганизации пользовательского интерфейса.

Еще одно требование, которое было оговорено в п.4.2.1 — этоминимизация времени поиска по БД. Здесь нужно конкретизировать, что минимизациявремени ответа на запрос осуществляется на нескольких уровнях:

“технологическом” — средства архивирования БД;

“логическом" — информация хранится в нескольких базахданных (см. п.3.3 — одна из причин формирования подобных отношений — этоминимизация времени поиска);

“программном” — выделение границ и интервалов поиска.

Кроме того, выбор формы представления, для которой формируетсязапрос и заданный интервал, будут влиять на время поиска записей. Если,например, оператор выбрал 1-ю форму представления и сформировал запрос понескольким устройствам, причем задал вариант поиска по всей БД, то время ответабудет больше, чем если бы оператор сформировал запрос для 3-й формыпредставления БС, которая обеспечивает поиск лишь одной записи в БД. Если для3-й формы представления БС время ответа будет составлять 2-3 сек. то длясложных запросов может приближаться к десяткам секунд. Поэтому нельзя привестиодно конкретное значение времени ответа на запрос оператора.

Приведем следующие рекомендации оператору АРМ РД: чемсложнее запрос и чем больше количество устройств, по которым сформирован запрос-тем дольше поиск. Если необходимо быстро получить информацию, то рекомендуетсявыбрать 3-ю или 2-ю форму представления, которые предназначены для полученияинформации по одному устройству. Если же количество записей в БД увеличилосьнастолько, что поиск занимает ощутимое время, то рекомендуется пользоватьсясредствами архивации.

Программы обработки запросов обеспечивают записьпреобразованных форм БС в файл, и работают совместно с программами,обеспечивающими выдачу преобразованных форм БС на экран монитора и принтер.


/>Организационно-экономическаячасть

 

Введение

Темой организационно-экономической части дипломного проектаявляется технико-экономическое обоснование (ТЭО) по теме: “Бизнес-план разработки".

В дипломном проекте производится разработка программобработки запросов к базе данных автоматизированного рабочего места регистрациии документирования (АРМ РД).

В ТЭО необходимо рассмотреть следующие вопросы:

Планирование разработки с построением сетевого графика;

Расчет стоимости разработки;

Экономическую эффективность разработки;

Состав и назначение основных разделов хозяйственногодоговора.

В первой части ТЭО необходимо рассчитать срок разработки ипостроить сетевой график работ по созданию программного обеспечения АРМ РД. Вданном случае под разработкой подразумеваются не только программы обработкизапросов к базе данных, а программное обеспечение АРМ РД в целом.

Во второй части ТЭО необходимо рассчитать стоимостьразработки программного обеспечения АРМ РД с момента получения первого вариантатехнического задания и заканчивая оформлением документации и сдачей разработки.При этом учитывается, что разработка производится на средства, выделяемые изГосбюджета (финансирование по целевым программам).

В третьей части ТЭО необходимо обосновать экономическуюэффективность разработки.

В заключительной части ТЭО необходимо сформулироватьосновные пункты хозяйственного договора, заключаемого между двумя сторонами — заказчиком и исполнителем, а также сформулировать назначение пунктовхозяйственного договора и порядок их согласования и утверждения.


/>1. Планированиеразработки с использованием сетевого графика

Большая сложность и комплексность научно-исследовательских иопытно-конструкторских работ, одновременное участие многих исполнителей,необходимость параллельного выполнения работ, зависимость начала многих работот результатов других, значительно осложняет планирование разработки. Наиболееудобными в этих условиях являются системы сетевого планирования и управления,основанные на применении сетевых моделей планируемых процессов, допускающихиспользование современной вычислительной техники, позволяющих быстро определитьпоследствия различных вариантов управляющих воздействий и находить наилучшие изних. Они дают возможность руководителям своевременно получать достовернуюинформацию о состоянии дел, о возникших задержках и возможностях ускорения ходаработ, концентрируют внимание руководителей на “критических” работах,определяющих продолжительность проведения разработки в целом, заставляютсовершенствовать технологию и организацию работ, непосредственно влияющих насроки проведения разработки, помогают составлять рациональные планы работ,обеспечивают согласованность действий исполнителей.

Планирование научно-исследовательских работ с применениемсетевого метода ведётся в следующем порядке:

составляется перечень событий и работ;

устанавливается топология сети;

строится сетевой график по теме;

определяется продолжительность работ (tож);

рассчитываются параметры сетевого графика;

определяется продолжительность критического пути;

проводится анализ и оптимизация сетевого графика, если этонеобходимо.

В перечне событий и работ указывают кодовые номера событий иих наименование, в последовательности от исходного события к завершающему, прирасположении кодовых номеров и наименований работ перечисляются все работы,имеющие общее начальное событие.

Исходные данные для расчета получают методом экспертныхоценок. Для работ, время выполнения которых неизвестно, исполнитель или другиеспециалисты, привлекаемые в качестве экспертов, дают в соответствие с принятойсистемой три или две вероятностные оценки продолжительности:

tmin — минимальную;

tmax — максимальную;

tнв — наиболее вероятную или только первыедве.

Эти величины являются исходными для расчёта ожидаемоговремени tож по формулам (1) и (2).

/> (1)

/> (2)

После построения графика и выбора необходимых исходныхданных рассчитывают параметры сети: сроки совершения событий, резервы времени,продолжительность критического пути. Расчёт параметров сети наиболее удобновыполнять табличным методом, если число событий не превышает 100 — 150. Этомуусловию соответствует проводимая разработка.

Для описания сети в “терминах событий" используютсяследующие понятия.

Ранний срок наступления события (Tpi) — минимальныйсрок, необходимый для выполнения всех работ, предшествующих данному событию,равен продолжительности наибольшего из путей, ведущих от исходного события 1 кданному (формула (3)).


/> (3)

Критический путь сети (Ткр) — максимальныйпуть от исходного события 1 до завершающего события С.

Поздний срок наступления события (Tni) — максимальнодопустимый срок наступления данного события, при котором сохраняетсявозможность соблюдения ранних сроков наступления последующих событий, равенразности между продолжительностью критического пути и наибольшего из путей,ведущих от завершающего события данному (формула (4)).

/> (4)

Все события в сети, за исключением событий, принадлежащихкритическому пути, имеют резерв времени (Ri), приведённый ввыражении (5).

/> (5)

Резерв времени события показывает, на какой предельный срокможно задержать наступление этого события, не увеличивая общего срока окончанияработ (т.е. продолжительности критического пути).

При описании сети “в терминах работ" определяют ранниеи поздние сроки начала и окончания работ (формулы (6) — (9)).

ранний срок начала:

/> (6)

поздний срок начала:

/> (7)

ранний срок окончания:

/> (8)

поздний срок окончания:

/> (9)

Работы сетевой модели могут иметь два вида резервов времени:полный (Rпi,j) и свободный (Rci,j). Полныйрезерв показывает, на сколько может быть увеличена продолжительность даннойработы или сдвинуто её начало так, чтобы продолжительность максимального изпроходящих через неё путей не превысила критического пути. Полный резерв, еслион не использован до конца при выполнении данной работы, частично может бытьперераспределён и между другими работами, лежащими на данном пути. Полныйрезерв рассчитывается по формуле (10).

/> (10)

Свободный резерв показывает максимальное время, на котороеможно увеличить продолжительность данной работы или изменить её начало, неменяя ранних сроков начала последующих работ.

Он является независимым резервом времени данной работы, т.к использованиеего не меняет величины свободных резервов остальных работ сети.

Свободный резерв рассчитывается по формуле (11).


/> (11)

В соответствии с вышеизложенной методикой приведёмпланирование разработки.

Перечень событий и работ по каждому этапу приводится втаблице 1. Процесс разработки подразделяется на пять этапов:

Подготовительный этап.

Выбор методов и средств решения.

Разработка алгоритмов программ.

Отладка программ и анализ результатов.

Оформление документации и подготовка к сдаче разарботки.

В таблице 1 приведен перечень событий и работ, имеющих местопри разработке АРМ РД.

Перечень событий и наименование работ

Таблица 1.

этапа

№ соб. Событие

Код

работы

Наименование работы I Первый вариант ТЗ получен

0-1

0-3

Согласование и уточнение первого варианта ТЗ

Составление перечня материалов по тематике

1 Промежуточный вариант ТЗ согласован 1-2 Составление окончательного варианта ТЗ 2 Окончательный вариант ТЗ утвержден 2-5 Проведение анализа существующих методов решения и получение сравнительных хар-к 3 Перечень материалов по тематике составлен 3-4 Изучение материалов по тематике II 4 Материалы по тематике задачи изучены 4-8 Выбор окончательного метода решения 5 Анализ существующих методов решения проведен, сравнительные хар-ки получены 5-6 Предварительный выбор метода решения 6 Метод решения предварительно выбран 6-7 Уточнение и согласование выбранного метода решения 7 Выбранный метод решения согласован 7-8 Утверждение окончательного метода решения III 8 Окончательный метод решения утвержден

8-9

8-10

8-11

Изучение лит-ры по ЯП

Составление эскизного варианта алгоритма

Анализ входной и выходной информации

9 Литература по ЯП изучена 9-14 Выбор языка программирования III 10 Эскизный вариант алг. Составлен 10-12 Уточнение алгоритма решения 11 Анализ входной и выходной информации проведен 11-12 Уточнение алгоритма решения 12 Алгоритм решения проработан 12-13 Разработка блок-схемы алгоритма 13 Блок-схема алгоритма составлена 13-14 Выбор языка программирования 14 Язык прграммирования выбран

14-15

14-16

Определение структуры программы

Работа над модулями программы

15 Структура программы разработана 15-17 Работа над текстами программ 16 Модульная структура разработана 16-17 Работа над текстами программ IV 17 Тексты программ составлены

17-18

17-19

Логический анализ программы и ее корректирование

Компиляция программ

18 Логический анализ программ, их корректирование завершены 18-20 Исправление ошибок в программах IV 19 Компиляция программ завершена 19-21 Редактирование программ в единый модуль 20 Исправление ошибок завершено 20-21 Редактирование программ в единый модуль 21 Редактирование программ в единый загрузочный модуль завершено

21-22

21-23

Выполнение программ

Анализ рез-тов выполнения

22 Выполнение программ завершено 22-24 Проверка функ-ия прог-мм в различных условиях работы V 23 Анализ результатов выполнения программ завершен

23-24

23-25

Проверка функ-ия прог-мм в различных условиях работы

Выпуск документации

24 Проверка функ-ия прог-мм в различных условиях работы завершена 24-26 Подготовка отчета о работе 25 Выпуск документации завершен 25-26 Подготовка отчета о работе 26 Отчет о работе подготовлен

На основании перечня событий и работ построен сетевой графикработ (рис.1).

Кружки на сетевом графике обозначают события, стрелки — работы, номер над стрелкой — время, необходимое для выполнения данной работы. Каждыйкружок, изображающий событие, делится на четыре сектора. В верхнем секторерасполагается номер события, в левом секторе — ранний срок наступления события,в правом секторе — поздний срок окончания события. В нижнем секторерасполагается резерв времени наступления события.

Для определения полного резерва времени работы надо из числав правом секторе конечного события вычесть число в левом секторе начальногособытия и продолжительность работы между конечным и начальным событиями. Дляопределения свободного резерва надо из числа в левом секторе конечного событиявычесть число в левом секторе начального события и продолжительность работы.

Расчет параметров сетевого графика удобно производить,последовательно заполняя таблицу параметров сети по определенным правилам.

Расчет ожидаемого времени выполнения работы /> производится по формуле (2)с использованием минимальной />имаксимальной /> вероятностных оценокпродолжительности работ.

Раннее начало работ, /> выходящихиз исходного события, равно нулю, а раннее окончание /> этих работ равно ихпродолжительности. Раннее начало последующих работ определяется путем выборамаксимального из сроков раннего окончания предшествующих работ.

Раннее окончание каждой работы /> определяетсяпо формуле (8) и фактически равно сумме величин раннего начала ипродолжительности данной работы.

Продолжительность критического пути определяется после нахождениясроков раннего начала работ и раннего окончания работ, которые ведут кзавершающему событию. Найденная величина заносится в графу позднего срокаокончания работ для всех работ, ведущих к завершающему событию.

Заполнение графы позднего срока окончания работ />, кроме ее последней строкипроизводится снизу вверх следующим образом: находятся все работы, последующиеза рассматриваемой, и определяются разности между поздним окончанием этих работи их продолжительностью. Минимальная из полученных величин заносится в графупозднего срока окончания работ.

Данные графы позднего срока начала работ /> находятся как разностьпозднего окончания этих работ и их продолжительности.

Полный /> исвободный /> резервы времениопределяются по формулам (10) и (11) соответственно.

Параметры сетевого графика представлены в таблице 2.

Параметры сетевого графика

Таблица 2.

Код

Соб.

/>

/>

/>

/>

/>

/>

/>

/>

/>

0-1 25 30 27 27 27 0-3 10 15 12 12 32 44 32 1-2 15 25 19 27 46 27 46 2-5 30 40 34 46 80 46 80 3-4 40 50 44 12 56 44 88 32 4-8 50 60 54 56 110 88 142 32 32 5-6 20 35 26 80 106 80 106 6-7 15 25 19 106 125 106 125 7-8 15 20 17 125 142 125 142 8-9 55 60 57 142 199 142 199 8-10 50 60 54 142 196 146 200 4 8-11 35 45 39 142 181 163 202 21 9-14 45 55 49 199 248 199 248 10-12 15 25 19 196 215 200 219 4 11-12 15 20 17 181 198 202 219 21 17 12-13 15 20 17 215 232 219 236 4 13-14 10 15 12 232 244 236 248 4 4 14-15 50 60 54 248 302 248 302 14-16 25 40 31 248 279 311 342 63 15-17 140 160 148 302 450 302 450 16-17 100 120 108 279 387 342 450 63 63 17-18 40 80 56 450 506 450 506 17-19 20 25 22 450 472 498 520 48 18-20 25 40 31 506 537 506 537 19-21 30 40 34 472 506 520 554 48 48 20-21 15 20 17 537 554 537 554 21-22 10 15 12 554 566 554 573 7 21-23 15 20 17 554 571 554 571 22-24 20 30 24 566 597 566 597 23-24 10 15 12 571 583 585 597 14 14 23-25 30 40 34 571 605 571 605 24-26 25 30 27 597 617 597 624 25-26 15 25 19 605 624 605 624
/>2. Расчет стоимостиразработки

Величину затрат на научно-исследовательские работыопределяют на основе метода калькуляций. В этом случае затраты определяютсярасчетом по отдельным статьям расходов и их последующим суммированием в форме. Рассмотримзатраты по отдельным статьям расходов.

 

2.1 Расчёт статьи “материалы, покупные изделия,полуфабрикаты"

На эту статью относится стоимость материалов, покупныхизделий, полуфабрикатов и других материальных ценностей, расходуемыхнепосредственно в процессе выполнения НИР по теме. Цена материальных ресурсовопределяется по соответствующим ценникам. В стоимость материальных затратвключаются транспортные расходы (10% от прейскурантной цены).

Расчёт статьи “материалы, покупные изделия, полуфабрикаты"приводится в таблице 3.

Наименование

товара

Ед. Измерения Кол-во Цена за единицу (руб) Суммар. затраты (руб) Дискеты Пачка 2 90 180 Чертежная бумага Листы 20 5 100 Бумага для принтера Пачка 3 80 240 Итого: 520

С учётом транспортных расходов:

520 + 0.1 *520 =572 (руб)


/>2.2 Расчёт основнойзаработной платы по теме

К этой статье относятся основная заработная платаработников, а также премии, входящие в фонд заработной платы. Расчёт основнойзаработной платы выполняется на основе трудоёмкости выполнения каждого этапа вчеловеко-днях и величины месячного должностного оклада исполнителя.

Среднее количество рабочих дней в месяце равно 20-ти. Следовательно,дневная заработная плата определяется делением размера оклада на количестворабочих дней в месяце.

Трудоемкость определяется следующим образом: по таблицам 1 и2 находится количество дней, которое необходимо потратить на каждый из 5-тиэтапов разработки.

Например, на первом этапе разработки потребуется количестводней, равное сумме продолжительностей работ, коды которых: 0-1, 0-3, 1-2, 2-5,3-4. Трудоемкость каждого этапа определяется для группы специалистов,отвечающих за этот этап разработки.

Произведение трудоемкости на сумму дневной заработной платыопределяет затраты по зарплате для каждого работника на все время разработки.

Расчет основной заработной платы по теме приведен в таблице4.

Расчет основной заработной платы по теме.

Таблица 3.

Наименование этапов работ Исполнитель

Оклад

(руб)

Дневная зар. Плата (руб)

Трудоемкость

(в человеко-днях)

Затраты по

зар. плате

(руб)

1. Подготовительный этап

Ведущий инженер

Инженер

1200

1000

60

50

252

252

15120

12600

2. Разработка алгоритмов и программ

Ведущий инженер

Инженер

Инженер

1200

1000

1000

60

50

50

864

864

864

51840

43200

43200

3. Oформление докум-ии и подготовка к сдаче Инженер 1000 50 46 2300 ИТОГО: 168260 />2.3 Расчетдополнительной заработной платы

На эту статью относятся выплаты, предусмотренныезаконодательством о труде за неотработанное по уважительным причинам время: оплатаочередных и дополнительных отпусков и т.п. (принимается в размере 20% от суммыосновной заработной платы):

168260*0.2=33652 руб.

 

2.4 Расчёт отчислений на социальные нужды

Затраты по этой статье определяются в процентном отношенииот суммы основной и дополнительной заработной платы (40.5%):

(168260+33652) * 0.405=81774 руб.

 

2.5 Расчёт накладных расходов

К этой статье относят расходы по управлениюнаучно-исследовательской организацией, выполняющей данную разработку, а такжерасходы по содержанию и ремонту зданий, сооружений, оборудования, коммунальныеуслуги и т.п.

Накладные расходы принимаются в размере 250% от суммыосновной заработной платы.

168260*2.5=420650 руб.

/>2.6 Расчёт договорнойцены

Калькуляция стоимости разработки приведена в таблице 5.

Полная себестоимость разработки определяется суммированиемпп.1 — 5 таблицы 5.

Оптовая цена определяется следующим образом:

Цопт = себестоимость + прибыль.

Прибыль составляет 30% от себестоимости:

Прибыль = 704732*0.3=211420 руб.

Цопт = 704732 + 211420=916152 руб.

При расчете договорной цены в общую стоимость закладываетсясумма налога на добавленную стоимость, равного 20% от оптовой цены.

Разработка финансируется государством, следовательно, налогна добавленную стоимость при расчете договорной цены не учитывается.

Следовательно, договорная цена разработки составит 916152 руб.

Таблица 5.

№п/п Наименование статьи расхода Затраты (в руб) 1. Материалы, покупные изделия, полуфабрикаты 396 2. Основная заработная плата 168260 3. Дополнительная заработная плата 33652 4. Отчисления на социальные нужды 81774 5. Накладные расходы 420650 6. Полная себестоимость 704732 7. Прибыль 211420 8. Оптовая цена 916152 9. НДС ------- 10. Договорная цена 916152

 


3. Экономическая эффективность разработки

Основная задача, поставленная перед разработчиком — этосоздание программного обеспечения (ПО) для автоматизированного рабочего местарегистрации и документирования комплекса средств автоматизации. Разработка неимела ранее подобных аналогов и является специализированным ПО, котороеобеспечивает следующие функции:

получение и регистрацию данных о состоянии объектауправления;

позволяет человеку производить анализ полученных данных и наосновании их оперативно реагировать на изменения, возникающие в системе;

повышает эффективность работы оператора за счет наглядногопредставления данных на экране монитора и тем самым сокращает работу операторас бумагами (инструкциями).


/>4. Основные разделыхозяйственного договора

Последним разделом технико-экономического обоснования потеме: “Бизнес-план разработки” является формирование основных разделовхозяйственного договора.

Хозяйственный договор — это двустороннее соглашение,заключаемое юридическими лицами (исполнителем и заказчиком) для достижениякакой-либо цели.

В данном случае заключение хозяйственного договорапреследует своей целью создание программ, позволяющих оператору АРМ РДоперативно получать информацию о состоянии системы, быстро реагировать наизменения, происходящие в системе, резко сократить работу с бумагами (инструкциями).

Основные разделы хозяйственного договора:

Предмет договора.

В этом пункте оговаривается предмет договора и срокипроведения работ.

Стоимость работ, порядок и условия платежей и расчетов.

В данном пункте оговаривается стоимость разработки, какимобразом производится оплата и предусматриваются действия обеих сторон в томслучае, если условия по оплате разработки не выполняются.

Подготовка работ.

В этом пункте хозяйственного договора оговариваются условия,которые обязуется обеспечить заказчик для исполнителя работ. Это может бытьпредоставленная аппаратура, программное обеспечение, помещение и т.п.

Порядок и сроки сдачи и приемки работ.

Определяет временные рамки действия данного договора, атакже порядок и сроки сдачи работ.

Особые условия.

В этом пункте оговаривается, как производятся изменения идополнения к настоящему договору и их согласование сторонами.

Юридические адреса и реквизиты сторон.

Данный пункт включает юридические адреса сторон, а также ихбанковские реквизиты.

Условия хозяйственного договора (пп.1-5) предварительнооговариваются обеими сторонами и в случае, если все условия хозяйственногодоговора удовлетворяют требованиям исполнителя и заказчика, то руководящие лицаобеих сторон подписывают договор и скрепляют его печатями.


/>Заключение

В данном разделе дипломного проекта было представленотехнико-экономическое обоснование (ТЭО) по теме: “Бизнес-план разработки".

В ТЭО были рассмотрены следующие вопросы:

Планирование разработки с построением сетевого графика;

Расчет стоимости разработки;

Экономическая эффективность разработки;

Состав и назначение основных разделов хозяйственногодоговора.

В первой части ТЭО рассчитаны параметры сетевого графикаработ по созданию программного обеспечения АРМ РД и по этим параметрам построенсетевой график работ. Расчет параметров сети был выполнен табличным методом,найдены сроки свершения событий, резервы времени, продолжительностькритического пути.

Время разработки комплекса программ АРМ РД составит 624 дня(приблизительно 2.6 года).

Во второй части ТЭО рассчитана стоимость разработкипрограммного обеспечения АРМ РД с момента получения первого вариантатехнического задания и заканчивая оформлением документации и сдачей разработки.

Величина затрат на научно-исследовательские работыопределена на основе метода калькуляций. Расчет произведен в ценах 1998г. Стоимостьразработки составит 916 152 руб.

В третьей части ТЭО приведена экономическая эффективностьразработки, а в заключительной части сформулированы основные пункты хозяйственногодоговора, заключаемого между двумя сторонами — заказчиком и исполнителем, атакже назначение пунктов хозяйственного договора и порядок их согласования иутверждения.


/>Охрана труда и техникабезопасности

 

Введение

Охрана труда — система законодательных актов, постановлений,организационных, санитарных и технических мер, обеспечивающих безопасные дляздоровья условия труда на рабочем месте. Научно-технический прогресс внёсизменения в условия производственной деятельности работников умственного труда.Их труд стал более интенсивным, напряжённым, требующим затрат умственной,эмоциональной и физической энергии. Это имеет прямое отношение и к специалистам,связанным с проектированием, разработкой, эксплуатацией, сопровождением имодернизацией автоматизированных систем управления различного назначения.

На рабочем месте инженера-программиста должны быть созданыусловия для высокопроизводительного труда. В настоящее время всё большееприменение находят автоматизированные рабочие места, которые оснащаютсяперсональными ЭВМ с графическими дисплеями, клавиатурами и принтерами.

В данном дипломном проекте разрабатываются программы,составляющие часть ПО АРМ регистрации и документирования данных. Оператор АРМрегистрации и документирования испытывает значительную нагрузку, как физическую(сидячее положение, нагрузка на глаза), так и умственную, что приводит кснижению его трудоспособности к концу рабочего дня.


/>1. Характеристикапомещения и факторы, действующие на оператора в процессе его труда

Помещение, в котором находится рабочее место оператора,имеет следующие характеристики:

длина помещения: 6.5 м;

ширина помещения: 3.7 м;

высота помещения: 3.5 м;

число окон: 4;

число рабочих мест: 2;

освещение: естественное (через боковые окна) и общееискусственное;

вид выполняемых работ: непрерывная работа с прикладнойпрограммой в диалоговом режиме.

Напряжение зрения:

освещённость РМ, лк300;

размеры объекта, мм0.3 — 0.5;

разряд зрительной работыIII — IV.

На рабочем месте оператор подвергается воздействию следующихнеблагоприятных факторов:

недостаточное освещение;

шум от работающих машин;

электромагнитное излучение;

выделение избытков теплоты.

Поэтому необходимо разработать средства защиты от этихвредных факторов. К данным средствам защиты относятся: вентиляция,искусственное освещение, звукоизоляция. Существуют нормативы, определяющиекомфортные условия и предельно допустимые нормы запылённости, температурывоздуха, шума, освещённости. В системе мер, обеспечивающих благоприятныеусловия труда, большое место отводится эстетическим факторам: оформлениепроизводственного интерьера, оборудования, применение функциональной музыки идр., которые оказывают определённое воздействие на организм человека. Важнуюроль играет окраска помещений, которая должна быть светлой. В данном разделедипломного проекта рассчитывается необходимая освещённость рабочего места иинформационная нагрузка оператора.

Развитию утомляемости на производстве способствуют следующиефакторы:

неправильная эргономическая организация рабочего места,нерациональные зоны размещения оборудования по высоте от пола, по фронту от осисимметрии и т.д.;

характер протекания труда. Трудовой процесс организовантаким образом, что оператор вынужден с первых минут рабочего дня решатьнаиболее сложные и трудоёмкие задачи, в то время как в первые минуты работыфункциональная подвижность нервных клеток мозга низка. Важное значение имеетчередование труда и отдыха, смена одних форм работы другими.

/>2. Расчёт освещениярабочего места оператора

Одним из основных вопросов охраны труда является организациярационального освещения производственных помещений и рабочих мест.

Для освещения помещения, в котором работает оператор,используется смешанное освещение, т.е. сочетание естественного и искусственногоосвещения.

Естественное освещение — осуществляется через окна внаружных стенах здания.

Искусственное освещение — используется при недостаточноместественном освещении и осуществляется с помощью двух систем: общего иместного освещения. Общим называют освещение, светильники которого освещают всюплощадь помещения. Местным называют освещение, предназначенное дляопределённого рабочего места.

Для помещения, где находится рабочее место оператора,используется система общего освещения.

Нормами для данных работ установлена необходимаяосвещённость рабочего места ЕН=300 лк (для работ высокой точности,когда наименьший размер объекта различения равен 0.3 — 0.5 мм).

Расчёт системы освещения производится методом коэффициентаиспользования светового потока, который выражается отношением светового потока,падающего на расчётную поверхность, к суммарному потоку всех ламп. Его величиназависит от характеристик светильника, размеров помещения, окраски стен ипотолка, характеризуемой коэффициентами отражения стен и потолка.

Общий световой поток определяется по формуле:

/>,

где ЕН — необходимая освещённость рабочегоместа по норме (ЕН=300 лк);

S — площадь помещения, м2;

z1 — коэффициент запаса, который учитываетизнос и загрязнение светильников (z1=1.5, табл. VII-5, [15]);

z2 — коэффициент, учитывающийнеравномерность освещения (z2=1.1, стр.139 [15]);

h — коэффициентиспользования светового потока выбирается из таблиц в зависимости от типасветильника, размеров помещения, коэффициентов отражения стен и потолкапомещения.

Определим площадь помещения, если его длина составляет Lд=6.5м, а ширина Lш=3.7 м:

/>=6.5 3.7=24 м2

Выберем из таблицы коэффициент использования световогопотока по следующим данным:

коэффициент отражения побелённого потолка Rп=70%;

коэффициент отражения от стен, окрашенных в светлую краску Rст=50%;

/>=0.7,

где — высота помещения = 3.5 м. Тогдапо табл.7 [16] находим (для люминесцентных ламп i=0.7) h=0.38.

Определяем общий световой поток:

/>лм

Наиболее приемлемыми для помещения ВЦ являютсялюминесцентные лампы ЛБ (белого света) или ЛТБ (тёпло-белого света), мощностью20, 40 или 80 Вт.

Световой поток одной лампы ЛТБ40 составляет F1=3100лм, следовательно, для получения светового потока Fобщ=31263.2лм необходимо N ламп, число которых можно определить по формуле

/>

Подставим значения, полученные выше:

/>ламп.

Таким образом, необходимо установить 10 ламп ЛТБ40.

Электрическая мощность всей осветительной системывычисляется по формуле:

/>, Вт,

где P1 — мощность одной лампы = 40 Вт, N — число ламп = 10.

/>Вт.

Для исключения засветки экранов дисплеев прямыми световымипотоками светильники общего освещения располагают сбоку от рабочего места,параллельно линии зрения оператора и стене с окнами. Такое размещениесветильников позволяет производить их последовательное включение в зависимостиот величины естественной освещённости и исключает раздражение глазчередующимися полосами света и тени, возникающее при поперечном расположениисветильников [17].

Расчёт местного светового потока не производится, т.к вданном случае рекомендуется система общего освещения во избежание отражённойблёсткости от поверхности стола и экрана монитора.

Коэффициент пульсации освещённости:

/>,

где Emax, Emin и Eсрпоказатели освещённости для газоразрядных ламп при питании их переменным током — соответстсвенно максимальная, минимальная и средняя.

Возьмём по аналогии [16], табл.4 люминесцентную лампу ЛХБприблизительно той же мощности. Включением смежных ламп в разные фазы (группы) трёхфазнойэлектрической сети возможно добиться уменьшения коэффициента пульсации КПс 35 до 3 — т.е. почти в 12 раз (рис.1). На рис.1 указаны три выключателя (поодному на каждую фазу — группу ламп) — это необходимо для обеспечениявозможности независимого управления группами ламп.

Равномерность распределения яркости в поле зрения. Характеризуетсяотношением /> (данное отношениесчитается оптимальным) или />. Вданном случае />, следовательноотношение />.

Итак, для обеспечения нормальных условий работыпрограммиста, в соответствии с нормативными требованиями, необходимоиспользовать данное число светильников указанной мощности для освещениярабочего помещения.

/>3. Расчётинформационной нагрузки

Расчёт информационной нагрузки оператора необходим для того,чтобы выяснить, будет ли оператор справляться с заданием.

Рассчитаем информационную нагрузку оператора. Воспользуемсятабл.4 [18].

Количество операций, совершаемых оператором за 3 часа (табл.1):

Таблица 1.

Члены алгоритма Символ Количество членов

Частота повторения pi

Афферентные: 1 Наблюдение результатов F 10 1 Всего: 10 Эфферентные: 1 Выбор наилучшего варианта из нескольких C 3 0,04 Исправление ошибок D 1 0,01 Анализ полученных результатов M 40 0,54 Выполнение механических действий K 30 0,41 Всего: 74 Итого: 84

Рассчитаем энтропию информации:

/>

Суммарная энтропия:

/> бит/с.

Поток информационной нагрузки равен

/>,

где:

N — суммарное число всех членов алгоритма;

t — длительность выполнения всей работы, мин.

/>.


Вывод:

/>.

Следовательно, информационная нагрузка оператораукладывается в норму [19], табл.13.2

 

Выводы

В данном разделе дипломного проекта был произведён расчётосвещённости рабочего места (с выбором типа ламп и их количества), а такжеоценка информационной нагрузки.

Расчёты показали, что оператор получает информационнуюнагрузку, равную

/>.

Кроме того, необходимо в течение 8-ми часового рабочего дняпредусмотреть один часовой перерыв на обед, 5-ти минутные перерывы каждыеполчаса и 15-ти минутные перерывы каждые 1.5 — 2 часа. Работу необходимоорганизовать таким образом, чтобы наиболее сложные задачи решались с 11: 00 до16: 00 — в период наибольшей активности человека, а не в начале дня, когдаоператор ещё не достиг максимальной активности, и не в конце дня, когда ужеразвивается утомление.

Так как работа оператора не связана с решением крупныхлогических задач и достаточно однообразна, то рекомендуется по-возможностичередовать виды деятельности. Пример чередования видов работ и её интенсивностиприведён в графике труда и отдыха (табл.2).


Таблица 2.

Время Вид работы и её интенсивность 9: 00 Начало работы 9: 00 — 9: 30 Вход в систему, решение общих организационных задач 9: 30 — 9: 35 5-ти минутный перерыв 9: 35 — 10: 10 Решение несложных задач, формирование запросов к системе 10: 10 — 10: 15 5-ти минутный перерыв 10: 15 — 10: 45 Решение несложных задач, изучение литературы 10: 45 — 11: 00 15-ти минутный перерыв 11: 00 — 11: 55 Решение логических, наиболее трудоёмких задач 11: 55 — 12: 00 5-ти минутный перерыв 12: 00 — 13: 00 Решение наиболее сложных и трудоёмких задач, требующих максимального умственного напряжения 13: 00 — 14: 00 Перерыв на обед 14: 00 — 14: 40 Наблюдение полученных результатов, исправление ошибок 14: 40 — 14: 45 5-ти минутный перерыв 14: 45 — 15: 10 Выполнение механических действий, анализ результатов, исправление ошибок 15: 10 — 15: 30 20-ти минутный перерыв 15: 30 — 16: 10 Анализ результатов, исправление ошибок 16: 10 — 16: 15 5-ти минутный перерыв 16: 15 — 17: 10 Выполнение механических действий, оформление отчётов, подведение результатов 17: 10 — 17: 15 5-ти минутный перерыв 17: 15 — 18: 00 Выход из системы, подготовка к следующему рабочему дню (план работ и т.д.) 18: 00 Конец работы
/>Гражданская оборона

 

Введение

В современных городах из-за высокой плотности застройкиадминистративное здание с расположенным в нем вычислительным центром можетоказаться вблизи одного из опасных промышленных предприятий, таких как:

нефтеперерабатывающий завод;

газоперекачивающая станция;

ТЭЦ;

разного рода химические заводы;

предприятия по работе с радиоактивными материалами.

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

утечка СДЯВ;

утечка радиоактивных веществ;

опасность взрыва и пожара легко воспламеняющихся веществ.

Рассматривается следующая ситуация: поблизости отадминистративного здания расположено хранилище сжиженного газа большой емкости.В результате нарушения целостности контейнера со сжиженным газом и его утечкипроисходит взрыв. При этом возможны разрушения здания вследствие поражения егоударной волной и развитие пожарной обстановки.

Данная ситуация может возникнуть в случае стихийныхбедствий, техногенных факторов, террористических актов, нарушения правилхранения, а также неосторожности рабочего персонала.

В представленном разделе дипломного проекта производитсяоценка последствий взрыва и определяются меры защиты оператора и аппаратурыПЭВМ от воздействия высоких температур в случае развития пожарной обстановки.


/>1. Теоретическая часть

Источником взрыва является хранилище сжиженного пропана. Принарушении емкости со сжиженным пропаном, хранящимся под высоким давлением,происходит его вскипание с быстрым испарением, выброс в атмосферу и образованиеоблака газопаровоздушной смеси. Когда объемная концентрация пропана превышает7-9%, может произойти взрыв.

Для определения последствий взрыва газопаровоздушной смеси (ГПВС)необходимо оценить физическую устойчивость объекта к поражающим факторам взрываГПВС. В рассматриваемой ситуации поражающими факторами являются ударная волна ивозможность развития пожарной обстановки на объекте.

 

1.1 Оценка воздействия ударной волны на объект

 

1.1.1 Характеристики ударной волны

Ударная волна — это область резкого сжатия среды, которая ввиде сферического слоя распространяется от места взрыва во все стороны сосверхзвуковой скоростью.

Основным параметром ударной волны, характеризующим ееразрушающее и поражающее воздействие, является избыточное давление во фронтеударной волны. Избыточное давление во фронте ударной волны /> — это разность междумаксимальным давлением во фронте ударной волны и нормальным атмосфернымдавлением />.

Зону очага взрыва ГПВС можно представить в виде 3-хконцентрических окружностей с центром в точке взрыва, которые имеют радиусы />,/> и /> (рис.1), где:

/> - радиус зоныдетонационной волны;

/> - радиус зоныпоражения продуктами взрыва;

/> - зона действиявоздушной ударной волны.

/> <td/> />
Для каждой из этих зон считают избыточное давление, по которому определяютпоследствия взрыва.

/>, м,

где /> - количествосжиженного газа, т.

В пределах /> действует/>=1700кПа.

/>, м, в пределах /> /> изменяется от 1650 до300кПа.

/>, кПа,

где /> - расстояние отцентра взрыва до места расположения объекта.

В третьей зоне /> определяетсяв зависимости от величины />:

/>

при />,

при />


/>1.1.2 Поражающиефакторы ударной волны

Поражение ударной волной возникает в результате воздействияизбыточного давления и скоростного напора воздуха и приводит к разрушениюзданий и поражениям людей (непосредственным, если человек находится на открытомпространстве, или косвенным, в результате ударов обломками разрушенных зданий исооружений).

Применительно к гражданским и промышленным зданиям степениразрушения характеризуются следующим состоянием конструкции:

Cлабое разрушение: разрушаются оконные и дверные заполнения,легкие перегородки, частично кровля, возможны трещины в стенах верхних этажей. Зданиеможет эксплуатироваться после проведения текущего ремонта.

Среднее разрушение: разрушение крыш, внутренних перегородок,окон, обрушение отдельных участков чердачных перекрытий. Для восстановленияздания необходим капитальный ремонт.

Сильное разрушение: характеризуется разрушением несущихконструкций и перекрытий верхних этажей, образованием трещин в стенах идеформацией перекрытий нижних этажей. Использование помещений становитсяневозможным, а ремонт нецелесообразным.

Полное разрушение: разрушаются все основные элементы здания,включая несущие конструкции. Использовать здания невозможно.

Степень разрушения зданий зависит от устойчивостиконструкции зданий к воздействию избыточного давления во фронте ударной волны.

 

1.2 Оценка пожарной обстановки

В зависимости от мощности взрыва и вызванных им разрушений вадминистративном здании может развиться пожарная обстановка. Вероятностьвозникновения и распространения пожаров зависит от:

степени огнестойкости зданий и сооружений;

категории пожароопасности производства;

расстояния между зданиями и сооружениями;

погодных условий.

 

1.2.1 Влияние степени огнестойкости зданий исооружений на развитие пожарной обстановки

Степень огнестойкости зданий и сооружений зависит от сопротивляемостиматериалов зданий к огню. По огнестойкости здания и сооружения делятся на пятькатегорий. I — основные элементы выполнены из несгораемых материалов, а несущиеконструкции обладают повышенной сопротивляемостью к воздействию огня; II — основныеэлементы выполнены из несгораемых материалов; III — с каменными стенами идеревянными оштукатуренными перегородками и перекрытиями; IV — оштукатуренныедеревянные здания; V — деревянные неоштукатуренные строения. Ориентировочноевремя развития пожара до полного охвата здания огнем: для зданий и сооружений Iи II степени — не более 2ч, зданий и сооружений III степени — не более 1.5ч,для зданий и сооружений IV и V степеней — не более 1ч.

На развитие пожара в здании влияет также степень разрушенияздания ударной волной. Отдельные и сплошные пожары возможны только на техпредприятиях, которые получили в основном слабые и средние разрушения, присильных и полных разрушениях возможны только тления и горения в завалах.

 

1.2.2 Влияние категорий пожароопасностипроизводства на развитие пожарной обстановки

По пожарной опасности объекты в соответствии с характеромтехнологического процесса подразделяют на пять категорий: А, Б, В, Г, Д. Объектыкатегорий А — Г связаны с нефтеперерабатывающим, химическим, столярным,текстильным и подобного рода производством. Объекты категории Д связаны схранением и переработкой негорючих материалов. Наиболее пожароопасны первые двекатегории.

 

1.2.3 Влияние расстояний между зданиями нараспространение пожаров

Распространение пожаров определяется плотностью застройкитерритории. Для зданий I и II степеней огнестойкости плотность застройки должнабыть более 30%, для зданий III степени — более 20%, для зданий IV и V степеней — более 10%.

 

1.2.4 Влияние погодных условий на распространениепожаров

Скорость ветра также влияет на скорость распространенияпожара. При указанных в п.2.2.3 сочетаниях скорость распространения огня прискорости ветра 3-5 м/с будет составлять: при застройке II и III степениогнестойкости 60-120 м/ч, IV и V степени — 120-300 м/ч.

 

1.2.5 Оценка воздействия теплового импульсаогненного шара на пожарную обстановку

Величина теплового потока от огненного шара характеризуется:радиусом огненного шара: />, м, ивременем его существования />, сек,где /> - половина массысжиженного топлива, т.

Поток излучения /> кВт/м2от огненного шара, падающий на элемент объекта, определяется по формуле: />, кВт/м2, где />=270кВт/м2 — мощностьповерхностной эмиссии огненного шара, /> -коэффициент, учитывающий фактор угла падения, /> -проводимость воздуха. Коэффициент /> ипроводимость /> определяются по формулам:

/>,/>,


где />.

Импульс теплового потока излучения определяется по формуле:

/>, кДж/м2.

Воспламенение различного рода материалов зависит от величинытеплового импульса, а предельная величина импульса теплового потока для кожичеловека составляет 42 кДж/м2.

Предельно безопасный радиус (радиус эвакуации) для человекасоставляет />, м.

/>1.2.6 Оценкавоздействия вторичных поражающих факторов на пожарную обстановку

При возникновении пожара необходимо учитывать вторичныепоражающие факторы, такие как разрушения газопроводов, пробои и прорывыэлектропроводки, кабелей и т.п.

 

1.2.7 Воздействие пожара на людей и элементыобъекта

Во время пожара элементы объекта и люди подвергаютсятепловому излучению. Возможность возникновения очагов воспламенения и горенияустанавливается по данным возгораемости материалов. Ожоги, полученные человекомво время пожара, подразделяются на четыре степени по тяжести пораженияорганизма и вызываются тепловыми импульсами определенной величины. Так, ожогипервой степени могут быть вызваны тепловым импульсом 80-160кДж, второй степени — 160-400кДж, третьей — 400-600кДж, четвертой — 600кДж и выше. Степень полученныхожогов определяется и характером одежды человека и степенью ее возгораемости.


/>1.3 Оценка устойчивостиэлементов объекта

На основании расчетов необходимо определить степеньповреждения объекта и выявить необходимые меры по повышению устойчивости работыобъекта.

В данной работе принимается допущение, что при массе газа100 и более тонн последствия взрыва и горения сравнимы с последствиямиприменения ядерного оружия.


/>2. Расчетная часть

 

2.1 Исходные данные

Рабочее место оператора располагается в многоэтажномадминистративном здании с большой площадью остекления, степень огнестойкостиздания I — II, расстояние от здания до хранилища, где находится емкость с газом/> м, масса пропана — /> т, скорость ветра у земли /> м/с, расстояния междузданиями -/> м.

 

2.2 Расчет

 

2.2.1 Оценка воздействия воздушной ударной волны наэлементы объекта

/>

/> м,

т.к />следовательно,считаем />:

/>

/>м

/>, следовательно,предполагаем, что здание попадает в зону воздушной ударной волны и считаемизбыточное давление /> для этой зоны. Определимвеличину

/>

/>; так как />, то

/>кПа.

Выводы:

здание попадает в зону сильных и полных разрушений. Приизбыточном давлении />кПа зданиеполучит сильные и полные разрушения, т.е. нарушение несущих конструкций иперекрытий верхних этажей, с образованием трещин в стенах и деформациейперекрытий нижних этажей. Использование помещений становится невозможным, аремонт нецелесообразным.

Большая вероятность того, что здание будет полностьюразрушено и единственным фактором, смягчающим действие воздушной ударной волны,являются большие оконные проемы. Здания с большим количеством и большойплощадью проемов более устойчивы, так как в первую очередь разрушаютсязаполнения премов, а несущие конструкции при этом испытывают меньшую нагрузку,следовательно при взрыве ГПВС будут выбиты стекла. При этом возможны пораженияоператора и техники как разрушенными перекрытиями, так и осколками стекла.

Так как плотность застройки невелика (меньше 50%), тоэкранирующее действие близлежащих зданий незначительно и давление ударной волнына здания не уменьшается.

 

2.2.2 Оценка пожарной обстановки

Радиус огненного шара:

/> м,

время его существования


/>сек.

Поток излучения /> отогненного шара:

/>, />=270кВт/м2,/>,

/>,

/> кВт/м2.

Импульс теплового потока излучения равен:

/>, кДж/м2.

Выводы: так как расчетная величина импульса теплового потокаравна 470кДж/м2, а предельная величина импульса теплового потока длякожи человека составляет 42кДж/м2 [Л2], то человек получит ожоги третьейстепени. Одежда на человеке должна быть плотная и преимущественно изнатуральных материалов, т.к синтетические ткани вспыхивают гораздо быстрее. Предельнобезопасный радиус (радиус эвакуации) для человека составляет /> м, так что можно сделатьвывод, что здание находится в недопустимой близости от хранилища сжиженныхуглеводородов. Техника, размещенная в здании, также получит повреждения,оплавятся пластмассовые части. Кроме того, возможно возникновение пожаров из-завторичных поражающих факторов: пробоев и нарушения электропроводки. Так как приэтом здание имеет I — II степень огнестойкости и по категориям пожароопасностипроизводство относится к категории Д, то возможны не сплошные пожары, а тлениеи горение в завалах, с учетом того, что здание получит сильные и полныеразрушения.

Так как среднее расстояние между зданиями 40-50м, а при I иII степенях огнестойкости зданий для возникновения сплошных пожаров расстояниемежду зданиями должно быть не больше 10-15м, то вероятность возникновениясплошных пожаров мала. Скорость ветра также будет мало влиять нараспространение пожара, т.к она невелика, а сплошных пожаров, как было сказановыше, не возникнет.


/>3. Предложения позащите

 

3.1 Отнесение хранилища на безопасное расстояние отздания

Найдем расстояние удаления, при котором здание получитслабые разрушения. Примем /> кПа.

/>

После преобразований, полагая />кПа,следует:

/>, отсюда />, т.к />, следовательно

/> м. –

расстояние, на которое необходимо переместить склад сосжиженными углеводородами от административного здания, чтобы оно получилослабые повреждения.

Защита оператора:

комнату, в которой располагается рабочее место оператора, нерекомендуется располагать в части здания, обращенной к хранилищу, чтобыизбежать повреждения оборудования и ранений оператора осколками стекол иобломками оборудования. Возможно также возведение защитной стены либо вокругхранилища, либо перед административным зданием.

Найдем минимальное расстояние удаления, при котором зданиене получит разрушений. Примем />кПа.


/>

После преобразований, полагая />кПа,следует:

/>,

отсюда />, т.к />, следовательно

/> м. –

расстояние, на которое необходимо переместить склад сосжиженным пропаном, чтобы здание не получило повреждений.

 

3.2 Уменьшение массы хранимого пропана

В качестве еще одной меры предосторожности можно уменьшитьмассу хранимого пропана.

Посчитаем массу пропана, при которой импульс тепловогопотока излучения />, кДж/м2,минимален. Примем /> кДж/м2,как пороговое значение чувствительности кожи человека, при котором он неполучает ожогов.

/>, /> кВт/м2, />,

следовательно,


/>, />

Составим систему уравнений:

/>

/>

/>

/>

/>

Подставим во второе уравнение значения />, /> и />, выразим /> через />. Получим уравнение:

/>,

подставим

/>,

после некоторых преобразований получим:

/>,

отсюда /> т,следовательно общая масса газа />т.

При этом />кПа. Можносделать вывод, что при массе газа 12.72т здание подвергнется слабымразрушениям, а импульс теплового потока будет неопасным для техники и здоровьячеловека.

Защита оператора:

рекомендуется также в дополнение принять мерыпредосторожности по расположению рабочего места оператора, рассмотренные в п.3.1

Можно вычислить массу газа, при котором избыточное давлениево фронте ударной волны не окажет разрушающего воздействия на здание.

Примем

/>кПа, />, />,

/> м,

подставляем /> в />, и находим />т. Можно сделать вывод, чтопри данной массе газа хранилище можно оставить на расстоянии 315м отадминистративного здания без каких бы то ни было последствий.

В любом случае рекомендуется производить подобные расчетыпри планировании расположения административных зданий в непосредственнойблизости от опасных объектов.

 

3.3 Меры по предупреждению аварийной ситуации нахранилище пропана

Необходимо также предусмотреть меры по предотвращениюаварийной ситуации на хранилище пропана:

Датчики высокой чувствительности, реагирующие на превышениенормы концентрации газа в воздухе при повреждении емкости с пропаном. При этомдолжна срабатывать сигнализация в диспетчерской или аварийной службе.

Датчики высокой чувствительности, реагирующие на превышениенормы температуры в хранилище, также снабженные сигнализацией.

Датчики высокой чувствительности, реагирующие на превышениенорм давления в хранилище пропана, снабженные сигнализацией.

Наличие систем вентиляции.

Система автоматических клапанов на газопроводах, которыеавтоматически перекрываются при резком возрастании расхода газа (резкоевозрастание расхода газа как правило свидетельствует о прорыве газапровода).

 

3.4 Меры по защите административного здания

Строительство зданий и сооружений соответствующейогнестойкости и устойчивости к поражающим факторам ударной волны.

Конструирование и проектирование здания с учетом требованийпротивопожарной безопасности.

 

3.5 Меры по индивидуальной защите оператора

Наличие средств индивидуальной защиты у персонала напроизводстве.

Обучение персонала оказанию первой медицинской помощи.

Наличие плана эвакуации.

Наличие средств пожаротушения.


/>ЭргономикаВведение

В современном мире технический прогресс приводит ксущественному изменению условий, средств и характера трудовой деятельности. Впроизводстве, на транспорте, в системах связи, строительстве и сельскомхозяйстве все шире применяются автоматы и вычислительная техника, происходитавтоматизация многих вычислительных процессов.

Благодаря техническому перевооружению производствасущественно меняются функции и роль человека. Многие операции, которые раньшебыли его прерогативой, сейчас начинают выполнять машины, однако, каких быуспехов ни достигала техника, труд был и остается достоянием человека, амашины, как бы сложны они ни были, остаются лишь орудиями его труда. В связи сэтим возникла новая дисциплина — эргономика, которая вобрала в себя методыцелого ряда дисциплин — психологии и физиологии труда, производственноймедицины, гигиены труда, научной организации труда, инженерной психологии иряда других дисциплин.

Эргономика — это дисциплина, комплексно изучающая человека (группулюдей) в конкретных условиях его (их) деятельности, связанной с использованиемтехнических средств.

Во время работы часто возникают ситуации, в которых операторЭВМ должен за короткий срок принять правильное решение. Для успешного труда втаких условиях необходима рационально организованная окружающая среда,ограждающая работника от воздействия посторонних раздражителей, которыми могутбыть мрачная окраска ЭВМ и помещения ВЦ, неудобное расположение сигнализации,клавиш управления и т.п. Поэтому всеми средствами нужно снижать утомление инапряжение оператора ЭВМ, создавая обстановку производственного комфорта.

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

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

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


/>1. Теоретическая часть

 

1.1 Базовый подход к конструированию рабочего местаоператора

При разработке перспективных рабочих мест широкоиспользуется базовый метод конструирования и его разновидности (функционально-модульный,функционально-узловой и функционально-блочный методы), основанные на принципахфункциональной и размерной взаимозаменяемости, схемной и конструкторскойунификации. Базовый метод имеет ряд важных преимуществ:

позволяет упростить процесс конструирования и макетирования;

обеспечивает возможность непрерывного совершенствованияаппаратуры без коренных изменений конструкции;

сокращает объем конструкторской документации на этапепроизводства;

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

Функционально-модульный метод позволит полнее удовлетворитьвсе более ужесточающиеся требования технической эстетики к композиционнойцелостности, рациональности формы и качеству производственного исполненияизделий. Реализация этих требований позволит устранить разнохарактерностьизделий, визуально и конструктивно не стыкующихся друг с другом.

 

1.2 Понятие рабочего места и рабочей зоны оператора

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

Если рабочее место оператора не представляет собойконструктивно законченного изделия, а состоит из набора отдельных техническихсредств, то говорят о рабочих зонах операторов. Для рабочих зон операторовхарактерна гибкость, перестраиваемость, наращивание функций технических средствпри их эксплуатации.

 

1.3 Формирование типового состава рабочей зоны

В общем случае в типовой состав рабочей зоны включают:

средства отображения информации индивидуального пользования(блоки отображения дисплеев, экраны персональных ЭВМ, и т.п.);

средства управления и ввода информации (пульты дисплеев,клавиатура и устройства позиционирования курсора);

устройства печати, документирования и хранения информации;

вспомогательное оборудование (средства оргтехники, хранилищадля носителей информации, устройства местного освещения и т.д.)

стол и кресло оператора.

При эргономической оценке рабочего места оператора необходимовыбрать два-три эргономических принципа в качестве ведущих. Эргономическимипринципами, которые необходимо учитывать при формировании рабочей зоныоператора, могут быть следующие:

учет последовательности и частоты использования отдельныхсредств в течение рабочей смены;

учет требований к скорости и точности приема информацииоператором;

учет особенностей конструктивного выполнения техническихсредств и аппаратуры.


/>1.3.1 Организацияпространства рабочего места оператора

Рабочее место оператора складывается из [Л2]:

пространства, занимаемого оборудованием;

пространства необходимого для технического обслуживания иремонта;

зоны проходов, обеспечивающей нормальное функционированиеоборудования;

сенсомоторного пространства (части пространства рабочегоместа, в которой осуществляется двигательная и сенсорная работа человека).

 

1.3.2 Условия, которым должна удовлетворять рабочаязона

Пространственные и размерные соотношения между элементамирабочего места должны быть достаточными для:

размещения работающего человека с учетом его рабочихдвижений и перемещений согласно технологическому процессу;

расположения средств управления в пределах максимальной и минимальнойграниц моторного пространства;

оптимального обзора визуальной информации,

смены рабочей позы и рабочего положения;

свободного доступа к оборудованию при ремонте и наладке;

рационального размещения основных и вспомогательных средствтруда;

ведения записей, работы с документами и приборами.

В данном дипломном проекте ведущие эргономические принципы,характерные для рабочего места оператора и его реализация, будут рассмотрены вразделе 2.


/>2. Реализацияэргономической оценки рабочего места оператора

Выберем в качестве основных эргономических требованийорганизации рабочего места оператора следующие:

особенности конструктивного выполнения и расположениятехнических средств и аппаратуры;

длительность работы с данной аппаратурой;

точность и эффективность приема информации.

Первый принцип определяется выбранной аппаратурой, тогда каквторой и третий зависят от первого и определяют функциональное состояниеоператора.

 

2.1 Основные эргономические требования,предъявляемые к дисплею

Экран монитора должен размещаться на столе или на подставкетак, чтобы расстояние наблюдения информации на его экране не превышало 700мм,оптимальное расстояние — 450-500мм.

Экран дисплея по высоте должен быть расположен на столе илиподставке так, так, чтобы угол между нормалью к центру экрана и горизонтальнойлинией взора составлял 20 градусов.

Зрительный комфорт в основном определяется следующимифакторами:

размерами знаков;

расстояние между знаками по горизонтали: 0,25 высоты знака;

расстояние между строками: 0,5-1,0 высоты знака;

количеством знаков в строке: 4-80;

максимально допустимым количеством строк для цветногоизображения: не более 25.

Схема размещения алфавитно-цифрового дисплея (АЦД) приведенана рисунке 1.


/>

Рис. 1


Угол наблюдения экрана, а также других средств отображения вгоризонтальной плоскости (угол разворота блока отображения АЦД относительнооператора) в общем случае не должен превышать 60 градусов. При наличии трех иболее дисплеев в рабочей зоне допускается увеличение этого угла, но он недолжен превышать 90 градусов. При этом должно использоваться вращающееся кресло.

/>2.2 Основныеэргономические требования, предъявляемые к клавиатуре

Пульт дисплея должен быть размещен на столе или подставкетак, чтобы высота клавиатуры пульта по отношению к полу составляла 650-720 мм. Приразмещении пульта на стандартном столе высотой 750 мм необходимо использоватькресло с регулируемой высотой сиденья и подставку под ноги. Пульт рекомендуетсяразмещать прямо перед оператором или левее, если предполагается работаоператора с документами и ведение записей.

Для оператора ввода данных документ (бланк) рекомендуетсярасполагать на расстоянии 450-500 мм от глаз оператора, преимущественно слева,при этом угол между экраном АЦД и документом в горизонтальной плоскости недолжен превышать 30-40 градусов.

Клавиатуру, манипулятор “мышь" следует располагать воптимальной зоне — части пространства рабочего места, ограниченного дугами,описываемыми предплечьями при движении в локтевых суставах с опорой в точкелоктя и с относительно неподвижным плечом. Эта зона составляет не более 300 — 400ммот точки опоры локтя оператора [23].


/>2.3 Размещение креслаоператора в рабочей зоне

Кресло оператора должно быть устойчивым. Его конструкция,размеры, форма, наклон сиденья и спинки должны позволять сидеть, выпрямившись,поддерживая тяжесть верхней части туловища не напряжением мышц спины, а путемопоры на спинку. Лучшей является квадратная форма сиденья со сторонами равными400 мм, и с выемкой, соответствующей форме бедра.

Сиденье должно иметь некоторый наклон назад (на 5-6 градусов),обеспечивающий устойчивость позы, высота сиденья кресла от поля 400-450 мм. Еслипо условиям работы сиденье расположено выше, необходимо иметь подставку для ног.Спинка кресла должна иметь вогнутую форму.

Рекомендуемая ширина спинки 300 мм. Угол наклона спинкиследует выбирать в зависимости от назначения кресла. Для оператора, работающегоза пультом с ЗПТ, оптимальным является наклон 5-10 градусов. При длительнойработе за пультом (более 6 часов), если во время работы необходим отдых,целесообразно иметь возможность изменить по желанию оператора угол наклонаспинки стула, но не более чем на 45 градусов.

 

2.4 Размещение устройств документирования

Устройства документирования, ввода-вывода информациирекомендуется располагать справа от оператора в зоне максимальной досягаемости.Шумящие устройства следует выносить за пределы рабочей зоны.

/>2.5 Расположениерабочего места оператора в помещении

Во время работы часто возникают ситуации, в которых операторЭВМ должен за короткий срок принять правильное решение. Для успешного труда втаких условиях необходима рационально организованная окружающая среда.

/>

В ВЦ, как правило, применяют одностороннее естественноебоковое освещение, причем светопроемы с целью уменьшения солнечной инсоляцииустраивают с северной, северо-восточной или северо-западной ориентацией. Вмашинных залах рабочие места операторов, работающих с дисплеями, располагаютподальше от окон и таким образом, чтобы оконные проемы находились сбоку. Еслиэкран дисплея обращен к оконному проему, необходимы специальные экранирующиеустройства (рис.2). Окна рекомендуется снабжать светорассеивающими шторами,регулируемыми жалюзи или солнцезащитной пленкой с металлизированным покрытием [17].

Рис. 2

1 — окно, 2 — полупрозрачный экран

  Экран АЦД, документы, клавиатура пульта должны быть расположены так,чтобы перепад яркостей их поверхностей, зависящий от их расположенияотносительно источников света, не превышал 1: 10 при рекомендуемом значении 1: 3.При яркости изображения на экране 50-100 кд/м (номинальное значение) освещенностьдокумента должна составлять 300-500 лк. Должны быть исключены слепящие яркости,блики и отображения от стекла экрана.

Для исключения засветки экранов дисплеев прямыми световымипотоками светильники общего освещения располагают сбоку от рабочего места,параллельно линии зрения оператора и стене с окнами.

Также размещение светильников позволяет производить ихпоследовательное включение в зависимости от величины естественной освещенностии исключает раздражение глаз чередующимися полосами света и тени, возникающеепри поперечном расположении светильников. [17].

Для обеспечения оптимальных условий работы операторовдисплейных устройств необходима определенная цветовая отделка помещений. Так,при использовании экранов красновато-желтого цвета с яркостью свечения до 15кд/м2стену, противоположную экранам, окрашивают в насыщенный темно-коричневый цвет скоэффициентом отражения /> =0.2, аостальные стены — в красно-коричневый цвет с /> =0.35.При восприятии информации на экране зеленого цвета целесообразно окрашиватьстену, на которую направлен взгляд оператора, в оливково-зеленый цвет с /> =0.4. Окраске поверхностейследует придавать матовую фактуру [17].


/>Заключение

Итак, при эргономической оценке рабочего места оператора вкачестве основных эргономических требований были выбраны следующие:

особенности конструктивного выполнения и расположениятехнических средств и аппаратуры;

длительность работы с данной аппаратурой;

точность и эффективность приема информации.

Результаты сведены в Таблицу 1, в которой отраженытехнические характеристики устройств и их влияние на каждое из эргономическихтребований.

Таблица 1.

Элементы рабочего места оператора Технические характеристики, предъявляемые к элементу рабочего места оператора На какое требование влияет данная характеристика Экран монитора Оптимальное расстояние наблюдения информации на экране монитора — 450-500мм. 2

Расстояние между знаками по горизонтали: 0,25 высоты знака;

расстояние между строками: 0,5-1,0 высоты знака;

количество знаков в строке: 4-80;

максимально допустимое количество строк для цветного изображения: не более 25.

2, 3 Угол наблюдения экрана не должен превышать 60 градусов. При наличии трех и более дисплеев в рабочей зоне допускается увеличение этого угла, но он не должен превышать 90 градусов. 2 Клавиатура

Клавиатура должна быть размещена на столе или подставке так, чтобы высота клавиатуры пульта по отношению к полу составляла 650-720мм. При размещении пульта на стандартном столе высотой 750мм необходимо использовать кресло с регулируемой высотой сиденья и подставку под ноги.

Клавиатуру, манипулятор “мышь" следует располагать в оптимальной зоне -не более 300 — 400мм от точки опоры локтя оператора.

1, 2 Бланк данных Для оператора ввода данных документ (бланк) рекомендуется располагать на расстоянии 450-500 мм от глаз оператора, преимущественно слева, при этом угол между экраном АЦД и документом в горизонтальной плоскости не должен превышать 30-40 градусов. 2, 3 Кресло оператора Конструкция кресла оператора должна позволять сидеть, поддерживая тяжесть верхней части туловища не напряжением мышц спины, а путем опоры на спинку. Форма сиденья — квадратная со сторонами 400 мм, и с выемкой, по форме бедра. Наклон сиденья назад — 5-6 градусов, высота сиденья кресла от пола 400-450 мм. Если сиденье расположено выше, необходимо иметь подставку для ног. Спинка кресла должна иметь вогнутую форму, ширина спинки — 300 мм. Угол наклона спинки 5-10 градусов. При работе более 6ч на время отдыха угол наклона спинки можно изменить, но не более чем на 45 градусов. 1, 2

Устройства документи-

Рования

Устройства документирования информации рекомендуется располагать справа от оператора в зоне максимальной досягаемости, шумящие выносить за пределы рабочей зоны. 1, 3 Окружающее помещение

Экран АЦД, документы, клавиатура пульта должны быть расположены так, чтобы перепад яркостей их поверхностей, зависящий от их расположения относительно источников света, не превышал 1: 10 при рекомендуемом значении 1: 3. При яркости изображения на экране 50-100 кд/м (номинальное значение) освещенность документа должна составлять 300-500 лк. Должны быть исключены слепящие яркости, блики и отображения от стекла экрана.

При использовании экранов красновато-желтого цвета с яркостью свечения до 15кд/м2 стену, противоположную экранам, окрашивают в насыщенный темно-коричневый цвет с коэффициентом отражения /> =0.2, а остальные стены — в красно-коричневый цвет с /> =0.35. При восприятии информации на экране зеленого цвета стену, на которую направлен взгляд оператора, окрашивают в оливково-зеленый цвет с />=0.4. Окраске поверхностей следует придавать матовую фактуру.

1, 2, 3
/>Заключение

Результатом данного дипломного проекта является разработкапрограмм формирования и обработки запросов. Программы разработаны длятехнических средств АРМ РД и функционируют совместно с остальным ПО АРМ РД.

В процессе разработки программ выполнены требования кфункциональным характеристикам, условия эксплуатации и требования коперационной и программной совместимости. В заключительной части дипломногопроекта была дана оценка результатов работы программ и даны рекомендацииоператору АРМ РД.

Объем памяти, занимаемый программой равен: V = 64 Кбайта.

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

Договорная цена разработки составляет: Цд = 916 152 руб. вценах 1998г.

В разделе “Охрана труда и техника безопасности” был выбраноптимальный режим освещенности и проведен расчет информационной нагрузкиоператора.

Значение информационной нагрузки оператора АРМ РД составляет0.6 бит/с.

В разделе “Гражданская оборона" были приведенытребования по инженерной защите оператора и оборудования ПЭВМ от воздействиявысоких температур при взрывах в ЧС мирного времени.

В разделе “Эргономика" была произведена оценка рабочегоместа оператора и разработано оптимальное рабочее место оператора.


Организационно-экономическая частьБизнес-план разработки

Данный дипломный проект предполагает создание локальной вычислительнойсети для одного из подразделений организации-заказчика и обеспечение в этойсети необходимого уровня защиты информации.

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

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

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

Данный раздел проекта включает в себя расчет затрат на тему,определение договорной цены разработки и составление сетевого графика работ.

ОПРЕДЕЛЕНИЕ ЗАТРАТ НА ТЕМУ.

Для определения затрат на тему необходимо рассчитатьследующие статьи расхода:

основная заработная плата персонала,

дополнительная заработная плата,

отчисления на социальные нужды,

производственные командировки,

оплата работ, выполняемых сторонними организациями,

накладные расходы,

основные материалы и покупные изделия.

Основная заработная плата определяется как произведениетрудоемкости выполнения каждого этапа (вида работ) в человеко-днях,переведенных в человеко-месяцы, и величины месячного должностного окладаисполнителя.

Результаты расчета приводятся в таблице 2.1

Таблица 2.1 Основная заработная плата персонала по теме

N

п/п

Наименование

этапов

Исполнители Трудоемкость, в чел. мес. Должностной оклад, руб. Затраты по зарплате, руб. 1. Проведение НИР.

Нач.

Отдела

Вед. инж

Инж.1 кат.

5

5

15

2000

1200

1000

10000

6000

15000

2. Монтаж сети.

Монтажник

Рабочий

Инж.1 кат.

5

5

2

700

700

1000

3500

3500

2000

3. Наладка сети.

Вед. инж

Монтаж-ник

Инж.1 кат.

2

2

7

1200

700

1000

2400

1400

7000

Итого 50800

Таким образом, основная заработная плата персоналасоставляет 50800 руб.

Зосн = 50800 руб.

Дополнительная заработная плата научного и производственногоперсонала составляет 20% от основной.

Здоп = Зосн * 0.2 = 50800 * 0.2 = 10160 руб.

Отчисления на социальные нужды составляют 38.5% от суммыосновной и дополнительной зарплат.

Зсн = 0.385 * (Зосн + Здоп) =

= 0.385 * (50800 + 10160) = 23470 руб.

Расчет затрат на материалы и покупные изделия производитсяна основе сводной ведомости (табл.2.2). (Цены на изделия приняты на началооктября 1998г).

Таблица 2.2. Затраты на материалы и покупные изделия

Материал,

покупное изделие

Количество,

ед.

Цена за ед.,

руб.

Сумма,

руб.

Сервер 4 36000 144000 Раб. станция 60 18000 1080000 Сетевое оборудование 8 1260 100800 Кабель 500 (м) 36 18000 Итого 1342800

В стоимость материальных затрат включаются также итранспортно-заготовительные расходы. Они составляют 10% от Змат.

Зтр = 0.1 * Змат

Зтр = 0.1 * 1342800 = 134280 руб.

Общая стоимость материальных затрат определяется как суммаЗмат и Зтр.

Змато = Змат + Зтр

Змато = 1342800 + 134280 = 1477080 руб.

Накладные расходы составляют 250% от основной зарплатыпроизводственного пресонала и считаются по формуле:

Зн = 2.5 * Зосн = 2ю5 * 50800 = 127000 руб.

Затраты, связанные с услугами смежных организаций составляют20% от Зосн. В данной работе к услугам смежников не прибегают, и,следовательно, эта статья не учитывается при дальнейших расчетах калькуляции натему.

Командировки составляют 20% от суммы основной идополнительной заработных палат:

Зком = 0.2 * (Зосн + Здоп); Зком = 0.2 * (50800 + 10160) =12192 руб.

Все расчеты по статьям калькуляции работы сведены в таблицу 2.3.


Таблица 2.3 Сметная калькуляция по теме.

N п/п Статья расхода Сумма, руб. 1. Основная заработная плата 50800 2. Дополнительная заработная плата 10160 3. Отчисления на социальные нужды 23470 4. Производственные командировки 12192 5. Оплата работ, выполняемых сторонними организациями - 6. Накладные расходы 127000 7. Материалы и покупные изделия 1477080 Итого 1700702

Таким образом себестоимость разработки составляет 1700702руб.

С = 1700702 руб.

ОПРЕДЕЛЕНИЕ ДОГОВОРНОЙ ЦЕНЫ РАЗРАБОТКИ.

С помощью рассчитанной выше себестоимостью разработки можноопределить ее договорную цену. Она рассчитывается по формуле:

Цд = С + Фз. п. * Нр * К / 100, где (2.1)

С — себестоимость разработки,

Фз. п. — заработкая плата сотрудников, непосредственноучаствующих в выполнении работы, руб.,

Нр — рентабельность,%,

К — коэффициент, учитывающий заработную плату обслуживающихи управленческих подразделений.

Рентабельность рассчитывается в целом по организации впроцентах к общему фонду заработной платы исходя из обязательного обеспечениявыплаты фиксированных платежей. Корректирующий коэффициент К такжерассчитывается в целом по организации как отношение общего фонда заработнойплаты к фонду заработной платы подразделений, непосредственно занятыхпроведением НИР. Величены Нр и К принимаются по данным НИИ, где выполняетсядипломный проект.

При С = 1700702 руб., Фз. п. = Зосн + Здоп = 60960 руб., Нр= 15%, К = 5

определим договорную цену на разработку:

Цд = 1700702 + 60960 * 15 * 5/100 =

= 1746422 руб.

Договорная цена разработки составила 1746422 руб.

ПЛАНИРОВАНИЕ РАБОТ ПО ТЕМЕ С ПРИМЕНЕНИЕМ СЕТЕВЫХ МЕТОДОВ.

Как правило, планирование работ по теме усложняется тем, чтов работе участвуют несколько исполнителей, начало многих работ зависит отрезультатов других и т.д. В таких условиях наиболее удобными являются системысетевого планирования и управления (СПУ).

Планирование НИР с применением сетевого метода ведется вследующем порядке:

составляется перечень событий и работ,

устанавливается топология сети,

строится сетевой график по теме,

определяется продолжительность работ,

рассчитываются параметры сетевого графика,

определяется продолжительность критического пути,

проводится анализ и оптимизация сетевого графика.

Перечень событий приведен в таблице 2.4, перечень работ и ихпродолжительности — в таблице 2.5. На основании этих перечней строится сетевойграфик, изображенный на рис.2.1.


Таблица 2.4 Перечень событий сетевого графика.

Код события Событие 1. ТЗ на систему разработано. 2. ТЗ на систему утверждено. 3. Спецификация закупаемых ТС разработана. 4. Спецификация закупаемого ПО разработана. 5. Спецификация закупаемых ТС утверждена. 6. Спецификация закупаемого ПО утверждена. 7. Входной контроль закупаемых ТС проведен. 8. Входной контроль закупаемого ПО проведен. 9. Стенд создан. 10. Установлена и настроена сетевая ОС. 11. Установлено антивирусное ПО. 12. Установлены и отлажены специальные программные средства защиты информации. 13. Разработана и выпущена инструкция по использованию антивирусного ПО. 14. Разработана и выпущена инструкция по использованию встроенных средств защиты сетевой ОС. 15. Определены требования к дополнительным программным средствам по защите информации. 16. Разработана инструкция сетевому администратору по применению специальных средств защиты информации. 17. Разработка рекомендаций по использованию средств защиты на ЛВС заказчика. 18. Закончены работы по созданию системы защиты информации на ЛВС заказчика. 19. Закончены работы по испытанию и сдаче заказчику системы. 20. Оформлен протокол и акт испытаний.

Таблица 2.5 Перечень работ сетевого графика.

i-j Работа tmin tmax to 1-2 Утверждение ТЗ на систему. 25 30 27 2-3 Разработка спецификации закупаемых ТС. 5 7 6 2-4 Разработка спецификации закупаемого ПО. 10 12 11 3-5 Утверждение спецификации закупаемых ТС. 2 3 2 4-6 Утверждение спецификации закупаемого ПО. 3 4 3 5-7 Проведение входного контроля закупаемых ТС. 5 7 6 6-8 Проведение входного контроля закупаемого ПО. 10 14 12 7-9 Монтаж стенда. 10 15 12 9-10 Наладка стенда. 3 4 3 8-10 Установка сетевой ОС. 2 3 2 10-11 Установка антивирусного ПО. 2 3 2 10-12 Установка специальных программных средств защиты информации. 2 3 2 11-13 Разработка инструкции по использованию антивирусного ПО. 8 10 9 10-14 Разработка инструкции по использованию встроенных средств защиты сетевой ОС. 20 24 22 12-15 Формирование требований к дополнительным программным средствам по защите информации. 22 26 24 i-j Работа tmin tmax to 12-16 Разработка инструкции сетевому администратору по применению специальных средств защиты информации. 25 29 27 13-17 Выпуск инструкции по использованию антивирусного ПО. 5 8 6 14-17 Выпуск инструкции по использованию встроенных средств защиты сетевых ОС. 7 9 8 15-17 Выпуск инструкции по применению дополнительных программных средств защиты. 5 6 5 16-17 Выпуск инструкции сетевому администратору по применению специальных средств защиты. 5 7 6 17-18 Проведение работ по созданию системы защиты информации на ЛВС заказчика. 35 42 38 18-19 Проведение испытаний и сдача системы заказчику. 24 30 27 19-20 Оформление протокола и акта испытаний. 4 6 5 /> /> /> /> /> /> />

Выполнение больщинства работ по разработке нового изделиявсегда связано с элементами неоднородности. Их продолжительность зависит от многихфакторов, предвидеть которые очень трудно. Поэтому в системе сетевогопланирования предложено определить две вероятностные оценки времени: оптимистическуюи пессимистическую. Оптимистическая оценка — максимально необходимое время длявыполнения данной работы при наиболее благоприятных условиях. Пессимистическаяоценка — максимально необходимое время для выполнения работы при наиболеенеблагоприятных условиях. В данной работе эти оценки берутся по опытупредыдущих разработок и все времена определяются в рабочих днях. Для расчетаожидаемой продолжительности работ используется формула:


to = (3tmin + 2tmax) / 5, (2.2)

где to — ожидаемая продолжительность работ,

tmin — оптимистическая оценка,

tmax — пессимистическая оценка.

После построения графика и сбора необходимых данныхрассчитывают параметры сети: сроки свершения событий, резервы времени,продолжительность критического пути.

Любая последовательность работ в сети называется путем. Путь,имеющий наибольшую продолжительность называется критическим (Tкр). В даннойработе критический путь равен 161 дня и выделен на рис.2.1 жирной линией.

Для расчета сети «в терминах событий» используютсяследующие понятия. Ранний срок наступления события (Tpi) — минимальный срок,необходимый для выполнения всех работ, предшествующих данному событию. Раннийсрок наступления события i определяется по формуле:

Tpi = max åtoij. (2.3)

Поздний срок наступления события (Tni) — максимальнодопустимый срок наступления события i, при котором сохраняется возможностьсоблюдения ранних сроков наступления последующих событий. Поздний срокопределяется по формуле:

Tni = Tкр — max åto. (2.4)

Все события в сети, кроме лежащих на критическом пути имеютрезерв времени (Ri), который определяется по формуле:

Ri = Tni — Tpi. (2.5)

При описании сети «в терминах работ» определяютсяранние и поздние сроки начала и окончания работы. Ранний срок начала — Трнij =Трi, поздний срок начала — Тпнij = Tni — tij, ранний срок окончания — Троij =Трi + tij, поздний срок окончания — Тпоij = Tnj.

Работы сетевой модели могут иметь два вида резервов: полный(Rnij) и свободный (Rcij). Полный резерв показывает, на сколько может бытьувеличена продолжительность данной работы или сдвинуто ее начало так, чтобыпродолжительность максимального из проходящий через нее путей не превысилакритического пути. Полный резерв определяется

Rnij = Tnj — Tpi — tij. (2.6)

Свободный резерв указывает максимальное время, на котороеможно увеличить продолжительность данной работы или изменить ее начало, неменяя ранних сроков начала последующих работ. Определяется в виде:

Rcij = Tpj — Tpi — Tij. (2.7)

Результаты расчета параметров сетевого графика представленыв таблице 2.6

Таблица 2.6 Временные параметры работ сетевого графика.

i-j toij Tрнij Троij Тпнij Tпоij Rnij Rcij 1-2 27 27 27 2-3 6 27 33 27 33 2-4 11 27 38 27 38 3-5 2 33 35 33 35 4-6 3 38 41 39 42 1 5-7 6 35 41 35 41 6-8 12 41 53 42 54 1 7-9 12 41 53 41 53 9-10 3 53 56 53 56 8-10 2 53 55 54 56 1 1 10-12 2 56 58 56 58 10-11 2 56 58 56 58 11-13 9 58 67 76 85 18 i-j toij Tрнij Троij Тпнij Tпоij Rnij Rcij 10-14 22 56 78 56 78 12-15 24 58 82 62 86 4 12-16 27 58 85 58 95 10 13-17 6 67 73 85 91 18 18 14-17 8 78 86 83 91 5 5 15-17 5 82 87 86 91 4 4 16-17 6 85 91 85 91 17-18 38 91 129 91 129 18-19 27 129 156 128 156 19-20 5 156 161 156 161

Анализ сетевого графика включает классификацию и группировкуработ по величине резервов (полных и свободных), определение коэффициентовнапряженности путей, расчет вероятности наступления завершающего события взаданный срок.

Коэффициент напряженности пути Кн (L) определяется поформуле

Т (L) — Т’кр (L)

Кн (L) = — — —, (2.8)

Ткр — Т’кр (L)

где Т (L) — продолжительность пути, для которогоопределяется коэффициент напряженности,

Т’кр (L) — продолжительность работ данного пути (L),совпадающих с работами критического пути.

Коэффициенты напряженности работ данной разработки приведеныв таблице 2.7

Найдем вероятность выполнения всего комплекса работ (Рк) задирективный срок 162 дня. Эта вероятность определяется с помощью аргументанормальной функции распределения вероятностей:

Tд — Tкр

x = — — —, (2.9)

Öå stкрij

где n — число работ, лежащих на критическом пути, Тд — директивныйсрок, s = 0,04 (tmax — tmin) — дисперсияработы i,j критического пути (значения дисперсий приведены в таблице 2.7).

Значение Рк находим по ее аргументу х, используя таблицуинтегралов Фурье.

Таблица 2.7 Параметры сетевого графика.

i-j Кн stкрij i-j Кн stкрij 1-2 1,0 1,0 10-12 1,0 0,04 2-3 1,0 0,16 10-14 0,2 0,64 2-4 0,08 0,16 11-13 0,1 0,16 3-5 1,0 0,04 12-15 0,23 0,64 4-6 0,1 0,04 12-16 1,0 0,64 5-7 1,0 0,16 13-17 0,16 0,36 6-8 0, 19 0,64 14-17 0,29 0,16 7-9 1,0 1,0 15-17 0,28 0,04 8-10 0,2 0,04 16-17 1,0 0,16 9-10 1,0 0,04 17-18 1,0 1,96 10-11 0,02 0,04 18-19 1,0 1,44 19-20 1,0 0,16

Аргумент нормальной функции распределения вероятностей равен0,32. Используя таблицу интеграла Фурье, находим значение функции Рк = 0,63. Таккак значение Рк попадает в интервал 0,35 < Рк < 0,65, то сетевой графикне нуждается в оптимизации.


/> <td/> />
Рис.2.1 Сетевой график.
/>Приложение 1

Тексты программ

 // inquiry. prj

 // INQUIRY\inquiry. c

 // main (), initsearch (),mem_args ()

 // программа обработки запросов

#include <stdio.h>

#include <stdlib. h>

#include <string. h>

#include <fcntl. h>

#include <sys/stat. h>

#include <io. h>

#include <dos. h>

#include <alloc. h>

#include «pxengine. h»

TABLEHANDLE tblh; // дескриптор таблицы

RECORDNUMBER low,high; // границы интервалапоиска

int nflds; // кол-во полей в таблице

int nformat; // формат результата

int handle; // дескриптор файла

void interval (long date1,long date2,char*time1, char *time2); // определение границ интервала поиска

void search3 (char *argv [], int *x); // поиск сперечислениями

void search2 (char *argv [], int *x, int n);// поиск без перечислений

void search1 (void); // поиск только по дате и времени

void initsearch (char *argv [], int *x, intp, int n); // выбор варианта поиска

void recprint (int nformat); // расшифровка записи БД встроку и запись этой строки в файл

char sag [7] [81] ={

«ДАТА ВРЕМЯ ТЕКСТ СООБЩЕНИЯ \r\n»,

«ДАТА ВРЕМЯ НАПР-Е А N РР ИСТ ВС ТЕКСТ СООБЩЕНИЯ \r\n»,

«ДАТА ВРЕМЯ НАПР-Е N РР ТЕКСТ СООБЩЕНИЯ \r\n»,

«ДАТА ВРЕМЯ НАПР-Е К-ВО ВС 1СЛ 2СЛ 3СЛ 4СЛ ТЕКСТСООБЩЕНИЯ \r\n»,

«ДАТА ВРЕМЯ ТИП-У П ВС ТЕКСТ СООБЩЕНИЯ \r\n»,

«ДАТА ВРЕМЯ КСУМ0 КСУМ1 КСУМ2 КСУМ3 \r\n»,

«ДАТА ВРЕМЯ КСУП1 КСУС1 КСУП2 КСУС2 КСУП3 КСУС3 \r\n»

}; // шапки таблиц

char *inqstr; // строки запроса

/* строка аргументов функции main:

argv [1] — имя файла БД; или "!", означающий, чтострока аргументов передается через память;

argv [2] — вариант поиска; 0 — поиск по всей БД, 1 — поиск ведином интервале по дате и времени, 2 — поиск в интервале времени по каждомудню интервала дат, 3 — поиск за один день в интервале времени;

argv [3] — дата;

argv [4] — время;

argv [5] и далее — искомые значения полей БД (argv [5] — третьегополя, argv [6] — четвертого поля и т.д.); "-" обоз-

начает любое значение данного поля; в случае несколькихискомых значений по одному полю (перечисление) они разделяются запятыми; пробелыв значениях заменены на '_'. */

void main (int argc,char *argv[])

{

int *x; // x [i] — количество искомых значений по i-му полю

int n=0; // количество полей, для которых заданы значениядля поиска

int p=0; // количество полей c перечислениями

 // значения x,n,p определяются без учета полей даты ивремени

char *name [] ={«all_inf»,«opi»,«shk»,«sbkdg»,«fk»,«ksum»,«ksum0»};

 // имена баз данных

long date1,date2; // граничные значения интервала дат

int a, i,j,k;

char *c;

char **mem_args (void);

RECORDHANDLE rech;

RECORDNUMBER num;

 // Получение аргументов в случае их передачи через память

if (argv [1] [0] =='! ')

{

argv=mem_args ();

for (argc=0; argv [argc]! =NULL; ++argc);

}

 // определение формата записи для базы данных, к которой

 // произведен запрос

for (i=0; i<=6; ++i)

if (! strcmp (name [i],argv [1]) ||! strcmp(name [i],argv [1] +5))

{ nformat=i; break; }

 // открытие файла результатов запроса (inquiry. res) и

 // запись в него строк запроса и шапки таблицы

for (i=argc-1; argv [i] [0] =='-'; — -i) argc--;

handle=open («inquiry. res»,

O_CREAT | O_TRUNC | O_WRONLY,S_IREAD |S_IWRITE);

for (i=1,j=0; i<argc;)

{

inqstr= (char *) calloc (82,1);

memset (inqstr+1,' ',79);

inqstr [79] ='\r';

inqstr [80] ='\n';

inqstr [81] ='\0';

for (c=inqstr; i<argc; ++i)

{

if (strlen (inqstr) +strlen (argv [i]) >78+j)

{

if (strlen (argv [i]) >50 && (strlen(inqstr) <70 || strlen (argv [i]) >78))

{

for (k=j+77-strlen (inqstr); argv [i] [k]!=','; — -k);

strcat (c," ");

strncat (c,argv [i] +j,k+1-j);

j=k+1;

}

break;

}

strcat (c," ");

strcat (c,argv [i] +j);

j=0;

}

inqstr [strlen (inqstr)] =' ';

_write (handle, inqstr,81);

free (inqstr);

}

_write (handle,sag [nformat],81);

 // инициализация работы с БД

j=coreleft () /1024-50;

if (j>256) j=256;

if (a=PXSetDefaults (j,1,30,MAXLOCKHANDLES,3,SortOrderAscii))printf ("\n%s",PXErrMsg (a));

if (a=PXInit ()) printf ("\n%s",PXErrMsg(a));

if (a=PXTblOpen (argv [1],&tblh,0,0)) printf("\n%s",PXErrMsg (a));

PXRecNFlds (tblh,&nflds);

x= (int *) calloc (argc+1,sizeof (int));

 // разбор аргументов запроса

for (i=5; i<argc; ++i)

{

if (argv [i] [0] =='-') continue;

++n;

for (c=argv [i],j=1; *c! ='\0'; ++c)

{

if (*c==',') ++j;

if (*c=='_') *c=' ';

}

x [i-2] =j;

if (j>1) ++p;

}

 // главный блок

switch (argv [2] [0])

{

case '0': low=1; PXTblNRecs (tblh,&high);

initsearch (argv,x,p,n);

break;

case '1':

PXDateEncode (atoi (argv [3]),atoi (argv [3]+3),atoi (argv [3] +6),&date1);

PXDateEncode (atoi (argv [3] +11),atoi (argv[3] +14),atoi (argv [3] +17),&date2);

interval (date1,date2,argv [4],argv [4] +9);

initsearch (argv,x,p,n);

break;

case '2':

PXDateEncode (atoi (argv [3]),atoi (argv [3]+3),atoi (argv [3] +6),&date1);

PXDateEncode (atoi (argv [3] +11),atoi (argv[3] +14),atoi (argv [3] +17),&date2);

interval (date1,date2,argv [4],argv [4] +9);

if (low==1 &&! high) break;

if (low==1)

{

PXRecBufOpen (tblh,&rech);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date1);

PXRecBufClose (rech);

}

PXTblNRecs (tblh,&num);

if (high==num)

{

PXRecBufOpen (tblh,&rech);

PXRecLast (tblh);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date2);

PXRecBufClose (rech);

}

for (; date1<=date2; ++date1)

{

interval (date1,date1,argv [4],argv [4] +9);

if (low>high) continue;

initsearch (argv,x,p,n);

}

break;

case '3':

PXDateEncode (atoi (argv [3]),atoi (argv [3]+3),atoi (argv [3] +6),&date1);

interval (date1,date1,argv [4],argv [4] +9);

initsearch (argv,x,p,n);

}

free (x);

if (a=PXTblClose (tblh)) printf ("\n%s",PXErrMsg(a));

PXExit ();

close (handle);

}

 // initsearch

 // выбор функции поиска

void initsearch (char *argv [], int *x, intp, int n)

{

if (low>high) return;

if (p) search3 (argv+5,x);

else if (n) search2 (argv,x,n);

else search1 ();

}

 // Функция mem_args возвращает адрес строки параметров в случаеее передачи через память

#include «conn_mem. h»

char **mem_args ()

{

char ***dat;

dat= (char ***) conn_mem ();

return dat [ARGS_OFF/4] ;

}

 // bs2_inq. prj

 // INQUIRY\interval. c

 // interval ()

 // определение граничных номеров интервала поиска

#include <stdio. h>

#include <stdlib. h>

#include «pxengine. h»

#include «def. h»

void interval (long date1,long date2,char*time1,char *time2)

{

RECORDHANDLE rech;

itoa (atoi (time2+6) +1,time2+6,10);

PXRecBufOpen (tblh,&rech);

PXPutDate (rech,1,date2);

PXPutAlpha (rech,2,time2);

if (PXRecInsert (tblh,rech)) printf («error»);

PXRecNum (tblh,&high);

high;

PXRecDelete (tblh);

PXPutDate (rech,1,date1);

PXPutAlpha (rech,2,time1);

if (PXRecInsert (tblh,rech)) printf («error»);

if (PXRecNum (tblh,&low)) printf («error»);

PXRecDelete (tblh);

PXRecBufClose (rech);

}

 // inquiry. prj

 // INQUIRY\recprint. c

 // recprint ()

 // форматирование и запись в файл найденной строки

#include <stdio. h>

#include <mem. h>

#include <io. h>

#include <dos. h>

#include «pxengine. h»

#include «def. h»

#include «disp. h»

void recprint ()

{

long date;

int month,day,year;

int format [7] [7] = {{21,0,0,0,0,0,0},{21,28,30,35,38,42,46},

{21,29,34,37,0,0,0},{ 21,29,35,38,43,48,53},

{ 21,27,29,33,0,0,0 },{ 21,28,35,42,49,0,0},

{ 21,28,35,42,49,56,63 } };

static char string [82]; // результирующаястрока

RECORDHANDLE rech;

union REGS r;

int a, i;

memset (string,' ',82);

PXRecBufOpen (tblh,&rech);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date);

PXDateDecode (date,&month,&day,&year);

sprintf (string,"%.02d\\%.02d\\%.04d",month,day,year);

PXGetAlpha (rech,2,10,string+11);

for (i=3; i<=nflds; ++i)

PXGetAlpha (rech, i,sizeof (string) — format[nformat] [i-2],

string+format [nformat] [i-3] -1);

for (i=0; i<=80; ++i) if (string [i] =='\0')string [i] =' ';

string [79] ='\r';

string [80] ='\n';

_write (handle,string,81);

PXRecBufClose (rech);

 // передача управления диспетчеру

 // (только для передачи cимвола на принтер!)

 // после каждой найденной записи

r. h. ah=1;

int86 (DISP,&r,&r);

}

 // inquiry. prj

 // INQUIRY\search12. c

 // search1 (),search2 (), (search3 () смв файле search3. c)

 // search1 — все записи в заданноминтервале

 // search2 — задано не более одного искомого значения покаждому полю

 // search3 — более одного искомого значения xотя бы поодному полю

/* исходные данные:

int *x;, где x [i] — количество искомых значений по i-муполю (только для search2)

char *argv [] — см. комментарии в inquiry. c (только дляsearch2)

RECORDNUMBER low,high; — границы интервала поиска */

#include <stdlib. h>

#include «pxengine. h»

#include «def. h»

void search2 (char *argv [], int *x, int n)

{

int a, i,j=0,*y;

int yes;

char *c,*c2;

char arg [10] ;

RECORDHANDLE *rec;

RECORDNUMBER *s,max=low;

s= (long *) calloc (n,sizeof (RECORDNUMBER));

rec= (unsigned int *) calloc (n,sizeof (RECORDHANDLE));

y= (int *) calloc (n,sizeof (int));

for (i=3; j<n; ++i)

{

if (! x [i]) continue;

PXRecBufOpen (tblh,rec+j);

PXPutAlpha (rec [j], i,argv [i+2]);

y [j++] =i;

}

while (1)

{

for (i=0; i<n; ++i)

{

if (max==1)

{

if (! (a=PXSrchFld (tblh,rec [i],y [i],SEARCHFIRST)))

PXRecNum (tblh,&s [i]);

}

else

if (s [i] <max)

{

PXRecGoto (tblh,max-1);

if (! (a=PXSrchFld (tblh,rec [i],y [i],SEARCHNEXT)))

PXRecNum (tblh,&s [i]);

}

if (a||s [i] >high)

{

free (s); free (rec); free (y);

return;

}

}

for (i=1,yes=1,max=s [0]; i<n; ++i)

{

if (s [i]! =max) yes=0;

if (s [i] >max) max=s [i] ;

}

if (yes) { ++max; recprint (); }

}

}

void search1 (void)

{

RECORDNUMBER i;

for (i=low; i<=high; ++i)

{

recprint ();

PXRecNext (tblh);

}

}

 // inquiry. prj

 // INQUIRY\search3. c

 // search3 ()

 // поиск

/* исходные данные:

int *x;, где x [i] — количество искомых значений по i-муполю

char *args [] — искомые значения полей БД (args [0] — третьегополя, argv [1] — четвертого поля и т.д.);

RECORDNUMBER low,high; — границы интервала поиска */

 // search1 — все записи в заданном интервале

 // search2 — не более одного искомого значения по каждомуполю

 // search3 — более одного искомого значения xотя бы поодному полю

#include <stdlib. h>

#include <stdio. h>

#include «pxengine. h»

#include «def. h»

void search3 (char *args [], int *x)

{

/*

rec — массив массивов буферов для поиска, его размерностьравна количеству полей в таблице. Размерность каждого из массивов rec [i] равнаколичеству искомых значений по i-му полю таблицы (то есть == х [i]). В каждыйбуфер заносится одно искомое значение (например, в rec [3] [0] — заноситсяпервое искомое значение по 3-му полю таблицы).

Каждому буферу (rec [i] [j]) соответствует элемент массивамассивов z (z [i] [j]), в котором хранится текущий номер

найденной записи по данному буферу (то есть записи, всоответствующем поле которой находится значение, равное значению, занесенному вбуфер).

В массиве s хранятся текущие номера найденных строк покаждому полю (s [i] минимум из всех z [i] [j] по этому i).

max — текущий номер записи при поиске (то есть записи сномерами меньше max уже просмотрены).

*/

RECORDHANDLE **rec;

int i,j,k;

int yes;

char *c1,*c2;

char arg [10] ;

RECORDNUMBER *s,**z,max=low;

int a;

 // выделение памяти под массивы rec,z,s

 // и открытие буферов

s= (long *) calloc (nflds,sizeof (RECORDNUMBER));

rec= (unsigned int **) calloc (nflds,sizeof(RECORDHANDLE *));

z= (long **) calloc (nflds,sizeof (RECORDNUMBER*));

for (i=3; i<=nflds; ++i)

if (x [i])

{

rec [i] = (unsigned int *) calloc (x [i],sizeof(RECORDHANDLE));

z [i] = (long *) calloc (x [i],sizeof (RECORDNUMBER));

for (j=0; j<x [i]; ++j) PXRecBufOpen (tblh,rec[i] +j);

}

 // заносим в буфера значения из args

 // (значения для одного поля разделены в args запятыми)

for (i=3; i<=nflds; ++i)

{

if (! x [i]) continue;

if (x [i] ==1)

PXPutAlpha (rec [i] [0], i,args [i-3]);

else

{

c1=args [i-3] ;

for (k=0; k<x [i]; ++k)

{

c2=arg;

while (*c1! =',' && *c1! ='\0') *c2++=*c1++;

*c2='\0'; ++c1;

PXPutAlpha (rec [i] [k], i,arg);

}

}

}

 // цикл поиска

while (1) {

for (i=3; i<=nflds; ++i)

{

 // 1) Для каждого буфера находим запись с значением равнымзанесенному в этот буфер и с номером >= max.

 // Найденные номера заносим в соотвествующие z [i] [k]

 // Если искомых записей по данному буферу нет, заносим в z[i] [k] номер, превышающий верхнюю

 // границу интервала поиска

if (! x [i]) continue;

for (k=0; k<x [i]; ++k)

{

if (max==1)

{

if (PXSrchFld (tblh,rec [i] [k], i,SEARCHFIRST))z [i] [k] =high+1;

else PXRecNum (tblh,&z [i] [k]);

}

else

if (z [i] [k] <max)

{

PXRecGoto (tblh,max-1);

if (PXSrchFld (tblh,rec [i] [k], i,SEARCHNEXT))z [i] [k] =high+1;

else PXRecNum (tblh,&z [i] [k]);

}

}

 // 2) Для каждого поля определяем значение s [i]

 // Если хотя бы по одному полю произошел выход за пределыинтервала поиска, значит поиск закончен

s [i] =z [i] [0] ;

for (k=1; k<x [i]; ++k) if (s [i] >z[i] [k]) s [i] =z [i] [k] ;

if (s [i] >high)

{

for (i=3; i<=nflds; ++i)

if (x [i])

{

for (j=0; j<x [i]; ++j) PXRecBufClose (rec[i] [j]);

free (rec [i]); free (z [i]);

}

free (s); free (rec); free (z);

return;

}

}

 // 3),

4)

 // Проверяем совпадение значений s [i].

 // Если значения s [i] совпадают для всех полей по которымпроизводится поиск, значит найдена искомая

 // (т.е. удовлетворяющая заданным условиям) запись, в этомслучае вызываем функцию recprint

 // Определяем значение max для следующей итерации, этозначение равно максимуму из s [i].

for (i=3;! x [i]; ++i);

max=s [i] ;

for (++i,yes=1; i<nflds; ++i)

{

if (! x [i]) continue;

if (s [i]! =max) yes=0;

if (s [i] >max) max=s [i] ;

}

if (yes) { PXRecGoto (tblh,max); ++max; recprint(); }

}

}

 // bs2_inq. prj

 // BS2_INQ\bs2_inq. c

 // main ()

 // программа обработки запросов для второй формы байтовсостояний

#include <stdio. h>

#include <stdlib. h>

#include <string. h>

#include <fcntl. h>

#include <sys/stat. h>

#include <io. h>

#include <alloc. h>

#include «pxengine. h»

#include «devices. h»

TABLEHANDLE tblh; // дескриптор таблицы

RECORDNUMBER low,high; // границы интервала поиска

int nflds; // кол-во полей в таблице

int handle; // дескриптор файла

void interval (long date1,long date2,char*time1, char *time2); // определение границ интервала поиска

void search (char *type); // поиск

void recprint (void); // расшифровка записи БД в строку изапись этой строки в файл

char *sag; // шапкa таблицы

char *sag2; // шапкa таблицы-вторая строка

char *inqstr; // строка запроса

int length; // длина строки в таблице

/* строка аргументов функции main:

argv [1] — не используется

argv [2] — вариант поиска; 0 — поиск по всей БД, 1 — поиск ведином интервале по дате и времени, 2 — поиск в интервале

времени по каждому дню интервала дат, 3 — поиск за один деньв интервале времени;

argv [3] — дата;

argv [4] — время;

argv [5] — тип устройства */

void main (int argc,char *argv [])

{

long date1,date2; // граничные значения интервала дат

int a, i;

char *c;

RECORDHANDLE rech;

RECORDNUMBER num;

 // открытие файла результатов запроса (inquiry. res) изапись в него строки запроса и шапки таблицы

handle=open («inquiry. res»,

O_CREAT | O_TRUNC | O_WRONLY,S_IREAD |S_IWRITE);

for (i=0; strcmp (devices [i]. type,argv [5])&& i<20; ++i);

switch (i)

{

case 0: // ШЭ-00

case 8: // ШЭ-08

sag= (char *) calloc (81,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС СОСТОЯНИЕ_ШКАФА СЕТЬ1 СЕТЬ2 \r\n");

break;

case 1: // ШП-01

case 9: // ШП-09

sag= (char *) calloc (81,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС СОСТОЯНИЕ_ШКАФА \r\n");

break;

case 4: // ШК-04

case 12: // ШК-12

sag= (char *) calloc (100,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС КАНАЛЫ ЛИНИИ КНОН ФКДТ НСПД ФЗ ПИТАНИЕ Д-Ж К--Ы Б---ЫЕК--Ы \r\n");

break;

case 2: // РМ-02

sag= (char *) calloc (81,1);

sag2= (char *) calloc (81,1);

strcpy (sag, " ДАТА ВРЕМЯ ТИП_У П ВС БЛОКИРОВКА ЕСТЬ СВЯЗЬ С ВК \r\n");

strcpy (sag2," ПЭВМ1 по ФК по ЛС1 по ЛС3 \r\n");

break;

case 10: // РМ-10

sag= (char *) calloc (81,1);

sag2= (char *) calloc (81,1);

strcpy (sag, " ДАТА ВРЕМЯ ТИП_У П ВС БЛОКИРОВКА ЕСТЬ_СВЯЗЬ_С_ВК \r\n");

strcpy (sag2," ПЭВМ2 по ФК по ЛС2 по ЛС4 \r\n");

break;

case 5: // РМ05Г

case 13: // РМ13П

sag= (char *) calloc (81,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС ЛИНИИ КНОН ФКДТ НСПД ФЗ \r\n");

break;

case 3: // В

case 6: // КС1

case 14: // КС2

case 15: // АС

sag= (char *) calloc (81,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС КАНАЛЫ ЛИНИИ ФКДТ НСПД ФЗ \r\n");

break;

case 7: // ВМ

sag= (char *) calloc (81,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС АВАРИЯ ПИТАНИЯНЕИСПР КАН КАНАЛЫ \r\n");

break;

case 16: // ВУ16

case 17: // ВУ17

case 18: // ВУ18

case 19: // ВУ19

sag= (char *) calloc (81,1);

strcpy (sag," ДАТА ВРЕМЯ ТИП_У П ВС МАГИСТРАЛЬ ПРИЕМАКНОН \r\n");

break;

}

length=strlen (sag);

inqstr= (char *) calloc (length+1,1);

memset (inqstr+1,' ',length);

for (c=inqstr, i=1; i<argc; ++i)

{

strcat (c," ");

strcat (c,argv [i]);

}

inqstr [strlen (inqstr)] =' ';

strcpy (inqstr+length-2,"\r\n");

_write (handle, inqstr,length);

_write (handle,sag,length);

_write (handle,sag2,length);

 // инициализация работы с БД

i=coreleft () /1024-50;

if (i>256) i=256;

if (a=PXSetDefaults (i,1,30,MAXLOCKHANDLES,3,SortOrderAscii))printf ("\n%s",PXErrMsg (a));

if (a=PXInit ()) printf ("\n%s",PXErrMsg(a));

if (a=PXTblOpen («fk»,&tblh,0,0))printf ("\n%s",PXErrMsg (a));

PXRecNFlds (tblh,&nflds);

 // главный блок

if (argv [2] [0] =='0')

{

low=1; PXTblNRecs (tblh,&high);

search (argv [5]);

}

else

if (argv [2] [0] =='1')

{

PXDateEncode (atoi (argv [3]),atoi (argv [3]+3),atoi (argv [3] +6),&date1);

PXDateEncode (atoi (argv [3] +11),atoi (argv[3] +14),atoi (argv [3] +17),&date2);

interval (date1,date2,argv [4],argv [4] +9);

search (argv [5]);

}

else

if (argv [2] [0] =='2')

{

PXDateEncode (atoi (argv [3]),atoi (argv [3]+3),atoi (argv [3] +6),&date1);

PXDateEncode (atoi (argv [3] +11),atoi (argv[3] +14),atoi (argv [3] +17),&date2);

interval (date1,date2,argv [4],argv [4] +9);

if (low==1 &&! high)

if (low==1)

{

PXRecBufOpen (tblh,&rech);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date1);

PXRecBufClose (rech);

}

PXTblNRecs (tblh,&num);

if (high==num)

{

PXRecBufOpen (tblh,&rech);

PXRecLast (tblh);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date2);

PXRecBufClose (rech);

}

for (; date1<=date2; ++date1)

{

interval (date1,date1,argv [4],argv [4] +9);

if (low>high) continue;

search (argv [5]);

}

}

else

if (argv [2] [0] =='3')

{

PXDateEncode (atoi (argv [3]),atoi (argv [3]+3),atoi (argv [3] +6),&date1);

interval (date1,date1,argv [4],argv [4] +9);

search (argv [5]);

}

if (a=PXTblClose (tblh)) printf ("\n%s",PXErrMsg(a));

PXExit ();

close (handle);

}

 // bs2_inq. prj

 // BS2_INQ\form2. c

 // form2 ()

 // расшифровка байтов состояния

#include <string. h>

#include «devices. h»

void form2 (char *Type,char *bytes,char*text)

{

/* Type; тип устройства

bytes; нерасшифрованные байты состояния

text; буфер для расшифрованных БС */

int i;

for (i=0; strcmp (devices [i]. type,Type) &&i<20; ++i);

switch (i)

{

case 0: // ШЭ-00

if (bytes [5] &0x04) strcpy (text,«НЕИСПРАВЕН»);

else strcpy (text,«ИСПРАВЕН»);

if (bytes [4] &0x02) strcpy (text+16,«CETЬ1»);

break;

case 8: // ШЭ-08

if (bytes [5] &0x04) strcpy (text,«НЕИСПРАВЕН»);

else strcpy (text,«ИСПРАВЕН»);

if (bytes [4] &0x04) strcpy (text+22,«СЕТЬ2»);

break;

case 1: // ШП-01

case 9: // ШП-09

if (bytes [5] &0x04) strcpy (text,«НЕИСПРАВЕН»);

else strcpy (text,«ИСПРАВЕН»);

break;

case 4: // ШК-04

case 12: // ШК-12

if (bytes [4] &0x04) strcpy (text,«К1»);

if (bytes [4] &0x02) strcpy (text+2,«К2»);

if (bytes [4] &0x01) strcpy (text+4,«К3»);

if (bytes [5] &0x04) strcpy (text+7,«Л1»);

if (bytes [5] &0x02) strcpy (text+9,«Л2»);

if (bytes [5] &0x01) strcpy (text+11,«Л3»);

if (bytes [3] &0x01) strcpy (text+14,«КНОН»);

if (bytes [3] &0x02) strcpy (text+19,«ФКДТ»);

if (bytes [3] &0x04) strcpy (text+24,«НСПД»);

if (bytes [2] &0x01) strcpy (text+29,«ФЗ»);

if (bytes [12] &0x04) strcpy (text+32,«П1»);

if (bytes [12] &0x02) strcpy (text+34,«П2»);

if (bytes [12] &0x01) strcpy (text+36,«П3»);

if (bytes [11] &0x04) strcpy (text+40,«ДК1»);

if (bytes [11] &0x02) strcpy (text+43,«ДК2»);

if (bytes [11] &0x01) strcpy (text+46,«ДК3»);

if (bytes [10] &0x04) strcpy (text+51,«БК1»);

if (bytes [10] &0x02) strcpy (text+54,«БК2»);

if (bytes [10] &0x01) strcpy (text+57,«БК3»);

break;

case 3: // В

case 6: // КС1

case 14: // КС2

if (bytes [4] &0x04) strcpy (text,«К1»);

if (bytes [4] &0x02) strcpy (text+2,«К2»);

if (bytes [4] &0x01) strcpy (text+4,«К3»);

if (bytes [5] &0x04) strcpy (text+7,«Л1»);

if (bytes [5] &0x02) strcpy (text+9,«Л2»);

if (bytes [5] &0x01) strcpy (text+11,«Л3»);

if (bytes [3] &0x02) strcpy (text+14,«ФКДТ»);

if (bytes [3] &0x04) strcpy (text+19,«НСПД»);

if (bytes [2] &0x01) strcpy (text+24,«ФЗ»);

break;

case 2: // РМ-02

if (bytes [5] &0x01) strcpy (text+3,«ЕСТЬ»);

else strcpy (text+3,«НЕТ»);

if (bytes [3] &0x04) strcpy (text+17,«НЕТ»);

else strcpy (text+17,«ЕСТЬ»);

if (bytes [2] &0x02) strcpy (text+24,«НЕТ»);

else strcpy (text+24,«ЕСТЬ»);

break;

case 10: // РМ-10

if (bytes [5] &0x01) strcpy (text+3,«ЕСТЬ»);

else strcpy (text+3,«НЕТ»);

if (bytes [2] &0x01) strcpy (text+17,«НЕТ»);

else strcpy (text+17,«ЕСТЬ»);

if (bytes [2] &0x04) strcpy (text+24,«НЕТ»);

else strcpy (text+24,«ЕСТЬ»);

break;

case 5: // РМ05Г

case 13: // РМ13П

if (bytes [5] &0x04) strcpy (text,«Л1»);

if (bytes [5] &0x02) strcpy (text+2,«Л2»);

if (bytes [5] &0x01) strcpy (text+4,«Л3»);

if (bytes [3] &0x01) strcpy (text+7,«КНОН»);

if (bytes [3] &0x02) strcpy (text+12,«ФКДТ»);

if (bytes [3] &0x04) strcpy (text+17,«НСПД»);

if (bytes [2] &0x01) strcpy (text+22,«ФЗ»);

break;

case 7: // ВМ

if (bytes [5] &0x02) strcpy (text,«АВАРИЯПИТАНИЯ»);

if (bytes [5] &0x04) strcpy (text+15,«НЕИСПРКАН»);

if (bytes [4] &0x04) strcpy (text+26,«К1»);

if (bytes [4] &0x01) strcpy (text+28,«К2»);

if (bytes [4] &0x02) strcpy (text+30,«К3»);

break;

case 16: // ВУ16

case 17: // ВУ17

case 18: // ВУ18

case 19: // ВУ19

if (bytes [5] &0x04) strcpy (text,«НЕИСПРМАГ ПРИЕМА»);

if (bytes [3] &0x01) strcpy (text+18,«КНОН»);

break;

case 15: // АС

 // Подкорректировать после согласования байта состояния

if (bytes [4] &0x04) strcpy (text,«К1»);

if (bytes [4] &0x02) strcpy (text+2,«К2»);

if (bytes [4] &0x01) strcpy (text+4,«К3»);

if (bytes [5] &0x04) strcpy (text+7,«Л1»);

if (bytes [5] &0x02) strcpy (text+9,«Л2»);

if (bytes [5] &0x01) strcpy (text+11,«Л3»);

if (bytes [3] &0x02) strcpy (text+14,«ФКДТ»);

if (bytes [3] &0x04) strcpy (text+19,«НСПД»);

if (bytes [2] &0x01) strcpy (text+24,«ФЗ»);

break;

}

}

 // bs2_inq. prj

 // BS2_INQ\interval. c

 // interval ()

 // определение граничных номеров интервала поиска

#include <stdio. h>

#include <stdlib. h>

#include «pxengine. h»

#include «def. h»

void interval (long date1,long date2,char*time1,char *time2)

{

RECORDHANDLE rech;

itoa (atoi (time2+6) +1,time2+6,10);

PXRecBufOpen (tblh,&rech);

PXPutDate (rech,1,date2);

PXPutAlpha (rech,2,time2);

if (PXRecInsert (tblh,rech)) printf («error»);

PXRecNum (tblh,&high);

high;

PXRecDelete (tblh);

PXPutDate (rech,1,date1);

PXPutAlpha (rech,2,time1);

if (PXRecInsert (tblh,rech)) printf («error»);

if (PXRecNum (tblh,&low)) printf(«error»);

PXRecDelete (tblh);

PXRecBufClose (rech);

}

 // bs2_inq. prj

 // recprint. c

 // BS2_INQ\recprint ()

 // форматирование и запись в файлнайденной строки

#include <stdio. h>

#include <io. h>

#include <string. h>

#include <stdlib. h>

#include <dos. h>

#include «pxengine. h»

#include «def. h»

#include «disp. h»

void form2 (char *,char *,char *);

 // расшифровка байтов состояния

void recprint ()

{

long date; // дата в формате БД

int month,day,year; // расшифрованнаядата

char *string; // результирующая строка

char *bytes; // нерасшифрованные байты состояния

RECORDHANDLE rech; // дескриптор записи

int a, i;

union REGS r;

string= (char *) calloc (length+1,1);

bytes= (char *) calloc (45,1);

PXRecBufOpen (tblh,&rech);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date);

PXDateDecode (date,&month,&day,&year);

sprintf (string,"%.02d\\%.02d\\%.04d",month,day,year);

PXGetAlpha (rech,2,9,string+11); // t

PXGetAlpha (rech,3,6,string+20); // тип_у

PXGetAlpha (rech,4,2,string+26); // п

PXGetAlpha (rech,5,4,string+28); // вс

PXGetAlpha (rech,6,45,bytes); // бс

form2 (string+20,bytes+16,string+31);

for (i=0; i<=length; ++i) if (string [i]=='\0') string [i] =' ';

strcpy (string+length-2,"\r\n");

_write (handle,string,strlen (string));

PXRecBufClose (rech);

free (bytes);

free (string);

 // передача управления диспетчеру

 // (только для передачи cимвола на принтер!)

 // после каждой найденной записи

 // r. h. ah=1;

 // int86 (DISP,&r,&r);

}

 // bs2_inq. prj

 // BS2_INQ\search. c

 // search ()

 // поиск

#include <stdlib. h>

#include «pxengine. h»

#include «def. h»

void search (char *type)

{

int a, i,y [2] ;

RECORDHANDLE rec [2] ;

RECORDNUMBER s [2],max=low;

PXRecBufOpen (tblh,&rec [0]);

PXRecBufOpen (tblh,&rec [1]);

PXPutAlpha (rec [0],3,type);

PXPutAlpha (rec [1],5,«БС „);

y [0] =3; y [1] =5; s [1] =s [0] =0;

while (1)

{

for (i=0; i<=1; ++i)

{

if (max==1)

{

if (! (a=PXSrchFld (tblh,rec [i],y [i],SEARCHFIRST)))

PXRecNum (tblh,&s [i]);

}

else

if (s [i] <max)

{

PXRecGoto (tblh,max-1);

if (! (a=PXSrchFld (tblh,rec [i],y [i],SEARCHNEXT)))

PXRecNum (tblh,&s [i]);

}

if (a||s [i] >high)

{

PXRecBufClose (rec [0]);

PXRecBufClose (rec [1]);

return;

}

}

if (s [1] ==s [0]) { ++max; recprint (); }

else if (s [1] >s [0]) max=s [1] ;

else max=s [0] ;

}

}

 // bs3_inq. prj

 // BS3_INQ\bs3_inq. c

 // main ()

 // программа обработки запросов длятретьей формы байтов состояния

 // вызывается из:

 // 1) main. prj, mloop2. c, bszapros ()

 // 2) makeinq. prj, makeinq. c, makeinq ()

#include <stdio. h>

#include <fcntl. h>

#include <sys/stat. h>

#include <io. h>

#include “pxengine. h»

#include <string. h>

void form3 (char *,char *, int);

 // расшифровка байтов состояния длятретьей формы представления и их запись в файл результатов

/* аргументы функции main:

argv [1] — тип устройства */

void main (int argc,char *argv [])

{

int a;

int i;

int handle; // дескриптор файла результатовпоиска

static char bytes [45]; // буфер длянерасшифрованных байтов состояния

RECORDHANDLE rec; // дескриптор записи

TABLEHANDLE tblh; // дескриптор таблицы

 // открытие файла результатовизапись в него типа устройства

handle=open («inquiry. res»,

O_CREAT | O_TRUNC | O_WRONLY,S_IREAD |S_IWRITE);

write (handle,argv [1],strlen (argv [1]));

 // if (strlen (argv [1]) ==1) write (handle,"",2);

 // if (strlen (argv [1]) ==2) write (handle,"",1);

write (handle,"\r\n",2);

 // поиск и обработка результатов поиска

/* находится последняя по времени запись байтов

состояния для данного устройства */

if (a=PXInit ()) printf ("\n%s",PXErrMsg (a));

if (a=PXTblOpen («fk»,&tblh,0,0))printf ("\n%s",PXErrMsg (a));

PXRecBufOpen (tblh,&rec);

PXPutAlpha (rec,5,«БС»);

PXPutAlpha (rec,3,argv [1]);

if ( (a=PXSrchFld (tblh,rec,3,SEARCHFIRST))! =PXSUCCESS)

{ if (a==PXERR_RECNOTFOUND)

PXRecBufClose (rec);

if (a=PXTblClose (tblh)) printf ("\n%s",PXErrMsg(a));

PXExit ();

close (handle);

return;

}

else while (! (a=PXSrchFld (tblh,rec,3,SEARCHNEXT)));

PXRecGet (tblh,rec);

PXGetAlpha (rec,6,45,bytes);

form3 (argv [1],bytes+16,handle);

PXRecBufClose (rec);

if (a=PXTblClose (tblh)) printf ("\n%s",PXErrMsg(a));

PXExit ();

close (handle);

}

 // bs3_inq. prj

 // BS3_INQ\form3. c

 // form3 ()

 // расшифровка байтов состояния

#include <io. h>

#include <string. h>

#include «devices. h»

#include <dos. h>

void form3 (char *Type,char *bytes, inthandle)

{

/* Type — тип устройства

bytes — нерасшифрованные байты состояния

handle — дескриптор файла результатов */

int i;

/*

struct date d;

struct time t;

getdate (&d);

gettime (&t);

z. bd1. date [0] =d. da_mon;

z. bd1. date [1] =d. da_day;

z. bd1. date [2] =d. da_year;

PXRecBufOpen (tblh,&rech);

PXRecGet (tblh,rech);

PXGetDate (rech,1,&date);

PXDateDecode (date,&month,&day,&year);

sprintf (string,"%.02d\\%.02d\\%.04d",month,day,year);

*/

for (i=0; strcmp (devices [i]. type,Type) &&i<CHDEV; ++i);

switch (i)

{

case 0: // ШЭ-00

if (bytes [5] &0x04)

write (handle," Шкаф НЕИСПРАВЕН\r\n",76);

else

write (handle," Шкаф ИСПРАВЕН \r\n",76);

if (bytes [4] &0x02)

write (handle,«НЕИСПРАВНОСТЬ первичной сетиэлектропитания СЕТЬ 1 \r\n»,76);

break;

case 8: // ШЭ-08

if (bytes [5] &0x04)

write (handle," Шкаф НЕИСПРАВЕН\r\n",76);

else

write (handle," Шкаф ИСПРАВЕН \r\n",76);

if (bytes [4] &0x02)

write (handle,«НЕИСПРАВНОСТЬ первичной сетиэлектропитания СЕТЬ 2 \r\n»,76);

break;

case 1: // ШП-01

case 9: // ШП-09

if (bytes [5] &0x04)

write (handle," Шкаф НЕИСПРАВЕН\r\n",76);

else

write (handle," Шкаф ИСПРАВЕН \r\n",76);

break;

case 4: // ШК-04

case 12: // ШК-12

if (bytes [0] &0x01)

write (handle,«ОСНОВНОЙ — шкаф ШК-12 \r\n»,76);

else

write (handle,«ОСНОВНОЙ — шкаф ШК-04 \r\n»,76);

write (handle," \r\n",76);

write (handle," ТЕХНИЧЕСКОЕ СОСТОЯНИЕШКАФА \r\n",76);

write (handle," \r\n",76);

if (bytes [5] &0x01)

write (handle," Шкаф РАБОТОСПОСОБЕН\r\n",76);

if (bytes [5] &0x02)

write (handle," Шкаф НЕИСПРАВЕН\r\n",76);

if (bytes [5] &0x04)

write (handle," Шкаф ЗАБЛОКИРОВАНпо НСД \r\n",76);

if ( (! (bytes [5] &0x01)) &&(! (bytes [5] &0x02)) && (! (bytes [5] &0x04)))

write (handle," Шкаф ИСПРАВЕН \r\n",76);

write (handle," \r\n",76);

if (bytes [4] &0x01)

write (handle,«НЕИСПРАВЕН 1-й канал АД \r\n»,76);

if (bytes [4] &0x02)

write (handle,«НЕИСПРАВЕН 2-й канал АД \r\n»,76);

if (bytes [4] &0x04)

write (handle,«НЕИСПРАВЕН 3-й канал АД \r\n»,76);

if (bytes [3] &0x01)

write (handle,«НЕИСПРАВЕН 1-й канал УХК \r\n»,76);

if (bytes [3] &0x02)

write (handle,«НЕИСПРАВЕН 2-й канал УХК \r\n»,76);

if (bytes [3] &0x04)

write (handle,«НЕИСПРАВЕН 3-й канал УХК \r\n»,76);

if (bytes [2] &0x01)

write (handle,«НЕИСПРАВНОСТЬ логической части ШК \r\n»,76);

if (bytes [2] &0x02)

{write (handle,«НЕИСПРАВЕН хотя бы один или несколькоэлементов ИГП \r\n»,76);

write (handle,«Для уточнения считай ячейку ВБШК1. ПФЗдля ШК1 или ВБШК2. ПФЗ для ШК2 \r\n»,76);

}

if (bytes [2] &0x04)

{write (handle,«НЕИСПРАВНО УХК — установлена единица в8-ом разряде уточненого слова \r\n»,76);

write (handle,«состояния УХК \r\n»,76);

}

if (bytes [1] &0x01)

write (handle,«БОЗУ занято более 3-х секунд \r\n»,76);

if (bytes [1] &0x02)

{write (handle,«НЕИСПРАВНО УХК (неправильное сочетание3 и 10 разрядов уточненого слова \r\n»,76);

write (handle,«состояния УХК) \r\n»,76);

}

if (bytes [1] &0x04)

{write (handle,«УХК ЗАБЛОКИРОВАН по причине работы сносителем 83т015. Получен 9 или 11 \r\n»,76);

write (handle,«разряд в ИСС УХК (см. п.4.7 1. протоколаинв.30337) \r\n»,76);

}

if ( (! (bytes [12] &0x01)) &&(! (bytes [12] &0x02)))

write (handle,«ПУ-1 ИСПРАВЕН \r\n»,76);

if (bytes [12] &0x01)

write (handle,«Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬна ПУ-1 \r\n»,76);

if (bytes [12] &0x02)

write (handle,«Неисправно направление связи,соединяющее с ПУ-1 \r\n»,76);

if ( (! (bytes [12] &0x04)) &&(! (bytes [11] &0x01)))

write (handle,«ПУ-2 ИСПРАВЕН \r\n»,76);

if (bytes [12] &0x04)

write (handle,«Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬна ПУ-2 \r\n»,76);

if (bytes [11] &0x01)

write (handle,«Неисправно направление связи,соединяющее с ПУ-2 \r\n»,76);

if ( (! (bytes [11] &0x04)) &&(! (bytes [11] &0x02)))

write (handle,«ПУ-3 ИСПРАВЕН \r\n»,76);

if (bytes [11] &0x02)

write (handle,«Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬна ПУ-3 \r\n»,76);

if (bytes [11] &0x04)

write (handle,«Неисправно направление связи,соединяющее с ПУ-3 \r\n»,76);

if ( (! (bytes [10] &0x01)) &&(! (bytes [10] &0x02)))

write (handle,«ПУ-4 ИСПРАВЕН \r\n»,76);

if (bytes [10] &0x01)

write (handle,«Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬна ПУ-4 \r\n»,76);

if (bytes [10] &0x02)

write (handle,«Неисправно направление связи,соединяющее с ПУ-4 \r\n»,76);

if (bytes [10] &0x04)

write (handle,«Неисправен 1-й канал схемных узловБУ-695 \r\n»,76);

if (bytes [9] &0x01)

write (handle,«Неисправен 2-й канал схемных узловБУ-695 \r\n»,76);

if (bytes [9] &0x02)

write (handle,«Неисправен 3-й канал схемных узловБУ-695 \r\n»,76);

if (bytes [9] &0x04)

write (handle,«Неисправен 1-й канал ПРЦ \r\n»,76);

if (bytes [8] &0x01)

write (handle,«Неисправен 2-й канал ПРЦ \r\n»,76);

if (bytes [8] &0x02)

write (handle,«Неисправен 3-й канал ПРЦ \r\n»,76);

if (bytes [8] &0x04)

{write (handle,«Неисправно направление связи С1 попередаче от ВМ к ШК и/или по приему \r\n»,76);

write (handle,«от ШК к ВМ и/или по причине не полученияот ШК кодограмм по времени. \r\n»,76);

write (handle,«Формирует ФК-читай слово памяти ВБШК1 (2).ПФЗ \r\n»,76);

if (bytes [7] &0x01)

write (handle,«ШК забракован функциональной задачей — читайслово памяти ВБШК1 (2). ПФЗ \r\n»,76);

write (handle," \r\n",76);

write (handle," ИНФОРМАЦИОННОЕ СОСТОЯНИЕ ШКАФА \r\n",76);

write (handle," \r\n",76);

if (bytes [26] &0x02)

write (handle," Шкаф НЕИСПРАВЕН ПО ИНФОРМАЦИОННОМУСОСТОЯНИЮ \r\n",76);

else

write (handle," Шкаф ИСПРАВЕН ПО ИНФОРМАЦИОННОМУСОСТОЯНИЮ \r\n",76);

write (handle," \r\n",76);

write (handle," Состояние БХХХХХШХХХХХ и КХХХХ \r\n",76);

write (handle," \r\n",76);

write (handle," БХХХХХ ШХХХХХ 1-го массива СХХ \r\n",76);

if ( (! (bytes [15] &0x01)) &&(! (bytes [15] &0x02)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [15] &0x01) && (bytes[15] &0x02))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [15] &0x01) && (! (bytes[15] &0x02)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [15] &0x02) && (! (bytes[15] &0x01)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," БХХХХХ ШХХХХХ 2-го массива СХХ \r\n",76);

if ( (! (bytes [17] &0x04)) &&(! (bytes [16] &0x01)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [17] &0x04) && (bytes[16] &0x01))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [17] &0x04) && (! (bytes[16] &0x01)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [16] &0x01) && (! (bytes[17] &0x04)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," БХХХХХ КХХХХ ОХХ\r\n",76);

if ( (! (bytes [18] &0x04)) &&(! (bytes [18] &0x02)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [18] &0x04) && (bytes[18] &0x02))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [18] &0x02) && (! (bytes[18] &0x04)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [18] &0x04) && (! (bytes[18] &0x02)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," БХХХХХ КХХХХ УХХ\r\n",76);

if ( (! (bytes [19] &0x02)) &&(! (bytes [19] &0x01)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [19] &0x02) && (bytes[19] &0x01))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [19] &0x01) && (! (bytes[19] &0x02)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [19] &0x02) && (! (bytes[19] &0x01)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," БХХХХХ КХХХХ УХ\r\n",76);

if ( (! (bytes [22] &0x02)) &&(! (bytes [22] &0x01)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [22] &0x02) && (bytes[22] &0x01))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [22] &0x01) && (! (bytes[22] &0x02)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [22] &0x02) && (! (bytes[22] &0x01)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," БХХХХХ КХХХХ РХХ\r\n",76);

if ( (! (bytes [23] &0x01)) &&(! (bytes [24] &0x04)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [23] &0x01) && (bytes[24] &0x04))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [24] &0x04) && (! (bytes[23] &0x01)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [23] &0x01) && (! (bytes[24] &0x04)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," \r\n",76);

write (handle," Состояние УХХХХХШХХХХХ и КХХХХ \r\n",76);

write (handle," \r\n",76);

write (handle," УХХХХХ ШХХХХХ 1-го массива СХХ \r\n",76);

if ( (! (bytes [14] &0x01)) &&(! (bytes [15] &0x04)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [14] &0x01) && (bytes[15] &0x04))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [15] &0x04) && (! (bytes[14] &0x01)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [14] &0x01) && (! (bytes[15] &0x04)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," УХХХХХ ШХХХХХ 2-го массива СХХ \r\n",76);

if ( (! (bytes [16] &0x04)) &&(! (bytes [16] &0x02)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [16] &0x04) && (bytes[16] &0x02))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [16] &0x02) && (! (bytes[16] &0x04)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [16] &0x04) && (! (bytes[16] &0x02)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," УХХХХХ КХХХХ ОХХ\r\n",76);

if ( (! (bytes [17] &0x02)) &&(! (bytes [17] &0x01)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [17] &0x02) && (bytes[17] &0x01))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [17] &0x01) && (! (bytes[17] &0x02)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [17] &0x02) && (! (bytes[17] &0x01)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," УХХХХХ КХХХХ УХХ\r\n",76);

if ( (! (bytes [19] &0x04)) &&(! (bytes [18] &0x01)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [19] &0x04) && (bytes[18] &0x01))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [19] &0x04) && (! (bytes[18] &0x01)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [18] &0x01) && (! (bytes[19] &0x04)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," УХХХХХ КХХХХ УХ\r\n",76);

if ( (! (bytes [21] &0x01)) &&(! (bytes [22] &0x04)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [21] &0x01) && (bytes[22] &0x04))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [22] &0x04) && (! (bytes[21] &0x01)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [21] &0x01) && (! (bytes[22] &0x04)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," УХХХХХ КХХХХ РХХ\r\n",76);

if ( (! (bytes [23] &0x02)) &&(! (bytes [23] &0x04)))

write (handle," НЕ ЗАПИСАНЫ \r\n",76);

if ( (bytes [23] &0x02) && (bytes[23] &0x04))

write (handle," УНИЧТОЖЕНЫ \r\n",76);

if ( (bytes [23] &0x02) && (! (bytes[23] &0x04)))

write (handle," СОХРАНЕНЫ \r\n",76);

if ( (bytes [23] &0x04) && (! (bytes[23] &0x02)))

write (handle," РАЗРУШЕНЫ \r\n",76);

write (handle," \r\n",76);

write (handle," НАВЯЗЫВАНИЕ ЛОЖНОЙИНФОРМАЦИИ \r\n",76);

write (handle," \r\n",76);

if (bytes [24] &0x02)

write (handle,«Есть НЛИ по массиву N1 шххххх СХХ \r\n»,76);

if (bytes [24] &0x01)

write (handle,«Есть НЛИ по массиву N2 шххххх СХХ \r\n»,76);

if (bytes [25] &0x04)

write (handle,«Есть НЛИ по массивукхххх УХХ \r\n»,76);

if (bytes [25] &0x01)

write (handle,«Есть НЛИ по массивукхххх УХ \r\n»,76);

if (bytes [26] &0x04)

write (handle,«Есть НЛИ по массивукхххх РХХ \r\n»,76);

if ( (! (bytes [24] &0x02)) &&(! (bytes [24] &0x01)) && (! (bytes [25] &0x04))

&& (! (bytes [25] &0x02)) &&(! (bytes [25] &0x01)) && (! (bytes [26] &0x04)))

write (handle,«НЛИ ОТСУТСТВУЕТ по всем массивам \r\n»,76);

break;

case 3: // В

case 6: // КС1

case 14: // КС2

if (bytes [5] &0x04)

write (handle," КС НЕИСПРАВЕН \r\n",76);

else

write (handle," КС ИСПРАВЕН \r\n",76);

write (handle," \r\n",76);

if (bytes [19] &0x01)

write (handle,«Прием от АК1 трех кодограмм подряд спризнаком К2 \r\n»,76);

if (bytes [19] &0x02)

write (handle,«Прием от АК1 трех кодограмм подряд сВПС=1010 \r\n»,76);

if (bytes [19] &0x04)

write (handle,«Отсутствие информации от АК1 на входе ПУболее 12 сек \r\n»,76);

if (bytes [18] &0x01)

write (handle,«Прием от АК1 трех кодограмм подряд спризнаком получения УС \r\n»,76);

if (bytes [18] &0x02)

write (handle,«Отсутствие связи в тракте от ЦКС1 до АК1\r\n»,76);

if (bytes [18] &0x04)

write (handle,«Отсутствие связи в тракте от ЦКС1 доЦКС2 для АК1 \r\n»,76);

if (bytes [17] &0x01)

write (handle,«Отсутствие связи в тракте от АК1 до ЦКС1\r\n»,76);

write (handle," \r\n",76);

if (bytes [23] &0x01)

write (handle,«Прием от АК3 трех кодограмм подряд спризнаком К2 \r\n»,76);

if (bytes [23] &0x02)

write (handle,«Прием от АК3 трех кодограмм подряд сВПС=1010 \r\n»,76);

if (bytes [23] &0x04)

write (handle,«Отсутствие информации от АК3 на входе ПУболее 12 сек \r\n»,76);

if (bytes [22] &0x01)

write (handle,«Прием от АК3 трех кодограмм подряд спризнаком получения УС \r\n»,76);

if (bytes [22] &0x02)

write (handle,«Отсутствие связи в тракте от ЦКС1 до АК3\r\n»,76);

if (bytes [22] &0x04)

write (handle,«Отсутствие связи в тракте от ЦКС1 доЦКС2 для АК3 \r\n»,76);

if (bytes [21] &0x01)

write (handle,«Отсутствие связи в тракте от АК3 до ЦКС1\r\n»,76);

write (handle," \r\n",76);

if (bytes [26] &0x01)

write (handle,«Прием от АК6 трех кодограмм подряд спризнаком К2 \r\n»,76);

if (bytes [26] &0x02)

write (handle,«Прием от АК6 трех кодограмм подряд сВПС=1010 \r\n»,76);

if (bytes [26] &0x04)

write (handle,«Отсутствие информации от АК6 на входе ПУболее 12 сек \r\n»,76);

if (bytes [25] &0x01)

write (handle,«Прием от АК6 трех кодограмм подряд спризнаком получения УС \r\n»,76);

if (bytes [25] &0x02)

write (handle,«Отсутствие связи в тракте от ЦКС1 до АК6\r\n»,76);

if (bytes [25] &0x04)

write (handle,«Отсутствие связи в тракте от ЦКС1 доЦКС2 для АК6 \r\n»,76);

if (bytes [24] &0x01)

write (handle,«Отсутствие связи в тракте от АК6 до ЦКС1\r\n»,76);

write (handle," \r\n",76);

if (bytes [16] &0x01)

write (handle,«Прием от ВПУ трех кодограмм подряд спризнаком К2 \r\n»,76);

if (bytes [16] &0x02)

write (handle,«Прием от ВПУ трех кодограмм подряд сВПС=1010 \r\n»,76);

if (bytes [16] &0x04)

write (handle,«Отсутствие информации от ВПУ на входе ПУболее 12 сек \r\n»,76);

if (bytes [15] &0x01)

write (handle,«Прием от АК6 трех кодограмм подряд спризнаком получения УС \r\n»,76);

if (bytes [15] &0x02)

write (handle,«Отсутствие связи в тракте от ЦКС1 до ВПУ\r\n»,76);

if (bytes [15] &0x04)

write (handle,«Отсутствие связи в тракте от ЦКС1 доЦКС2 для ВПУ \r\n»,76);

if (bytes [14] &0x01)

write (handle,«Отсутствие связи в тракте от ВПУ до ЦКС1\r\n»,76);

write (handle," \r\n",76);

if (bytes [17] &0x04)

write (handle,«Отсутствие связи в тракте от ЦКС1 до ПУ \r\n»,76);

write (handle," \r\n",76);

if (bytes [10] &0x02)

write (handle,«Отсутствие приема кодограмм в заданныйинтервал времени \r\n»,76);

write (handle," \r\n",76);

if ( (bytes [12] &0x07) && (! (bytes[11] &0x07)))

write (handle,«Прием кодограмм с признаком отсутствиясвязи от ПУ до М486 \r\n»,76);

if ( (bytes [11] &0x07) && (! (bytes[12] &0x07)))

{

write (handle,«Прием кодограмм с признаком искаженияинформации от ЦКС до М486 и/или \r\n»,76);

write (handle,«прием кодограмм с признаком отсутствияимпульса БИ \r\n»,76);

}

if ( (bytes [11] &0x07) && (bytes[12] &0x07))

{

write (handle,«Прием кодограмм с признаком отсутствиясвязи от ПУ до М486 и/или \r\n»,76);

write (handle,«прием кодограмм с признаком искаженияинформации от ЦКС до М486 и/или \r\n»,76);

write (handle,«прием кодограмм с признаком отсутствияимпульса БИ \r\n»,76);

}

break;

case 2: // РМ-02

write (handle," \r\n",76);

if (bytes [5] &0x01)

write (handle,«АРМ ЗАБЛОКИРОВАНО по ФК оператором \r\n»,76);

write (handle," \r\n",76);

if (bytes [5] &0x04)

write (handle,«НЕТ СВЯЗИ МЕЖДУ ПЭВМ1 и ВК \r\n»,76);

if (bytes [4] &0x02)

write (handle,«Нет связи с ВК по одной из линий связиЛС1 или ЛС3 \r\n»,76);

if (bytes [3] &0x04)

write (handle,«Нет связи с ВК по линии связи ЛС1 \r\n»,76);

if (bytes [2] &0x02)

write (handle,«Нет связи с ВК по линии связи ЛС3 \r\n»,76);

break;

case 10: // РМ-10

write (handle," \r\n",76);

if (bytes [5] &0x01)

write (handle,«АРМ ЗАБЛОКИРОВАНО по ФК оператором \r\n»,76);

write (handle," \r\n",76);

if (bytes [5] &0x04)

write (handle,«НЕТ СВЯЗИ МЕЖДУ ПЭВМ2 и ВК \r\n»,76);

if (bytes [4] &0x02)

write (handle,«Нет связи с ВК по одной из линий связиЛС2 или ЛС4 \r\n»,76);

if (bytes [2] &0x01)

write (handle,«Нет связи с ВК по линии связи ЛС2 \r\n»,76);

if (bytes [2] &0x04)

write (handle,«Нет связи с ВК по линии связи ЛС4 \r\n»,76);

break;

case 5: // РМ05Г

case 13: // РМ13П

if (bytes [19] &0x01)

write (handle,«ОСНОВНОЙ АРМ — РМ-13П \r\n»,76);

else

write (handle,«ОСНОВНОЙ АРМ — РМ-05Г \r\n»,76);

write (handle," \r\n",76);

if (bytes [5] &0x04)

write (handle," АРМ НЕИСПРАВЕН \r\n",76);

else

write (handle," АРМ ИСПРАВЕН \r\n",76);

write (handle," \r\n",76);

if (bytes [16] &0x02)

write (handle,«Основное АРМ ИСПРАВНО \r\n»,76);

if (bytes [16] &0x01)

write (handle,«Основное АРМ НЕИСПРАВНО\r\n»,76);

if (bytes [16] &0x04)

write (handle,«Основное АРМ ЗАБЛОКИРОВАНО \r\n»,76);

if (bytes [15] &0x01)

write (handle,«Основное АРМ РАЗБЛОКИРОВАНО\r\n»,76);

if (bytes [19] &0x04)

write (handle,«Резервное АРМ ИСПРАВНО \r\n»,76);

if (bytes [19] &0x02)

write (handle,«Резервное АРМ НЕИСПРАВНО\r\n»,76);

if (bytes [18] &0x01)

write (handle,«Резервное АРМ ЗАБЛОКИРОВАНО\r\n»,76);

if (bytes [18] &0x02)

write (handle,«Резервное АРМ РАЗБЛОКИРОВАНО\r\n»,76);

if (bytes [5] &0x01)

write (handle,«АРМ ЗАБЛОКИРОВАНО по ФК оператором \r\n»,76);

write (handle," \r\n",76);

if (bytes [4] &0x02)

write (handle,«Неисправна одна из трех линий магистралиобмена \r\n»,76);

else

write (handle,«Все три линии магистрали обмена исправны\r\n»,76);

if (bytes [12] &0x04)

write (handle,«Неисправна 1-я линия магистрали приема \r\n»,76);

if (bytes [12] &0x02)

write (handle,«Неисправна 2-я линия магистрали приема \r\n»,76);

if (bytes [12] &0x01)

write (handle,«Неисправна 3-я линия магистрали приема \r\n»,76);

if (bytes [10] &0x02)

write (handle,«Отсутствует прием информации в ВМ отданного АРМ-1 \r\n»,76);

break;

case 7: // ВМ

if (bytes [5] &0x02)

write (handle,«Авария электропитания в одном илинескольких каналах ШП-614 \r\n»,76);

if (bytes [4] &0x04)

write (handle,«Неисправность 1 канала ШП-614 \r\n»,76);

if (bytes [3] &0x01)

write (handle,«Неисправность 2 канала ШП-614 \r\n»,76);

if (bytes [3] &0x02)

write (handle,«Неисправность 3 канала ШП-614 \r\n»,76);

if (bytes [3] &0x04)

write (handle,«Произошел ПРОГРАММНЫЙ СБОЙ \r\n»,76);

if (bytes [2] &0x01)

write (handle,«Авария питания 1 канала \r\n»,76);

if (bytes [2] &0x02)

write (handle,«Авария питания 1 канала \r\n»,76);

if (bytes [2] &0x04)

write (handle,«Авария питания 1 канала \r\n»,76);

if (bytes [0] &0x01)

write (handle,«Нарушена целостность программногоизделия-кассеты КП-610 — \r\n»,76);

write (handle,«подсчитанная контрольная сумма несовпадает с эталоном \r\n»,76);

break;

case 16: // ВУ16

case 17: // ВУ17

case 18: // ВУ18

case 19: // ВУ19

if (bytes [5] &0x01)

write (handle,«ПУ заблокировано оператором по ФК \r\n»,76);

if (bytes [5] &0x04)

write (handle,«Нажата КНОПКА ОБНАРУЖЕНИЯ НЕИСПРАВНОСТИ \r\n»,76);

break;

case 15: // АС

 // Подкорректировать после согласования

 // байта состояния

if (bytes [5] &0x04)

write (handle,«АРМ-РД НЕИСПРАВЕН — не работают обе ПЭВМ\r\n»,76);

if (bytes [4] &0x01)

write (handle,«АРМ-РД РАБОТОСПОСОБЕН — работает одна издвух ПЭВМ \r\n»,76);

if (bytes [4] &0x02)

write (handle,«Нет связи хотя бы по одной из линийсвязи ЛС1, ЛС2, ЛС3, ЛС4 \r\n»,76);

if (bytes [4] &0x04)

write (handle,«Неисправен КСП-0 \r\n»,76);

if (bytes [3] &0x01)

write (handle,«Неисправен КСП-1 \r\n»,76);

if (bytes [3] &0x02)

write (handle,«Неисправен КСП-2 \r\n»,76);

if (bytes [3] &0x04)

write (handle,«Нет связи по линии связи ЛС1 \r\n»,76);

if (bytes [2] &0x01)

write (handle,«Нет связи по линии связи ЛС2 \r\n»,76);

if (bytes [2] &0x02)

write (handle,«Нет связи по линии связи ЛС3 \r\n»,76);

if (bytes [2] &0x04)

write (handle,«Нет связи по линии связи ЛС4 \r\n»,76);

break;

}

}

 // bs2_out. prj

 // bs2_out. c

 // main ()

 // выдача результатов запроса по 2-й форме байтов состоянияна экран

 // (из файла) или форматирование и постановка в очередь длявыдачи

 // на принтер

#include <dos. h>

#include «cxlkey. h»

#include «disp. h»

extern void resScr (void);

 // выдача результатов запроса из файла на экран

extern void resPrn (void);

 // выдача результатов запроса из файла на принтер

void main (int argc,char *argv [])

{

void z (void);

setkbloop (z);

if (argv [1] [0] =='э') resScr ();

else resPrn ();

}

void z (void)

{

union REGS r;

r. h. ah=0;

int86 (DISP,&r,&r);

}

#include <dos. h>

#include «cxlkey. h»

#include «disp. h»

extern void resScr (void);

 // выдача результатов запроса изфайла на экран

extern void resPrn (void);

 // выдача результатов запроса из файла на принтер

void main (int argc,char *argv [])

{

void z (void);

setkbloop (z);

if (argv [1] [0] =='э') resScr ();

else resPrn ();

}

void z (void)

{

union REGS r;

r. h. ah=0;

int86 (DISP,&r,&r);

}

 // inq_out. prj

 // INQ_OUT. C

 // main ()

 // выдача результатов запроса на экран (из файла)

 // или форматирование и постановка в очередь для выдачи напринтер

#include <string. h>

#include <process. h>

#include «cxlkey. h»

#include «cxldef. h»

extern void resScr (void);

 // выдача результатов запроса из файла на экран

extern void resPrn (void);

 // выдача результатов запроса из файла на принтер

void main (int argc,char *argv [])

{

void z (void);

setkbloop (z);

if (argv [1] [0] =='э') resScr ();

else resPrn ();

}

#include <dos. h>

#include «disp. h»

void z (void)

{

union REGS r;

r. h. ah=0;

int86 (DISP,&r,&r);

}

 // inq_out. prj

 // res_scr. C

 // res_scr ()

 // выдача результатов запроса на экран (из файла)

#include <stdio. h>

#include <string. h>

#include «cxlwin. h»

#include «cxlkey. h»

#include «cxlvid. h»

#define LEN 81

#define TXTATTR _CYAN

#define UP 0x4800

#define DOWN 0x5000

#define PGUP 0x4900

#define PGDOWN 0x5100

#define ESC 0x011b

void resScr (void)

{

FILE *f; // дескриптор файла результатов

int down; // номер текущей строки в файле

int ch; // код клавиши

int i;

char string [LEN] ;

int mwup; // количество строк над основным окном

 // вывод на экран строки запроса и шапки таблицы

f=fopen («inquiry. res»,«r++»);

fgets (string,LEN,f);

for (mwup=0; strncmp (string+3,«ДАТА»,4); ++mwup)

{

wopen (mwup,0,mwup,79,5,BLUE|_LGREY,BLUE|_LGREY);

wprintf ("%.79s",string);

fgets (string,LEN,f);

}

wopen (mwup,0,mwup,79,5,YELLOW|_BLUE,YELLOW|_BLUE);

wprintf ("%.78s",string);

 // основное окно

wopen (++mwup,0,25,79,5,LCYAN|_BLUE,TXTATTR);

 // wshadow (LGREY);

 // вывод результатов запроса из файла на экран

for (down=mwup; down<25 && fgets(string,LEN,f)! =NULL; ++down)

wprints (down-mwup,1,TXTATTR,string);

hidecur ();

 // цикл просмотра результатов

while ( (ch=getxch ())! =ESC)

switch (ch)

{

case UP: if (down<=25) break;

down--;

fseek (f, (long) (down-25+mwup) *LEN,0);

fgets (string,LEN,f);

wscroll (1,D_DOWN);

wprints (0,1,TXTATTR,string);

break;

case DOWN: if (fseek (f, (long) down*LEN,0))break;

if (fgets (string,LEN,f) ==NULL) break;

wscroll (1,D_UP);

wprints (24-mwup,1,TXTATTR,string);

down++;

break;

case PGUP: for (i=0; i<=24-mwup; ++i)

{

if (down<=25) break;

down--;

fseek (f, (long) (down-25+mwup) *LEN,0);

fgets (string,LEN,f);

wscroll (1,D_DOWN);

wprints (0,1,TXTATTR,string);

}

break;

case PGDOWN: for (i=0; i<=24-mwup; ++i)

{

if (fseek (f, (long) down*LEN,0)) break;

if (fgets (string,LEN,f) ==NULL) break;

wscroll (1,D_UP);

wprints (24-mwup,1,TXTATTR,string);

down++;

}

break;

}

fclose (f);

wcloseall ();

}

 // bs2_out. prj

 // res_scr_. c

 // res_scr ()

 // выдача результатов запроса по 2-й форме байтов состоянияна экран

 // (из файла)

#include <stdio. h>

#include <string. h>

#include «cxlwin. h»

#include «cxlkey. h»

#include «cxlvid. h»

#define LEN 100

#define TXTATTR _CYAN

#define UP 0x4800

#define DOWN 0x5000

#define PGUP 0x4900

#define PGDOWN 0x5100

#define RIGHT 0x4d00

#define LEFT 0x4b00

#define HOME 0x4700

#define END 0x4F00

#define ESC 0x011b

FILE *f; // дескриптор файла результатов

int down; // номер текущей строки в файле

char string [LEN] ;

int length; // длина строк в файле

int w1; // дескриптор окна

void screen_move (int right);

void resScr (void)

{

int right=0; // горизонтальное смещение

int ch; // код клавиши

int i;

 // вывод на экран строки запроса ишапки таблицы

f=fopen («inquiry. res»,«r++»);

wopen (0,0,0,79,5,BLUE|_LGREY,BLUE|_LGREY);

fgets (string,LEN,f);

wprints (0,1,BLUE|_LGREY,string);

w1=wopen (1,0,1,79,5,YELLOW|_BLUE,YELLOW|_BLUE);

fgets (string,LEN,f);

wprints (0,1,YELLOW|_BLUE,string);

length=strlen (string) +1;

 // основное окно

wopen (2,0,25,79,5,LCYAN|_BLUE,TXTATTR);

hidecur ();

 // wshadow (LGREY);

 // вывод результатов запроса из файла на экран

for (down=2; down<25 && fgets (string,LEN,f)! =NULL; ++down)

{

string [right+80] ='\0';

wprints (down-2,1,TXTATTR,string);

}

 // цикл просмотра результатов

while ( (ch=getxch ())! =ESC)

switch (ch)

{

case UP: if (down<=25) break;

down--;

fseek (f, (long) (down-23) *length,0);

fgets (string,LEN,f);

string [right+79] ='\0';

wscroll (1,D_DOWN);

wprints (0,1,TXTATTR,string+right);

break;

case DOWN: if (fseek (f, (long) down*length,0))break;

if (fgets (string,LEN,f) ==NULL) break;

wscroll (1,D_UP);

string [right+80] ='\0';

wprintc (22,0,TXTATTR,' ');

down++;

break;

case PGUP: for (i=0; i<=22; ++i)

{

if (down<=25) break;

down--;

fseek (f, (long) (down-23) *length,0);

fgets (string,LEN,f);

wscroll (1,D_DOWN);

string [right+80] ='\0';

wprints (0,1,TXTATTR,string+right);

wprintc (1,0,TXTATTR,' ');

}

break;

case PGDOWN: for (i=0; i<=22; ++i)

{

if (fseek (f, (long) down*length,0)) break;

if (fgets (string,LEN,f) ==NULL) break;

wscroll (1,D_UP);

string [right+80] ='\0';

wprints (22,1,TXTATTR,string+right);

down++;

}

break;

case LEFT: if (right) screen_move (--right);break;

case RIGHT: if (right+82<length) screen_move(++right); break;

case END: if (right+82<length) screen_move(right=length-82); break;

case HOME: if (right) screen_move (right=0);break;

}

fclose (f);

wcloseall ();

}

 // горизонтальная прокрутка

void screen_move (int right)

{

int i;

fseek (f,length,0);

fgets (string,LEN,f);

string [right+80] ='\0';

wwprints (w1,0,1,YELLOW|_BLUE,string+right);

if (down-22>2) fseek (f, (long) (down-22)*length,0);

for (i=0; i<=22 && fgets (string,length,f)! =NULL; ++i)

{

string [right+80] ='\0';

wprints (i,1,TXTATTR,string+right);

}

}

#include <stdio. h>

#include <string. h>

#include «cxlwin. h»

#include «cxlkey. h»

#include «cxlvid. h»

#define LEN 80

#define ESC 0x011b

FILE *f; // дескриптор файла результатов

char string [LEN]; // буфер для чтения из файла

void resScr (void)

{

int i;

int maxlen; // максимальная длина строки в файле результатовзапроса

int startpos; // столбец окна с которого печатается текст

 // открытие файла результатов запроса и

 // определение размера самой длинной строки в этом файле

f=fopen («inquiry. res»,«r++»);

for (maxlen=0, i=0; fgets (string,LEN,f)! =NULL;++i)

if (strlen (string) >maxlen) maxlen=strlen(string);

fseek (f,0,0);

 // черный фон

wopen (0,0,24,79,5,0,0);

 // открытие окна

wopen ( (20-i) /2,5, (20-i) /2+i+2,75,1,YELLOW|_BLUE,_CYAN);

hidecur ();

 // чтение типа устройства и его использование в качестветитула окна

fgets (string+1,LEN,f);

string [0] =' ';

for (i=2; i<=6; ++i)

if (string [i] =='\r' || string [i] =='\n')string [i] =' ';

wtitle (string,TCENTER,_LGREY);

 // вывод результатов запроса из файла в окно

startpos= (70-maxlen) /2;

for (i=2; fgets (string,LEN,f)! =NULL; ++i)

{

wgotoxy (i,startpos);

wprintf ("%s",string);

}

 // окно находится на экране пока не будет нажато ESC

while (getxch ()! =ESC);

fclose (f);

wcloseall ();

}


/>Список литературы

1.        Глушков В.М. “Основы безбумажной информатики", М. Наука, 1987 г.;

2.        “Человек и вычислительная техника" под ред. Глушкова В.М., М. Наука,1971 г.;

3.        “Организационные вопросы автоматизации управления” (перевод с английского)Глушкова В.М., М. Экономика, 1972 г.;

4.        Мартин Дж. “Организация баз данных в вычислительных системах", М. Мир,1980 г.;

5.        Бойко В.В., Савинков В.М. “Проектирование баз данных информационныхсистем”, М. Финансы и статистика, 1989 г.;

6.        Шураков В.В. “Надежность программного обеспечения систем обработкиданных”, М. Финансы и статистика, 1987 г.;

7.        Уинер Р. “Язык Турбо СИ", М. Мир, 1991 г.;

8.        Paradox Engine. Документация: описание, список функций для создания иработы с БД.;

9.        “Турбо СИ. Описание редактора, стандартные и графические функции”, изд. Иститутапроблем информатики, М. 1989 г.;

10.     Хьюз Дж., Мичтом Дж. “Структурный подход к программированию”. Изд. Мир,М., 1980 г.;

11.     “Выполнение организационно-экономической части дипломных проектов".Учебное пособие, изд. МИРЭА, 1994 г.;

12.     “Выполнение организационно-экономической части дипломных проектов".Учебное пособие, изд. МИРЭА, 1987 г.;

13.     “Сетевые графики в планировании". Разумов И.М., Белова Л.Д., и др.,М. Высшая школа, 1981 г.;

14.     “Основы финансового менеджмента. Как управлять капиталом? ” Балабанов И.Т.,М. “Финансы и статистика”, 1994 г.;

15.     Мотузко Ф.Я. “Охрана труда", М. Высшая школа, 1969 г.;

16.     Самгин Э.Б. “Освещение рабочих мест”, изд. МИРЭА, 1989 г.;

17.     Сибаров Ю.Б. “Охрана труда в вычислительных центрах" и др., М. Машиностроение,1990 г.;

18.     Методические указания по дипломному проектированию раздела “Охрана трудаи окружающей среды" под ред. Мотузко Ф.Я., МИРЭА, 1980 г.;

19.     “Основы инженерной психологии” под ред. Ломова Б.Ф., М. Высшая школа,1986 г.;

20.     Демиденко и др. “Защита объектов народного хозяйства от оружия массовогопоражения" Справочник, Киев «Высшая школа» 1989 г.;

21.     Методические указания по безопасности жизнедеятельности. “Особенностиведения аварийно-спасательных работ на промышленном объекте в ЧС мирноговремени”, изд. МИРЭА.;

22.     Атаманюк В.Г., Ширшев Л.Г. и др. “Гражданская оборона. Учебник дляВТУЗов”, М. Высшая школа. 1987г.;

23.     “Введение в практическую эргономику. Учебное пособие. ” под ред. ЗинченкоВ.П., Моргунова Е.Б., изд. МИРЭА, 1990г.

еще рефераты
Еще работы по информатике, программированию