Считывание битовой маски с Овен МВ110

Стартовая страница Форумы Взаимодействие с устройствами Считывание битовой маски с Овен МВ110

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

    Здравствуйте. У вам есть шаблон КП для прибора Овен МВ110-16Д. Первая строка в данных КП в коммуникаторе — Входы 1-16. Это битовая маска значений всех входов. Можно ли разложить её по битам средствами рапид скады ? Хотелось бы получать значения о или 1 для каждого из входов в отдельном входном канале без применения ОРС серверов.

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

    Добрый день!
    Да, конечно можно. Нужно в SCADA-Администраторе создать дорасчётные входные каналы и использовать для них формулу GetBit. Сама формула описана в таблице формул там же. Дополнительную информацию по работе с формулами см. в техническом описании и здесь на форуме есть обсуждения по дорасчётным каналам.

    #2299
    lopezmil
    Участник

    Спасибо за ответ. Правда он меня ещё больше озадачил. Я совсем не силён в текстовых языках программирования. Мне не понятен смысл сего выражения:
    UInt64 uintVal = (UInt64)val;
    return (uintVal >> n) & 1;
    И, если честно, очень скудно описано использование формул и пр. в техническом описании.
    Если я правильно понял, то в первой строке мне нужно будет записать UInt52, так как у меня считывается битовая маска с 52 регистра? А n — это номер бита. Т.е., чтобы считать первый бит 52 регистра формула будет выглядеть так:
    UInt52 uintVal = (UInt52)val;
    return (uintVal >> 1) & 1; ???
    Прошу прощения за мою неграмотность ((

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

    Формула уже готова. Её нужно только применить. В таблице Входные каналы для созданного канала типа Дорасчётный ТС в поле Формула укажите, например, GetBit(Cnl, 0) и поставьте галочку использования формулы.

    #2301
    lopezmil
    Участник

    Подскажите пожалуйста, в администраторе в столбец сигнал что вводится?

    #2302
    lopezmil
    Участник

    Откуда родом сигнал я понял, но какой он должен быть непонятно. Сделал всё по вашим указаниям, но появилась ошибка — [2] ILLEGAL DATA ADDRESS!

    #2304
    djbond07
    Участник

    Откуда родом сигнал я понял, но какой он должен быть непонятно.
    Он должен быть таким же как поле «Сигнал КП» при настройке опроса КП в коммуникаторе. Это поле как раз связывает реальные данные, получаемые с устройства и входной канал.

    #2305
    lopezmil
    Участник

    Сделал его таким же, как поле «Сигнал КП». Теперь при запуске коммуникатора в состоянии линии связи под «Пользовательские параметры»,» Общие свойства» и » Активные КП» появилось слово «нет». А в журнале линии связи: инициализация линии связи … и загрузка шаблона устройства из файла … И всё. Больше ничего не происходит.

    #2306
    djbond07
    Участник

    Вы создавали входные каналы через Scada-Admin -> сервис -> создание каналов? И скиньте логи коммуникатора, лишним не будет.

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

    [2] ILLEGAL DATA ADDRESS! возникает при некорректном шаблоне Модбас.
    При передаче базы конфигурации серверу её копия сохраняется в C:\SCADA\ScadaAdmin\Backup При желании можно откатить изменения

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

    Может быть Вам заказать онлайн обучение? Оно здорово экономит время на этапе знакомства с системой. Можем вместе настроить работу с устройством.

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

    Согласен, что нужны логи из Коммуникатора.

    #2340
    lopezmil
    Участник

    Есть несколько вопросов по онлайн обучению: когда и в каком формате оно будет проходить, сколько по времени, какой объём информации я оттуда почерпну, какова цена вопроса, можно ли будет записать этот курс молодого бойца для дальнейшего личного использования???

    #2342
    lopezmil
    Участник

    Создал входной канал типа Дорасчётный ТС. Шаблон КП использую уже имеющийся, KpModbus_OWEN_MV110-16D.xml. В поле Сигнал записал 1, т.к. раскладываем 1 сигнал( Входы 1-16).Поставил галочку в поле использовать формулу и в поле формула ввёл GetBit(Cnl, 1). Но, как я понимаю, мне же нужно создать 16 входных каналов, в каждом из которых будет содержаться один из 16 битов 52-го регистра или 1-го сигнала по вашему шаблону КП для Овен МВ110-16Д? Я про эти каналы и спрашивал. Как и в каком виде они должны быть прописаны в администраторе во вкладке Входные каналы или в конфигураторе, или и там, и там?

    #2343
    lopezmil
    Участник

    А ошибка была в моей невнимательности вот здесь: GetBitCnl, 1)

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