Программа регистрации процесса производства для автоматизированной системы управления предприятием электронной промышленности

Опыт отечественной науки - ситуационные системы управления. Manufacturing executing systems - автоматизированные системы управления производственными процессами. Особенности технологии производства партий пластин. Разработка алгоритмов и программ.

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

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

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

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

Наибольшее допустимое сопротивление заземляющих устройств и заземлителей в системе зануления при подключении ЭВМ типа IBM PC составляет 30 Ом.

Изоляция имеет важное значение в электроустановках, она защищает их от чрезмерной утечки токов, предохраняет людей от поражения током и исключает возникновение пожаров.

Правилами устройства электроустановок определено, что сопротивление изоляции сети на участке между двумя смежными предохранителями или за последними предохранителями между любыми проводами должно быть не менее 0.5 МОм.

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

7.7 Требования по пожарной безопасности

Помещение машинного зала ПЭВМ относится к категории В (пожароопасная) пожарной опасности помещений, так как в помещении находится электрооборудование, горючие вещества (мебель, пластиковые корпуса аппаратуры и др.). Поэтому помещение должно соответствовать нормативам по огнестойкости строительных конструкций, планировке зданий, этажности, оснащенности устройствами противопожарной защиты, установленным для этой категории помещений. Помещение машинного зала должно обладать I или II степенью огнестойкости (см. СНиП 2.01.02-85 “Противопожарные нормы”), то есть самой высокой.

7.8 Меры по снижению уровня шума

Шум оказывает большое влияние на человека и его работоспособность. Уже при уровнях шума в 40-70 дБ ослабляется внимание, ухудшается память, появляется быстрая утомляемость, головная боль. Наибольшей степенью воздействия на состояние человека обладают импульсные и нерегулярные шумы.

Согласно ГОСТ 12.1 003-83 ССБТ “Шум. Общие требования безопасности” допустимым значением уровня шума в помещении машинного зала ПЭВМ является 50 дБ. Основными источниками шума в помещении машинного зала являются матричные принтеры, которые могут создавать уровень шума близкий к 50 дБ. Для снижения уровня шума в помещении машинного зала рекомендуется:

Располагать помещение машинного зала вдали от внешних источников шума.

Использовать звукопоглощающие облицовочные материалы.

Использовать малошумящую вентиляцию.

Использовать струйные или лазерные принтеры вместо матричных.

7.9 Защита от вредных излучений

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

История исследования этого вопроса достаточно длительная и непростая, но полученные результаты носят пока еще преимущественно статистический характер и не имеют адекватного объяснения. Частотный состав (спектр) излучения монитора характеризуется наличием рентгеновских, ультрафиолетовых, инфракрасных и других электромагнитных колебаний. Опасность рентгеновского и части других излучений большинством ученых признается пренебрежимо малой, поскольку их уровень достаточно невелик и в основном поглощается покрытием экрана. Наиболее тяжелая ситуация связана, по-видимому, с полями излучений очень низких частот (ОНЧ) и крайне низких частот (КНЧ), которые, как выяснилось, способны вызывать биологические эффекты при воздействии на живые организмы. Было обнаружено, что электромагнитные поля с частотой порядка 60 Гц могут инициировать изменения в клетках животных (вплоть до нарушения синтеза ДНК). Особенно поразительным для исследователей оказался тот факт, что, в отличие, например, от рентгеновского излучения, электромагнитные волны обладают необычным свойством: опасность их воздействия при снижении интенсивности излучения не уменьшается, мало того, некоторые поля действуют на клетки тела только при малых интенсивностях или на конкретных частотах.

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

Исследователи из Macworld обнаружили, что если на расстоянии 10 см перед мониторами, обычно используемыми с компьютерами Macintosh, напряженность магнитного поля составляет примерно от 5 до 23 мГс, то на расстоянии 70 см от экрана ни у одного из обследованных мониторов напряженность поля не превышала величины 1 мГс. (Интенсивность поля вне указанных пределов составляла 0.1 - 0.5 мГс)

