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

Тема: невероятно медленный опрос модулей МВ110-220.8АС

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    ASo Потому что когда я делал по схеме WORD_TO_REAL(Value) / EXPT(10, WORD_TO_REAL(DigPoint)) - меня отругали и сказали что надо юзать FLOAT вместо этой фигни =)
    А Float я чего-то боюсь и не понимаю... а ща, раз тему затронули, есть шанс спросить как правильно.

    Итого, мои вопросы:
    1. Чтобы не терять знак при преобразованиях, мне значение регистра, которое WORD, надо преобразовывать в INT, который знаковый?
    Верно?

    2. Если я хочу собрать REAL (то есть FLOAT), то как делать так, чтобы не потерялся знак?
    Я не понимаю пока что. Вот есть у меня 4 байта. Я могу из них собрать DWORD побитно, как подсказал Валенок.
    И чего мне с этим DWORD делать, в котором мои 4 байта будут?
    SysMemCpy ему в REAL что ли делать?
    Или просто написать DWORD_TO_REAL?
    Тут я туплю, и мне надо не код с магическими числами как у Sergey66 (так учили писать в совковых школах, где все индексы i и j, и ни хера не ясно что то всё значит), а понять типы данных и то, как они собираются из байт.
    1) Просто объявить как INT, этого достаточно
    2) DWORD вообще не нужен, из 4 байт сразу собираешь REAL, знак не потеряется
    Я раньше делал так

    W[0]:=byIn1 ; (* четыре BYTE_а, из которых собираем rOut REAL *)
    W[1]:=byIn2 ;
    W[2]:=byIn3 ;
    W[3]:=byIn4 ;

    ptr_In :=ADR(W);
    ptr_Out := ADR( rOut);

    ptr_Out^[ 0 ] :=ptr_In^[ 0 ] ; (* при желании можно BYTEы поменять местами*)
    ptr_Out^[ 1 ] :=ptr_In^ [ 1 ] ;
    ptr_Out^[ 2 ] :=ptr_In^[ 2 ] ;
    ptr_Out^[ 3 ] :=ptr_In^ [ 3 ] ;

    Потом Валенок научил как считывать 4 строками все данные из МВА8, кстати всё было выложено в теме Для новичков, которую удалили(((
    Последний раз редактировалось kondor3000; 29.06.2021 в 21:39.

Похожие темы

  1. Опрос модулей МВ110-хх
    от Antonio-oz в разделе Мх110
    Ответов: 2
    Последнее сообщение: 14.12.2019, 14:49
  2. Ответов: 2
    Последнее сообщение: 13.03.2015, 01:00
  3. Ответов: 5
    Последнее сообщение: 20.02.2013, 01:44
  4. Опрос несколько модулей МВ110 через лектус
    от llx89 в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 20.02.2013, 01:44
  5. Ответов: 9
    Последнее сообщение: 17.03.2011, 05:48

Ваши права

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