Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

Тема: спк modbus slave

  1. #11

    По умолчанию

    RomAl, спасибо, что заметили ошибку. Но ее исправление не помогло, к сожалению. С библиотеками все время свистопляска, приходится править версии все время. И еще момент. Не совсем врубился в данном конкретном случае, когда Modbus_COM конфигурим, то чтобы физический СОМ1 указать, на вкладке ставим СОМ2?

  2. #12
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    963

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    RomAl, спасибо, что заметили ошибку. Но ее исправление не помогло, к сожалению. С библиотеками все время свистопляска, приходится править версии все время. И еще момент. Не совсем врубился в данном конкретном случае, когда Modbus_COM конфигурим, то чтобы физический СОМ1 указать, на вкладке ставим СОМ2?
    Да и соответственно если второй нужен ставим 3

  3. #13

    По умолчанию

    Коллеги, всем спасибо! В конце концов получилось. Дело в том, что почему-то не активен выключатель "auto-restart communication", а я не стал заморачиваться, уповая на то, что вся система собрана на столе, длина связи - сантиметров 40. Ан нет... Пришлось вставить код возобновления связи, приведенный в соседней ветке "восстановление связи по modbus СПК107" - и все заработало. Спасибо всем, кто пытался помочь! На всякий случай, если кому-то понадобится, прилагаю архив проекта.
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Коллеги, добрый день!

    Чтобы не плодить темы, решил написать в этой ветке, хотя проблема несколько другая, чем у ее родоначальника.
    На праздниках решил позаниматься CoDeSys 3.5 и нарвался на непонятки с Модбасом. Я опрашиваю МК110-8ДН.4Р с помощью СПК107. С помощью библиотек Modbus,ModulsOwenLib,OwenNet я делал разные варианты программы опроса и все работало, и по Модбасу, и по ОВЕНу. Но тут я решил использовать встроенные возможности (добавил устройство Modbus_COM, к нему Modbus_Master_COM_Port, к нему, соответственно, Modbus_Slave_COM_Port), и ничего не работает... Нет опроса совсем, светодиод СОМ на СПК не мигает, как и светодиод RS485 на МК110.
    Прошу совета, чего делал не так? Прошивка СПК 3.939, таргет 3.5.4.20 сборка 023, CoDeSys 3.5SP5. Архив проекта с несколькими поясняющими скриншотами прилагается.
    У меня немного обратная ситуация вышла. Я опрашивал ТРМ201 при помощи СПК110
    CoDeSys 3.5 у меня SP5 не работал ни по библиотекам ни при помощи встроенного Modbus.

    Установил SP4 Patch4 сразу получилось подключиться по внутреннему Modbus.
    При помощи библиотек ModbusOwenLib, Modbus и OwenNet я смог связаться без проблем только по протоколу Owen.
    По модбасу как я не менял типы и версии библиотек у меня выходило примерно одно и тоже:
    - Лампочки обмена моргали и на СПК110 и на ТРМ201
    - Буффер всё время менял байты с данными туда сюда, среди которыхБезымянный 1.pngБезымянный 2.png проскакивают и действительные значения с ТРМ201 (Как это понять?)

    Т.е. Прибор вроде как отвечает, а вот программа не может правильно обработать как я понимаю.
    Скрины приложил.
    Если кто знает чего делать подскажите.
    Видио буффера и архив
    https://yadi.sk/d/MYYXQIhcdmviT
    https://yadi.sk/d/LyVREhg7dmvk5

  5. #15

    По умолчанию

    Есть подозрение, что у Вас с временами что-то не чисто. Попробуйте на вход Enable блока MB_RD_HOLD_REG просто подать TRUE. А то у вас импульс в 1 мс туда проскакивает

  6. #16
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    Если просто TRUE, то лампочка на ТРМ201 начинает непрерывно гореть, а на СПК110 бешено моргать
    и в буфере беспорядочно меняются значения всех байт, не выдерживая ни какой структуры ModbusRTU.
    Поэтому я сделал опрос раз в секунду по импульсу, но всё равно в буфере данные не соответствуют структуре ответа Modbus.

  7. #17

    По умолчанию

    Не раз в секунду по импульсу а так:
    1. Вызываем POU с Enable:= TRUE
    2. В следующем цикле вызываем POU с Enable:= FALSE до тех пор, пока Complete <> TRUE
    3. В этот момент POU отработал, анализируем Exception. Если Exception = 0, то все в норме, в буффере принятые данные.
    И так в цикле. Или переходим к следующему POU с обменом по шине.

  8. #18
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    То же самое вышло. Дело не в том как организована программа, дело в самом ModbusLIB.
    Прикладываю последовательно фото 8 циклов программы с точкой останова в ModbusLIB.
    Фото 1 Инициализация порта.png Фото 2 Подача команды на En.png Фото 3 Не понятные значения в буфере во время обработки.png Фото 4 В следующем цикле уже реальные значения с ТРМ201.png
    Фото 5 В момент подачи сигнала Complete опять абракодабра в буфере.png Фото 6 Начало нового цикла.png Фото 7 И опять всё по новой.png Фото 8 Снова текущие значения с прибора.png

    Я не спец конечно в Modbus библиотеках, но по-моему это косяк.
    Хотелось бы услышать мнение администрации.

  9. #19

    По умолчанию

    Андрей, у меня под рукой нет ТРМ201, но есть МК110-224.8ДФ.4Р. На нем я попробовал MB_RD_HOLD_REG. В принципе все работает корректно, если правильно обрабатывать выходы блока. В буфере, который у Вас называется Buffer, циферки во время работы пляшут по разному, просто их требуется считать/обработать в нужный момент. Прилагаю архив проекта, с помощью которого я считывал входы своего модуля.
    Вложения Вложения

  10. #20
    Пользователь
    Регистрация
    11.05.2012
    Адрес
    Москва
    Сообщений
    66

    По умолчанию

    Благодарю за ответ. Теперь до меня дошло.
    Я так понял буфер не абы как меняется, я у него есть три стадии (и на фотках они как раз и отразились):
    - первая мне не ясна, в ней присутствует из понятной информации только Адрес прибора Байт[0] и Функция чтения Байт[1];
    - вторая содержит посылку от прибора так как она выглядит на самом деле;
    - а вот третья это уже только байты запрошенных данных.

    У меня в связи с этим только один вопрос остался, а где хоть описание понятное есть,
    в документации к этой библиотеке в примере чёрт ногу сломит.

    Только вот версия CoDeSys3.5 SP5 Patch4 так и не работает, приборы вообще не видит ни так ни эдак.
    Только на SP4 Patch4 работает обмен с моей СПК110.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Modbus (Master) не отображается в память Modbus (Slave)
    от ghoch в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 07.05.2018, 09:40
  2. СПК 207 Master + МСД 200 Slave
    от Владимир Геннадьевич в разделе СПК2хх
    Ответов: 9
    Последнее сообщение: 16.01.2015, 10:08
  3. MODBUS SLAVE
    от DeMax в разделе ПЛК3хх
    Ответов: 0
    Последнее сообщение: 19.03.2014, 11:57
  4. Переменная из Modbus (master) в Modbus (slave)
    от Zenr в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 25.10.2013, 12:38
  5. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42

Ваши права

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