Распределенная система терминального управления техническим объектом

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 09.06.2009
Размер файла 1,2 M

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

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

-412.08

-109.8

159.98

400.99

615.94

Рисунок 7.3 Финансовый профиль проекта

Из графика видно, что в данном виде наш продукт является экономически целесообразным, так как наши затраты окупаются на втором году. Максимальный долг составляет 412.08 грн. Суммарный интегральный экономический эффект составляет 615.94 грн.

7.7 Вывод

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

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

8 ОХРАНА ТРУДА И ОКРУЖАЮЩЕЙ СРЕДЫ

8.1 Анализ условий труда оператора ЭВМ в компьютерной лаборатории

Тип помещения - лаборатория, которая имеет следующие характеристики: площадь S = 4 4= 16 (м2); объем V = 4 4 4 = 64(м3) , что соответствует действующим санитарным нормам ДНАОП 0.00-1.31-99 [21], где приведены минимальные нормы на одно рабочее место:

1) S1 = 6 м2

2) V1 = 20 м.

В кабинете имеется два рабочих места. Количество работающих на рабочем месте-1 человек.

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

Наименование ВДТ: LG Flatron T710PH. Также в состав офисной техники входят принтер Samsung ML-2151N и ксерокс Lexmark P6250.

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

a) работы с клавиатурой и дисплеем:

1) связанные с введением большого объема информации с клавиатуры;

2) связанные с анализом информации, поиском ошибок и т.п.

b) работы по распечатке документации;

c) работы с документацией и литературой.

Форма организации труда - индивидуальная.

Чертеж помещения с размещением оборудования и рабочих мест, а также дверные и оконные проемы представлен на рисунке 8.1.

В помещении поддерживается определенный температурный режим для нормальной эксплуатации ЭВМ, а также условий труда человека. Фактические значения параметров микроклимата:

Температура воздуха : Тфакт = 24 С;

Относительная влажность воздуха, %: факт =53,4%;

Скорость движения воздуха: Vвозд = 0.08 м/с; (в теплый период года)

Источников вредных выбросов в помещении нет. Контроль состояния воздуха рабочей зоны осуществляется по ГОСТ 12.1.005-88 .

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

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

В соответствии с требованиями СНИП II-4-79 освещенность при искусственном комбинированном освещении должна составлять 300 лк, при общем - 200 лк.. Коэффициент естественного освещения должен составлять 1.5%.

Естественное освещение лаборатории обеспечивается двумя оконными проемами площадью 2 м2 с одинарным переплетом. Такой оконный проем в дневное время дает достаточное освещение. КЕОф составляет 1.2%, что не соответствует нормам естественного освещения. Следовательно, необходимо использовать дополнительное освещение. Искусственное освещение обеспечивается четырьмя светильниками с двумя люминесцентными лампами типа ЛБ-30 в каждом. В помещении ряды ламп расположены параллельно стене со световым проемом, что позволяет подключать их последовательно в зависимости от степени естественного освещения. Один из светильников расположен локально над рабочим местом. Высота подвеса светильников 2,5 -3м. Оконные проемы оборудованы регулируемыми устройствами: жалюзи, занавесями, внешними козырьками.

Разряд зрительных работ, выполняемых в помещении - III, подразряд - «в» (по характеристикам фона и контраста фона с объектом различения: контраст объекта с фоном - малый, характеристика фона - темный).

Эскиз размещения светильников искусственного освещения, а также дверных и оконных проемов представлен на рисунке 8.2. Мероприятия, которые рекомендуется проводить для соблюдения СНиП II-4-79: не реже одного раза в год проверять соответствие освещенности на рабочей поверхности нормам искусственного освещения; очищать светильники не реже одного раза в три месяца; протирать окна не реже, чем два раза в год.

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

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

Для обеспечения нормальной работы обслуживающего персонала уровень шума для лаборатории определен требованиями ГОСТ 12.1.003-83 и должен составлять не более 50 дБА. Фактический уровень шума по шкале А составляет примерно 40 дБА, что не превышает допустимого значения.

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

