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

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

Рубрика Транспорт
Вид дипломная работа
Язык русский
Дата добавления 23.01.2013
Размер файла 346,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Модуль 9 - проверка формирования выходного сигнала "Волочение". Производится формирование активного сигнала "ОВ17 вкл." (А5 = "0"), затем разрешение записи сигнала "ОВ17 вкл." по выходу регистра передачи данных (DD5) на субблок. После этого производится разрешение записи результата проверки по выходу регистра снятия данных с субблока (сигнал СS 23, DD27). Затем производится считывание ключа проверки с контактов разъема платы УК (А8). Результат считывания проверяется, при принятии нуля делается предположение о неисправности тракта на элементах DD14.1, DD15 субблока ВД. На этом проверка работоспособности субблока завершается.

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

2.3.2 Разработка программы

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

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

оперативное отображение обстановки, складывающейся в процессе работы программы;

активный диалог с пользователем;

возможность выдачи результатов работы программы (проверки) на печать;

необходимость работы на уровне "машинных кодов";

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

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

В разработанном ранее программном обеспечении АРМа "Стенд" была возможность проверки только субблоков подсистемы ДИСК-Б. Разработанная программа предоставляет возможность проверки работоспособности субблока ВД подсистемы ДИСК-В. Программа позволяет легко расширить себя для проверки субблоков подсистемы ДИСК-К.

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

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

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

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

2.4 Расчет потребляемой энергии и степени нагрузки вторичных источников питания блока управления перегонной стойки ДИСК-Б

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

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

Алгоритм программы приведен в приложении Б. Рассмотрим его подробнее.

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

Модуль 1. Процедура изменения. Вызывается при необходимости внести изменения в список элементов, находящийся в базе данных. Модуль тесно связан с двумя другими модулями - подтверждение (Модуль 4) и отмена (Модуль 3).

Модуль 2. Процедура дополнения. Вызывается при необходимости внести новые элементы в список элементов, находящихся в базе данных.

Модуль 3. Процедура отмены. Вызывается при необходимости отказаться от изменений и дополнений, сделанных пользователем. После отработки процедуры база данных возвращается в состояние, предшествующее работе модулей 1 или 2.

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

Модуль 5. Расчет. Основной модуль программы, он реализует следующие формулы для расчета:

Расчет тока, потребляемого микросхемами, осуществим по формуле

(2.1)

где I - максимальный ток потребления микросхемы данного типа;

n - число микросхем данного типа;

к - число типов микросхем.

Ток, потребляемый резисторами, найдем из выражения

(2.2)

где R - номинальное сопротивление резистора данного типа;

Р - мощность, рассеиваемая резистором;

n - число резисторов данного типа;

к - число типов резисторов.

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

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

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

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

оперативное отображение обстановки, складывающейся в процессе работы программы;

активный диалог с пользователем;

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

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

Ниже приведена структура использованных баз данных:

а) база данных микросхем Microshem.dbf содержит следующие поля:

Name - символьное поле, длинной 256 символов, хранит полное наименование микросхем;

Tok - числовое поле, величиной десять символов, содержит максимальный ток потребления микросхемы данного типа;

Chislo - числовое поле, величиной три символа, содержит сведения о количестве микросхем данного типа.

б) база данных резисторов Resistor.dbf содержит следующие поля:

Name - символьное поле, длинной 256 символов, хранит полное наименование элемента;

Power - числовое поле, величиной десять символов, содержит значение рассеиваемой мощности элемента данного типа;

Chislo - числовое поле, величиной три символа, содержит сведения о количестве элементов данного типа.

3. Вопросы техники безопасности и чрезвычайных ситуаций

3.1 Основные понятия и составные части охраны труда

Основные понятия, составные части, термины и определения охраны труда установлены государственными стандартами системы безопасности труда (ССБТ).

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

В охране труда выделяются следующие основные составные части:

Размещено на http://www.allbest.ru/

125

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

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

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

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

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

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

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

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

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

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

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

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

3.3 Требования безопасности при выполнении работ по обслуживанию устройств ДИСК

При производстве работ с напольным оборудованием ДИСК необходимо всегда наблюдать за проходящими по соседним путям поездами, чтобы не получить ранения от плохо закрепленного и сдвинутого груза или выбрасываемых с поезда предметов. Отходить нужно на наиболее дальнее расстояние от поезда, но не менее 5 м. Смотреть навстречу проходящему поезду.

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

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

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

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

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

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

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

Работы с напольным оборудованием ДИСК в условиях плохой видимости и в темное время суток должны выполняться двумя лицами, одно из которых должно следить за движением поездов.

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

При работе в помещении поста ДИСК или в помещении приемной аппаратуры не допускать одновременного касания корпуса аппаратуры и токоведущих частей схемы. Работа с элементами схемы грозозащиты в грозу запрещается.

