Методы алгоритмизации: Практикум (Технические средства обучения. Задания для самостоятельной работы. Решение заданий), страница 12

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

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

Полученная схема внешних соединений ПЛК, отвечающая требованиям безопасности, показана на рис. 5.4. Здесь кнопки S1 и S2 выбраны как замыкающие контакты, т. к. они включают электродвигатель, а кнопки SO и S5 - как размыкающие контакты, т. к. они выключают его.

Шаг 3. Составление логический уравнений.

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

Варианту 1 задания соответствует следующая система логических уравнений:

Шаг 4. Назначение адресов переменным.

Шаг 5. Написание программы для контроллера.

На рис. 5.5 приведена программа управления пуском электродвигателя для варианта 1.

Как следует из рис. 5.5, размыкающие контакты SO и S5 представлены в программе замыкающими контактами, т. к. они формируют входные сигналы контроллера.

Вариант 2

Релейно-контактная схема управления электродвигателем для варианта 2 показана на рис. 5.6.

Этот вариант отличается от предыдущего тем, что изменение направления вращения вала может производиться на ходу, без отключения электродвигателя. Управляющая программа приведена на рис. 5.7.

Вариант 3

Вариант 3 предусматривает плавную регулировку задержки времени с помощью потенциометра, расположенного на панели заданий имитатора COSIM. В остальном алгоритм работы системы управления соответствует алгоритму варианта 2.

При вращении регулятора потенциометра меняется напряжение на выходе U1 имитатора. Это напряжение, изменяющееся в диапазоне 0...5 В, можно использовать для управления уставкой таймера Т37, которая определяет задержку времени. Поскольку таймер реализован программно, электрическая схема управления электродвигателем не изменяется.

Инструкция таймера TON имеет в качестве параметра целочисленное значение из диапазона 0...32767. Для задания задержки времени от 2 до 10 с, параметр таймера Т37 должен изменяться в пределах от 20 до 100. С другой стороны, аналоговому сигналу на входе контроллера в диапазоне 0...5 В соответствует цифровое значение 0... 16000. Привести в соответствие диапазон изменения уставки и положение регулятора потенциометра можно с помощью простой формулы:

Уставка = (20 + AIWi/200), где AIWi - цифровой эквивалент сигнала на входе i-ro канала ввода аналогового модуля расширения.

Отсюда следует, что при AIWi = 0 уставка равна 20, а при AIW4 = 16000 уставка равна 100.

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

Программа управления пуском электродвигателя с плавной регулировкой времени переключения со звезды на треугольник приведена на рис. 5.8.

Как следует из рис. 5.8, в программу введена дополнительная цепочка для вычисления значения параметра таймера Т37, который сохраняется в памяти по адресу VW100. Вычислительная цепочка включает функциональные блоки (боксы) деления и сложения целочисленных операндов. Выбран канал С аналогового ввода (адрес AIW4).

5.3. Решение задания для модели «Чеканочный пресс»

Контроллер подключают в соответствии с рис. 5.9 и приступают к разработке программы. Задачу решают в следующем порядке.

Шаг 1. Определение входных и выходных переменных.

Входные переменные:

Кнопка «Выкл» - SO (= 0 при нажатии);