Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2277

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
1.35 Mб
Скачать

Код базиса времени

Базис

0

1

2

3

Фактор

0,01 с

0,1 с

1 с

10 с

Указание: всегда используйте наименьший из возможных временных базисов.

 

 

Загрузка значения времени как слова входов, выходов, маркеров или дан-

ных производится, например, командой

 

 

 

 

 

 

 

 

 

 

 

 

 

L

DW

 

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При этом в слове данных 2 заносится значение времени в BCD-коде:

 

 

 

15

14

13

 

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

 

 

 

1

 

 

0

 

 

0

 

1

1

1

 

 

0

0

1

0

 

1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Трехзначное значение времени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(в BCD-коде)

 

 

 

 

 

 

 

 

 

 

 

 

Базис времени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.2. Запуск таймера

Таймеры работают асинхронно по отношению к выполняемой программе. Установленный таймер во время выполнения программы может обрабатываться. Опрос состояния таймера командой U Tn в переделах установленного значения времени дает значение ―1‖ для всех таймеров, кроме таймеров с задержкой включения. Между опросами таймера, в худшем случае, может находиться обработка всей программы. Таймер не должен поэтому запускаться самостоятельно.

Кроме операции ―Сброс таймера‖ все операции с таймерами запускаются при изменении состояния сигнала VKE с ―0‖ на ―1‖.

После запуска загруженное значение времени с частотой базиса времени уменьшается на 1 до тех пор, пока не достигнет ―0‖. Если состояние сигнала, по которому произведен запуск таймера изменилось в то время, пока таймер еще работает (сигнал был сброшен, затем опять установлен), то таймер снова устанавливается на начальное значение и перезапускается. Если фрагмент программы, в котором происходит запуск таймера, вызывается на обработку тем же сигналом, что и запуск таймера, то в этом случае таймер будет запущен только при первом обнаружении переднего фронта сигнала. Повторный запуск таймера при этом невозможен.

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

20

 

 

 

 

Импульс

 

 

 

 

Как только состояние сигнала на входе Е 3.0 станет равным ―1‖, выход А

4.0 устанавливается в ―1‖, но только на 5 с

 

 

 

 

Временная диаграмма

 

 

 

 

 

 

 

 

 

 

 

 

Е 3.0

 

 

 

 

5

 

 

 

 

 

Время

 

 

 

 

 

 

 

 

(с)

 

 

 

 

 

 

 

 

 

 

 

AWL

 

FUP

 

 

KOP

 

 

U

E

3.0

 

Т1

E3.0

Т1

 

L

KT

50.1

 

 

 

 

1

 

 

 

 

 

 

 

 

SI

T

1

E 3.0

1

 

 

 

 

 

 

TW

DU

 

NOP

0

 

KT 50.1

TW

DU

KT 50.1

 

NOP

0

 

 

 

DE

 

 

DE

( )

 

 

 

 

R

Q

NOP

0

 

 

R

Q

A 4.0

 

 

 

 

A 4.0

U

T

1

 

 

 

 

 

 

 

 

 

 

 

 

 

=

A

4.0

 

 

 

 

 

 

 

Указание: значение времени имеет погрешность, зависящую от базиса

времени.

 

 

 

 

 

 

 

 

 

 

 

 

Удлиненный импульс

 

 

 

Как только состояние сигнала на входе Е 3.1 станет равным ―1‖, выход А

4.1 устанавливается в ―1‖ на время, определенное словом EW 15.

 

 

Временная диаграмма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е 3.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А 4.1

Время

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

(с)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AWL

 

 

 

FUP

 

 

 

 

 

 

 

 

 

 

 

 

 

KOP

 

 

 

 

U

E

3.1

 

 

 

 

Т2

 

 

 

 

 

 

 

E3.1

 

Т2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

EW

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

E 3.1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SV

T

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TW

DU

 

 

 

 

EW 15

 

TW

DU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EW 15

 

 

 

NOP

0

 

 

 

 

 

 

 

 

 

