Библиотека оскат блок tpx
Вид для печати
//50Гц
клапан := заполнение >= time_to_dword(time()) mod 20;
заполнение 0..20 (шаг 1), что есть 0.00..1.00 (шаг 0.05)
Вопрос только в цикле ПЛК.
Точней только железные
Только что узнал о существовании подобных устройств...
Первый вопрос, который возник - увидел в брошюре, что эти клапаны могут дооснащаться преобразователями 4-20 мА -> ШИМ (2 А) - может быть дооснастить штатным устройством?
Получилось реализовать ШИМ на основе двух таймеров, только вот мерцания все так же сохранились. Скорее всего это из-за того, что эти выходы работают с максимальной частотой 300 Гц в зависимости от цикла ПЛК
Код:PROGRAM PWM
VAR_INPUT
pwm_coef: UDINT := 0; //1%=10
pwm_freq: UDINT := 20; //в UW
time_set: TIME;
END_VAR
VAR_OUTPUT
out_value: BOOL;
END_VAR
VAR
freqTimer: OSCAT_BUILDING.OSCAT_BASIC.CLK_PRG; //таймер, выводящий сигнал с потоянной частотой
pwmTimer: OSCAT_BUILDING.OSCAT_BASIC.TP_X; //таймер ШИМ
END_VAR
Код://time_set := REAL_TO_TIME(1000*REAL_TO_UDINT(1.0/TO_REAL(pwm_freq)));
freqTimer(PT := time_set);
//time_set := REAL_TO_TIME(REAL_TO_UDINT((1.0/TO_REAL(pwm_freq))*TO_REAL(pwm_coef)));
time_set := TO_TIME(TO_REAL(T#20ms) * TO_REAL(pwm_coef)/1000);
pwmTimer(IN := freqTimer.Q, PT := time_set);
out_value := pwmTimer.Q;