11. Шаблон программы.
Для написания тестовых программ не обязательно писать всю программу с
нуля самому. В большинстве случаев можно воспользоваться шаблоном и,
проведя некоторые изменения, быстро и безболезненно создать тестовую
программу. Предыдущие главы содержат полное описание всех конструкций,
использованных в программе, поэтому ниже приведён только её текст, в
принципах её работы следует разобраться самостоятельно:
new // новая программа
////////////////////////////////////////////////////////////////
string Dev="Vector" // наименование блока
string SubDev="Demo board" // наименование платы (субблока)
string Date="30.06.08" // дата разработки программы
string Name="Viktor" // разработчик программы
////////////////////////////////////////////////////////////////
init enall //инициализация стенда
{}=la dprb //режим логического анализатора, разрешить работу пробника
exe "base.crt" //переименовать каналы в соответствии с наклейкой
{^}=nf,x start(2) sound(2000,100) cls(177) //все каналы как входы
//
@fr=2000000 //частота выдачи тестовых воздействий (Гц)
@start=1024*8 //число тактов последовательности
{^} = db>"Start" //имя файла базы данных (Start -потом изменить)
@dbp=5 // число проходов теста для анализа результатов
//==============================================================
def Terrors=0,Tst //вспомогательные переменные для программы
string ChList,Stmp1,Stmp2,Signat //вспомогательные переменные для программы
string rn="\r\n" //вспомогательные переменные для программы
//==============================================================
type (10,15)
color (15,1 )
window (1,2,79,8)
" Блок: " Dev rn
" Плата: " SubDev rn
" Дата: " Date rn
" Разработчик: " Name rn
color(10)
" Нажмите любую клавишу
..." pause
"\r
"
close
//==============================================================
type (10,15)
color (15,3)
window (20,10,79,22)
frame (0b01110000)
// название тестов (Test #1) - потом уточнить
// название тестов (Test #2) - потом уточнить
case " ~ Test #1 ~\r\n" test1 continue
case " ~ Test #2 ~\r\n" test2 continue
// case " ~ Test #3 ~\r\n" test3 continue
// case " ~ Test #4 ~\r\n" test4 continue
// case " ~ Test #5 ~\r\n" test5 continue
case " ~
Exit
~ " errors break
endf
close
exit
//==============================================================
// Вспомогательные подпрограммы
errors:
type (10,15)
if Terrors==0
color(15,2) window (30,8,63,10)
sound(1000,300) sound(3000,200)
endif
if Terrors!=0
color(15,4) window (30,8,63,10)
sound(3000,200) sound(1000,300)
endif
" Общее число ошибок: " Terrors " "
pause
close
return
//============================= Фрагмент программа для теста 1 ===============
test1: window(2,3,70,5)
// название теста (нужно уточнить при необходимости
"Выполняется тест #1 "
close
screen(2,5,70,19)
//**************************************************************
{03b,04b,05b}=nf,ct // Для примера //...
// {03b,04b,05b,prb}=lp // Для примера //...
ChList="03b,04b,05b" // Для примера // максимум 16 входов-выходов
Signat="cmpeic" // Для примера
//**************************************************************
Control close return
//=====================Конец фрагмента программы для теста #1 =======
//============================= Фрагмент программа для теста 1 ======
test2: window(2,3,70,5)
"Выполняется тест #2 "
close
screen(2,5,70,19)
//**************************************************************
// {03b,04b,05b}=nf,ct // Для примера //...
// ChList="03b,04b,05b" // Для примера // максимум 16 входов-выходов
// Signat="cmpeic" // Для примера
//**************************************************************
Control close return
//========================== Конец фрагмента программы для теста #2 ========
// test3:
// test4:
// test5:
// Вспомогательные подпрограммы
Control:
ifs ChList=="" return
//
Stmp1= "{"+ChList+"}="+Signat #Stmp1
if @dberror!=0
Stmp2= "{"+ChList+",prb}=lp"
@dberror=0 Terrors=Terrors+1
#Stmp2
endif
return