3.4 Требования безопасности в аварийных ситуациях

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

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

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

При встрече с движущимися путевыми машинами и снегоочистителями отойти в сторону от путей не менее 10 м.

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

3.5 Определение расчетного времени эвакуации людей из здания поста ЭЦ при пожаре

В соответствии с требованиями, приведенными в [10], эвакуационные пути должны обеспечивать эвакуацию всех людей, находящихся в помещениях зданий и сооружений, в течение необходимого времени эвакуации. Согласно [9] необходимое время эвакуации людей из помещений производственных зданий, относящихся по взрыво- и пожаробезопасности к категории В, составляет 1,25 мин. Предложенное для рассмотрения здание поста ЭЦ в соответствии с рисунком 4.1 имеет три этажа. Так как часть дверей по одну сторону коридора открываются в сторону эвакуационного пути, то в соответствии с [10] ширина эвакуационного пути принята равной ширине коридора, уменьшенной на половину дверного полотна, т.е.

(4.1)

где ЭП - ширина эвакуационного пути;

К = 1,5 м - ширина коридора;

П = 0,8 м - ширина дверного полотна.

Таким образом,

Дальнейший расчет произведен, исходя из методики, изложенной в [9]. Наиболее удаленная от выхода из здания точка в соответствии с рисунком 4.1 находится в помещении лаборатории ДИСК расположенном на втором этаже здания. До выхода из помещения электромеханикам необходимо преодолеть расстояние от своих рабочих мест, т.е. начальный участок пути. Плотность потока людей на начальном участке пути определится из формулы

(4.2)

где D01 - плотность потока;

N01 = 2 чел. - число людей на данном участке;

l01 = 9 м - длина начального участка пути;

01 = 3 м - ширина начального участка пути;

f = 0,125 м2 - средняя площадь горизонтальной проекции

взрослого человека в зимней одежде.

Следовательно

Данный участок горизонтальный, т.е. скорость и интенсивность движения по начальному участку пути согласно [10] будут равны V01 = 100 м/мин и q01 = =1,0м/мин. В итоге время движения потока людей по начальному участку пути составит

Размещено на http://www.allbest.ru/

125

Рисунок 4.1 - План эвакуации при пожаре. Пост ЭЦ: а) 1 этаж; б) 2 этаж.

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

Помещение станционного оборудования ДИСК: N02 = 1 чел.; l02 = 4 м;

02 = 2 м. Отсюда

Помещение электромеханика связи: N03 = 2 чел.; l03 = 4 м; 03 = 2,3м.

Таким образом,

Помещение КИП: N04 = 2 чел.; l04 = 6 м; 04 = 2,7 м.

В этом случае

Помещение электромеханика КИП: N05 = 1 чел.; l05 = 4 м; 05 = 2 м.

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

Первый участок представляет собой путь от помещения лаборатории ДИСК до слияния с потоком из помещения электромехаников ДИСК. Интенсивность движения на этом участке согласно [10] определится из формулы

(4.3)

где i, i-1 - ширина рассматриваемого i и предшествующего ему i-1 участка пути, м;

qi, qi-1 - значения интенсивности движения потока людей по рассматриваемому i и предшествующему i-1 участкам пути, м/мин.

Таким образом,

При данном значении интенсивности V13 = 100 м/мин.

Максимальное значение интенсивности движения qmax для горизонтальных участков пути составляет 16,5 м/мин. Так как q13 < qmax , то время движения по первому участку составит

При слиянии в начале участка i двух и более потоков людей интенсивность движения определяется по формуле

(4.4)

где qi-1 - интенсивность движения потоков людей, сливающихся

в начале участка i, м/мин;

i-1 - ширина участков пути до слияния, м;

i - ширина рассматриваемого i участка пути, м.

Таким образом, при слиянии потоков из помещения лаборатории и помещения электромеханика интенсивность движения будет равна

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

Отсюда

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

А в начале третьего участка пути, т.е. при выходе непосредственно на лестницу, ширина которой составляет Л = 1,3 м, интенсивность движения будет равна

Длина четвертого участка пути составляет три лестничных марша (до первого этажа) с учетом двух лестничных площадок (lЛП = 2,6 м) и равна 5 = 20 м. При данной интенсивности скорость движения по лестнице вниз согласно [10] будет составлять V5 = 97 м/мин. Следовательно, время движения по четвертому участку

Учитывая практическую однотипность планировки этажей, а также то, что второй этаж по количеству людей (6 человек) не значительно превосходит первый (7 человек), при дальнейших расчетах приняты следующие значения интенсивности движения, которые были рассчитаны для второго этажа:

