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

Тема: ModBus мастер в ПЛК73

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

    По умолчанию ModBus мастер в ПЛК73

    У меня ПЛК73 с двумя RS485, надо один канал отдать компьютерной сети с протоколом ОВЕН (программе ОПМ),
    а другой что более сейчас актуально, использовать по ModBus для опроса датчика.
    Как я понял, Модбас мастер можно сделать только программно. Сделал программку по документу
    "Описание интерфейса библиотеки ФБ для работы с ModBus.(Master)"
    с использованием библиотек ModBus SisLibCom ComServise из примеров ив документе.
    Для проверки (так как датчика пока нет) считываю в ТРМ138 уставки по функции 03.
    Но что-то неправильно работает.
    Во-первых очень долго инициализация порта идёт-несколько минут порт не открывается.
    Потом вдруг открывается но считывает с ошибкой 255 (тайм-аут), а в буфере приёма какие-то
    странные числа.
    Какой указывать порт? 1 или 2 ? дело в том, что результат одинаковый...

  2. #2

    По умолчанию

    В примере ошибка!

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

    По умолчанию

    И где же ошибка? Всё что я изменил по сравнению с примером это поменял MB_ASC на MB_RTU и номера регистров...
    пример по своему названию не может содержать ошибку, ведь он наверняка проверялся в работе или даже страшно подумать...
    Я думал, этот пример не работает на СПК в КДС3.5 , а он и в ПЛК в КДС2.3 не работает?
    Если в примере положенном в диск ошибка и об этой ошибке знают в Овене, то это уже не пример, а диверсия подрывающая
    российскую экономику..
    Да, ещё: в док. "Номера портов контроллеров ОВЕН для библ SysLibCom" для ПЛК73 написано что RS1-Com0. Но если
    номер порта устанавливаешь 0, при работе в кодесис ошибка INVALID:0
    Последний раз редактировалось RomAl; 17.06.2015 в 10:15.

  4. #4

    По умолчанию

    Нумерация портов:
    RS1 - Com0
    RS2 - Com1

    На счет ошибки кодесис при обращении к порту Com0 - давно избитая на форуме тема. Перечисление Ports из библиотеки SysLibCom начинается с Com1, поэтом кодесис выводит ошибку при обращении к Com0, но при этом порт успешно открывается и функционирует.

    При организации опроса устройств через библиотеку Modbus.lib - необходимо после установки флага разрешения работы блока "enable" сразу же его снять и ожидать завершения работы блока "complete", после чего уже анализировать наличие ошибки и разбирать буфер. При использовании ф.б. записи формировать буфер на запись при работе блока нельзя.

    Посмотрите во вложении пример для ПЛК73 опроса модуля МВ110-1(4)ТД.
    Вложения Вложения

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

    По умолчанию

    Понял, форум вместо документации.. почему Овен упорно
    снабжает новые приборы дисками с неработающими примерами
    если всем известно что они не работающие?
    Сидят как в бункере..
    Кстати, что-то похожее на правду ПЛК читает, но впереди несколько
    регистров содержащих адрес, номер регистра и ещё что-то.
    Что интересно, поставил в программе номер порта 1, но читает
    почти одинаково оба порта. А почему открытие порта происходит только через
    3-5минут?
    Ладно, спасибо за пример сейчас посмотрю..

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

    По умолчанию

    Пока читает почти тоже самое что и моя программа, т.е. похожее на правду, но
    вначале непонятно откуда взявшиеся регистры с адресом, номером регистра
    ЗЫ: после того как уменьшил период опроса до 10мс, стало читать вроде бы
    то что надо. Странно..
    Последний раз редактировалось RomAl; 17.06.2015 в 16:32.

  7. #7

    По умолчанию

    А Вы в какой момент буфер разбираете? Просто смотрите значения в буфере, который используется с ф.б. из ModBus.lib? Этот буфер используется и для запросов и для ответов, необходимо в нужный момент (после того как блок отработал, но не запустился снова) разбирать данные ответа.

    На счет долгого открытия порта - покажите свой проект, как Вы работаете с портом.

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

    По умолчанию

    Да, правильно, в буфере не корректно смотреть. Сейчас сделал тестовую программку чтения регистров на основе вашей - читает всё правильно и порт быстро открывается.Спасибо.
    Единственно, мне кажется, она перегружена таймерами и флагами- попробую упростить.
    И ещё, при увеличении цикла программы до 50мс, перестаёт работать- постоянно ошибка таймаута. При 20 ещё работает, а при 50 всё...
    Последний раз редактировалось RomAl; 18.06.2015 в 10:35.

  9. #9

    По умолчанию

    Чему равен таймаут в ФБ?

  10. #10

    По умолчанию

    Цитата Сообщение от RomAl Посмотреть сообщение
    Да, правильно, в буфере не корректно смотреть. Сейчас сделал тестовую программку чтения регистров на основе вашей - читает всё правильно и порт быстро открывается.Спасибо.
    Единственно, мне кажется, она перегружена таймерами и флагами- попробую упростить.
    И ещё, при увеличении цикла программы до 50мс, перестаёт работать- постоянно ошибка таймаута. При 20 ещё работает, а при 50 всё...
    В приемре всего один таймер для каждого ф.б. - таймер задержки после отработки блока.

    время цикла 50мс - это многовато для ПЛК, время цикла не должно превышать 20-30мс (по возможности следите за временем цикла и при необходимости разбивайте функционал по разным циклам - оператор Case, чтобы не было превышения 20мс), иначе могут возникать сбои в работе ПЛК, в первую очередь сбои в работе портов.

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

Похожие темы

  1. Modbus-мастер в Visual Studio (.NET)
    от Yegor в разделе Помощь Разработчикам
    Ответов: 61
    Последнее сообщение: 27.08.2021, 14:15
  2. ПЛК73 с платой ПИ73-5 и modbus:slave
    от jum_kaash в разделе ПЛК63/73
    Ответов: 15
    Последнее сообщение: 18.09.2012, 11:32
  3. ModBUS TCP ПЛК100(мастер) и Lectus(слейв)
    от GSK в разделе Сетевые технологии
    Ответов: 4
    Последнее сообщение: 14.09.2012, 11:35
  4. Modbus Universal MasterOPC Server и ПЛК мастер
    от smk1635 в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 13.09.2011, 22:22
  5. СМИ1, modbus-rtu, мастер. Команда 4. КАК?
    от Matysik в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 26.05.2011, 15:32

Ваши права

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