DE

 

 

 

 

 

 

 

 

 

DE

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

T

1

 

 

 

 

 

 

 

A 4.1

 

 

 

 

 

 

 

R

Q

 

 

 

 

 

 

R

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

A

4.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 4.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задержка включения

 

 

 

Выход А 4.2 устанавливается в ―1‖ через 9 с после появления сигнала ―1‖

на входе Е 3.5 и остается в таком положении, пока на входе сигнал ―1‖.

 

Временная диаграмма

 

 

 

 

 

 

 

 

 

 

 

 

Е 3.5

 

 

 

 

 

 

 

 

 

А 4.2

 

 

 

 

9 с

 

 

 

9 с

 

Время

 

 

 

 

 

 

 

(с)

 

 

 

 

 

 

 

 

 

 

 

AWL

 

FUP

 

 

 

KOP

 

 

U

E

3.5

 

Т3

E3.5

Т3

 

L

KT

9.2

 

 

1

 

 

E 3.5

1

 

 

 

 

SE

T

3

 

 

TW

DU

 

KT 9.2

TW

DU

KT 9.2

 

NOP

0

 

 

DE

 

 

 

 

DE

 

 

( )

U

T

3

 

 

 

R

Q

 

R

Q

A 4.2

=

A

4.2

 

 

 

A 4.2

 

 

 

 

 

 

Указание: погрешность отсчета времени будет меньше, если установку

таймера произвести инструкцией ―L KT 900.0―.

 

 

 

Установка задержки включения с запоминанием и сброс

 

 

Выход 4.3 устанавливается в ―1‖ через 5 с после установки входа Е 3.3.

Другие изменения сигнала Е 3.3 не имеют влияния на выход. ―1‖ на входе Е 3.2

устанавливает таймер в начальное состояние.

 

 

 

 

Временная диаграмма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е 3.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е 3.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А 4.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Время

 

 

 

 

 

 

 

 

5 с

 

 

 

 

 

 

 

5 с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(с)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AWL

 

 

 

FUP

 

 

 

 

 

 

 

 

 

 

 

KOP

 

 

 

 

 

 

U

E

3.3

 

 

 

 

Т4

 

 

 

 

 

E3.3

Т4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

KT

50.1

E 3.3

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SS

T

4

 

 

 

 

 

 

 

 

 

 

 

 

 

TW

DU

 

 

 

 

 

 

KT 50.1

 

TW

DU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

KT 50.1

 

 

 

 

 

U

E

3.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DE

 

 

 

 

 

 

 

 

 

DE

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

T

4

 

E 3.2

 

 

 

 

A 4.3

 

 

 

 

R

Q

 

 

 

 

 

 

R

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOP

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 3.2

 

 

A 4.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

T

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

A

4.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задержка выключения

 

 

 

 

Выход А 4.4 устанавливается с задержкой ―t‖ по отношению к сигналу на

входе

Е 3.4. время задержки определяется содержимым слова маркеров МW

13.

 

 

 

 

 

 

 

 

 

 

 

Временная диаграмма

 

 

 

 

 

 

 

 

 

 

 

 

 

Е 3.4

 

 

 

 

 

 

 

 

 

 

А 4.4

 

 

 

 

 

 

 

 

 

t

 

Время

 

 

 

 

 

 

t

 

 

(с)

 

 

 

 

 

 

 

 

 

 

 

 

AWL

 

FUP

 

 

KOP

 

 

 

U

E

3.5

 

Т5

E3.4

Т5

 

 

L

MW

13

 

 

1

 

 

 

E 3.4

1

 

 

 

 

 

SA

T

5

 

 

TW

DU

 

 

MW 13

TW

DU

MW 13

 

 

NOP

0

 

 

 

DE

 

 

DE

( )

 

U

T

5

 

 

 

R

Q

 

 

R

Q

A 4.4

 

=

A

4.4

 

 

 

A 4.4

 

 

 

 

 

 

 

