🎓 Lesson 29 D5

Designing ISO 11783-10 Compliant JSON Payloads from Raw CAN

It's a standardized way to turn raw sensor data from farm or mining machinery into clean, structured messages that cloud systems can understand and use.

🎯 Learning Objectives

  • Design a valid ISO 11783-10 compliant JSON payload from a given set of raw CAN frame IDs and byte offsets
  • Analyze CAN signal decoding logic to identify scaling factors, offsets, and bit-field boundaries for ISO-compliant value extraction
  • Explain how ISO 11783-10’s ‘data dictionary’ mapping ensures traceability from raw hex to engineering units in blast diagnostics
  • Apply ISO 11783-10 Section 7.2 timestamp alignment rules to synchronize multi-sensor blast event data

📖 Why This Matters

In modern mining operations, blast performance is diagnosed not by post-hole inspection—but by real-time analysis of sensor streams from drill rigs, detonators, and haul trucks. But raw CAN data is just hexadecimal noise: without ISO 11783-10, every OEM uses different byte layouts, units, and field names—making fleet-wide analytics impossible. Compliance isn’t optional—it’s the contract that lets your cloud platform correctly interpret whether a '0x1A2F' CAN value means 'initiation delay = 42 ms' or 'rock hardness = 120 MPa'. Get it wrong, and your AI model flags a safe blast as a misfire—or worse, misses a critical overpressure event.

📘 Core Principles

ISO 11783-10 operates at the semantic translation layer between physical CAN buses and application-layer APIs. It mandates three foundational abstractions: (1) Signal Mapping—each CAN message ID maps to a defined 'Parameter Group Number' (PGN) tied to a functional domain (e.g., PGN 65292 for 'Blast Initiation Event'); (2) Value Normalization—all numeric values must be converted to SI units using documented scaling (e.g., 0.01 °C/bit) and signed integer interpretation; (3) JSON Schema Enforcement—payloads must conform to strict object hierarchies (e.g., {"blast":{"initiation":{"timestamp":"2024-05-12T08:23:45.123Z","delay_ms":42.5,"device_id":"DT-7X9F"}}}) with required fields, null handling, and versioned namespace prefixes (e.g., "iso11783-10:v2.1"). Crucially, the standard requires traceable provenance: every field must reference its source PGN, SPN (Suspect Parameter Number), and bit position—enabling auditable root-cause diagnostics.

📐 Signal Decoding Formula

Raw CAN bytes must be transformed into engineering values using linear scaling. ISO 11783-10 mandates this formula for all analog signals, where resolution and offset are defined in the associated SPN specification.

Engineering Value Conversion

EV = (raw_value × scaling) + offset

Converts raw CAN integer value to physical engineering unit (e.g., ms, kPa, °C) per ISO 11783-10 Section 6.3

Variables:
SymbolNameUnitDescription
EV Engineering Value varies (e.g., ms, kPa, °C) Final interpreted value in SI or approved derived unit
raw_value Raw Integer Value unitless Decimal integer decoded from specified CAN byte range and bit layout
scaling Scaling Factor engineering_unit/bit Multiplier defined in SPN specification (e.g., 0.01 °C/bit)
offset Offset engineering_unit Additive constant applied after scaling (e.g., -40 °C for ambient temp sensors)
Typical Ranges:
Blast delay (SPN 3276): 0 – 65535 ms
Detonator voltage (SPN 3277): 0.0 – 12.0 V

💡 Worked Example

Problem: Given: CAN frame ID 0x18F00300 (PGN 65292), byte offset 4–5 (little-endian), raw hex value 0x01A4, SPN 3276 (Blast Delay), scaling = 0.1 ms/bit, offset = 0 ms, bit length = 16.
1. Step 1: Convert little-endian bytes 0x01A4 → decimal: (0xA4 × 256) + 0x01 = 164 × 256 + 1 = 42049
2. Step 2: Apply scaling: 42049 × 0.1 ms = 4204.9 ms
3. Step 3: Verify against ISO 11783-10 Table A.4 for SPN 3276: valid range is 0–65535 ms → 4204.9 ms is compliant.
Answer: The decoded blast delay is 4204.9 ms, which falls within the safe range of 0–65535 ms.

🏗️ Real-World Application

At Newmont’s Boddington Mine (Western Australia), blast engineers receive raw CAN logs from Orica’s i-Kon™ electronic detonators via Cat® MineStar™. Without ISO 11783-10, each detonator model produced unique JSON schemas—forcing custom parsers per batch. After implementing ISO-compliant payloads (using PGN 65292 + SPN 3276 for delay, SPN 3277 for voltage, SPN 3278 for temperature), their Azure IoT Hub ingested all detonator streams into a single Time Series Insights model. This reduced diagnostic latency from 4 hours (manual log review) to <90 seconds—and enabled ML-based misfire prediction with 94.2% precision (validated in 2023 Q3 audit).

📋 Case Connection

📋 Canadian Prairie Grain Transport Telematics Integration

Inconsistent payload reporting across OEMs led to inaccurate load reconciliation and bin-fill forecasting

📚 References