Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1930

.pdf
Скачиваний:
2
Добавлен:
16.06.2024
Размер:
3.72 Mб
Скачать

152. Искусственный интеллект: справочник [Текст] / Под. ред. В.Н. Захарова, В.Ф. Хорошевского. – М.: Радио и связь, 1990.

153. Статические и динамические экспертные системы [Текст] / Э.В. Попов [и др.]. – М.: Финансы и статистика, 1996. – 400 с.

154.Попов, Э.В. Статические и динамические экспертные системы (классификация, состояние, тенденции): методические материалы [Текст] / Э.В. Попов, И.Б. Фоминых, Е.Б. Кисель. – М.: Центральный Российский Дом знаний, 1995.

155.Бровкова, М.Б. Системы искусственного интеллекта в машиностроении: учеб.пособие [Текст] / Бровкова М.Б. – Саратов: Сарат. гос. техн.

ун-т, 2004. – 119 с.

156.Ахмадеев, И.А. Базы данных: учебное пособие [Текст] / И.А. Ахмадеев, А.Х. Хайруллин, С.Ю. Юрасов; под общ. ред. И.А. Ахмадеева. – Набережные Челны: Камский государственный политехнический институт, 2004. – 239 с.

157.Жарин, Д.Е. Полимерные композиты с высокими вибропоглощающими свойствами [Текст] / Д.Е. Жарин, А.Ф. Гумеров // Композиты и глубокая переработка природных ресурсов: тез докл. 2 Междунар. симпозиума / КамПИ. – Набережные Челны, 1999. – С. 20-22 .

158.Технология обработки конструкционных материалов: учеб. для машиностр. спец. вузов [Текст] / П.Г. Петруха [и др.]. – M.: Высш.., 1991. – 512 c.: ил.

161

ПРИЛОЖЕНИЕ

П р и л о ж е н и е 1

Составы полимерных композиционных материалов

 

 

Состав

 

 

сос-

Полимерная

Отвердитель

Модификатор

Пластификатор

Объемное

тава

смола

мас.ч. на

мас. ч. на 100

мас.ч. на 100

содержание

 

 

100 мас.ч.

мас. ч. смолы

мас.ч. смолы

наполнителя

 

 

смолы

 

 

 

1

ЭД-20

ПЭПА 11

-

ДБФ 5

-

2

ЭД-20

ПЭПА 11

-

ДБФ 5

Диабаз =0,1

3

ЭД-20

ПЭПА 11

-

ДБФ 5

Диабаз =0,2

4

ЭД-20

ПЭПА 11

-

ДБФ 5

Диабаз =0,3

5

ЭД-20

ПЭПА 11

-

ДБФ 5

Диабаз =0,4

6

ЭД-20

ПЭПА 11

-

ДБФ 5

Маршалит =0,1

7

ЭД-20

ПЭПА 11

-

ДБФ 5

Маршалит =0,2

8

ЭД-20

ПЭПА 11

-

ДБФ 5

Маршалит =0,3

9

ЭД-20

ПЭПА 11

-

ДБФ 5

Маршалит =0,4

10

ЭД-20

ПЭПА 11

-

ДБФ 5

Цемент =0,1

11

ЭД-20

ПЭПА 11

-

ДБФ 5

Цемент =0,2

12

ЭД-20

ПЭПА 11

-

ДБФ 5

Цемент =0,3

 

 

 

 

 

 

13

ЭД-20

ПЭПА 11

-

ДБФ 5

Цемент =0,4

14

ЭД-20

ПЭПА 11

-

ДБФ 5

Аэросил =0,1

15

ЭД-20

ПЭПА 11

-

ДБФ 5

Аэросил =0,2

16

ЭД-20

ПЭПА 11

-

ДБФ 5

Аэросил =0,3

17

ЭД-20

ПЭПА 11

-

ДБФ 5

Аэросил =0,4

18

540-М 888

Пероксид

-

-

 

 

 

2,5

 

 

 

19

540-М 888

Пероксид

-

-

Диабаз =0,1

 

 

2,5

 

 

 

20

540-М 888

Пероксид

-

-

Диабаз =0,2

 

 

2,5

 

 

 

21

540-М 888

Пероксид

-

-

Диабаз =0,3

 

 

2,5

 

 

 

22

540-М 888

Пероксид

-

-

Диабаз =0,4

 

 

2,5

 

 

 

23

540-М 888

Пероксид

-

-

Маршалит =0,1

 

 

2,5

 

 

 

24

540-М 888

Пероксид

-

-

Маршалит =0,2

 

 

2,5

 

 

 

25

540-М 888

Пероксид

-