а) интенсивность движения потока людей с первого этажа при выходе на лестничную площадку первого этажа q = q5 = 7,6 м/мин;

б) интенсивность движения потока людей с первого этажа в точке слияния с основным потоком людей с верхнего этажа q = q4 = 9,0 м/мин.

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

где ЛП = 1,5 м - ширина лестничной площадки.

Отсюда

Рассчитанное значение не превышает qmax = 16,5 м/мин.

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

Рассчитанное значение превышает qmax = 19,6 м/мин, установленное для дверных проемов. Вследствие этого необходимо провести мероприятия по увеличению ширины данного дверного проема до 1,1 м. В этом случае интенсивность движения будет равна

что меньше, чем qmax.

Шестой участок начинается в точке слияния основного потока людей и потока людей с первого этажа и заканчивается у дверного проема тамбура. Таким образом, на данном участке интенсивность движения составит

Так как полученное значение превышает qmax = 16,5 м/мин, то необходимо принять меры по увеличению ширины данного участка пути до 2 м. В этом случае

Для рассчитанного значения q9 скорость движения составит V9 = 10 м/мин. В данных условиях время движения по шестому участку будет равно

Седьмой участок - путь в дверном проеме тамбура шириной 10 = 1,3м. Интенсивность движения будет равна

Восьмой участок представляет собой отрезок пути в тамбуре до выхода из здания длиной l11 = 1,5 м. Интенсивность, скорость и время движения на этом участке соответственно составят

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

Следовательно, расчетное время эвакуации составит

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

Заключение

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

а) разработка мероприятий по обеспечению непрерывного контроля технического состояния подвижного состава при его движении на участке Гомель - Калинковичи;

б) исследование формы сигналов в контрольных точках измерительного тракта подсистемы автоматического обнаружения волочащихся деталей на ходу поезда ДИСК - В;

в) усовершенствование АРМ электромеханика КРП ДИСК.

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

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

Главной задачей стало усовершенствование АРМ “Стенд” электромеханика КРП ДИСК. Т.е. на основании исследований, проведенных в пункте б, была предложена методика проверки работоспособности субблока ВД на базе АРМ “Стенд”. Решение этой задачи состояло в написании алгоритма и программы, обеспечивающей работу АРМа в режиме проверки субблока ВД.

Программным способом был решен вопрос по расчету потребляемой энергии и степени нагрузки вторичных источников питания блока управления перегонной стойки ДИСК - Б.

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

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

Список принятых сокращений

АРМ - автоматизированное рабочее место;

ПЭВМ - персональная электронно - вычислительная машина;

ПО - программное обеспечение;

ISA-слот - разъем на материнской плате ПЭВМ;

АОПБ - аппаратура обнаружения перегретых букс;

АПД - аппаратура передачи данных;

ДИСК-Б - базовая подсистема автоматического обнаружения перегретых букс;

ДИСК-В - подсистема автоматического обнаружения волочащихся деталей;

ДИСК-К - подсистема автоматического обнаружения дефектов колес по кругу катания;

КРП - контрольно - ремонтный пункт;

ПТО - пункт технического обслуживания вагонов;

ПКТО - пункт контрольно - технического обслуживания;

КИП - контрольно - измерительные приборы;

ЗИП - запасное имущество прибора;

ЭЦ - электрическая централизация;

ИК - инфракрасное излучение;

ИМС - интегральная микросхема;

АЦП - аналого - цифровой преобразователь;

ЦАП - цифро - аналоговый преобразователь;

ПИТ - программируемый интервальный таймер.

Литература

1 Трестман Е. Е., Лозинский С. Н., Образцов В. Л. Автоматизация контроля буксовых узлов в поездах. - М.: Транспорт, 1983. 352с.

2 Лозинский С. Н., Алексеев А. Г., Карпенко П. Н. Аппаратура автоматического обнаружения перегретых букс в поездах. - М.: Транспорт, 1978. 160 с.

3 Автоматизированная система контроля подвижного состава и состояния приборов ДИСК (АСК ПС). Техническое описание и инструкция по эксплуатации. Гомельское бюро автоматизированных систем. - 1999.

4 Подсистема ДИСК - В для автоматического обнаружения волочащихся деталей на ходу поезда. Техническое описание и инструкция по эксплуатации. № 78Б ТО. - Уральское отделение ВНИИЖТ, 1985. 29с.

5 Инструкция по размещению, установке и эксплуатации средств автоматического контроля технического состояния подвижного состава на ходу поезда. - М.: Транспорт, 1990. 31 с.

6 Якубовский С. В., Ниссельсон Л. И., Кулешов В. И. и др.; Под ред. Якубовского С. В. Цифровые и аналоговые интегральные микросхемы: Справочник. - М.: Радио и связь, 1989. 496 с.

