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

Содержание


Реферат

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

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

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

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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


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. Требования, предъявляемыек АРМ РД

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

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

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

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

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

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

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

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

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

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

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

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


--PAGE_BREAK--

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

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

длительность работы с данной аппаратурой;

точность и эффективность приема информации.

/>Результатысведены в Таблицу1, в которой отраженытехническиехарактеристикиустройств иих влияние накаждое изэргономическихтребований.


Элементы рабочего места оператора


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


На какое требование влияет данная характеристика



Экран монитора

Оптимальное расстояние наблюдения информации на экране монитора – 450-500мм.



2



Расстояние между знаками по горизонтали: 0,25 высоты знака;

расстояние между строками: 0,5-1,0 высоты знака;

количество знаков в строке: 4-80;

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



2, 3



Угол наблюдения экрана не должен превышать 60 градусов. При наличии трех и более дисплеев в рабочей зоне допускается увеличение этого угла, но он не должен превышать 90 градусов.


2


Продолжениетабл. 1

Элементы рабочего места оператора

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

На какое требование влияет данная характеристика


Клавиатура

Клавиатура должна быть размещена на столе или подставке так, чтобы высота клавиатуры пульта по отношению к полу составляла 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

Элементы рабочего места оператора

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

На какое требование влияет данная характеристика


Окружаю-щее помещение

Экран АЦД, документы, клавиатура пульта должны быть расположены так, чтобы перепад яркостей их поверхностей, зависящий от их расположения относительно источников света, не превышал 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 бит/с.

В разделе“Гражданскаяоборона” былиприведенытребованияпо инженернойзащите оператораи оборудованияПЭВМ от воздействиявысоких температурпри взрывахв ЧС мирноговремени.

В разделе“Эргономика”была произведенаоценка рабочегоместа оператораи разработанооптимальное рабочее местооператора.


Приложение1

Схемыалгоритмовпрограмм


Приложение2

Текстыпрограмм


//inquiry.prj

//INQUIRY\inquiry.c

//main(),initsearch(),mem_args()

//программаобработкизапросов


#include<stdio.h></stdio.h>

#include<stdlib.h></stdlib.h>

#include<string.h></string.h>

#include<fcntl.h></fcntl.h>

#include

#include<io.h></io.h>

#include<dos.h></dos.h>

#include<alloc.h></alloc.h>

#include«pxengine.h»


TABLEHANDLEtblh; // дескриптортаблицы

RECORDNUMBERlow,high; // границыинтервалапоиска

intnflds; // кол-во полейв таблице

intnformat; // формат результата

inthandle; // дескрипторфайла


voidinterval(long date1,long date2,char *time1, char *time2); //определениеграниц интервалапоиска

voidsearch3(char *argv[],int *x); // поискс перечислениями

voidsearch2(char *argv[],int *x,int n); // поискбез перечислений

voidsearch1(void); // поиск толькопо дате и времени

voidinitsearch(char *argv[],int *x,int p,int n); // выборварианта поиска

voidrecprint(int nformat); // расшифровказаписи БД встроку и записьэтой строкив файл


charsag[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] — четвертогополя и т.д. ); "-"обоз-

начаетлюбое значениеданного поля; в случае несколькихискомых значенийпо одному полю(перечисление)они разделяютсязапятыми; пробелыв значенияхзаменены на'_'. */


voidmain(int argc,char *argv[])

