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

Тема: ПЛК+ПК через Ethernet

Комбинированный просмотр

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

    По умолчанию ПЛК+ПК через Ethernet

    Подскажите новичку.
    Пишу программку на ПК для опроса ПЛК через Ethernet. Задача: по запросу от ПК ПЛК должен передать массив значений. Начну с простого
    1) Как в ПЛК установить нужный IP адрес, если ПЛК выступает в роли slave?
    2) Какие библиотеки лучше использовать для передачи данных?

  2. #2

    По умолчанию

    Цитата Сообщение от Змий Посмотреть сообщение
    Подскажите новичку.
    Пишу программку на ПК для опроса ПЛК через Ethernet. Задача: по запросу от ПК ПЛК должен передать массив значений. Начну с простого
    1) Как в ПЛК установить нужный IP адрес, если ПЛК выступает в роли slave?
    2) Какие библиотеки лучше использовать для передачи данных?
    IP задается при наличии связи с ПЛК (например по rs232). Заходите в браузер ПЛК (на вкладке ресурсы), выбираете команды setip, setgate, setmask и задаете нужные вам значения.

  3. #3

    По умолчанию

    Существуют ли готовые функции способные прочитать из Ethernet-порта либо записать в него данные напрямую? Если да, то какие? Подскажите плиз

  4. #4

    По умолчанию

    Цитата Сообщение от Змий Посмотреть сообщение
    Существуют ли готовые функции способные прочитать из Ethernet-порта либо записать в него данные напрямую? Если да, то какие? Подскажите плиз
    Как-то не понятно, что и как вы хотите передать. Какие данные и откуда? И по какому протоколу?

  5. #5
    Пользователь
    Регистрация
    12.12.2007
    Адрес
    п.Таврическое Омская область
    Сообщений
    97

    По умолчанию

    Цитата Сообщение от Змий Посмотреть сообщение
    Существуют ли готовые функции способные прочитать из Ethernet-порта либо записать в него данные напрямую? Если да, то какие? Подскажите плиз
    OPC серверы применяй, например OPC Fastwel Modbus... Работает нормально... (http://www.fastwel.ru
    Чтобы все нормально работало:
    1. Контроллер и компьютер желательно чтобы были в одной сетке адресов
    ( хотя при работе через шлюз и этого не обязательно - но для новичка
    делайте как указано:
    Например у контроллера IP - адрес 192.168.1.2, а у компьютера
    192.168.1.1
    Тогда контроллер и компьютер можно соединять напрямую или
    через коммутатор.

    2. Нужно в контроллер добавить модуль MODBUS SLAVE для которого
    ModBus FIX - должен быть TCP
    3. К модулю MODBUS SLAVE добавить переменные - именно они будут
    видны во "внешнем мире"

    4. Чтобы проверить виден ли контроллер в сети пропинговать его c
    компьютера :
    ping <IP адрес контроллера>
    Если будет ответ что-то наподобии:
    Ответ........число байт 32 время 3 мс TTL=128
    это говорит о том что компьютер и контроллер друг друга
    видят... Можно идти дальше.

    5. Установить OPC сервер на компьютер с поддержкой TCP.
    В настройка OPC сервера указать IP-адрес контроллера
    и если необходимо порт TCP то 502.
    В дальнейшем завести переменные которые бы ссылались
    на переменные контроллера - то есть переменным внутри
    OPC-сервера присваивать адреса по которым нужно обращаться
    к переменным контроллера.
    Нужно прочитать относительно особенностей адресации
    в руководстве на Овен и используемый OPC-сервер.
    ( Чтобы это все стыковалось )

    У меня без проблем управляются по TCP - два ОВНА...

  6. #6
    Пользователь
    Регистрация
    28.10.2008
    Адрес
    Туймазы, Башкортостан
    Сообщений
    9

    По умолчанию Modbus/TCP

    Здравствуйте. В настоящий момент я изучаю OpenSCADA. Наилучшим вариантом связи с ПЛК для меня является интерфейс Ethernet. Как я понимаю, наиболее разумен тут протокол Modbus/TCP. Однако, как я ни стучался на 502-й порт, коммуникация не происходит.
    По подключению в Codesys модулей ввода/вывода по протоколам Овен, Modbus/ASCII, Modbus/RTU написаны подробные инструкции, а вот как именно в Codesys научить ПЛК работать с Modbus/TCP -- нет ни одной. А ведь, судя по http://www.owen.ru , это третий по важности протокол.
    Поскольку, на мой взгляд, этот топик наиболее близок к решаемой задаче, позвольте задать уточняющие вопросы тут.
    Цитата Сообщение от lunyov_i Посмотреть сообщение
    3. К модулю MODBUS SLAVE добавить переменные - именно они будут видны во "внешнем мире"
    Поподробнее, пожалуйста. Куда нажать и какой кнопкой мыши, что выбрать, как сделать существующую переменную доступной тут? Куда бы я ни тыкался в PLC Configuration, самое большее, что нашёл -- это добавить к структуре "Modbus (slave)[VAR] -> Modbus[FIX] -> TCP[VAR]" ещё один подэлемент во втором уровне из списка "Statistic, Button, Universal network module, ..., Float). Но это, полагаю, совсем не то.
    Последний раз редактировалось Andrey V; 19.12.2016 в 13:01.

  7. #7
    Пользователь
    Регистрация
    12.12.2007
    Адрес
    п.Таврическое Омская область
    Сообщений
    97

    По умолчанию

    Цитата Сообщение от fLegmatik Посмотреть сообщение
    Здравствуйте. В настоящий момент я изучаю OpenSCADA. Наилучшим вариантом связи с ПЛК для меня является интерфейс Ethernet. Как я понимаю, наиболее разумен тут протокол Modbus/TCP. Однако, как я ни стучался на 502-й порт, коммуникация не происходит.
    А что значить стучался?
    Контроллер с компа пингуется?
    Вот например я пингую с компа контроллер Owen
    Овен сидит на адресе 192.168.1.66:
    ping -n 4 192.168.1.66
    Получаю:
    ---------------------------------------------
    Обмен пакетами с 192.168.1.66 по 32 байт:

    Ответ от 192.168.1.66: число байт=32 время=6мс TTL=128
    Ответ от 192.168.1.66: число байт=32 время=8мс TTL=128
    Ответ от 192.168.1.66: число байт=32 время=9мс TTL=128
    Ответ от 192.168.1.66: число байт=32 время=5мс TTL=128

    Статистика Ping для 192.168.1.66:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
    Приблизительное время приема-передачи в мс:
    Минимальное = 5мсек, Максимальное = 9 мсек, Среднее = 7 мсек
    -------------------------------------------------
    Это говорит о том что компьютер и контроллер друг-друга видят.
    Цитата Сообщение от fLegmatik Посмотреть сообщение
    По подключению в Codesys модулей ввода/вывода по протоколам Овен, Modbus/ASCII, Modbus/RTU написаны подробные инструкции, а вот как именно в Codesys научить ПЛК работать с Modbus/TCP -- нет ни одной. А ведь, судя по http://www.owen.ru , это третий по важности протокол.
    Нет инструкции там есть.
    Цитата Сообщение от fLegmatik Посмотреть сообщение
    Поскольку, на мой взгляд, этот топик наиболее близок к решаемой задаче, позвольте задать уточняющие вопросы тут.Поподробнее, пожалуйста. Куда нажать и какой кнопкой мыши, что выбрать, как сделать существующую переменную доступной тут? Куда бы я ни тыкался в PLC Configuration, самое большее, что нашёл -- это добавить к структуре "Modbus (slave)[VAR] -> Modbus[FIX] -> TCP[VAR]" ещё один подэлемент во втором уровне из списка "Statistic, Button, Universal network module, ..., Float). Но это, полагаю, совсем не то.
    Cначала делаем "Modbus (slave)[VAR] -> Modbus[FIX] -> TCP[VAR]
    Опять встаем на Modbus (slave)[VAR] жмем правую кнопку мыши
    Append Subelement -> (внизу выбирайте ) 2 byte, 8-bit, 4-byte....
    Например нажимаете 2 byte, появляется 2 byte (VAR)
    Присваиваете ей имя под которым она будет видна в программе.
    Ну а в Modbus она будет читаться по адресу 040001 для IP-адреса
    который имеет ВАШ контроллер....
    Последний раз редактировалось Andrey V; 19.12.2016 в 13:01.

  8. #8

    По умолчанию

    "Modbus (slave)[VAR] -> Modbus[FIX] -> TCP[VAR]" - именно так, а потом настроить адрес slave в "Modbus (slave)[VAR] и правильно настроить мастер, опрашивающий ПЛК.

  9. #9

    По умолчанию

    telnet? Это ModBusTCP. Нужна спец. утилита

  10. #10
    Пользователь
    Регистрация
    12.12.2007
    Адрес
    п.Таврическое Омская область
    Сообщений
    97

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    telnet? Это ModBusTCP. Нужна спец. утилита
    Если на telnet указываешь номер порта TCP, то будет происходить
    подключение к этому порту, независимо от того что это команда telnet.
    По 80 подключимся к любому Web серверу по 25 к любому SMTP
    серверу, они выдают сообщения соответствующие правилам обмена того
    или иного протокола (можно вводить команды соответствующие спецификации протоколов), так что ничего тут такого и нет, сетевые администраторы бывает что так поступают.
    Под Windows я правда никогда не подключался таким способом с сервакам, а под Unix, сколько угодно
    когда искал проблемы.
    --------------------------------
    Например набрал на соседнем freeBSD
    telnet www.owen.ru 80
    Получаю:
    Trying 217.106.225.146...
    Connected to www.owen.ru.
    Escape character is '^]'.
    --------------------------------
    Поэтому если по Modbus на 502 порту если что-то должно выдатся то оно выдастся и по
    telnet IP_OWEN 502....
    Последний раз редактировалось lunyov_i; 10.04.2009 в 21:31.

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

Ваши права

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