Ларус — подключение и конфигурация
Ларус — линейка промышленных устройств собственной разработки Лиман.
Версии Ларус
| Модель | Назначение | 4diac FORTE |
|---|---|---|
| Ларус-10 | IIoT-шлюз: сбор данных с Пассеров → передача в Стрикс по MQTT | ❌ нет |
| Ларус-100 | Промышленный контроллер: локальная автоматика, I/O модули | ✅ предустановлен |
Ларус-100 — подключение 4diac IDE
Ларус-100 работает на Linux (Debian/Yocto) с 4diac-Forte (уже установлен, сборка не требуется).
- Порт FORTE: 61499
- Device Type в IDE:
FORTE_PC, Profile:HOLOBLOC - Протоколы: Modbus RTU, Modbus TCP, MQTT, OPC UA
1. Узнайте IP-адрес Ларус-100
ssh user@<IP-Ларус-100>
# Проверьте статус FORTE:
systemctl status forte
Если FORTE не запущен:
systemctl start forte
2. Проверьте доступность порта 61499
# С рабочей станции Windows:
Test-NetConnection -ComputerName <IP-Ларус-100> -Port 61499
# С Linux/macOS:
nc -zv <IP-Ларус-100> 61499
3. Настройте System Configuration в 4diac IDE
В редакторе System Configuration:
- Выберите устройство (или добавьте новое из Palette).
- Измените адрес MGR_ID:
- Было:
localhost:61499 - Стало:
<IP-Ларус-100>:61499
- Было:
- Убедитесь в параметрах устройства:
- Device Type:
FORTE_PC - Profile:
HOLOBLOC
- Device Type:
Firewall
Порт 61499 должен быть открыт для входящих TCP-соединений на Ларус-100:
iptables -A INPUT -p tcp --dport 61499 -j ACCEPT
I/O модули Ларус-100
Аналоговые входы/выходы
| Модуль | Каналы | Диапазон | Modbus-адрес |
|---|---|---|---|
| AI8 | 8 аналоговых входов | 4–20 мА / 0–10 В | 30001–30008 |
| AO8 | 8 аналоговых выходов | 4–20 мА / 0–10 В | 40001–40008 |
Дискретные входы/выходы
| Модуль | Каналы | Напряжение | Modbus-адрес |
|---|---|---|---|
| DI16 | 16 дискретных входов | 24 В DC | 10001–10016 |
| DO16 | 16 дискретных выходов | 24 В DC | 00001–00016 |
Подробные параметры модулей
Модуль AI8 — аналоговые входы
| Параметр | Значение |
|---|---|
| Количество каналов | 8 |
| Диапазон входного сигнала | 4–20 мА / 0–10 В (конфигурируется) |
| Разрешение АЦП | 16 бит |
| Время преобразования | < 1 мс на канал |
| Modbus-регистры | Input Registers 30001–30008 |
| Modbus-функция | 4 (Read Input Registers) |
| Формат данных | UINT16 (0–65535) |
| Погрешность | ±0.1% |
Масштабирование: 0 = 4 мА (0 В), 65535 = 20 мА (10 В)
Модуль AO8 — аналоговые выходы
| Параметр | Значение |
|---|---|
| Количество каналов | 8 |
| Диапазон выходного сигнала | 4–20 мА / 0–10 В |
| Разрешение ЦАП | 16 бит |
| Modbus-регистры | Holding Registers 40001–40008 |
| Modbus-функция | 6 (Write Single Register) или 16 (Write Multiple) |
| Формат данных | UINT16 (0–65535) |
Модуль DI16 — дискретные входы
| Параметр | Значение |
|---|---|
| Количество каналов | 16 |
| Напряжение | 24 В DC |
| Modbus-регистры | Discrete Inputs 10001–10016 |
| Modbus-функция | 2 (Read Discrete Inputs) |
| Формат данных | BOOL (бит) |
| Время опроса | < 1 мс |
Модуль DO16 — дискретные выходы
| Параметр | Значение |
|---|---|
| Количество каналов | 16 |
| Напряжение | 24 В DC |
| Максимальный ток | 0.5 А на канал |
| Modbus-регистры | Coils 00001–00016 |
| Modbus-функция | 5 (Write Single Coil) или 15 (Write Multiple Coils) |
| Формат данных | BOOL (бит) |
Подключение I/O в 4diac IDE
Для работы с I/O используйте FB типа CLIENT_N_M (Modbus TCP):
CLIENT_1_0:
ID = "modbus[<IP-Ларус-100>:502, unit_id, function, start_addr, count]"
Параметры:
- IP:порт — адрес Ларус-100 и порт Modbus TCP (502)
- unit_id — ID устройства на шине (обычно 1)
- function — код функции Modbus (см. таблицу выше)
- start_addr — начальный адрес (0-based)
- count — количество регистров
Примеры конфигурации PARAMS
Чтение 8 аналоговых входов (AI8)
CLIENT_8_0.ID = "modbus[192.168.1.100:502, 1, 4, 0, 8]"
Читает Input Registers 30001–30008 (функция 4, адрес 0, количество 8).
Запись 4 аналоговых выходов (AO8, первые 4 канала)
CLIENT_0_4.ID = "modbus[192.168.1.100:502, 1, 16, 0, 4]"
Пишет Holding Registers 40001–40004 (функция 16, адрес 0, количество 4).
Чтение 16 дискретных входов (DI16)
CLIENT_1_0.ID = "modbus[192.168.1.100:502, 1, 2, 0, 16]"
Читает Discrete Inputs 10001–10016 (функция 2, адрес 0, количество 16).
Запись 1 дискретного выхода (DO16, канал 5)
CLIENT_0_1.ID = "modbus[192.168.1.100:502, 1, 5, 4, 1]"
Пишет Coil 00005 (функция 5, адрес 4).