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

Тема: обращение к битам по модбас

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #13
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    это то, что здесь называют маской?
    да, конечно, я попробую так и делать. и автор, что интресно, доступен будет в понедельник.
    вообще не понимаю, зачем гонять по линии несколько байт для передачи одного бита. ведь выделить их из байта (или впихнуть туды биты) совсем не сложно...

    но все таки. предположим, что я никогда не узнаю, с каким адресом мне нужно обратиться к ацп, чтобы по команде чтения регистра вытянуть 16 байт и распотрошить их на биты.
    тогда процедура создания в конфигураторе возможности обращения к битовым переменным с указанными адресами 100, 101, 102... - какова?
    ведь я порождаю там минимально объект длиной 8 бит. нет там буля...
    вот это хотелось бы понять. пока автор досыпает свои сны

    А пока пофантазирую. Описание Модбаса говорит, что со стороны девайса распределение адресов может быть каким угодно. Единственное:

    The only requirement is to link data reference with physical address

    Таким образом, размышляю я, вовсе не факт, что битовые переменные с адресами 100 и 101 будут физически рядом (как бы это не казалось очевидным). А если так, то я в самом строго независящем от причуд программиста АЦП случае должен сделать так:

    1) Для чтения бита 100 - Конфигуратором породить 8 бит в области обмена, дать этому объекту адрес 100 и обращаться к нему командами битового чтения. В получаемом ответе я должен взять строго младший бит, ибо стандарт говорит, что в любом случае именно там находится бит бит, который я адресую.

    2) Для чтения бита 101 я точно так же порождаю байт, но даю ему номер 101 и так же обращаюсь к нему, вытягивая младший бит.

    3) Для записи 100 бита я порождаю еще один объект с номером 100 и объявляю его выходным. И пишу либо 0000, дибо FF00. И других вариантов нет.
    Вроде так...

    Исправлено: Ага! Дудки! Вкуриваю Конфигуратор: В возможных командах в выходном модуле "8 битов" есть только команда 0x0F и "застандартная" 0x71. Вот и выходит (если я правильно понимаю), что записать в один бит, не переживая о способе размещения остальных битов - НИЗЗЯ.

    Это правильно?
    Последний раз редактировалось drvlas; 18.12.2010 в 11:16.

Ваши права

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