Страница 2 из 199 ПерваяПервая 12341252102 ... ПоследняяПоследняя
Показано с 11 по 20 из 1989

Тема: разные вопросы новичка

  1. #11

    По умолчанию

    Спасибо. Создал новый проект, вроде все отражает. Но сейчас не могу сконвертировать в "человеческое" отображение температуры. При конвертации в Int все красиво до тех пор пока не появляется показатель со знаком минус. По идеи макрос преобразования должен выдать целое число (градусы) или я ошибаюсь?
    Котел.owl

  2. #12
    Пользователь Аватар для maximov2009
    Регистрация
    11.09.2012
    Адрес
    Барнаул Алтайский край
    Сообщений
    2,556

    По умолчанию

    Добрый день. А зачем Вам инт? Для температуры обычно используется флоат, чем он Вас не устраивает?
    И всё будет корректно отображаться и плюсы и минусы.
    С уважением.
    Лучшее - враг хорошего "Le mieux est I\'ennemi du bien" (вроде как Вольтеровское)

  3. #13
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    7,754

    По умолчанию

    int в ПР целочисленный без знака 32 разряда. Нужны минусы, используем float.
    Если вам необходим все же int и вы сами будете заниматься преобразованиями в минус и обратно, пробегали на форуме макросы для передачи по сети int с учетом знака...

  4. #14

    По умолчанию

    У меня сейчас вот так отражается и очень сложно постоянно конвертировать в одну и другую сторону. Плюс не пойму как с минусовыми значениями работать в этом случае.
    owen-2.JPG

  5. #15
    Пользователь Аватар для maximov2009
    Регистрация
    11.09.2012
    Адрес
    Барнаул Алтайский край
    Сообщений
    2,556

    По умолчанию

    А что собственно Вас не устраивает. Уберите преобразователь в инт и всё. Если Вас смущают цифирки типа 2,5Е и т.д., то это просто форма отображения в симуляторе. При выводе на экран ПР200 или дальнейшей обработке, программа работает именно как с числом 25. И покажет именно 25 градусов.
    И если дальше в программе будете сравнивать, все как с обычными отрицательными цифрами. Только использовать блоки с приставкой f. Например fsel для для вещественного числа а не sel для целочисленного.
    Такая вот особенность симулятора. Это уже не раз обсуждалось.
    Последний раз редактировалось maximov2009; 27.02.2017 в 10:31.
    Лучшее - враг хорошего "Le mieux est I\'ennemi du bien" (вроде как Вольтеровское)

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

    По умолчанию

    Так если он преобразует отрицательные значения температуры(FLOAT) в INT, что в ОЛ, т. е. UDINT, то я извиняюсь, Землю уничтожить можно, получится более 4 миллиардов градусов, а термоядерная реакция синтеза гелия из водорода начинается уже при 15 миллионах!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  7. #17

    По умолчанию

    Цитата Сообщение от maximov2009 Посмотреть сообщение
    А что собственно Вас не устраивает. Уберите преобразователь в инт и всё. Если Вас смущают цифирки типа 2,5Е и т.д., то это просто форма отображения в симуляторе. При выводе на экран ПР200 или дальнейшей обработке, программа работает именно как с числом 25. И покажет именно 25 градусов.
    И если дальше в программе будете сравнивать, все как с обычными отрицательными цифрами. Только использовать блоки с приставкой f. Например fsel для для вещественного числа а не sel для целочисленного.
    Такая вот особенность симулятора. Это уже не раз обсуждалось.
    Спасибо! Да, именно отображение смутило. Хотелось понимать на сколько верно работает конвертация и сравнить с показаниями моего датчика. Убрал int, все работает корректно но выглядит в симуляторе не очень
    Еще такой вопрос, я хочу сделать модуляцию котла, т.е. включать/отключать тэны в зависимости от роста температуры сравнивая результат за период. Достаточно примитивный алгоритм, 3 тена - Включил один, посмотрел на рост температуры, нет роста включил второй и далее третий. Если достиг нужной температуры, пытаться ее поддержать за счет включения/отключения тэнов. Есть ли какой-то подобный пример чтобы поучиться?

  8. #18
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    7,754

    По умолчанию

    Округлите значение float до 2-х знаков и не будет у вас отображаться в экспоненте.

    В макросах поищите, вроде был макрос, который следил за сигналом и на выходе давал растет сигнал или уменьшается (направление показывал), может пригодится для отслеживания.

  9. #19

    По умолчанию

    Цитата Сообщение от Diminator Посмотреть сообщение
    Спасибо! Да, именно отображение смутило. Хотелось понимать на сколько верно работает конвертация и сравнить с показаниями моего датчика. Убрал int, все работает корректно но выглядит в симуляторе не очень
    В версии 1.7 было 8 знаков у FLOAT.

    Еще такой вопрос, я хочу сделать модуляцию котла, т.е. включать/отключать тэны в зависимости от роста температуры сравнивая результат за период. Достаточно примитивный алгоритм, 3 тена - Включил один, посмотрел на рост температуры, нет роста включил второй и далее третий. Если достиг нужной температуры, пытаться ее поддержать за счет включения/отключения тэнов. Есть ли какой-то подобный пример чтобы поучиться?
    1) мощность ТЭНов одинаковая? или это 3 группы с разной мощностью?
    2) лучше это делать по уровню выходного сигнала с ПИД регулятора: при 0,0-0,2 работает одна группа, по мере роста уровня сигнала подключаем остальные группы.
    Важно, чтобы мощность регулировочной ступени перекрывала по мощности самую малую добавочную.
    регулир. ТЭН - 30%
    1 ступень - 25%
    2 ступень -45%

  10. #20
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,597

    По умолчанию

    Внесу ясность.
    Не буду цитировать все посты с #11 по #17, но
    Преобразование Float To Int выполняется корректно, по всем правилам компьютерной математики!
    И преобразованные значения получаются никакие не UDINT, а именно INT, т.е со знаком!
    Если смущают миллиарды после -10.0 -->Float To Int-->4294967286, то 4294967286 (FFFF FFF6) это и есть -10 в дополнительном коде
    поясню. Целые числа со знаком(INT) в ЭВМ представлены в дополнительном коде.
    Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ.
    В таком же виде -10 представлено и в кодесис http://www.owen.ru/forum/showthread....l=1#post220154, и в панели СП, и т.д.
    Таким образом если положить 4294967286 (FFFF FFF6) в сетевую переменную, которую читать из панели, то на дисплее панели одна и та же переменная (FFF6) отобразится как 65526 в формате Unsigned или -10 в формате Dec.

    В ПР математические операции ADD, MUL, DIV для чисел в дополнительном коде будут выполнятся правильно по определению. Тут даже никаких лишних макросов не нужно.
    Т.е. если -10, а это 4 294 967 286(FFFF FFF6) умножить(MUL) на 1000, то получим результат всего лишь 4 294 957 296 (FFFF D8F0) - не что иное, как -10000 в дополнительном коде.
    Фактически для операций ADD, MUL, DIV числа 0 до 2147483647 - положительные, а от 2147483648 до 4294967295 - отрицательные в дополнительном коде
    Вот только в самой среде редактирования ОЛ почему то ПРАВИЛЬНЫЕ значения INT отображаются как целые беззнаковые.
    Последний раз редактировалось petera; 27.02.2017 в 14:08.
    26 лет деятельности в области промышленной безопасности

Страница 2 из 199 ПерваяПервая 12341252102 ... ПоследняяПоследняя

Похожие темы

  1. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 03.07.2019, 15:50
  2. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 15:39
  3. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 06.09.2011, 15:12
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 10:29

Ваши права

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