В помещение электроэнергия поступает при питании ЭВМ, печатающих устройств и электрического освещения. ПУЭ-86 данное помещение относится к категории без повышенной опасности: сухое (относительная влажность меньше 75%), пол не токопроводящий, температура в помещении не превышает 30 С .

Используется переменный трехфазный ток напряжением 380/220 В частотой 50 Гц.

К причинам, по которым возможно поражение человека электрическим током, относятся:

1) работа с открытыми токопроводящими элементами машин;

2) эксплуатация неисправного электрооборудования;

3) использование неисправных электрических розеток;

4) при коротком замыкании в результате уменьшения сопротивления изоляции.

Для предотвращения поражения электрическим током обслуживающего персонала предусмотрены следующие технические мероприятия:

1) все токопроводящие части машин защищены ограждающими кожухами;

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

Пожарная безопасность регламентируется ГОСТ 12.1.004-91, инструкциями по обеспечению пожарной безопасности.

Нормами ОНТП24-86 определено, что помещение лаборатории по степени пожароопасности производства относится к категории «Д», здание по степени огнестойкости - к группе II.

Пожароопасные предметы и материалы: электропроводка компьютеры. Для извещения о пожаре и месте его возникновения, а также его ликвидации рекомендуется автоматическая пожарная сигнализация, основными элементами которой являются автоматические пожаротушители типа МДПИ-02Р ТРВ-1. В лаборатории имеются первичные средства пожаротушения - огнетушитель ОУ-2, ОУ-8.

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

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

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

Согласно ГОСТ 12.1.006-84 напряженность электрической составляющей ЭМП не должна превышать Е = 5 В/м.

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

Защита подразделяется на 3 группы:

1) организационная (рациональное расположение рабочих мест).

2) лечебно-профилактическая (прохождение мед. осмотра раз в Ѕ года).

3) инженерно-техническая (применяется экранирование).

8.2 Расчётная часть

Имея исходные данные, т.е. план комнаты (см. рисунок 8.1), произведем расчет и оценку естественного и искусственного освещения.

Рисунок 8.1 - Эскиз помещения рабочего места в лаборатории

1,2 - рабочие столы с оборудованием;

3,4 - стулья;

5 - дверной проем;

6 - шкаф;

7,8 - окна.

Размеры комнаты: 4 м 4м.

Высота комнаты: 3 м.

Размеры окна: 2 м 2 м.

Вредных факторов нет.

Характеристика зрительной работы - средняя точность.

Число светильников в помещении - 4 шт., число ламп в светильнике - 4 шт. (рис.8.2).

Рисунок 8.2 - Эскиз помещения рабочего места в лаборатории

1-4 - светильники;

5 - дверной проем;

6,7 - окна.

8.2.1 Проектирование естественного освещения производственных помещений

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

При проектировании естественного освещения необходимая минимальная площадь световых проёмов (при боковом освещении) определяется по формуле (8.1):

(8.1)

где Sп = 16 м2 - площадь пола помещения;

S0 - минимальная площадь световых проёмов, м2;

ен = 1.2 % - нормированное минимальное значение к.е.о., принимается по таблице 1.1;

kз = 1.2 - коэффициент запаса (в зависимости от возможного загрязнения световых проёмов принимается в пределах 1.2..2.0);

о = 31 - световая характеристика окон, принимается по таблице 1.2 ;

kзд = 1 - коэффициент, учитывающий затенение окон противостоящими зданиями, принимается по таблице 1.3;

0 - общий коэффициент светопропускания, определяемый по формуле:

где 1 = 0.7 - коэффициент светопропускания материала (для различных типов стекла принимается в пределах 0.65..0.9);

2 = 0.9 - коэффициент, учитывающий потери света в переплётах светового проёма (в зависимости от вида переплёта принимается в пределах 0.5..0.9);

3 = 0.8 - коэффициент, учитывающий потери света в несущих конструкциях (0.8..0.9);

4 = 1 - коэффициент, учитывающий потери света в солнцезащитных устройствах (при их отсутствии 4 = 1, при наличии 4 = 0.6..0.9);

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

Подставляя в формулу (8.1) имеющиеся значения, получаем:

