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

3023

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

Рис. 9.1. Счетчики

Когда RLO на входе CU изменяется из 0 в 1, текущее значение счетчика увеличивается на 1 (верхняя граница = 999).

Когда RLO на входе CD изменяется из 0 в 1, текущее зн а- чение счетчика уменьшается на 1 (нижняя граница = 0).

Когда RLO на входе S и зменяется из 0 в 1, счетчик принимает значение, заданное на входе PV.

Когда сигнал на входе R равен 1, счетчик устанавливается в 0. Если условие сброса выполняется, то не возможна ни установка счетчика, ни процедура счета.

Значение для счетчика (0...999) задается на входе PV как константа (C#...) или как переменная в BCD - формате.

Текущее значение счетчика может быть загружено в аккумулятор как двоичное число (CV) или BCD число (CV_BCD), а затем передано по другому адресу.

Дискретный выход счетчика Q = 0, если текущее содержимое CV > 0. Если CV = 0, то на выходе счетчика Q = 1.

Типы счетчиков:

• S_CU - накапливающий (счет только “вверх”)

100

C_CD - вычитающий (счет только “вниз”)

S_CUD - реверсивный счетчик.

Битовые команды счетчиков

Все счетчики могут также обрабатываться с помощью простых битовых команд (рис. 9.2).

Рис. 9.2. Битовые инструкции счетчиков

Сходства и различия между этим способом и функциями для счетчиков заключаются в следующем:

Сходства:

Начальная установка по входу SC

Опрос выхода Q

Смена RLO на входе CU

Смена RLO на входе CD Различия:

Невозможно проверить текущее значение счета (нет вы-

ходов CV и CV_BCD).

101

10. ЛАБОРАТОРНЫЕ РАБОТЫ

Допуском к выполнению лабораторной работы является выполненная самостоятельная работа, которая заключается в выполнении следующих пунктов:

Изучить методическое описание.

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

Требования к содержанию отчета

Отчет по работе должен содержать:

Номер варианта, название и цель работы.

Конфигурационные сведения об использованной аппа-

ратуре.

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

Программу с комментариями, реализующую заданную функцию.

Выводы.

10.1. Лабораторная работа № 1

Цель лабораторной работы № 1: конфигурирование и параметрирование станции автоматизации SIMATIC S7.

Станция автоматизации должна удовлетворять определенным техническим требованиям: достаточный объем рабочей памяти CPU (WM - work memory), сигнальные модули ввода/вывода (SM) обладают требуемым количеством входов/выходов. Варианты заданий представлены в табл. 10.1.

Откройте SIMATIC Manager, создайте новый проект. Добавьте в проект стацию SIMATIC 300 Station. Процедура вызова и работа с конфигуратором аппаратуры HW Config описана ранее.

При параметрировании свойств CPU укажите адрес

MPI=2, активируйте байт Clock Memory -> MB0.

По окончании параметрирования свойств сигнальных модулей SM откомпилируйте и сохраните проект. Если ошибок нет, в проекте появится выбранный Вами CPU со своей

102

программой S7 Program. В программе будет создана папка Blocks, в ней результат компиляции – системные блоки System data и пустой организационный блок OB1.

Таблица 10.1

Варианты заданий № 1

Ва-

WM,

DI

DO

AI

AI

AI

AO

AO

ри-

kB

DC24

DC24

4..20

0..10

RTD

4..20

0..10

ант

V

V

mA

V

Pt100

mA

V

 

1

50

25

26

3

2

5

3

2

2

70

33

26

5

0

2

1

4

 

 

 

 

 

 

 

 

 

3

80

19

24

6

0

1

0

3

 

 

 

 

 

 

 

 

 

4

40

23

21

5

1

6

2

1

 

 

 

 

 

 

 

 

 

5

120

25

26

3

2

5

3

2

 

 

 

 

 

 

 

 

 

6

60

27

23

5

2

0

2

2

 

 

 

 

 

 

 

 

 

7

50

25

26

3

2

5

3

2

 

 

 

 

 

 

 

 

 

8

110

31

18

7

0

2

0

4

 

 

 

 

 

 

 

 

 

9

90

30

16

6

0

7

4

0

 

 

 

 

 

 

 

 

 

10

50

28

20

4

1

0

1

2

 

 

 

 

 

 

 

 

 

Каждая программа имеет свою таблицу символов Symbols. На данный момент она пуста. Внесите в нее сведения о доступных фактических адресах входов/выходов, присвоенных при конфигурировании станции. Удобнее это сделать утилитой HW Config. Для этого левой кнопкой мыши выделите сигнальный модуль, нажмите правую кнопкой мыши – появится контекстное меню. В меню выберите пункт Edit Symbols… В появившемся диалоговом окне нажмите кнопку Add to Symbols. В пустовавшей колонке Symbol появятся имена вводов/выходов по умолчанию – такие же, как и присвоенные им адреса. В дальнейшем, по мере необходимости, Вы их переименуете в соответствии заданием к очередной лабораторной работе.

103

10.2. Лабораторная работа № 2

Цель лабораторной работы № 2: реализация логической функции с битовыми операндами (Булева алгебра). Варианты заданий представлены в табл. 10.2.

Таблица 10.2

Варианты заданий № 2

Вариант

 

 

 

 

 

 

Логическое выражение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Y1

=

 

 

 

 

 

 

+ X3

+

 

 

 

 

 

 

 

 

 

 

 

 

X1* X2

X4

2

Y1

= X1 + X2 *

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X3 + X4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

Y1

= X1 * X2 +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X3 +X4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Y1

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ X4

(X1+ X2 * X3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

Y1

= X1

* X3 + X2

+

 

 

 

 

 

 

 

 

 

X4

6

Y1

= X1

+ X4 * X3

+

 

 

 

 

 

 

 

 

X2

7

Y1

= X4

* X2 +

 

 

+ X1

X3

8

Y1

= X1

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X4* X3 +X2)

 

 

 

 

 

 

 

 

 

 

9

Y1

=

 

 

 

 

 

 

 

+ X3 *

 

 

 

(X1+ X2)

X4

 

 

 

 

 

 

 

 

 

10

Y1

=

 

 

* X4 + X3

 

*

 

 

X1

 

X2

В предыдущей работе был создан проект, в него вставлена станция. После ее конфигурирования и компиляции появился CPU, у которого есть программа. Пока она содержит системные данные и пустой организационный блок OB1. Кроме того, у программы есть таблица символов Symbols. Откройте ее. На данный момент она содержит имена входов и выходов, присвоенные редактором HW Config по умолчанию. Вам предстоит переименовать 4 дискретных входа и один дискретный выход. Входы назовите X1, X2, X3, X4, выход Y1.

104

Сохраните таблицу символов с внесенными изменениями. Теперь новые имена будут доступны всем объектам программы, в том числе редактору блоков LAD/FBD/STL.

Редактор блоков LAD/FBD/STL вызывается кликом на любом блоке в папке Blocks. Блок сначала надо создать. Перейдите к SIMATIC Manager, выделите папку Blocks, затем правой кнопкой мыши активируйте контекстной меню. Сле-

дуйте по меню: Blocks -> Insert New Object -> Function. Назо-

вите функцию FC2, присвойте ей символическое имя, напри-

мер “Laba2”.

В редакторе блоков LAD реализуйте логическое выражение, соответствующее Вашему варианту. Имейте в виду, знак “*” (умножение) означает логическую функцию “И”, что в LAD соответствует последовательному соединению контактов. Знак “+” (плюс) в LAD соответствует параллельному соединению. Черта сверху означает инверсию. Сохраните блок FC2.

Если блок программы (FC или FB) в конечном счете не вызывается ни одним из организационных блоков – он не работает. Откройте блок OB1. В одну из цепей из раздела FC перетащите мышкой вызов FC2. Сохраните блок OB1.

Блоки готовы к загрузке в PLC. Воспользуемся виртуальным PLC – приложением PLCSIM, вызов которого производится в SIMATIC Manager. Эта процедура и работа с симулятором описаны ранее.

Добавьте в PLCSIM окна наблюдения за переменными IB…, QB… с адресами задействованных в программе входов и выходов.

Запустите программу, загруженную в симулятор, на выполнение, установив флажок CPU в положение RUN-P. Это означает, что программа будет выполняться циклически. Режим RUN не позволяет модифицировать программу, не переключаясь в режим STOP.

Меняя флажками комбинацию входных переменных X1, X2, X3 и X4 заполните таблицу истинности значениями выходной переменной Y1 (табл. 10.3).

105

Таблица 10.3

Таблица истинности

X1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

X2

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

X3

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

X4

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

Y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вокнах PLCSIM помимо бит, расположенных в байте горизонтально, есть объект, отображающий их вертикально. Имена переменных будут отражать справа, если подключить к PLCSIM таблицу символов Вашего проекта. Загружаем таблицу символов в PLCSIM, выбрав пункт в меню Tools –> Options –> Attach Symbols. В появившемся диалоговом окне нужно выбрать свой проект, перейти на уровень Program, выбрать

Symbols и нажать OK.

Вотчете функция FC2 должна быть представлена для одной из возможных комбинаций состояния входов в режиме мониторинга в трех различных вариантах: на языках LAD, FBD

иSTL.

10.3. Лабораторная работа № 3

Цель лабораторной работы № 3: реализация арифметической функции с целыми и вещественными операндами. Варианты заданий представлены в табл. 10.4.

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

Фактические входные переменные и результат функции разместите в блоке данных общего назначения (Shared DB), например DB3. Конкретные числовые значения входных переменных согласуйте с преподавателем.

106

 

Таблица 10.4

 

Варианты заданий № 3

 

 

 

Вариант

Математическое выражение

 

 

 

 

1

OUT1 = IN1 * (IN2 – IN3) / IN4

 

 

 

 

2

OUT1 = (IN1 + IN2 – IN3) / IN4

 

 

 

 

3

OUT1 = IN1 / IN2 – IN3 + IN4

 

 

 

 

4

OUT1 = (IN1 + IN2 + IN3) * IN4

 

 

 

 

5

OUT1 = IN1 * IN3 – IN2 / IN4

 

 

 

 

6

OUT1 = IN1 – IN2 + IN3 * IN4

 

 

 

 

7

OUT1 = IN1 * (IN2 – IN3) / IN4

 

 

 

 

8

OUT1 = IN1 * IN4 – IN2 / IN3

 

 

 

 

9

OUT1 = IN1 / IN2 + IN3 / IN4

 

 

 

 

10

OUT1 = IN1 * IN2 – IN3 * IN4

 

 

 

 

Добавьте в папку Blocks Вашей программы блок FC3. Откройте его и распахните интерфейсную область блока (Interface), потянув мышкой за нижний край окна, расположенного в самом верху блока.

Вразделе входных переменных (IN) объявите две переменных типа INT с именами IN1, IN2 и две переменных типа REAL с именами IN3, IN4.

Вразделе выходных переменных (OUT) объявите переменную типа REAL с именем OUT1, переменную типа INT с именем OUT2 и переменную типа WORD с именем OUT3.

По заданию переменные функции имеют разные форматы: целый (INT) и вещественный (REAL). Для выполнения математических операций тип переменных должен быть одинаковым. Воспользуйтесь операторами раздела Converter для преобразования переменных IN1 и IN2 к вещественному формату REAL (I_DI -> DI_R).

107

Совет: промежуточные переменные требуемого типа объявите в разделе TEMP (локальные переменные).

Согласно Вашему варианту, реализуйте математическое выражение. Выходная переменная OUT1 готова.

Выходную переменную OUT2 (имеет тип INT) получите путем округления величины OUT1.

Выходную переменную OUT3 получите из OUT2 и сохраните в формате BCD.

Полученные результаты, как и входные переменные, сохраните в блоке DB3. Для этого откройте OB1, организуйте вызов FC3 с фактическими параметрами из блока DB3.

Обратите внимание: при вызове функции с параметрами входные переменные блока размещаются слева, выходные - справа. Пропущенные, не адресованные параметры выделены красным вопросительными знаками. Это означает, что их надо вводить обязательно. В отличие от функциональных блоков (FB), которые обладают собственной памятью в виде экзем п- лярных блоков данных (DB), функция (FC) обращается к глобальным данным (меркерам, входам/выходам, к блокам данных).

В отчете отобразите блок DB3 в режиме мониторинга на фоне окна калькулятора с вычисленным значением заданного математического выражения. Если все правильно, в OUT1 и в строке калькулятора будет одно и то же число.

10.4. Лабораторная работа № 4

Цель лабораторной работы № 4: реализация пошагового алгоритма, т.е. исполнение заданной последовательности операций (шагов). Варианты заданий представлены в табл. 10.5.

В задании указаны параметры, которые надо сохранять в памяти CPU после выключения питания, например, уставки времени для таймеров. Для этого пригодны блоки данных. В предыдущей работе для этой цели был создан DB3 как блок данных общего назначения (Shared DB). Теперь рассмотрим, как создаются экземплярные блоки данных (Instance DB).

108

 

 

Таблица 10.5

 

Варианты заданий № 4

 

 

 

 

Вариант

1

2

 

 

 

 

 

Шаги

0. X←; Y↓

0. X→; Y↓

 

 

1. X→; T = 3 s

1. X←;Y↑; T = 2 s

 

 

2. Y↑; T = 1 s

2. X→; T = 2 s;

 

 

3. X←; Y↓; T = 4 s

3. Y↓; T = 4 s

 

Вариант

3

4

 

 

 

 

 

Шаги

0. X←; Y↑

0. X→; Y↑

 

 

1. X→; T = 5 s

1. X←; Y↓; T = 2 s

 

 

2. Y↓; T = 1 s

2. Y↑; T = 3 s;

 

 

3. X←; Y↑; T = 3 s

3. X→; T = 4 s

 

 

 

 

 

Вариант

5

6

 

 

 

 

 

Шаги

0. X←; Y↓

0. X←; Y↓

 

 

1. X→; T = 1 s

1. Y↑; T = 3 s

 

 

2. Y↑; T = 4 s

2. X→; T = 2 s;

 

 

3. X←; Y↓; T = 6 s

3. X←;Y↓; T = 1 s

 

Вариант

7

8

 

 

 

 

 

Шаги

0. X←; Y↓

0. X→; Y↓

 

 

1. Y↑; T = 4 s

1. X←; T = 5 s

 

 

2. X→; T = 5 s

2. Y↑; T = 6 s;

 

 

3. X←; Y↓; T = 6 s

3. X→; Y↓; T = 4 s

 

Вариант

9

10

 

 

 

 

 

Шаги

0. X→; Y↓

0. X→; Y↓

 

 

1. X←; T = 3 s

1. Y↑; T = 2 s

 

 

2. X→; Y↑; T = 3 s

2. X←; Y↓; T = 5 s;

 

 

3. Y↓; T = 5 s

3. X→; T = 4 s

 

 

 

 

 

109

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