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

Тема: Пример modbus slave

  1. #1

    По умолчанию Пример modbus slave

    День добрый!

    Может есть у кого пример или нормальный мануал по настройке через конфигуратор СПКххх как slave в modbus? Как пример передача/прием нескольких регистров ПЛКххх-мастер/СПКххх-слэйв.
    Пока попробовал сам через конфигуратор связать ПЛК100 (мастер) и СПК107 (slave) - что-то ничего не заработало в железе, а документация ну очень скудная.

    Хотя и за пример не через конфигуратор тоже буду признателен.

  2. #2

    По умолчанию

    А с каких это пор ПЛК100 стал программироваться в среде CoDeSys V3 ?

  3. #3

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    А с каких это пор ПЛК100 стал программироваться в среде CoDeSys V3 ?
    А причем тут ПЛК100 и codesys V3? Пример я ведь прошу на СПК
    ПЛК100 само собой в codesys 2.3, но с ним с настройкой через конфигуратор никаких вопросов не возникает.
    Но проверять то связь надо на железе, и для этого я использую связку ПЛК100 + СПК107.
    И c настройкой modbus slave в Codesys 3.5 пока ничего не вышло.
    Последний раз редактировалось Туман; 13.07.2014 в 14:46.

  4. #4

    По умолчанию

    Поэкспериментировал немного сам. В принципе результат получился, но есть вопросы.
    Для начала, если верить стр. 29 ModBus_VS_CODESYS_V35.pdf. то там есть "Регистры временного хранения" - Holding registers, которые "доступны только для чтения функцией 04" и "Входные регистры" - Input registers, которые "доступны для чтения функцией 03 и записи функцией 16". Вот только сразу же в кодесисе регистры, доступные только для чтения именуются как %IW, а другие как %QW. Т.е. все получается наоборот. Или эти функции из мануала имелись в виду не как команды от внешнего мастера в сети, а внутри программы? Т.е. по факту все работает наоборот. Если отключить кабель RS-485 то все "Регистры временного хранения" - Holding registers, которые "доступны только для чтения функцией 04" сразу обнуляются. Ну это ладно. Может ошиблись.

    Возник вопрос по адресации. Изначально я решил, что адресация формируется аналогично примеру работы с СП270, когда ПЛК slave. Добавил 4 "Holding registers" и 4 "Input registers". Если учитывать, что в мануале все перепутано, то получается регистры 0-3 выходные для ПЛК (мастера), 4-7 входные. Однако все заработало только при формировании конфигуратором в ПЛК как считывание так и запись по адресу 0-3. При этом в СПК присваивания нету, и раз адресация одна и та же логично было бы предположить, что изменив выходной регистр 0 в ПЛК на новое значение, увидив его по адресу %IW0 мы его же должны прочитать из %Q0, регистра 0, тоже самое значение. Т.е. получаются параллельные адреса регистров... Или я что-то не так понимаю в работе modbus...
    В общем хотелось бы пояснения как точно оно работает, если кто подскажет, буду признателен.
    SPK.jpg

    PLK.jpg
    Вложения Вложения
    Последний раз редактировалось Туман; 14.07.2014 в 01:41.

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

    По умолчанию

    Непробовали "включать мозг", разве само за себя слово input не говорит, что это во первых %IW, во вторых во входа ни где не пишется,включая и плк100. Кроме того есть википедия,где даны основы модбас, чтоб незаблуждатся из-за не корректной или неправильно понятой документации.
    Используйте во всех случаях регистры хранения,чтоб небыло заморочек с записью, в доках на теже трмки написано какие параметры только для чтения и какой функцией их читать, а Вам то это зачем

  6. #6

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Непробовали "включать мозг", разве само за себя слово input не говорит, что это во первых %IW, во вторых во входа ни где не пишется,включая и плк100. Кроме того есть википедия,где даны основы модбас, чтоб незаблуждатся из-за не корректной или неправильно понятой документации.
    Используйте во всех случаях регистры хранения,чтоб небыло заморочек с записью, в доках на теже трмки написано какие параметры только для чтения и какой функцией их читать, а Вам то это зачем
    "Непробовали" уменьшать ЧСВ что бы не советовать первым делом "включать мозг"? В вопросе я и так указал, что могу что-то не так понимать в работе modbus, и просил в том числе документацию. До википедии и прочего уже и так добрался, мозг как-то обычно не выключается.

Похожие темы

  1. Modbus (Master) не отображается в память Modbus (Slave)
    от ghoch в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 07.05.2018, 09:40
  2. Modbus/TCP пример или библиотека
    от HokumOracle в разделе Помощь Разработчикам
    Ответов: 15
    Последнее сообщение: 06.02.2015, 00:14
  3. Переменная из Modbus (master) в Modbus (slave)
    от Zenr в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 25.10.2013, 12:38
  4. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42

Ваши права

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