2)

Таким образом, необходимая суммарная площадь световых проёмов в помещении, представленном на рисунке 8.1, должна составлять So = 8 м2. Следовательно, в помещении, необходимо расположить два окна размером 2х2 м2.

8.2.2 Проектирование искусственного освещения производственных помещений

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

Определяем размеры, определяющие размещение светильников в помещении :

1) высота подвеса светильника

h = H - hc - hp,

где H = 3 м - высота помещения;

hc = 0 - свес;

hp = 1 - высота рабочей поверхности;

h = 2 (м);

2) расстояние между светильниками

L 1.4 h 1.4 * 2 = 2.8 (м);
3) расстояние от крайнего ряда светильников до стен при учёте, что рабочие поверхности горизонтальные и расположены у стен
l = (0.25..0.33) L = 0.25 * 2.8 = 0.7 (м).

Существует несколько методов расчёта искусственного освещения :

1) метод коэффициента использования светового потока (для расчёта общего равномерного освещения горизонтальной поверхности при светильниках любого типа);

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

3) метод «удельных мощностей» (при приближенных расчётах).

Воспользуемся методом коэффициента использования светового потока.

При принятом количестве светильников искомой величиной является необходимый световой поток одной лампы, определяемый по формуле (8.2):

(8.2)

где Ен = 150 - нормируемая минимальная освещённость, определяется по табл. 2.1 ;

S = 16 м2 - площадь освещенного помещения;

N = 4 - число светильников;

n = 4 - число ламп в светильнике;

кз = 1.4 - коэффициент запаса (принимается в пределах 1.3..2.0 в зависимости от содержания пыли в производственных помещениях с учетом регулярной очистки светильников и вида источника света);

z = 1.2 - коэффициент неравномерности освещения (1.1..1.25);

= 0.47- коэффициент использования светового потока (зависит от индексов помещения i и значения коэффициента отражения стен и потолка с и п), определяется по таблице 2.2;

Индекс помещения вычисляется по формуле:

где А и В - соответственно длина и ширина помещения, м;

h = 2 м - расчётная высота подвеса светильников.

Подставляя в формулу (8.1) имеющиеся значения, получаем:

(Лм)

8.3 Вывод

Разработанное программное обеспечение должно эксплуатироваться на IBM PC/AT совместимых компьютерах в помещении, соответствующем санитарным нормам, а именно: площадью не менее 16 м2 и объёмом воздуха 15 м3. В производственном помещении в дневное время должно быть обеспечено достаточное естественное освещение, для чего необходимо расположить два окна размером 2х2 м2, а в темное время суток - искусственное освещение, в качестве источника света которого являются люминесцентные лампы (световой поток одной лампы составляет 536.2 Лм).

Заключение

В рамках дипломного проекта разработана концепция распределенной системы терминального управления робототехническим комплексом, оперирующем в зоне опасной для жизни человека. При разработке концепции использованы современные подходы к организации сбора и передачи информации. В частности рассмотрены основы использования CAN-интерфейса. Для определения коэффициентов терминального управления разработана функция вычисления коэффициентов на двух языках программирования (язык m-скриптов и на языке C++). Возможность применения синтезированного закона опробована на специально разработанной экспериментальной модели системы. Разработка модели и апробация проведены в среде инженерных расчетов Matlab. Конечным продуктом проекта является программное обеспечение пульта управления РСТУ, которое позволяет произвести вычисление коэффициентов терминального управления, построить управляющую функцию, произвести визуализацию результатов работы, создание и сохранение файла протокола, передачу расчетных данных на борт робота манипулятора по сетевому интерфейсу. При разработке учтены все требования технического задания.

Библиографический список

1. Дистанционно управляемые роботы и манипуляторы / ВС. Кулешов, Н.А Лакота, В.В. Андрюнин и др.; Под общ. Ред. Е.П. Попова. - М.Машиностроение, 1986. - 328 с. ил.

2. Батенко А.П. Системы терминального управления. - М.: Радио и связь, 1984. - 160 с., ил.

