Skip to content

MARS L2 — WET cabinet hardware BOM

WET variant: Industrial PC + Power cabinet with UPS. PLC is line-side; L2 talks to it over the fieldbus but does not own the PLC cabinet.

Industrial PC cabinet

Component Specification Notes
IPC Monoblock with sensor touchscreen, IP65 ≥ 8 GB RAM, ≥ 128 GB SSD, 2× Ethernet, 2× USB 3.0, RS-232/485 required (UPS)
OS RED OS 7/8 or Debian 12
Physical controls "Сброс аварии" button + status LEDs GPIO header or USB-GPIO

Power cabinet

Component Specification Notes
UPS ОВЕН ИБП120К Mandatory for WET. RS-232 / USB-CDC monitored by L2
Modular distribution DIN-rail breakers, 24 V rail, SPDs Standard MARS profile
Reserved Point-I/O area ~10 DIN slots Future expansion

Protocols in use (WET)

  • L2 ↔ UPS: OWEN IBP120K over RS-232 / USB-CDC (fallback: NUT TCP 3493).
  • L2 ↔ PLC (line-side): Modbus TCP / OPC UA / EtherNet/IP depending on the existing line PLC.
  • L2 ↔ scanners: TCP / Serial / USB-HID.
  • L2 ↔ printers: TCP / USB / Bluetooth (mobile printers).

Supported device matrix (out of the box)

All drivers below ship in the edge-service package and can be activated from the L2 Settings UI without a firmware rebuild. Wire-format compliance is asserted by ProposalDriverComplianceTest (16 tests).

Fixed scanners

Vendor / family Transport Protocol Default port
Cognex DataMan 2xx/3xx TCP DMCC ||>cmd<| 23
Cognex DataMan (industr.) TCP DMCC + CONFIG.SET-INDUSTRIAL-PROTOCOL (EtherNet/IP, Profinet, Modbus TCP, SLMP, CC-Link) 23
Hikrobot ID3000/5000 TCP MVS-ID ASCII 2001
Datalogic Matrix 120/210/220 TCP HOST MODE ASCII 51236
Keyence SR-X300 / SR-1000 TCP split cmd/data Keyence ASCII 9004 / 9005
SICK Lector 6xx / CLV6xx TCP CoLa A (STX/ETX framing) 2112
Omron MicroHAWK V320/V330 TCP ASCII K-commands 2001
Zebra DS3678 / DS9908 TCP SSI (length/opcode/chk) 23
Generic TCP / Serial line-delimited raw any

Handheld scanners

Vendor / family Transport Mode
Datalogic Gryphon / QuickScan USB HID keyboard wedge
Honeywell Xenon 1900/1902 USB HID keyboard wedge
Newland HR / NVH series USB HID keyboard wedge

Printers

Vendor / family Kind Protocol Default port
Videojet 1000-series CIJ CLARiTY Text (CR terminator) 3003
Videojet Wolke 660/670 TIJ Wolke ASCII 3003
Domino Ax-Series CIJ QuickDesign remote ASCII 9100
Hitachi UX-161 / UX2-361 / KC CIJ Modbus TCP (code + trigger registers) 502
Linx 7900 / 8900 CIJ Linx LX-protocol 3010
Markem-Imaje SmartDate X-series / 9410 TTO NGPCL 4001
Novexx XLP 504 / 514 LAS EasyPlug 9100
SATO CL4NX / CL6NX Label SBPL (STX/ETX) 9100
Zebra ZT / ZE industrial Label ZPL 9100
Godex G-series Label EZPL 9100
TSC TTP / MH / MX Label TSPL / TSPL2 9100
Solmark (mobile) Thermal ZPL 9100

PLCs

Vendor / family Transport Protocol Notes
Any Modbus TCP master TCP Modbus/TCP FC 03/04/06/16 Default
Any Modbus RTU master RS-485 Modbus/RTU (jSerialComm + CRC16) WET UPS path
Any OPC UA server TCP OPC UA via Eclipse Milo + subscriptions Push updates
EtherNet/IP TCP CIP over EtherNet/IP Allen-Bradley
Siemens S7-1200 / S7-1500 TCP Modbus TCP via MB_SERVER FB Siemens SIOS 109768624
Profinet (via MOXA MGate 5103) TCP Modbus TCP ↔ Profinet IO gateway Proposal §3.2
Generic TCP socket TCP line-delimited telemetry Fallback

UPS

Vendor / family Transport Protocol
ОВЕН ИБП120К RS-232 / USB-CDC Megatec Q1 (2400 8N1)
Any NUT-managed UPS TCP Network UPS Tools client (3493)

UPS wiring

  • Primary: RS-232 DB9 cable from UPS to IPC's COM1 (/dev/ttyS0).
  • Fallback: USB-CDC (IPC enumerates /dev/ttyACM0 or /dev/ttyUSB0).
  • Relay output of UPS → status LED or optional external buzzer.
  • Configure in edge-service.yaml:
ups:
  type: OWEN_IBP120K
  transport: RS232
  devicePath: /dev/ttyS0
  baudRate: 9600
  pollIntervalMs: 2000
  lowBatteryPercent: 40
  criticalBatteryPercent: 20
  shutdownRelayGpio: gpiochip0:27

Deployment checklist

  1. Install RED OS / Debian.
  2. Install the .rpm / .deb package.
  3. VARIANT=wet SITE=<LUZ|NOV|MIR|RND> sudo -E bash install.sh.
  4. Verify GET /api/v1/ups/status returns connected=true.
  5. Simulate a mains cut (physically or POST /api/v1/ups/simulate) and confirm the journal shows UPS_ON_BATTERY followed by UPS_RESTORED after power returns.
  6. Run the HIL matrix from load-test/HIL_BENCH.md with the UPS row enabled.