{

int*x; // x[i] — количествоискомых значенийпо i-му полю

intn=0; // количествополей, для которыхзаданы значениядля поиска

intp=0; // количествополей c перечислениями

//значения x,n,pопределяютсябез учета полейдаты и времени

char*name[]={«all_inf»,«opi»,«shk»,«sbkdg»,«fk»,«ksum»,«ksum0»};

//имена баз данных

longdate1,date2; // граничныезначения интерваладат

inta,i,j,k;

char*c;

char**mem_args(void);

RECORDHANDLErech;

RECORDNUMBERnum;


//Получениеаргументовв случае ихпередачи черезпамять

if(argv[1][0]=='!')

{

argv=mem_args();

for(argc=0;argv[argc]!=NULL;++argc);

}


//определениеформата записидля базы данных, к которой

//произведензапрос

for(i=0;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

{

inqstr=(char*)calloc(82,1);

memset(inqstr+1,'',79);

inqstr[79]='\r';

inqstr[80]='\n';

inqstr[81]='\0';

for(c=inqstr;i

{

if(strlen(inqstr)+strlen(argv[i])>78+j)

{

if(strlen(argv[i])>50&& (strlen(inqstr)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

{

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

{

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

//выбор функциипоиска


voidinitsearch(char *argv[],int *x,int p,int n)

{

if(low>high)return;

if(p)search3(argv+5,x);

elseif(n) search2(argv,x,n);

elsesearch1();

}


//Функция mem_args возвращаетадрес строкипараметровв случае еепередачи черезпамять


#include«conn_mem.h»

char**mem_args()

{

char***dat;

dat=(char***)conn_mem();

returndat[ARGS_OFF/4];

}


//bs2_inq.prj

//INQUIRY\interval.c

//interval()

//определениеграничныхномеров интервалапоиска


#include<stdio.h></stdio.h>

#include<stdlib.h></stdlib.h>

#include«pxengine.h»

#include«def.h»


voidinterval (long date1,long date2,char *time1,char *time2)

{

RECORDHANDLErech;


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></stdio.h>

#include<mem.h></mem.h>

#include<io.h></io.h>

#include<dos.h></dos.h>

#include«pxengine.h»

#include«def.h»

#include«disp.h»


voidrecprint()

{

longdate;

intmonth,day,year;


intformat[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 } };


staticchar string[82]; // результирующаястрока

RECORDHANDLErech;

unionREGS r;

inta,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

PXGetAlpha(rech,i,sizeof(string)-format[nformat][i-2],

string+format[nformat][i-3]-1);

for(i=0;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)

RECORDNUMBERlow,high; — границыинтервалапоиска */


#include<stdlib.h></stdlib.h>

#include«pxengine.h»

#include«def.h»


voidsearch2(char *argv[],int *x,int n)

{

inta,i,j=0,*y;

intyes;

char*c,*c2;

chararg[10];

RECORDHANDLE*rec;

RECORDNUMBER*s,max=low;


s=(long*)calloc(n,sizeof(RECORDNUMBER));

rec=(unsignedint *)calloc(n,sizeof(RECORDHANDLE));

y=(int*)calloc(n,sizeof(int));


for(i=3;j

{

if(!x[i])continue;

PXRecBufOpen(tblh,rec+j);

PXPutAlpha(rec[j],i,argv[i+2]);

y[j++]=i;

}


while(1)

{

for(i=0;i

{

if(max==1)

{

if(!(a=PXSrchFld(tblh,rec[i],y[i],SEARCHFIRST)))

PXRecNum(tblh,&s[i]);

}

else

if(s[i]

{

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

{

if(s[i]!=max)yes=0;

if(s[i]>max)max=s[i];

}

if(yes){ ++max;recprint(); }

}

}


voidsearch1(void)

{

RECORDNUMBERi;


for(i=low;i

{

recprint();

PXRecNext(tblh);

}

}

//inquiry.prj

//INQUIRY\search3.c

//search3()

//поиск

/*исходные данные:

int*x;, где x[i] — количествоискомых значенийпо i-му полю

char*args[] — искомые значенияполей БД ( args[0] — третьего поля,argv[1] — четвертогополя и т.д. );

RECORDNUMBERlow,high; — границыинтервалапоиска */

//search1 — все записив заданноминтервале

//search2 — не более одногоискомого значенияпо каждому полю

//search3 — более одногоискомого значенияxотя бы по одномуполю


70>/stat.h>

    продолжение
--PAGE_BREAK--

#include<stdlib.h></stdlib.h>

#include<stdio.h></stdio.h>

#include«pxengine.h»

#include«def.h»


voidsearch3(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;

inti,j,k;

intyes;

char*c1,*c2;

chararg[10];

RECORDNUMBER*s,**z,max=low;

inta;


//выделениепамяти подмассивы rec,z,s

//и открытиебуферов

s=(long*)calloc(nflds,sizeof(RECORDNUMBER));

rec=(unsignedint **)calloc(nflds,sizeof(RECORDHANDLE *));

z=(long**)calloc(nflds,sizeof(RECORDNUMBER *));


for(i=3;i

if(x[i])

{

rec[i]=(unsignedint *)calloc(x[i],sizeof(RECORDHANDLE));

z[i]=(long*)calloc(x[i],sizeof(RECORDNUMBER));

for(j=0;j

}


//заносим в буферазначения изargs

//( значения дляодного поляразделены вargs запятыми )

for(i=3;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

{

c2=arg;

while(*c1!=','&& *c1!='\0') *c2++=*c1++;

*c2='\0';++c1;

PXPutAlpha(rec[i][k],i,arg);

}

}

}

//цикл поиска

while(1){

for(i=3;i

{

//1) Для каждогобуфера находимзапись с значениемравным занесенномув этот буфери с номером >=max.

// Найденныеномера заносимв соотвествующиеz[i][k]

// Если искомыхзаписей поданному буферунет, заносимв z[i][k] номер, превышающийверхнюю

// границу интервалапоиска

if(!x[i])continue;

for(k=0;k

{

if(max==1)

{

if(PXSrchFld(tblh,rec[i][k],i,SEARCHFIRST))z[i][k]=high+1;

elsePXRecNum(tblh,&z[i][k]);

}

else

if(z[i][k]

{

PXRecGoto(tblh,max-1);

if(PXSrchFld(tblh,rec[i][k],i,SEARCHNEXT))z[i][k]=high+1;

elsePXRecNum(tblh,&z[i][k]);

}

}

//2) Для каждогополя определяемзначение s[i]

// Если хотя быпо одному полюпроизошел выходза пределыинтервалапоиска, значитпоиск закончен

s[i]=z[i][0];

for(k=1;kz[i][k]) s[i]=z[i][k];

if(s[i]>high)

{

for(i=3;i

if(x[i])

{

for(j=0;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

{

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></stdio.h>

#include<stdlib.h></stdlib.h>

#include<string.h></string.h>

#include<fcntl.h></fcntl.h>

#include

#include<io.h></io.h>

#include<alloc.h></alloc.h>

#include«pxengine.h»

#include«devices.h»


TABLEHANDLEtblh; // дескриптортаблицы

RECORDNUMBERlow,high; // границыинтервалапоиска

intnflds; // кол-во полейв таблице

inthandle; // дескрипторфайла


voidinterval(long date1,long date2,char *time1, char *time2); //определениеграниц интервалапоиска

voidsearch(char *type); // поиск

voidrecprint(void); // расшифровказаписи БД встроку и записьэтой строкив файл


char*sag; // шапкa таблицы

char*sag2; // шапкa таблицы-втораястрока

char*inqstr; // строка запроса

intlength; // длина строкив таблице


/*строка аргументовфункции main:

argv[1]- не используется

argv[2]- вариант поиска;0 — поиск по всейБД, 1 — поиск ведином интервалепо дате и времени,2 — поиск в интервале

временипо каждому днюинтервала дат,3 — поиск за одиндень в интервалевремени;

argv[3]- дата;

argv[4]- время;

argv[5]- тип устройства */


voidmain(int argc,char *argv[])

{

longdate1,date2; // граничныезначения интерваладат

inta,i;

char*c;

RECORDHANDLErech;

RECORDNUMBERnum;


//открытие файларезультатовзапроса (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

switch(i)

{

case0: //ШЭ-00

case8: //ШЭ-08

sag=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВССОСТОЯНИЕ_ШКАФАСЕТЬ1 СЕТЬ2 \r\n");

break;

case1: //ШП-01

case9: //ШП-09

sag=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВССОСТОЯНИЕ_ШКАФА \r\n");

break;

case4: //ШК-04

case12: //ШК-12

sag=(char*)calloc(100,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВС КАНАЛЫЛИНИИ КНОНФКДТ НСПД ФЗПИТАНИЕ Д-ЖК--Ы Б---ЫЕ К--Ы \r\n");

break;

case2: //РМ-02

sag=(char*)calloc(81,1);

sag2=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВС БЛОКИРОВКА ЕСТЬ СВЯЗЬ СВК \r\n");

strcpy(sag2," ПЭВМ1 поФК по ЛС1 по ЛС3 \r\n");

break;

case10: //РМ-10

sag=(char*)calloc(81,1);

sag2=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВС БЛОКИРОВКА ЕСТЬ_СВЯЗЬ_С_ВК \r\n");

strcpy(sag2," ПЭВМ2 поФК по ЛС2 по ЛС4 \r\n");

break;

case5: //РМ05Г

case13: //РМ13П

sag=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВС ЛИНИИ КНОН ФКДТ НСПДФЗ \r\n");

break;

case3: //В

case6: //КС1

case14: //КС2

case15: //АС

sag=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВС КАНАЛЫЛИНИИ ФКДТНСПД ФЗ \r\n");

break;

case7: //ВМ

sag=(char*)calloc(81,1);

strcpy(sag," ДАТА ВРЕМЯ ТИП_У П ВС АВАРИЯПИТАНИЯ НЕИСПРКАН КАНАЛЫ \r\n");

break;

case16: //ВУ16

case17: //ВУ17

case18: //ВУ18

case19: //ВУ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

{

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

{

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></string.h>

#include«devices.h»


voidform2(char *Type,char *bytes,char *text)

{

/*Type; тип устройства

bytes; нерасшифрованныебайты состояния

text; буфер длярасшифрованныхБС */

inti;

for(i=0;strcmp(devices[i].type,Type) && i

switch(i)

{

case0: // ШЭ-00


if(bytes[5]&0x04)strcpy(text,«НЕИСПРАВЕН»);

else strcpy(text,«ИСПРАВЕН»);

if(bytes[4]&0x02)strcpy(text+16,«CETЬ1»);

break;

case8: // ШЭ-08


if(bytes[5]&0x04)strcpy(text,«НЕИСПРАВЕН»);

else strcpy(text,«ИСПРАВЕН»);

if(bytes[4]&0x04)strcpy(text+22,«СЕТЬ2»);

break;


case1: // ШП-01

case9: // ШП-09


if(bytes[5]&0x04)strcpy(text,«НЕИСПРАВЕН»);

elsestrcpy(text,«ИСПРАВЕН»);

break;


case4: // ШК-04

case12: // ШК-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;


case3: // В

case6: // КС1

case14: // КС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;


case2: // РМ-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;


case10: // РМ-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;


case5: // РМ05Г

case13: // РМ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;


case7: // ВМ


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;


case16: // ВУ16

case17: // ВУ17

case18: // ВУ18

case19: // ВУ19


if(bytes[5]&0x04)strcpy(text,«НЕИСПР МАГПРИЕМА»);

if(bytes[3]&0x01)strcpy(text+18,«КНОН»);

break;


case15: // АС

//Подкорректироватьпосле согласованиябайта состояния

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></stdio.h>

#include<stdlib.h></stdlib.h>

#include«pxengine.h»

#include«def.h»


voidinterval (long date1,long date2,char *time1,char *time2)

{

RECORDHANDLErech;


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></stdio.h>

#include<io.h></io.h>

#include<string.h></string.h>

#include<stdlib.h></stdlib.h>

#include<dos.h></dos.h>

#include«pxengine.h»

#include«def.h»

#include«disp.h»


voidform2(char *,char *,char *);

//расшифровкабайтов состояния


voidrecprint()

{

longdate; // дата в форматеБД

intmonth,day,year; // расшифрованнаядата

char*string; // результирующаястрока

char*bytes; // нерасшифрованныебайты состояния

RECORDHANDLErech; // дескрипторзаписи

inta,i;

unionREGS 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

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></stdlib.h>

#include«pxengine.h»

#include«def.h»


voidsearch(char *type)

{

inta,i,y[2];

RECORDHANDLErec[2];

RECORDNUMBERs[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;


/stat.h>

[i];++k)if(s[i]>    продолжение


--PAGE_BREAK--

while(1)

{

for(i=0;i

{

if(max==1)

{

if(!(a=PXSrchFld(tblh,rec[i],y[i],SEARCHFIRST)))

PXRecNum(tblh,&s[i]);

}

else

if(s[i]

{

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(); }

elseif(s[1]>s[0]) max=s[1];

elsemax=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></stdio.h>

#include<fcntl.h></fcntl.h>

#include

#include<io.h></io.h>

#include«pxengine.h»

#include<string.h></string.h>


voidform3(char *,char *,int);

//расшифровкабайтов состояниядля третьейформы представленияи их запись вфайл результатов


/*аргументыфункции main :

argv[1]- тип устройства*/


voidmain(int argc,char *argv[])

{

inta;

inti;

inthandle; // дескрипторфайла результатовпоиска

staticchar bytes[45]; // буфер длянерасшифрованныхбайтов состояния


RECORDHANDLErec; // дескрипторзаписи

TABLEHANDLEtblh; // дескриптортаблицы


//открытие файларезультатовизапись в неготипа устройства

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;

}

elsewhile(!(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></io.h>

#include<string.h></string.h>

#include«devices.h»


#include<dos.h></dos.h>


voidform3(char *Type,char *bytes,int handle)

{


/*Type — тип устройства

bytes- нерасшифрованныебайты состояния

handle- дескрипторфайла результатов*/


inti;

/*

structdate d;

structtime 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

switch(i)

{

case0: // ШЭ-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;


case8: // ШЭ-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;


case1: // ШП-01

case9: // ШП-09


if(bytes[5]&0x04)

write(handle," Шкаф НЕИСПРАВЕН \r\n",76);

else

write(handle," Шкаф ИСПРАВЕН \r\n",76);

break;


case4: // ШК-04

case12: // ШК-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;


/stat.h>    продолжение

--PAGE_BREAK--

case3: // В

case6: // КС1

case14: // КС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;


case2: // РМ-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;


case10: // РМ-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;


case5: // РМ05Г

case13: // РМ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;


case7: // ВМ


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;


case16: // ВУ16

case17: // ВУ17

case18: // ВУ18

case19: // ВУ19


if(bytes[5]&0x01)

write(handle,«ПУзаблокированооператоромпо ФК \r\n»,76);

if(bytes[5]&0x04)

write(handle,«НажатаКНОПКА ОБНАРУЖЕНИЯНЕИСПРАВНОСТИ \r\n»,76);

break;


case15: // АС

//Подкорректироватьпосле согласования

//байтасостояния


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></dos.h>

#include«cxlkey.h»

#include«disp.h»


externvoid resScr(void);

//выдача результатовзапроса изфайла на экран

externvoid resPrn(void);

//выдача результатовзапроса изфайла на принтер


voidmain(int argc,char *argv[])

{

voidz(void);


setkbloop(z);

if(argv[1][0]=='э')resScr();

elseresPrn();

}


voidz(void)

{

unionREGS r;

r.h.ah=0;

int86(DISP,&r,&r);

}


#include<dos.h></dos.h>

#include«cxlkey.h»

#include«disp.h»


externvoid resScr(void);

//выдача результатовзапроса изфайла на экран

externvoid resPrn(void);

//выдача результатовзапроса изфайла на принтер


voidmain(int argc,char *argv[])

{

voidz(void);


setkbloop(z);

if(argv[1][0]=='э')resScr();

elseresPrn();

}


voidz(void)

{

unionREGS r;

r.h.ah=0;

int86(DISP,&r,&r);

}


//inq_out.prj

//INQ_OUT.C

//main()

//выдача результатовзапроса наэкран ( из файла)

//или форматированиеи постановкав очередь длявыдачи на принтер


#include<string.h></string.h>

#include

#include«cxlkey.h»

#include«cxldef.h»


externvoid resScr(void);

//выдача результатовзапроса изфайла на экран

externvoid resPrn(void);

//выдача результатовзапроса изфайла на принтер


voidmain(int argc,char *argv[])

{

voidz(void);


setkbloop(z);

if(argv[1][0]=='э')resScr();

elseresPrn();

}


#include<dos.h></dos.h>

#include«disp.h»

voidz(void)

{

unionREGS r;

r.h.ah=0;

int86(DISP,&r,&r);

}


//inq_out.prj

//res_scr.C

//res_scr()

//выдача результатовзапроса наэкран ( из файла)


#include<stdio.h></stdio.h>

#include<string.h></string.h>

#include«cxlwin.h»

#include«cxlkey.h»

#include«cxlvid.h»


    продолжение
--PAGE_BREAK--

#defineLEN 81

#defineTXTATTR _CYAN

#defineUP 0x4800

#defineDOWN 0x5000

#definePGUP 0x4900

#definePGDOWN 0x5100

#defineESC 0x011b


voidresScr(void)

{

FILE*f; // дескрипторфайла результатов

intdown; // номер текущейстроки в файле

intch; // код клавиши

inti;

charstring[LEN];

intmwup; // количествострок над основнымокном


//вывод на экранстроки запросаи шапки таблицы

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

wprints(down-mwup,1,TXTATTR,string);


hidecur();


//цикл просмотрарезультатов

while((ch=getxch())!=ESC)

switch(ch)

{

caseUP: if(down

down--;

fseek(f,(long)(down-25+mwup)*LEN,0);

fgets(string,LEN,f);

wscroll(1,D_DOWN);

wprints(0,1,TXTATTR,string);

break;


caseDOWN: 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;


casePGUP: for(i=0;i

{

if(down

down--;

fseek(f,(long)(down-25+mwup)*LEN,0);

fgets(string,LEN,f);

wscroll(1,D_DOWN);

wprints(0,1,TXTATTR,string);

}

break;


casePGDOWN: for(i=0;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></stdio.h>

#include<string.h></string.h>

#include«cxlwin.h»

#include«cxlkey.h»

#include«cxlvid.h»


#defineLEN 100

#defineTXTATTR _CYAN

#defineUP 0x4800

#defineDOWN 0x5000

#definePGUP 0x4900

#definePGDOWN 0x5100

#defineRIGHT 0x4d00

#defineLEFT 0x4b00

#defineHOME 0x4700

#defineEND 0x4F00

#defineESC 0x011b


FILE*f; // дескрипторфайла результатов

intdown; // номер текущейстроки в файле

charstring[LEN];

intlength; // длина строкв файле

intw1; // дескрипторокна

voidscreen_move(int right);


voidresScr(void)

{


intright=0; // горизонтальноесмещение

intch; // код клавиши

inti;


//вывод на экранстроки запросаи шапки таблицы

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

{

string[right+80]='\0';

wprints(down-2,1,TXTATTR,string);

}


//цикл просмотрарезультатов

while((ch=getxch())!=ESC)

switch(ch)

{

caseUP: if(down

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;


caseDOWN: 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;


casePGUP: for(i=0;i

{

if(down

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;


casePGDOWN: for(i=0;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;


caseLEFT: if(right) screen_move(--right);break;

caseRIGHT: if(right+82<length screen_move>

caseEND: if(right+82<length screen_move>

caseHOME: if(right) screen_move(right=0);break;

}


fclose(f);

wcloseall();

}


//горизонтальнаяпрокрутка

voidscreen_move(int right)

{

inti;


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

{

string[right+80]='\0';

wprints(i,1,TXTATTR,string+right);

}

}


#include<stdio.h></stdio.h>

#include<string.h></string.h>

#include«cxlwin.h»

#include«cxlkey.h»

#include«cxlvid.h»


#defineLEN 80

#defineESC 0x011b


FILE*f; // дескрипторфайла результатов

charstring[LEN]; // буфер длячтения из файла


voidresScr(void)

{

inti;

intmaxlen; // максимальнаядлина строкив файле результатовзапроса

intstartpos; // столбец окнас которогопечатаетсятекст


//открытие файларезультатовзапроса и

//определениеразмера самойдлинной строкив этом файле

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

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();

}


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

Глушков В. М. “Основы безбумажной информатики”, М. Наука, 1987 г.;

“Человек и вычислительная техника” под ред. Глушкова В. М., М. Наука, 1971 г.;

“Организационные вопросы автоматизации управления” (перевод с английского) Глушкова В. М., М. Экономика, 1972 г.;

Мартин Дж. “Организация баз данных в вычислительных системах”, М. Мир, 1980 г.;

Бойко В. В., Савинков В. М. “Проектирование баз данных информационных систем”, М. Финансы и статистика, 1989 г.;

Шураков В. В. “Надежность программного обеспечения систем обработки данных”, М. Финансы и статистика, 1987 г.;

Уинер Р. “Язык Турбо СИ”, М. Мир, 1991 г.;

Paradox Engine. Документация: описание, список функций для создания и работы с БД.;

“Турбо СИ. Описание редактора, стандартные и графические функции”, изд. Иститута проблем информатики, М. 1989 г.;

Хьюз Дж., Мичтом Дж. “Структурный подход к программированию”. Изд. Мир, М., 1980 г.;

“Выполнение организационно-экономической части дипломных проектов”. Учебное пособие, изд. МИРЭА, 1994 г.;

“Выполнение организационно-экономической части дипломных проектов”. Учебное пособие, изд. МИРЭА, 1987 г.;

“Сетевые графики в планировании”. Разумов И. М., Белова Л. Д., и др., М. Высшая школа, 1981 г.;

“Основы финансового менеджмента. Как управлять капиталом?” Балабанов И. Т., М. “Финансы и статистика”, 1994 г.;

Мотузко Ф. Я. “Охрана труда”, М. Высшая школа, 1969 г.;

Самгин Э. Б. “Освещение рабочих мест”, изд. МИРЭА, 1989 г.;

Сибаров Ю. Б. “Охрана труда в вычислительных центрах” и др., М. Машиностроение, 1990 г.;

Методические указания по дипломному проектированию раздела “Охрана труда и окру­жающей среды” под ред. Мотузко Ф. Я., МИРЭА, 1980 г.;

“Основы инженерной психологии” под ред. Ломова Б. Ф., М. Высшая школа, 1986 г.;

Демиденко и др. “Защита объектов народного хозяйства от оружия массового поражения” Справочник, Киев «Высшая школа» 1989 г.;

Методические указания по безопасности жизнедеятельности. “Особенности ведения аварийно-спасательных работ на промышленном объекте в ЧС мирного времени”, изд. МИРЭА.;

Атаманюк В. Г., Ширшев Л. Г. и др. “Гражданская оборона. Учебник для ВТУЗов”, М. Высшая школа. 1987г.;

“Введение в практическую эргономику. Учебное пособие.” под ред. Зинченко В. П., Моргунова Е. Б., изд. МИРЭА, 1990г.




ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯЧАСТЬ


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


Студент: Никитина Е.М.

Группа: АС-1-93


Консультант: Нуль И.А.


Москва1998


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

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

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

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

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


ОПРЕДЕЛЕНИЕЗАТРАТ НА ТЕМУ.

Дляопределениязатрат на темунеобходиморассчитатьследующиестатьи расхода:

основная заработная плата персонала,

дополнительная заработная плата,

отчисления на социальные нужды,

производственные командировки,

оплата работ, выполняемых сторонними организациями,

накладные расходы,

основные материалы и покупные изделия.

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

Результатырасчета приводятсяв таблице 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

Таблица2.1. (Продолжение)


N

п/п

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

этапов

Исполни-тели

Трудоем-кость, в чел.мес.

Должност-ной оклад, руб.

Затраты по зарплате, руб.

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 руб.


25>25>    продолжение
--PAGE_BREAK--

ПЛАНИРОВАНИЕРАБОТ ПО ТЕМЕС ПРИМЕНЕНИЕМСЕТЕВЫХ МЕТОДОВ.

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

ПланированиеНИР с применениемсетевого методаведется в следующемпорядке:

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

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

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

определяется продолжительность работ,

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

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

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

Переченьсобытий приведенв таблице 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.

Закончены работы по созданию системы защиты информации на ЛВС заказчика.

Таблица2.4. (Продолжение)


Код события

Событие

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


Таблица2.5. (Продолжение).


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


Таблица2.6. (Продолжение)


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)

__________

/

  

tкрij


гдеn- число работ, лежащих накритическомпути, Тд — директивныйсрок, = 0,04(tmax- tmin) — дисперсияработы i,jкритическогопути (значениядисперсийприведены втаблице 2.7).

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

Таблица2.7. Параметрысетевого графика.

i-j

Кн

tкрij

i-j

Кн

tкр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

/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>

1

2

3

4

5

6

7

8

9

10

11

13

12

15

16

14

17

18

19

20


27

6

11


2

6

3

3

12

2

22

2

2

9

6

24

27

5

6

8

38

27

5



12


/>


Рис.2.1.Сетевой график.

    продолжение
--PAGE_BREAK--

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

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

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

/>/>/>


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

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


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

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


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

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

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

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

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

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

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


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

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


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

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


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

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


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

3.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-й байт кодограммы

/>


Значениеполя “Счетчиксбоев” (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

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


Общийвид кодограммырегистрации№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-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

Разрешенное НСД снято

/>


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


15

14

13

12

11

10

9

8

7

6

5

4

3

2

1


0 -Ш1 5 -АРМ1 10 — 15-

1 -Ш2 6 — 11 -

2 — 7 -АРМ2 12 -АРМ5

3 — 8 -АРМ3 13 -АРМ6

/>4 -Ш3 9 -АРМ4 14 -


15

14

13

12

11

10

9

8

7

6

5

4

3

2

1


0 -АРМРД1 2 -И-ПП

/>1 -АРМРД 2 3 -И-ВП


РегистрациярезультатовФК (признакпечати = 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 связь восстановлена


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

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

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


    продолжение
--PAGE_BREAK--

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1


0 -Ш1 5 -АРМ1 10 -ПУ3 15-КС3

1 -Ш2 6 -КС1 11 -

2 -ПУ1 7 -АРМ2 12 -АРМ5

3 -ПУ2 8 -АРМ3 13 -АРМ6

/>4 -Ш3 9 -АРМ4 14 -КС2


15

14

13

12

11

10

9

8

7

6

5

4

3

2

1


0 -АРМ-РД1 2 -ИП-П

1 -АРМ-РД2 3 -ИВ-П

/>


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

№ Разрядов

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

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

Обозна

чение

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, АБН)

ПМ

/>


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


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

№ слова

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

слово

№ устройства

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

Признак

Печати

Часы

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

1

слово

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

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

2

слово

3

слово

4

слово

Адрес памяти

/>5

слово

Содержимое памяти


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


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

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


№ слова

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

слово

№ устройства

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

Признак

печати

Часы

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

1

слово

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

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

2

слово

1-й байт БС

0-й байт БС

3

слово

3-й байт БС

2-й байт БС

4

слово

5-й байт БС

4-й байт БС

5

слово

7-й байт БС

6-й байт БС

/>


Номераустройств припередаче БСкодируютсяследующимобразом (рис.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

/>0

1

1

1

ИВ-П

2


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

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


№ слова

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

слово

№ устройства

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

1

1

1

Часы

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

1

слово

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

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

2

слово

1

1

3

слово

4

слово

/>5

слово


№устройства= 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

слово

№ устройства

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

1

1

1

Часы

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

1

слово

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

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

2

слово

1

3

слово

4

слово

5

слово

/>


№устройства= 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. Проблемыинтеграцииданных

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

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

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

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


    продолжение
--PAGE_BREAK--

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. ВыборСУБД

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Каждаязапись можетвключать до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- библиотеку функций на языке Си, что дает возможность уделить больше времени решению основной задачи.


    продолжение
--PAGE_BREAK--

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

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

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

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

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

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

Дляработы с файламив составе ПОАРМ РД предусмотреныобщесистемныеутилиты (архиваторы, антивирусы, и т.п.). Для оформлениядокументации, записок, отчетовпредусмотрентекстовыйредактор 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слова).

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

/>


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

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

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

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

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


Ш-1

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

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

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

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


Определениереализуемыхфункций программобработкизапросов для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-ю форму представления, которые предназначеныдля полученияинформациипо одному устройству.Если же количествозаписей в БДувеличилосьнастолько, чтопоиск занимаетощутимое время, то рекомендуетсяпользоватьсясредствамиархивации.

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


    продолжение
--PAGE_BREAK--

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

Введение

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

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

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

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

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

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

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

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

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

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

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


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 приведен переченьсобытий и работ, имеющих местопри разработкеАРМ РД.

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

/>

этапа

соб.

Событие

Код

работы

Наименование работы


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

Выбор языка программирования


Продолжениетабл. 1

этапа

соб.

Событие

Код

работы

Наименование работы


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


Исправление ошибок в программах


Продолжениетабл. 1

этапа

соб.

Событие

Код

работы

Наименование работы


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.


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

/>

Код

Соб.

/>

/>

/>

/>

/>

/>

/>

/>

/>

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


    продолжение
--PAGE_BREAK--

Продолжениетабл. 2

Код

Соб.

/>

/>

/>

/>

/>

/>

/>

/>

/>

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.


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

/>

Наимено­вание этапов работ

Исполни­тель

Оклад

( руб.)

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

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

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

Затраты по

зар. плате

( руб.)

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 руб.


п/п

Наименование статьи расхода

Затраты (в руб.)

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,

гдеhП– высота помещения= 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 указанытри выключателя(по одному накаждую фазу– группу ламп)– это необходимодля обеспечениявозможностинезависимогоуправ­лениягруппами ламп.


    продолжение
--PAGE_BREAK--

/>/>/>


Равномерностьраспределенияяркости в полезрения. Характеризуетсяотношением/>(данное отношениесчитаетсяоптимальным)или />.В данном случае/>, следовательноотношение />.

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


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


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

Рассчитаеминформационнуюнагрузку оператора.Воспользуемсятабл. 4 [18].

Количествоопераций, совершаемыхоператоромза 3 часа(табл.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).


/>

Время

Вид работы и её интенсивность

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), где:

/> — радиус зоны детонационной волны;

/> — радиус зоны поражения продуктами взрыва;

/> — зона действия воздушной ударной волны.

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

/>, м, где /> — количествосжиженногогаза, т.

/>/>Впределах />действует/>=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м, то вероятность возникновения сплошных пожаров мала. Скорость ветра также будет мало влиять на распространение пожара, т.к. она невелика, а сплошных пожаров, как было сказано выше, не возникнет.


    продолжение
--PAGE_BREAK--

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.


/>

/>


Уголнаблюденияэкрана, а такжедругих средствотображенияв горизонтальнойплоскости (уголразворота блокаотображенияАЦД относительнооператора) вобщем случаене должен превышать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].

/>


ЭкранАЦД, документы, клавиатурапульта должныбыть расположенытак, чтобы перепадяркостей ихповерхностей, зависящий отих расположенияотносительноисточниковсвета, не превышал1:10 при рекомендуемомзначении 1:3. Прияркости изображенияна экране 50-100 кд/м(номинальноезначение)освещенностьдокументадолжна составлять300-500 лк. Должныбыть исключеныслепящие яркости, блики и отображенияот стекла экрана.

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

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

Дляобеспеченияоптимальныхусловий работыоператоровдисплейныхустройствнеобходимаопределеннаяцветовая отделкапомещений. Так, при использованииэкранов красновато-желтогоцвета с яркостьюсвечения до15кд/м2 стену, противоположнуюэкранам, окрашиваютв насыщенныйтемно-коричневыйцвет с коэффициентомотражения />=0.2, а остальныестены — в красно-коричневыйцвет с />=0.35. При восприятииинформациина экране зеленогоцвета целесообразноокрашиватьстену, на которуюнаправленвзгляд оператора, в оливково-зеленыйцвет с />=0.4. Окраске поверхностейследует придаватьматовую фактуру[17].

Заключение



еще рефераты
Еще работы по информатике