6.ОПЕРАЦИИ СО СЧЕТЧИКАМИ

Спомощью операций счета производится запуск и остановка счетчиков. Имеется возможность счета как на сложение, так и на вычитание. Область счета лежит между 0 и 999 (три декады).

Команда

Операнд

Описание

S

Z

0…127

Установка счетчика. Счетчик устанавливается по по-

 

 

 

ложительному фронту VKE

R

Z

0…127

Сброс счетчика.

 

 

 

Счетчик остается установленным в ―0‖ до тех пор, пока

 

 

 

VKE = ―1‖

ZV

Z

0…127

Счет вперед.

 

 

 

При положительном фронте сигнала счета содержимое

 

 

 

счетчика увеличивается на 1

ZR

Z

0…127

Счет назад.

 

 

 

При положительном фронте сигнала счета содержимое

 

 

 

счетчика уменьшается на 1

6.1. Загрузка значения счетчика

При установке счетчика слово, находящееся в аккумуляторе воспринимается как значение счетчика. Поэтому сначала надо загрузить значение счетчика в аккумулятор.

23

Значение счетчика может быть загружено с помощью константы счетчика (КZ) или слова данных (DW), слова входов или выходов (EW, AW) или слова маркеров (MW). В последних четырех случаях данные должны быть представлены в BCD-коде.

Следующий пример показывает загрузку константы счетчика 33.

 

 

 

 

 

 

 

L

KZ

 

37

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значение (0 … 999)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

операнд

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

операция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Загрузка значения счетчика как слова входов, выходов, маркеров или

данных производится, например, командой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

DW

3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В слово данных 3 заносится значение счетчика в виде BCD-кода.

 

 

 

 

15

14

13

 

12

 

 

11

 

10

9

8

7

6

 

5

 

4

3

 

2

 

1

0

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

1

 

 

0

0

 

1

 

0

 

1

 

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Загружаемое значение счетчика

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(в BCD-коде)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Состояние счетчика может быть опрошено с помощью логических команд (например, U Zx). Пока значение счетчика не равно нулю, результатом опроса будет ―1‖.

Текущее значение счетчика можно загрузить с помощью команды загрузки в аккумулятор и затем обрабатывать дальше. Для вывода значения счетчика на индикацию используют операцию ―Загрузка кодированная‖.

Установка счетчика ―S‖ и счет на вычитание ―ZR‖

Счетчик Z1 по сигналу Е 4.1 устанавливается в состояние 7. Сигнал на Е 4.0 значение счетчика уменьшается на 1.

AWL

 

 

 

FUP

 

 

 

 

KOP

 

 

 

 

 

 

U

E

4.0

 

 

 

Z1

 

 

 

E 4.0

Z1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ZR

Z

1

E 4.0

 

ZR

 

 

 

 

 

 

 

 

ZR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOP

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

E

4.1

 

 

 

ZV

 

 

 

 

 

 

 

 

ZV

 

 

 

 

 

 

 

 

 

 

 

 

 

E 4.1

 

 

 

 

 

 

L

KZ

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E 4.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

Z

1

 

S

 

 

 

 

 

 

 

 

S

DU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOP

 

0

KZ 7

 

DU

 

 

 

 

KZ 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

Z

1

 

ZW DE

 

 

 

 

 

ZW

DE

A 2.5

 

 

 

 

 

 

 

 

 

 

 

 

 

=

A

2.5

 

 

 

R

 

A 2.5

 

 

 

 

 

 

R

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. ФУНКЦИИ СРАВНЕНИЯ

Язык программирования STEP 5 дает возможность прямого сравнения содержимого (комбинаций битов) двух цифровых операндов. Длина операндов (байт, слово, двойное слово) указывается вместе с операндами.

Результат сравнения имеет двоичное выражение. Состояние ―1‖ означает выполнение условия сравнения, ―0‖ – невыполнение.

Графический символ сравнения на функциональных и контактных схемах выглядит одинаково.

