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

Тема: ПР200

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

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

    По умолчанию

    У меня выплыл вопросик, по ПР200 + СМИ2 (slave). Отображается переменная типа Float (измерение температуры), но вот задача, надо убрать лишние знаки после запятой. В конфигураторе для СМИ2 в графе положение десятичной точки выставляю (3) 00.00 , но по факту никак не влияет, ещё и записывается раза с десятого, но всё-же записывается. В int всё нормально, сколько знаков сказал столько и отображает, а во Float отображает всё что есть (например 3,123 , а мне надо 3,12 или 3,1). Но в int не всё так просто с отрицательными числами, придётся какой-то макрос городить (готового не нашел), и не факт что получится (ещё не пробовал). Можно ли как-то сделать так, как я хочу ?!? Спасибо ))
    Бояринцев Иван Юрьевич

  2. #2
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,795

    По умолчанию

    Цитата Сообщение от RX9COZ Посмотреть сообщение
    У меня выплыл вопросик, по ПР200 + СМИ2 (slave). Отображается переменная типа Float (измерение температуры), но вот задача, надо убрать лишние знаки после запятой. В конфигураторе для СМИ2 в графе положение десятичной точки выставляю (3) 00.00 , но по факту никак не влияет, ещё и записывается раза с десятого, но всё-же записывается. В int всё нормально, сколько знаков сказал столько и отображает, а во Float отображает всё что есть (например 3,123 , а мне надо 3,12 или 3,1). Но в int не всё так просто с отрицательными числами, придётся какой-то макрос городить (готового не нашел), и не факт что получится (ещё не пробовал). Можно ли как-то сделать так, как я хочу ?!? Спасибо ))
    Здесь посмотрите: http://www.owen.ru/forum/showthread.php?t=13106&page=3

    И можно округлить, короче, FLOAT округляете до десятых, умножаете на 10(до целого), далее через макрос передаёте на СМИ2, в СМИ2 смещаете запятую на один знак влево, всё!
    Последний раз редактировалось Сергей0308; 30.09.2018 в 02:17.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #3

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    И можно округлить, короче, FLOAT округляете до десятых, умножаете на 10(до целого), далее через макрос передаёте на СМИ2, в СМИ2 смещаете запятую на один знак влево, всё!
    Вот я так и пробую, ничего не выходит. И в конфигураторе для СМИ2 выбирал разное положение десятичной точки для Float, и через ПР200 загонял в регистр 18 разные значения от 0 до 3, это никак не влияет на реальное положение десятичной точки в выводимой на экран СМИ2 информации.

    Вот для переменных int положение десятичной точки действует без проблем, куда хочу туда и ставлю, а с float то что ?
    Бояринцев Иван Юрьевич

  4. #4
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,158

    По умолчанию

    Цитата Сообщение от RX9COZ Посмотреть сообщение
    Вот я так и пробую, ничего не выходит. И в конфигураторе для СМИ2 выбирал разное положение десятичной точки для Float, и через ПР200 загонял в регистр 18 разные значения от 0 до 3, это никак не влияет на реальное положение десятичной точки в выводимой на экран СМИ2 информации.

    Вот для переменных int положение десятичной точки действует без проблем, куда хочу туда и ставлю, а с float то что ?
    Вот так сделайте и будет вам счастье
    Изображения Изображения
    Последний раз редактировалось rovki; 30.09.2018 в 11:49.
    электронщик до мозга костей и не только

  5. #5
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,795

    По умолчанию

    Цитата Сообщение от RX9COZ Посмотреть сообщение
    Вот я так и пробую, ничего не выходит. И в конфигураторе для СМИ2 выбирал разное положение десятичной точки для Float, и через ПР200 загонял в регистр 18 разные значения от 0 до 3, это никак не влияет на реальное положение десятичной точки в выводимой на экран СМИ2 информации.

    Вот для переменных int положение десятичной точки действует без проблем, куда хочу туда и ставлю, а с float то что ?
    Значит вы не так пробовали, я же написал "через макрос" - значит в инте передаёте на СМИ2, Вы уперлись во флоат! С флоатом так не получится, там автоматически выставляется количество знаков после запятой - сколько разрядов остаётся от значения целых!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #6

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Значит вы не так пробовали, я же написал "через макрос" - значит в инте передаёте на СМИ2, Вы уперлись во флоат! С флоатом так не получится, там автоматически выставляется количество знаков после запятой - сколько разрядов остаётся от значения целых!
    я уже понял, пропустил через макрос (просто небыло уточнений какой именно), сконвертировал float в int и в таком режиме работает корректно.
    Бояринцев Иван Юрьевич

Метки этой темы

Ваши права

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