Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мксу экз задачи (рус).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.87 Mб
Скачать

11.Сложить три входных аналоговых сигнала, сравнить с четвертым и если сумма больше зажечь на выходе лампу. Составьте электрическую схему, таблицу символов и программу.

D1 – PIW272 – INT

D2 – PIW274 – INT

D3 – PIW 276 – INT

D4 – PIW278 – INT

XIZ1 – MD20 – REAL

XIZ2 - MD24- REAL

XIZ3 – MD28 – REAL

XIZ4 – MD32 – REAL

XF1 – MD36 – REAL

XF2 – MD40 – REAL

XF3 – MD44 – REAL

XF4 - MD48 – REAL

LAMPA-Q 0.0 – BOOL

FC1

IN: XIZ – REAL

XIZ_MAX-

XIZ_MIN-

XF_MAX-

XF_MIN-

OUT: XF- REAL

L # XIZ

L # XIZ_MIN

-R

T LD40

L # XF_MAX

L #XF_MIN

-R

T LD48

L LD48

L LD44

/R

T LD52

L LD40

L LD52

*R

T LD56

L LD56

L #XF_MIN

+R

T #XF

1)CALL “SCALE”

IN:=D1

HI_LIM:=10.0

LO_LIM:=0.0

BIPOLAR:=FALSE

RET_VAL:=MW10

OUT:=” XIZ1”

CALL FC1

XIZ:= XIZ1

XIZ_MAX:=10.0

XIZ_MIN:=0.0

XF_MAX:=200.0

XF_MIN:=0.0

XF:=XF1

2)CALL “SCALE”

IN:=D2

HI_LIM:=10.0

LO_LIM:=0.0

BIPOLAR:=FALSE

RET_VAL:=MW12

OUT:= XIZ2

CALL FC1

XIZ:= XIZ2

XIZ_MAX:=10.0

XIZ_MIN:=0.0

XF_MAX:=200.0

XF_MIN:=0.0

XF:=XF2

3) CALL “SCALE”

IN:=D3

HI_LIM:=10.0

LO_LIM:=0.0

BIPOLAR:=FALSE

RET_VAL:=MW14

OUT:= XIZ3

CALL FC1

XIZ:= XIZ3

XIZ_MAX:=10.0

XIZ_MIN:=0.0

XF_MAX:=200.0

XF_MIN:=0.0

XF:=XF3

4)CALL “SCALE”

IN:=D4

HI_LIM:=10.0

LO_LIM:=0.0

BIPOLAR:=FALSE

RET_VAL:=MW16

OUT:= XIZ4

CALL FC1

XIZ:= XIZ4

XIZ_MAX:=10.0

XIZ_MIN:=0.0

XF_MAX:=200.0

XF_MIN:=0.0

XF:=XF4

5)L XF1

L XF2

+R

T MD42

L MD42

L XF3

+R

T MD46

L MD46

L XF4

>R

S LAMPA

L MD46

L XF4

<R

R LAMPA

12.13.С помощью функционального блока реалзовать чтение и нормирование сигналов двух аналоговых датчиков температуры. Составьте электрическую схему, таблицу символов и программу.

D1-PIW272-INT

D2-PIW274-INT

XIZ1-MD20-REAL

XIZ2-MD24-REAL

XF1-MD28-REAL

XF2-MD32-REAL

FC1

IN: XIZ – REAL

XIZ_MAX- REAL

XIZ_MIN- REAL

XF_MAX- REAL

XF_MIN- REAL

OUT: XF- REAL

L # XIZ

L # XIZ_MIN

-R

T LD36

L # XIZ_MAX

L #XIZ_MIN

-R

T LD40

L # XF_MAX

L #XF_MIN

-R

T LD44

L LD44

L LD40

/R

T LD48

L LD36

L LD48

*R

T LD52

L LD52

L #XF_MIN

+R

T #XF

OB1

CALL ”SCALE”

IN:=D1

HI_LIM:=10.0

LO_LIM:=0.0

BIPOLAR:=FALSE

RET_VAL:=MW58

OUT:=XIZ2

CALL FC1

XIZ:=XIZ2

XIZ_MAX:=10.0

XIZ_MIN:=0.0

XF_MAX:=150.0

XF_MIN:=0.0

XF:=XF2

14.По кнопке организовать движение цилиндра от одного датчика до другого. Вести подсчет ходов цилинда и контролировать это количество в таблице переменных. Составьте электрическую схему, таблицу символов и программу.

D1 – I0.1 – BOOL

D2 – I0.2 – BOOL

C1 – C1 – COUNTER

C2 – C2 – COUNTER

Цилиндр – Q0.0 – BOOL

1) A PUSK

S Tsilindr

FR C1

L C#0

S C1

FR C2

L C#0

S C2

