Страница 107 из 398 ПерваяПервая ... 75797105106107108109117157207 ... ПоследняяПоследняя
Показано с 1,061 по 1,070 из 4732

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

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

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Макрос от AI!
    Захват-1.png
    Я про конкретную, переменную, вопрос представителям. Макросом можно и время считать, если на то пошло, без сервисных переменных и блинк заменить, и всё, что угодно.

  2. #2

    По умолчанию

    Здравствуйте!

    Стало необходимо вывести на экран ПР200 отрицательное целое число, и вот незадача...

    Помню еще со времен программирования на ассемблере для ZX Spectrum-а:
    - тип int от -32768 до +32768 (Word)
    - тип uint от 0 до 65535 (Word)
    Везде в языках программирования и в классическом понимании тип int это знаковое целое число.

    Почему здесь оно только положительное беззнаковое? При всем том, что в том же OwenCloud есть int16, uint16...

    Основной конечно вопрос как вывести на экран ПР200 отрицательное целое число - естественно без дробной части.

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

    По умолчанию

    Цитата Сообщение от Bariy Посмотреть сообщение
    Здравствуйте!

    Стало необходимо вывести на экран ПР200 отрицательное целое число, и вот незадача...

    Помню еще со времен программирования на ассемблере для ZX Spectrum-а:
    - тип int от -32768 до +32768 (Word)
    - тип uint от 0 до 65535 (Word)
    Везде в языках программирования и в классическом понимании тип int это знаковое целое число.

    Почему здесь оно только положительное беззнаковое? При всем том, что в том же OwenCloud есть int16, uint16...

    Основной конечно вопрос как вывести на экран ПР200 отрицательное целое число - естественно без дробной части.
    Для начала определитесь где Вы возьмете это отрицательное целое число
    Варианты
    а) - в сетевой переменной от внешнего устройства
    б) - в результате вычислений

    вариант а) предполагает диапазон от -32768 до -32767
    вариант б) предполагает диапазон от -2147483648 до 2147483647

    В обоих случаях отрицательные значения будут представлены в дополнительном коде
    в программе определяете знак и модуль(абсолютное значение) числа, для а) нужен макрос для 16 битных чисел, для б) - для 32 битных
    На экране - составной элемент битовое поле (+/-) рядом поле для вывода числа (int)

    ЗЫ.
    Макросы
    Абсолютное значение 32битных чисел + знак
    Захват-3.png

    Абсолютное значение 16битных чисел + знак
    Захват-2.png

    Экран
    Захват-4.png

    Результат работы
    Захват-1.png
    Вложения Вложения
    Последний раз редактировалось petera; 21.11.2019 в 12:39.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #4

    По умолчанию

    ... Большое спасибо!

    Честно говоря удивлен такой сложностью при вроде самой простой задаче...

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

    По умолчанию

    Цитата Сообщение от Bariy Посмотреть сообщение
    ... Большое спасибо!

    Честно говоря удивлен такой сложностью при вроде самой простой задаче...
    Еще можно преобразовать int в float

    Пару элементов к макросам ABS()

    16 бит
    Захват-2.png

    32 бита
    Захват-3.png

    Тогда на экран можно вывести число с плавающей точкой, там "-" автоматический
    Захват-5.png

    Захват-4.png

    Результат
    Захват-1.png

    Однако на экране нельзя вывести float без точки, минимум один знак после запятой, придется замазывать (по верх накладывать 2 пробела)
    Да float имеет ограниченную точность и как следствие меньший диапазон представления целых чисел - максимум 7 знаков.

    ЗЫ.
    Честно говоря удивлен такой сложностью при вроде самой простой задаче...
    Сложностей нет, сделай/позаимствуй себе всяких макросов и затем просто применяй их. Получается расширение возможностей среды разработки.
    Последний раз редактировалось petera; 21.11.2019 в 13:44.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6
    Пользователь
    Регистрация
    15.03.2018
    Адрес
    Ижевск
    Сообщений
    983

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Однако на экране нельзя вывести float без точки, минимум один знак после запятой, придется замазывать (по верх накладывать 2 пробела)
    Обычно так и делаю.
    Может подскажете как лучше вывести на экран редактируемое целое отрицательное цисло? Если выводить float с замазкой, то пользователь, нажимая "SEL", не видит мигающих замазанных знаков после запятой и, соответственно, ничего не понимает
    Если выводить int и отельно знак, то знак оказывается оторванным от числа, тем дальше оторванным, чем меньше разрядов у числа...

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

    По умолчанию

    в программе можно посчитать количество разрядов числа и при отображении знака менять переменную оси х для знака.

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    в программе можно посчитать количество разрядов числа и при отображении знака менять переменную оси х для знака.
    Может проще отвести на два разряда(знака) меньше, чтобы запятая и десятые доли не отображались?

    Полное отображение.PNG

    Обрезанное отображение.PNG
    Последний раз редактировалось Сергей0308; 23.11.2019 в 18:22.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #9
    Пользователь
    Регистрация
    15.03.2018
    Адрес
    Ижевск
    Сообщений
    983

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Может проще отвести на два разряда(знака) меньше, чтобы запятая и десятые доли не отображались?

    Полное отображение.PNG

    Обрезанное отображение.PNG
    А редактирование с экрана не будет при этом забавным?

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

    По умолчанию

    Цитата Сообщение от Ollema Посмотреть сообщение
    А редактирование с экрана не будет при этом забавным?
    Так это же Вы сами так стараетесь сделать, Вас никто не принуждает! Мне ваши решения кажутся куда более забавными! Вот ответьте на элементарный вопрос: зачем их "замазывать", если можно и проще просто обрезать, как я предложил?
    Последний раз редактировалось Сергей0308; 23.11.2019 в 18:34.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 107 из 398 ПерваяПервая ... 75797105106107108109117157207 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

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