Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя
Показано с 41 по 50 из 53

Тема: Передача данных в CODESYS 3.5 массивом

  1. #41

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Если собрать цифры из скрина, то передаётся число 1.1 Вложение 74554

    А на скрине, как передать массив WORD и REAL Вложение 74553
    С тем как получить из 2 word real понял. Уже писал, что этот кусок как раз был для проверки.
    Изображения Изображения

  2. #42

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Проверить всё очень просто, сделайте в панели на время дисплеи Float, с адресами подряд , например 769, 770, 771, 772, если ни в одном не правильно, поставьте галку переставить регистры.
    достаточно 4 дисплея с адресами 770, 771, 772, 773? с типом Float?

  3. #43

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    достаточно 4 дисплея с адресами 770, 771, 772, 773? с типом Float?
    Одного не понимаю. Если делать несколько дисплеев с значением Float, туда нужно записывать два Word, так как это число с запятой. в моем случае в рег. 772 и 773 пишется уже другое значение. конечно я понимаю, для Вас это все просто и очевидно, но я запутался окончательно.

  4. #44

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Панель - мастер?
    нет панель slave

  5. #45

    По умолчанию

    забавная штука. Если на блоке Word2_to_real поменять местами переменные 2 к 1, а 1 к 2. то значение установленное на панели показывает верно, но если вернуть как положено 1 к 1 и 2 к 2 и вставить значение TRUE, оно должно же измениться, я же делаю этим перестановку ?
    Изображения Изображения
    • Тип файла: png 12.png (13.4 Кб, Просмотров: 12)

  6. #46
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,618

    По умолчанию

    Если на блоке Word2_to_real поменять местами переменные 2 к 1, а 1 к 2
    ...то вы поменяете порядок регистров в значении.

    и вставить значение TRUE
    ...то вы поменяете порядок байт в значении (xSwapBytes).

  7. #47

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    достаточно 4 дисплея с адресами 770, 771, 772, 773? с типом Float?
    С типом Float. Вы же несколько раз писали, что переставляя регистры, всё равно не правильно отображается.
    В начале, подозревал, что у вас есть выравнивание (то есть смещение регистров относительно адресов, может быть и 1 и 2-3-4 регистра), поэтому и предложил проверить, нет ли у вас смещения.

    Но похоже выравнивания нет, а вы опять запутались в переставленных регистрах и байтах ( байты тоже бывают переставлены)
    Последний раз редактировалось kondor3000; 21.03.2024 в 09:15.

  8. #48

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    С типом Float. Вы же несколько раз писали, что переставляя регистры, всё равно не правильно отображается.
    В начале, подозревал, что у вас есть выравнивание (то есть смещение регистров относительно адресов, может быть и 1 и 2-3-4 регистра), поэтому и предложил проверить, нет ли у вас смещения.

    Но похоже выравнивания нет, а вы опять запутались в переставленных регистрах и байтах ( байты тоже бывают переставлены)
    Спасибо большое за помощь, я везде переставил местами регистры, и все слало работать как должно быть. Единственное хотел бы разобраться почему так произошло, что отправлять нудно сначала регистр 2, а потом 1 в панель, после чего они там складываются корректно. Я не обратил внимание что блок переставляет байты, а я думал регистры

  9. #49

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    Спасибо большое за помощь, я везде переставил местами регистры, и все слало работать как должно быть. Единственное хотел бы разобраться почему так произошло, что отправлять нудно сначала регистр 2, а потом 1 в панель, после чего они там складываются корректно. Я не обратил внимание что блок переставляет байты, а я думал регистры
    Переставляет байты при наличии флага, а регистры Вы и сами можете переставить поменяв местами переменные (разработчики ФБ наверное так же думают )

  10. #50

    По умолчанию

    Цитата Сообщение от ivan.v Посмотреть сообщение
    Спасибо большое за помощь, я везде переставил местами регистры, и все слало работать как должно быть. Единственное хотел бы разобраться почему так произошло, что отправлять нудно сначала регистр 2, а потом 1 в панель, после чего они там складываются корректно. Я не обратил внимание что блок переставляет байты, а я думал регистры
    Тогда, попробуйте передавать REAL массивом. Скрин вам уже давал.
    А то что регистры и байты могут поменяться местами, просто надо знать и знать что надо делать в таком случае.
    Последний раз редактировалось kondor3000; 21.03.2024 в 14:29.

Страница 5 из 6 ПерваяПервая ... 3456 ПоследняяПоследняя

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 05.03.2024, 15:45
  2. Ответов: 0
    Последнее сообщение: 29.03.2021, 22:46
  3. Передача данных СПК107 на СМИ-1. Тип данных REAL.
    от ByuT в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 23.01.2016, 23:35
  4. Передача данных
    от x86 в разделе Сетевые технологии
    Ответов: 9
    Последнее сообщение: 29.12.2015, 15:11
  5. Передача данных по RS-485
    от Flomaster в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 22.01.2009, 09:42

Ваши права

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