-
Обмен через UDP
Добрый день! Подскажите пожалуйста как организовать обмен через UDP, а точнее имеется два ПЛК-100 каждый должен и принимать и передавать сетевые переменные. Нашел пример http://www.owen.ru/forum/showpost.ph...8&postcount=10 но там показано только в одну сторону.
-
Вложений: 1
Вложение 5133Три контроллера соединены через свич сежду собой, выполняют циклическую программу, передавая данные от 1 ко 2, от 2 к 3, и от 3 к 1.
Через свич подключены к среде программирования(визуализация) и к Мастерскаде.
Программа писалась для тестирования скорости передачи данных и проверки конфликта МРСТ и КДС. Конфликта не замечено.
-
lara197a тебе спасибо большое!!!! Я не изменил идентификатор (COB-ID)
-
не могу ничего понять. Беру 3 ПЛК-100, соединяю через свич, придумываю 3 переменных x1, y2, z3 для 1,2,3 ПЛК соответственно. 1 ПЛК должен изменять x1, а читать y2, z2. 2 ПЛК должен изменять y2, а читать x1, z3. 3 ПЛК изменяет z3, читает x1 и y2. В инструкции про разделение IP адресов ничего не сказано, ок, оставляем как есть одинаковые у всех. В каждом из проектов делаем 2 сетевых листа переменных PRIMER_READ (COB-ID 1) и PRIMER_WRITE (COB-ID 2). 1 работает на чтение, 2 на запись. По итогу в онлайн режиме 1 ПЛК вижу только как изменяется переменная x1. То как другие ПЛК изменяют другие переменные не вижу (переменные равны нулю). Вывод - не работает. Вопрос: что я сделал не так?
-
Ну это же сеть как ни как , какие на...н одинаковые IP адреса .
-
Вложений: 1
Пробую компилировать пример уважаемого lara197a. Компилятор выдает предупреждения.
Вложение 15757
Как от них избавиться?
lara197a, спасибо за пример. У Вас для всех сетевых папок connection 1 (UDP). Я почему-то думал, что для каждой папки должно быть свое соединение (и по инструкции всего допускается 4). Кто-нибудь может пояснить этот момент?
-
Ответьте, пожалуйста, кто знает на следующие вопросы:
1. Как много можно создать папок (с разными COB-ID) для записи в одном соединении ( connection 1 (UDP) )?
2. То же самое для чтения?
3. Если можно создавать все папки в одном соединении, то какой смысл создавать другие соединения (это те, о которых в инструкции говорится, что их можно максимум 4)? Для чего они нужны? Может это нужно для добавления другого типа сети?
4. И про предупреждения из предыдущего поста, может кто подскажет.
-
Неужели нельзя на столе 3...6 плкшек соединить и просто попробовать ?
Сразу многое понятно станет
-
Пока есть только 2 ПЛК, остальные будут позже, а делать уже сейчас надо. Не хочется потом время тратить на переделки, если вдруг что не пойдет. Чтобы не опрашивать все переменные постоянно, думаю разбить их на группы (в разные папки для записи) и писать по команде только те папки, что необходимы в данный момент. Надо еще как-то контролировать дошли данные или нет. Для этого это же значение сразу посылаем обратно. И еще не знаю если данные придут некорректные пакет проигнорируется или нет? Галочка для проверки контрольной суммы не действует для UDP? Надо принять несколько раз одинаковый ответ для гарантии. Если изменяется только одна переменная в папке, то передается только она или вся папка целиком? Кто как делает в таких случаях?
Первый раз делаю такое, поэтому есть сомнения не будет ли мешать обмен сетевыми переменными, если в эту же сеть подключить скаду. Или лучше ее перекинуть на отдельный интерфейс.
-
Вопрос, который проверить не могу:
При изменении одной переменной при записи по команде в другой контроллер пишется только эта переменная или вся папка целиком? Мне это надо знать, так как данные будут изменяться из панели и остальные переменные папки могут не быть на текущем экране и проконтролировать их корректность не получится.