Для выполнения операции сравнения операнды должны быть загружены в аккумуляторы процессора. Содержимое аккумулятора 2 сравнивается с содержимым аккумулятора 1. При этом содержимое аккумуляторов не изменяется.

Пример:

 

L

EW

10 ; загрузка значения 10-го слова входов

L

DW

12 ; загрузка значения 12-го слова блока данных

>F

 

; сравнение двух операндов по функции ―больше‖

=M 19.0 ; если значение слова EW 10 больше значения слова DW 12,

;то метка М 19.0 будет установлена (признак VKE = 1)

Допустимые операции сравнения двух операндов

Мнемокод

Описание

!=F

Сравнение на ―равно‖ двух 16-разрядных чисел с фиксированной

 

запятой

><F

Сравнение на ―не равно‖ двух 16-разрядных чисел с фиксирован-

 

ной запятой

>F

Сравнение на ―больше‖ двух 16-разрядных чисел с фиксированной

 

запятой

>=F

Сравнение на ―больше или равно‖ двух 16-разрядных чисел с фик-

 

сированной запятой

<F

Сравнение на ―меньше‖ двух 16-разрядных чисел с фиксированной

 

запятой

<=F

Сравнение на ―меньше или равно‖ двух 16-разрядных чисел с фик-

 

сированной запятой

Для функций сравнения 32-разрядных чисел с фиксированной запятой используется символ D: например, >=D.

Для функций сравнения 32-разрядных чисел с плавающей запятой используется символ G: например, !=G.

25

Функциональное и контактное представление операции сравнения одинаково и выглядит следующим образом:

 

 

 

 

Z1

F:

 

 

EW 0

 

 

 

><

 

 

 

 

 

 

 

 

 

 

 

DW 2

 

 

Z2

Q

 

 

M 4.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналогичная данной схеме таблица команд:

L EW 0 L DW 2 ><F

= M 4.0

Выполнение операции сравнения

Для сравнения двух операндов нужно последовательно загрузить их в аккумуляторы. Выполнение операции сравнения не зависит от значения VKE. Результат операции битовый, VKE устанавливается или сбрасывается для дальнейшего выполнения программы. Если сравнение имеет положительный результат, то VKE = 1, в противном случае VKE = 0. При выполнении операции сравнения устанавливаются также флаги условий (см. разд. 7.4).

8.АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

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

Команда

Описание

+F

Сложение.

 

Содержимое обоих аккумуляторов складывается

-F

Вычитание.

 

Содержимое AKKU1 вычитается из содержимого AKKU2

Для умножения и деления могут использоваться встроенные или отдельно поставляемые функциональные блоки.

Обработка операций вычислений

Перед выполнением арифметических операций необходимо загрузить оба операнда в аккумуляторы. Арифметические операции выполняются независимо от значения VKE. Результат операции заносится в AKKU1. Содержимое

26

AKKU2 остается без изменения. Операции не влияют на значение VKE. В зависимости от результата устанавливаются флаги условий.

 

AWL

Пояснения

L

Z3

Значение Z3 загружается в AKKU1

L

Z1

Значение Z1 загружается в AKKU1. Предыдущее значение

 

 

AKKU1 перемещается в AKKU2.

+F

 

Содержимое аккумуляторов интерпретируется как 16-битовые

 

 

числа с фиксированной точкой и складывается.

T

AW 12

Результат – содержимое AKKU1 – передается в слово выходов

 

 

AW 12

 

9. СПЕЦИАЛЬНЫЕ ОПЕРАЦИИ

 

 

Команда

Описание

STP

Стоп в конце обработки программы.

 

Текущий цикл обработки программы завершается

NOP 0

Нулевая операция.

 

В памяти ПК слово из 16 бит устанавливается в ―0‖

NOP 1

Нулевая операция.

 

В памяти ПК слово из 16 бит устанавливается в ―1‖

При выполнении команды STP контроллер переходит в состояние останова. Это бывает необходимо при определенных критических условиях в системе или при возникновении аппаратных ошибок.

