Расчет технико-экономических показателей цеха

Автор: Пользователь скрыл имя, 04 Апреля 2012 в 22:11, курсовая работа

Краткое описание

В рамках данной курсовой работы будут реализованы некоторые этапы просчетов технико-экономических показателей. Среди них:
 организация управления цехов;
 расчет основных технико-экономических показателей;
 организация многопредметной поточной линии;
 оценка уровня организации и оперативного управления производством.
Программным продуктом, на котором будут осуществляться данные задачи является Microsoft Visual Studio.

Оглавление

ВВЕДЕНИЕ 4
Расчет технико-экономических показателей цеха 5
Организация управления цехом 5
Структура и функции аппарата управления цехом и участком 7
Технико-экономические показатели 9
Совершенствование организации машиностроительного цеха 11
Организация многопредметной поточной линии 11
Сущность поточного производства 11
Структура поточного производства. Виды и формы поточных линий. 12
Оценка уровня организации и оперативного управления производством. 17
Программная реализация 19
Среда разработки программного продукта 19
Технические требования 21
Модульная структура приложения 21
Описание работы 22
Исследование работы программы: 35
Заключение 38
Литература 39

Файлы: 1 файл

Курсовая.docx

— 976.55 Кб (Скачать)

 double tb7=Convert::ToDouble(dataGridView4->Rows[3]->Cells[1]->Value);

 double tb8=Convert::ToDouble(textBox6->Text);

dataGridView5->Rows[0]->Cells[1]->Value=Convert::ToString(ceil(sum1/tb4*100)/100);

dataGridView5->Rows[1]->Cells[1]->Value=Convert::ToString(ceil(sum1/tb5*100)/100);

dataGridView5->Rows[2]->Cells[1]->Value=Convert::ToString(ceil(sum1/tb6*100)/100);

dataGridView5->Rows[3]->Cells[1]->Value=Convert::ToString(ceil(sum1/tb7*100)/100);

dataGridView5->Rows[4]->Cells[1]->Value=Convert::ToString(ceil(sum1/tb8*100)/100);  

}

 

Кнопка «Загрузить данные». Обеспечивает загрузку заранее подготовленных исходных данных.

 

Данные загружаются в  файле формата *.txt. Можно использовать как готовый пример, так и создавать свой файл с нужными параметрами.

Форма создания файла исходных данных:

Необходимо записать числа  в любом текстовом редакторе (например, Блокнот) соответственно указанному образцу. Значения, выделенные красным цветом не изменять – может вызвать ошибку в программе.

 

2 – количество строк dataGridView3    

236808 – годовой выпуск первой детали

151800 – основная программа первой детали

2 – количество строк dataGridView3

86892 – годовой выпуск второй детали

55700 – основная программа второй детали

2 – количество строк dataGridView3

94380 – годовой выпуск третьей детали

60500 – основная программа третьей детали  

// количество таких блоков зависит от количества деталей (параметра, заданного в «Количество просчитываемых деталей»)

1650,72 – общая площадь цеха

995,2 – в т. ч. производственная

67 – количество оборудования

44 – в том числе основного

 

 

 

 

 

Исходный код:

 

private: System::Void button7_Click(System::Object^  sender, System::EventArgs^  e) {

  Stream^ myStream;

      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

      openFileDialog1->InitialDirectory = ".\\";

      openFileDialog1->Filter = "txt files (*.txt)|*.txt";

      openFileDialog1->FilterIndex = 2;

      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )

      {

         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )

         {

 System::IO::StreamReader ^ sr = gcnew

 System::IO::StreamReader(openFileDialog1->FileName);

 int j = Convert::ToInt32(sr->ReadLine());

dataGridView3->Rows->Add(j);

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

{

dataGridView3->Rows[i]->Cells[1]->Value=sr->ReadLine();

}

 

j = Convert::ToInt32(sr->ReadLine());

dataGridView3->Rows->Add(j);

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

{

dataGridView3->Rows[i]->Cells[2]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView3->Rows->Add(j);

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

{

dataGridView3->Rows[i]->Cells[3]->Value=sr->ReadLine();

}

textBox4->Text=sr->ReadLine();

textBox5->Text=sr->ReadLine();

textBox6->Text=sr->ReadLine();

textBox7->Text=sr->ReadLine();

            myStream->Close();

}

}

}

Кнопка «Изменить».  Позволяет задавать количество рассчитуемых деталей. По умолчанию – 3.

 

Рис.4

tabPage3 – Организация многопредметной поточной линии.

Присутствуют компоненты: DataGridView6, DataGridView7, DataGridView8, label14 – label9, button5, button8, button9, textBox10, textBox11, textBox12.

 