3. Медведев В.С., Лесков А.Г., Системы управления манипуляционных роботов/Под ред. Е.П. Попова. - М.: Наука, 1978 - 416 с.

4. Летов А.М. Динамика полета и управление. - М.: Наука, - 1969. - 359 с.

5. Красовский А.А. Аналитическое конструирование систем квазитерминального управления // Автоматика и телемеханика. - 1972. - №4. - С. 5-14.

6. Seal C.E., Stabberud A.R. On final value control // IEEE Trans. - 1969. - V.7 - №2. - P. 133-143.

7. Green W.G. Logarithmic navigation for precise guidance for space vehicles // IRE Trans. - 1961. - V. ANE-8 - №2 - P. 59-71.

8. Ястребов В.С., Филатов А.М. Системы управления движением робота. - М.: Машиностроение, 179. 176 с.

9. Батенко А.П. Управление конечным состоянием движущихся объектов. - М.: Сов. радио, 1977. - 256 с.

10. Батенко А.П. Конечное управление цепочкой интеграторов // Автоматика. - 1977. - №2. - С. 63-71.

11. http://www.kaskod.ru

12. http://www.mstu.edu.ru

13. Чиликин М.Г., Ключев В.И. Теория автоматизированного электропривода. - М.: Энергия, 1979. - 616 с.

14. Borland C++Builder. Программирование на С++ без проблем / Шамис В.А.. - М.: «Нолидж», 1997 - 266с., ил.

15. Программирование в среде С++Builder / Сурков К.А., Сурков Д.А., Вальвачев А.Н.. - Мн.: ООО «Попурри», 1998. - 576 с.:ил.

Приложение а

(Обязательное)

Исходные тексты основных функций

А.1 Исходный текст функции вычисления коэффициентов терминального управления на языке Matlab

% ФУНКЦИЯ РАСЧЕТА ТЕРМИНАЛЬНОГО УПРАВЛЕНИЯ

% ----------------------------------------

% ВХОДНЫЕ ПАРАМЕТРЫ:

% Xo - ВЕКТОР НАЧАЛЬНЫХ УСЛОВИЙ

% Xk - ВЕКТОР КОНЕЧНЫХ УСЛОВИЙ

% T - ВРЕМЯ ЗА КОТОРОЕ НЕОБХОДИМО ВЫПОЛНИТЬ ПЕРЕХОД

% dT - ВРЕМЯ ОПЕРЕЖЕНИЯ ФАЗОВОЙ ТОЧКИ

% ----------------------------------------

% ВЫХОДНЫЕ ПАРАМЕТРЫ:

% C - КОЭФФИЦИЕНТЫ ПАРАМЕТРОВ УПРАВЛЕНИЯ

% ----------------------------------------

function [C]=terminal_control(Xo,Xk,T,dT)

r=length(Xo); % КОЛИЧЕСТВО НАЧАЛЬНЫХ УСЛОВИЙ

n=length(Xk); % КОЛИЧЕСТВО КОНЕЧНЫХ УСЛОВИЙ

C=zeros(1,2*r+n);

%---------------------------------------------------------------% РАСЧЕТ ПАРАМЕТРОВ УПРАВЛЕНИЯ Сi

%---------------------------------------------------------------for i=0:r-1

C(i+1)=Xo(i+1)/factorial(i); % ПЕРВЫЕ r ПАРАМЕТРОВ Ci (i=0,1,...,r-1)

end

for i=r:r+n-1

summa_1=0;

summa_2=0;

for nu=0:i-1

summa_1=summa_1+factorial(r+n-nu-1)*C(nu+1)/factorial(r+n-i-1)/factorial(i-nu)/T^(i-nu);

end

for nu=0:r+n-i-1

summa_2=summa_2+((-1)^nu)*factorial(r+n-nu-1)*Xk(nu+1)/factorial(i)/factorial(r+n-i-nu-1)/factorial(nu)/T^(i-nu);

end

C(i+1)=summa_2-summa_1;

end

disp(['---------- ВЫХОДНАЯ ФУНКЦИЯ ----------'])

disp(['X(t)='])

for i=0:r+n-1

