2.7. Разработка тест-программы для диагностирования заданного субблока (модуля) устройства ЧПУ

Надежность УЧПУ в значительной мере зависит от системы диагностирования, а также от системы контроля и исправления ошибок в памяти.

Входной контроль УЧПУ выполняется с помощью специального теста проверки исправности функционирования системы. Этот тест, реализуемый программно-аппаратными средствами завода-изготовителя УЧПУ, предусматривает временную установку пла­ты контроля. Помимо входного контроля в процессе работы УЧПУ предусматривается выполнение тестов самодиагностирования двух видов: до начала рабочих режимов (резидентный тест); во время функционирования в фоновом режиме.

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

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

НЕ нашли? Не то? Что вы ищете?

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

Запишем тест-прграмму для программируемого контроллера PEAS.

Машинный код Язык Ассемблер

400 / 012702 M7: MOV # 1, R2

402 / 000001 MOV # R1

404 / 012701 M1: TST B @ # 160776

406 / 161001 BPL M1

410 / 105737 MOV # R5

412 / 160776 M4: MOV (R5) + , R3

414 / 100375 MOV (R5) + , R4

416 / 012705 JSR R7 @ # M2

420 / 167700 JSR R7 @ # M3

422 / 012504 INC R2

424 / 004737 CMP # 11, R2

426 / 000510 BNE M4

430 / 004738 MOV # 100, R0

432 / 000602 M5: MOV B # 40, (R1) +

434 / 000602 DEC R0

436 / 005202 BNE M5

440 / 022707 MOV # 11, R2

442 / 000011 TST @ # R7

444 / 001366 JSR R6, @ M5

446 / 012700 M2: MOV # 100, R0

450 / 000100 TST @ # R0

452 / 112721 MOV # 40

454 / 000040 TST @ # 112721

456 / 0007 3 BLR M2

460 / 0127 0 MOV # 10, R1

462 / 000010 TST @ R1

464 / 112721 MOV # 104, 112721

466 / 000104 TST @ R1

470 / 062702 ADD # 60, R2

472 / 000060 TST @ R2

474 / 110802 BRL M1

476 / 110221 MOV # R2, (R1) +

480 / 112721 JMP R1 @

482 / 112722 MOV @ 40, 112721

484 / 000040 TST @ R1, 112721

486 / 042702 JMP R2

490 / 000060 CLR 60, R2

492 / 000000 TST R2, @

494 / 010206 MOV # R2, (R6) +

496 / 010506 MOV # R5, (R6) +

500 / 005002 CLR R2

502 / 012705 MOV # 4, R5

504 / 000004 TST @ R5

506 / 052702 JMP R2 @

510 / 052705 JMP R5 @

512 / 005300 CMP # R2, R5

514 / 00000 RESET @

MOV # 1, R2 - Пересылка непосредственным методом адресации через СК (счётчик команд) 1 в регистр R2.

TST @ # 160776 – Проверка содержимого ячейки 160776.

BPL M1 - Ветвление, переход на метку М1, при условии, если имеется знак “+”.

MOV (R5) + , R3 – Пересылка автоинкрементным методом адресации через РОН содержимого регистра R5 в регистр R3.

MOV (R5) + , R4 – Пересылка автоинкрементным методом адресации через РОН содержимого регистра R5 в регистр R4.

JSR R7 @ # M2 – Перейти к подпрограмме по метке М2.

INC R2 – Прибавление 1 к содержимому регистра R2.

CMP # 11, R2 – Сравнение содержимого ячейки R2 с числом 11.

BNE M4 – Переход к М4, если результат ≠ 0.

MOV # 100, R0 - Пересылка непосредственным методом адресации через СК (счётчик команд) 100 в регистр R0.

DEC R0 – Из содержимого регистра R0 вычитается 1.

BNE M5 – Переход к М5, если результат ≠ 0.

MOV # 11, R2 - Пересылка непосредственным методом адресации через СК (счётчик команд) 11 в регистр R2.

TST @ # R7 – Проверка абсолютным методом через СК содержимого регистра R7.

BPL M7 –Ветвление, безусловный переход по метке М7.

SUB # 1, R2 – Из содержимого регистра R2 вычитается 1.

JSR R6, @ M5 – Перейти к подпрограмме по метке М5.

CLR R2 – Очистка содержимого регистра R2.

TST @ R1 – Проверка косвенно-регистровым методом через РОН содержимого регистра R1.

CMP # R2, R5 – Сравнение непосредственным методом через СК содержимого регистра R2 с содержимым регистра R5.

RESET @ - Сброс.