Смекни!
smekni.com

Экспертные системы на базе VP-Expert (стр. 3 из 3)

Исходный текст модуля :

RUNTIME;

EXECUTE;

BKCOLOR = 0;

ACTIONS

cls color = 9

display

"Вас приветствует система поиска неисправностей!

выбирайте симптомы- получайте способ устранения

(нажмите любую клавишу для продолжения.) "

cls

FIND bug_method

display "метод устранения неисправности {#bug_method}.";

ask prich1: "Неисправность

1-нет топлива в карбюраторе

2-нет импульсов высокого напряжения

3-нет импульсов тока на катушке зажигания

4-нет высокого напряжения на свечах

5-неправиьно подсоединены высоковольтные провода

6-неправильный зазор в свечах

7-трещина на изоляторе свечей

8-неправильный момент зажигания

9-неисправен эл.маг. клапан

10-не открывается воздушная заслонка "

;

!----------------------------------------------------------------

ask prich1_1: "Неисправность

1-засорены топливопроводы

2-засорены фильтры

3-несправен топливный насос"

;

RULE 6

IF prich=1 and

prich1=1 and

prich1_1=1

THEN

bug_method=1

display "прочистить топливопровод~"

;

RULE 7

IF prich=1 and

prich1=1 and

prich1_1=2

THEN

bug_method=2

display "прочистить или заменить фмльтры~"

;

RULE 8

IF prich=1 and

prich1=1 and

prich1_1=3

THEN

bug_method=3

display "починить насос~"

;

!----------------------------------------------------------------

ask prich1_2: "Неисправность

1-обрыв проводов коммутатора

2-несправен бесконтактный датчик"

;

RULE 10

IF prich=1 and

prich1=2 and

prich1_2=1

THEN

bug_method=4

display "проверить провода коммутатора~"

;

RULE 11

IF prich=1 and

prich1=2 and

prich1_2=2

THEN

bug_method=5

display "починить датчик~"

;

!----------------------------------------------------------------

ask prich1_3: "Неисправность

1-обрыв проводов катушки зажигания

2-неисправен коммутатор

3-не замыкаются контакты выключателя зажигания"

;

RULE 13

IF prich=1 and

prich1=3 and

prich1_3=1

THEN

bug_method=6

display "проверить провода~"

;

RULE 14

IF prich=1 and

prich1=3 and

prich1_3=2

THEN

bug_method=7

display "починить коммутатор~"

;

RULE 15

IF prich=1 and

prich1=3 and

prich1_3=3

THEN

bug_method=8

display "починить контакты~"

;

!----------------------------------------------------------------

ask prich1_4: "Неисправность

1-повреждение изоляции проводов выс.напр.

2-износ контактного уголька

3-повреждение крышки распределителя

4-повреждение ротора

5-отказ резистора

6-повреждена катушка зажигания "

;

RULE 17

IF prich=1 and

prich1=4 and

prich1_4=1

THEN

bug_method=8

display "проверить провода~"

;

RULE 18

IF prich=1 and

prich1=4 and

prich1_4=2

THEN

bug_method=9

display "осмотреть крышку распределителя, прочистить уголек~"

;

RULE 19

IF prich=1 and

prich1=4 and

prich1_3=3

THEN

bug_method=10

display "заменить крышку распределителя~"

;

RULE 20

IF prich=1 and

prich1=4 and

prich1_3=4

THEN

bug_method=11

display "заменить ротор распределителя~"

;

RULE 21

IF prich=1 and

prich1=4 and

prich1_3=5

THEN

bug_method=12

display "заменить резистор~"

;

RULE 22

IF prich=1 and

prich1=4 and

prich1_3=6

THEN

bug_method=13

display "заменить катушку зажигания~"

;

!----------------------------------------------------------------

RULE 23

IF prich=1 and

prich1=5

THEN

bug_method=14

display "проверьте правильность присоеденения проводов~"

;

!----------------------------------------------------------------

RULE 24

IF prich=1 and

prich1=6

THEN

bug_method=15

display "очистите свечи и отрегулируйте зазор между электродами~"

;

!----------------------------------------------------------------

RULE 25

IF prich=1 and

prich1=7

THEN

bug_method=16

display "заменить свечи~"

;

!----------------------------------------------------------------

RULE 26

IF prich=1 and

prich1=8

THEN

bug_method=17

display "отрегулируйте момент зажигания~"

;

!----------------------------------------------------------------

ask prich1_9: "Неисправность

1-обрыв проводов блока управления клапаном

2-неисправен блок управления клапаном

3-неисправен клапан"

;

RULE 28

IF prich=1 and

prich1=9 and

prich1_9=1

THEN

bug_method=18

