Страница 1 из 2 12 ПоследняяПоследняя
Показано с 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% рабочий проект где такое взаимодействие успешно реализовано.
    Вложения Вложения

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

    По умолчанию

    шлюз в плк какой выставлен?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

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

    Сказки рассказываете... Или маршрутизатор выступает у сети в качестве шлюза, тогда да, плк тоже должен, или порт пробросьте, но тогда ip указывать маршрутизатора.
    Есть конечно отличия сетевой карты на ОС windows и на плк на codesys но не на столько.
    Последний раз редактировалось Scream; 04.03.2016 в 14:57.

  4. #4

    По умолчанию

    Видимо все же придется писать про настройки сети.
    ПЛК:
    IP = 172.17.0.94
    mask = 255.255.252.0
    Gayteway = 172.17.0.1

    ПК - если подсеть та же и ПЛК
    IP = 172.17.0.95
    mask = 255.255.252.0
    Gayteway = 172.17.0.1

    Даже скриншот с PlcInfo прикладываю.
    Изображения Изображения
    Последний раз редактировалось kantv; 04.03.2016 в 15:07.

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

    По умолчанию

    ну и зачем нам данные при удачной передаче запросов? В этом случае шлюз вовсе не обязателен. Запускайте из сети ПК nmap сканируя порт 502 по адресу плк и сразу станет ясно, правильно ли настроен маршрутизатор
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #6

    По умолчанию

    Понимаю, что проще всего сейчас начать обсуждать настройки маршрутизатора. Тем более что в большинстве случае действительно настройки на маршрутизаторе являются причиной сетевых проблем.
    Но хотелось бы получить ответ на вполне конкретный вопрос - Позволяет ли сетевой интерфейс контроллера ОВЕН ПЛК100 (а также других моделей) передавать данные на IP адреса в других подсетях?

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

    По умолчанию

    Цитата Сообщение от kantv Посмотреть сообщение
    Понимаю, что проще всего сейчас начать обсуждать настройки маршрутизатора. Тем более что в большинстве случае действительно настройки на маршрутизаторе являются причиной сетевых проблем.
    Но хотелось бы получить ответ на вполне конкретный вопрос - Позволяет ли сетевой интерфейс контроллера ОВЕН ПЛК100 (а также других моделей) передавать данные на IP адреса в других подсетях?
    ну конкретно Вам и отвечали, должен правильно выставлен шлюз в плк, в маршрутизаторе проброшен порт, не верите в возможности плк, поставте эмулятор слейва на ПК и постучитесь к нему из другой подсети, я утверждаю что так же не получите ответ
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  8. #8

    По умолчанию

    Шлюз выставлен верно. Порт пробрасывать не надо потому что это маршрутизатор - он пробрасывает ВСЕ пакеты (по всем портам TCP и UDP, а также ICMP без ограничений по протоколам) из одной сети в другую, в нем нет никакого NAT (как в обычных домашних роутерах).

    А вот по поводу возможностей контроллера возникает сомнение, поскольку запрос на ping он отправляет на ПК, только если ПК находится в той же подсети что и ПЛК. И в случае с ping маршритизатор точно настроен верно, поскольку пакеты ping между ДЕСЯТКАМИ устройств в этих подсетях проходит нормально.

  9. #9
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Вы же понимаете что пинг из одной подсети в другую возможен только через шлюз, 2 устройства находясь в разных подсетях пинговаться никак не могут самостоятельно.
    нарисуйте карту сети чтоли, не хочется в пятницу читать много текста и вникать в вашу проблему с головой, на карте покажите все настройки.
    Есть van порт и lan порт, из lan в van через шлюз без проблем, из van в lan нет, только правила и разрешения.

  10. #10
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Мы реализовали передачу необходимых данных через ModbusTCP используя библиотеку Modbus.lib
    Булшит. Овеновский modbus.lib не умеет TCP. И MB_CLIENT в нём нет. Это из библиотеки oscat network, наверное.

    Предлагаю взять какой-нибудь другой комп, который не настраивался раньше на работу в этой сети, и попробовать задать на нём параметры как на ПЛК, после чего попинговать первый комп.

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

Похожие темы

  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

Ваши права

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