Как настроить модем iRZ MC55iT для установления GPRS-соединения между ПР200 и сервером?

Здравствуйте! 

У меня есть следующая задача: 

1. На ПК-сервере (Windows 10) работает программа на Java. 
2. Подключено Программируемое реле Овен ПР200. 
3. Используется модем iRZ MC55iT. 
4. На клиентском компьютере установлен Owen OPC Server и SCADA.

Мне нужно организовать двухсторонний обмен данными между ПР200 (через модем) и ПК-клиентом с использованием ПК-сервера. То есть, при обновлении данных на ПР200 они должны отправляться через модем на ПК-сервер и обновляться на ПК-клиенте в Owen OPC Server (по протоколу Modbus TCP/IP). Аналогично, данные должны передаваться в обратном направлении. Также из Owen OPC Server данные будут извлекаться в SCADA.

Вот код программы для ПК-сервера:

<pre><code class="java">public static void main(String[] args) {
        // Создаем два Modbus сервера для двух портов (1 - OPC Server, 2 - ПР200)
        ModbusServer opcServer = new ModbusServer();
        opcServer.setPort(502);
 
        ModbusServer pr200Server = new ModbusServer();
        pr200Server.setPort(1502);
 
        // Читаем из базы данных последние данные и загружаем в Modbus Holding Registers
        opcServer.holdingRegisters = readFromDatabase();
        pr200Server.holdingRegisters = readFromDatabase();
 
        // Запускаем сервера в отдельных потоках
        new Thread(() -&gt; startServer(opcServer, "OPC Server")).start();
        new Thread(() -&gt; startServer(pr200Server, "PR200")).start();
 
        // Устанавливаем обработчики изменений регистров
        pr200Server.setNotifyHoldingRegistersChanged(() -&gt; {
            System.out.println("Изменились данные у ПР200 -&gt; записываем в БД и отправляем на OPC Server");
 
            printWithoutFirstElement( pr200Server.holdingRegisters,
  • 15 апреля 2025 г. 7:15
Ответы на вопрос 2
Для настройки модема iRZ MC55iT для установления GPRS-соединения между Программируемым реле Овен ПР200 и сервером, а также для работы с вашими Java-программами и OPC сервером, необходимо выполнить несколько шагов:

### Шаг 1: Настройка модема iRZ MC55iT

1. **Подключите модем к вашему компьютеру**: Убедитесь, что он правильно подключен и распознан операционной системой.
  
2. **Установка драйверов**: Установите необходимые драйверы, если они не установлены автоматически. Обычно они идут в комплекте с модемом или доступны на сайте производителя.

3. **Настройка параметров GPRS**:
   - Используйте программу для управления модемом, например, AT-команды через терминал (например, PuTTY или HyperTerminal).
   - Настройте APN (Access Point Name) вашего мобильного оператора:
     ```plaintext
     AT+CGDCONT=1,"IP","your_apn"  // Замените "your_apn" на APN вашего оператора
     ```
   - Установите имя пользователя и пароль, если требуется:
     ```plaintext
     AT+CSTT="your_username","your_password"
     ```
   - Активируйте GPRS:
     ```plaintext
     AT+CIICR  // Поднять GPRS канал
     AT+CIFSR  // Получить IP адрес
     ```

4. **Проверьте подключение**: Убедитесь, что модем успешно подключен к интернету, проверив полученный IP-адрес.

### Шаг 2: Настройка ПР200

1. **Соедините ПР200 с модемом**: Используйте RS-232 или RS-485 для подключения.
2. **Настройте параметры порта**: Убедитесь, что параметры портов (baud rate, parity, data bits, stop bits) согласованы между ПР200 и модемом.

### Шаг 3: Настройка ПК-сервера (Java)

1. **Настройка Modbus TCP/IP**: Убедитесь, что ваш Modbus сервер правильно настроен для взаимодействия с клиентом (ПР200 и OPC сервером). Используйте фрагмент кода, который вы начали:
   ```java
   // Запуск серверов
   new Thread(() -> startServer(opcServer, "OPC Server")).start();
   new Thread(() -> startServer(pr200Server, "PR200")).start();
   ```

2. **Обработчики для связи с ПР200 и OPC сервером**:
   - Разработайте механизм для получения данных от ПР200 через GPRS.
   - Используйте библиотеку для работы с Modbus, например, jModbus, для обработки запросов и отправки ответов.

3. **Обработка изменений данных**: В дедуплирующем коде добавьте логику отправки данных на OPC сервер, когда происходит изменение данных в ПР200.

### Шаг 4: Настройка Owen OPC Server

1. **Настройте Owen OPC Server**: Убедитесь, что он правильно настроен на прослушивание данных.
2. **Соедините с SCADA**: Настройте SCADA для получения необходимых данных из Owen OPC Server.

### Пример кода для обработки изменений регистров

```java
pr200Server.setNotifyHoldingRegistersChanged(() -> {
    System.out.println("Изменились данные у ПР200 -> записываем в БД и отправляем на OPC Server");
    // Логика записи в БД
    writeToDatabase(pr200Server.holdingRegisters);
    // Логика передачи на OPC Server
    opcServer.holdingRegisters = Arrays.copyOf(pr200Server.holdingRegisters, pr200Server.holdingRegisters.length);
});
```

### Заключение

Следуя этим шагам, вы сможете настроить GPRS-соединение между вашим ПР200, модемом iRZ MC55iT и сервером, а также организовать обмен данными с OPC сервером и SCADA. Убедитесь в правильности настроек протоколов и, при необходимости, проконсультируйтесь с документацией оборудования для дополнительных инструкций.
(Со схемой стало понятнее; но сложнее :) 

1) Я смотрю на Овен ПР200 - и не вижу RS-232.
https://owen.ru/product/pr200/connection
Есть опциональные RS-485. Но это, - немного так другой стандарт интерфейса... Конвертор RS-485 - RS-232 бывает (от той же Moxa), но стоит денег.

2) Последние лет -дцать все стараются не изобретать велосипед, а использовать готовые компоненты.
Можете ли рассмотреть вариант замены
а) ПР200 - на модификацию с Ethetnet'ом (например - ПР205)

б) Модем iRZ MC55iT - на роутер с GPRS модулем и сотовой антенной. Роутер должен уметь своими силами поднять PPP соединение с Интернетом через LTE/GPRS сотового оператора и поверх него - VPN соединение.
Микротик (если хочется помучаться :) или Кинетик

А с Овена - уже работать по Modbus/TCP по установленному IP соединению.

3) Если "уже всё предрешено", то
3а) Вопрос с RS-232 портом
3б) - Хватит ли у Овена ресурсов (а Вам - терпения вырисовывать всё это на FBD) для работы по модему и пинания GPRS соединения для каждого блока данных
3в) На схеме - продумайте и прорисуйте - куда у Вас приходит GPRS соединение? Сейчас оно аж до ПК-сервера доходит. В реальности это не так. Оно куда-то в публичный интернет уйдёт. Как дальше соединение до сервера пойдёт?
Похожие вопросы