-

Маршалит =0,3

 

 

2,5

 

 

 

26

540-М 888

Пероксид

-

-

Маршалит =0,4

 

 

2,5

 

 

 

162

О к о н ч а н и е п р и л. 1

27

540-М 888

Пероксид

-

-

Цемент =0,1

 

 

2,5

 

-

 

28

540-М 888

Пероксид

-

Цемент =0,2

 

 

2,5

 

-

 

29

540-М 888

Пероксид

-

Цемент =0,3

 

 

2,5

 

-

 

30

540-М 888

Пероксид

-

Цемент =0,4

 

 

2,5

 

-

 

31

540-М 888

Пероксид

-

Аэросил =0,1

 

 

2,5

 

-

 

32

540-М 888

Пероксид

-

Аэросил =0,2

 

 

2,5

 

-

 

33

540-М 888

Пероксид

-

Аэросил =0,3

 

 

2,5

 

-

 

34

540-М 888

Пероксид

-

Аэросил =0,4

 

 

2,5

 

-

 

35

ЭД-20

ПЭПА 11

Сарэл 10

 

36

ЭД-20

ПЭПА 11

Сарэл 10

-

Диабаз =0,1

37

ЭД-20

ПЭПА 11

Сарэл 10

-

Диабаз =0,2

38

ЭД-20

ПЭПА 11

Сарэл 10

-

Диабаз =0,3

39

ЭД-20

ПЭПА 11

Сарэл 10

-

Диабаз =0,4

40

ЭД-20

ПЭПА 11

Сарэл 10

-

Маршалит =0,1

41

ЭД-20

ПЭПА 11

Сарэл 10

-

Маршалит =0,2

42

ЭД-20

ПЭПА 11

Сарэл 10

-

Маршалит =0,3

43

ЭД-20

ПЭПА 11

Сарэл 10

-

Маршалит =0,4

44

ЭД-20

ПЭПА 11

Сарэл 10

-

Цемент =0,1

45

ЭД-20

ПЭПА 11

Сарэл 10

-

Цемент =0,2

46

ЭД-20

ПЭПА 11

Сарэл 10

-

Цемент =0,3

47

ЭД-20

ПЭПА 11

Сарэл 10

-

Цемент =0,4

48

ЭД-20

ПЭПА 11

Сарэл 10

-

Аэросил =0,1

49

ЭД-20

ПЭПА 11

Сарэл 10

-

Аэросил =0,2

50

ЭД-20

ПЭПА 11

Сарэл 10

-

Аэросил =0,3

51

ЭД-20

ПЭПА 11

Сарэл 10

-

Аэросил =0,4

52

ЭД-20

ПЭПА 11

-

ДБФ 5

Гранитный

 

 

 

 

порошок

 

 

 

 

 

 

 

 

 

 

=0,4

 

 

 

 

ДБФ 5

 

53

ЭД-20

ПЭПА 11

-

Гранитный

 

 

 

 

порошок

 

 

 

 

 

 

 

 

 

 

=0,4

 

 

 

 

 

Полиамидное

 

 

 

 

 

волокно

 

 

 

 

 

=0,02

 

 

 

 

 

 

163

П р и л о ж е н и е 2

Образец состава полимерного композиционного материала

Состав КМ:

1)ЭД-20 - 100 мас.ч.

ПЭПА - 11 мас.ч. ДБФ - 5 мас.ч.

Гранитный порошок н 0,3

2)ЭД-20 - 100 мас.ч.

ПЭПА - 11 мас.ч. ДБФ - 5 мас.ч.

Гранитный порошок н 0,4

Рис.1. Футеровочная плита из ПКМ

Lр.х. L0 Lр.п. 10 4 14мм

где

где

Lр.х. - длина рабочего хода инструмента.

Справочные режимы обработки: n = 500 об/мин; S = 0,2 мм/об

t

Lр.х.

 

14

0,14 мин

 

 

1

n S

 

500 0,2

 

 

 

 

t1 - время обработки при справочных режимах обработки.

Рекомендуемые режимы обработки: n = 500 об/мин; S = 0,28 мм/об

t2 Lр.х. 14 0,1 мин n S 500 0,28

где t2 - время обработки при рекомендуемых режимах обработки.

С1 СА СБ СВ N СА1

С2 СА СБ СВ N СА2

Const .

Const .

Const 5 руб

164

П р о д о л ж е н и е п р и л. 2

ФN C

кв Фс1 N C

с2

А1

А2

Const

Const

где N – число операций механической обработки КМ

N = 4

Фс

Скм

 

 

Скм mкм Costкм mн Costн

mм Costм

 

