CODESYS

Формирование ШИМ-сигнала

           

При изменении аналогового сигнала с датчика в диапазоне [0; 20] мА необходимо изменять скважность этого сигнала в диапазоне [20; 50] % от исходного, при этом задан период ШИМ-сигнала равный 1 сек.

Перед написанием программы на языке CFC необходимо переименовать вход от датчика как «Vhod», а дискретный выход как «Vihod».

 

Конфигурирование входов/выходов ПЛК

Рис.1. Конфигурирование входов/выходов ПЛК

 

            На рабочую область программы нужно поместить следующие элементы: MUL (умножение), REAL_TO_TIME (преобразование типа переменной), LIMIT (ограничение), SUB (вычитание) и BLINK (генератор прямоугольных импульсов).

 

Программа на CFC для формирования ШИМ-сигнала

Рис. 2. Программа на CFC для формирования ШИМ-сигнала

 

            Программа работает следующим образом: чтобы добиться соответствия диапазонов входного сигнала и периода ШИМ-сигнала, нужно отмасштабировать входной сигнал так чтобы при его максимум соответствовал периоду ШИМ-сигнала, а именно умножить на 50. Это можно выполнить с помощью элемента MUL.

Далее нужно преобразовать наш аналоговый сигнал, имеющий тип REAL в тип TIME. Таким образом, мы получим сигнал меняющийся в диапазоне [0; 1000] миллисекунд.

В условии задания нам нужно менять скважность сигнала только в диапазоне [20; 50] %, поэтому мы ограничиваем сигнал элементом LIMIT, записывая на его входы 200 и 500 мс.

Чтобы сгенерировать сигнал нужной длительности и периода необходимо два сигнала: сигнал импульса и время ожидания/паузы. Для этого из периода ШИМ-сигнала нужно вычесть длительность импульса, что легко сделать на элементе SUB.

Для визуализации программы нужно создать новый объект на вкладке «Визуализации», разместить на форме элементы: ползунок, прямоугольник и эллипс и сконфигурировать эти элементы.

 

Визуализация работы программы

Рис.3. Визуализация работы программы

 

            Ползунок нужен для эмуляции изменения входного тока от датчика в диапазоне от [0; 20] мА.  Он привязывается к переменной «Vhod» и в нем устанавливается диапазон изменения [0; 20].

            Прямоугольник нужен для вывода числовых значений входного сигнала. В нем конфигурируется категория «Переменные – Вывод текста», т.е. прописываем переменную «Vhod». Кроме того, чтобы переменная выводилась нужно в категории «Текст – Строка» вписать «Вход %3.0f мА».

            Эллипс служит для индикации лампы, он связан с переменной «Vihod» и в нем установлены обычный и тревожные цвета заливки.

            Во время работы программы, при изменении ползунком входного сигнала, также будет меняться длительность импульса и как следствие время свечения лампы.