# PLC Type Table
Auto Generated @ **2023-07-21 15:07:27Z**
All supported PLC types for auto recognition are listed in this table. Other ones might also be supported but are shown as unknown in the library. Some models are never uniquely identifiable by their typecode and need extra hints like Prog Capacity in EXRT or RT.
Typecode explained:
```
From left to right
0x
07 <= extended code (00 non mewtocol 7 devices)
20 <= Is hex for 32 (Prog capacity)
A5 <= Is the actual typecode, can overlap with others
```
> Discontinued PLCs
> These are PLCs that are no longer sold by Panasonic. Marked with ⚠️
> EXRT PLCs
> These are PLCs that utilize the basic `%EE#RT` and `%EE#EX00RT` command. All newer models do this. Old models only use the `%EE#RT` command.
| Type | Capacity | Code | Enum | DCNT | EXRT | Tested |
|---|---|---|---|---|---|---|
| 📟 ECOLOGIX | ||||||
| ELC500 | 0k | 0x070010 |
ECOLOGIX_0k__ELC500 | ⚠️ | ❌ | ❌ |
| 📟 FP0 | ||||||
| C10, C14, C16 | 2.7k | 0x000040 |
FP0_2c7k__C10_C14_C16 | ⚠️ | ❌ | ❌ |
| C32, SL1 | 5k | 0x000041 |
FP0_5k__C32_SL1 | ⚠️ | ❌ | ❌ |
| T32 | 10k | 0x000A42 |
FP0_10c0k__T32 | ⚠️ | ❌ | ❌ |
| 📟 FP0H | ||||||
| C32ET/EP | 32k | 0x0020B1 |
FP0H_32k__C32ETsEP | ✅ | ❌ | |
| C32T/P | 32k | 0x0020B0 |
FP0H_32k__C32TsP | ✅ | ❌ | |
| 📟 FP0R | ||||||
| C10, C14, C16 | 16k | 0x000046 |
FP0R_16k__C10_C14_C16 | ✅ | ❌ | |
| C32 | 32k | 0x002047 |
FP0R_32k__C32 | ✅ | ❌ | |
| F32 | 32k | 0x002049 |
FP0R_32k__F32 | ✅ | ❌ | |
| T32 | 32k | 0x002048 |
FP0R_32k__T32 | ✅ | ❌ | |
| 📟 FP1 | ||||||
| C14, C16 | 0.9k | 0x000004 |
FP1_0c9k__C14_C16 | ⚠️ | ❌ | ❌ |
| C24, C40 | 2.7k | 0x000005 |
FP1_2c7k__C24_C40 | ⚠️ | ❌ | ❌ |
| C56, C72 | 5k | 0x000006 |
FP1_5k__C56_C72 | ⚠️ | ❌ | ❌ |
| 📟 FP10 | ||||||
| - | 30k | 0x001E20 |
FP10_30k | ⚠️ | ❌ | ❌ |
| - | 60k | 0x003C20 |
FP10_60k | ⚠️ | ❌ | ❌ |
| 📟 FP10S | ||||||
| - | 30k | 0x001E20 |
FP10S_30k | ⚠️ | ❌ | ❌ |
| 📟 FP10SH | ||||||
| - | 30k | 0x001E30 |
FP10SH_30k | ⚠️ | ❌ | ❌ |
| - | 60k | 0x003C30 |
FP10SH_60k | ⚠️ | ❌ | ❌ |
| - | 120k | 0x007830 |
FP10SH_120k | ⚠️ | ❌ | ❌ |
| 📟 FP2 | ||||||
| - | 16k | 0x001050 |
FP2_16k | ⚠️ | ❌ | ❌ |
| - | 32k | 0x002050 |
FP2_32k | ⚠️ | ❌ | ❌ |
| 📟 FP2SH | ||||||
| - | 32k | 0x002062 |
FP2SH_32k | ⚠️ | ✅ | ❌ |
| - | 60k | 0x003C60 |
FP2SH_60k | ⚠️ | ✅ | ❌ |
| - | 120k | 0x0078E0 |
FP2SH_120k | ⚠️ | ✅ | ❌ |
| 📟 FP3 | ||||||
| - | 10k | 0x000A03 |
FP3_10k | ⚠️ | ❌ | ❌ |
| - | 16k | 0x001013 |
FP3_16k | ⚠️ | ❌ | ❌ |
| 📟 FP5 | ||||||
| - | 16k | 0x001002 |
FP5_16k | ⚠️ | ❌ | ❌ |
| - | 24k | 0x001812 |
FP5_24k | ⚠️ | ❌ | ❌ |
| 📟 FP7 | ||||||
| CPS21 | 64k | 0x074009 |
FP7_64k__CPS21 | ❌ | ❌ | |
| CPS31 | 120k | 0x077805 |
FP7_120k__CPS31 | ❌ | ❌ | |
| CPS31E | 120k | 0x077804 |
FP7_120k__CPS31E | ❌ | ❌ | |
| CPS31ES | 120k | 0x077807 |
FP7_120k__CPS31ES | ❌ | ❌ | |
| CPS31S | 120k | 0x077808 |
FP7_120k__CPS31S | ❌ | ❌ | |
| CPS41E | 196k | 0x07C403 |
FP7_196k__CPS41E | ❌ | ❌ | |
| CPS41ES | 196k | 0x07C406 |
FP7_196k__CPS41ES | ❌ | ❌ | |
| 📟 FP-C | ||||||
| - | 16k | 0x001013 |
FPdC_16k | ⚠️ | ❌ | ❌ |
| 📟 FP-e | ||||||
| - | 2.7k | 0x000045 |
FPde_2c7k | ⚠️ | ✅ | ❌ |
| 📟 FP-M | ||||||
| C16T | 0.9k | 0x000004 |
FPdM_0c9k__C16T | ⚠️ | ❌ | ❌ |
| C20R, C20T, C32T | 2.7k | 0x000005 |
FPdM_2c7k__C20R_C20T_C32T | ⚠️ | ❌ | ❌ |
| C20RC, C20TC, C32TC | 5k | 0x000006 |
FPdM_5k__C20RC_C20TC_C32TC | ⚠️ | ❌ | ❌ |
| 📟 FP-SIGMA | ||||||
| - | 12k | 0x000C43 |
FPdSIGMA_12k | ⚠️ | ✅ | ❌ |
| - | 16k | 0x0010E1 |
FPdSIGMA_16k | ⚠️ | ✅ | ❌ |
| - | 32k | 0x002044 |
FPdSIGMA_32k | ⚠️ | ✅ | ❌ |
| - | 40k | 0x0028E1 |
FPdSIGMA_40k | ⚠️ | ✅ | ❌ |
| 📟 FP-X | ||||||
| C40RT0A | 2.5k | 0x00007A |
FPdX_2c5k__C40RT0A | ⚠️ | ✅ | ❌ |
| C14R | 16k | 0x001070 |
FPdX_16k__C14R | ⚠️ | ✅ | ✅ |
| C14T/P | 16k | 0x001076 |
FPdX_16k__C14TsP | ⚠️ | ✅ | ❌ |
| L14 | 16k | 0x001073 |
FPdX_16k__L14 | ⚠️ | ✅ | ❌ |
| C30R, C60R | 32k | 0x002071 |
FPdX_32k__C30R_C60R | ⚠️ | ✅ | ❌ |
| C30T/P, C60T/P, C38AT, C40T | 32k | 0x002077 |
FPdX_32k__C30TsP_C60TsP_C38AT_C40T | ⚠️ | ✅ | ✅ |
| L30, L60 | 32k | 0x002074 |
FPdX_32k__L30_L60 | ⚠️ | ✅ | ❌ |
| 📟 FP-X0 | ||||||
| L14, L30 | 2.5k | 0x000072 |
FPdX0_2c5k__L14_L30 | ⚠️ | ✅ | ❌ |
| L40, L60 | 8k | 0x000875 |
FPdX0_8k__L40_L60 | ⚠️ | ✅ | ❌ |
| L40, L60 | 16k | 0x00107F |
FPdX0_16k__L40_L60 | ⚠️ | ✅ | ❌ |
| 📟 FP-XH | ||||||
| C14R | 16k | 0x0010A0 |
FPdXH_16k__C14R | ✅ | ✅ | |
| C14T/P | 16k | 0x0010A4 |
FPdXH_16k__C14TsP | ✅ | ❌ | |
| C30R, C40R, C60R | 32k | 0x0020A1 |
FPdXH_32k__C30R_C40R_C60R | ✅ | ❌ | |
| C30T/P, C40T, C60T/P | 32k | 0x0020A5 |
FPdXH_32k__C30TsP_C40T_C60TsP | ✅ | ✅ | |
| C38AT | 32k | 0x0020A7 |
FPdXH_32k__C38AT | ✅ | ❌ | |
| C40ET, C60ET | 32k | 0x0020AE |
FPdXH_32k__C40ET_C60ET | ✅ | ❌ | |
| C60ETF | 32k | 0x0020AF |
FPdXH_32k__C60ETF | ✅ | ❌ | |
| M4T/L | 32k | 0x0020A8 |
FPdXH_32k__M4TsL | ✅ | ❌ | |
| M8N16T/P | 32k | 0x0020AC |
FPdXH_32k__M8N16TsP | ✅ | ❌ | |
| M8N30T | 32k | 0x0020AD |
FPdXH_32k__M8N30T | ✅ | ❌ | |