7 Ястребенецкий М. А., Иванова Г. М. Надежность автоматизированных систем управления технологическими процессами: Учеб. пособие для вузов. - М.: Энергоатомиздат, 1989. 264 с.

8 Дружинин Г. В., Степанов С. В., Шихматова В. Л., Ярыгин Г. А. Теория надежности радиоэлектронных систем в примерах и задачах: Учеб. пособие для студентов радиотехн. специальностей вузов. Под ред. Дружинина Г. В. - М.: Энергия, 1976. 448 с.

9 Орлов Г. Г., Булыгин В. И., Виноградов Д. В. и др.; Под ред. Орлова Г. Г. Инженерные решения по охране труда в строительстве: Справочник строителя. - М.: Стройиздат, 1985. 278 с.

10 СНиП II - 2 - 80. Противопожарные нормы проектирования зданий и сооружений. Госстрой СССР. - М.: Стройиздат, 1981. 14 с.

11 Усатенко С. Т., Каченюк Т. К., Терехова М. В. Выполнение электрических схем по ЕСКД: Справочник. - М.: Издательство стандартов, 1989. 352 с.

12 ГОСТ 2.105 - 95 ЕСКД. Общие требования к текстовым документам.- Мн.: Белстандарт, 1996.

13 Автоматика, связь, информатика. № 1. - М., 1998.

Приложение А

Листинг программы проверки работоспособности субблока ВД подсистемы ДИСК-В на базе

АРМ "Стенд"

// Программа - проект

program ProjLpt;

uses

Forms,

Ulpt in 'Ulpt.pas' {Form1},

Uprint in 'Uprint.pas' {Form2};

{$R *.RES}

begin

Application.Initialize;

Application.Title:= 'АРМ электромеханика';

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

// Модуль - главная программа

unit Ulpt;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Buttons, ExtCtrls, StdCtrls, ComCtrls;

type

TForm1 = class(TForm)

Panel1: TPanel;

SpeedButton1: TSpeedButton;

RichEdit1: TRichEdit;

SpeedButton2: TSpeedButton;

Timer1: TTimer;

Label1: TLabel;

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Uprint;

{$R *.DFM}

procedure TForm1.SpeedButton1Click(Sender: TObject);

var

// Объявление переменных - сигналов

// Выходные сигналы

a10, a11, a12, a18, b11, b12, b4, a1: boolean;

// Сигналы управления

b5, a5, b6, b7, a6, a7, b8, a8: boolean;

// Входные сигналы

a2, a3, a4, b1, b2, b3, b9: boolean;

res:integer;

next:boolean;

// Флаги неисправностей

flag_a0, flag_a, flag_b, flag_c, flag_d, flag_e, flag_f:integer;

// Процедара выдачи сигналов в LPT - порт

procedure outdate;

var

data: integer;

upr: integer;

Begin

upr:= 0;

data:= 0;// Предварительное обнуление посылки

{ Выдача управляющего воздействия }

if b5 = true

then upr:= 1

else upr:= 0;

if a5 = true

then upr:= upr + 2;

if b6 = true

then upr:= upr + 4;

if a6 = true

then upr:= upr + 8;

if b7 = true

then upr:= upr + 16;

if a7 = true

then upr:= upr + 32;

if b8 = true

then upr:= upr + 64;

if a8 = true

then upr:= upr + 128;

asm // Выдача сигнала по базовому адресу слова управления

MOV EAX, data

OUT 07ah, EAX

end;

{ Вычисление слова - посылки }

if a12 = true

then data:= 1

else data:= 0;

if b12 = true

then data:= data + 2;

if a11 = true

then data:= data + 4;

if b11 = true

then data:= data + 8;

if a10 = true

then data:= data + 16;

if b4 = true

then data:= data + 32;

if a18 = true

then data:= data + 64;

if a1 = true

then data:= data + 128;

asm // Выдача сигнала по базовому адресу слова данных

MOV EAX, data

OUT 078h, EAX

end;

// Обнуление сигналов

a10:= false; a11:= false; a12:= false; a18:= false;

b11:= false; b12:= false; b4:= false; a1:= false;

b5:= false; a5:= false; b6:= false; b7:= false;

a6:= false; a7:= false; b8:= false; a8:= false;

End;

// Процедура "Модуль 2"

// Модуль 2

// Установка в исходное состояние цепей субблока ВД

procedure modul2;

begin

{ Установка сигнала IIтел - "0" (выкл.) }

a6:= false;

a10:= false;

a11:= false;

a12:= true;

a18:= false;

b12:= false;

b11:= false;

outdate;

{ Установка сигнала ПЗУ - "1"(выкл) }

a7:= true;

a12:= false;

