День добрый, возникла необходимость использования ШИМ в обычных DO на ПЛК210-03 тк не хватает быстрых выходов в проекте. Используются для управления пропорциональных клапанов (I=0.3...0.75A, R=13.4Ом и I=0.3...0.5A, R=20,8Ом). МУ210-412 не подходит, поэтому и хочется использовать обычные DO (ну и из-за того что там тоже транзисторные ключи). Написал простой вариант ШИМа для этих выходов, но при включении получаются сильные мерцания. Частота шим должна быть 50 ГЦ. Так вот вопрос: возможно ли избавиться от мерцаний пограммным способом (ошибки в коде, либо же другой варинт исполнения ШИМ), либо же получится только аппаратным
Код:FUNCTION_BLOCK PWM6
VAR_INPUT
pwm_coef: UDINT;
END_VAR
VAR_OUTPUT
out_value: BOOL;
END_VAR
VAR
x: UINT := 0;
COEF17: ARRAY [0..5] OF BOOL := [1,0,0,0,0,0];
COEF34: ARRAY [0..5] OF BOOL := [1,1,0,0,0,0];
COEF50: ARRAY [0..5] OF BOOL := [1,1,1,0,0,0];
COEF67: ARRAY [0..5] OF BOOL := [1,1,1,1,0,0];
COEF84: ARRAY [0..5] OF BOOL := [1,1,1,1,1,0];
END_VAR
Код:CASE pwm_coef OF
0:
out_value := FALSE;
1:
out_value := COEF17[x];
2:
out_value := COEF34[x];
3:
out_value := COEF50[x];
4:
out_value := COEF67[x];
5:
out_value := COEF84[x];
6:
out_value := TRUE;
END_CASE
x := x+1;
IF x > 6 THEN
x := 0;
END_IF