2) A PUSK

A D1

CU C1

3) A PUSK

A D2

CU C2

4)AN PUSK

R Tsilindr

R C1

R C2

15.Написать программу реализации следующей функции: А =B/D+R-Q*C/M. Если все входные данные читаются с периферийных аналоговых входов по адресам от 272 и далее. Составьте электрическую схему, таблицу символов и программу.

B – PIW272 – INT B – PIW272 – INT

D – PIW274 – INT

C – PIW276 – INT

M – PIW278 – INT

R – PIW280 – INT

Q – PIW282 – INT

A – PIW284 – INT

FC1

IN: VHOD – REAL

OUT: VIHOD – REAL

CALL SCALE

IN: = # VHOD

HI_LIM: = 10.0

LO_LIM: = 0.0

RET_VAL: = LW20

BIPOLAR: = FALSE

OUT: = # VIHOD

OB1

1)CALL FC1

VHOD: =B

VIHOD: =MD24

2) CALL FC1

VHOD: =D

VIHOD: =MD28

3) CALL FC1

VHOD: =R

VIHOD: =MD32

4) CALL FC1

VHOD: =Q

VIHOD: =MD36

5) CALL FC1

VHOD: =C

VIHOD: =MD40

6) CALL FC1

VHOD: =M

VIHOD: =MD44

7) L MD24

L MD28

/ R

T MD48

8) L MD48

L MD32

+ R

T MD52

9) L MD36

L MD40

* R

T MD56

10) L MD56

L MD44

/ R

T MD60

11) L MD52

L MD60

- R

T MD64

6.1) CALL FC1

VHOD: =A

VIHOD: =MD64

16.Пневматический цилиндр А зажимает деталь, цилиндр В наносит тиснение и приходит в исходное состояние, только когда цилиндр А опускает деталь. Составьте электрическую схему, таблицу символов и программу.

PUSK – I0.0 – BOOL

D1 – I0.1 – BOOL

Tsilindor A –q0.0-BOOL

Tsilindor B – 00.1-BOOL

A PUSK

S Tsilindor A

S Tsilindor B

A PUSK

A D1

R Tsilindor A

R Tsilindor B

AN PUSK

R Tsilindor A

R Tsilindor B

17.Организовать функцию R=(A+B)/D-C, где A,B,C,D, формальные параметры задаются из SCADA системы. Функция запускается внешним дискретным сигналом. Результат получить в виде вещественного числа. Составьте электрическую схему, таблицу символов и программу.

A – MD20- REAL

B – MD24 – REAL

C – MD28 – REAL

D – MD32 – REAL

R – MD36 – REAL

Pusk – I0.0 – BOOL

A Pusk

L A

L B

+ R

T MD40

L MD40

< D

/ R

T MD44

L MD44

L C

- R

T R

18.Организовать автоматическое движение и подсчет движений двух асинхронно работающих цилиндров А и В. Количество движений цилиндра выводить в таблицу переменных. Составьте электрическую схему, таблицу символов и программу.

Имя

Адрес

Тип

Описание

Пуск

I 0.0

BOOL

Кнопка Пуск

Стоп

I 0.1

BOOL

Кнопка Стоп

ДН

I 0.2

BOOL

Датчик нач-го пол А

ДК

I 0.3

BOOL

Датчик кон-го пол А

СА

Q 0.0

BOOL

Катушка упр А

СВ

Q 0.1

BOOL

Катушка упр В

Счетчик

C1

COUNTER

Счетчик

Программа

А ”Пуск”

А ”ДН”

S ”CA”

R ”CB”

А ”ДК”

S ”CВ”

R ”CА”

CU C1

А ”Стоп”

R ”СA”

R ”СВ”

LC C1

T MW20

19.Организовать чтение и нормирование сигналов трех датчиков положения, измеряющих значение в вольтах. Использовать функциональный блок. Составьте электрическую схему, таблицу символов и программу.

D1 – PIW272 – INT

D2 – PIW274

D3 – PIW276

XIZ1 – MD10 – REAL

XIZ2 – MD14

XIZ3 – MD18

XF1 – MD22

XF2 – MD26

XF3 – MD30

FC1

IN: XIZ1– REAL

XIZ2 – max

XIZ3 – min

XF1 – max

XF2 – min

OUT: XF3 –REAL

L #XIZ

L #XIZ_min

- R

T LD34

L #XIZ_max

L #XIZ_min

- R

T LD38

L XF_max

L XF_min

- R

T LD42

L LD38

L LD42

/ R

T LD46

L LD34

L LD46

* R

T LD50

L LD50

L #XF_min

+ R

T #XF

OB1:

CALL: ”SCALE”

IN: = D1

HI_LIM = 10.0

LO_LIM = 0.0

BIPOLAR: FALSE

