В данной работе мной было изучено, применение математических методов в программировании контроллеров. Для примера была взята наиболее простая форма контакторов, а именно программируемое реле ПР-110.
В основе программирования этого прибора лежат законы алгебры логики.
Прибор имеет 8 входов, не считая клеммы для питания, и 4 выхода. В основе работы программы лежит двоичный код:
1 – наличие логического сигнала (включено)
0 – отсутствие логического сигнала (отключено)
Управляющая программа.
Работа программируемого реле представляет собой последовательное выполнениепрограммой шагов.
Шаг 1 – состояние входов логически записывается в ячейки памяти входов.
Шаг 2 – управляющая программа, записанная в виде последовательности программных цепей, считывает значения из ячеек памяти входов и выполняет над ними логические операции.
Шаг 3 – повторяются действия, указанные в шаге 2, но для второй цепи, и так до завершения обработки всех программных цепей.
Шаг 4 – после обработки всех программных цепей производится запись результатов на выходы.
Шаг N – переход на Шаг 1, т. е. цикл повторяется заново.
Логические операции.
В программе используются 6 логических операций: НЕ – соответствует математическому отрицанию, ИЛИ – соответствует математической дизъюнкции, И – соответствует математической конъюнкции; а так же производные логические операции: Исключающее ИЛИ, И-НЕ, ИЛИ-НЕ.
Рассмотрим каждую из этих логических операций подробнее.
Функция «НЕ»
Данная функция используется для преобразования замыкающего контакта (на входе) в размыкающий контакт (на выходе). Т. е. в соответствии с правилом отрицания если на входе будет присутствовать логический 0, то на выходе логический 1, и наоборот.
1 |
0 |
0 |
1 |
Функция «И»
I1 |
I2 |
I3 |
I4 |
Q |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
… |
… |
… |
… |
… |
1 |
1 |
1 |
1 |
1 |
На выходе мы получаем логический сигнал 1, только если все входы включены. Достигается это путем последовательного соединения нормально-разомкнутых контактов.
Функция «ИЛИ»
I1 |
I2 |
I3 |
I4 |
Q |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
… |
… |
… |
… |
… |
1 |
1 |
1 |
1 |
1 |
На выходе получаем сигнал если хотя-бы один вход включен. Такой результат дает параллельное соединение нормально-разомкнутых контактов.
Остальные операции являются производными от описанных выше.
Исключающее ИЛИ
I1 |
I2 |
Q |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
И-НЕ
I1 |
I2 |
I3 |
I4 |
Q |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
… |
… |
… |
… |
… |
1 |
1 |
1 |
1 |
0 |
ИЛИ-НЕ
I1 |
I2 |
I3 |
I4 |
Q |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
… |
… |
… |
… |
… |
1 |
1 |
1 |
1 |
0 |
Функциональные блоки программы.
Генератор прямоугольных импульсов.
Блок используется для формирования пульсации. На выходе генератора формируются импульсы с заданными параметрами длительности включенного и отключенного состояния на время действия входного управляющего сигнала.
Инкрементный счетчик с автосбросом.
Данный блок используется для подсчета заданного числа импульсов. На выходе появляется импульс с заданной длительностью, если число приходящих на вход импульсов достигнет установленного значения.
Кнопка с фиксацией включения.
Блок используется для фиксации включенного состояния входа. Выходной контакт включен, если включен входной контакт. Состояние входа сохраняется и после отключения входного сигнала.
Кнопка с задержкой включения.
Данный блок используется для задержки передачи сигнала, т.е. на выходе появится сигнал с задержкой относительно фронта входного сигнала. Отключается же выходной сигнал по спаду входного.