a11:= true;

a10:= false;

a18:= false;

b12:= true;

b11:= false;

outdate;

{ Установка сигнала запрет - "1"(выкл) }

a7:= true;

a12:= true;

a11:= false;

a10:= false;

a18:= false;

b12:= true;

b11:= false;

outdate;

{ Установка сигнала Поезд - "0"(выкл) }

a6:= false;

a12:= false;

a11:= true;

a10:= false;

a18:= false;

b12:= true;

b11:= false;

outdate;

{ Установка сигнала ОВ17 - "1"(выкл) }

a5:= true;

a12:= true;

a11:= true;

a10:= false;

a18:= false;

b12:= false;

b11:= false;

outdate;

{ Установка сигнала ОВП1 - "1"(выкл) }

a6:= true;

a12:= true;

a11:= true;

a10:= false;

a18:= false;

b12:= true;

b11:= false;

outdate;

end;

// Процедура остановки программы

procedure stopwork;

var i:integer;

Begin

i:= 0;

// Подготовка к заполнению бланка печати

Form2.QRLabel2.Caption:= ' ';

Form2.QRLabel3.Caption:= ' ';

Form2.QRLabel4.Caption:= ' ';

Form2.QRLabel5.Caption:= ' ';

Form2.QRLabel6.Caption:= ' ';

Form2.QRLabel7.Caption:= ' ';

Form2.QRLabel8.Caption:= ' ';

RichEdit1.Text:= '';

next:= false;

// Проверка флагов

if flag_a0 = 1 then

Begin

RichEdit1.Lines.Add('Неисправность соответствующего канала - усилитель, детектор, пороговое устройство, триггер 1-ой ступени,индикация');

Form2.QRLabel2.Caption:= 'Неисправность соответствующего канала ';

inc(i);

End;

if flag_a = 1 then

Begin

RichEdit1.Lines.Add('Неисправен тракт на элементах DD5, DD11 субблока ВД');

if i = 1 then

Form2.QRLabel3.Caption:='Неисправен тракт на элементах DD5, DD11 субблока ВД'

else

Form2.QRLabel2.Caption:='Неисправен тракт на элементах DD5, DD11 субблока ВД';

inc(i);

End;

if flag_b = 1 then

Begin

RichEdit1.Lines.Add('Неисправен тракт на элементе DD11 субблока ВД');

case i of

0:Form2.QRLabel2.Caption:='Неисправен тракт на элементе DD11 субблока ВД';

1:Form2.QRLabel3.Caption:='Неисправен тракт на элементе DD11 субблока ВД';

2:Form2.QRLabel4.Caption:='Неисправен тракт на элементе DD11 субблока ВД';

end;

inc(i);

End;

if flag_c = 1 then

Begin

RichEdit1.Lines.Add('Неисправен тракт на элементах DD5, DD11 субблока ВД');

case i of

0:Form2.QRLabel2.Caption:='Неисправен тракт на элементах DD5, DD11 субблока ВД';

1:Form2.QRLabel3.Caption:='Неисправен тракт на элементах DD5, DD11 субблока ВД';

2:Form2.QRLabel4.Caption:='Неисправен тракт на элементах DD5, DD11 субблока ВД';

3:Form2.QRLabel5.Caption:='Неисправен тракт на элементах DD5, DD11 субблока ВД';

end;

inc(i);

End;

if flag_d = 1 then

Begin

RichEdit1.Lines.Add('Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД');

case i of

0:Form2.QRLabel2.Caption:='Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД';

1:Form2.QRLabel3.Caption:='Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД';

2:Form2.QRLabel4.Caption:='Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД';

3:Form2.QRLabel5.Caption:='Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД';

4:Form2.QRLabel6.Caption:='Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД';

end;

inc(i);

End;

if flag_e = 1 then

Begin

RichEdit1.Lines.Add('Неисправна схема переключения (DD10) или схема совпадения DD16');

case i of

0:Form2.QRLabel2.Caption:='Неисправна схема переключения (DD10) или схема совпадения DD16';

1:Form2.QRLabel3.Caption:='Неисправна схема переключения (DD10) или схема совпадения DD16';

2:Form2.QRLabel4.Caption:='Неисправна схема переключения (DD10) или схема совпадения DD16';

3:Form2.QRLabel5.Caption:='Неисправна схема переключения (DD10) или схема совпадения DD16';

4:Form2.QRLabel6.Caption:='Неисправна схема переключения (DD10) или схема совпадения DD16';

5:Form2.QRLabel7.Caption:='Неисправна схема переключения (DD10) или схема совпадения DD16';

end;

inc(i);

End;

if flag_f = 1 then

Begin

RichEdit1.Lines.Add('Неисправен тракт на элементах DD14.1, DD15 субблока ВД');