Как это ни странно, но до сих пор нет нормативов для излучений КНЧ-магнитных полей, хотя в некоторых странах (в том числе в Швеции и Канаде) разработаны стандарты для излучений ОНЧ-магнитных полей. Большое число поставщиков - например, фирмы IBM, DEC и Philips - продают мониторы, удовлетворяющие указанным стандартам. Кроме того, любой монитор, работающий не на ЭЛТ, имеет то преимущество, что не излучает переменных компонент, связанных с наличием систем вертикального и горизонтального отклонения электронного луча.

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

7.10 Параметры микроклимата в машинном зале

Метеорологическими условиями согласно ГОСТ 12.1 005-88 являются:

температура;

относительная влажность;

скорость движения воздуха;

атмосферное давление.

С целью обеспечения комфортных условий для операторов ПЭВМ и надежной работы оборудования, необходимо поддерживать следующие метеорологические условия (согласно СН 512-78):

Атмосферное давление в помещении машинного зала должно быть 1013.25±266 ГПа. При пониженном давлении воздуха ухудшается отвод теплоты от элементов ПЭВМ, снижаются изоляционные свойства воздуха.

Воздух, используемый для вентиляции машинного зала, должен очищаться от пыли. Запыленность воздуха не должна превышать 1 мг/мі, а размеры пылинок - 3 мкм.

Пыль, попадающая на платы комплекса, приводит к снижению теплообмена и способствует перегреву приборов.

В помещении машинного зала необходимо предусмотреть систему отопления.

Она должна обеспечивать достаточное, постоянное и равномерное нагревание воздуха в помещении в холодный период года, а также безопасность в отношении пожара и взрыва. При этом колебания температуры в течении суток не должны превышать 2-3 °С; в горизонтальном направлении - 2 °С на каждый метр длины; а в вертикальном - 1 °С на каждый метр высоты помещения.

Для отопления помещения машинного зала рекомендуется использовать водяные или воздушные системы центрального отопления.

Работающие люди и включенные компьютеры являются источниками избыточного тепла в помещении машинного зала.

Поэтому необходимо предусмотреть систему кондиционирования помещения.

Таблица 5. Параметры воздушной среды

Параметры воздушной среды на рабочих местах

Темпера-тура

Оптимальные

Допустимые

Наружного воздуха, °С

Темпера-тура, °С

Относитель-ная влажность,%

Скорость движения воздуха, не более, м/c

Темпера-тура, °С

Относитель-ная влажность,%

Скорость движения воздуха, не более, м/c

Ниже +10

20-22

40-60

0.2

18-22

Не более 70

0.3

Выше +10

20-25

40-60

0.3

Не более, чем на 3 °С выше наружного воздуха в 13 ч дня самого жаркого месяца, но не выше 28 °С

70 при 24 °С

и ниже;

65 при 25 °С;

60 при 26 °С;

55 при 27 °С;

50 при 28 °С.

0.5

7.11 Психофизиологические факторы

Психофизиологические факторы в зависимости от характера действия делятся на следующие группы:

физические перегрузки (статические);

нервно-психические перегрузки:

умственное перенапряжение,

перенапряжение зрительных анализаторов,

монотонность труда,

эмоциональные перегрузки в большом коллективе.

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

общее время работы за дисплеем не должно превышать 50% всего рабочего времени программиста;

при обычной работе за компьютером необходимо делать 15-минутные перерывы через каждые два часа, а при интенсивной работе - через каждый час;

не следует превышать темп работы порядка 10 тысяч нажатий клавиш в час (примерно 1500 слов);

