Страница 106 из 374 ПерваяПервая ... 65696104105106107108116156206 ... ПоследняяПоследняя
Показано с 1,051 по 1,060 из 4462

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

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

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    где в документации встречаются вместе оба этих предложения?
    При работе с сетевыми переменными целочисленное занимает 1 регистр (16 бит) , разве нет? Поставлю вопрос по другому, как мне по модбасу передать большую целочисленную переменную (больше чем 65536)

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

    По умолчанию

    Цитата Сообщение от ivydy Посмотреть сообщение
    При работе с сетевыми переменными целочисленное занимает 1 регистр (16 бит) , разве нет? Поставлю вопрос по другому, как мне по модбасу передать большую целочисленную переменную (больше чем 65536)
    Да, по этому для передачи по сети целочисленную переменную нужно разбить на две части (старшую и младшую) и поместить в две сетевые переменные с соседними номерами

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

  3. #3

    По умолчанию

    Здравия всем! Как в ОЛ прочитать текущий день недели? Переменной нет в списке сервисных, но в тоже время по модбас она доступна. Разработчики случайно пропустили или так задумано?

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

    По умолчанию

    Цитата Сообщение от AAA1 Посмотреть сообщение
    Здравия всем! Как в ОЛ прочитать текущий день недели? Переменной нет в списке сервисных, но в тоже время по модбас она доступна. Разработчики случайно пропустили или так задумано?
    Макрос от AI!
    Захват-1.png
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #5

    По умолчанию

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

  6. #6

    По умолчанию

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

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

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

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

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

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

    По умолчанию

    Цитата Сообщение от 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

  8. #8

    По умолчанию

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

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

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

    По умолчанию

    Цитата Сообщение от 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

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

    По умолчанию

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

Страница 106 из 374 ПерваяПервая ... 65696104105106107108116156206 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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