INDUSTRIAL THERMAL IMAGING INTEGRATION GUIDE
How to Integrate Thermal Cameras with PLCs, SCADA and Industrial Networks
A Practical Guide Using the IRSX Smart Thermal Camera
Leslie M. Tack, Ph.D. | CTO, Pembroke Instruments, LLC | September 23, 2026
Fixed thermal cameras can provide continuous temperature measurements, alarm states and thermal trends—turning periodic thermographic inspections into automated condition monitoring. This guide covers IRSX-I640 and IRSX-I336 integration with PLC, SCADA, historian and IIoT systems.
Why Integrate Thermal Cameras?
Many electrical and mechanical faults change temperature before visible damage occurs. Integration lets fixed thermography become continuous condition monitoring.
| Asset class | Typical faults | Send to control system |
|---|---|---|
| Electrical: MCCs, switchgear, breakers, bus bars, cable lugs, transformers | Loose/corroded connections, phase imbalance, overload | Per-phase ROI max; phase-to-phase ΔT; alarm bit |
| Motors, bearings, seals, gearboxes, fans | Wear, misalignment, friction heating | ROI max/avg; rise over ambient; rate of change |
| Pumps, compressors, heat exchangers, piping, valves | Overheating, blocked cooling, poor heat transfer | ROI avg/min/max; inlet-outlet ΔT; alarm bit |
For reliable trends, control or record load, airflow, angle, distance, emissivity and reflected energy. Gate measurements using equipment operating state where appropriate.
IRSX Camera and Interface Overview
The IRSX is a smart radiometric LWIR camera that measures temperature, evaluates ROIs and raises alarms on board. IRSX-I640 provides finer spatial detail; IRSX-I336 provides compact fixed monitoring.
| Interface | Best use |
|---|---|
| Modbus TCP | ROI temperatures and alarm bits to PLC/SCADA |
| PROFINET | Cyclic exchange with Siemens S7-1200/1500 |
| OPC UA | SCADA, MES and historian data |
| MQTT | IIoT brokers, gateways and CMMS |
| REST API / OpenAPI | Configuration, snapshots and job triggers |
| HTTPS | Browser setup and commissioning |
| GigE Vision + GenICam | Radiometric image streaming |
| Digital I/O | Hardwired alarms, triggers and handshakes |
| Lua | ΔT logic, persistence and load gating |
Recommended Integration Architecture
| Pattern | Path | Choose when |
|---|---|---|
| PLC-centric | Modbus TCP/PROFINET + digital out | Local alarms, HMI or stack lights |
| Supervisory | OPC UA → SCADA/historian | Trending and baselining across assets |
| IIoT/cloud | MQTT + REST snapshots | Remote fleets and analytics |
| Vision | GigE Vision + GenICam | Full-frame custom analysis |
| Hybrid | PLC alarms + OPC UA/MQTT trends | Fast local response plus long-term data |
- Use one owner per decision; do not re-threshold the same alarm differently in camera and PLC.
- Hardwire critical signals that must survive a network fault.
- Match data rate to the asset: about 1 s polling for PLC data and 10–60 s for trends.
- Gate measurements using a running/load signal.
Protocol Integration Guidance
Modbus TCP
Give the camera a static IP or DHCP reservation on the controls VLAN. Enable Modbus TCP (default TCP 502). Map ROI outputs to registers, configure the PLC as client, poll with FC03/FC04 every 500–1000 ms, and verify decoding against the web interface. Confirm 32-bit float/scaled-integer format, word order and 0- versus 1-based addressing.
| Example offset | Content | Type |
|---|---|---|
| 0–1 | Status word, heartbeat | UINT16 ×2 |
| 2–3 | Alarm bitfield | UINT32 |
| 10 + 8n | ROI max/min/avg/max-over-ambient | FLOAT32 ×4 |
| 100–101 | Enable, alarm acknowledge | UINT16 ×2 |
PROFINET
For Siemens S7-1200/1500 systems, install the IRSX GSDML in TIA Portal, add the camera to the PLC PROFINET network, assign the physical device name with DCP, insert I/O modules for ROI values/alarms, set update time and verify the device is green in online diagnostics. A 32–128 ms update time is already faster than thermal faults develop.
OPC UA
Enable the OPC UA server (default TCP 4840). In production use Sign & Encrypt with Basic256Sha256 or newer, exchange trusted certificates, use a read-only historian account, create monitored-item subscriptions rather than repeated polling, and store engineering units and source timestamps.
MQTT
Use MQTT for cloud dashboards, IIoT gateways and predictive-maintenance platforms. Prefer TCP 8883 with TLS. Use a unique per-camera client ID, publish trends every 10–60 seconds and alarm events on change with QoS 1, and configure retained status plus Last Will.
REST API / OpenAPI and HTTPS
Use REST for configuration management and on-demand data rather than continuous control. Typical jobs include configuration backup/restore, ROI and emissivity changes, alarm-triggered radiometric snapshots and CMMS attachments. Use HTTPS and restrict Administrator access to engineering staff.
GigE Vision + GenICam
Use image streaming when onboard ROI analysis is not enough. Discovery/control uses GVCP (UDP 3956); streaming uses GVSP. Use a dedicated GigE NIC, jumbo frames and adequate receive buffers. Request radiometric 16-bit pixels and apply GenICam temperature scaling. Keep streaming traffic off the PLC network.
Digital I/O and Lua Scripting
Hardwire signals that must work during a network fault. A critical alarm can feed a PLC input or relay; a load/running input can enable measurement. Confirm voltage levels and sourcing/sinking requirements before wiring. Lua can implement phase-to-phase ΔT, rise over ambient, 30–60 s persistence and load gating.
ROI Data Model and Alarm Thresholds
Draw ROIs over the component rather than surrounding background. Aim for at least 3×3 pixels and preferably 10×10. Pair monitored ROIs with a reference ROI, set emissivity per ROI, and allow camera warm-up before enabling alarms.
| Tag | Purpose |
|---|---|
| T_max | Hot-spot value; primary alarm input |
| T_avg | Trend and baseline |
| T_min | Blocked flow/cold spots |
| dT_ref | Difference to reference component |
| dT_amb | Rise over ambient |
| Alarm_state | Normal, advisory, warning, critical |
| Valid | False during warm-up, load-off or camera fault |
| Emissivity | Recorded for traceability |
For electrical assets, use ΔT-based criteria and load-aware measurements. For mechanical/process assets, establish limits from a normal baseline and equipment-manufacturer limits. Add 2–3 °C hysteresis and 30–60 s persistence to reduce nuisance alarms; latch critical alarms until acknowledged and include the Valid flag in alarm logic.
Network, Cybersecurity and Environment
- Place cameras in an OT zone/VLAN and allow access only from required systems.
- Use static addresses or DHCP reservations before controls handover.
- Separate GigE Vision streaming from fieldbus traffic.
- Synchronize camera, PLC and historian time with NTP.
- Change default passwords and disable unused protocols.
- Keep firmware current and back up ROIs, configurations and Lua scripts.
- Do not expose the web interface or Modbus directly to the internet.
| Service | Default | Notes |
|---|---|---|
| Modbus TCP | TCP 502 | Restrict by firewall/IP |
| PROFINET | Layer 2; UDP 34962–34964 for CM | Same subnet as IO controller |
| OPC UA | TCP 4840 | Use Sign & Encrypt |
| MQTT TLS | TCP 8883 | Camera → broker |
| HTTPS/REST | TCP 443 | Engineering access |
| GigE Vision GVCP | UDP 3956 + stream ports | Vision segment |
| NTP | UDP 123 | Time synchronization |
Commissioning Checklist
- ☐ Confirm target, working distance and pixels-on-target.
- ☐ Mount and focus camera; fit air purge/shield if needed.
- ☐ Verify 24 VDC and I/O wiring.
- ☐ Set static IP/reservation and NTP.
- ☐ Change passwords and disable unused protocols.
- ☐ Complete warm-up and set emissivity, window transmission and range.
- ☐ Draw measurement/reference ROIs and validate readings.
- ☐ Load and back up Lua logic if used.
- ☐ Verify Modbus decoding or PROFINET status.
- ☐ Verify OPC UA subscriptions or MQTT topics.
- ☐ Force-test alarms through PLC, HMI, historian and work-order path.
- ☐ Test network/power failure behavior.
- ☐ Log a baseline under normal load and review thresholds after 2–4 weeks.
- ☐ Export configuration with as-built documentation.
Troubleshooting
| Symptom | Likely cause | Check |
|---|---|---|
| Camera not found | Subnet, DHCP or cabling | IP settings, discovery tool, link LEDs |
| Modbus values nonsensical | Word order/register offset | Swap words; ±1 offset; float vs scaled integer |
| Modbus timeouts | Firewall, unit ID, clients | TCP 502; unit ID; connection count |
| PROFINET device red | Name or GSDML mismatch | Reassign name; match GSDML to firmware |
| OPC UA security error | Certificate not trusted | Trust both certificates; check clock |
| MQTT drops | Duplicate ID/TLS/keep-alive | Unique ID; CA certificate; keep-alive ≥30 s |
| GigE frames dropped | Shared NIC/buffers | Jumbo frames; dedicated NIC; receive descriptors |
| Temperatures low | Emissivity, target size, dirty/window optics | ROI emissivity, pixels, optics, transmission |
| Nuisance alarms | No persistence/hysteresis; reflections/load | Add delay/hysteresis; mask reflections; gate on load |
| Alarms never fire | Threshold, ROI, Valid flag or wiring | Force test; verify output and PLC mapping |
Related Thermal Imaging Resources
- Thermal Imaging for Industrial Preventive Maintenance
- How to Set Up an IRSX Thermal Camera
- How to Select a Thermal Camera
- Industrial Thermal Imaging Cameras & Applications
Need Help Integrating an IRSX Thermal Camera?
Send Pembroke Instruments your PLC or SCADA platform, working distance, target size, temperature range, network requirements and required alarm/data path. We can help review the camera, lens and integration approach.
Discuss Your Integration →View IRSX Cameras →Technical note: Protocol port numbers and client configuration steps follow the source guide. Confirm IRSX-specific register maps, GSDML, OPC UA node IDs and I/O ratings against the manufacturer's firmware documentation.
