Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Cамигулина З.И_ООП.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
11.49 Mб
Скачать

4.2 Пример решения задачи на языке st

Задача_1 Необходимо решить простейшую задачу на языке ST в которой при нажатии кнопки kn загорается лампочка lam.

1 шаг. Для этого создается новая секция на языке ST. В рабочем поле редактора языка ST необходимо написать следующий код программы.

Lam:=kn;

2 шаг. Создание анимационной таблицы (рисунок 4.1).

3 шаг. Создание операторского экрана (рисунок 4.1).

Рисунок 4.1 Приложение, реализующее пример работы с языком ST

в среде Unity Pro.

    1. Порядок выполнения лабораторной работы на st

Задача_2 Запрограммируйте задачу при которой возможно включение лампочки с помощью двух выключателей, опираясь на программу на языке LD.

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

IF kn1=1 THEN

Lam2:=1;

END_IF;

IF kn2=1 THEN

Lam2:=0;

END_IF;

Язык программирования il

IL (Instruction List) — язык программирования стандарта МЭК 61131-3. Предназначен для программирования промышленных контроллеров. По синтаксису напоминает ассемблер.

Работает быстрее графических языков, является более компактным и потребляет меньше памяти ПЛК. Позволяет очень быстро вводить программу, в последствии ее легче воспроизводить на портативных устройствах, но является менее наглядным, что осложняет процесс поиска ошибок.

Список инструкций составляется из набора инструкций. Каждая инструкция начинается на новой строке и состоит из:

- Оператора.

-Модификатора, если требуется.

-Одного или более операндов, если требуется.

-Метки, как цели перехода, если требуется.

- Комментария к логике, если требуется.

Рисунок 4.2 Пример изображения секции на языке IL

 Пример 1: Линейное преобразование: Y(x)=A*x+B

Рисунок 4.3 Реализация примера 1 в среде программирования

Unity Pro

    1. Порядок выполнения лабораторной работы на il

Запрограммируйте запись процедуры а=а+b в одноадресном и двухадресном режиме, используя основные операторы в таблице 4.2 усложните задачу.

А) LD a б) ADD а b

ADD b

ST a

Таблица 4.2 Список операторов IL

Оператор

Пояснение

1

2

3

1

LD

Загрузить значение операнда в аккумулятор

2

LDN

Загрузить обратное значение операнда в аккумулятор

3

ST

Присвоить значение аккумулятора операнду

4

STN

Присвоить обратное значение аккумулятора операнду

5

S

Если значение аккумулятора TRUE, установить логический операнд

6

R

Если значение аккумулятора FALSE, сбросить логический операнд

7

AND

Поразрядное И аккумулятора и операнда

8

ANDN

Поразрядное И аккумулятора и обратного операнда

9

OR

Поразрядное ИЛИ аккумулятора и операнда

10

ORN

Поразрядное ИЛИ аккумулятора и обратного операнда

11

XOR

Поразрядное разделительное ИЛИ аккумулятора и операнда

12

XORN

Поразрядное разделительное ИЛИ аккумулятора и обратного операнда

13

NOT

Поразрядная инверсия аккумулятора

14

ADD

Сложение аккумулятора и операнда, результат записывается в аккумулятор

15

SUB

Вычитание операнда из аккумулятора, результат записывается в аккумулятор

16

MUL

Умножение аккумулятора на операнд, результат записывается в аккумулятор

17

DIV

Деление аккумулятора на операнд, результат записывается в аккумулятор

18

GT

Значение аккумулятора сравнивается со значением операнда(>(greater than)). Значение (TRUE или FALSE) записывается в аккумулятор

19

GE

Значение аккумулятора сравнивается со значением операнда(>=greater than or equal)). Значение (TRUE или FALSE) записывается в аккумулятор

20

EQ

Значение аккумулятора сравнивается со значением операнда (=(equal)). Значение (TRUE или FALSE) записывается в аккумулятор

1

2

3

21

NE

Значение аккумулятора сравнивается со значением операнда (<>(not equal). Значение (TRUE или FALSE) записывается в аккумулятор

22

LE

Значение аккумулятора сравнивается со значением операнда (<=(less than or equal to)). Значение (TRUE или FALSE) записывается в аккумулятор

23

LT

Значение аккумулятора сравнивается со значением операнда (<(less than)). Значение (TRUE или FALSE) записывается в аккумулятор

24

JMP

Переход к метке

25

JMPC

Переход к метке при условии, что значение аккумулятора TRUE

26

JMPCN

Переход к метке при условии, что значение аккумулятора FALSE

27

CAL

Вызов программного или функционального блока

28

CALC

Вызов программного или функционального блока при условии, что значение аккумулятора TRUE

29

CALCN

Вызов программного или функционального блока при условии, что значение аккумулятора FALSE

30

RET

Выход из POU и возврат в вызывающую программу

31

RETC

Выход из POU и возврат в вызывающую программу при условии, что значение аккумулятора TRUE

32

RETCN

Выход из POU и возврат в вызывающую программу при условии, что значение аккумулятора FALSE

4.6 Оформление отчета по результатам выполненных работ. Отчет должен включать:

- Решение задач на языке ST и IL.

- Выводы по результатам практикума.

- Пакеты прикладных программ на языке ST и IL с результатами работы.

Литература. 4 осн. [1- 6]

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