Страница 521 из 1044 ПерваяПервая ... 214214715115195205215225235315716211021 ... ПоследняяПоследняя
Показано с 5,201 по 5,210 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #5201
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Demon444 необходимо добавить промежуточные переменные и контроль их равенства, ну и соответственно проверять какая изменилась и менять другую.
    По крайней мере у меня не получилось, чтобы панель и переменная Modbus могла делать это одновременно...
    Идея - правильная. Странно что не получилось

  2. #5202

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    В1.Любого
    В2-3.Да
    Благодарствую!

  3. #5203

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Код:
    function block FC
    var_input
    	press	 : bool; (*кнопа*)
    	actual, set_point : real; (*бар, датчик и уставка*)
    	kp,tn,tv : real; (*подобрать*)
    end_var
    var_output
    	start : bool; (*на вход-старт FC*)
    	freq : real;  (*Гц*)
    end_var
    var
    	fix : r_trig;
    	active : bool;
    	pid : pid; (*util.lib*)
    end_var
    --------------------
    fix(clk := press);
    active := fix.q xor active;
    start := active or freq > 0;
    pid(
    	actual := sel(active, set_point + 1, actual),
    	set_point := set_point,
    	kp := sel(active, 1, kp),
    	tn := sel(active, 1, tn),
    	tv := sel(active, 0, tv),
    	y_min := sel(active, 0, 10),
    	y_max := 50,
    	y => freq
    );
    А можно прокомментировать эту часть кода?

    var_output
    start : bool; (*на вход-старт FC*)
    freq : real; (*Гц*)
    end_var
    var
    fix : r_trig;
    active : bool;
    pid : pid; (*util.lib*)
    end_var
    --------------------
    fix(clk := press);
    active := fix.q xor active;
    start := active or freq > 0;
    pid(
    actual := sel(active, set_point + 1, actual),
    set_point := set_point,
    kp := sel(active, 1, kp),
    tn := sel(active, 1, tn),
    tv := sel(active, 0, tv),
    y_min := sel(active, 0, 10),
    y_max := 50,
    y => freq
    );

  4. #5204
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    при запуске частота должна быть равна 10 ( при нажатии кнопки ПУСК у нас начинает частотный преобразователь вращать двигатель с частотой=10 Гц)
    Дальше уже в зависимости от Давления ... частота либо увеличивается либо уменьшается (в пределах от 10 до 50 ГЦ).
    отключаем - частота у нас плавно опускается до 0.
    Как и описали
    Какую часть если привели всё ?

  5. #5205
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    Валенок не получилось без сравнения и промежуточной переменной. Так как при записи по сети Modbus и одновременной записи значения из панели что-то кого-то перезатирал.
    Когда добавил промежуточную переменную то все стало нормально.

  6. #5206

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Как и описали
    Какую часть если привели всё ?
    fix : r_trig;
    active : bool;
    pid : pid; (*util.lib*)
    end_var
    --------------------
    fix(clk := press);
    active := fix.q xor active;
    start := active or freq > 0;
    pid(
    actual := sel(active, set_point + 1, actual),
    set_point := set_point,

    Достаточно добавить комменты, что в строках происходит. Спасибо за решение задачи. Я как то не думал ПИД регулятор привлекать.

  7. #5207
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Валенок не получилось без сравнения и промежуточной переменной. Так как при записи по сети Modbus и одновременной записи значения из панели что-то кого-то перезатирал.
    Когда добавил промежуточную переменную то все стало нормально.
    Да я имел в виду что с промежуточной переменной - правильное направление, и не понял почему с ней-то не получилось ))

  8. #5208
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    fix(clk := press);
    могу дать рыбу - об'яснить. Ну лучше научись ее ловить - см. хэлп, standart.lib, r_trig
    active := fix.q xor active;
    Активе - это вкл/выкл с реверсом по кнопе - как и хотели
    start := active or freq > 0;
    не обязательный выход коли нет спец. сигнала СТАРТ на ЧП
    actual := sel(active, set_point + 1, actual),
    здесь и далее ... sel(active, .....) - обман пида чтоб всегда одинаково мягонько опустил в 0 при отключении (active = false) вне зависимости от чего-либо. Есно что со всеми параметрами (KP,TN,TV) можно играть
    set_point := set_point,
    ну это и есть уставка давления. Можно константу запилить.

    PS
    Тому кто будет говорить про зависание этого пида передайте привет и пожелание учиться, учится ...

  9. #5209

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    могу дать рыбу - об'яснить. Ну лучше научись ее ловить - см. хэлп, standart.lib, r_trig

    Активе - это вкл/выкл с реверсом по кнопе - как и хотели

    не обязательный выход коли нет спец. сигнала СТАРТ на ЧП

    здесь и далее ... sel(active, .....) - обман пида чтоб всегда одинаково мягонько опустил в 0 при отключении (active = false) вне зависимости от чего-либо. Есно что со всеми параметрами (KP,TN,TV) можно играть

    ну это и есть уставка давления. Можно константу запилить.

    PS
    Тому кто будет говорить про зависание этого пида передайте привет и пожелание учиться, учится ...
    Передам, спасибо)

  10. #5210

    По умолчанию

    petera, сделал так как вы посоветовали - проще и надежней, просто объявив глобальной. Странно что сам не догадался. Спасибо!

Страница 521 из 1044 ПерваяПервая ... 214214715115195205215225235315716211021 ... ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •