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

Тема: Фичи и баги OWEN Logic

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,438

    По умолчанию

    Цитата Сообщение от b-s-a Посмотреть сообщение
    Owen Logic 1.20.277.0, ПР200-220.24.2.0.
    Попытался читать полную мощность из ОМ-310 (Новатек) по Modbus. Создал устройство в настройках, задал адрес и целочисленную переменную из двух регистров. Если читать два регистра (в документации к ОМ-310 указано, что полная мощность от 0 до 5000000 ВА находится в регистрах 120 и 121, передается в десятках ВА), то приходит очень большое значение (ОМ-310 показывает ~700 Вт, а ПР200 - ~180000). Попробовал изменять порядок регистров (старший вперед) - становилось еще хуже (там уже миллиарды были), хотя в документации указано, что порядок влияет только на float. Пробовал менять номер регистра на 121, тоже лучше не становилось. Прочитал регистры 120 и 121 по отдельности, в 120 корректное значение мощности, а в 121 - 0 (что правильно).

    Подозреваю, здесь где-то ошибка, а то и несколько:
    1. Порядок следования регистров не должен влиять на целочисленные переменные, как это указано в документации.
    2. При чтении двух регистров в одну переменную происходит какой-то сбой.
    Я наверно что-то пропустил, что сейчас сделали что два регистра сами склеиваются в одну 32 битную целочисленную переменную?
    Раньше приходилось вручную склеивать и пожаловаться не на кого было, как сам склеил - так и будет и сетевые целочисленные переменные были 16 битные!
    Короче, интересно, где Вы такое вычитали?
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  2. #2
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Я наверно что-то пропустил, что сейчас сделали что два регистра сами склеиваются в одну 32 битную целочисленную переменную?
    Раньше приходилось вручную склеивать и пожаловаться не на кого было, как сам склеил - так и будет и сетевые целочисленные переменные были 16 битные!
    Короче, интересно, где Вы такое вычитали?
    Это в слейве нет Dword
    А в мастере должен быть
    Захват-01.png
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,438

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Это в слейве нет Dword
    А в мастере должен быть
    Захват-01.png
    Тогда и при записи 32 битной внутренней переменной(в режиме мастер) достаточно её подать в сетевую переменную и назначить для неё 2 регистра в качестве количества регистров, надеюсь, я правильно понимаю? А то раньше разбивал 32 битную внутреннюю переменную пополам на два регистра для её передачи, насколько понимаю, сейчас это не надо делать?
    Всё равно как-то не совсем понятно, для режима слейв - надо по старинке вручную разделять на два соседних регистра, для мастера - не надо, само разделяется-склеивается!
    Спасибо, хоть немного стало понятней!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #4
    Пользователь
    Регистрация
    04.05.2021
    Адрес
    Москва
    Сообщений
    71

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Тогда и при записи 32 битной внутренней переменной(в режиме мастер) достаточно её подать в сетевую переменную и назначить для неё 2 регистра в качестве количества регистров, надеюсь, я правильно понимаю? А то раньше разбивал 32 битную внутреннюю переменную пополам на два регистра для её передачи, насколько понимаю, сейчас это не надо делать?
    Всё равно как-то не совсем понятно, для режима слейв - надо по старинке вручную разделять на два соседних регистра, для мастера - не надо, само разделяется-склеивается!
    Спасибо, хоть немного стало понятней!
    Вот я собственно так и сделал. Назначил 2 регистра. А при чтении какая-то ерунда приходила. Попробовал все варианты порядка следования - не помогло. Пришлось забить и использовать только младшую часть (все равно, даже такой мощности у меня никогда не будет).

    Разработчики, добавьте возможность автоматического преобразования регистров. Например, есть регистр, управляющий напряжением, принимает значения от 0 до 1000, а результирующее напряжение 0.00-10.00В. Сделайте возможность задания множителя с преобразованием типа.

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  4. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

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