display "восстановите соединение~"

;

RULE 29

IF prich=1 and

prich1=9 and

prich1_9=2

THEN

bug_method=19

display "починить блок управления клапаном~"

;

RULE 30

IF prich=1 and

prich1=9 and

prich1_9=3

THEN

bug_method=20

display "заменить клапан~"

;

!----------------------------------------------------------------

RULE 31

IF prich=1 and

prich1=10

THEN

bug_method=21

display "отрегулируйте заслонку~"

;

ask prich2: "Неисправность

1-не отрегулирован холостой ход

2-несправен карбюратор

3-ранее зажигание

4-поврежден шланг вакумного усилителя тормозов

5-повреждена прокладка во впускном коллекторе

6-повреждены трубки отбора разряжения"

;

RULE 33

IF prich=2 and

prich2=1

THEN

bug_method=22

display "отрегулируйте холостой ход~"

;

!----------------------------------------------------------------

ask prich2_2: "Неисправность

1-засорены жиклеры или каналы карбюратора

2-вода в карбюраторе

3-нарушена герметичность диафрагмы"

;

!----------------------------------------------------------------

RULE 35

IF prich=2 and

prich2=2 and

prich2_2=1

THEN

bug_method=23

display "продуть жиклеры и каналы~"

;

RULE 36

IF prich=2 and

prich2=2 and

prich2_2=2

THEN

bug_method=24

display "удалить воду~"

;

RULE 37

IF prich=2 and

prich2=2 and

prich2_2=3

THEN

bug_method=25

display "заменить диафрагму~"

;

!----------------------------------------------------------------

RULE 38

IF prich=2 and

prich2=3

THEN

bug_method=26

display "отрегулируйте момент зажигания~"

;

!----------------------------------------------------------------

RULE 39

IF prich=2 and

prich2=4

THEN

bug_method=27

display "замените поврежденный шланг~"

;

!----------------------------------------------------------------

RULE 40

IF prich=2 and

prich2=5

THEN

bug_method=28

display "восстановите прокладку~"

;

!----------------------------------------------------------------

RULE 41

IF prich=2 and

prich2=6

THEN

bug_method=29

display "восстановите трубки~"

;

RULE 42

IF prich=3

THEN

bug_method=30

display "заменить пружины в распределителе~"

;

ask prich4: "Неисправность

1-повреждены провода в системе зажигания

2-поврежен контактный уголек

3-подгорел центральный контакт

4-прогар ротора или крышки

5-износ электродов или замасливание свечей

6-неисправен коммутатор

7-повреждение помехоподавительного наконечника "

;

!----------------------------------------------------------------

RULE 41

IF prich=4 and

prich4=1

THEN

bug_method=31

display "замените поврежденные провода~"

;

!----------------------------------------------------------------

RULE 42

IF prich=4 and

prich4=2

THEN

bug_method=32

display "замените контактный уголек~"

;

!----------------------------------------------------------------

RULE 43

IF prich=4 and

prich4=3

THEN

bug_method=33

display "зачистите центральный контакт~"

;

!----------------------------------------------------------------

RULE 44

IF prich=4 and

prich4=4

THEN

bug_method=34

display "замените ротор или крышку~"

;

!----------------------------------------------------------------

RULE 45

IF prich=4 and

prich4=5

THEN

bug_method=35

display "замените неисправные свечи~"

;

!----------------------------------------------------------------

RULE 46

IF prich=4 and

prich4=6

THEN

bug_method=31

display "почините коммутатор~"

;

!----------------------------------------------------------------

RULE 47

IF prich=4 and

prich4=7

THEN

bug_method=31

display "замените наконечник~"

;

ASK prich:"Двигатель

1-не запускается

2-неустойчиво работает на холостом ходу

3-неустойчиво работает при больших оборотах

4-перебои во всех режимах";

CHOICES prich:1,2,3,4;

CHOICES prich1:1,2,3,4,5,6,7,8,9,10;

CHOICES prich2:1,2,3,4,5,6;

CHOICES prich3:1,2,3;

CHOICES prich4:1,2,3,4,5,6,7;

CHOICES prich1_1:1,2,3;

CHOICES prich1_2:1,2;

CHOICES prich1_3:1,2,3;

CHOICES prich1_4:1,2,3,4,5,6;

CHOICES prich1_9:1,2,3;

CHOICES prich2_2:1,2,3;


8. Последовательность работы.

После запуска системы пользователь видит на экране приветствие:

Внимание! Приведены копии экранов при запуске системы из-под Windows95. При запуске под DOS программа работает в полноэкранном режиме.


После нажатия на любую клавишу экран очищается и пользователю предлагается выбрать внешний признак неисправности двигателя:

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