CODESYS
Формирование ШИМ-сигнала
При изменении аналогового сигнала с датчика в диапазоне [0; 20] мА необходимо изменять скважность этого сигнала в диапазоне [20; 50] % от исходного, при этом задан период ШИМ-сигнала равный 1 сек. Перед написанием программы на языке CFC необходимо переименовать вход от датчика как «Vhod», а дискретный выход как «Vihod». Рис.1. Конфигурирование входов/выходов ПЛК На рабочую область программы нужно поместить следующие элементы: MUL (умножение), REAL_TO_TIME (преобразование типа переменной), LIMIT (ограничение), SUB (вычитание) и BLINK (генератор прямоугольных импульсов). Рис. 2. Программа на CFC для формирования ШИМ-сигнала Программа
работает следующим образом: чтобы добиться соответствия диапазонов входного
сигнала и периода ШИМ-сигнала, нужно отмасштабировать входной сигнал так чтобы
при его максимум соответствовал периоду ШИМ-сигнала, а именно умножить на 50.
Это можно выполнить с помощью элемента MUL. Далее нужно преобразовать наш аналоговый сигнал, имеющий тип REAL в тип TIME. Таким образом, мы получим сигнал меняющийся в диапазоне [0; 1000] миллисекунд. В условии задания нам нужно менять скважность сигнала только в диапазоне [20; 50] %, поэтому мы ограничиваем сигнал элементом LIMIT, записывая на его входы 200 и 500 мс. Чтобы сгенерировать сигнал нужной длительности и периода необходимо два сигнала: сигнал импульса и время ожидания/паузы. Для этого из периода ШИМ-сигнала нужно вычесть длительность импульса, что легко сделать на элементе SUB. Для визуализации программы нужно создать новый объект на вкладке «Визуализации», разместить на форме элементы: ползунок, прямоугольник и эллипс и сконфигурировать эти элементы. Рис.3. Визуализация работы программы Ползунок
нужен для эмуляции изменения входного тока от датчика в диапазоне от [0; 20] мА. Он привязывается к переменной «Vhod» и в нем
устанавливается диапазон изменения [0; 20]. Прямоугольник нужен для вывода числовых значений входного сигнала. В нем конфигурируется категория «Переменные – Вывод текста», т.е. прописываем переменную «Vhod». Кроме того, чтобы переменная выводилась нужно в категории «Текст – Строка» вписать «Вход %3.0f мА». Эллипс
служит для индикации лампы, он связан с переменной «Vihod» и в нем установлены обычный и
тревожные цвета заливки. Во
время работы программы, при изменении ползунком входного сигнала, также будет
меняться длительность импульса и как следствие время свечения лампы. |
||