При выполнении операции программа управления, без принятия во внимание значения VKE, выполняется до конца. После этого контроллер по цепочке ―STS‖ переходит в состояние СТОП. Вывести контроллер из состояния СТОП можно с помощью переключателя режима работ на модуле ЦПУ (STOP —> RUN) или перезапустить с помощью программатора.

Нулевые операции NOP служат для очистки или перезаписи областей памяти. На работу ЦПУ эти команды не оказывают никакого влияния.

10. ФУНКЦИОНАЛЬНЫЕ МОДУЛИ

10. 1. Общие сведения

Функциональные модули, как и, например, программные модули, являются составными элементами управляющей программы пользователя. По сравнению, однако, с организационными, программными и шаговыми модулями они отличаются 4 существенными свойствами:

27

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

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

разработка и документация программного обеспечения функционального модуля возможны только в виде перечня операторов (AWL);

вызов функционального модуля графическим способом представляется в виде ―черного ящика‖.

Функциональные модули в пределах управляющей программы пользо-

вателя представляют собой комплексную завершенную функцию и либо могут быть поставлены фирмой SIEMENS ("Стандартные функциональные модули" на малоформатном магнитном диске), либо могут быть запрограммированы самим пользователем. Вспомогательные (дополнительные) операции, расширяющие функциональный объем базовых, могут быть запрограммированы только в функциональных модулях.

10.2. Структура функциональных модулей

Вобщий состав функционального модуля входят заглавная часть (шапка) модуля и его рабочая часть.

Заглавная часть (шапка) модуля содержит всю информацию, необходимую для графического представления содержимого функционального модуля на программаторе, а также для контроля операторов при параметризации модуля. Настоящая часть модуля до начала собственно процесса программирования его вводится пользователем (с участием программатора).

Рабочая часть модуля содержит собственно программное обеспечение функционального модуля. В ней с помощью языка программирования 5ТЕР5 описана и занесена функция, подлежащая выполнению. При вызове функционального модуля обработке подвергается только данная часть модуля.

10.3.Вызов и параметризация функциональных модулей

Функциональные модули (FB) способствуют реализации неоднократно повторяющихся или сложных функций. В памяти программ они имеются только в одном экземпляре и с вышестоящего по иерархии модуля вызываться могут один или несколько раз. При этом параметры могут быть иными.

Функциональные модули в памяти программ запоминаются под определенным адресом (FB1 ... FB255). Адресация модулей, содержащих программное обеспечение пользователя, должна начинаться с адреса FB255 вниз для того, чтобы обеспечить однозначность адресации стандартных функциональных модулей FB1 ... FB199.

28

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

Оператор вызова

SPA FBn - безусловный вызов;

SPB FBn - условный вызов.

Вызов функционального блока может быть запрограммирован как в AWL форме, так и в KOP или FUP виде. При этом отображение KOP и FUP вызова на экране отображается одинаково.

Безусловный вызов

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

Условный вызов

Вызванный функциональный модуль обрабатывается только при условии, что предыдущий результат логических операций (VKE) = 1.

Перечень параметров

Перечень параметров следует непосредственно после оператора вызова функционального блока. В нем определяются входные и выходные переменные, а также соответствующие типы данных для них (см. "Тип параметра модуля"). В перечне допускается предусмотреть не более 40 переменных.

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

Оператор перехода в программе, следующий за оператором вызова функционального модуля, программатором включается автоматически. При выводе информации, однако, он индикации не подлежит. Оператор вызова функционального модуля в памяти программ занимает 2 слова, а каждый параметр - 1 дополнительное слово памяти. Необходимый объем у стандартных функциональных модулей, а также продолжительность цикла обработки содержимой в нем информации указаны в каталоге фирмы ST 56.

Ниже приведен пример вызова функционального модуля и передачи параметров при оформлении программной информации пользователя в виде перечня операторов (AWL), схемы контактов (КОР) и функциональной схемы

(FUP):

29

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