Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Как согласовать ТРМ201 и S7-1200 по протоколу modbus

  1. #1

    По умолчанию Как согласовать ТРМ201 и S7-1200 по протоколу modbus (Решено)

    Проблема в том что ТРМ210 имеет только одну функцию для чтения "03".
    В стандартном устройстве (в среде TIA Portal 12 ) MB_MASTER, эта функция предназначена для чтения нескольких байт по адресам
    40001 to 49999 или 400001 to 465535.
    В ТРМ201 максимальный адрес 1794.
    В результате на запрос двух байт по адресу 0001 (измеренная величина)
    , получаю ответ - не поддерживаемая функция. Т.к. MB_MASTER посылает по этому адресу запрос с функцией "01"

    Что делать? Писать самому обработку протокола?

    Использую плату COMMUNICATION BOARD CB 1241, RS485 . Это так, для справки.
    Последний раз редактировалось kr1810bm86; 07.05.2013 в 15:55.

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

    По умолчанию

    Цитата Сообщение от kr1810bm86 Посмотреть сообщение
    Проблема в том что ТРМ210 имеет только одну функцию для чтения "03".
    В стандартном устройстве (в среде TIA Portal 12 ) MB_MASTER, эта функция предназначена для чтения нескольких байт по адресам
    40001 to 49999 или 400001 to 465535.
    В ТРМ201 максимальный адрес 1794.
    В результате на запрос двух байт по адресу 0001 (измеренная величина)
    , получаю ответ - не поддерживаемая функция. Т.к. MB_MASTER посылает по этому адресу запрос с функцией "01"

    Что делать? Писать самому обработку протокола?

    Использую плату COMMUNICATION BOARD CB 1241, RS485 . Это так, для справки.
    проект выложите, а то Вы написали такую ересь, что без "огненной" воды не разобраться

  3. #3

    По умолчанию

    попробуйте вместо 0001 запросить 40001, или скорее всего 40002

  4. #4

    По умолчанию

    Цитата Сообщение от BETEP Посмотреть сообщение
    попробуйте вместо 0001 запросить 40001, или скорее всего 40002
    Я вот на выходных, тоже подумал в эту сторону. Щас буду пробовать. Может надо запрашивать 16#A001 (40961).

    Цитата Сообщение от capzap Посмотреть сообщение
    проект выложите, а то Вы написали такую ересь, что без "огненной" воды не разобраться
    А что собственно не понятно?
    Все взято со странички помощи, раздел "DATA_ADDR and MODE parameters" в главе "MB_MASTER: Communicate via the PtP port as Modbus master"
    Последний раз редактировалось kr1810bm86; 07.05.2013 в 11:09.

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

    По умолчанию

    Ну вопервых смущает небрежность, то ли 201, то ли 210.
    Расширенный режим трм не поддерживает, зачем про него писать если только не пытаетесь использовать
    Четвертка в начале адреса обычно показывает что обращение идет к регистрам хранения
    В модбасе используется понятие регистр и упоминание о двух байтах приводит к вопросу, а указатель на что у Вас стоит

    ЗЫ где читать доки по блоку я знаю
    Последний раз редактировалось capzap; 07.05.2013 в 11:35.

  6. #6

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Ну вопервых смущает небрежность, то ли 201, то ли 210.
    Расширенный режим трм не поддерживает, зачем про него писать если только не пытаетесь использовать
    Четвертка в начале адреса обычно показывает что обращение идет к регистрам хранения
    В модбасе используется понятие регистр и упоминание о двух байтах приводит к вопросу, а указатель на что у Вас стоит

    ЗЫ где читать доки по блоку я знаю
    ТРМ 201, остальное ошибка. Ну устал я .
    Нафига мне расширенный режим?
    Мне надо прочитать по адресу 16#0001, 16 битный регистр, .Это и есть 2 байта (в байте 8 бит, ну меня так учили). ТРМ 201 поддерживает только команду "3". А MB_MASTER по такому адресу выдает команду "1".
    Поэтому АБСОЛЮТНО пофиг, что там в том регистре находится . ТРМ просто дает ошибку.

  7. #7

    По умолчанию

    40001 to 49999 или 400001 to 465535.
    четвёрка спереди, просто обозначение что это Holding Registers
    0 - Output coil (дискретные выходы)
    1 - Discrete Inputs (дискретные входы)
    3 - Input Registers (входные регистры)
    4 - Holding Registers (регистры хранения)
    5 - как тип 4, но производится перестановка байт

    Как в вашей проге указывается обращение к регистрам хранения? от этого и будет зависеть с каким кодом в порт уйдёт запрос к регистру 0001, а если пишут 40001 to 49999, то тут ещё и смещение на единицу присутствует.
    -------------------------
    т.е. 400001 это регистр хранения читаемый кодом 03 с номером 0
    Последний раз редактировалось BETEP; 07.05.2013 в 11:53.

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

    По умолчанию

    Цитата Сообщение от kr1810bm86 Посмотреть сообщение
    ТРМ 201, остальное ошибка. Ну устал я .
    Нафига мне расширенный режим?
    Мне надо прочитать по адресу 16#0001, 16 битный регистр, .Это и есть 2 байта (в байте 8 бит, ну меня так учили). ТРМ 201 поддерживает только команду "3". А MB_MASTER по такому адресу выдает команду "1".
    Поэтому АБСОЛЮТНО пофиг, что там в том регистре находится . ТРМ просто дает ошибку.
    Вот мне и кажется, что если указатель на байты, как Вам нравится, а не на ворды то блок и читает коилсы

  9. #9

    По умолчанию

    Цитата Сообщение от BETEP Посмотреть сообщение
    четвёрка спереди, просто обозначение что это Holding Registers
    0 - Output coil (дискретные выходы)
    1 - Discrete Inputs (дискретные входы)
    3 - Input Registers (входные регистры)
    4 - Holding Registers (регистры хранения)
    5 - как тип 4, но производится перестановка байт
    Спасибо за информацию, надо подумать, почитать.


    Цитата Сообщение от BETEP Посмотреть сообщение
    Как в вашей проге указывается обращение к регистрам хранения? от этого и будет зависеть с каким кодом в порт уйдёт запрос к регистру 0001, а если пишут 40001 to 49999, то тут ещё и смещение на единицу присутствует.
    -------------------------
    т.е. 400001 это регистр хранения читаемый кодом 03 с номером 0
    Фиг его знает как оно там обращается. Есть готовый модуль, ему задаются параметры, адрес, к-во регистров (байт? тут я еще не понял)
    и команда. Но команды не modbus, а Сименсовские, которые модуль сам переводит в команду modbus, в зависимости от адреса. Ну так я понял документацию.

    Кстати вопрос. Эту 4 добавлять в десятичной системе? или шестнадцатеричной?
    Последний раз редактировалось kr1810bm86; 07.05.2013 в 12:02.

  10. #10

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вот мне и кажется, что если указатель на байты, как Вам нравится, а не на ворды то блок и читает коилсы
    Может быть, но возвращаемая ошибка "неверная команда" ( Function code not supported )

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 22.08.2011, 09:49
  2. Чтение и запись файлов по протоколу ModBus
    от Денис_NTS в разделе Помощь Разработчикам
    Ответов: 23
    Последнее сообщение: 09.08.2011, 07:30
  3. соединить плк150 и трм201 по протоколу "овен"
    от Сергей_К в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 12.01.2010, 11:02
  4. ТРМ201 и Modbus
    от Борисов Дмитрий в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 24.08.2009, 18:13
  5. Ответов: 21
    Последнее сообщение: 27.11.2008, 20:41

Ваши права

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