disp(['C' num2str(i) '*t^' num2str(i) '+'])

end

disp(['---------- НАЧАЛЬНЫЕ УСЛОВИЯ Xo ----------'])

for i=0:r-1

disp(['Xo(' num2str(i) ')=' num2str(Xo(i+1))])

end

disp(['---------- КОНЕЧНЫЕ УСЛОВИЯ Xk ----------'])

for i=0:n-1

disp(['Xk(' num2str(i) ')=' num2str(Xk(i+1))])

end

disp(['---------- ВРЕМЯ ----------'])

disp(['T=' num2str(T)])

disp(['---------- dT ----------'])

disp(['dT=' num2str(dT)])

disp(['---------- КОЭФФИЦИЕНТЫ Ci ----------'])

for i=0:r+n-1

disp(['C(' num2str(i) ')=' num2str(C(i+1))])

end

А.2 Исходный текст модуля вычисления коэффициентов терминального управления на языке С++

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

// терминального управления v.1.0

#include <math.h>

//----------------------------------//

// ФУНКЦИЯ ВЫЧИСЛЕНИЯ ФАКТОРИАЛА N! //

//----------------------------------//

double Factorial(int n)

{

double result=1;

int i=1;

// Если аргумент функции отрицательный возвращаем -1

if (n<0) return -1;

// Расчет факториала

while (i<=n)

{

result*=i;

i++;

}

// Возвращаем результат

return result;

}

//-------------------------------------//

// ФУНКЦИЯ ВЫЧИСЛЕНИЯ ПАРАМЕТРОВ Сi //

//-------------------------------------//

// Входные параметры:

// Xo - массив начальных условий

// r - количество начальных условий

// Xk - массив конечных условий

// n - количество конечных условий

// Tk - конечное время

// Выходные параметры:

// Указатель на массив коэффициентов Ci

//-------------------------------------//

double *CoeffC(double Xo[], int r, double Xk[], int n, double Tk)

{

// Определяем массив коэффициентов

// Памать под массив необходимо очистить

// вызывающей функции delete[] Ci !!!

double *Ci = new double[r+n];

// Вычисляем первые r коэффициентов Ci

for (int i=0; i<=r-1; i++)

{

Ci[i]=(double)(Xo[i]/Factorial(i));

}

// Вычисляем оставшиеся n коэффициентов Ci

// См. Батенко А.П. "Синтез терминального управления" формула (4.16)

int v;

double sum_1, sum_2;

sum_1=sum_2=0.0;

for (int i=r; i<=r+n-1; i++)

{

for (v=0; v<=i-1; v++)

{

sum_1+=(double)(Factorial(r+n-v-1)/Factorial(r+n-i-1)/Factorial(i-v)/pow(Tk,i-v)*Ci[v]);

}

for (v=0; v<=r+n-i-1; v++)

{

sum_2+=(double)(pow(-1,v)*Factorial(r+n-v-1)/Factorial(i)/Factorial(r+n-i-v-1)/Factorial(v)/pow(Tk,i-v)*Xk[v]);

}

Ci[i]=-sum_1+sum_2;

sum_1=sum_2=0.0;

}

r=(int)sizeof(Ci)/sizeof(double);

return Ci;

}

//-------------------------------------//

А.2 Исходный текст функций программного обеспечения РСТУ

//--------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//--------------------------------------------------------------void __fastcall TForm1::bbCloseClick(TObject *Sender)

{

Close();

}

//--------------------------------------------------------------

void __fastcall TForm1::bOkClick(TObject *Sender)