mк.м. mм mн

 

 

V 1000 1000 10 107 мм3

0,01м3

 

V Vм Vн

 

 

mм Vм п.м. св Vсв отв Vотв пл Vпл уср (1 Vн )

1) mм уср 0,7 V 1200 0,007 8,4кг

 

100+11+5=116 мас.ч 1мас.ч ~ 0,072 кг

 

mсв

100 0,072 7,2 кг

 

mотв 11 0,072 0,792кг

 

mпл

5 0,062 0,36 кг

 

mн

0,3 V ист 0,3 0,01 2650 7,95кг

 

Фс1

mн Costн mсв Costсв mотв Costотв mпл

Costпл

7,95 0,258 7,2 110 0,792 103,25 0,36 200 947,82руб

2) mм уср 0,6 V 1200 0,006 7,2 кг

 

100+11+5=116 мас.ч 1мас.ч ~ 0,062 кг

 

mсв

100 0,062 6,2 кг

 

mотв 11 0,062 0,682кг

 

mпл

5 0,062 0,31кг

 

mн

0,4 V ист 0,4 0,01 2650 10,6 кг

 

Фс2

mн Costн mсв Costсв mотв Costотв mпл

Costпл

10,6 0,258 6,2 110 0,682 103,25 0,31 200 817,15руб

СА t [кст кзп

кин

]

(к 1) Т

кст 2 руб/мин

кзп 1,5 руб/мин

кин 100 руб

к9

Т = 10 мин

СА t [2 1.5

 

100

] t 4,5руб/ мин

(9

1) 10

 

 

СА1 t1 4,5 0,14 4,5 0,63руб

СА2 t2 4,5 0,1 4,5 0,45руб

165

О к о н ч а н и е п р и л. 2

Коэффициент увеличения производительности операции механической обработки КМ:

кпроизв

N CА1

Const

 

4

0,63

5

1,106

N CА2

Const

4

0,45

5

 

 

 

Коэффициент внедрения:

к

в

 

Фc1

N CА1

Const

 

947,82 4 0,63 5

 

955,34

1,159

 

 

Фc2

N CА2

Const

 

817,15 4 0,45 5

 

823,95

 

166

П р и л о ж е н и е 3

Листинг программы по оптимизации

Approx.java

/*

* Created on 02.05.2007 */

package ru.nchelny.bazon.diplom.math; /**

* @author Turtle */

public class Approx

{

public synchronized static double approx(double x, PointSet points)

{

double fx = 0;

double[] _x = points.getXArray(); double[] _y = points.getYArray(); for(int i = 0; i < points.size(); i++)

{

double f_x = function_x(i, x, _x); double f_y = function_y(i, _x, _y); fx += f_y * f_x;

}

return fx;

}

public synchronized static double approx_wofc(double x, PointSet points)

{

double fx = 0;

double[] _x = points.getXArray(); double[] _y = points.getYArray(); for(int i = 0; i < points.size(); i++)

{

double f_x = function_x(i, x, _x); double f_y = function_y(i, _x, _y); double f_xx = function_xx(i, _x); fx += f_y * (f_x - f_xx);

}

return fx;

}

protected synchronized static double function_xx(int i, double[] _x)

{

double fxx = 1.0;

for(int ii = 0; ii < i; ii++)

{

fxx *= _x[ii];

}

return fxx;

}

protected synchronized static double function_x(int i, double x, double[] _x)

{

double mplier = 1.0;

for(int ii = 0; ii < i; ii++)

{

mplier *= (x - _x[ii]);

}

return mplier;

}

protected synchronized static double function_y(int i, double[] _x, double[] _y)

{

double rety = 0.0;

for(int x0 = 0; x0 < (i + 1); x0++)

167

{

double divider = 1.0;

for(int xi = 0; xi < (i + 1); xi++)

{

if(x0 != xi)

{

divider *= (_x[x0] - _x[xi]);

}

}

rety += _y[x0] / divider;

}

return rety;

}

}

CompositeCalculator.java

/*

* Created on 14.05.2007 */

package ru.nchelny.bazon.diplom.core; import java.sql.Connection;

import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import org.eclipse.swt.SWT;

import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem;

import ru.nchelny.bazon.diplom.composites.dstatic.DynamicException; import ru.nchelny.bazon.diplom.composites.dstatic.StaticWizard; import ru.nchelny.bazon.diplom.composites.reverse.ReverseWizard; import ru.nchelny.bazon.diplom.constants.CStatic;

import ru.nchelny.bazon.diplom.math.Approx; import ru.nchelny.bazon.diplom.math.PointSet; /**

* @author Turtle */