case i of

0:Form2.QRLabel2.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

1:Form2.QRLabel3.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

2:Form2.QRLabel4.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

3:Form2.QRLabel5.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

4:Form2.QRLabel6.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

5:Form2.QRLabel7.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

6:Form2.QRLabel8.Caption:='Неисправен тракт на элементах DD14.1, DD15 субблока ВД';

end;

End;

End;

{ Основная программа }

Begin

next:= true;

// Модуль 1

// Подача птитающих напряжений +12В, -12В.

b7:= true;

a12:= true;

b12:= true;

a11:= true;

a18:= true;

b11:= false;

a10:= false;

outdate; // Включение регистра

a12:= false;

b12:= true;

a11:= true;

a18:= true;

b11:= true;

a10:= false;

outdate; // Включение реле К1

// Вызов модуля 2

Modul2;

// Модуль 3 Проверка входных каналов субблока ВД

// По очереди загораются светодиоды

ShowMessage('Для проверки входных каналов необходимо установить перемычки на контактах разъема субблока ВД следующим образом: А6 с А2, А17 с А21, А19 с А22, А26 с В29');

b5:= true;

outdate;

// на выходе 9 DD2 - 0, запись "1" по выходу 19 (Q0) DD11 регистр ЦАП

a12:= true;

b11:= true;

a11:= false;

b12:= false;

a10:= false;

a18:= false;

outdate;

