Показано с 1 по 10 из 12

Тема: ПЛК100 передача данных по TCP/IP при разных подсетях

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию ПЛК100 передача данных по TCP/IP при разных подсетях

    Добрый день, всем читающим данную тему.

    У нас есть контроллер ПЛК100 с прошивкой 2.15.8.
    Нам потребовалось организовать сбор данных с контроллеров ПЛК100 на ПК. Мы реализовали передачу необходимых данных через ModbusTCP используя библиотеку Modbus.lib 27.5.09. Все прекрасно работало "на столе" во время разработки, когда же перенесли контроллер в рабочую сеть, то передача данных работать перестала. Поясню - у нас на предприятии сеть Ethernet разделена на два сегмента: один для офисных компьютеров, а другой для производственного оборудования. Между этими двумя сетями установлен программный шлюз (маршрутизатор). Сделано это по соображениями безопасности, чтобы подключиться к производственному оборудованию можно было только с тех компьютеров в офисной сети, для которых такой доступ разрешен на маршрутизаторе.
    По началу подозревали какую-либо специфическую ошибку в программе на ПЛК или ПК. Для тестирования на ПЛК была создана минимальная версия программы для передачи данных по ModbusTCP. Проект с данной программой (ModbusTcpClient) прикладываю к данному сообщению. Как можно видеть из проекта, в нем используется всего одна функция MB_CLIENT, которая вызывается каждые 5 секунд и записывает содержимое трех регистров Modbus в устройстве Slave (по компьютерной терминологии это надо бы назвать сервером), которым являлся персональный компьютер с запущенной программой по приему Modbus пакетов. Адрес контроллера у нас при тестировании был всегда один и тот же - 172.17.0.94. Если компьютер имеет IP адрес из той же подсети, например 172.17.0.95, то данные успешно приходят и пакеты можно наблюдать в Wireshark. Но стоит только перенести ПК в другую подсеть, например 172.17.32.138, то данные сразу перестают приходить и в Wireshark не видно никаких попыток контроллера соединиться.


    Изучая данную проблему глубже, я начал копаться в кодах библиотеки Modbus.lib и стал подозревать, что проблема в другой библиотеке SysLibSockets 20.2.06. Чтобы проверить свои предположения я нашел на данном форуме проект по реализации сетевого ping на ПЛК. И решил его протестировать. Мои опасения подтвердились - если компьютер имеет IP адрес из той же подсети что и контроллер, например все тот же 172.17.0.95, то пинги проходят нормально - контроллер видит ответы и в Wireshark видны как входящие, так и исходящие ICMP пакеты. Но стоит только сменить IP адрес компьютера на другую подсеть, например 172.17.32.138, то ping пропадает. Данный проект также прикладываю.

    Сразу хочу отметить, что компьютерная сеть настроена на 100% верно - данные подсети существуют уже не первый год и в каждой из подсетей расположено довольно много разного оборудования (компьютеры, принтеры, контроллеры Siemens, серверы и т.д.) и связь между этим оборудованием по различным протоколам работает замечательно. Сетевые настройки на ПЛК установлены также верно - задан IP адрес, маска подсети, адрес маршрутизатора такие же как на другом оборудовании в этой же подсети.

    Собственно после всех этих тестирований, на которые было потрачено время и силы, у маня появилось стойкое подозрение, что контроллер, в частности ПЛК100, не способен по Ethernet передавать данные устройствам, которые находятся в другой подсети. Мне до сих пор не хочется в это верить, особенно читая на данном форуме темы по созданию Web серверов на контроллерах или удаленного управления, ведь все эти задачи не могут быть выполнены без передачи данных между различными подсетями, но мой реальный опыт пока свидетельствует о том, что данные между разными подсятеми контроллером не передаются.

    Очень хочется услышать отзывы разработчиков или специалистов имеющих опыт по организации сетевого взаимодействия на контроллерах Овен. Был бы очень рад, если бы кто-нибудь указал в приложенных мною проектах ошибки, которые не позволяют передавать данные между различными подсетями или выложил бы 100% рабочий проект где такое взаимодействие успешно реализовано.
    Вложения Вложения

Похожие темы

  1. Передача данных СПК107 на СМИ-1. Тип данных REAL.
    от ByuT в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 23.01.2016, 23:35
  2. Передача данных
    от x86 в разделе Сетевые технологии
    Ответов: 9
    Последнее сообщение: 29.12.2015, 15:11
  3. Передача данных в SQL
    от Роман26 в разделе Эксплуатация
    Ответов: 14
    Последнее сообщение: 18.05.2015, 15:23
  4. ПЛК100 + RS232 = Передача данных
    от DrKillJoy в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 10.03.2011, 20:51
  5. Передача данных по RS-485
    от Flomaster в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 22.01.2009, 09:42

Ваши права

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