Можно ли подключить 2 ПЛК с интерфейсами Ethernet с помощью Ethernet-шилда, arduino Nano и SX1278?
Мне нужно подключить 2 ПЛК с интерфейсами Ethernet на расстоянии более 1 км, и я думал о подключении через SPI Ethernet-щита и модуля SX1278 к плате arduino nano (UNO).
Нужен ли мне логический преобразователь между Nano и SX? (Я видел много видео, где люди делают это без логического преобразователя)
Может ли Nano обрабатывать информацию, передаваемую из Ethernet в SX?
Если возможно, где я могу найти пример такой настройки?
@Stefan Neamtu, 👍-2
1 ответ
Просто тот факт, что вы задаете этот вопрос, означает, что у вас нет навыков или знаний, чтобы понять, о чем вы спрашиваете (я не имею в виду что-то плохое, просто то, что вы задаете этот вопрос, показывает, что вы вам не хватает некоторых базовых знаний, которые вам понадобятся для выполнения задачи).
Во-первых, вам нужно понять, что такое 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 и посмотреть на абсолютные основы того, что вы из себя представляете. пытаетесь сделать и для чего вы пытаетесь это сделать.
- Nano и Ethernet не будут писать в PushingBox в сети на рабочем месте (но будут дома)
- avrdude ser_open() can't set com-state
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Какое максимальное энергопотребление Arduino Nano 3.0?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Питание светодиодной ленты - Сколько ампер?
- Arduino nano как клавиатура HID
- Как получить HTTPS на Arduino?
Спасибо за ваш быстрый ответ, цель этой системы - действовать как реле, потому что эти ПЛК на самом деле являются 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