Методы повышения метрологической надежности средств контроля теплофизических свойств материалов
Диссертация
Создан метод повышения метрологической надежности средств НК ТФС материалов, учитывающий увеличение интенсивности их старения под воздействием тепловых процессов при тепловом взаимном влиянии элементной базы на изменение метрологических свойств проектируемых средств НК. В основу метода положена замена элементов с учетом значений их температурных коэффициентов на другие, позволяющая снизить… Читать ещё >
Список литературы
- Мельницкая И.В. Оценка срока службы электроизмерительных приборов по данным испытаний и эксплуатационный статистики // Вопросы надежности электроизмерительных приборов. — М., 1965.- С. 59−67.
- Мандельштам С.М. Информационная надежность // Труды Ленинградского института авиационного приборостроения. 1966. — Вып. 48. — С. 102−109.
- Абдуладзе И. В. Мандельштам С.Н. Метрологическая надежность // Измерительная техника. 1975. — № 2. — С. 29−30.
- Иванов Б. С. Свечарник Д.В. Связь между точностью и надежностью некоторых теплоэнергетических приборов // Измерительная техника. -1970.-№ 5.-С. 76−78.
- Мельницкая Ж. С. Новицкий П.В. Об основных эксплуатационных показателях качества средств измерений // Приборы и системы управления. -1973.-№ 5.-С. 16−17.
- Абуладзе И.В., Мандельштам С. М. Метрологическая надежность// Измерительная техника.-1975.-№ 2.-с.29−3 0.
- Бердичевский Б.Е. Вопросы обеспечения надежности радиоэлектронной аппаратуры при разработке. М.: Советское радио, 1977. — 384с.
- Екимов A.B. Ревяков М. И. Надежность средств измерительной техники. Л.: Энергоатомиздат, 1986.-208 с.
- Богданов Г. П. Метрологическое обеспечение и эксплуатация измерительной техники. М.: Энергия, 1990. — 328 с.
- Гаскаров Д.В., Голинкевич Т. А., Мозгалевский A.B. Прогнозирование технического состояния и надежности радиоэлектронной аппаратуры. М.: Сов. Радио. — 1974.- 223с.
- И. Новицкий П. В. Зограф И.А. Оценка погрешностей результатов измерений. Л.: Энергоатомиздат, 1985. — 248 с.
- Фридман А.Э. Теория метрологической надежности средств измерений // Измерительная техника. 1991. — № 11. — С. 3−10.
- Фридман А.Э. Прогнозирование распределений погрешностей средств измерений // Измерительная техника. 1986. — № 6. — С. 10−11.
- Фридман А.Э. Метрологическая надежность средств измерений и определение межповерочных интервалов // Метрология. 1991. — № 9. — С. 5261.
- Фридман А.Э. Оценка метрологической надежности измерительных приборов и многозначных мер // Измерительная техника. 1993. — № 5. — С. 7−10.
- Новицкий П.В., Зограф И. А., Лабунец В. С. Динамика погрешностей средств измерений. Л.: Энергоатомиздат, 1990. — 192 с.
- Мельницкая Ж.С. Теоретическое и экспериментальное исследование процесса старения электроизмерительных приборов / Автореф. дис. на со-иск. учен, степени канд. техн. наук, 1970.- 16с. (Ленинградский политехнический институт).
- Геликман Б.Ю., Горячева Г. А., Кристалинский Л. Л., Стальбовский В. В. Вопросы качества радиодеталей. М.: Советское радио, 1980.- 352с.
- Савченко Г. В. Зависимость погрешности измерительного устройства от времени эксплуатации // Измерительная техника. 1970. — № 1. — С. 17−19.
- Новицкий П.В. Методика нормирования оценки и контроля метрологической надежности электроизмерительных приборов // Метрология. 1977. -№ 2. — С. 10−11.
- Кондрашкова Г. А. Количественная оценка нестабильности погрешности электронных измерительных устройств // Стандарты и качество. 1967. -№ 5.-С. 23−24.
- Рябинов М. Н. Кондрашкова Г. А. Бачманов H.A. К оценке надежности геофизической аппаратуры с учётом постепенных отказов // Геофизическая аппаратура. 1970. — Вып. 42. — С. 165−168.
- Методика: Обеспечение надежности на этапе проектирования. Прогнозирование стабильности и оценка серийнопригодности аналоговых устройств. Государственных комитет стандартов Совета Министров СССР. М. -1976.-43 с.
- Бедова Е.М. и др. Исследование долговечности аналоговых устройств, обладающих высокой надежностью // Труды Всесоюзного научно-исследовательского института электроизмерительных приборов. 1973. — № 16. -С. 148−155.
- Васильева H.H., Пантелеев A.A. О долговременной стабильности метрологических характеристик измерительных информационных систем // Труды Ленинградского политехнического института им. М. И. Калинина. 1975. -№ 342.-С. 10−11.
- Петров В.А. Оценка метрологической безотказности средств измерений в условиях превалирующих внешних воздействий // Измерительная техника. 1992. -№ 12. — С. 20−21.
- Батова Г. П. Звягинцев A.M. Статистический метод оценки стабильности аналоговых приборов контроля и регулирования по результатам экспериментальных исследований // Труды НИИТП. 1974. — Вып. 81. — С. 12−20.
- Балакирева С. Д. Екимов A.B. Определение и адаптивная корректировка межповерочных интервалов измерительных приборов и систем // Метрология. 1991. — № 9. — С. 35−46.
- Батова Г. П., Звягинцев A.M. Статистический метод оценки стабильности аналоговых приборов контроля и регулирования по результатам экспериментальных исследований// Труды НИИТП.- 1974.-Вып.81.-е. 12−20.
- Егоров С.А., Андреев A.A. Прогнозирование технического состояния наземных средств управления и измерений// Измерительная техника.-1996.-№ 9.-с.13−15.
- Екимов A.B., Макаров Ю. М., Ревяков М. И. Прогнозирование и обеспечение надежности средств измерений с учетом явных и скрытых отказов// Измерительная техника.-1990.-№ 6.-с.З-4.
- Звягинцев A.M. Метод прогнозирования метрологической надежности (стабильности) измерительных устройств по результатам экспериментальных исследований// Качество и надежность. М.: ЦНИИТЭИ приборострое-ния.-1977.-Вып.5.-с. 18−20.
- Новицкий П.В., Екимов A.B., Зограф И. А. Методика нормирования, оценки и контроля метрологической надежности электроизмерительных приборов и др.// Метрология.-1977.-№ 2.-с.9−25.
- Петров В.А. Оценка метрологической безотказности средств измерений в условиях превалирующих внешних воздействий// Измерительная техника.- 1992.-№ 12.-С.20−21.
- Редькина В.П. Исследование связи надежности различных групп электроизмерительных приборов с их конструктивными и технологическими особенностями: Афтореф. дисс. на соиск. учен, степени канд. техн. наук. Киев.
- Фридман А.Э. Прогнозирование распределений погрешностей средств измерений// Измерительная техника.-1986.-№ 6.-с. 10−11.
- Богданофф Д., Козин Ф. Вероятностные модели накопления повреждений. М.: Мир, 1989. — 427с.
- Давыдов П.С. Техническая диагностика радиоэлектронных устройств и систем. М.: Радио и связь, 1988. — 256с.
- Купер Дж., Макгиллем К. Вероятностные методы анализа сигналов и систем: Пер. с англ. / Под ред. В. Т. Горяинова. М.: Мир, 1989. — 376с.
- Мозгалевский A.B., Гаскаров Д. В. Техническая диагностика: Непрерывные объекты. M.: Высшая школа, 1975.- 206с.
- Переверзев Е.С. Надежность и испытания технических систем / АН УССР, Ин-т техн. механики. Киев: Наук. Думка, 1990 — 326с.
- Переверзев Е.С., Чумаков Л. Д. Параметрические модели отказов и методы оценки надежности технических систем. Киев: Наукова думка, 1989. -182с.
- Коваленко И.Н., Наконечный А. Н. Приближенный расчет и оптимизация надежности / АН УССР. Ин-т кибернетики им. В. М. Глушкова. Киев.: Наук, думка, 1989.- 181с.
- Огарков М.А. Методы статистического оценивания параметров случайных процессов. -М.: Энергоатомиздат, 1990.- 206с.
- Павлов И.В. Статистические методы оценки надежности сложных систем по результатам измерений. М.: Радио и связь, 1982. — 168с.
- Соболь И.М. Метод Монте-Карло. М.: Наука, 1985. — 78 с.
- Мищенко C.B., Цветков Э. И. Чернышова Т.И. Метрологическая надежность измерительных средств— М.: Машиностроение, 2001. 96 с.
- Чернышова Т.И. Разработка и исследование методики прогнозирования состояния метрологических характеристик аналоговых блоков информационно-измерительных систем в процессе эксплуатации: Дис. канд. техн. наук. Л., 1979. — 189 с.
- Рекомендация Госстандарта МИ 2247−93. «ГСИ. Метрология. Основные термины и определения.» СПб.: ВНИИМ им. Д. И. Менделеева, 1994. -60 с.
- Арутюнов В.О., Козлов Б. А., Татиевский А. Б., Фридман А. Э. Проблема и специфика надежности измерительных устройств // Измерительная техника.-1969. -№ 3. С. 9−13.
- Борисов Ю.П., Чиликин В. М. Моделирование радиосистем методом информационного параметра: Учеб. пособие / Моск. энерг. ин-т. Изд-во МЭИ, 1990.- 120с.
- Интегральные микросхемы: Справочник / Б. В. Тарабрин, Л. Ф. Лунин, Ю. Н. Смирнов и др.- Под ред. Б. В. Тарабрина, 2-е изд., испр. М.: Энергоатомиздат, 1985. — 528с.
- Корн Г., Корн Т. Справочник по математике (для научных работников и инженеров). М.: Наука, 1984. — 831с.
- Северцев H.A. Надежность сложных систем в эксплуатации и отработке. М.: Высш.шк., 1989. — 431с.
- Козлов В.П., Станкевич A.B. Методы неразрушающего контроля при исследовании теплофизических характеристик твердых материалов // Инж. физ. журн. 1984. — Т47, N2. — С. 250−255.
- Статистические методы для ЭВМ / Под ред. К.Энслейна. М.: Наука, 1986.-439с.
- Назаров Н.Г., Архангельская Е. А. Современные методы и алгоритмы обработки измерений и контроля качества продукции. М.: Издательство стандартов, 1995.- 163с.
- Краткие тезисы докладов. Тамбов: Изд-во Тамб. гос. техн. ун-та, 2000 — С. 262−263.
- Шиндяпин Д.А. Оценка метрологической исправности средств неразрушающего контроля теплофизических свойств материалов с учетом дестабилизирующих воздействий // Теплофизические измерения в начале XXI века:
- Тезисы докладов Четвертой международной теплофизической школы (24 28 сентября 2001 г.)/ Тамбов: Изд-во Тамб. гос. техн. ун-та, 2001. Ч. 1. — С. 174 175.
- Шиндяпин Д. А, Чернышова Т. И. Повышение метрологической надежности электронных измерительных средств с учетом воздействия температуры окружающей среды // Проектирование и технология электронных средств. -2002.-№ 10.-С. 10−13.
- Чернышова Т.И., Селезнев A.B. Определение метрологической исправности и длительности межповерочных интервалов средств измерений // Контроль. Диагностика. 1999. № 7 (13) С. 7−9.
- Геликман Б.Ю., Горячева Г. А. и др. Вопросы качества радиодеталей." Москва: Советское радио, 1980 428 с.
- Дульнев Г. Н., Семяшкин Э. М. Теплообмен в радиоэлектронных аппаратах.- Ленинград: Энергия, 1968 360 с.
- Дульнев Г. Н. Тепломассообмен в радиоэлектронной аппаратуре.-М.: Высшая школа, 1984 г. 365с.
- Математическая статистика / Под ред. A.M. Длина. М.: Высш.шк., 1975. — 398с.
- Селезнев A.B., Чернышова Т. И. Методика оценки метрологической надежности средств измерений // Труды ТГТУ. 1998. — Вып. 2. — С. 122−126.
- РМГ 29−99. ГСИ. Метрология. Основные термины и определения. -Минск, 2000. 28 с.
- Негоденко О.Н., Петросян A.B. Вопросы качества электрорадиэле-ментов: Текст лекций. Таганрог: ТРТИ, 1985.- 38с.
- Аксенов А.И., Нефедов A.B. Элементы схем бытовой радиоаппаратуры: Конденсаторы, резисторы: Справочник. М.: Радио и связь, 1995. — 272с.
- Диоды: Справочник / О. П Григорьев и другие. М.: Радио и связь, 1990. — 335с.
- Игумнов Д.В., Королев Г. В., Громов И. С. Основы микроэлектроники: Учеб. Для техникумов по спец. «Производство изделий электроники». М.: Высш. шк., 1991 г. — 254 с.
- Редькина В.П. Исследование связи надежности различных групп электроизмерительных приборов с их конструктивными и технологическими особенностями: Афтореф. дисс. на соиск. учен, степени канд. техн. наук. Киев.
- Гмурман В.Е. Теория вероятности и математическая статистика. Учеб. пособие для втузов. Изд. 5-е, перераб. и доп. М., «Высш. школа», 1977. 479 с. с илл.
- Мозгалевский A.B., Койда А. Н. Вопросы проектирования систем диагностирования. Л.: Энергоатомиздат, Ленингр. отд-ние, 1985. — 112с.
- РМГ 29−99. ГСИ. Метрология. Основные термины и определения. -Минск, 2000. 28 с.
- Чернышова Т.И., Чернышев В. Н. Методы и средства неразрушаю-щего контроля теплофизических свойств материалов. М.: Машиностроение 1. 2001.240 с.
- Интегральные микросхемы: Справочник / Б. В. Тарабрин, Л. Ф. Лунин, Ю. Н. Смирнов и др. Под ред. Б. В. Тарабрина, 2-е изд. испр. М.: Энергоатомиздат, 1985. — 528 с.
- Рычина Т.А., Зеленский A.B. Устройства функциональной электроники и электрорадиоэлементы. М.: Радио и связь, 1989. — 350 с.
- Игумнов Д.В., Королев Г. В., Громов И. С. Основы микроэлектроники. М.: Высш. шк., 1991.-254 с.
- Ишанин Г. Г., Панков Э. Д., Андреев А. Л., Польчиков Г. В. Источники и приемники излучения. СПб.: Политехника, 1991. — 240 с.
- Чернышев В.Н., Чернышова Т. И. Математическое моделирование тепловых процессов при бесконтактных методах контроля качества материалов // Межвуз. сборник. М.: МИХМ, 1989. — С. 166−190.
- Чернышов В.Н., Чернышова Т. И. Бесконтактный способ контроля теплофизических характеристик материалов и адаптивная система для его реализации // Теплофизика релаксирующих систем: Тез. докл. X Всесоюз. тепло-физ. школы Тамбов, 1990. — С. 104.
- Чернышова Т.И., Чернышов В. Н. Моделирование тепловых процессов при бесконтактном определении теплофизических свойств материалов //
- Моделирование САПР, АСНИ и ГАП: Тез. докл. Всесоюз. конф. Тамбов, 1989. -С. 117−118.
- Чернышов В.Н., Сысоев Э. В. Метод бесконтактного неразрушающего контроля теплофизических свойств материалов и готовых изделий // Контроль. Диагностика. 1999. — № 7 (13). — С. 28−30.
- Чернышов В.Н., Сысоев Э. В. Бесконтактный адаптивный метод неразрушающего контроля теплофизических свойств материалов // Контроль. Диагностика. 2000. — № 2 (20). — С. 31−34.
- Сергеев O.A. Метрологические основы теплофизических измерений. М.: Изд-во стандартов, 1972. — 155 с.
- Точность контактных методов измерения температуры / Под ред. А. И. Гордова М.: Изд-во стандартов, 1976. — 231 с.
- Чернышова Т.И., Чернышов В. Н. Методы неразрушающего контроля теплофизических свойств для ограниченных в тепловом отношении тел. -Тамбов, 1985, 12 с.-Деп. в ВИНИТИ 1985, № 526 185.
- Чернышова Т.И., Муромцев Ю. П., Чернышов В. Н. Импульсно-динамический метод неразрушающего контроля ТФС материалов и ИИС для его реализации // Материалы и уст-ва функциональной электроники: Межвуз. сборник науч. трудов. Воронеж, 1993. — С. 86−95.
- Чернышова Т. И. Чернышов В.Н. Методы и средства неразрушающего контроля теплофизических свойств материалов. М.: Машиностроение, 2001.-240 с.
- A.c. 1 056 015 СССР, МКИ G01N 25/18. Способ определения теплофизических свойств материалов /Ю.А.Попов, В. В. Березин, В. М. Коростелев и др.- Заявл. 30.04.82- Опубл. 23.11.83, Бюл. № 43.
- A.c. 1 117 512 СССР, МКИ G01N 25/18. Способ определения ТФХ материалов / В. Н. Чернышов и др. № 3 629 652/18−25- Заявл. 29.06.83- Опубл. 7.10.84, Бюл. № 37. -6 с.
- A.c. 1 122 955 СССР, МКИ G01N 25/18. Способ определения ТФХ материалов / В. Н. Чернышов и др. № 3 610 914/18−25- Заявл. 29.06.83- Опубл. 7.11.84, Бюл. № 41.
- A.c. 1 140 565 СССР, МКИ G01N 25/18. Способ определения тепло-физических характеристик материалов / В. Н. Чернышов, Чернышова Т. И. -№ 3 612 879/24−25- Заявл. 29.06.83- Опубл.15.10.84., Бюл.№ 40.
- A.c. 1 124 209 СССР, МКИ G01N 25/18. Способ неразрушающего контроля ТФХ материалов и устройство для его осуществления / В. Н. Чернышов, Т. И. Чернышова № 3 549 461/18−25- Заявл. 9.02.83- Опубл. 15.11.84, Бюл. № 42.
- A.c. 1 122 955 СССР, МКИ G01N 25/18. Способ определения тепло-физических характеристик материалов / Т. И. Чернышова, В. Н. Чернышов -№ 3 610 914/18−25- Заявл. 29.06.83- Опубл. 7.11.84, Бюл. № 41.
- A.c. 1 117 512 СССР, МКИ G01N 25/18. Способ определения ТФХ материалов / Т. И. Чернышова, В. Н. Чернышов № 3 629 652/18−25- Заявл. 29.06.83- Опубл. 7.10.84, Бюл. № 37.
- A.c. 1 539 511 СССР, МКИ G01B 7/06. Способ неразрушающего контроля толщины пленочных покрытий / В. Н. Чернышов, Т. И. Чернышова, Л. Н. Малышев и др. № 431 950/25−28- Заявл. 26.10.87- Опубл. 30.01.90, Бюл. № 4.
- A.c. 1 663 428 СССР. МКИ G01B 21/08. Способ неразрушающего контроля толщины пленочного покрытия изделия / Т. И. Чернышова, В. Н. Чернышов, А. П. Пудовкин и др. № 4 419 124/28- 3аявл.03.05.88- Опубл. 15.07.91, Бюл. № 26
- MainForm in 'MainForm.pas' {Forml}, Maths in 'Maths.pas', MiscData in 'MiscData.pas'- {SR *.RES} begin
- Application.Initialize- Application. CreateForm (TForm 1, Form 1) — Application. Run- end.1. MainForm. pasunit MainForm-interfaceuses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs. StdCtrls, Buttons, Grids, ExtCtrls, Math, Mask, Maths, Gauges, TeeProcs, TeEngine, Chart, MiscData- type
- Private declarations } public
- Public declarations } MD: MiscDataC- MD1: MiscDataC- PolStr: String- NumR: Integer- NumC: Integer- KPF: String- Rs: array of String- RNs: array of Double- RDs: array of Double- RTs: array of Double-
- RTems: array of Double- // массив температур резисторов1. Cs: array of String-1. CNs: array of Double-1. CDs: array of Double-1. CTs: array of Double-
- CTems: array of Double- // массив температур конденсаторов function CalcKP (Mode: Integer): Double- end- var
- Forml: TForml- implementation {$R *.DFM}fimction TForml. CalcKP (Mode: Integer): Double-
- Ord (A) > 96) and (Ord (A) < 123)) then begin Sym := 1- endelse Sym := 2- end-//End IF end- // End FUNCTION
- FNToCh := Forml.MDl.Chsfi.- Exit-end- // End IFend- // End FOR FNToCh :='?'- end-//End FUNCTION
- Функция юзается в процедуре PolishConversion Функция, обратная предыдущей, она ставит в соответствие символу определенную функцию function ChToFN (A: Char): String- var i: Integer- beginfor i := 1 to 15 do beginif MDl.Chsfi. = A then begin
- ChToFN := MDl.FNsfi.- Exit-end- // End IF end- // End FOR ChToFN :='?'- end- // End FUNCTION // Процедура польского преобразования строки с формулой procedure PolishConversion (SrcStr: String- var Result: String) — var
- Stack: array 1.255. of Char- Top: Integer- i: Integer- n: Integer- P: Integer- S: String- A: Char- beginn := Length (SrcStr) — Top := 0- Result :=" — i:=l-while i ≤ n do begin
- Result := Result + S + «- endelse // Символ не цифирь, значит это знак или переменная begin
- Если текущий символ (первый символ слова) латинская буква, то мы имеем дело с переменной либо именем функцииifSym (SrcStr1.) = 1 then begin
- Считываем все слово (оно может содержать и цифры, но тока // не в первой позиции) S :="-while ((Sym (SrcStr1.) = 0) or (Sym (SrcStri.) = 1) andi ≤ n)) do begin S := S + SrcStr1.- i:=i+l- end-
- Проверяем, является ли наше слово названием функции. А := FNToCh (S) — // Слово название функции if, А о'?' then begin
- Р := Prior (A) — // Приоритет функции по идее 4??? while (Top > 0) and (P ≤ Prior (StackTop.)) do begin
- Result := Result + ChToFN (StackTop.) +''- Top := Top -1- end-
- Top := Top + 1- StackfTop. := A- endelse // Слово имя переменной, просто добавляем ее к результату begin
- Result := Result + S + „- end- endelse // Текущий символ исходной строки не буква, не цифра, а знак +, — etc. begin
- Получаем приоритет этого знака Р := Prior (SrcStr1.) —
- Если знак не левый там какой-нибудь типа '%','$' и т. п. if Р о 255 then begin
- Result Result +, 0' + „- end-if SrcStrfi. = ')'then beginwhile (Top > 0) and (StackfTop. о '(') do begin
- Result := Result + ChToFN (StackTop.)+''- Top :=Top -1- end-
- Top := Top -1- if Top = -1 then begin
- Result := 'ERROR!'- i :=n+ 1- end-end // END if SrcStrfi. =')' then else begin if SrcStrfi] <>'(' then beginwhile (Top > 0) and (P ≤ Prior (StackTop.)) do begin
- Result:-ERROR!'- Top := 0-endelse begin
- Result:=Result+ChToFN (StackTop.)+''- end-1. Top:=Top-l-end- // End while Top > 0 do end-//End if Result о’ERROR!'then end- // End PROCEDURE
- Stack: array 1.1255. of Double- Top: Integer- Err: Boolean- A: Double- i: Integer- n: Integer- S: String- begin
- Начальная инициализация переменных Top := 0- Err := False- i := 1-n := Length (PStr) —
- Перебираем строку посимвольно while (i ≤ n) and (not (Err)) do begin1. Обнуляем строку S :=" —
- Top := Top + 1- // Инкремент указателя верха стека
- Пишем в последнюю ячейку массива число, получив его из нашей строки StackTop. := StrToFloat (S) — endelse // Если первый символ не цифра begin
- Если первый символ буква латинского алфавита, и при этом слово не является зарезервированным именем функции, то это слово представляет собой имя переменной if (Sym (Sl.) = 1) and (not isFn (s)) then begin
- Инкремент указателя верха стека Top := Top + 1-
- Пишем в стек значение переменной StackTop. := Value (S) — endelse // Теперь перебираем знаки begin
- Операция сложения if S = '+' then begin
- Забираем число из стека, А := StackfTop.-
- Декремент указателя вершины стека Тор :=Тор-1-
- Если в стеке еще остались числа if Тор > 0 then begin
- Складываем последний элемент в стеке и то число, которое мы только что оттуда забрали. В рез-те получается сложение двух последних эл-тов стека StackTop. := А + StackfTop] endelse begin
- Увеличиваем указатель вершины стека. То есть в стеке остается то же число без изменения на случай левогознака +
- Тор := Тор + 1- end- end else begin
- Операция вычитания if S ='-' then begin
- To же самое, что и в сложении, А := StackfTop.- Тор :=Тор-1- if Тор > О then begin
- Stack Top. := StackfTop] A- end else begin
- Меняем знак у числа в стеке Тор:=Тор+1- StackfTop. := -А- end- end else begin
- Операция умножения if S = '*' then begin A := StackfTop.- Top := Top-1-
- StackfTop. := A*StackTop]- end else begin
- Операция деления if S ='/' then begin
- A := StackfTop.- Top := Top-1-
- StackfTop. := StackTop]/A- end else begin
- Операция возведения в степеньif S =, Л'thenbegin
- A := StackfTop.- Top := Top-1-
- StackfTop. := Power (StackTop], A) — end else
- Остальные функции. if ((S='sin') or (S='cos') or (S-tg1) or (S='ctg') or (S- arcsin') or (S='arccos') or (S-ln1) or (S='log') or (S='exp')) then begin
- StackfTop. := calcFn (S, StackfTop]) — endelse // В любом другом случае в исходной польской строке заначилась ОШИБКА!!! begin Err := TRUE- endend- end- end- end- end- end- end-
- Результат число, оставшееся в стеке EvaluatePolish := StackTop.- Err := (Тор<>1) — end- // End FUNCTION begin if Mode = 0 then begin1. Forml. PolStr :=" —
- PolishConversion (Forml .KPF, Forml. PolStr) — if Forml. PolStr = 'ERROR!' then CalcKP := -1 else CalcKP := 0- end else begin
- CalcKP := EvaluatePolish (Forml.PolStr) — end- end-procedure TForml. BitBtnlClick (Sender: TObject) — vari, j, k, 1, m: Integer-
- Delta: array 1. 1000. of Double-1. Rnns: array of Double-1. Cnns: array of Double-
- Kreal: Double- // Реальный коэф-т передачи
- Kideal: Double- // Идеальный коэф-т передачи1. FData: TextFile-1. FData2: TextFile-
- Считываем формулу для коэффициента передачи KPF := ComboBoxl .Text- if Trim (KPF) = „then begin
- Application.MessageBox ('He задан коэффициент передачи!', 'Ошибка!',
- MBJCONSTOP + MBOK + MBAPPLMODAL) — ComboBoxl. SetFocus- Exit- end-
- Вызываем функцию с параметром 0, чтобы преобразовать исходную формулу в польскую запись if CalcKP (O) = -1 then begin
- Application.MessageBox ('HeBepHO задан коэффициент передачи!', 'Ошибка!',
- MBJCONSTOP + MBOK + MBAPPLMODAL) — ComboBoxl. SetFocus- Exit- end-
- Устанавливаем длину динамических массивов соответственно введенному количеству резисторов SetLength (Rs, NumR) — SetLength (RNs, NumR) — SetLength (RDs, NumR) — SetLength (RTs, NumR) — SetLength (RTems, NumR) —
- Последовательно обрабатьтаем все записи таблицы резисторов, т. е. получаем значения ячеек и загоняем их в массивыend- // End TRY end- // End IF end- // End IF end- // End FOR
- Устанавливаем длину динамических массивов соответственно введенному количеству конденсаторов SetLength (Cs, NumC) — SetLength (CNs, NumC) — SetLength (CDs, NumC) — SetLength (CTs, NumC) — SetLength (CTems, NumC) —
- Последовательно обрабатываем все записи таблицы конденсаторов, т. е. получаем значения ячеек и загоняем их в массивыfor i := 1 to NumC do beginif Trim (StringGrid2.Rows1.Strings0.) о „then begin
- Записываем наименование элемента в массив Csi-1. := StringGrid2. Rows1.Strings[0]- // Если номинал задан правильно, записываем его в массив try
- CNsi-l. := StrToFloat (Trim (StringGrid2.Rows1.Strings[l]))*le-6 excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задан номинал!', 'Ошибка!',
- MBJCONSTOP + MBOK + MBAPPLMODAL) — CurCell. Top := i- CurCell. Bottom := i- CurCell. Left := 1- CurCell. Right := 1- StringGrid2. Selection := CurCell- Exit- end- end-
- Если погрешность (отклонение) задано верно, записываем его в массив try
- CDsi-l. := StrToFIoat (Trim (StringGrid2.Rows1.Strings[2])) except on EConvertError do begin
- Application.MessageBox ('HeBepHO задана погрешность!', 'Ошибка!',
- MBJCONSTOP + MB JDK + MBAPPLMODAL) — CurCell. Top := i- CurCell. Bottom := i- CurCell. Left := 2- CurCell. Right := 2- StringGrid2. Selection := CurCell- Exit- end- end-if not CheckBoxl. Checked then begin try
- CTsi-l. := StrToFloat (Trim (StringGrid2.Rows1.Strings[3])) excepton EConvertError do begin
- Application.MessageBox ('HeBepHo задан ТКЕ!', 'Ошибка!',
- MBJCONSTOP + MB JDK + MBAPPLMODAL) — CurCell. Top := i- CurCell. Bottom := i- CurCell. Left := 3- CurCell. Right :=3- StringGrid2. Selection := CurCell- Exit- end-end- // End TRY tiy
- CTemsi-l. := StrToFloat (Trim (StringGrid2.Rows1.Strings[4])) excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задана температура конденсатора !',
- Application.MessageBox ('HeBepHo задан интервал!',
- Ошибка!', MBJCONSTOP + MBOK) — Editl. SetFocus- Exit- end- end-считываем количество интервалов try Numlnt := StrToInt (Edit2.Text) — excepton EConvertError do begin
- AppIication.MessageBox ('HeBepHO задано количество интервалов!',
- Ошибка!', MBJCONSTOP + MBOK) — Edit2. SetFocus- Exit- end- end-
- MD.VN1. := Rsi.- MD. VV[i] := RNs[i]- MDl. VNfi] :=Rs[i]- MDl. VV[i] := RNs[i]- end-for i := NumR to (NumR+NumC-1) do begin
- MD.VNfi. := Csi-NumR]- MD. VVfi] := CNs[i-NumR]- MDl. VNfi] := Cs[i-NumR]- MDl. VV1. := CNs[i-NumR]-
- Экшн при активизации формыprocedure TForml. FormActivate (Sender: TObject)-vari: Integer- begin
- StringGridl.RowCount := 2- StringGridl. Enabled := FALSE- for i := 0 to 3 do StringGridl.Rowsl.Strings1. :=" — endelse StringGridl. RowCount := NumR+1- if NumC = 0 then begin
- StringGrid2.RowCount := 2- StringGrid2. Enabled := FALSE- for i := 0 to 3 do StringGrid2.Rowsl.Strings1. :=" — endelse StringGrid2. RowCount := NumC+1- end-
- Действия при выходе фокуса ввода из редактора с количеством резисторов В зависимости от введенного числа резисторов устанавливаем число строк в первой таблице (StringGridl) procedureTForml. Edit9Exit (Sender: TObject)-var i: Integer- begin try
- NumR := StrToInt (Edit9.Text) excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задано количество резисторов!',
- Ошибка!', MBJCONSTOP and MBOK and MBAPPLMODAL) — Edit9. SetFocus () — Exit- end- end-if NumR < 0 then begin1. NumR := 0- end-if NumR = 0 then begin
- StringGridl .RowCount := 2- StringGrid 1. Enabled := FALSE- for i := 0 to 3 do StringGridl.Rowsl.Strings1. :=" — end else begin
- StringGridl.RowCount :=NumR+l- StringGridl. Enabled :=TRUE- end- end-
- NumC := StrToInt (EditlO.Text) excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задано количество конденсаторов!',
- Ошибка!', MBJCONSTOP and MBOK and MB APPLMODAL) — EditIO. SetFocus () — Exit- end- end-if NumC < 0 then begin1. NumC := 0- end-if NumC = 0 then begin
- StringGrid2.RowCount := 2- StringGrid2. Enabled := FALSE- for i := 0 to 3 do StringGrid2.Rowsl.Strings1. :=" — end else begin
- StringGrid2.RowCount :=NumC+l- StringGrid2. Enabled := TRUE- end- end-
- Действия, выполняющиеся при создании формы procedure TForml. FormCreate (Sender: TObject) — var1. iFile: TextFile- RTempFunc: TextFile- RTimeFunc: TextFile-
- CTempFunc: TextFile- CTimeFunc: TextFile- TmpStr: String- i: Integer- begin
- MD := MiscDataC. Create- MD1 := MiscDataC. Create-
- Начинаем считывать данные из инишника (в случае наличия такового) и записываем эти данные в соотв-е элементы управления
- AssignFile (IniFile, 'model.ini') — if FileExists ('model.ini') then begin
- Reset (IniFile) — ReadLn (IniFile, TmpStr) — if StrToInt (Trim (TmpStr)) о 0 then beginfor i := 0 to StrToInt (Trim (TmpStr))-l do begin
- ReadLn (IniFile, TmpStr) — ComboBox 1.Items. Add (TmpStr) — end-
- ComboBoxl.Itemlndex := 0- end-
- Читаем интервал времени ReadLn (IniFile, TmpStr) — Edit 1. Text := TmpStr- // Читаем кол-во интервалов ReadLn (IniFile, TmpStr) — Edit2. Text := TmpStr- // Читаем время эксплуатации ReadLn (IniFile, TmpStr) — Edit5. Text := TmpStr-
- Читаем состояние чекбокса и выполняем соотв-е действия по включению/выключению элементов управления ReadLn (IniFile, TmpStr) — if TmpStr = '1' then begin
- CheckBoxl.Checked :=TRUE- Label 11. Visible := FALSE- Labell2. Visible := FALSE- Labell3. Visible := FALSE- StringGrid 1. ColCount := 3- StringGrid2. ColCount := 3- end else begin
- Читаем количество резисторов ReadLn (IniFile, TmpStr) — Edit9. Text := TmpStr- NumR := StrToInt (TmpStr) — if NumR = 0 then begin
- StringGridl.Enabled FALSE- StringGridl. RowCount := 2- end else begin
- StringGridl.Enabled := TRUE- StringGridl. RowCount := NumR+1- end-
- Читаем количество конденсаторов ReadLn (IniFile, TmpStr) — EditlO. Text := TmpStr- NumC := StrToInt (TmpStr) — if NumC = 0 then begin
- StringGrid2.Enabled := FALSE- StringGrid2. RowCount := 2- endelse begin
- StringGrid2.Enabled := TRUE- StringGrid2. RowCount :=NumC+2- end-
- Если количество резисторов не равно нулю, то считываем из файла построчно параметры резисторов if NumR о 0 then beginfor i := 1 to NumR do begin
- Если количество конденсаторов не равно нулю, то считываем из файла построчно параметры конденсаторов if NumC о 0 then beginfor i := 1 to NumC do begin
- Reset (RTempFunc) — if NumR о 0 then beginfor i := 1 to NumR do begin
- ReadLn (RTempFunc, MD. RTempFuncsi-l.) — MD1, RTempFuncs[i-1 ] := MD. RTempFuncs[i-l]- end- end- end-1. CloseFile (RTempFunc) —
- Считываем формулы влияния времени на каждый из резисторов AssignFile (RTimeFunc, 'rtimefunc.ini') — if FileExists ('rtimefunc.ini') then begin Reset (RTimeFunc) — if NumR о 0 then
- Вставляем строку из редактора комбобокса в первую позицию в списке ComboBoxl.ltems.lnsert (0, ComboBoxl. Text) —
- Проверяем, если количество элементов в списке стало больше 10, то удаляем 11-й элемент if ComboBoxl. Items. Count> 10 then begin
- Удаляем последний элемент из списка ComboBoxl.Items.Delete (10) — end-//End IF end- // End IF end- // End IF
- Пишем в файл количество элементов в комбобоксе WriteLn (IniFile, IntToStr (ComboBoxl .Items.Count)) —
- Если это количество не равно нулю, то пишем послед-но в файл элементы списка if ComboBoxl.Items.Count о 0 then beginfor i := 0 to ComboBoxl.Items.Count-1 do begin
- WriteLn (IniFile, ComboBox 1. Items1.) — end- // End FOR i end-
- Пишем в файл параметры конденсаторов if NumC о 0 then begin for i := 1 to NumC do begin
- Application.MessageBox ('HeBepHO задан интервал!',
- Ошибка!', MBJCONSTOP + MB JDK) — Editl. SetFocus- Exit- end- end-считываем количество интервалов try Numlnt := StrToInt (Edit2.Text) — excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задано количество интервалов!'.
- Ошибка!', MBJCONSTOP + MB JDK) — Edit2. SetFocus- Exit- end- end-
- Texpl := IntTexpl * Numlnt- Edit5. Text := FormatFloat ('0', Texpl) — end-procedure TForml .Edit2Exit (Sender: TObject) — var1. tTexpl, Numlnt, Texpl: Integer- beginсчитываем интервал try IntTexpl := StrToInt (Editl.Text) — excepton EConvertError do begin
- Application.MessageBox ('HeBepHo задан интервал!',
- Ошибка!', MBJCONSTOP + MB JDK) — Editl. SetFocus- Exit- end- end-считываем количество интервалов try Numlnt := StrToInt (Edit2.Text) — except on EConvertError do begin
- Application.MessageBox ('HeBepHO задано количество интервалов!',
- Ошибка!', MBJCONSTOP + МВОК) — Edit2. SetFocus- Exit- end- end-
- NumEl: Integer- // количество элементов i, j: Integer- sum: Double- sign: Integer-
- Els: array of Double- // массив для варьированных номиналов
- MOs: array of Double- // массив для матожиданий
- SKOs: array of Double- // массив для СКО эл-тов
- MOns: array of Double- // массив для модифиц-х (?) матожиданий
- SKOns: array of Double- // -//- CKO
- Ass: array of Double- // Массив для промежуточных перемнных, А Bss: array of Double- // Массив для промежуточных перемнных В Fs: array of array of Double- tmpVal: Double-
- DeltaT := 20 Temp- TempAffectR := Rp*(l+TKR*DeltaT) — end-
- DeltaT := 20 Temp- TempAffectC := Cp*(l+TKE*DeItaT) — end-
- Ord (A) > 96) and (Ord (A) < 123)) then begin Sym := 1- endelse Sym := 2- end-//End IF end- // End FUNCTION
- Функция юзаетея в процедуре PolishConversion Функция ставит в соответствие определенной функции определенный символ и возвращает его function FNToCh (FuncName: String): Char- var i: Integer-
- FNs: array 1.15. of String- Chs: array [1.15] of Char- begin
- Функция юзаетея в процедуре PolishConversion Функция, обратная предыдущей, она ставит в соответствие символу определенную функцию function ChToFN (A: Char): String- var i: Integer-
- FNs: array 1.15. of String- Chs: array [1.15] of Char- begin
- FNsl. :='+'- FNs[2] :='-'- FNs[3] :='/'- FNs[4] := '*'-
- Result -= Result + S + „- end else beginifSym (SrcStr1.) = 1 then begin S := „•while'((Sym (SrcStr1.) = 0) or (Sym (SrcStri.) = 1) and (i ≤ n)) dobegin S := S + SrcStr1.- i :=i+ 1- end-
- A := FNToCh (S) — if A<>'?' then begin1. P := Prior (A)-while (Top > 0) and (P ≤ Prior (StackTop.)) do begin
- Result := Result + ChToFN (StackTop.) + ''- Top := Top -1- end-
- Top := Top + 1- StaekfTop. := A- end else begin
- Result := Result + S + „- end- end else begin P := Prior (SrcStr1.) — if P о 255 then begin
- Result := Result + '0' + ''- end-if SrcStrfi. =')' then beginwhile (Top > 0) and (StackfTop. о'(') do begin
- Result := Result + ChToFN (StackTop.)+''- Top := Top 1- end-
- Top :=Top 1- if Top = -1 then begin
- Result := 'ERROR!'- i :=n+ 1- end- end else begin if SrcStr1. о'(' then beginwhile (Top > 0) and (P ≤ Prior (StackTop.)) do begin
- Result := Result + ChToFN (StackTop.) + ''- Top :=Top-1- end- end-
- Top :=Top+ 1- StackfTop. := SrcStrfi]- end- end- i := i + 1- end- end-end- //END WHILE if Result о’ERROR!'thenbeginwhile Top > 0 do beginif (StackfTop. ='(') or (StackTop] =')') then begin
- Result:='ERROR!'- Top := 0- end else begin
- Result:=Result+ChToFN (StackTop.)+''- end-
- Value :=-11 111- end-//End FUNCTION
- Stack: array 1. 1255. of Double- Top: Integer- Err: Boolean- A: Double- i: Integer- n: Integer- S: String- begin
- Начальная инициализация переменных Top := 0- Err := False- i := 1-n := Length (PStr) —
- Перебираем строку посимвольно while (i ≤ n) and (not (Err)) do begin1. Обнуляем строку S :=" —
- Считываем в эту строку слово из исходной польской строки while (i ≤ n) and (PStr1. о „) do begin S := S +PStri.- i := i+1- end-i := i + 1- // Пропускаем пробел
- Если первый символ считанного слова цифра, то это слово — число if Sym (Sl.) = 0 then begin
- Top := Top + 1- // Инкремент указателя верха стека Пишем в последнюю ячейку массива число, получив его из нашей строки
- StackTop. := StrToFloat (S) — endelse // Если первый символ не цифра begin
- Если первый символ буква латинского алфавита, и при этом слово не является зарезервированным именем функции, то это слово представляет собой имя переменной if (Sym (Sl.) = 1) and (not isFn (s)) then begin
- Инкремент указателя верха стека Top := Top + 1-
- Пишем в стек значение переменной Stack Тор. := Value (S) — endelse // Теперь перебираем знаки begin
- Операция сложения if S ='+' then begin
- Забираем число из стека, А := StackfTop.-
- Декремент указателя вершины стека Тор := Тор-1-
- Если в стеке еще остались числа if Тор > 0then begin
- Складываем последний элемент в стеке и то число, которое мы только что оттуда забрали В рез-те получается сложение двух последних эл-тов стека StackfTop. := А + StackTop] end else begin
- Увеличиваем указатель вершины стека То есть в стеке остается то же число без изменения на случай левогознака +
- Тор := Тор + 1- end- end else begin
- Операция вычитания ifS = '-' then begin
- To же самое, что и в сложении1. А := StackTop.-1. Тор :=Тор-1-if Тор > Оthenbegin
- StackfTop. := StackfTop] A- end else begin
- Меняем знак у числа в стеке Тор:=Тор+1- StackfTop. := -А- end- end else begin1. Операция умноженияif S = '*'thenbegin
- A := StackfTop.- Top := Top-1-
- StackfTop. := A*StackTop]- end else begin
- Операция деления if S ='/' then begin
- A := StackfTop.- Top := Top-1-
- StackfTop. := StackTop]/A- end else begin
- И Операция возведения в степень if S = w then begin A := StackfTop.- Top := Top-1-
- StackfTop. := Power (StackTop], A) — end else
- Остальные функции. if ((S='sin') or (S-cos1) or (S—tg') or (S-ctg') or (S-arcsin') or (S-arccos') or (S—In1) or (S='log') or (S-exp')) then begin
- Stack Top. := calcFn (S, Stack[Top]) — endelse // В любом другом случае в исходной польской строке заначилась ОШИБКА!!! begin
- Err := TRUE- end end- end- end- end- end- end- end-
- Результат число, оставшееся в стеке EvaluatePolish := StackTop.- Err := (Topol) — end- // End FUNCTION begin1. Randomize-
- Находим количество элементов (по кол-ву эл-тов массива) NumEl := Length (Noms) —
- Выделяем память под массив для модифицированных номиналов элементов (в пределах погрешности)
- SetLength (Els, NumEl) — // Цикл по строкам то есть по отдельным элементам for j := 0 to NumEl-1 do begin Elsjj. := Nomsj]-
- В соответствии с типом элемента прогоняем полученные номиналы через соотв-е процедуры, имитирующие влияние времени и температуры. case ElType of0: begin // резистор
- Учитываем воздействие времени // Elsj. := 1000*TimeAffectR (Els[j]/1000) — // OLD
- PolishConversion (MD.RTimeFuncsj., polStr) — Els[j] := EvaluatePolish (polStr) —
- Учитываем воздействие температуры в случае „ненормальных“ // условий эксплуатации if not (Length (Tks) = 0) then begin
- Elsj. := TempAffectR (Els[j], Tks[j], Tems[j]) — // tmpVal := Value ('R'+IntToStr (j+l))-1. MD.VVj. := Els[j]-
- PolishConversion (MD.RTempFuncsj., polStr) —
- ElsJj. := EvaluatePolish (polStr)-1. MD.VVO. := tmpVal-end- // End IF end- // End CASE OF1: begin // конденсатор
- Учитываем воздействие времени // Elsj. := 1000*TimeAffectC (Els[j]/l ООО) —
- PolishConversion (MD.CTimeFuncsj., polStr) — Els[j] := EvaluatePolish (polStr) —
- Учитываем воздействие температуры в случае „ненормальных“ условий эксплуатации if not (Length (Tks) = 0) then begin
- Elsj. := TempAffectC (Els[j], Tks[j], TemsO]) — // tmpVal := Value ('C'+IntToStr (j+l))-1. MD.VVO. :=ElsO]-
- PolishConversion (MD.CTempFuncsj., polStr) —
- MOsj. := Els[j]- end- // End FOR j // Вычисляем CKO SetLength (SKOs, NumEl) — for j := 0 to NumEl-1 do begin
- SKOsj. := Els[j]*Devs[j]*0.01/3- end-//End FOR j // Вычисляем новые значения для матожиданий и СКО SetLength (MOns, NumEl) — SetLength (SKOns, NumEl) — for j := 0 to NumEl-1 do begin
- MOnsD. := M0sj]/1000- // заменил на 1000
- SKOnsfj. := SKOsj]/sqrt (1000) — // по числу циклов Fi MOns[j] := MOs[j]- SKOnsO] := SKOsO]/sqrt (1000) — end- // End FOR j
- Находим значения, А и В для всех эл-тов
- SetLength (Ass, NumEl) — SetLength (Bss, NumEl) — for j := 0 to NumEl-1 do begin
- MiscDataC = class (TObject) public
- GetF := 5.67*(Power (((tl+273)/100), 4) Power ((t2+273)/100,4))/(tl-t2) — end- begintry UnitLength := StrToInt (Edit2.Text) — except on EConvertError do begin
- Application.MessageBox ('HeBepHO задана длина блока!',
- Ошибка!', MBJCONSTOP + MB JDK) — Edit2. SetFocus- Exit- end- end-
- UnitLength := UnitLength/1000- // в метрах try UnitWidth := StrToInt (Edit5.Text) — except on EConvertError do begin
- Application.MessageBoxCHeeepHo задана ширина блока!',
- Ошибка!', MBJCONSTOP + MB JDK) — Edit5. SetFocus- Exit- end- end-
- UnitWidth := UnitWidth/1000- // в метрах try UnitHeight -= StrToInt (Edit3.Text) — excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задана высота блока!',
- Ошибка!', MBJCONSTOP + MB JDK) — Edit3. SetFocus- Exit- end- end-
- UnitHeight := UnitHeight/1000- // в метрах try PlateLength := StrToInt (Editl.Text) — excepton EConvertError do begin
- Application.MessageBox ('HeBepHO задана длина платы!',
- Ошибка!', MBJCONSTOP + MB JDK) — Editl. SetFocus- Exit- end- end-
- PlateLength := PlateLength/1000- // в метрах try PlateWidth := StrToInt (Edit4.Text) — except on EConvertError do begin
- Application.MessageBoxCHeeepHo задана ширина платы!',
- Ошибка!', MBJCONSTOP + MB JDK) — Edit4. SetFocus- Exit- end- end-
- Application.MessageBox ('HeBepHO задана температура окружающей среды!',
- Ошибка!', MBJCONSTOP + MB JDK) — Edit6. SetFocus- Exit- end- end-
- AssignFile (FData, 'eltable.txt')-try Reset (FData)-excepton EInOutError do begin
- Application.MessageBox ('He найден файл eltable. txt! Задайте'+ 'параметры платы!', 'Ошибка!', MBJCONSTOP + МВОК) — BitBtnl. SetFocus- Exit- end- end-if EOF (FData) then begin
- Application.MessageBox ('aKr eltable. txt не содержит данных! Задайте'+ 'параметры платы!',
- Ошибка!', MBJCONSTOP + МВОК) — BitBtnl. SetFocus- Exit- end-
- ReadLn (FData, NumEl) — ReadLn (FData, PlateHeight) — SetLength (ElLengths, NumEl) — SetLength (ElWidths, NumEl) — SetLength (ElDiams, NumEl) — -
- SetLength (ElHeights, NumEl) — SetLength (ElPowers, NumEl) — SetLength (EIXns, NumEl) — SetLength (ElYns, NumEl) — for i := 1 to NumEl do begin
- Read (FData, ElLengthsi-l.) — Read (FData, ElWidths[i-l]) — Read (FData, ElDiams[i-l]) — Read (FData, ElHeights[i-l]) — Read (FData, ElPowers[i-l]) — Read (FData, ElXns[i-l]) — Readln (FData, ElYns[i-l]) — end-1. CloseFile (FData) —
- Вычисляем площадь крышки (дна) кожуха Sv := UnitLength*UnitWidth- Sn := Sv-
- Площадь боковой пов-ти корпуса Sb := UnitHeight*2*(UnitLength+UnitWidth) — // Площадь поверхности УНЗ в области 1 и 3 Szl := PlateLength*PlateWidth- Sz3 := Szl- // Зазор
- S1 i := S1 i + (PI*Power (ElDiamsi-l., 2)/4) — end- end-hi := hli*Sli/Ssh-h3 := (hli/NumEl+PlateHeight)-UnitHeight/2- // Площадь пов-ти внутренней части кожуха Ski := 2*hI*(UnitLength+UnitWidth-4*Delta)+(UnitLength-2*Delta)*
- SigA := 23.*(UnitLength-2.*Delta)*(UnitHeight-2.*Delta) — Vk := 10- tk := Vk+Temp- tm := (tk+Temp)/2-
- Albk := GetA™*Power (((tk-Temp)/UnitHeight), ¼) —
- Alvk := L3*GetA™*Power (((tk-Temp)/UnitWidth), ¼) —
- Alnk := 0.7*GetA™*Power (((tk-Temp)/UnitWidth), ¼) —
- All := GetBlack (CaseBlacklD)* I *GetF (tk, Temp)-1. Alv := Alvk + All-1. AIn := Alnk + All-1. Alb := Albk + All-
- SigK := Alv*Sv + Aln*Sn + Alb*Sb- PI := SigK*(tk Temp) — tzl := Temp + Pl*(l/SigA+l/SigK) — end-
- Finalize (ElLengths) — Final ize (EIWidths) — Finalize (ElDiams) — Finalize (ElHeights) — Finalize (ElPowers) — Finalize (ElXns) — Finalize (ElYns) — end-
- Saving dialog fields on exitprocedure TForml. FormCloseQuery (Sender: TObject- var CanClose: Boolean) — var1. FData: TextFile- begin
- AssignFile (FData, 'tempras.ini')-1. Rewrite (FData) —
- WriteLn (FData, Edit2. Text) —
- WriteLn (FData, Edit5. Text) —
- WriteLn (FData, Edit3. Text) —
- WriteLn (FData, Editl. Text) —
- Reading dialog field from ini-file on startup procedure TForml. FormActivate (Sender- TObject) — var
- FData: TextFile- tmpstr: String- begin
- AssignFile (FData, 'tempras.ini') — try Reset (FData) — except on EInOutError do begin Exit- end- end-if EOF (FData) then begin1. Exit- end-
- RadioButton 1. Checked := TRUE- RadioButton2. Checked = FALSE- end
- Гистограммы частот значений математического ожидания тъ метрологической характеристики преобразователя напряжение-частота
- До замены в момент времени t=20 000 час.
- D'-IMn^intDl^mmO^ CDCDCDCDCDCDCDCDCDCDt— т— О. О О сз CD о cd о о о о. о о о“ о о о“ о о“ а“ о“ о“ о“ о"1. Г—
- СЭ CD CD СЭ CD О CD о о CD сэ“ о» о" о" CD- CD о" о"1.UniOTfliilBNIDOlDi-CMCNCNICMCMCNCNCNOTJCO о CD О G> О О CD CD 0 01. Q о о, а а о" q а" а" о"
- Асимметрия распределения Ду =-0,274- эксцесс распределения ?^=0,102.
- После замены в момент времени t=23 500 час.
- О CD CD CD CD CD О CD CD CD CD CD 0 CD CD 0 CD CD CD CD CD CD CD О CD
- CD CD o" cd" о о cd" cd" cd" cd" cd" cd" cd"wcnifl^mm'-rj^iON со ст> т— сч ¦sf1. Ol CM CO CO CO
- CD CD CD 0 CD CD CD 0 0 0 CD CD CD О О О
- CD" CD CD" о" CD CD" CD* CD~ o" izj" о" o" CD CD о" o"1.le
- Асимметрия распределения As =-0,193- эксцесс распределения Ек =0,110.
- Гистограммы частот значений математического ожидания тъ метрологической характеристики УПТ
- До замены в момент времени 1=16 000 час.0,013 0,014 0,016 0,017 0,019 0,020 0,022 0,023 0,025 0,026 0,028 0,029 0,031 0,032 0,034 0,035 0,014 0,015 0,017 0,018 0,020 0,021 0,023 0,024 0,026 0,027 0,028 0,030 0,031 0,033 0,034
- Асимметрия распределения А8 -0,097- эксцесс распределения ?^=-0,142.
- После замены в момент времени 1=25 000 час. оосэоооооооооооооооооооооо~оо~о"сэо~о~гш8
- Асимметрия распределения А8 =-0,087- эксцесс распределения Ек =-0,131.
- Гистограммы частот значений математического ожидания ть метрологической характеристики АИП
- До замены в момент времени 1=22 400 час.64 ¦
- Асимметрия распределения А3 =-0,209- эксцесс распределения Ек =0,204.
- После замены в момент времени 1=24 000 час. г1ГЭ
- Асимметрия распределения А5 =-0,198- эксцесс распределения Ек =0,210.
- Гистограммы частот значений математического ожидания тъ метрологической характеристики входного каскада
- Асимметрия распределения А3 =0,117- эксцесс распределения Ек =-0,099.
- После замены в момент времени 1=25 200 час.
- Асимметрия распределения А5 =-0,097- эксцесс распределения Ек =0,143.