UltraLogik – система программирования контроллеров АСУ ТП: Учебное пособие, страница 12

Подпись:   б
В начале цикла вычисляются таймерные переменные Т1, Т2  и запускается Т3. Значение переменной Т1 определяет сколько времени на выходе удерживается значение TRUE. Переменной Т2 присваивается значение периода следования импульсов. Значение Т1 вычисляется по формуле:

Т1 = VAL ·  T2/100. 

В программе вместо делителя 100 используется 1s (1s = 100 сантисек). Диаграмма работы показана на рис. 34, в.

Измеритель интервала времени

Библиотека FREQTIME

Элемент DTL

Внешний вид и назначение выводов(рис. 35), где  IN1 (BOOLEAN) - событие 1 (положительный фронт), IN2 (BOOLEAN) - событие 2 (положительный фронт), T (TIMER) - интервал времени между событиями.

Элемент предназначен для измерения интервала времени между двумя событиями. Значение элемента на выходе Т  равно интервалу времени  между положительными  фронтами сигналов  на входах IN1 и IN2.

FBD программа  показана на рис. 36, a, а диаграмма работы – на рис. 36, б. По положительному фронту сигнала на выходе IN1 инициализируется таймерная переменная Т1. По положительному фронту сигнала на входе IN2 значение Т1 копируется в таймерную переменную Т1.

 


Рис. 36

Измеритель длительности положительного импульса

Библиотека FREQTIME

Элемент  WIDTH

Внешний вид и назначение выводов показаны на рис. 37, где  IN1, IN2  (BOOLEAN) – входы, T (TIMER) – длительности импульса на входе IN.

Элемент предназначен для измерения длительности положительного импульса. Значение переменной на выходе Т равно длительности положительного импульса сигнала на входе IN.

FBD программапоказана нарис. 38, а. По положительному фронту сигнала на входе IN инициализируется таймерная переменная Т1. По отрицательному фронту сигнала на выходе IN значение Т1 копируется в таймерную переменную Т. Диаграмма работы показана на рис. 38, б.

 


Подпись: Рис. 38

Измеритель частоты контроллера

Библиотека FREQTIME

Элемент  CPS

На выходе CPS  формируется переменная  со значением, равным количеству циклов контроллера в секунду.

FBD программа показана на рис. 39. Секция INIT выполняется один раз  при первом проходе  программы  и инициализирует таймерную переменную Т1. На элементе ADD собран счётчик циклов. В  каждом цикле переменная CUR  увеличивается на 1. Как только значение переменной Т  станет равно 1s,  переменная CUR копируется в CPS. Таймер Т инициализируется, в CUR заносится 0,  и отсчёт количества циклов начинается заново.

Детектор фронта

Библиотека BOOLEAN

Элемент Front

Внешний вид и назначение выводов показаны на рис. 40, где IN (BOOLEAN) - входной сигнал, Q (BOOLEAN) - выход детектора.

Элемент предназначен для обнаружения перепада сигнала. Выход детектора фронта примет значение TRUE на один цикл контроллера всякий раз, когда сигнал на входе IN изменит свое состояние.


FBD программа представлена на рис. 41, а, диаграмма работы – на рис. 41, б.

Модуль входного значения 

Библиотека REGULATION

Элемент ABS

Внешний вид и назначение выводов показаны на рис. 42, где Inp  (AUTO) - входное значение, Out  (AUTO) - модуль входного значения.

 Генератор меандра

Библиотека FREQTIME

Элемент  GSS

Внешний вид и назначение выводов показаны на рис. 43, где  T (TIMER)   - половина периода импульсов, Q (BOOLEAN) - выход генератора.

Элемент  GSS на выходе Q формирует меандр с периодом 2T.FBD программа показана на рис. 44. 

Диаграмма работы показана на рис. 45.

Генератор пилообразного сигнала

Библиотека FREQTIME

Элемент  GTR

Внешний вид и назначение выводов  показаны на рис. 46,  где T (TIMER) – период, A (INTEGER) – амплитуда, Out (INTEGER) – выход.  

Генератор работает следующим образом.На входе T задается период следования сигнала. A определяет амплитуду сигнала на выходе Out и должно быть больше или равно 0. Амплитуда сигнала Out изменяется в пределах от 0 до A-1.

В FBD программе (рис. 47) секция INIT выполняется один раз при первом проходе программы и инициализирует таймерную переменную Т1.

В течение периода, время которого определяет значение переменной Т, амплитуда сигнала на выходе  Out вычисляется по следующей формуле: Out=A·T1/T.

Предупреждение. Значение переменной Т не должно быть равно 0. Значение переменной А не должно быть меньше 2.

Генератор синусоидального сигнала

Библиотека FREQTIME

Элемент  GsinW

Внешний вид и назначение выводов показаны на рис. 48, где  T (FLOAT) - период сигнала, F00 (FLOAT) - выход генератора, F90 (FLOAT) - выход генератора со сдвигом на 90°.

Алгоритм работы следующий.Генератор имеет два выхода: F00 и F90. На втором выходе сигнал сдвинут по фазе вперед на 90°. Амплитуда сигнала на выходе изменяется от -1.0 до 1.0. Частота генератора задается таймерной переменной, которая определяет период сигнала. На частотах с периодом менее 0S50 из-за ошибок квантования период сигнала возрастает. Поэтому генератор работает точно только на низких частотах. В этой библиотеке есть генератор GsinW, на входе которого задается циклическая частота.

В FBD программе (рис. 49)  период, заданный переменной Т, преобразовывается в циклическую частоту и подаётся на вход блока  Gsin. 

            Рис. 49

НЧ фильтр первого порядка (1)

Библиотека FREQTIME

Элемент  LPF1

Внешний вид и назначение выводов показаны на рис. 50, где Inp (FLOAT) - входное значение, T (TIMER) - постоянная времени фильтра, Out (FLOAT) - выходное значение.

Алгоритм работы следующий. Постоянная времени T определяет время, в течение которого значение переменной Out достигнет значения, отличающегося от значения Inp на 1/e часть величины скачка значения переменной Inp = 2.7182818285 (основание натурального логарифма);1/e = 0.36787944117; 1-1/e = 0.63212055883.

В FBD программе (рис. 51) при инициализации блока  значение переменной  Inp копируется в Оut. Локальная таймерная переменная Т1 измеряет промежуток времени между отсчётами.