Технические данные. - Питание от сети 220В. Вес не более 5кг. Потребляемая мощность не более 150Вт. Тестируемые платы EAO,EAOM1,EAOM2,EAR,EAD. В тестере имеются следующие возможности: - Динамический контроль срабатывания и отключения реле; - Динамический контроль открывания оптопары; - Считывание с 16-контактной клипсы в виде логических уровней; - Считывание с 16-контактной клипсы в виде оцифрованного 10 разрядного числа; - Продавливание контактов клипсы; - 10-разрядное аналого-цифровое преобразование с контакта f25; - Имитация нагрузки шлейфа абонента; - Режим зацикливания на ошибке c визуальным наблюдением на экране монитора ; - Формирование пакета частот для проверки аналоговой части АК(абоненского комплекта); - Управление мультиплексорами звонкового реле и реле испытаний как уровнем сигнала так и в частотном режиме; Полугодичный опыт эксплуатации (цех ремонта обслуживающий МТ-20) показал что процент обнаружения неисправностей тестером ТПАК- примерно равен 90% , уменьшился расход электронных компонентов. Средне время поиска и устранения неисправности составляет 5-10 минут .Время написания теста составляет 1 день. Написание тестовых программ производится в среде Borland Paskal 7.0 и требует минимальных познаний в программировании на Paskal. Возможен запуск как скомпилированных программ (*.exe) так и из среды IDE BP7.0 c возможностью пошагового исполнения тестовой программы. Принцип действия заключается в передаче кодов команд, через параллельный порт (EPP) , в микроконтроллер (PIC 16F877(тактовая частота 20Мц)). Микроконтроллер управляет (принимает ,передает данные) схемой зашитой в ПЛИС (EPM 7128 SLC), обвязка ПЛИС состоит из буферных схем (двунаправленные, однонoаправленные) . Следующие ножки настроены на ввод (см рис 1) b30,c31,b08,c08,c07,b07,c11,c20,b20,b11,c12,b12,c21,b21,c13,b13,c25, c24,b24 ,b25; Следующие ножки настроены как двунаправленные b16,c16 (раздельно, b16 может выставить 1 или 0 с16 считать состояние контакта и наоборот ) (см рис 2) - b22,c22 ( в паре,) (см рис 3) - c19,c18 ( в паре) - b15,c15 ( в паре) Следующие ножки настроены на выход - c03,c05,b04,b03,c30,f02,f03, c04,c23,b23,b31,f07,f08,f10 (см рис 4) Процедуры и функции библиотеки TPST42 a : параметр передоваемый в процедуру или функцию (код команды по которой контроллер выполняет определенные действия),эти параметры определены в блоке констант TPST42.PAS ; procedure w(a : byte); В эту процедуру могут передаватся следующие параметры: r0,r1,r2,r3,r4,r5,r6,r7 выставляет адреса соответствующих абонентов на котактах f07,f08,f10; wb03 выставляет на контакте b03 логический 0; rb03 выставляет на контакте b03 логическую 1; wb04 выставляет на контакте b04 логический 0; rb04 выставляет на контакте b04 логическую 1; wc03 выставляет на контакте c03 логический 0; rc03 выставляет на контакте c03 логическую 1; wc05 выставляет на контакте c05 логический 0; rc05 выставляет на контакте c05 логическую 1; wc30 выставляет на контакте c30 логический 0; rc30 выставляет на контакте c30 логическую 1; wc16 выставляет на контакте c16 логический 0; rc16 выставляет на контакте c16 логическую 1; wb16 выставляет на контакте b16 логический 0; rb16 выставляет на контакте b16 логическую 1; wb22 выставляет на контакте b22 логический 0; rb22 выставляет на контакте b22 логическую 1; wc22 выставляет на контакте c22 логический 0; rc22 выставляет на контакте c22 логическую 1; wc19 выставляет на контактах c18,c19 логический 0; rc19 выставляет на контактах c18,c19 логическую 1; wb15 выставляет на контактах b15,с15 логический 0; rb15 выставляет на контактах b15,c15 логическую 1; wc04 выставляет на контакте c04 логический 0; rc04 выставляет на контакте c04 логическую 1; wf02 выставляет на контакте f02 логический 0; rf02 выставляет на контакте f02 логическую 1; wf03 выставляет на контакте f03 логический 0; rf03 выставляет на контакте f03 логическую 1; wb31 выставляет на контакте b31 логический 0; rb31 выставляет на контакте b31 логическую 1; r_pin3 выставляет на контакте 3 клипсы логический 0; wb23 выставляет на контакте b23 логический 0; rb23 выставляет на контакте b23 логическую 1; rgn5 подключает нагрузку к шлейфу абонента(имитация снятия трубки ТА) wgn5 отключает нагрузку от шлейфа абонента wgn2 подключает пачку частот(4 2 1 0,5 0,25 0,1 Кгц) к контакту f19 rgn2 подключает пачку частот(4 2 1 0,5 0,25 0,1 Кгц) к шлейфу абонента rgn0 подключает к контактам а32 f01 60V отключает 5V wgn0 отключает 60V и подключает 5V или Z состояние в зависимости r5vc r5vb или w5vc w5vb; r5vc выставляет на контакте а32 логическую 1; w5vc переводит а32 в Z состояние r5vb выставляет на контакте f01 логическую 1; w5vb переводит f01 в Z состояние r_chast переводит входы разрешения мультиплексоров в частотный режим (контакты в04 в03 125 Кгц); w_chast переводит входы разрешения мультиплексоров в режим управления уровнем; raot формирует (коммутирует)цепь щлейфа абонента этот параметр следует передовать в процедуру перед rgn5 rgn2; waot разбирает цепь шлейфа абонента; procedure primer; begin repeat begin w(r0); w(r1); w(r2); w(r3); w(r4); w(r5); w(r6); w(r7); end; until keypressed; end; в этом примере на адресные входы мультиплексоров будут выстовлятся двоичные адреса абонентов; function rdc(a:byte):byte; считывает 1 или 0 на определенном контакте и передает результат в программу(определенный в переменной с); В эту процедуру могут передаватся следующие параметры: b30,c31,b08,c08,c07,b07,c11,c20,b20,b11,c12,b12,c21,b21,c13,b13,c25,c2 4,b24 b25,rdcc16,rdcb16,rdcb22,rdcc22,rdcc15,rdcb15,rdcc18,rdcc19 ножки клипсы: m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16 procedure primer; var d,s:byte; begin w(r0); w(rb04); rdelay(12); rdc(c08); d:=c; вкл реле испытаний задержка считываем контакт с08 rdc(b08); считываем контакт b08 s:=c; if (d=1) or (s=1) then begin writeln(‘залипли контакты реле испытаний’); go(1,2); постоянно считываются с08 в08 с отображением на экране монитора end; w(wb04); откл реле испытаний end; procedure ad; формирует 7 значений частоты(4 2 1 0,5 0,25 Кгц 125гц 60 гц ) оцифровывает 7 значений (соответственно) аналогового сигнала с контакта f25 и записывает данные в массив d_rez[i]; procedure primer; begin w(raot); rdelay(12); w(rgn0); rdelay(30); w(rgn2); ad; for i:= 0 to 6 do begin case i of 0: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; 1: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; 2: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; 3: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; 4: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; 5: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; 6: begin if d_rez[i] >20 then begin writeln(‘ERR’); go(9,9); end; end; end; end; end; function sr (a,z:byte):byte; z – задержка (в условных единицах) эта функция исходя из параметра а выполняет определенные действия выдерживает задержку , и передает результат в программу(определенный в переменной с); В эту процедуру могут передаватся следующие параметры: f_f подключает нагрузку к шлейфу абонента и после задержки считывает контакт в30 , передает результат в программу(определенный в переменной с); b04_bf дает разрешение на включение реле внутренних испытаний и через время z считывает контакт с16 и передает результат в программу(определенный в переменной с); b03_bf дает разрешение на включение реле звонка и через время z считывает контакт с16 и передает результат в программу(определенный в переменной с); b04_b дает разрешение на выключение реле внутренних испытаний и через время z считывает контакт с16 и передает результат в программу(определенный в переменной с); b03_b дает разрешение на выключение реле звонка и через время z считывает контакт с16 и передает результат в программу(определенный в переменной с); procedure rdelay(z:byte); эта процедура выполняет апаратную задержку (в микроконтроллере) одно значение 65 мкс; procedure r_delay(z:byte); эта процедура выполняет програмную задержку одно значение 1 мкс; procedure go(z_sk, z_r :byte); останавливает выполнение программы с возможностью выбора : - пробел : выход из подпрограммы(дальнейшее продолжение теста); - esc : выход из программы; - 1: зацикливание , параметр z_sk указывает на логический уровень который является ошибкой , параметр z_r указывает количество последних параметров которые передовались в function rdc(a:byte):byte (они переводятся в режим постоянного считывания), в TPST42.PAS до 2 ; если не требуется зациклить на ошибке тогда go(9,9) тест просто остановится на этой ошибке; procedure clips_ad(a:byte); эта процедура оцифровывает определенный контакт клипсы и записывает данные в массив d_rez[i]; В эту процедуру могут передаватся следующие параметры: cl1,cl2,cl3,cl4,cl5,cl6,cl7,cl8,cl9,cl10,cl11,cl12,cl13,cl14,cl15,cl16 соответственно контакты клипсы; procedure primer begin r5vb; r5vc; w(r0); выставлят адрес абонента 0 w(rgn0); вкл UWR_14 (подключает 60В) w(raot); вкл UWR_15 (коммутирует цепь шлейфа абонента) rdelay(12) задержка на включение реле w(rgn5); подключает нагрузку к шлейфу абонента rdc(b30); считывает контакт в30 и звписывает результат в переменную с if c=1 then begin writeln('ERR'); go(1,1); ошибка логическая 1 при нажатии клавиши 1 контакт в30 перейдет в режим постоянного считывания и отображения результата на экране end; w(wgn5); rdelay(40) sr(f_f,10); передаем в функцию sr параметр (f_f) и значение задержки 10 if c=1 then begin writeln('ERR'); go(9,9); end; w(wgn5); w(wgn0); w(waot); rdelay(12) end;