Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бодунов диплом бакалвр.docx
Скачиваний:
38
Добавлен:
08.06.2015
Размер:
601.33 Кб
Скачать

5 Описание блоков модели в программной среде “Concept”

5.1 Генератор тактовых импульсов

Блок GEN(Рис. 5.1). Данный блок реализует генератор тактовых импульсов, который вырабатывает импульсы для работы. ВходSданного блока служит для запуска генератора, входRпредназначен для остановки генератора, сигналы с выхода С поступают на вход С Коммутатора элементов кода и на УПД.

Рис. 5.1 - Обозначение блока генератора тактовых импульсов на языке FBD

Программа имеет вид:

VAR

TIMER: TON;

END_VAR

TIMER(IN:=NOT p, PT:=t#1s);

IF sd THEN

p:=TIMER.Q;

IF R THEN

C:=FALSE;

p:=FALSE;

sd:=FALSE;

ELSIF p THEN

p_1:=NOT C;

C:=p_1;

END_IF;

ELSE

sd:=S;

p:=TRUE;

END_IF;

5.2 Коммутатор элементов кода

Блок КЕ (Рис. 5.2). Данный блок реализует функции коммутатора элементов кода. Это устройство с двумя входами и многими выходами: на вход С подаются тактовые импульсы и в зависимости от числа пришедших импульсов логическая единица подается на один из выходов. При подаче на R-вход сигнала происходит сброс текущего состояния коммутатора элементов. Out0 – соединен с УПД, на коммутатором каналов и ФСС. Out1-out8 соединены с устройством 2И. Out9 – соединен с УПД. Количество выходоа равно 8+1+1, где 8 – разрядность первичного кода, 1 выход – сброс ФСС, и 1 выход – подача сигнала окончания цикла передачи на УПД.

Рис. 5.2 - Обозначение блока коммутатора элементов кода на языке FBD

Программа имеет вид:

IF R THEN

a:=11;

out1:=FALSE; out2:=FALSE; out3:=FALSE; out4:=FALSE; out5:=FALSE; out6:=FALSE; out7:=FALSE; out8:=FALSE; out9:=FALSE; out0:=FALSE;

ELSIF C AND C_1=FALSE THEN

C_1:=TRUE;

out1:=FALSE; out2:=FALSE; out3:=FALSE; out4:=FALSE; out5:=FALSE; out6:=FALSE; out7:=FALSE; out8:=FALSE; out9:=FALSE; out0:=FALSE;

a:=a+1;

CASE a OF 0: out0:=TRUE;

1: out0:=TRUE;

2: out1:=TRUE;

3: out2:=TRUE;

4: out3:=TRUE;

5: out4:=TRUE;

6: out5:=TRUE;

7: out6:=TRUE;

8: out7:=TRUE;

9: out8:=TRUE;

10: out9:=TRUE;

ELSE

a:=0;

out0:=TRUE;

END_CASE;

END_IF;

C_1:=C;

5.3 Логическая схема 2-и-8-или

Блок 2-И-8-ИЛИ (Рис. 5.3). Данный блок реализует логическую схему 2-И-8-ИЛИ, который осуществляет коммутацию выходов АЦП с линией связи в соответствии с данными на выходе коммутатора элементов.

Рис. 5.3 - Обозначение блока 2-И-8-ИЛИ на языке FBD

Входы in12-in82 соединены с коммутатором элементов кода, а входыin11-in81 соединены с АЦП. Выходout1 соединен с УПД и элементом «ИЛИ».

Программа имеет вид:

temp:=( (in11 AND in12)OR(in21 AND in22)OR(in31 AND in32)OR(in41 AND in42));

out1:=(temp OR(in51 AND in52)OR(in61 AND in62)OR(in71 AND in72)OR(in81 AND in82));

5.4 Аналого-цифровой преобразователь

Блок ACP(Рис. 5.4). Данный блок осуществляет аналогово-цифровое преобразование, переводя аналоговую величину на входе, в соответствующий ей цифровой код на выходе. ВходR– сброс. На Рис. 8 представлено писание вспомогательного блока АЦП на языкеFBD. ВходInсоединен с выходом блока аналоговые ключи, входRсоединен с коммутатором каналов, ФСС и УПД и отвечает за сброс блока. Выходы ОА1-ОА8 соединены с элементом 2И.

Рис. 5.4 - Обозначение блока АЦП на языке FBD

Рис. 5.5 - Программа работы вспомогательного блока АЦП на языке FBD

Программа имеет вид:

IF R=FALSE THEN

PA1:=pa;

FOR K:=1 TO 8 DO

N:=FALSE;

IF PA1>1 THEN

IF (PA1 MOD 2)<>0 THEN

N:=TRUE;

END_IF;

PA1:=(PA1-PA1 MOD 2)/2;

ELSIF PA1=1 THEN PA1:=0;

N:=TRUE;

END_IF;

CASE K OF

1:OA8:=N;

2:OA7:=N;

3:OA6:=N;

4:OA5:=N;

5:OA4:=N;

6:OA3:=N;

7:OA2:=N;

8:OA1:=N;

END_CASE;

END_FOR;

ELSE

N:=FALSE;

FOR K:=1 TO 8 DO

CASE K OF

1:OA8:=N;

2:OA7:=N;

3:OA6:=N;

4:OA5:=N;

5:OA4:=N;

6:OA3:=N;

7:OA2:=N;

8:OA1:=N;

END_CASE;

END_FOR;

END_IF;