Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Чтение нескольких регистров DWORD из ПЛК, выравнивание адресов.

  1. #1

    По умолчанию Чтение нескольких регистров DWORD из ПЛК, выравнивание адресов.

    Про выравнивание многократно говорили, но про несколько регистров DWORD я не нашел. Решил спросить , правильно ли я понимаю. Хочу панелью опросить три регистра DWORD. По документации прочитал, что адреса будут кратны 4.
    1 регистр 0х00
    2 регистр 0х04
    3 регистр 0х08.
    Но ведь получаются дырки, незанятые в адресном пространстве с адресами 0х02, 0х03, 0х06, 0х07. Правильно ли я понимаю?

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    нет
    DWORD занимает 2 регистра а не 4.
    1 регистр -2 байта(word)

  3. #3

    По умолчанию

    Я знаю , что два, я же упомянул про дырки. Вы не внимательно прочитали мой пост.

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

    По умолчанию

    Цитата Сообщение от ZPavel Посмотреть сообщение
    Про выравнивание многократно говорили, но про несколько регистров DWORD я не нашел. Решил спросить , правильно ли я понимаю. Хочу панелью опросить три регистра DWORD. По документации прочитал, что адреса будут кратны 4.
    1 регистр 0х00
    2 регистр 0х04
    3 регистр 0х08.
    Но ведь получаются дырки, незанятые в адресном пространстве с адресами 0х02, 0х03, 0х06, 0х07. Правильно ли я понимаю?
    Если регистры в конфигураторе расположены друг за другом, то их адреса будут
    1 регистр 0х00
    2 регистр 0х02
    3 регистр 0х04.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #5

    По умолчанию

    DWORD- четырехбайтная переменная.
    четырёхбайтным переменным присваиваются адреса, кратные 4; двухбайтным – кратные 2; - это так сказано в инструкции, получается инструкция лжёт?

  6. #6
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    По твоей логике 0х00- адрес кратный 4-м?
    Включай мозг...

  7. #7
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Чтобы было понятнее представьте себе, что адресное пространство состоит из ячеек размером по 4 байта. В одну ячейку можно положить 2 регистра или одну 4-х байтную переменную. Таким образом адрес ячейки для 4-х байтной переменной должен быть кратен 4 байтам. Иначе она будет размещена в двух разных ячейках.

    Надо просто следить за адресацией так, чтобы нужная нам переменная целиком помещалась в одну ячейку.
    Последний раз редактировалось amn; 27.10.2014 в 16:22.

  8. #8

    По умолчанию

    Хорошо, если придираться к инструкции так как предлагает lara197a, тогда получаем адреса 0х04, 0х08, 0х0с, будь неладен тот, кто ее писал. Хотя, мы все понимаем, что они начинаются с 0х00. Но тогда почему тот человек написал кратным 4. Или он подразумевал адреса байтов. Там указываются адреса, адреса чего, мол догадывайтесь сами. В табличке 7.3 есть адреса битов, байтом, регистров, а в тексте, встречается несколько раз слово адрес, а вот адрес чего , не понятно.

  9. #9
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Еще раз:
    1 регистр -2 байта
    2 регистра -4байта
    Адрес должен быть для 4-х байтной переменной кратен 4-м(байтам)
    Что не правильно написано?
    Где сказано, что номер адреса кратный 4-м?

  10. #10
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    причем тут с нуля?
    Если к примеру переменная 1=2 байтам,
    а 2 и 3 4-м байтам,
    то адреса будут
    0х00
    0х01
    0х03
    И это будет правильно, не смотря на то, что ни1 ни 3 на 4 не делятся!!
    Это просто кошмар..

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. 4байта dword из плк по модбус в lectus
    от alexval2006 в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 19.12.2011, 18:40
  2. Сеть из нескольких ПЛК через Ethernet
    от Boo the Hamster в разделе Сетевые технологии
    Ответов: 12
    Последнее сообщение: 03.11.2011, 11:10
  3. Проблема с записью нескольких регистров
    от Денис_NTS в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 11.05.2011, 10:55
  4. чтение из ПЛК
    от new_name в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 17.01.2009, 19:12
  5. Ответов: 23
    Последнее сообщение: 17.10.2007, 08:35

Ваши права

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