1930
.pdf152. Искусственный интеллект: справочник [Текст] / Под. ред. В.Н. Захарова, В.Ф. Хорошевского. – М.: Радио и связь, 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
