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

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

Создайте функциональный блок FB4, принимая во внимание следующее:

Механизм (например, робот-манипулятор) способен перемещаться по двум координатам X (влево/вправо) и Y (вверх/вниз); приняты обозначения направлений движения:

X← – влево по координате X; X→ – вправо по X;

Y↑ – вверх по Y;

Y↓ – вниз по Y;

T – длительность паузы (в секундах) после достижения механизмом заданного положения (определяется по концевым выключателям).

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

Назначение кнопок и концевых выключателей:

BT_Pusk – кнопка “Пуск”. Стартует пошаговый алгоритм автоматического перемещения механизма, если выполнены начальные условия (по сигналами датчиков перемещения положение механизма соответствует шагу 0). Каждый новый цикл алгоритма начинается с нажатия на кнопку “Пуск”.

BT_Stop – кнопка “Стоп”. Прерывает пошаговый алгоритм автоматического перемещения механизма в произвольный момент времени (аварийный останов). Нормальное завершение алгоритма – выполнен последний шаг.

BT_XL – кнопка “Влево”. В ручном режиме (не стартовал пошаговый алгоритм) механизм перемещается влево пока удерживается кнопка и пока не достигнут концевой выключатель соответствующего направления SQ_XL.

BT_XR – кнопка “Вправо”. В ручном режиме механизм перемещается вправо пока удерживается кнопка и пока не достигнут концевой выключатель SQ_XR.

BT_YU – кнопка “Вверх”. В ручном режиме механизм перемещается вверх пока удерживается кнопка и пока не дос-

110

тигнут концевой выключатель SQ_YU.

BT_YD – кнопка “Вниз”. В ручном режиме механизм перемещается вниз пока удерживается кнопка и пока не достигнут концевой выключатель SQ_YD.

Управляющие сигналы поступают на силовой преобразователь электропривода (возможно реле или контактор) через модуль дискретного вывода:

U_XL – управление на движение влево;

U_XR – управление на движение вправо;

U_YU – управление на движение вверх;

U_YD – управление на движение вниз.

Кроме того, есть дискетные выходы на лампочки индикации для оператора:

Lampe_Origin – установка находится в исходном состоянии, означает что установка готова в пуску;

Lampe_Auto – установка находится в автоматическом режиме, управление движением с пульта невозможно (блокированы кнопки “Влево”, “Вправо”, “Вверх” и “Вниз”).

Распределите адреса конкретных дискретных входов и выходов в таблице символов самостоятельно.

Поясним обозначения в таблице заданий на примере варианта 1:

0. X←; Y↓

в исходном состоянии (шаг алгоритма = 0)

 

механизм находится слева и внизу;

1.X→; T = 3 s на шаге 1 перемещаться вправо, пауза 3 s;

2.Y↑; T = 1 s на шаге 2 перемещаться вверх, пауза 1 s;

3.X←; Y↓; T = 4 s на шаге 3 одновременно перемещаться влево и вниз (вернуться в исходное положение), пауза 4 s;

111

10.5. Лабораторная работа № 5

Цель лабораторной работы № 5: обработка аналоговых величин. Варианты заданий представлены в табл. 10.6.

 

 

Таблица 10.6

 

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

 

 

 

Вариант

Измеряемая величина

Диапазон датчика

 

 

 

1

P = 0 … 15 bar

4 ... 20 mA

 

 

 

2

L = 0 … 100 %

4 ... 20 mA

 

 

 

3

W = 0 …200 kg

4 ... 20 mA

4

P = 0 … 10 bar

0 … 10 V

 

 

 

5

L = 0 … 100 %

4 ... 20 mA

 

 

 

6

W = 0 …100 kg

0 … 10 V

 

 

 

7

P = 0 … 3 bar

4 ... 20 mA

 

 

 

8

L = 0 … 100 %

0 … 10 V

 

 

 

9

P = 0 … 15 bar

4 ... 20 mA

 

 

 

10

W = 0 …25 kg

4 ... 20 mA

 

 

 

Для обработки аналоговых величин в CPU, они должны быть преобразованы в цифровую форму. Это делается с помощью АЦП (аналого-цифровой преобразователь) в модуле аналоговых входов. Сигналы каждого входного канала, приходящего на один модуль преобразуются последовательно. Результат преобразования записывается в память результатов и остается там до тех пор, пока не перепишется новой величиной.

Время преобразования для различных модулей приводится в руководстве по модулям. Например, для модуля SM331 время преобразования для одного канала 3 ms. Дополнительное время преобразования для контроля обрыва провода 10 ms. Если канал не используется, то при параметрировании модуля отметьте его как “Deactivated” . Это позволит уменьшить время преобразования.

Аналоговая величина с номинальным диапазоном тока /

112

напряжения (выбирается при параметрировании модуля в утилите HW Config) преобразуется в модуле в число из диапазона от 0 до +27648 (для симметричных значений, например ±10V,

от -27648 до+27648).

Если аналоговая величина, превышает номинальное значение, то аналоговый модуль может выдать значение от 27648 до 32767. Считается, что при значении 32767 наступает переполнение.

Температура измеряется с помощью термосопротивлений и термопар. Результатами для номинальной области являются числа из десятикратного температурного диапазона. Например, для датчика Pt 100 и его температурного диапазона -200 до + 850 ºC получаем (при чтении аналогового канала) величину из диапазона -2000 до + 8500.

Процесс настройки канала АЦП иллюстрирует фрагмент экрана панели оператора, представленный на рис. 10.1.

Рис. 10.1. Обработка аналоговых входов

В процессе настройки оборудования оператор вводит значения кодов АЦП (X1, X2) и соответствующие им значения измеряемой физической величины (Y1, Y2) в двух точках, о т- снятым экспериментально. Для начала эти точки соответству-

113

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

Реализуйте в своей программе расчет коэффициентов этой характеристики по событию: нажата кнопка ”Рассчитать коэффициенты заново“. Оператор при нажатии кнопки устанавливает некий бит (=1), после расчета коэффициентов этот бит сбрасывается (=0). Формула для расчета коэффициентов:

KA = (Y2 - Y1) / (X2 - X1); KB = Y1 – (KA * X1)

Текущее значение физической величины (Y) вычисляется по коду АЦП (X) в каждом цикле опроса: Y = KA * X + KB.

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

Программный блок целесообразно оформить как функциональный блок, пусть будет FB5. В этом блока в разделе входных переменных (IN) объявите имя переменной X - код АЦП. В разделе выходных переменных (OUT) объявите вычисленную нормированную физическую величину Y. Прочие переменные (коэффициенты, граничные значения и др.) разместите в разделе STAT.

Примечание: код АЦП имеет формат INT, физическая величина вычисляется в формате REAL, т.е. помимо математических операций потребуются операции конвертирования типов.

Как правило, в реальной программе аналоговых каналов обрабатываются не один, а несколько, и даже не один десяток каналов. Нецелесообразно для каждого из них создавать отдельный экземплярный блок данных (под FB5). Как разместить их все в од ном блоке? Создадим мультиэкземплярный функциональный блок FB50, полагая, что FB5 уже написан.

В интерфейсной части блока FB50 в разделе STAT объявите структурные переменные типа FB5. Количество этих переменных лучше иметь с запасом, т.е. создать резерв, даже если физически канал АЦП пока не существует. Это повлияет

114

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