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

Тема: Примеры по сокетам для ПЛК110/160 M02 и ПЛК1хх

  1. #1

    По умолчанию Примеры по сокетам для ПЛК110/160 M02 и ПЛК1хх

    Добрый день. Для контроллеров ПЛК110/160 M02 и ПЛК1хх подготовлены примеры передачи данных по сетевым протоколам TCP и UDP с помощью библиотеки SysLibSockets.lib.
    Библиотека SysLibSockets.lib содержит все необходимые функции для организации обмена на транспортном уровне. Контроллеры ПЛК110/160 M02 и ПЛК1хх имеют свои особенности при работе с библиотекой SysLibSockets.lib, которые описаны в документации CODESYS V2.3. Программная реализация обмена через сокеты. В документации представлена совместимость функций, особенности работы для разных линеек контроллеров и описаны примеры в CODESYS.

    Программы клиента и сервера для ПЛК110/160 M02 и ПЛК1хх:
    TCP ПЛК110/160 М02
    TCP ПЛК1хх

    UDP ПЛК110/160 M02
    UDP ПЛК1хх

    Подготовлен пример передачи данных по протоколу MQTT – MQTT_OwenPLC. В примере используется библиотека от пользователя Artshw, которая была выложена на нашем форуме.

    Также сделан NTP клиент на базе примера UDP клиент для контроллеров ПЛК110/160 M02 – NTP_ClientPLC.
    Инженер по продуктам «ПЛК и модули»
    e-mail: i.masterenko@owen.ru | skype: i.masterenko_owen

  2. #2

    По умолчанию

    Иван, добрый день!

    Может и глуповатый вопрос, но все-таки. Хотел попробовать в учебных целях подключить МК210-302 к ПЛК110[M02] через библиотеку SysLibSocket. Что нужно для этого сделать? Или это вообще глупая затея?

  3. #3

    По умолчанию

    Добрый! Затея хорошая. Нужно с транспортного уровня перейти на прикладной (modbus). Для этого необходимо правильно сформировать посылку серверу (мк210-302).
    Такой пример уже обсуждался на форуме.
    Инженер по продуктам «ПЛК и модули»
    e-mail: i.masterenko@owen.ru | skype: i.masterenko_owen

  4. #4

    По умолчанию

    Иван, спасибо! Посмотрел, попробовал, но пока ничего не получается. На всякий случай шлю проект, может я чего-то накосячил? Забыл сказать. IP-адрес МК302 = 10.0.6.20, порт = 502, Modbus-адрес = 1. Последнее что мне удалось добиться - это то что на МК302 периодически подмигивает Eth1, а аварийный светодиод тоже горит, но подмигивает в противофазе Eth1
    Вложения Вложения
    Последний раз редактировалось Hemann; 04.04.2020 в 17:28.

  5. #5

    По умолчанию

    Иван, приветствую!

    Я переделал программу на основе примера TcpClient_PLCm02.pro, связь пошла. Но есть несколько вопросов. Во-первых, я вижу, что переменная hClientSocket типа HANDLE постоянно увеличивается. Хоть она и имеет длину 32 бита и мне на столе ее хватит на очень долго, она когда-то закончится. А если это будет уже на объекте, что произойдет? Возможно я что-то делаю не так? А во-вторых, прошу Вас посмотреть, правильно ли я разделяю вызовы чтение и запись, чтобы они не мешали друг другу? По-моему, чтение-запись начали подтормаживать, но может это только кажется (я делал 2 варианта проекта). Ну и в-третьих. Сейчас я работаю с одним модулем МК210. А если понадобится работать с несколькими, то как разделять доступ к ним, чтобы они друг другу не мешали?
    Проекты прикрепляю.
    Вложения Вложения
    Последний раз редактировалось Hemann; 05.04.2020 в 12:31.

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

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Во-первых, я вижу, что переменная hClientSocket типа HANDLE постоянно увеличивается.
    возможно в проекте для примера использования предполагали одно, а в итоге поучилось не очень. Но раз переход идет в закрытие сокета, то ни чего особенно страшного, главное есть ограничение на одновременно открытые сокеты. А та счетчик не сможет перепониться, начнется с другой стороны диапазона чисел
    Изображения Изображения
    • Тип файла: png owen.png (129.9 Кб, Просмотров: 36)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  7. #7

    По умолчанию

    Ну вот, что-то наваял. Теперь не перебираются постоянно хэндлы. Пожалуй, можно было и по-оптимальнее сделать, но не стал сильно переделывать программу, честно "стыренную" из примера
    Если будет конструктивная критика - буду рад услышать.
    Вложения Вложения

  8. #8

    По умолчанию

    Может маленько не в тему, поправьте если ошибся адресом.
    Подскажите, пожалуйста, на PLCWinNT V2.4.7.42, том, что вместе с CDS 2.3 ставится, получится с сокетами поэкспериментировать?

  9. #9

    По умолчанию

    Разобрался, всё работает...по крайней мере клиента из примеров со сторонним TCP-сервером связать удалось...только пример TCP клиента из шапки для ПЛК1хх ,на PLCWinNT, без исправлений не работает.
    Последний раз редактировалось Spawn; 09.09.2020 в 10:07.

  10. #10

    По умолчанию

    Цитата Сообщение от Spawn Посмотреть сообщение
    пример TCP клиента из шапки для ПЛК1хх, кстати, "из коробки" не рабочий.
    Вы его запускали именно на ПЛК1хх или на PLCWinNT?
    Если на ПЛК1хх - на каком шаге возникли проблемы?

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

Похожие темы

  1. Недостатки ОВЕН ПЛК1хх
    от Николай Федоров в разделе ПЛК1хх
    Ответов: 104
    Последнее сообщение: 26.05.2017, 09:50
  2. Ответов: 1
    Последнее сообщение: 06.09.2014, 22:52
  3. ЕКОН134 и ПЛК1хх опрос по Ethernet
    от Makswell в разделе Сетевые технологии
    Ответов: 4
    Последнее сообщение: 09.04.2014, 08:00
  4. ПЛК1хх + GPRS
    от alext1981 в разделе Сетевые технологии
    Ответов: 11
    Последнее сообщение: 28.02.2013, 19:22
  5. Пожарная сигнализация+ПЛК1хх
    от Gans в разделе Подбор Оборудования
    Ответов: 2
    Последнее сообщение: 09.08.2007, 16:09

Ваши права

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