Показано с 1 по 10 из 17

Тема: Пр200 и Vacon NXL

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    По умолчанию

    Вчера работал с VECON 100 - только вся документация по Modbus на английском.
    Возможно, что-то совпадёт из адресов и способов обработки.

    Как понимаю, 42101 и 32101 это такая форма записи функций и адресов - т.е. 3x и 2100, 4x и 2100 - все адреса из документа нужно уменьшить на 1.

    Обработчик обмена с ПЧВ
    Код:
    ///<Description>ФБ выполняет преобразование принятых и отправляемых команд при сетевом обмене с ПЧВ VACON.</Description>
    ///<Author>!!FPA!!</Author>
    ///<GroupName>ПЧВ</GroupName>
    
    function_block VFD_VACON_
    
        var_input
            bSetStart       :   bool;
            rSetSpeed       :   real;
            wGetSpeed       :   udint;  // адрес 0837h (2103) - рабочая скорость, диапазон 0-5000 => 0-50.00 (умножить на 0.01)
            wGetIout        :   udint;  // адрес 0839h (2105) - выходной ток
            wGetUChainDc    :   udint;  // адрес 083Dh (2109) - напряжение на ЗПТ *1 В
            wNoutPower      :   udint;  // адрес 083Bh (2107) - выходная мощность *0,1 %
            wGetIrate       :   udint;  // адрес 0070h (112) - номинальный ток (умножить на 0.1)
            wGetStateVFD    :   udint;  // адрес 0834h (2100) - регистр состояния:
                                        //  0001 - вращение в прямом направлении
                                        //  0002 - вращение в обратном направлении
                                        //  0003 - остановка
            wGetErrorCode   :   udint;  // адрес 083Eh (2110)
            bResetAlarm     :   bool;
        end_var
    
        var_output
            wSetCmd         :   udint;  // адрес 07D0h (2000):
                                        //  0001 - прямо,
                                        //  0008 - остановка выбегом,
                                        //  0016 - остановка замедлением,
                                        //  0004 - сброс аварии
            wSetSpeed       :   udint;  // адрес 1000h (4096), диапазон 0-100% => 0-10000 (умножить на 100)
            rGetSpeed       :   real;
            rGetIout        :   real;
            rGetUChainDC    :   real;   // напряжение на ЗПТ
            rNoutPower      :   real;   // выходная мощность
            rGetIout_A      :   real;
            rGetIrate_A     :   real;
            bStateStop      :   bool;
            bStateRun       :   bool;
            bStateFault     :   bool;
            wErrorCode      :   udint;
        end_var
    
        var 
            localVariable : real;
        end_var
    
    
    if bResetAlarm then
        wSetCmd := 4;
    else
        if bSetStart then
            wSetCmd := 1;
        else
            wSetCmd := 16;
        end_if;
    end_if;
    
    wSetSpeed   := real_to_udint(rSetSpeed * 100);
    rGetSpeed   := udint_to_real(wGetSpeed) * 0.02;
    
    rGetIout_A  := udint_to_real(wGetIout) * 0.1;
    rGetUChainDC :=udint_to_real(wGetUChainDc) * 0.1;
    rNoutPower  := udint_to_real(wNoutPower) * 0.1;
    rGetIrate_A := udint_to_real(wGetIrate) * 0.1;
    if wGetIrate = 0 then
        rGetIout := 0;
    else
        rGetIout := 100.0 * rGetIout_A / rGetIrate_A;
    end_if;
    bStateStop  := not (wGetStateVFD.1);
    bStateRun   := (wGetStateVFD.1);
    bStateFault := (wGetStateVFD.3);
    wErrorCode  := wGetErrorCode;
    
    end_function_block
    На вход поступают команды из программы:
    - bSetStart - включить ПЧВ
    - rSetSpeed - скорость вращения, в %
    - bResetAlarm - импульс длительностью 3 с от таймера TP - сброс ошибки
    На вход поступают значения из Modbus:
    - wGetSpeed - актуальная скорость ПЧВ с учётом разных ограничений в самом ПЧВ (например, максимального тока)
    - и др. - описаны в комментариях

    На выходе:
    - состояния ПЧВ,
    - скорость ПЧВ, в %
    - рабочий ток, в %

    Алгоритмы, которые дают мне для реализации не привязываются к абсолютным значениям, а всегда вычисляются в % - и рабочий ток и скорость. Поэтому и ФБ оперирует с %.

    Ещё, при разборе примера я неправильно понял и в конфигурации сделал слово управления и слово состояния размером в 2 регистра - нужно уменьшить до 1 регистра.
    Всё читается функцией 3, но и функция 4 тоже даёт правильный результат. Я везде оставил функцию 3.
    Изображения Изображения

Похожие темы

  1. Vacon 100 FLOW Slave + ПР200 MASTER. реализация слов состояния и управления.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 7
    Последнее сообщение: 17.08.2023, 16:58
  2. Vacon 100 Flow + StreamLux + ПР200
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 06.09.2022, 20:49
  3. Vacon + ПР200
    от Григори в разделе Программируемые реле
    Ответов: 2
    Последнее сообщение: 14.07.2022, 07:56
  4. Овен ПЛК 160 + Vacon ПЧ NXL
    от s3rjke в разделе ПЛК1хх
    Ответов: 32
    Последнее сообщение: 14.07.2015, 21:51
  5. Ип 320 и частотники vacon nxl
    от topor18 в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 24.12.2014, 12:35

Ваши права

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