{

Series1->Clear();

ListBox1->Clear();

int i, k;

String S, s;

//------------------------------------------------------------

// Ввод исходных данных для расчета

//------------------------------------------------------------ int InitConditionNum=StrToInt(Edit1->Text); // Кол-во начальных условий

int FiniConditionNum=StrToInt(Edit3->Text); // - " - конечных условий

String InitCondition=Edit2->Text;

String FiniCondition=Edit4->Text;

double T=StrToFloat(Edit5->Text);

//------------------------------------------------------------

// Формирование массива начальных условий

//------------------------------------------------------------

S=Edit2->Text;

s="";

k=0;

double *xo;

xo=new double[InitConditionNum];

for (i=1; i<=S.Length(); i++)

{

if ((S[i]!=' ')&(S[i]!='[')&(S[i]!=']'))

{

s+=S[i];

}

else

{

if (!s.IsEmpty())

{

xo[k]=StrToFloat(s);

s="";

k++;

}

}

}

//------------------------------------------------------------

// Формирование массива конечных условий

//------------------------------------------------------------

S=Edit4->Text;

s="";

k=0;

double *xf;

xf=new double[FiniConditionNum];

for (i=1; i<=S.Length(); i++)

{

if ((S[i]!=' ')&(S[i]!='[')&(S[i]!=']'))

{

s+=S[i];

}

else

{

if (!s.IsEmpty())

{

xf[k]=StrToFloat(s);

s="";

k++;

}

}

}

//------------------------------------------------------------

// Вычисляем коэффициенты терминального управления

//------------------------------------------------------------

// Указатель на массив коэффициентов

double *C;

C=CoeffC(xo, InitConditionNum, xf, FiniConditionNum, T);

for (i=0; i<InitConditionNum+FiniConditionNum; i++)

{

ListBox1->Items->Add("C["+IntToStr(i)+"] = "

+FloatToStrF(C[i], ffFixed, 7, 5));

}

//------------------------------------------------------------

// Вычисляем управляющую функцию u(t)

//------------------------------------------------------------

double dT, t=0.0;

dT=StrToFloat(Edit6->Text);

int N=(int)T/dT;

StringGrid1->RowCount=N+3;

double u, sum=0.0;

for(i=0; i<=N+1; i++)

{

StringGrid1->Cells[0][i+1]=FloatToStrF(t, ffFixed, 7, 5);

for (k=0; k<InitConditionNum+FiniConditionNum; k++)

{

if (k==0)

{

sum+=C[k];

}

else

{

sum+=C[k]*pow(t, k);

}

}

Series1->AddXY(t, sum, "", clTeeColor);

Application->ProcessMessages();

StringGrid1->Cells[1][i+1]=FloatToStrF(sum, ffFixed, 5, 3);

sum=0.0;

t+=dT;

}

//------------------------------------------------------------

delete[] C;

delete[] xo;

delete[] xf;

}

//--------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

StringGrid1->Cells[0][0]="Время [сек]";

StringGrid1->Cells[1][0]="U(t)";

}

//--------------------------------------------------------------

void __fastcall TForm1::bbSaveClick(TObject *Sender)

{

ofstream out;

int i;

if (SaveDialog1->Execute())

{

out.open(SaveDialog1->FileName.c_str(), 0);

out<<"Файл протокола от "<<DateToStr(Now()).c_str()<<"\n";

for (i=0; i<ListBox1->Count; i++)

{

out<<"C["<<i<<"] = "<<ListBox1->Items->Strings[i].c_str()<<"\n";

}

for (i=0; i<StringGrid1->RowCount; i++)

{

out<<StringGrid1->Cells[0][i].c_str()<<"\t"<<StringGrid1->Cells[1][i].c_str()<<"\n";

}

out.close();

}

}

//--------------------------------------------------------------

void __fastcall TForm1::bbSendClick(TObject *Sender)

{

String S="@";

int i;

//------------------------------------------------------------

// Формируем пакет для передачи информации

//------------------------------------------------------------

for (i=0; i<ListBox1->Count; i++)

{

S+=ListBox1->Items->Strings[i]+"%";

}

S+="#";

//------------------------------------------------------------

// Вводим IP-адрес

//------------------------------------------------------------

UDP->Host=MaskEdit1->Text;

//------------------------------------------------------------

// Пересылка данных

//------------------------------------------------------------

try

{

UDP->Send(S);

}

catch(...)

{

ShowMessage("Не удалось передать информационный пакет!");

}

//------------------------------------------------------------

}

//--------------------------------------------------------------

void __fastcall TForm1::bbAboutClick(TObject *Sender)

{

FormAbout->ShowModal();

}

//--------------------------------------------------------------


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

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