Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 41

Тема: DWORD_TO_REAL

  1. #31
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    ну и что в этом коде не так, у Вас слейвы от каждого производителя разная последовательность байт, так это опять проблема не среды.Там имеет смысл поиграться с типами данных в структурах и можно не пользоваться роллами, а для каждого нума свою структуру, только там где требуется переворачивать так и так делать преобразования. В КДС так же своя структура в одном месте сразу пойдет, в другом преобразовывать всё равно придется
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  2. #32

    По умолчанию

    Дело еще в том, что этот код у меня пишет скрипт на VBA, и мне гораздо удобнее не заморачиваться со структурами, тем более еще с преобразованиями к этим структурам.
    Мне гораздо удобнее, когда одна строка соответствует записи в один тег.
    Последний раз редактировалось @ND; 07.08.2015 в 18:19.

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

    По умолчанию

    Цитата Сообщение от @ND Посмотреть сообщение
    Дело еще в том, что этот код у меня пишет скрипт на VBA, и мне гораздо удобнее не заморачиваться со структурами, тем более еще с преобразованиями к этим структурам.
    Мне гораздо удобнее, когда одна строка соответствует записи в один тег.
    и во всем виноват S3 software, чеж не Путин то?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #34

    По умолчанию

    и во всем виноват S3 software
    Да нет конечно.

    Ну просто получается в STEP7 есть интерпретаторы типа DWORD_TO_REAL, WORD_TO_INT, ... и.т.д. так сказать из коробки,
    а в КДС их нет. А ведь это хороший, достаточно нужный инструмент.
    Последний раз редактировалось @ND; 07.08.2015 в 18:28.

  5. #35
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    в КДС есть чтоТоТам_TO_чтоТоЕще, как оказалось с разницей, что степ DWORD переводит в REAL согласно IEEE745 только ради удобства а не логики
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #36

    По умолчанию

    в КДС есть чтоТоТам_TO_чтоТоЕще, как оказалось с разницей, что степ DWORD переводит в REAL согласно IEEE745 только ради удобства а не логики
    А где прослеживается логика, когда 16#1 переводится как 1.0 ? Учитывая, что DWORD это вообще не числовой тип.

  7. #37
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    dword_to_dint даст единицу, dint_to_real возвратит 1.0 здесь хоть какая то логика прослеживается. А преобразовывать во флоатовский формат, обязательно найдутся те кто скажет что это неудобно и им придется прежде чем получить реал пользоваться преобразованием в dint/udint.
    Надеюсь Вы не считаете, что всё само собой конвертируется, ну реализовано в степе преобразование по стандарту, на него всёравно тратятся процессорные ресурсы, точно так же , как если бы Вы сами это делали
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  8. #38
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,693

    По умолчанию

    А кто сказал что DWORD не целочисленный тип ?
    В Help КДС :
    "
    Integer Data Types

    BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, and UDINT are all integer data types
    Each of the different number types covers a different range of values. The following range limitations apply to the integer data types:

    И чего полемику устраивать ?
    А вот для ПЛК известных брэндов , работающих под языком LD есть мощнейший оператор MOV , который безусловно и безоглядно перенесет откуда нужно куда нужно , заменяя указатели Кодесис . Но никому в голову не приходит пенять кодесис за отсутствие "MOV" .
    Организация памяти не та .

  9. #39
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    А кто сказал что DWORD не целочисленный тип ?
    Стандарт сказал:

    dword.png dword1.png

    Арифметические операции не определены для битовых строк:

    dword2.png

    Битовые операции не определены для числовых типов:

    dword3.png
    Последний раз редактировалось Yegor; 08.08.2015 в 09:10.

  10. #40

    По умолчанию

    Добавлю терминов.
    То, что требовалось ТС - typecast (приведение типов). Из целей безопасности кода typecast напрямую запрещён в CoDeSys. Искать лень, но это прописано где-то в начале изучения CoDeSys. Поэтому такие сложности - чтобы не случайно, а осмысленно выполнялось.

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

Ваши права

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