Harting industrial connector MPN encoding patterns, series decoding, and handler guidance. Use when working with Harting Han, M12, M8, har-bus, or har-flex connectors.
Harting is a German manufacturer specializing in industrial connectors for harsh environments. Key product families include:
Harting connectors are widely used in factory automation, transportation, energy, and telecommunications.
Harting MPNs follow a structured 11-digit numeric format with optional separators:
<!-- Add new learnings above this line -->[SS] [VV] [PPP] [CCCC]
| | | |
| | | +-- Configuration code (4 digits): plating, orientation, etc.
| | +-- Position/Pin code (3 digits): pin count or variant
| +-- Sub-series (2 digits): specific variant within series
+-- Series (2 digits): product family identifier
Harting MPNs can appear in several formats:
| Format | Example | Notes |
|---|---|---|
| Spaced | 09 20 010 2611 | Official Harting format |
| Compact | 09200102611 | No separators |
| Hyphenated | 09-20-010-2611 | Alternative separator |
All formats are equivalent and handled by the handler.
| Code | Series | Description | Typical Current |
|---|---|---|---|
0920 | Han A | Standard industrial signal | 16A |
0933 | Han E | Enhanced industrial signal | 16A |
0930 | Han B | High current industrial | 40A |
0921 | Han D | Compact industrial | 10A |
0938 | Han K | High power distribution | 200A |
0916 | Han K | High power (variant) | 200A |
0914 | Han-Modular | Modular connector system | 10A |
0902 | Han-Yellock | Push-pull circular | 10A |
0901 | har-link | High-speed data | 3A |
14xx | har-flex | Flexible PCB | 1.5A |
15xx | har-flex | Flexible PCB (variant) | 1.5A |
2103 | M12 | Industrial circular (sensor/Ethernet) | 4A |
2102 | M8 | Miniature circular (sensor) | 3A |
0200 | har-bus HM | High-speed backplane | 1A |
0201 | har-bus HM | Backplane (variant) | 1A |
09 20 010 2611
| | | |
| | | +-- 2611 = Configuration (gold plating, straight)
| | +-- 010 = 10-pin connector
| +-- 20 = Han A series
+-- 09 = Han product family
Series: Han A
Pin Count: 10
Application: Industrial Signal
IP Rating: IP65
Current: 16A
09 30 016 0301
| | | |
| | | +-- 0301 = Configuration code
| | +-- 016 = 16-pin connector
| +-- 30 = Han B series (high current)
+-- 09 = Han product family
Series: Han B
Pin Count: 16
Application: High Current Industrial
IP Rating: IP65
Current: 40A
21 03 311 1305
| | | |
| | | +-- 1305 = Configuration code
| | +-- 311 = Position/variant code (3-pin inferred)
| +-- 03 = M12 series
+-- 21 = Circular connector family
Series: M12
Application: Industrial Sensor/Ethernet
IP Rating: IP67
Current: 4A
02 00 120 1101
| | | |
| | | +-- 1101 = Configuration code
| | +-- 120 = Position count (120 positions)
| +-- 00 = har-bus HM series
+-- 02 = har-bus product family
Series: har-bus HM
Application: High-Speed Backplane
IP Rating: IP20 (indoor only)
Current: 1A
The HartingHandler supports:
| ComponentType | Description |
|---|---|
CONNECTOR | Primary type for all Harting products |
IC | Secondary type (for cross-handler compatibility) |
The final 4 digits encode connector configuration details:
| Position | Meaning | Examples |
|---|---|---|
| 1st digit | Plating type | Gold, silver, tin |
| 2nd digit | Contact orientation | Straight, angled |
| 3rd-4th digits | Variant/options | Gender, termination |
Note: Harting does not publish a complete public mapping of configuration codes. Use the configuration code primarily for exact part matching, not for extracting specifications.
The HartingHandler provides several utility methods:
handler.extractSeries("09 20 010 2611") // Returns "Han A"
handler.extractSeries("09 33 024 2701") // Returns "Han E"
handler.extractSeries("21 03 311 1305") // Returns "M12"
handler.isHanSeries("09 20 010 2611") // true
handler.isCircularConnector("21 03 311 1305") // true (M12)
handler.isCircularConnector("21 02 151 0405") // true (M8)
handler.isHighSpeedConnector("02 00 120 1101") // true (har-bus HM)
handler.isPowerConnector("09 30 016 0301") // true (Han B)
handler.isModularSystem("09 14 008 3001") // true (Han-Modular)
handler.extractPinCount("09 20 010 2611") // 10
handler.extractPackageCode("09 20 010 2611") // "2611"
handler.getSeriesCode("09 20 010 2611") // "0920"
handler.getFamily("09 20 010 2611") // "Han A/E"
handler.getRatedCurrent("09 30 016 0301") // 40.0 (Amperes)
handler.getIPRating("21 03 311 1305") // "IP67"
handler.getApplicationType("09 30 016 0301") // "High Current Industrial"
The third group of 3 digits typically encodes the pin count:
| Position Code | Pin Count | Notes |
|---|---|---|
010 | 10 | Direct mapping |
024 | 24 | Direct mapping |
016 | 16 | Direct mapping |
006 | 6 | Direct mapping |
003 | 3 | Direct mapping |
311 | 31 | First 2 digits (M12 variant) |
Algorithm: For codes < 100, the code equals pin count. For codes >= 100, divide by 10 to get approximate pin count.
| Series | IP Rating | Environment |
|---|---|---|
| Han A/E/B/D/K | IP65 | Industrial, splash-proof |
| Han-Modular | IP65 | Industrial, splash-proof |
| Han-Yellock | IP67 | Washdown, submersible |
| M12, M8 | IP67 | Washdown, submersible |
| har-bus HM | IP20 | Indoor/enclosure only |
| har-link | IP20 | Indoor/enclosure only |
| har-flex | IP20 | Indoor/enclosure only |
| Series | Application |
|---|---|
| Han A, Han E | Industrial Signal |
| Han B | High Current Industrial |
| Han D | Compact Industrial |
| Han K | Power Distribution |
| Han-Modular | Modular Industrial |
| Han-Yellock | Push-Pull Circular |
| har-flex | Flexible PCB |
| M12 | Industrial Sensor/Ethernet |
| M8 | Miniature Sensor |
| har-bus HM | High-Speed Backplane |
| har-link | High-Speed Data Link |
Two Harting connectors are considered compatible replacements when:
// Compatible - same series, same pins, different config
handler.isOfficialReplacement("09 20 010 2611", "09 20 010 2801") // true
// Incompatible - different series
handler.isOfficialReplacement("09 20 010 2611", "09 33 010 2701") // false (Han A vs Han E)
// Incompatible - different pin count
handler.isOfficialReplacement("09 20 010 2611", "09 20 016 2611") // false (10-pin vs 16-pin)
manufacturers/HartingHandler.javahandlers/HartingHandlerTest.javaCONNECTOR, ICmatches()0920 → Han A (first/original Han series)
0933 → Han E (enhanced version)
Both return "Han A/E" from getFamily() but return distinct series from extractSeries().
har-flex connectors have a 9-digit format instead of 11 digits:
14 010 1201 (9 digits, no sub-series)
15 020 1301 (9 digits, variant prefix)
The pattern ^(14|15)[- ]?([0-9]{3})[- ]?([0-9]{4})$ handles this shorter format.
For M12/M8 circular connectors, the position code may encode variant information rather than direct pin count:
21 03 311 1305 → Position code 311 does NOT mean 311 pins
→ Algorithm: 311 / 10 = 31 pins (approximate)
For more accurate pin count on circular connectors, consult the datasheet.
Unlike some manufacturers, Harting's configuration code (last 4 digits) is not publicly documented in full detail. The handler extracts it for exact matching but does not decode plating, gender, or termination type.
The handler supports ComponentType.IC in addition to CONNECTOR. This is for cross-handler compatibility in generic searches, not because Harting makes ICs. All Harting products are connectors.
Tests are in handlers/HartingHandlerTest.java (not manufacturers/ package) to avoid classpath shadowing issues described in CLAUDE.md.