Настройка ОВЕН МУ110-8Р

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Автор
    Сообщения
  • #2868
    djbond07
    Участник

    Добрый день! Использую модуль ОВЕН МУ110-8Р для управления. При настройке конфигуратора проблем не возникло, но есть один момент.

    Чтобы активировать любой выход (допустим №1) нужно послать бинарную команду либо строкой «01» либо 16-ричными данными «0001». Стандартная команда не проходит, так как ячейки имеют тип данных «bool». Так вот. Получается, чтобы в ручном режиме из веб приложения активировать выход, пользователю нужно будет вводить «01», что не очень удобно. Как можно сделать так, чтобы в веб приложении можно было как со стандартной командой поступать: Включить-Отключить?

    #2869
    manjey73
    Участник

    С какой радости у МУ110-8Р булевые переменные ?

    Включение конкретного выхода производится записью 1000 в регистр выхода.
    Булевые применяются при записи в Битовую маску выходов.

    в любом случае необходимо использовать формулу либо для сбора битовой маски либо для умножения вашего вкл/выкл на 1000 и отправки как есть стандартной командой.

    з.ы. нет в наличии МУ110-8Р но документация говорит именно об этом.

    #2870
    djbond07
    Участник

    Вот ссылка на скриншот с документации
    https://drive.google.com/file/d/0Bzn5jzldeU-dUTZybFI1QUJjczA/view?usp=sharing
    Документация с оф. сайта. Вы, вероятно, скачивали документацию с «ОВЕН Спб», там лежит не тот файл.
    1000 в регистр выхода устанавливает ШИМ на 100% — это понятно, но эту 1000 нужно записывать бинарной командой в 16-ричном формате (строка не проходит). Соответственно мудрить с формулами чтобы на выходе было «03Е8», что соответствует 1000.
    Более того, я тестировал отправку команд в ячейки (не регистры) через коммуникатор. Проходят только бинарные команды в строке «01» либо в формате 16-ричных данных «0001». Поэтому и встал вопрос.

    #2871
    manjey73
    Участник

    Если я правильно помню, из SCADA все передается в формате double в режиме стандартной команды.

    А кто мешает сделать формулу, чтобы он передал в регистр 03Е8 при варианте ВКЛ/ВЫКЛ ?
    кто-то мешает умножить вашу единицу на 0х1000 что ли ?

    Там же С#, че хотите, то и творите…

    • Этот ответ был изменен 7 лет, 8 месяцев назад от manjey73.
    #2873
    Mikhail
    Модератор

    03Е8 можно отправить как бинарной командой, так и стандартной. При использовании стандартной команды нужно отправлять такое число double, чтобы оно кодировалось указанными байтами, т.е. 1000 не сработает

    #2874
    Mikhail
    Модератор

    Я использовал формулу:

    public double OWEN_Cmd(double cmdVal)
    {
      return cmdVal > 0 ? 
        BitConverter.ToDouble(new byte[] { 0xFF, 0, 0, 0, 0, 0, 0, 0 }, 0) :
        0;
    }
    
    #2877
    djbond07
    Участник

    Как-то уже обсуждался подобный вопрос, и вся загвоздка была в том, что я писал формулу, включающую в себя переменную cmdData, но почему-то значение команды проскакивало мимо формулы и шло прямо на выполнение. Но раз Вы говорите, что использовали формулу, то думаю, что должно сработать.

    #2878
    Mikhail
    Модератор

    «Проскакивает» при использовании Модуля авт. упр.
    В моём случае он не использовался.

    #2894
    djbond07
    Участник

    Добрый день! При компиляции выскакивает ошибка:
    Строка 551, колонка 113: error CS1501: Ни одна из перегрузок метода «OWEN_Cmd» не принимает «0» аргументов

    И также начинает ругаться на все строчки «return double.NaN;» в моих формулах.

    #2895
    djbond07
    Участник

    Разобрался. Я неправильно вызывал метод (то есть записывал формулу в КУ). Я писал «OWEN_Cmd()», а нужно «OWEN_Cmd(CmdVal)». Сейчас всё работает, спасибо большое.

    #2896
    djbond07
    Участник

    Михаил, Вы сказали, что обходились без модуля автоматического управления. Вы управляли выходами только в ручном режиме? или же в автоматическом тоже работало? В таком случае как мне также обустроить систему? Просто подключение модуля рождает большие неудобства в настройке и усложняет систему. Раз у меня теперь КУ понимает стандартные команды, и выдаёт корректный сигнал, то осталось организовать связь между формулами входных каналов и значениями команд управления. Как это можно сделать?

    #2897
    Mikhail
    Модератор

    Формулы для каналов управления работают только в ручном режиме. Автоматические команды проще отправлять в бинарном виде. Будут работать оба варианта одновременно.
    Т.е. если нужно автоматическое управление, то используйте модуль. Если не нужно, то не используйте ))

    #2901
    djbond07
    Участник

    Понял, значит без модуля не обойтись) Хорошо, спасибо!)

    #3222
    djbond07
    Участник

    Добрый день! Хотел бы продолжить тему. Всё хорошо работает, если нужно выставить ШИМ на 100%. Но если выставить на 50%? Как правильно будет выглядеть формула в этом случае? Пробовал разные варианты записи в массив байт, ничего не подошло.

    #3223
    djbond07
    Участник

    Небольшое дополнение. В коммуникаторе в настройках шаблона выходы в ячейках Holding registers. Если с коммуникатора отправлять 03E8, то выход активируется, если отправлять 01F4, то получаем ШИМ 50% скважности. Вопрос только в том, как это сделать через формулу?

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Вы должны авторизироваться для ответа в этой теме.