if MessageDlg('Все светодиоды загорелись?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

begin

ShowMessage('Неисправность соответствующего канала'+

'(усилитель, детектор, пороговое устройство, триггер 1-ой ступени,'+

' индикация)');

flag_a0:= 1;

if MessageDlg('Продолжить проверку?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

stopwork;

next:= false;

End;

end;

// end;

// Вызов модуля 2

if next = true then Modul2;

// Модуль 4. Проверка формирования сигнала отключения выходных ключей блока СВ

if next = true then

Begin

if MessageDlg('Тумблер В1 находится в положении "Раб"?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then ShowMessage('Поставте В1 в положение "Раб." и нажммите ОК');

// Выбор регистра DD26. Сигнал CS22

a12:= false;

b12:= true;

a11:= true;

b11:= false;

a10:= true;

// Снятие результата

// Считать с А8 состояние

asm

IN EAX, DX

MOV res, EAX

end;

if res - 128 < 0 then a8:= false

else a8:= true;

if a8 = true then

begin

ShowMessage('Неисправен тракт на элементах DD5, DD11 субблока ВД');

flag_a:= 1;

if MessageDlg('Продолжить проверку?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

stopwork;

next:= false;

End;

end;

End;

// Вызов модуля 2

if next = true then Modul2;

// Модуль 5

// Проверка формирования сигнала выходных ключей блока СВ

// Входные данные

if next = true then

Begin

a6:= true;

outdate;

// Сигнал CS6. Выбор регистра DD6

a12:= false;

b11:= false;

b12:= true;

a11:= true;

a10:= false;

a18:= false;

outdate;

// Сигнал CS22. Выбор регистра DD26

a12:= false;

a10:= true;

b11:= false;

a11:= true;

b12:= true;

outdate;

// Получение результата

// Считать с А8 состояние

asm

IN EAX, DX

MOV res, EAX

end;

if res - 128 < 0 then a8:= false

else a8:= true;

if a8 = false then

begin

ShowMessage('Неисправен тракт на элементе DD11 субблока ВД');

flag_b:= 1;

if MessageDlg('Продолжить проверку?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

stopwork;

next:= false;

End;

end;

End;

// Вызов модуля 2

if next = true then Modul2;

// Модуль 6

// Проверка формирования сигнала включения выходных ключей блока СВ в контрольном режиме

if next = true then

Begin

ShowMessage('Переключите тумблер В1 в положение "Контр" и нажмите ОК');

// Входные данные ПЗУ - "0" (вкл.)

a7:= false;

outdate;

// Сигнал CS6. Выбор регистра DD6

a12:= false;

a10:= false;

a18:= false;

b11:= false;

b12:= true;

a11:= true;

// Сигнал CS22. Выбор регистра DD26

a12:= false;

a10:= true;

b11:= false;

b12:= true;

a11:= true;

// Получение результата

// Считать с А8 состояние

asm

IN EAX, DX

MOV res, EAX

end;

if res - 128 < 0 then a8:= false

else a8:= true;

if a8 = true then

begin

ShowMessage('Неисправен тракт на элементах DD5, DD11 субблока ВД');

flag_c:= 1;

if MessageDlg('Продолжить проверку?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

stopwork;

next:= false;

End;

end;

End;

// Вызов модуля 2

if next = true then Modul2;

// Модуль 7

// Проверка исправности попроговых устройств и триггера первой ступени

// запоминания "ВОЛОЧЕНИЯ"

//Водные данные

if next = true then

Begin

a3:= true;

outdate;

// Сигнал CS1. Выбор регистра DD1

a12:= true;

b12:= false;

a11:= false;

b11:= false;

a10:= false;

a18:= false;

outdate;

// Сообщение

if MessageDlg('Все светодиоды загорелись?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

flag_d:= 1;

ShowMessage('Неисправен тракт на элементах DD5-DD9, DD12, VD21-24 субблока ВД');

if MessageDlg('Продолжить проверку?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

stopwork;

next:= false;

End;

end;

End;

// Модуль 8

// Проверка работоспособности схемы переключения триггера

// второй ступени запоминания "ВОЛОЧЕНИЯ"

// Входные данные ПЗУ - "0" (вкл.)

if next = true then

Begin

a7:= false;

outdate;

// Сигнал CS6. Выбор DD6

a12:= false;

a10:= false;

a18:= false;

b11:= false;

a11:= true;

b12:= true;

outdate;

// Входные данные ОВП1 - "0" (вкл.)

a6:= false;

outdate;

// Сигнал CS7. Выбор DD7

a12:= true;

a10:= false;

a18:= false;

b11:= false;

a11:= true;

b12:= true;

outdate;

// Временная задержка на 2 мс.

Timer1.Enabled:= true;

// Снятие сигнала ОВП1 - "1" (выкл.)

a6:= true;

outdate;

a12:= true;

a10:= false;

a18:= false;

b11:= false;

a11:= true;

b12:= true;

outdate;

// Сообщение

if MessageDlg('Все светодиоды погасли?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

flag_e:= 1;

ShowMessage('Неисправна схема переключения (DD10) или схема совпадения DD16');

if MessageDlg('Продолжить проверку?', mtConfirmation, [mbYes, mbNo], 0)=mrNo

then

Begin

stopwork;

next:= false;

End;

end;

End;

// Модуль 9

// Прверка формирования выходного сигнала "ВОЛОЧЕНИЕ"

// Входные данные ОВ17 - "0" (вкл.)

if next = true then

Begin

a5:= false;

outdate;

// CS5 DD5

a12:= true;

a11:= true;

a10:= false;

a18:= false;

b12:= false;

b11:= false;

outdate;

// CS23 DD27

a12:= true;

a11:= true;

a10:= true;

b12:= true;

b11:= false;

outdate;

// Снятие результата

// Считать с А8 состояние

asm

IN EAX, DX

MOV res, EAX

end;

if res - 128 < 0 then a8:= false

else a8:= true;

if a8 = false then

begin

ShowMessage('Неисправен тракт на элементах DD14.1, DD15 субблока ВД');

flag_f:= 1;

stopwork;

end;

End;

// В завершении - кнопка "Печать" доступна

SpeedButton2.Enabled:= True;

end;

// Процедура предварительного просмотра печатного документа

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

Form2.QuickRep1.Preview;

end;

// Завершение головной программы

End.

// Модуль окна печати

unit Uprint;

inerface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

quickrpt, Qrctrls, Db, DBTables, ExtCtrls;

type

TForm2 = class(TForm)

QuickRep1: TQuickRep;

DataSource1: TDataSource;

Table1: TTable;

QRBand1: TQRBand;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.DFM}

end.

Приложение Б

Алгоритм программы расчета потребляемой энергии и степени нагрузки вторичных источников питания перегонной стойки ДИСК - Б

Размещено на http://www.allbest.ru/

125

Приложение В

Листинг программы расчета потребляемой энергии и степени нагрузки вторичных источников питания блока управления перегонной стойки ДИСК-Б

unit Umain;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ComCtrls, Tabnotbk, ExtCtrls, Db, DBTables, Grids, DBGrids, Buttons,

StdCtrls, DBCtrls;

type

TFormMain = class(TForm)

Panel1: TPanel;

TabbedNotebook1: TTabbedNotebook;

DataSource1: TDataSource;

DataSource2: TDataSource;

Table1: TTable;

Table2: TTable;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

SpeedButton4: TSpeedButton;

SpeedButton5: TSpeedButton;

Label1: TLabel;

Label2: TLabel;

SpeedButton6: TSpeedButton;

DBNavigator1: TDBNavigator;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

DBNavigator2: TDBNavigator;

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormMain: TFormMain;

implementation

{$R *.DFM}

// Процедура добавления записи

procedure TFormMain.SpeedButton1Click(Sender: TObject);

begin

// Активизация кнопок "Отменить" и "Подтвердить"

SpeedButton2.Enabled:= True;

SpeedButton3.Enabled:= True;

// Выбор базы данных

Case TabbedNotebook1.PageIndex of

0: Begin

Table1.First;

Table1.Insert;

DBGrid1.SetFocus;

End;

1: Begin

Table2.First;

Table2.Insert;

DBGrid2.SetFocus;

End;

End;

end;

// Процедура подтверждения изменения

procedure TFormMain.SpeedButton2Click(Sender: TObject);

begin

// Деактивизация кнопок "Отменить" и "Подтвердить"

SpeedButton2.Enabled:= False;

SpeedButton3.Enabled:= False;

// Выбор базы данных

Case TabbedNotebook1.PageIndex of

0: Begin

// Процедура подтверждения изменения

Table1.Post;

End;

1: Begin

// Процедура подтверждения изменения

Table2.Post;

End;

End;

end;

// Процедура отмены изменений

procedure TFormMain.SpeedButton3Click(Sender: TObject);

begin

// Деактивизация кнопок "Отменить" и "Подтвердить"

SpeedButton2.Enabled:= False;

SpeedButton3.Enabled:= False;

// Выбор базы данных

Case TabbedNotebook1.PageIndex of

0: Begin

// Процедура отмены изменения

Table1.Cancel;

End;

1: Begin

// Процедура отмены изменения

Table2.Cancel;

End;

End;

end;

// Процедура очистки базы данных

procedure TFormMain.SpeedButton4Click(Sender: TObject);

begin

// Выбор базы данных

Case TabbedNotebook1.PageIndex of

0: Begin

Table1.First;

Repeat

Table1.Edit;

Table1.FieldByName('Chislo').Asfloat:= 0;

Table1.Post;

Table1.Next;

Until Table1.EOF;

Label1.Visible:= false;

End;

1: Begin

Table2.First;

Repeat

Table2.Edit;

Table2.FieldByName('Chislo').Asfloat:= 0;

Table2.Post;

Table2.Next;

Until Table2.EOF;

Label2.Visible:= false;

End;

End;

end;

// Процедура расчета

procedure TFormMain.SpeedButton5Click(Sender: TObject);

var x,y:real;

begin

x:= 0;

y:= 0;

// Деактивизация кнопок "Отменить" и "Подтвердить"

SpeedButton2.Enabled:= False;

SpeedButton3.Enabled:= False;

// Выбор базы данных

Case TabbedNotebook1.PageIndex of

0: Begin

Table1.First;

Repeat

// Реализация расчетной формулы для микросхем

x:= x + Table1.FieldByName('Chislo').Asfloat*Table1.FieldByName('Tok').Asfloat;

Table1.Next;

Until Table1.EOF;

Label1.Visible:= True;

Label1.Caption:= 'Cумма токов - ' + FloatToStr(x)+ ' mA.';

End;

1: Begin

Table2.First;

Repeat

// Реализация расчетной формулы для резисторов

y:= y + Table2.FieldByName('Chislo').Asfloat*sqrt(Table2.FieldByName('Power').Asfloat*0.25);

Table1.Next;

Until Table2.EOF;

Label2.Visible:= True;

Label2.Caption:= 'Cумма токов - ' + FloatToStr(x)+ ' mA.';

End;

End;

end;

// Проедура изменения

procedure TFormMain.SpeedButton6Click(Sender: TObject);

begin

// Активизация кнопок "Отменить" и "Подтвердить"

SpeedButton2.Enabled:= True;

SpeedButton3.Enabled:= True;

// Выбор базы данных

Case TabbedNotebook1.PageIndex of

0: Begin

// Процедура редактирования

Table1.Edit;

End;

1: Begin

// Процедура редактирования

Table2.Edit;

End;

End;

end;

procedure TFormMain.CheckBox1Click(Sender: TObject);

begin

If CheckBox1.Checked = true then

Begin

DBNavigator1.Visible:= true;

SpeedButton1.Enabled:= False;

SpeedButton2.Enabled:= False;

SpeedButton3.Enabled:= False;

SpeedButton6.Enabled:= False;

End;

If CheckBox1.Checked = false then

Begin

DBNavigator1.Visible:= false;

SpeedButton1.Enabled:= True;

SpeedButton6.Enabled:= True;

End;

end;

procedure TFormMain.CheckBox2Click(Sender: TObject);

begin

If CheckBox2.Checked = true then

Begin

DBNavigator2.Visible:= true;

SpeedButton1.Enabled:= False;

SpeedButton2.Enabled:= False;

SpeedButton3.Enabled:= False;

SpeedButton6.Enabled:= False;

End;

If CheckBox2.Checked = false then

Begin

DBNavigator2.Visible:= false;

SpeedButton1.Enabled:= True;

SpeedButton6.Enabled:= True;

End;

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.