public class CompositeCalculator

{

protected static final HashMap matrix = new HashMap(); protected LinkedHashSet outvalues = new LinkedHashSet(); protected LinkedHashSet recepture = new LinkedHashSet();

static

{

matrix.put(CStatic.COMPONENT_ID, new Integer(6)); matrix.put(CStatic.COMPONENT_VALUE, new Double(100));

}

public CompositeCalculator()

{

recepture.add(matrix);

}

public void printTable(Table table, HashMap values)

{

LinkedHashSet recepture = (LinkedHashSet)values.get(CStatic.CCF_RECEPTURE); outvalues.clear();

168

Iterator it = recepture.iterator(); while(it.hasNext())

{

HashMap component = (HashMap)it.next(); HashMap newhm = new HashMap();

Integer compId = (Integer)component.get(CStatic.COMPONENT_ID); Double value = (Double)component.get(CStatic.COMPONENT_VALUE); newhm.put(CStatic.CCF_X, value); preparePrintValues(compId.intValue(), newhm);

}

printLayerValues(values);

outValues(table);

}

public HashMap calcElement(HashMap curCelFuncMap, Button bittoncheck, Combo combo, double t, StaticWizard wizard) throws DynamicException

{

if(bittoncheck == null || (bittoncheck != null && bittoncheck.getSelection()))

{

Integer componentid = (Integer)combo.getData(String.valueOf(combo.getSelectionIndex()));

curCelFuncMap = calcCelFunc(componentid.intValue(), t, curCelFuncMap, wizard); preparePrintValues(componentid.intValue(), curCelFuncMap);

double alpha = calcDynamic(componentid.intValue(), curCelFuncMap, wizard.winFreq);

curCelFuncMap.put(CStatic.CCF_ALPHA, new Double(alpha)); HashMap curElement = new HashMap(); curElement.put(CStatic.COMPONENT_ID, componentid);

curElement.put(CStatic.COMPONENT_VALUE, curCelFuncMap.get(CStatic.CCF_X)); recepture.add(curElement);

}

return curCelFuncMap;

}

public double calcCost()

{

return calcCostReverse(recepture);

}

public double calcCostReverse(LinkedHashSet recepture)

{

double cost = 0.0; try

{

double summch = 0.0; double sumvol = 0.0;

Connection conn = Context.getConection(); Statement st = conn.createStatement(); LinkedHashSet mch = new LinkedHashSet(); LinkedHashSet vol = new LinkedHashSet(); Iterator it = recepture.iterator(); while(it.hasNext())

{

HashMap current = (HashMap)it.next();

Integer component_id = (Integer)current.get(CStatic.COMPONENT_ID); Double xvalue = (Double)current.get(CStatic.COMPONENT_VALUE); ResultSet rs = st.executeQuery(

"select " +

"cost, " +

"munitxtype " + "from components " +

"where id = " + component_id.toString() );

if(rs.next())

{

HashMap curc = new HashMap();

169

Double ccost = new Double(rs.getDouble("cost")); int typeid = rs.getInt("munitxtype");

curc.put("c", ccost); curc.put("x", xvalue); if(typeid == 0)

{

mch.add(curc);

summch += xvalue.doubleValue();

}

else if(typeid == 1)

{

vol.add(curc);

sumvol += xvalue.doubleValue();

}

}

rs.close();

}

st.close();

double mkm = summch / (1 - sumvol); Iterator mchit = mch.iterator(); while(mchit.hasNext())

{

HashMap curc = (HashMap)mchit.next(); Double c = (Double)curc.get("c"); Double x = (Double)curc.get("x");

cost += (x.doubleValue() / mkm) * c.doubleValue();

}

Iterator volit = vol.iterator(); while(volit.hasNext())

{

HashMap curc = (HashMap)volit.next(); Double c = (Double)curc.get("c"); Double x = (Double)curc.get("x");

cost += x.doubleValue() * c.doubleValue();

}

}

catch(SQLException e)

{

e.printStackTrace();

}

return cost;

}

public void printLayerValues(HashMap curCelFuncMap)

{

Double q_1 = (Double)curCelFuncMap.get(CStatic.CCF_Q_1); Double e = (Double)curCelFuncMap.get(CStatic.CCF_E); Double rizg = (Double)curCelFuncMap.get(CStatic.CCF_RIZG); Double cost = (Double)curCelFuncMap.get(CStatic.CCF_COST); printOut(

"Частота вращения", e,

"об/мин"); printOut(

"Стойкость инструмента", q_1,

"мин."); printOut(

"Подача инструмента", rizg,

"мм/об"); printOut(

"Стоимость",

170

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]