Вводимые величины:

  • Программа выпуска изделия на поточный период
  • Трудоемкость изготовления детали

 

Неизменяемые величины:

  • Численность рабочих в максимальную смену задавать нельзя. Можно изменить процент просчета этой величины в меня «Настройка».

 

Расчетные величины:

  • Годовая производственная программа
  • Коэффициент приведения трудоемкости
  • Программа для детали каждого наименования
  • Частный такт
  • Число работающих по каждому изделию
  • Периодичность запуска
  • Расчетный размер партии
  • Продолжительность периода выпуска партии
  • Базовая деталь
  • Общий условный такт
  • Общее время работы линии.

 

 

Используемые переменные:

Наименование

Значение

DB3

Количество строк в таблице dataGridView3

DB7

Количество строк в таблице dataGridView7

sum

Сумма текущих значений трудоемкостей  деталей на каждом шаге

sum1

Итоговая сумма трудоемкости изготовления по каждой детали

parM

Массив, содержащий значения годовой производственной программы по деталям

z

Используется при нахождении максимального элемента в массиве

В

Суммарная трудоемкость изготовления детали

kipr

Коэффициент приведения трудоемкости

Nipr

Программа для детали каждого  наименования

Rob

Общий условный такт


 

Кнопка «Рассчитать». Обеспечивает нахождение  расчетных величин по заданным формулам.

Исходный код:

 

private: System::Void button5_Click(System::Object^  sender, System::EventArgs^  e) {

int DB3=Convert::ToInt32(textBox3->Text);

dataGridView6->ColumnCount=DB3;

dataGridView7->RowCount=DB3+1;

dataGridView8->ColumnCount=DB3+1;

 

int DB7=dataGridView7->ColumnCount;

for (int i=0; i<DB3; i++){

double sum1=0;

for (int j=0; j<DB7-1; j++){

double sum=Convert::ToDouble(dataGridView7->Rows[i]->Cells[j]->Value);

sum1=sum1+sum;

}

dataGridView7->Rows[i]->Cells[DB7-1]->Value=Convert::ToString(sum1);

}

 

double parM[10];

 

for (int i=0; i<DB3; i++){

double par=Convert::ToDouble(dataGridView6->Rows[0]->Cells[i]->Value)*Convert::ToDouble(textBox20->Text)*Convert::ToDouble(textBox21->Text);

parM[i]=par;

dataGridView8->Rows[0]->Cells[i+1]->Value=Convert::ToString(par);

}

 

int z=0;

for (int k=1; k<DB3; k++){

if (parM[k]>parM[z]) z=k;

}

 

textBox10->Text=Convert::ToString(z+1);

double bd=Convert::ToDouble(dataGridView7->Rows[z]->Cells[DB7-1]->Value);

double B[10];

for (int i=0; i<DB3; i++){

 B[i]=Convert::ToDouble(dataGridView7->Rows[i]->Cells[DB7-1]->Value);

}

double kipr[10];

for(int i=1; i<DB3+1; i++){

kipr[i-1]=B[i-1]/bd;

dataGridView8->Rows[1]->Cells[i]->Value=Convert::ToString(ceil(kipr[i-1]*100)/100);

 

}

double Nipr[10];

for(int i=1; i<DB3+1; i++){

Nipr[i-1]=parM[i-1]*kipr[i-1];

dataGridView8->Rows[2]->Cells[i]->Value=Convert::ToString(ceil(Nipr[i-1]));

}

 

double Fr=0;

for (int i=0; i<DB3; i++){

Fr=Fr+Convert::ToDouble(dataGridView8->Rows[2]->Cells[i+1]->Value);

}

double Rob=230736/Fr;

textBox11->Text=Convert::ToString(ceil(Rob*100)/100);

 

double Ri[10];

for(int i=1; i<DB3+1; i++){

Ri[i-1]=Rob*kipr[i-1];

dataGridView8->Rows[3]->Cells[i]->Value=Convert::ToString(ceil(Ri[i-1]*100)/100);

}

for(int i=1; i<DB3+1; i++){

dataGridView8->Rows[4]->Cells[i]->Value=Convert::ToString(ceil(B[i-1]/Ri[i-1]));

}

 

double Ran[10];

for(int i=1; i<DB3+1; i++){

Ran[i-1]=Convert::ToDouble(textBox17->Text)*(DB7-1)/Nipr[i-1];

dataGridView8->Rows[5]->Cells[i]->Value=Convert::ToString(ceil(Ran[i-1]*100)/100);

}

double Nras[10];

for(int i=1; i<DB3+1; i++){

Nras[i-1]=(Convert::ToDouble(textBox18->Text)*B[i-1])/(B[i-1]*Convert::ToDouble(textBox19->Text));

dataGridView8->Rows[6]->Cells[i]->Value=Convert::ToString(ceil(Nras[i-1]));

}

double Fi[10];

for(int i=1; i<DB3+1; i++){

Fi[i-1]=Nipr[i-1]*Ri[i-1]/480;

dataGridView8->Rows[7]->Cells[i]->Value=Convert::ToString(ceil(Fi[i-1]));

}

double Fob=0;

for(int i=0; i<DB3; i++){

Fob=Fob+Fi[i];

}

textBox12->Text=Convert::ToString(ceil(Fob));

}