RET_VAL: = MW54

OUT: = XIZ1

CALL FC1:

XIZ: = XIZ1

XIZ_max = 10.0

XIZ_min = 0.0

XF_max = 1.0

XF_min = 0.0

XF = XF1

CALL: ”SCALE”

IN: = D2

HI_LIM: = 10.0

LO_LIM: = 0.0

BIPOLAR: = FALSE

RET_VAL: = MW56

OUT: = XIZ2

CALL FC1

XIZ: = XIZ2

XIZ_max = 10.0

XIZ_min = 0.0

XF_max = 1.0

XF_min = 0.0

CALL: ”SCALE”

IN: = D3

HI_LIM: = 10.0

LO_LIM: = 0.0

BIPOLAR: = FALSE

RET_VAL: = MW60

OUT: = XIZ3

CALL FC1

XIZ: = XIZ3

XIZ_max = 10.0

XIZ_min = 0.0

XF_max = 1.0

XF_min = 0.0

XF: = XF3

20.С помощью функционального блока организовать подсчет количества срабатываний датчиков на пути движения конвейера подачи деталей. Количество датчиков 5. Отобразить количество срабатываний каждого датчика. Составьте электрическую схему, таблицу символов и программу.

D1 – I0.0 - BOOL

D2 – I0.1 - BOOL

D3 – I0.2 - BOOL

D4 – I0.3 - BOOL

D5 – I0.4 - BOOL

Pusk – I0.5

Конвейер - Q0.0

C1

C2

C3

C4

C5

FB1:

IN:

D1 – I0.0 - BOOL

D2 – I0.1 - BOOL

D3 – I0.2 - BOOL

D4 – I0.3 - BOOL

D5 – I0.4 - BOOL

OUT:

C1 – 2.0

C2 – 4.0

C3 – 6.0

C4 – 8.0

C5 – 10.0

A Pusk

A D1

FR #C1

L C#0

S #C1

A Pusk

A D2

FR #C2

L C#0

S #C2

A Pusk

A D3

FR #C3

L C#0

S #C3

A Pusk

A D4

FR #C4

L C#0

S #C4

A Pusk

A D5

FR #C5

L C#0

S #C5

AN Pusk

R #C1

R #C2

R #C3

R #C4

R #C5

OB1:

A Pusk

= конвейер

CALL FB1,DB1

D1:= D1

D2:= D2

D3:= D3

D4:= D4

D5:= D5

C1:=C1

C2:=C2

C3:=C3

C4:=C4

C5:=C5

21.Если подключенные к порту А микроконтроллера дискретные датчики сработали одновременно, определить маскированием эту ситуацию и выведите в порт С сигнализацию. Составьте электрическую схему, таблицу символов и программу.

include <p16F877.inc>

R1 EQU h’20’

org 0x000

nop

nop

nop

org 05h

START;

CLRF STATUS;

BSF STATUS, RP0;

CLRF TRISC;

CLRF STATUS;

METKA:

CLRF PORTC;

MOVF PORTA

MOVWF R1

MOVLW B ’11111111’

XORWF R1,0;

BTFSS STATUS, Z;

GOTO METKA;

MOVWF PORTC

GOTO $;

END

22.К порту Д подключены 8 дискретных датчиков. Если сработали подключенные к четырем старшим разрядам датчики, определите маскированием эту ситуацию, и включите светодиод в нулевом канале порта С. Составьте электрическую схему, таблицу символов и программу.

include <PIC16F877.inc>

R1 EQU h’20’

nop

nop

nop

org 05h

START

CLRF STATUS; Выбор 0 банка RP1=0 и RP0=0

BSF STATUS, RP0; Выбор 1 банка сделает RP0=1, т.к. используемый далее TRISA находиться в 1 банке

MOVLW ‘11111111’; Устанавливаем 8 разрядов на ввод (1) записать в аккумулятор W

MOVWF TRISD; Устанавливаем порт D на ввод

CLRF TRISC; Устанавливаем порт С на вывод

CLRF STATUS; выбираем 0 банк

MOVLW ‘Датчики’; информация от датчиков

MOVWF ‘R1’; записываем в R1

MOVLW ‘11110000’; Маска

XORWF R1, 1; Исключающее ИЛИ, проверяем равенство маски и информации с датчиков

MOVLW ‘01000000’; Записываем число в W

BTFSC STATUS, Z; Проверка Z, если Z=0 пропускаем след. команду

MOVLW ‘10000000’; Записываем число в W

WOVWF PORTC; Выводим на порт С содержимое W

END

Таблица символов

Датчики – информация получаемая с 8 датчиков порта D

R1 EQU h’20’ – регистр для хранения данных

