Показано с 1 по 8 из 8

Тема: ПЛК100 как получить по 485 число типа INT

  1. #1

    По умолчанию ПЛК100 как получить по 485 число типа INT

    Надо получить по 485 число типа INT. Из доступных элементов использую модуль входного регистра но данные типа word. А как получить Int?

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,656

    По умолчанию

    если очень сильно хочется можно поробовать WORD_TO_INT, но это не точно
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  3. #3

    По умолчанию

    что то я не нашел такого преобразования. Мне кажется что надо просто вычесть 32768

  4. #4

    По умолчанию

    Что чему присвоить? Word 16 битовый и Int 16 битовый. Присвоить одно другому просто нельзя. Вы бы объяснили для чайника что нужно сделать.

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

    По умолчанию

    Цитата Сообщение от Владимир1967 Посмотреть сообщение
    Что чему присвоить? Word 16 битовый и Int 16 битовый. Присвоить одно другому просто нельзя. Вы бы объяснили для чайника что нужно сделать.
    Это почему нельзя?
    Я всегда так делаю
    Захват-4.png

    Отрицательные числа в Int 16 представлены в дополнительном коде, в WORD это будет, например, 65300, а в Int как -236
    Захват-2.png

    А представление положительных совпадают
    Захват-3.png
    26 лет деятельности в области промышленной безопасности

  6. #6

    По умолчанию

    устройство передает данные в формате INT одним 16 битным регистром. Я могу считать только в формате Word. А как сделать обратное преобразование? Попробовал так как указано на скрине. По идее 0 в принимаемых данных (Word) должен преобразоваться в -32768 в формате INT. У меня так не получилось. Ноль получился нулем. Наверное надо как то опять разложить все по битам и собрать в формате INT ?

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

    По умолчанию

    Цитата Сообщение от Владимир1967 Посмотреть сообщение
    По идее ... Наверное надо как то опять разложить все по битам и собрать в формате INT ?
    по подробнее как это из 16битного числа при условии что все разряды равно нулю, получить любое число отличное от нуля?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  8. #8
    Пользователь Аватар для smk1635
    Регистрация
    06.09.2010
    Адрес
    Брянск
    Сообщений
    1,306

    По умолчанию

    Цитата Сообщение от Владимир1967 Посмотреть сообщение
    устройство передает данные в формате INT одним 16 битным регистром. Я могу считать только в формате Word. А как сделать обратное преобразование?
    Да ни как. Codesys прекрасно справляется с преобразованием сам. Считали переменую в формате WORD. Присвоили её значение в программе новой переменой INT. 1.jpg
    Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда. (Закон Линуса)

Похожие темы

  1. Прочитать по RS-485 число типа Double
    от Карбофос в разделе ПЛК1хх [М02]
    Ответов: 6
    Последнее сообщение: 20.12.2019, 11:21
  2. Ответов: 4
    Последнее сообщение: 17.09.2019, 11:00
  3. Число оборотов электропривода
    от Мердан в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 09.06.2016, 14:35
  4. перевод строки в число
    от Роланд в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 11.04.2013, 00:45
  5. отрицатальное число
    от Febricio в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 15.09.2010, 10:47

Ваши права

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