Кнопка «Загрузить данные». Обеспечивает загрузку заранее подготовленных исходных данных.

Данные загружаются в  файле формата *.txt. Можно использовать как готовый пример, так и создавать свой файл с нужными параметрами.

 

Форма создания файла исходных данных:

Необходимо записать числа  в любом текстовом редакторе (например, Блокнот) соответ-ственно указанному образцу. Значения, выделенные красным цветом не изменять – может вызвать ошибку в программе.

 

 

 

1

45000 – программа выпуска первой детали

1

63500 – программа выпуска второй детали 

1

84200 – программа выпуска третьей детали и т.д.

//количество столбцов  зависит от количества заданных  деталей

3 – количество строк dataGridView7, зависит от количества деталей

1,55 – трудоемкость изготовления одной из части детали 1

4,36 – трудоемкость изготовления одной из части детали 2

4,78 – трудоемкость изготовления одной из части детали 3

//далее по аналогии

3

2,16

2,1

1,54

3

3,2

1,3

1,11

3

4,25

2,85

1,9

3

2,64

4,35

5,78

3

1,28

1,1

1,4

3

1,18

1,05

1,25

3

1,42

3,24

2,14

3

2,9

2

1,25

3

1,27

3,22

3,52

 

 

Исходный код:

private: System::Void button8_Click(System::Object^  sender, System::EventArgs^  e) {

 

  Stream^ myStream;

      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

      openFileDialog1->InitialDirectory = ".\\";

      openFileDialog1->Filter = "txt files (*.txt)|*.txt";

      openFileDialog1->FilterIndex = 2;

      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )

      {

         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )

         {

 System::IO::StreamReader ^ sr = gcnew

 System::IO::StreamReader(openFileDialog1->FileName);

 int j = Convert::ToInt32(sr->ReadLine());

dataGridView6->Rows->Add(j);

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

{

dataGridView6->Rows[i]->Cells[0]->Value=sr->ReadLine();

}

 

j = Convert::ToInt32(sr->ReadLine());

dataGridView6->Rows->Add(j);

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

{

dataGridView6->Rows[i]->Cells[1]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView6->Rows->Add(j);

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

{

dataGridView6->Rows[i]->Cells[2]->Value=sr->ReadLine();

}

 

  j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[0]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[1]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[2]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[3]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[4]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[5]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[6]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[7]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[8]->Value=sr->ReadLine();

}

j = Convert::ToInt32(sr->ReadLine());

dataGridView7->Rows->Add(j);

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

{

dataGridView7->Rows[i]->Cells[9]->Value=sr->ReadLine();

}

            myStream->Close();

}

}

}

Рис.5

 

tabPage4 – Параметры – включает в себя:

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

 

 

 

 

 

 

 

 

 

Исследование работы программы:

Выполним приложение при исходных данных:

 

 

В меню «Настройка» изменим  процент максимальной смены с 60% на 10%.

В результате получим:

 

 

Теперь изменим количество деталей.

При трех деталях:

 

 

 

 

 

 

 

 

При четырех деталях:

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

 

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Литература

 

  1. Соколицын С.А., Кузин Б.И. Организация и оперативное управление машиностроительным производством: учебник. - Л.: Машиностроение. Ленинградское отделение, 1988. - 527 с.
  2. Проектирование машиностроительных заводов: Справочник в 6 томах/под общ. ред. Е.С. Ямпольского. - М.: Машиностроение, 1975. - 2361с.
  3. Организация и планирование машиностроительного производства: учебник для ВУЗов. - 3-е издание, перераб. и доп./Под ред. И.М. Разусова, Л.Я. Шухгальтера, Л.А. Глаголевой. - М.: Машиностроение, 1974. - 592 с.
  4. Организация работы предприятия. Калачева А.П. -М.:ПРИОР, 2000.- 431с.
  5. Сергеев И.В. Экономика предприятия: Учеб. пособие. – 2-е изд., перераб. и доп. – М.: Финансы и статистика, 2004. – 304с..
  6. Экономика предприятия / Под ред. Н.А. Сафронова. М.: Юрист, 2004.618с.

Информация о работе Расчет технико-экономических показателей цеха