Мегаобучалка Главная | О нас | Обратная связь


ЛАБОРАТОРНАЯ РАБОТА №9.



2019-05-24 312 Обсуждений (0)
ЛАБОРАТОРНАЯ РАБОТА №9. 0.00 из 5.00 0 оценок




Тема:Разработка экспертной системы.

Цель:создать прототип экспертной системы.

Теоретические сведения:

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

Пример выполнения работы:

Для разработки ЭС использовалась среда программирования – Delphi 7.

Предметная область данной ЭС, является нахождение характерных неисправностей и метода их решения, прибора Диск-250 ДД.

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

Данная ЭС предназначена для использования слесарями КИП, для быстрого обнаружения неисправности и ее устранения.

Саму ЭС можно представить в виде таблицы 1.

Таблица 1 – ЭС неисправностей

Неисправность Возможная причина Способ обнаружения и устранения

При включении прибор не работает

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

Электродвигатель не вращается

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

Указатель прибора двигается замедлено

 

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

 

Код программы :

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, ComCtrls, Menus;

type

TForm1 = class(TForm)

RadioGroup1: TRadioGroup;

GroupBox1: TGroupBox;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

TabSheet7: TTabSheet;

TabSheet8: TTabSheet;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

GroupBox2: TGroupBox;

Memo1: TMemo;

RadioButton5: TRadioButton;

RadioButton6: TRadioButton;

RadioButton7: TRadioButton;

RadioButton9: TRadioButton;

RadioButton10: TRadioButton;

RadioButton11: TRadioButton;

RadioButton13: TRadioButton;

RadioButton15: TRadioButton;

RadioButton16: TRadioButton;

RadioButton19: TRadioButton;

MainMenu1: TMainMenu;

N1: TMenuItem;

  N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

procedure RadioGroup1Click(Sender: TObject);

procedure RadioButton1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

  procedure RadioButton5Click(Sender: TObject);

procedure RadioButton6Click(Sender: TObject);

procedure RadioButton10Click(Sender: TObject);

procedure RadioButton9Click(Sender: TObject);

procedure RadioButton11Click(Sender: TObject);

procedure RadioButton13Click(Sender: TObject);

procedure RadioButton16Click(Sender: TObject);

procedure RadioButton15Click(Sender: TObject);

procedure RadioButton7Click(Sender: TObject);

procedure RadioButton19Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure PageControl1Change(Sender: TObject);

private

{ Private declarations }

public

  { Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.RadioGroup1.ItemIndex := 0;

Form1.PageControl1.ActivePageIndex := 0;

end;

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

Form1.PageControl1.ActivePageIndex := Form1.RadioGroup1.ItemIndex

end;

procedure TForm1.PageControl1Change(Sender: TObject);

begin

Form1.RadioGroup1.ItemIndex := Form1.PageControl1.ActivePageIndex;

Form1.Memo1.Clear;

Form1.RadioButton1.Checked := False;

Form1.RadioButton2.Checked := False;

Form1.RadioButton3.Checked := False;

Form1.RadioButton5.Checked := False;

Form1.RadioButton6.Checked := False;

Form1.RadioButton9.Checked := False;

Form1.RadioButton10.Checked := False;

Form1.RadioButton11.Checked := False;

Form1.RadioButton13.Checked := False;

Form1.RadioButton15.Checked := False;

Form1.RadioButton16.Checked := False;

Form1.RadioButton7.Checked := False;

Form1.RadioButton19.Checked := False;

end;

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\A1.txt');

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\A2.txt');

end;

procedure TForm1.RadioButton3Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\A3.txt');

end;

procedure TForm1.RadioButton5Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\B1.txt');

end;

procedure TForm1.RadioButton6Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\C1.txt');

end;

procedure TForm1.RadioButton10Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\D1.txt');

end;

procedure TForm1.RadioButton9Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\D2.txt');

end;

procedure TForm1.RadioButton11Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\D3.txt');

end;

procedure TForm1.RadioButton13Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\E1.txt');

end;

procedure TForm1.RadioButton16Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\G1.txt');

end;

procedure TForm1.RadioButton15Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\G2.txt');

end;

procedure TForm1.RadioButton7Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\K1.txt');

end;

procedure TForm1.RadioButton19Click(Sender: TObject);

begin

Form1.Memo1.Lines.LoadFromFile('Bases\L1.txt');

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Application.MessageBox('Данная ЭС предназначена для облегчения

                                                    поиска неисправностей'+#13+

                    'и обслуживания прибора Диск-250 ДД.'+#13+

                    'Программа разделена на три части:'+#13+

                    'Неисправности, Возможная причина и Способ обнаружения

                                                             и устранения.'+#13+

                    'В первой части выберите интересующую неисправность,'+#13+

                    'программа предложит ряд возможных её причин,'+#13+

                    'выберите нужную, ниже будет выводится способ устранения.',

                    'Справка по использованию', MB_OK+MB_ICONQUESTION);

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Application.MessageBox('Лабораторная работа по дисциплине:'+#13+

                    'Cистемы искусственного интеллекта.'+#13+

                    'Выполнил студент группы ______'+#13+

                    'Иванов И.И.', 'О программе...', MB_OK+MB_ICONINFORMATION);

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form1.Close;

end;

end.

 


Вид программы:

На рисунке 1 представлено окно программы. Программа состоит из трех частей: «Неисправности», «Причина» и «Способ обнаружения и устранения». Для начала работы нужно выбрать интересующую неисправность прибора, далее программа выберет из второй части, список возможных причин, из этого списка выбираем нужную причину, в результате в третей части появится текст описания обнаружения и устранения данной неисправности.   

 

 

                                                         

 

 

Рисунок 1 – Окно программы

 

Вывод: В ходе поделанной работы разработал экспертную систему поиска неисправностей и их устранений прибора Диск-250 ДД. Данная программа может служить хорошим дополнением к АРМ для слесарей КИП или может быть использована для изучения неисправностей данного прибора.  

Задания к лабораторной работе:

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

2. На примере таблицы 1 составить ЭС неисправностей.

3. Реализовать на ЯП (С/С++) средствами любой среды программирования прототип ЭС (с применением семантической или фреймовой модели знаний). Решение выбора модели представления знаний обосновать.

4. Сделать вывод к лабораторной работе.

 

Лабораторная работа 10

Тема: применение анализа иерархий для решения задач выбора оптимальной альтернативы

Цель работы:изучить этапы реализации метода анализа иерархий (МАИ), правила построения простых иерархических структур, применить метод анализа иерархий для решения задач выбора оптимальной альтернативы.



2019-05-24 312 Обсуждений (0)
ЛАБОРАТОРНАЯ РАБОТА №9. 0.00 из 5.00 0 оценок









Обсуждение в статье: ЛАБОРАТОРНАЯ РАБОТА №9.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (312)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)