23.Если двоичное значение информации восьми дискретных датчиков подключенных к порту А превосходит двоичное значение информации с порта В, зажечь нечетные номера светодиодов подключенных к порту С. В противном случае зажечь светодиоды с четными номерами. Составьте электрическую схему, таблицу символов и программу.

include <PIC16F877.inc>

R1 EQU H ‘20’; адрес двоичного знач. 8 датчиков подключенных к порту А

R2 EQU H ‘21’; адрес двоичного знач. 8 датчиков подключенных к порту В

MIN EQU H ‘32’; адрес минимального значения

nop

nop

nop

org 05h

START

CLRF STATUS

BSF STATUS, RP0

MOVLW ‘11111111’

MOVWF TRISA

MOVWF TRISB

CLRF TRISC

CLRF STATUS

MOVLW ‘Число 1’; информация с порта А

MOVWF R1

MOVWF MIN

MOVLW ‘Число 2’; информация с порта В

MOVWF R2

SUBWF MIN, 1; MIN=MIN-W=R1-R2

MOWLW ‘01010101’; Записываем число в W

BTFSS STATUS, C; если C=1 (R1>R2) то пропускаем след. действие

MOWLW ’10101010’; Записываем число в W

MOVWF PORTC; выводим содержимое W на светодиоды порта С

END

Таблица данных

Число 1 – двоичная информация с 8 дискретных датчиков порта А

Число 2 – двоичная информация с 8 дискретных датчиков порта В

24.На входе микроконтроллера подключена клавиатура из 4-х клавиш. На выходе подключены светодиоды. При нажатии соответствующей клавиши на выходе загорается соответствующая номеру клавиши светодиод. Составьте электрическую схему, таблицу символов и программу.

include <p16F877.inc>

org 0x000

nop

nop

nop

org 05h

START;

CLRF STATUS;

BSF STATUS, RP0;

MOVLW B’00001111’ ; Число для ;инициализации порта D.

MOVWF TRISD ; ввод, CLRF TRISC;

CLRF STATUS;

CLRF PORTC;

CLRF PORTD;

MOVLW B’11110000’

MOVWF PORTD;

NACHALO:

BTFSS PORTD, 0;

GOTO NEXT1

MOVLW B’00000001’ ;

MOVWF PORTC ;

NEXT1:

BTFSS PORTD, 1;

GOTO NEXT2

MOVLW B’00000010’ ;

MOVWF PORTC ;

NEXT2:

BTFSS PORTD, 2;

GOTO NEXT3

MOVLW B’00000100’ ;

MOVWF PORTC ;

NEXT3:

BTFSS PORTD, 3;

GOTO NEXT4

MOVLW B’00001000’ ;

MOVWF PORTC ;

NEXT4:

GOTO NACHALO ;

GOTO $;

END

25.На входе микроконтроллера подключены 4 датчика. На выходе подключены 2 лампы. Организовать индикацию двоичного номера подключенного датчика. Опрос датчиков осуществлять с периодичностью в 3 секунды. Составьте электрическую схему, таблицу символов и программу.

Include<pic 16F877inc>

Orgo

nop

nop

nop

orgo5

START

CLRF STATUS

BSF STATUS,RP0

CLRF TRISC

CLRF STATUS

M1

CLRF PORTC

BTFSS PORTD,0//D1 goryd

GOTO M2

BSE PORTC,0

M2

BTFSS PORTD,1

GOTO M3

BSE PORTC,1

M3

CLRF PORTC

BTFSS PORTD,2

GOTO M4

BSE PORTC,2

M4

BTFSS PORTD,3

GOTO M5

BSE PORTC,3

M5

PAUSA

GOTO M1

PAUSA MOV LW D’250’

MOVWF I

N1

DECF2 I,1

GROTO N1

RETURN

BC =12*10-3C*250

MART T Число

12 Ma

T=1 M

3 S =3000mc

3*10-3mc=12*1mc*250

26.С портов А, В, С итается двоичный код информации с шины некоторого устройства, наибольшее значение этих трех значений вывести в шину подключенную к порту Д. Составьте электрическую схему, таблицу символов и программу.

include <p16F877.inc>

CH EQU h’20’

BUF EQU h’22’

org 0x000

nop

nop

nop

org 05h

START;

CLRF STATUS;.

BSF STATUS, RP0; Выбор банка 1.

CLRF TRISD;

CLRF STATUS;

CLRF PORTD;

MOVLW PORTA ;

MOVWF CH ;

MOVWF BUF ;

MOVLW PORTB ;

SUBWF CH,1 ;

BTFSS STATUS,C ; C = 1?

MOVWF CH

MOVLW PORTC

SUBWF CH,1 ;

BTFSS STATUS,C ; C = 1?

GOTO METKA

MOVF BUF

MOVWF PORTD

GOTO $;

METKA:

MOVWF CH

MOVWF PORTD

END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]