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

Тема: как передать переменную integer по modbus

  1. #1
    Пользователь
    Регистрация
    22.07.2015
    Адрес
    Kazan
    Сообщений
    23

    Question как передать переменную integer по modbus

    Подскажите кто нибудь , как передать переменную integer по modbus в спк207 ?
    "codesys 3.5"
    Последний раз редактировалось Линар; 25.08.2016 в 13:31. Причина: ]...

  2. #2

  3. #3
    Пользователь
    Регистрация
    22.07.2015
    Адрес
    Kazan
    Сообщений
    23

    По умолчанию

    Это понятно ,есть устройство в сети RS485 соединенное с спк207 ,нужно чтобы спк считал переменную типа INT с этого устройства.ВОт,как это реализовать,если modbus СПК 207-го предусматривает только 2 типа данных BOOL и WORD участвующих в обмене.

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,162

    По умолчанию

    Цитата Сообщение от Линар Посмотреть сообщение
    Это понятно ,есть устройство в сети RS485 соединенное с спк207 ,нужно чтобы спк считал переменную типа INT с этого устройства.ВОт,как это реализовать,если modbus СПК 207-го предусматривает только 2 типа данных BOOL и WORD участвующих в обмене.
    Считываете как WORD, потом преобразовываете с помощью WORD_TO_INT.

  5. #5
    Пользователь
    Регистрация
    22.07.2015
    Адрес
    Kazan
    Сообщений
    23

    По умолчанию

    параметр который я считываю с устрйоства с спк207 (master) имеет диапазон значений от -40 до +40 (формат INT ) , а если считваю word (ом) - то получается у него диапазон начинается с 0 до 65356 .и значит отрицательное значение на устройстве не будет считываться .
    P.S. я только начал работать с спк ,до этого программировал на codesys v2.

  6. #6
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,162

    По умолчанию

    Цитата Сообщение от Линар Посмотреть сообщение
    параметр который я считываю с устрйоства с спк207 (master) имеет диапазон значений от -40 до +40 (формат INT ) , а если считваю word (ом) - то получается у него диапазон начинается с 0 до 65356 .и значит отрицательное значение на устройстве не будет считываться .
    P.S. я только начал работать с спк ,до этого программировал на codesys v2.
    После преобразования WORD_TO_INT вы получите исходное число (которое может быть и отрицательным).

  7. #7
    Пользователь
    Регистрация
    22.07.2015
    Адрес
    Kazan
    Сообщений
    23

    По умолчанию

    Спасибо большое)

  8. #8

    По умолчанию

    Все будет считываться нормально. Любой тип данных - это последовательность битов, а уже в зависимости от типа они могут интерпретироваться по разному. Если Вы представите последовательность бит в формате word, то диапазон значений будет от 0 до 65355, если типа int, то от -32768 до 32767. Т.е. если Ваше устройство выдает значение -40, то формате word Вы увидите значение 65496, представив это значение для типа int, вы увидите все те же -40.
    Для переменных типа word и int можно использовать прямое присвоение, без дополнительных функций преобразования.

Похожие темы

  1. Word to bytes
    от Scream в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 10.04.2024, 11:31
  2. Перевод WORD в REAL в CFC.
    от Newcomer в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 16.01.2016, 10:11
  3. СМИ2, int/word, показывает от 256
    от Туман в разделе Эксплуатация
    Ответов: 7
    Последнее сообщение: 26.02.2014, 10:37
  4. WORD <-> BOOL
    от ASo в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 08.09.2013, 16:12
  5. Как записать UDINT в два WORD ?
    от Sergey_Byk в разделе СПК2хх
    Ответов: 2
    Последнее сообщение: 15.03.2013, 14:16

Ваши права

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