Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 34

Тема: DWORD_TO_REAL

Комбинированный просмотр

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

    По умолчанию

    Не соглашусь. Приведение типов разное бывает. Кодесисовские X_TO_Y это вполне себе явные приведения. Если с Си++ аналогию проводить, то это static_cast. А автору надо reinterpret_cast. Вот по-русски очень кратко: http://habrahabr.ru/post/106294/
    Последний раз редактировалось Yegor; 09.08.2015 в 19:50.

  2. #2
    Пользователь
    Регистрация
    21.02.2023
    Адрес
    Жезказган
    Сообщений
    35

    По умолчанию

    Приветствую форумчане, все заставил работать связь между СПК 107 и Lеctus OPC есть работает, но может кто сталкивался с таким, что данные с СПК выходят одни а уже Lectus....Application, Real_WORD_29, прописан код: TYPE REAL_WORD_29 :
    UNION//
    awModbusReal :ARRAY [0..1] OF WORD;
    rRealValue :REAL;
    END_UNION
    END_TYPE

  3. #3

    По умолчанию

    Цитата Сообщение от VladimirZHTEC Посмотреть сообщение
    Приветствую форумчане, все заставил работать связь между СПК 107 и Lеctus OPC есть работает, но может кто сталкивался с таким, что данные с СПК выходят одни а уже Lectus....Application, Real_WORD_29, прописан код: TYPE REAL_WORD_29 :
    UNION//
    awModbusReal :ARRAY [0..1] OF WORD;
    rRealValue :REAL;
    END_UNION
    END_TYPE
    Кроме вас наверное никто не поймет, где тут вопрос.

  4. #4
    Пользователь
    Регистрация
    21.02.2023
    Адрес
    Жезказган
    Сообщений
    35

    По умолчанию

    можете подсказать как разбить REAL на WORD? проблема такая.... данные на СПК 107 формируются в типе REAL, Modbus_TCP_Slave формируется в данные WORD.... но значения одинаковые Lectus показывает вообще какие-то левые цифры, пробовал перебрать разные регистры и байты в Lectus, картина не как не меняется по советовали разбить REAL на 2 word.... но как это сделать пробывал так и не понял... подскажите

  5. #5

    По умолчанию

    Цитата Сообщение от VladimirZHTEC Посмотреть сообщение
    можете подсказать как разбить REAL на WORD? проблема такая.... данные на СПК 107 формируются в типе REAL, Modbus_TCP_Slave формируется в данные WORD.... но значения одинаковые Lectus показывает вообще какие-то левые цифры, пробовал перебрать разные регистры и байты в Lectus, картина не как не меняется по советовали разбить REAL на 2 word.... но как это сделать пробывал так и не понял... подскажите
    Добрый день, рассмотрите в качестве примера файл во вложении.
    Вложения Вложения
    Старший инженер группы технической поддержки ОВЕН

  6. #6

    По умолчанию

    Цитата Сообщение от VladimirZHTEC Посмотреть сообщение
    можете подсказать как разбить REAL на WORD? проблема такая.... данные на СПК 107 формируются в типе REAL, Modbus_TCP_Slave формируется в данные WORD.... но значения одинаковые Lectus показывает вообще какие-то левые цифры, пробовал перебрать разные регистры и байты в Lectus, картина не как не меняется по советовали разбить REAL на 2 word.... но как это сделать пробывал так и не понял... подскажите
    Тут скрины, как передавать в том числе REAL, как собрать и разобрать REAL на 2 WORD.
    3 скрин
    https://owen.ru/forum/showthread.php...445#post455445
    Последний раз редактировалось kondor3000; 23.01.2025 в 14:22.

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    только через указатель, либо самому написать функцию
    Разве возможно написать такую функцию на ST?
    Где она будет хранить значения при перекидывании байт? (М память не предлагать)
    Функциональный блок тут конечно справится. Но это как из пушки по воробьям.
    Последний раз редактировалось @ND; 07.08.2015 в 07:32.

  8. #8
    Пользователь Аватар для _Mikhail
    Регистрация
    25.07.2013
    Адрес
    Ярославль
    Сообщений
    510

    По умолчанию

    Цитата Сообщение от @ND Посмотреть сообщение
    Разве возможно написать такую функцию на ST?

    Где она будет хранить значения при перекидывании байт?

    Функциональный блок тут конечно справится. Но это как из пушки по воробьям.
    1. Конечно написать можно. Она очень простая
    real.jpg
    2. Функция не хранит данные, она пересчитывает и выдает результат
    3. Хотите ФБ пожалуйста, только для этой задачи достаточно функции

  9. #9

    По умолчанию

    Siemens step7
    DWORD_TO_REAL(W#16#40000000) даст 2.0

  10. #10

    По умолчанию

    Почему в других системах dword_to_real нормально работает, а в КДС так убого?

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

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