предпочтительнее использовать дисплеи с высокой разрешающей способностью (разрешением) и удобным размером экрана (лучше не применять CGA-мониторы и малоразмерные, менее 14" по диагонали, экраны);

лучше выбирать видеоадаптеры с высоким разрешением и, по возможности (если есть на рынке и цена приемлемая), частотой обновления экранного изображения не менее 70-72 Гц;

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

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

Рабочая поза оказывает значительное влияние на эффективность работы человека. Основные требования к рабочим местам при выполнении работы сидя приведены в ГОСТ 12.2 033-78 "ССБТ. Рабочее место при выполнении работ сидя. Общие эргономические требования". При организации рабочего места программиста необходимо придерживаться следующих рекомендаций:

рабочее место должно быть оборудовано так, чтобы исключать неудобные позы и длительные статические напряжения тела;

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

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

7.12 Планировка рабочего места программиста и организация работы с компьютером

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

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

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

7.13 Выводы

В этой главе дипломного проекта рассмотрены требования охраны труда и разработаны рекомендации по оптимизации санитарно-гигиенической обстановки при выполнении работ на ЭВМ.

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

Нерациональность освещения

Излучения экрана монитора

Электроопасность

Шум

Параметры микроклимата

Психофизиологические перегрузки.

Установлено, что уровень шума на рабочем месте не должен превышать 50 дб, объем производственного помещения на одного работающего должен составлять не менее 15 куб. м, площадь - не менее 4.5 кв. м, наименьшая допустимая освещенность - 200 лк.

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

В данной главе был проведен расчет искусственного освещения и подсчитано фактическое значение минимальной освещенности дисплейного класса - 200 лк.

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

Заключение

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

Дальнейшие этапы работы должны состоять в следующем:

создание имитационной программы, моделирующей процесс управления производством партий;

разработка алгоритмов дисциплины очереди;

проектирование системы управления;

реализация, тестирование и оптимизация системы управления производством партий на ОАО "Ангстрем".

Необходимо подчеркнуть, что разработка компьютерно-сетевых систем управления производственными процессами весьма актуальна для отечественной промышленности. И возможно, разрабатываемая АСУ ПП станет базовым образцом для широкого класса "интеллектуальных" промышленных систем управления.

Список использованной литературы

1. Поспелов Д.А. Ситуационное управление. Теория и практика. М.: Наука, 1986, 285 с.

2. Поспелов Д.А. Принципы ситуационного управления // Известия АН СССР. Серия Техническая кибернетика. 1971. N.2.

3. Клыков Ю.И. Ситуационное управление большими системами. М.: Энергия, 1974.

4. Поспелов Д.А. Большие системы. Ситуационное управление. М.: Знание, 1975.

5. Искусственный интеллект. - В 3-х кн. Справочник. М.: Радио и связь, 1990.

6. MES Explained: A High Level Vision for Executives. White Paper of MESA International (1997). Интернет-адрес: http://www.mesa.org/html/main. cgi? sub=7

7. Technical Articles of Consilium Company. Интернет-адрес: http://www.consilium.com/Publications/technica. htm

8. Уоссермен Ф. Нейрокомпьютерная техника. Теория и практика. М.: Мир, 1992.238 с.

9. С.С. Гайсарян. Объектно-ориентированные технологии проектирования прикладных программных систем. Интернет-адрес: http://www.citforum.ru/programming/oop_rsis/index. shtml

10. P. Coad, M. Mayfield. Object Models: Strategies, Patterns and Applications (Yourdon Press Computing Series). 1996.

11. Буч.Г. "Объектно-ориентированный анализ и проектирование с примерами приложений на C++", М.,"Бином", 1998 г.

Приложение

Фрагменты исходного кода

// Angstrem. h: main header file for the ANGSTREM application

//

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__

#error include 'stdafx. h' before including this file for PCH

#endif

#include "resource. h" // main symbols

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CAngstremApp:

// See Angstrem. cpp for the implementation of this class

//

class CAngstremApp: public CWinApp

{

public:

CAngstremApp ();

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (CAngstremApp)

public:

virtual BOOL InitInstance ();

// }}AFX_VIRTUAL

// Implementation

// {{AFX_MSG (CAngstremApp)

afx_msg void OnAppAbout ();

afx_msg void OnObjectsPartsNew ();

afx_msg void OnObjectsPartsOpen ();

afx_msg void OnObjectsPartsViewall ();

afx_msg void OnObjectsPartsDelete ();

afx_msg void OnAppFindpart ();

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// {{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

// Angstrem. cpp: Defines the class behaviors for the application.

//

#include "stdafx. h"

#include "Angstrem. h"

#include "MainFrame. h"

#include "ChildFrame. h"

#include "AngstremDoc. h"

#include "AngstremView. h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE [] = __FILE__;

#endif

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CAngstremApp

BEGIN_MESSAGE_MAP (CAngstremApp, CWinApp)

// {{AFX_MSG_MAP (CAngstremApp)

ON_COMMAND (ID_APP_ABOUT, OnAppAbout)

ON_COMMAND (ID_OBJECTS_PARTS_NEW, OnObjectsPartsNew)

ON_COMMAND (ID_OBJECTS_PARTS_OPEN, OnObjectsPartsOpen)

ON_COMMAND (ID_OBJECTS_PARTS_VIEWALL, OnObjectsPartsViewall)

ON_COMMAND (ID_OBJECTS_PARTS_DELETE, OnObjectsPartsDelete)

ON_COMMAND (ID_APP_FINDPART, OnAppFindpart)

// }}AFX_MSG_MAP

// Standard file based document commands

END_MESSAGE_MAP ()

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CAngstremApp construction

CAngstremApp:: CAngstremApp ()

{

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// The one and only CAngstremApp object

CAngstremApp theApp;

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CAngstremApp initialization

BOOL CAngstremApp:: InitInstance ()

{

// Standard initialization

// If you are not using these features and wish to reduce the size

// of your final executable, you should remove from the following

// the specific initialization routines you do not need.

#ifdef _AFXDLL

Enable3dControls (); // Call this when using MFC in a shared DLL

#else

Enable3dControlsStatic (); // Call this when linking to MFC statically

#endif

// Change the registry key under which our settings are stored.

// TODO: You should modify this string to be something appropriate

// such as the name of your company or organization.

SetRegistryKey (_T ("Local AppWizard-Generated Applications"));

LoadStdProfileSettings (); // Load standard INI file options (including MRU)

// Register the application's document templates. Document templates

// serve as the connection between documents, frame windows and views.

CMultiDocTemplate* pDocTemplate;

pDocTemplate = new CMultiDocTemplate (

IDR_ANGSTRTYPE,

RUNTIME_CLASS (CAngstremDoc),

RUNTIME_CLASS (CChildFrame), // custom MDI child frame

RUNTIME_CLASS (CAngstremView));

AddDocTemplate (pDocTemplate);

// create main MDI Frame window

CMainFrame* pMainFrame = new CMainFrame;

if (! pMainFrame->LoadFrame (IDR_MAINFRAME))

return FALSE;

m_pMainWnd = pMainFrame;

// Enable drag/drop open

m_pMainWnd->DragAcceptFiles ();

// Enable DDE Execute open

EnableShellOpen ();

RegisterShellFileTypes (TRUE);

// Parse command line for standard shell commands, DDE, file open

CCommandLineInfo cmdInfo;

ParseCommandLine (cmdInfo);

// Dispatch commands specified on the command line

if (! ProcessShellCommand (cmdInfo))

return FALSE;

// The main window has been initialized, so show and update it.

pMainFrame->ShowWindow (m_nCmdShow);

pMainFrame->UpdateWindow ();

return TRUE;

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CAboutDlg dialog used for App About

class CAboutDlg: public CDialog

{

public:

CAboutDlg ();

// Dialog Data

// {{AFX_DATA (CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

// }}AFX_DATA

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (CAboutDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// {{AFX_MSG (CAboutDlg)

// No message handlers

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

CAboutDlg:: CAboutDlg (): CDialog (CAboutDlg:: IDD)

{

// {{AFX_DATA_INIT (CAboutDlg)

// }}AFX_DATA_INIT

}

void CAboutDlg:: DoDataExchange (CDataExchange* pDX)

{

CDialog:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CAboutDlg)

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CAboutDlg, CDialog)

// {{AFX_MSG_MAP (CAboutDlg)

// No message handlers

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

// App command to run the dialog

void CAngstremApp:: OnAppAbout ()

{

CAboutDlg aboutDlg;

aboutDlg. DoModal ();

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CNewPartDlg dialog

class CNewPartDlg: public CDialog

{

// Construction

public:

CNewPartDlg (CWnd* pParent = NULL); // standard constructor

// Dialog Data

// {{AFX_DATA (CNewPartDlg)

enum { IDD = IDD_PARTNEW };

// NOTE: the ClassWizard will add data members here

// }}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (CNewPartDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CNewPartDlg)

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

CNewPartDlg:: CNewPartDlg (CWnd* pParent /*=NULL*/)

: CDialog (CNewPartDlg:: IDD, pParent)

{

// {{AFX_DATA_INIT (CNewPartDlg)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

void CNewPartDlg:: DoDataExchange (CDataExchange* pDX)

{

CDialog:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CNewPartDlg)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CNewPartDlg, CDialog)

// {{AFX_MSG_MAP (CNewPartDlg)

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

void CAngstremApp:: OnObjectsPartsNew ()

{

// TODO: Add your command handler code here

CNewPartDlg newPartDlg;

newPartDlg. DoModal ();

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// COpenPartDlg dialog

class COpenPartDlg: public CDialog

{

// Construction

public:

COpenPartDlg (CWnd* pParent = NULL); // standard constructor

// Dialog Data

// {{AFX_DATA (COpenPartDlg)

enum { IDD = IDD_PARTOPEN };

// NOTE: the ClassWizard will add data members here

// }}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (COpenPartDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (COpenPartDlg)

// NOTE: the ClassWizard will add member functions here

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

COpenPartDlg:: COpenPartDlg (CWnd* pParent /*=NULL*/)

: CDialog (COpenPartDlg:: IDD, pParent)

{

// {{AFX_DATA_INIT (COpenPartDlg)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

void COpenPartDlg:: DoDataExchange (CDataExchange* pDX)

{

CDialog:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (COpenPartDlg)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (COpenPartDlg, CDialog)

// {{AFX_MSG_MAP (COpenPartDlg)

// NOTE: the ClassWizard will add message map macros here

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

void CAngstremApp:: OnObjectsPartsOpen ()

{

// TODO: Add your command handler code here

COpenPartDlg openPartDlg;

openPartDlg. DoModal ();

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CViewAllPartsDlg dialog

class CViewAllPartsDlg: public CDialog

{

// Construction

public:

CViewAllPartsDlg (CWnd* pParent = NULL); // standard constructor

// Dialog Data

// {{AFX_DATA (CViewAllPartsDlg)

enum { IDD = IDD_PARTSVIEWALL };

// NOTE: the ClassWizard will add data members here

// }}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (CViewAllPartsDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CViewAllPartsDlg)

// NOTE: the ClassWizard will add member functions here

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

CViewAllPartsDlg:: CViewAllPartsDlg (CWnd* pParent /*=NULL*/)

: CDialog (CViewAllPartsDlg:: IDD, pParent)

{

// {{AFX_DATA_INIT (CViewAllPartsDlg)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

void CViewAllPartsDlg:: DoDataExchange (CDataExchange* pDX)

{

CDialog:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CViewAllPartsDlg)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CViewAllPartsDlg, CDialog)

// {{AFX_MSG_MAP (CViewAllPartsDlg)

// NOTE: the ClassWizard will add message map macros here

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

void CAngstremApp:: OnObjectsPartsViewall ()

{

// TODO: Add your command handler code here

CViewAllPartsDlg viewAllPartsDlg;

viewAllPartsDlg. DoModal ();

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CDeletePartDlg dialog

class CDeletePartDlg: public CDialog

{

// Construction

public:

CDeletePartDlg (CWnd* pParent = NULL); // standard constructor

// Dialog Data

// {{AFX_DATA (CDeletePartDlg)

enum { IDD = IDD_PARTDELETE };

// NOTE: the ClassWizard will add data members here

// }}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (CDeletePartDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CDeletePartDlg)

// NOTE: the ClassWizard will add member functions here

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

CDeletePartDlg:: CDeletePartDlg (CWnd* pParent /*=NULL*/)

: CDialog (CDeletePartDlg:: IDD, pParent)

{

// {{AFX_DATA_INIT (CDeletePartDlg)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

void CDeletePartDlg:: DoDataExchange (CDataExchange* pDX)

{

CDialog:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CDeletePartDlg)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CDeletePartDlg, CDialog)

// {{AFX_MSG_MAP (CDeletePartDlg)

// NOTE: the ClassWizard will add message map macros here

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

void CAngstremApp:: OnObjectsPartsDelete ()

{

// TODO: Add your command handler code here

CDeletePartDlg deletePartDlg;

deletePartDlg. DoModal ();

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CPartProcessingPage dialog

class CPartProcessingPage: public CPropertyPage

{

DECLARE_DYNCREATE (CPartProcessingPage)

// Construction

public:

CPartProcessingPage ();

~CPartProcessingPage ();

// Dialog Data

// {{AFX_DATA (CPartProcessingPage)

enum { IDD = IDD_PART_PROCESSING };

// NOTE - ClassWizard will add data members here.

// DO NOT EDIT what you see in these blocks of generated code!

// }}AFX_DATA

// Overrides

// ClassWizard generate virtual function overrides

// {{AFX_VIRTUAL (CPartProcessingPage)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CPartProcessingPage)

afx_msg void OnRefresh ();

afx_msg void OnStart ();

afx_msg void OnFinish ();

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

IMPLEMENT_DYNCREATE (CPartProcessingPage, CPropertyPage)

CPartProcessingPage:: CPartProcessingPage (): CPropertyPage (CPartProcessingPage:: IDD)

{

// {{AFX_DATA_INIT (CPartProcessingPage)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

CPartProcessingPage:: ~CPartProcessingPage ()

{

}

void CPartProcessingPage:: DoDataExchange (CDataExchange* pDX)

{

CPropertyPage:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CPartProcessingPage)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CPartProcessingPage, CPropertyPage)

// {{AFX_MSG_MAP (CPartProcessingPage)

ON_BN_CLICKED (IDREFRESH, OnRefresh)

ON_BN_CLICKED (IDC_START, OnStart)

ON_BN_CLICKED (IDC_FINISH, OnFinish)

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CPartProcessingsPage dialog

class CPartProcessingsPage: public CPropertyPage

{

DECLARE_DYNCREATE (CPartProcessingsPage)

// Construction

public:

CPartProcessingsPage ();

~CPartProcessingsPage ();

// Dialog Data

// {{AFX_DATA (CPartProcessingsPage)

enum { IDD = IDD_PART_PROCESSINGS };

// NOTE - ClassWizard will add data members here.

// DO NOT EDIT what you see in these blocks of generated code!

// }}AFX_DATA

// Overrides

// ClassWizard generate virtual function overrides

// {{AFX_VIRTUAL (CPartProcessingsPage)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CPartProcessingsPage)

// NOTE: the ClassWizard will add member functions here

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

IMPLEMENT_DYNCREATE (CPartProcessingsPage, CPropertyPage)

CPartProcessingsPage:: CPartProcessingsPage (): CPropertyPage (CPartProcessingsPage:: IDD)

{

// {{AFX_DATA_INIT (CPartProcessingsPage)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

CPartProcessingsPage:: ~CPartProcessingsPage ()

{

}

void CPartProcessingsPage:: DoDataExchange (CDataExchange* pDX)

{

CPropertyPage:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CPartProcessingsPage)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CPartProcessingsPage, CPropertyPage)

// {{AFX_MSG_MAP (CPartProcessingsPage)

// NOTE: the ClassWizard will add message map macros here

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CPartRoutePage dialog

class CPartRoutePage: public CPropertyPage

{

DECLARE_DYNCREATE (CPartRoutePage)

// Construction

public:

CPartRoutePage ();

~CPartRoutePage ();

// Dialog Data

// {{AFX_DATA (CPartRoutePage)

enum { IDD = IDD_PART_ROUTE };

// NOTE - ClassWizard will add data members here.

// DO NOT EDIT what you see in these blocks of generated code!

// }}AFX_DATA

// Overrides

// ClassWizard generate virtual function overrides

// {{AFX_VIRTUAL (CPartRoutePage)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CPartRoutePage)

// NOTE: the ClassWizard will add member functions here

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

IMPLEMENT_DYNCREATE (CPartRoutePage, CPropertyPage)

CPartRoutePage:: CPartRoutePage (): CPropertyPage (CPartRoutePage:: IDD)

{

// {{AFX_DATA_INIT (CPartRoutePage)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

CPartRoutePage:: ~CPartRoutePage ()

{

}

void CPartRoutePage:: DoDataExchange (CDataExchange* pDX)

{

CPropertyPage:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CPartRoutePage)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CPartRoutePage, CPropertyPage)

// {{AFX_MSG_MAP (CPartRoutePage)

// NOTE: the ClassWizard will add message map macros here

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

// CFindPartDlg dialog

class CFindPartDlg: public CDialog

{

// Construction

public:

CFindPartDlg (CWnd* pParent = NULL); // standard constructor

// Dialog Data

// {{AFX_DATA (CFindPartDlg)

enum { IDD = IDD_FINDPART };

// NOTE: the ClassWizard will add data members here

// }}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

// {{AFX_VIRTUAL (CFindPartDlg)

protected:

virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support

// }}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

// {{AFX_MSG (CFindPartDlg)

virtual void OnOK ();

// }}AFX_MSG

DECLARE_MESSAGE_MAP ()

};

CFindPartDlg:: CFindPartDlg (CWnd* pParent /*=NULL*/)

: CDialog (CFindPartDlg:: IDD, pParent)

{

// {{AFX_DATA_INIT (CFindPartDlg)

// NOTE: the ClassWizard will add member initialization here

// }}AFX_DATA_INIT

}

void CFindPartDlg:: DoDataExchange (CDataExchange* pDX)

{

CDialog:: DoDataExchange (pDX);

// {{AFX_DATA_MAP (CFindPartDlg)

// NOTE: the ClassWizard will add DDX and DDV calls here

// }}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP (CFindPartDlg, CDialog)

// {{AFX_MSG_MAP (CFindPartDlg)

// }}AFX_MSG_MAP

END_MESSAGE_MAP ()

void CFindPartDlg:: OnOK ()

{

// TODO: Add extra validation here

// считывание номера партии и изделия в

// видимые для PartSheet переменные

CDialog:: OnOK ();

}

void CAngstremApp:: OnAppFindpart ()

{

// TODO: Add your command handler code here

INT partNumber;

INT productNumber;

CFindPartDlg findPartDlg;

if (findPartDlg. DoModal () == IDOK)

{

// Создание объекта блока диалога с вкладками

CPropertySheet partSheet ("Part");

// Создание объекта для каждой вкладки

CPartProcessingPage partProcessingPage;

CPartProcessingsPage partProcessingsPage;

CPartRoutePage partRoutePage;

// Добавление вкладок в блок диалога

partSheet. AddPage (&partProcessingPage);

partSheet. AddPage (&partProcessingsPage);

partSheet. AddPage (&partRoutePage);

partSheet. DoModal ();

}

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /


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

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