Автоматизированное рабочее место регистрации и документирования комплекса средств автоматизации
Анализ концепции построения комплекса средств автоматизации. Разработка программы с целью формирования и обработки запросов для каждой из 3-х форм представления байтов состояния и выдачи результатов запроса в файл. Программирование на языке Borland C++.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.10.2013 |
Размер файла | 251,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Расчёты показали, что оператор получает информационную нагрузку, равную .
Кроме того, необходимо в течение 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м, то вероятность возникновения сплошных пожаров мала. Скорость ветра также будет мало влиять на распространение пожара, т.к. она невелика, а сплошных пожаров, как было сказано выше, не возникнет.
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].
Итак, при эргономической оценке рабочего места оператора в качестве основных эргономических требований были выбраны следующие:
особенности конструктивного выполнения и расположения технических средств и аппаратуры;
длительность работы с данной аппаратурой;
точность и эффективность приема информации.
Результаты сведены в Таблицу 1, в которой отражены технические характеристики устройств и их влияние на каждое из эргономических требований.
Элементы рабочего места оператора |
Технические характеристики, предъявляемые к элементу рабочего места оператора |
На какое требование влияет данная характеристика |
|
Экран монитора |
Оптимальное расстояние наблюдения информации на экране монитора - 450-500мм. |
2 |
|
Расстояние между знаками по горизонтали: 0,25 высоты знака;расстояние между строками: 0,5-1,0 высоты знака;количество знаков в строке: 4-80;максимально допустимое количество строк для цветного изображения: не более 25. |
2, 3 |
||
Угол наблюдения экрана не должен превышать 60 градусов. При наличии трех и более дисплеев в рабочей зоне допускается увеличение этого угла, но он не должен превышать 90 градусов. |
2 |
||
Клавиатура |
Клавиатура должна быть размещена на столе или подставке так, чтобы высота клавиатуры пульта по отношению к полу составляла 650-720мм. При размещении пульта на стандартном столе высотой 750мм необходимо использовать кресло с регулируемой высотой сиденья и подставку под ноги.Клавиатуру, манипулятор “мышь” следует располагать в оптимальной зоне -не более 300 - 400мм от точки опоры локтя оператора. |
1, 2 |
|
Бланк данных |
Для оператора ввода данных документ (бланк) рекомендуется располагать на расстоянии 450-500 мм от глаз оператора, преимущественно слева, при этом угол между экраном АЦД и документом в горизонтальной плоскости не должен превышать 30-40 градусов. |
2, 3 |
|
Кресло оператора |
Конструкция кресла оператора должна позволять сидеть, поддерживая тяжесть верхней части туловища не напряжением мышц спины, а путем опоры на спинку. Форма сиденья - квадратная со сторонами 400 мм, и с выемкой, по форме бедра. Наклон сиденья назад - 5-6 градусов, высота сиденья кресла от пола 400-450 мм. Если сиденье расположено выше, необходимо иметь подставку для ног. Спинка кресла должна иметь вогнутую форму, ширина спинки - 300 мм. Угол наклона спинки 5-10 градусов. При работе более 6ч на время отдыха угол наклона спинки можно изменить, но не более чем на 45 градусов. |
1, 2 |
|
Устройства документи-Рования |
Устройства документирования информации рекомендуется располагать справа от оператора в зоне максимальной досягаемости, шумящие выносить за пределы рабочей зоны. |
1, 3 |
|
Окружаю-щее помещение |
Экран АЦД, документы, клавиатура пульта должны быть расположены так, чтобы перепад яркостей их поверхностей, зависящий от их расположения относительно источников света, не превышал 1:10 при рекомендуемом значении 1:3. При яркости изображения на экране 50-100 кд/м (номинальное значение) освещенность документа должна составлять 300-500 лк. Должны быть исключены слепящие яркости, блики и отображения от стекла экрана.При использовании экранов красновато-желтого цвета с яркостью свечения до 15кд/м2 стену, противоположную экранам, окрашивают в насыщенный темно-коричневый цвет с коэффициентом отражения =0.2, а остальные стены - в красно-коричневый цвет с =0.35. При восприятии информации на экране зеленого цвета стену, на которую направлен взгляд оператора, окрашивают в оливково-зеленый цвет с =0.4. Окраске поверхностей следует придавать матовую фактуру. |
1, 2, 3 |
Заключение
Результатом данного дипломного проекта является разработка программ формирования и обработки запросов. Программы разработаны для технических средств АРМ РД и функционируют совместно с остальным ПО АРМ РД.
В процессе разработки программ выполнены требования к функциональным характеристикам, условия эксплуатации и требования к операционной и программной совместимости. В заключительной части дипломного проекта была дана оценка результатов работы программ и даны рекомендации оператору АРМ РД.
Объем памяти, занимаемый программой равен: V = 64 Кбайта.
В организационно-экономической части дипломного проекта было проведено планирование разработки с построением сетевого графика, расчет договорной цены разработки, обоснована экономическая целесообразность темы.
Договорная цена разработки составляет: Цд = 916 152 руб. в ценах 1998г.
В разделе “Охрана труда и техника безопасности” был выбран оптимальный режим освещенности и проведен расчет информационной нагрузки оператора.
Значение информационной нагрузки оператора АРМ РД составляет 0.6 бит/с.
В разделе “Гражданская оборона” были приведены требования по инженерной защите оператора и оборудования ПЭВМ от воздействия высоких температур при взрывах в ЧС мирного времени.
В разделе “Эргономика” была произведена оценка рабочего места оператора и разработано оптимальное рабочее место оператора.
Список литературы
Глушков В. М. “Основы безбумажной информатики”, М. Наука, 1987 г.;
“Человек и вычислительная техника” под ред. Глушкова В. М., М. Наука, 1971 г.;
“Организационные вопросы автоматизации управления” (перевод с английского) Глушкова В. М., М. Экономика, 1972 г.;
Мартин Дж. “Организация баз данных в вычислительных системах”, М. Мир, 1980 г.;
Бойко В. В., Савинков В. М. “Проектирование баз данных информационных систем”, М. Финансы и статистика, 1989 г.;
Шураков В. В. “Надежность программного обеспечения систем обработки данных”, М. Финансы и статистика, 1987 г.;
Уинер Р. “Язык Турбо СИ”, М. Мир, 1991 г.;
Paradox Engine. Документация: описание, список функций для создания и работы с БД.;
“Турбо СИ. Описание редактора, стандартные и графические функции”, изд. Иститута проблем информатики, М. 1989 г.;
Хьюз Дж., Мичтом Дж. “Структурный подход к программированию”. Изд. Мир, М., 1980 г.;
“Выполнение организационно-экономической части дипломных проектов”. Учебное пособие, изд. МИРЭА, 1994 г.;
“Выполнение организационно-экономической части дипломных проектов”. Учебное пособие, изд. МИРЭА, 1987 г.;
“Сетевые графики в планировании”. Разумов И. М., Белова Л. Д., и др., М. Высшая школа, 1981 г.;
“Основы финансового менеджмента. Как управлять капиталом?” Балабанов И. Т., М. “Финансы и статистика”, 1994 г.;
Мотузко Ф. Я. “Охрана труда”, М. Высшая школа, 1969 г.;
Самгин Э. Б. “Освещение рабочих мест”, изд. МИРЭА, 1989 г.;
Сибаров Ю. Б. “Охрана труда в вычислительных центрах” и др., М. Машиностроение, 1990 г.;
Методические указания по дипломному проектированию раздела “Охрана труда и окружающей среды” под ред. Мотузко Ф. Я., МИРЭА, 1980 г.;
“Основы инженерной психологии” под ред. Ломова Б. Ф., М. Высшая школа, 1986 г.;
Демиденко и др. “Защита объектов народного хозяйства от оружия массового поражения” Справочник, Киев "Высшая школа" 1989 г.;
Методические указания по безопасности жизнедеятельности. “Особенности ведения аварийно-спасательных работ на промышленном объекте в ЧС мирного времени”, изд. МИРЭА.;
Атаманюк В. Г., Ширшев Л. Г. и др. “Гражданская оборона. Учебник для ВТУЗов”, М. Высшая школа. 1987г.;
“Введение в практическую эргономику. Учебное пособие.” под ред. Зинченко В. П., Моргунова Е. Б., изд. МИРЭА, 1990г.
Приложение
Тексты программ
// inquiry.prj
//INQUIRY\inquiry.c
// main(),initsearch(),mem_args()
// программа обработки запросов
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <io.h>
#include <dos.h>
#include <alloc.h>
#include "pxengine.h"
TABLEHANDLE tblh; // дескриптор таблицы
RECORDNUMBER low,high; // границы интервала поиска
int nflds; // кол-во полей в таблице
int nformat; // формат результата
int handle; // дескриптор файла
void interval(long date1,long date2,char *time1, char *time2); // определение границ интервала поиска
void search3(char *argv[],int *x); // поиск с перечислениями
void search2(char *argv[],int *x,int n); // поиск без перечислений
void search1(void); // поиск только по дате и времени
void initsearch(char *argv[],int *x,int p,int n); // выбор варианта поиска
void recprint(int nformat); // расшифровка записи БД в строку и запись этой строки в файл
char sag[7][81]={
" ДАТА ВРЕМЯ ТЕКСТ СООБЩЕНИЯ \r\n",
" ДАТА ВРЕМЯ НАПР-Е А N РР ИСТ ВС ТЕКСТ СООБЩЕНИЯ \r\n",
" ДАТА ВРЕМЯ НАПР-Е N РР ТЕКСТ СООБЩЕНИЯ \r\n",
" ДАТА ВРЕМЯ НАПР-Е К-ВО ВС 1СЛ 2СЛ 3СЛ 4СЛ ТЕКСТ СООБЩЕНИЯ \r\n",
" ДАТА ВРЕМЯ ТИП-У П ВС ТЕКСТ СООБЩЕНИЯ \r\n",
" ДАТА ВРЕМЯ КСУМ0 КСУМ1 КСУМ2 КСУМ3 \r\n",
" ДАТА ВРЕМЯ КСУП1 КСУС1 КСУП2 КСУС2 КСУП3 КСУС3 \r\n"
}; // шапки таблиц
char *inqstr; // строки запроса
/* строка аргументов функции main:
argv[1] - имя файла БД; или "!", означающий, что строка аргументов передается через память;
argv[2] - вариант поиска; 0 - поиск по всей БД, 1 - поиск в едином интервале по дате и времени, 2 - поиск в интервале времени по каждому дню интервала дат, 3 - поиск за один день в интервале времени;
argv[3] - дата;
argv[4] - время;
argv[5] и далее - искомые значения полей БД ( argv[5] - третьего поля, argv[6] - четвертого поля и т.д. ); "-" обоз-
начает любое значение данного поля; в случае нескольких искомых значений по одному полю (перечисление) они разделяются запятыми; пробелы в значениях заменены на '_'. */
void main(int argc,char *argv[])
{
int *x; // x[i] - количество искомых значений по i-му полю
int n=0; // количество полей, для которых заданы значения для поиска
int p=0; // количество полей c перечислениями
// значения x,n,p определяются без учета полей даты и времени
char *name[]={"all_inf","opi","shk","sbkdg","fk","ksum","ksum0"};
// имена баз данных
long date1,date2; // граничные значения интервала дат
int a,i,j,k;
char *c;
char **mem_args(void);
RECORDHANDLE rech;
RECORDNUMBER num;
// Получение аргументов в случае их передачи через память
if(argv[1][0]=='!')
{
argv=mem_args();
for(argc=0;argv[argc]!=NULL;++argc);
}
// определение формата записи для базы данных, к которой
// произведен запрос
for(i=0;i<=6;++i)
if(!strcmp(name[i],argv[1]) || !strcmp(name[i],argv[1]+5))
{ nformat=i;break;}
// открытие файла результатов запроса (inquiry.res) и
// запись в него строк запроса и шапки таблицы
for(i=argc-1;argv[i][0]=='-';--i) argc--;
handle=open("inquiry.res",
O_CREAT | O_TRUNC | O_WRONLY,S_IREAD | S_IWRITE );
for(i=1,j=0;i<argc;)
{
inqstr=(char *)calloc(82,1);
memset(inqstr+1,' ',79);
inqstr[79]='\r';
inqstr[80]='\n';
inqstr[81]='\0';
for(c=inqstr;i<argc;++i)
{
if(strlen(inqstr)+strlen(argv[i])>78+j)
{
if(strlen(argv[i])>50 && (strlen(inqstr)<70 || strlen(argv[i])>78))
{
for(k=j+77-strlen(inqstr);argv[i][k]!=',';--k);
strcat(c," ");
strncat(c,argv[i]+j,k+1-j);
j=k+1;
}
break;
}
strcat(c," ");
strcat(c,argv[i]+j);
j=0;
}
inqstr[strlen(inqstr)]=' ';
_write(handle,inqstr,81);
free(inqstr);
}
_write(handle,sag[nformat],81);
// инициализация работы с БД
j=coreleft()/1024-50;
if(j>256) j=256;
if(a=PXSetDefaults(j,1,30,MAXLOCKHANDLES,3,SortOrderAscii)) printf("\n%s",PXErrMsg(a));
if(a=PXInit()) printf("\n%s",PXErrMsg(a));
if(a=PXTblOpen(argv[1],&tblh,0,0)) printf("\n%s",PXErrMsg(a));
PXRecNFlds(tblh,&nflds);
x=(int *)calloc(argc+1,sizeof(int));
// разбор аргументов запроса
for(i=5;i<argc;++i)
{
if(argv[i][0]=='-') continue;
++n;
for(c=argv[i],j=1;*c!='\0';++c)
{
if(*c==',') ++j;
if(*c=='_') *c=' ';
}
x[i-2]=j;
if(j>1)++p;
}
// главный блок
switch(argv[2][0])
{
case '0': low=1;PXTblNRecs(tblh,&high);
initsearch(argv,x,p,n);
break;
case '1':
PXDateEncode(atoi(argv[3]),atoi(argv[3]+3),atoi(argv[3]+6),&date1);
PXDateEncode(atoi(argv[3]+11),atoi(argv[3]+14),atoi(argv[3]+17),&date2);
interval(date1,date2,argv[4],argv[4]+9);
initsearch(argv,x,p,n);
break;
case '2':
PXDateEncode(atoi(argv[3]),atoi(argv[3]+3),atoi(argv[3]+6),&date1);
PXDateEncode(atoi(argv[3]+11),atoi(argv[3]+14),atoi(argv[3]+17),&date2);
interval(date1,date2,argv[4],argv[4]+9);
if(low==1 && !high) break;
if(low==1)
{
PXRecBufOpen(tblh,&rech);
PXRecGet(tblh,rech);
PXGetDate(rech,1,&date1);
PXRecBufClose(rech);
}
PXTblNRecs(tblh,&num);
if(high==num)
{
PXRecBufOpen(tblh,&rech);
PXRecLast(tblh);
PXRecGet(tblh,rech);
PXGetDate(rech,1,&date2);
PXRecBufClose(rech);
}
for(;date1<=date2;++date1)
{
interval(date1,date1,argv[4],argv[4]+9);
if(low>high) continue;
initsearch(argv,x,p,n);
}
break;
case '3':
PXDateEncode(atoi(argv[3]),atoi(argv[3]+3),atoi(argv[3]+6),&date1);
interval(date1,date1,argv[4],argv[4]+9);
initsearch(argv,x,p,n);
}
free(x);
if(a=PXTblClose(tblh)) printf("\n%s",PXErrMsg(a));
PXExit();
close(handle);
}
// initsearch
// выбор функции поиска
void initsearch(char *argv[],int *x,int p,int n)
{
if(low>high) return;
if(p) search3(argv+5,x);
else if(n) search2(argv,x,n);
else search1();
}
// Функция mem_args возвращает адрес строки параметров в случае ее передачи через память
#include "conn_mem.h"
char **mem_args()
{
char ***dat;
dat=(char ***)conn_mem();
return dat[ARGS_OFF/4];
// bs2_inq.prj
//INQUIRY\interval.c
// interval()
// определение граничных номеров интервала поиска
#include <stdio.h>
#include <stdlib.h>
#include "pxengine.h"
#include "def.h"
void interval (long date1,long date2,char *time1,char *time2)
{
RECORDHANDLE rech;
itoa(atoi(time2+6)+1,time2+6,10);
PXRecBufOpen(tblh,&rech);
PXPutDate(rech,1,date2);
PXPutAlpha(rech,2,time2);
if(PXRecInsert(tblh,rech))printf("error");
PXRecNum(tblh,&high);
--high;
PXRecDelete(tblh);
PXPutDate(rech,1,date1);
PXPutAlpha(rech,2,time1);
if(PXRecInsert(tblh,rech))printf("error");
if(PXRecNum(tblh,&low))printf("error");
PXRecDelete(tblh);
PXRecBufClose(rech);
}
// inquiry.prj
//INQUIRY\recprint.c
// recprint()
// форматирование и запись в файл найденной строки
#include <stdio.h>
#include <mem.h>
#include <io.h>
#include <dos.h>
#include "pxengine.h"
#include "def.h"
#include "disp.h"
void recprint()
{
long date;
int month,day,year;
int format[7][7]= { {21,0,0,0,0,0,0},{21,28,30,35,38,42,46},
{21,29,34,37,0,0,0},{ 21,29,35,38,43,48,53 },
{ 21,27,29,33,0,0,0 },{ 21,28,35,42,49,0,0 },
{ 21,28,35,42,49,56,63 } };
static char string[82]; // результирующая строка
RECORDHANDLE rech;
union REGS r;
int a,i;
memset(string,' ',82);
PXRecBufOpen(tblh,&rech);
PXRecGet(tblh,rech);
PXGetDate(rech,1,&date);
PXDateDecode(date,&month,&day,&year);
sprintf(string,"%.02d\\%.02d\\%.04d ",month,day,year);
PXGetAlpha(rech,2,10,string+11);
for(i=3;i<=nflds;++i)
PXGetAlpha(rech,i,sizeof(string)-format[nformat][i-2],
string+format[nformat][i-3]-1);
for(i=0;i<=80;++i) if(string[i]=='\0') string[i]=' ';
string[79]='\r';
string[80]='\n';
_write(handle,string,81);
PXRecBufClose(rech);
// передача управления диспетчеру
// (только для передачи cимвола на принтер!)
// после каждой найденной записи
r.h.ah=1;
int86(DISP,&r,&r);
}
// inquiry.prj
//INQUIRY\search12.c
// search1(),search2(),(search3() см в файле search3.c)
// search1 - все записи в заданном интервале
// search2 - задано не более одного искомого значения по каждому полю
// search3 - более одного искомого значения xотя бы по одному полю
/* исходные данные:
int *x; ,где x[i] - количество искомых значений по i-му полю ( только для search2 )
char *argv[] - см. комментарии в inquiry.c (только для search2)
RECORDNUMBER low,high; - границы интервала поиска */
#include <stdlib.h>
#include "pxengine.h"
#include "def.h"
void search2(char *argv[],int *x,int n)
{
int a,i,j=0,*y;
int yes;
char *c,*c2;
char arg[10];
RECORDHANDLE *rec;
RECORDNUMBER *s,max=low;
s=(long *)calloc(n,sizeof(RECORDNUMBER));
rec=(unsigned int *)calloc(n,sizeof(RECORDHANDLE));
y=(int *)calloc(n,sizeof(int));
for(i=3;j<n;++i)
{
if(!x[i]) continue;
PXRecBufOpen(tblh,rec+j);
PXPutAlpha(rec[j],i,argv[i+2]);
y[j++]=i;
}
while(1)
{
for(i=0;i<n;++i)
{
if(max==1)
{
if (!(a=PXSrchFld(tblh,rec[i],y[i],SEARCHFIRST)))
PXRecNum(tblh,&s[i]);
}
else
if(s[i]<max)
{
PXRecGoto(tblh,max-1);
if(!(a=PXSrchFld(tblh,rec[i],y[i],SEARCHNEXT)))
PXRecNum(tblh,&s[i]);
}
if(a||s[i]>high)
{
free(s);free(rec);free(y);
return;
}
}
for(i=1,yes=1,max=s[0];i<n;++i)
{
if(s[i]!=max) yes=0;
if(s[i]>max) max=s[i];
}
if(yes) { ++max;recprint(); }
}
}
void search1(void)
{
RECORDNUMBER i;
for(i=low;i<=high;++i)
{
recprint();
PXRecNext(tblh);
}
}
// inquiry.prj
//INQUIRY\search3.c
// search3()
// поиск
/* исходные данные:
int *x; ,где x[i] - количество искомых значений по i-му полю
char *args[] - искомые значения полей БД ( args[0] - третьего поля, argv[1] - четвертого поля и т.д. );
RECORDNUMBER low,high; - границы интервала поиска */
// search1 - все записи в заданном интервале
// search2 - не более одного искомого значения по каждому полю
// search3 - более одного искомого значения xотя бы по одному полю
#include <stdlib.h>
#include <stdio.h>
#include "pxengine.h"
#include "def.h"
void search3(char *args[],int *x)
{
/*
rec - массив массивов буферов для поиска,его размерность равна количеству полей в таблице. Размерность каждого из массивов rec[i] равна количеству искомых значений по i-му полю таблицы (то есть == х[i]). В каждый буфер заносится одно искомое значение ( например, в rec[3][0] - заносится первое искомое значение по 3-му полю таблицы).
Каждому буферу ( rec[i][j] )соответствует элемент массива массивов z ( z[i][j] ), в котором хранится текущий номер
найденной записи по данному буферу (то есть записи, в соответствующем поле которой находится значение, равное значению, занесенному в буфер).
В массиве s хранятся текущие номера найденных строк по каждому полю ( s[i] минимум из всех z[i][j] по этому i).
max - текущий номер записи при поиске ( то есть записи с номерами меньше max уже просмотрены ).
*/
RECORDHANDLE **rec;
int i,j,k;
int yes;
char *c1,*c2;
char arg[10];
RECORDNUMBER *s,**z,max=low;
int a;
// выделение памяти под массивы rec,z,s
// и открытие буферов
s=(long *)calloc(nflds,sizeof(RECORDNUMBER));
rec=(unsigned int **)calloc(nflds,sizeof(RECORDHANDLE *));
z=(long **)calloc(nflds,sizeof(RECORDNUMBER *));
for(i=3;i<=nflds;++i)
if(x[i])
{
rec[i]=(unsigned int *)calloc(x[i],sizeof(RECORDHANDLE));
z[i]=(long *)calloc(x[i],sizeof(RECORDNUMBER));
for(j=0;j<x[i];++j) PXRecBufOpen(tblh,rec[i]+j);
}
// заносим в буфера значения из args
// ( значения для одного поля разделены в args запятыми )
for(i=3;i<=nflds;++i)
{
if(!x[i]) continue;
if(x[i]==1)
PXPutAlpha(rec[i][0],i,args[i-3]);
else
{
c1=args[i-3];
for(k=0;k<x[i];++k)
{
c2=arg;
while(*c1!=',' && *c1!='\0') *c2++=*c1++;
*c2='\0'; ++c1;
PXPutAlpha(rec[i][k],i,arg);
}
}
}
// цикл поиска
while(1) {
for(i=3;i<=nflds;++i)
{
// 1) Для каждого буфера находим запись с значением равным занесенному в этот буфер и с номером >= max.
// Найденные номера заносим в соотвествующие z[i][k]
// Если искомых записей по данному буферу нет, заносим в z[i][k] номер, превышающий верхнюю
// границу интервала поиска
if(!x[i]) continue;
for(k=0;k<x[i];++k)
{
if(max==1)
{
if(PXSrchFld(tblh,rec[i][k],i,SEARCHFIRST))z[i][k]=high+1;
else PXRecNum(tblh,&z[i][k]);
}
else
if (z[i][k]<max)
{
PXRecGoto(tblh,max-1);
if(PXSrchFld(tblh,rec[i][k],i,SEARCHNEXT)) z[i][k]=high+1;
else PXRecNum(tblh,&z[i][k]);
}
}
// 2) Для каждого поля определяем значение s[i]
// Если хотя бы по одному полю произошел выход за пределы интервала поиска, значит поиск закончен
Подобные документы
Анализ концепции построения комплекса средств автоматизации. Функционирование в рамках автоматизированной системы. Структура базы данных. Характеристика помещения и факторы, действующие на оператора в процессе его труда. Гражданская оборона, эргономика.
реферат [374,1 K], добавлен 07.11.2009Проект автоматизированного рабочего места для работы с клиентами и использования клиентских баз данных. Регистрация данных о состоянии объекта управления. Обеспечение взаимодействия человека с системой. Доступ к результатам регистрации информации.
курсовая работа [1,7 M], добавлен 02.10.2010База данных как основа автоматизации. Разработка, описание и реализация программного обеспечения "Точность и правильность методов и результатов измерений для центральной заводской лаборатории ОАО "Акрилат". Листинг, исходные коды программы и базы данных.
дипломная работа [1,0 M], добавлен 23.06.2012Задача накопления, обработки и распространения информации. Характеристика систем управления. Схема комплекса средств автоматизации. Функционирование АСУ комплекса средств автоматизации. Требования, предъявляемые к АРМ РД. Структура базы данных.
реферат [29,1 K], добавлен 12.06.2009Особенности автоматизации работы фитнес-клуба. Инфологическое и логическое проектирование. Обеспечение получения информации администратором фитнес-клуба. Выбор средств создания интерфейса, программирование работы приложения в среде Borland Delphi 7.
дипломная работа [2,4 M], добавлен 04.07.2013Суть автоматизации малого бизнеса, альтернативы выбора ее средств. Цели, функции, свойства автоматизированной системы менеджера. Технические средства в разрабатываемом программном комплексе. Основные функции операционной системы, требования к ней.
контрольная работа [219,4 K], добавлен 17.09.2013Общая характеристика предприятия, анализ существующей системы управления. Проект программы "Автоматизированное рабочее место кассира в отделе контроля и сбора выручки", в современной объектно-ориентированной интерактивной среде Delphi 7 фирмы Borland.
дипломная работа [771,5 K], добавлен 10.10.2011Программный комплекс автоматизации телефонных соединений. Разработка графического интерфейса пользователя, технологической инструкции для пользователя программы, контроля и аттестации программ. Расчет затрат при автоматизации телефонных соединений.
дипломная работа [4,7 M], добавлен 15.10.2013Анализ технического задания, разработка программных модулей, средств тестирования и руководство пользователя. Масштабируемые средства для построения баз данных. Расчет эффективности программы "Автоматизированное рабочее место специалиста ООО "Бравида".
дипломная работа [1,9 M], добавлен 24.07.2014Разработка программы тестирования для выявления акцентуаций типа человека в среде Delphi и Microsoft Access. Проектирование алгоритма реализации модели. Описание программы и модулей, руководство пользователя. Меры обеспечения информационной безопасности.
дипломная работа [2,7 M], добавлен 15.06.2012