Можно ли подключить 2 ПЛК с интерфейсами Ethernet с помощью Ethernet-шилда, arduino Nano и SX1278?

Мне нужно подключить 2 ПЛК с интерфейсами Ethernet на расстоянии более 1 км, и я думал о подключении через SPI Ethernet-щита и модуля SX1278 к плате arduino nano (UNO).

Нужен ли мне логический преобразователь между Nano и SX? (Я видел много видео, где люди делают это без логического преобразователя)

Может ли Nano обрабатывать информацию, передаваемую из Ethernet в SX?

Если возможно, где я могу найти пример такой настройки?

, 👍-2


1 ответ


0

Просто тот факт, что вы задаете этот вопрос, означает, что у вас нет навыков или знаний, чтобы понять, о чем вы спрашиваете (я не имею в виду что-то плохое, просто то, что вы задаете этот вопрос, показывает, что вы вам не хватает некоторых базовых знаний, которые вам понадобятся для выполнения задачи).

Во-первых, вам нужно понять, что такое Ethernet. Сам кабель представляет собой лишь один уровень («физический» или самый нижний уровень) семиуровневой модели OSI.

Помимо этого есть еще 6 слоев с возрастающим уровнем абстракции.

Вам нужно будет понять, что передается между двумя ПЛК и на каком уровне модели OSI имеет смысл создать мост.

Вы делаете это на уровне приложения, где вы получаете данные, отправленные ПЛК, и интерпретируете их, а затем отправляете эту интерпретацию по мосту для восстановления на другом и? Или вы делаете это на уровне сокетов, где вы собираете необработанную информацию и отправляете ее, или на транспортном уровне, где вы берете сетевые данные и пересылаете их, или на уровне данных, где вы принимаете электрические сигналы Ethernet и передаете эти логические данные на другой конец для репликации?

Но тогда, конечно, возникает другой вопрос: действительно ли это Ethernet? Или это какой-то другой протокол, который просто использует кабели CAT5 (или аналогичные) для передачи данных? Если это так, вам сначала нужно узнать, что это за протокол, прежде чем вы сможете даже подумать о подключении чего-либо к проводу.

Только после того, как вы ответите на эти вопросы, вы сможете задать дополнительные вопросы о реализации своей настройки. Такие вещи, как:

  • Какое оборудование необходимо для подключения к ПЛК
  • Какой протокол мне нужно реализовать
  • Какие средства высокого уровня потребуются Arduino для работы соединения?

И т. д. Много вопросов.

Итак:

  • Это на самом деле Ethernet или какой-либо другой протокол, передаваемый по кабелям CAT5, например RS-485/RS-422?
  • Учитывая фактический протокол, какой интерфейс вам нужен?
  • Если это Ethernet, использует ли он IP или что-то еще (IPX?)
  • Если это IP, использует ли он TCP или UDP для связи? Или оба?
  • Если это IP, что управляет IP-адресами? Потребуется ли вам внедрить DHCP-сервер или перехватить IP-адрес "удаленного" конец моста?
  • После того как вы разберетесь с протоколами, станете ли критичнее время в вашей системе? Ожидает ли ПЛК А ответа от ПЛК Б в течение определенного периода времени?
  • Учитывая ненадежность беспроводного соединения, как вы будете обрабатывать отброшенные или поврежденные пакеты?
  • Достаточно ли пропускной способности выбранной вами технологии подключения для достаточно быстрой передачи данных и предотвращения скопления данных и потери информации?

Как видите, существует огромное количество вещей, которые следует учитывать при разработке такого рода вещей.

Если у вас есть список из 20 шагов, которые нужно выполнить, чтобы реализовать это, вы пытаетесь начать, возможно, с шага 15 или 16. Вам нужно вернуться прямо к шагу 1 и посмотреть на абсолютные основы того, что вы из себя представляете. пытаетесь сделать и для чего вы пытаетесь это сделать.

,

Спасибо за ваш быстрый ответ, цель этой системы - действовать как реле, потому что эти ПЛК на самом деле являются GSM-логгерами SENECA Z-GPRS3, но один из них находится в зоне с очень плохим сигналом GSM, поэтому нормальная работа GSM не может быть и речи. ПЛК имеет интерфейс Ethernet RJ45, протокол TCP — прикладной уровень — веб-сервер на порту 80 и фиксированные IP-адреса, такие как 192.168.1.100 для ПЛК-A и 192.168.1.101 для ПЛК-B. Тайминг не критичен, с учетом того, что их модемы 2G-GPRS, скорость передачи не может превышать 20-50кбит/с, а по поводу пакетов... потеря-повтор., @Stefan Neamtu

В этом случае лучше всего иметь один Arduino, который притворяется удаленным ПЛК на каждом конце канала и захватывает необработанные байты из любого сокета TCP, на который отправляет локальный ПЛК., @Majenko