Материал: Программируемые логические контроллеры SIMATIC S7-300 400. лабораторный практикум. Таратынов О.Ю., Ткалич С.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сохраните таблицу символов с внесенными изменениями. Теперь новые имена будут доступны всем объектам программы, в том числе редактору блоков 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

Источник: https://studfile.net/preview/16568750/