Подключите Arduino к ПЛК (обмен данными)

Arduino должен считывать данные с ПЛК. Есть ли у кого-нибудь опыт с этим? Какие возможны интерфейсы?

Я бы предпочел OPC-UA, но во всех моих исследованиях упоминался только OPC-DA.

Заранее благодарим за ваши предложения.

, 👍1

Обсуждение

RS485 ASCII, modbus или ethernet, вероятно, подойдут., @Paul


1 ответ


1

@Paul, спасибо за ваше предложение.

Я хочу продолжить работу с TCP/IP. Я установил модуль ESP8266. Модуль ESP настроен как сервер. Сервер на модуле ESP запущен и работает. Я также могу подключиться к ESP-серверу с помощью "Hercules", Terminal Tool.

Все примеры, которые я нашел, касались установления связи с браузером и HTML. Я также проверил это, но это не то, что мне нужно.

Это текущий код взаимодействия с веб-страницей для переключения индикатора.

    void loop() {
    if (esp8266.available()) // проверяем, отправляет ли esp сообщение
    {
    debug("available and waiting for command");
    if (esp8266.find("+IPD,"))
    {
      debug("Incomming Request");
      int connectionId = esp8266.parseInt();

      if (esp8266.findUntil("LED","\n")) digitalWrite(LED, !digitalRead(LED));

      String webpage = "<h1>Hello World!</h1>Open [IP]/LED to Toggle LED on D9";

      if (sendCom("AT+CIPSEND=" + String(connectionId) + "," +          String(webpage.length()), ">"))
      {
        sendCom(webpage,"SEND OK");
        sendCom("AT+CIPCLOSE=" + String(connectionId),"OK");
        debug("Send and Close");
      }
    }
  }
}

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

Как я могу проверить, что действительно было отправлено и что действительно получил ESP? В этот момент отправка команды /LED не имеет никакого эффекта.

Терминал & ЭСП Терминал ESP

Заранее спасибо за совет

,