New functions

This commit is contained in:
Felix Weiß
2023-07-23 15:29:29 +02:00
parent eec1479406
commit bf78156a9d
17 changed files with 701 additions and 175 deletions

View File

@@ -1,5 +1,5 @@
# PLC Type Table
Auto Generated @ **2023-07-21 16:30:21Z**
Auto Generated @ **2023-07-22 17:21:07Z**
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.
@@ -7,9 +7,9 @@ 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
07 <= extended code (00 for non Mewtocol 7 devices)
0120 <= for 120k (Prog capacity), with RT/EXRT/MEW7 override order
A5 <= Is the actual typecode, with RT/EXRT/MEW7 override order
```
> <b>Discontinued PLCs</b><br>
> These are PLCs that are no longer sold by Panasonic. Marked with ⚠️
@@ -33,7 +33,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> ELC500 </td>
<td> 0k </td>
<td><code>0x070010</code></td>
<td><code>0x7000010</code></td>
<td><i>ECOLOGIX_0k__ELC500</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -48,26 +48,26 @@ A5 <= Is the actual typecode, can overlap with others
<td><code>0x000340</code></td>
<td><i>FP0_2c7k__C10_C14_C16</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> C32, SL1 </td>
<td> 5k </td>
<td><code>0x000041</code></td>
<td><code>0x000541</code></td>
<td><i>FP0_5k__C32_SL1</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> T32 </td>
<td> 10k </td>
<td><code>0x000A42</code></td>
<td><code>0x001042</code></td>
<td><i>FP0_10c0k__T32</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td colspan="7" height=50>📟 <b>FP0H</b> </td>
@@ -75,7 +75,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C32ET/EP </td>
<td> 32k </td>
<td><code>0x0020B1</code></td>
<td><code>0x0032B1</code></td>
<td colspan="2"><i>FP0H_32k__C32ETsEP</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -83,7 +83,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C32T/P </td>
<td> 32k </td>
<td><code>0x0020B0</code></td>
<td><code>0x0032B0</code></td>
<td colspan="2"><i>FP0H_32k__C32TsP</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -94,34 +94,34 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C10, C14, C16 </td>
<td> 16k </td>
<td><code>0x000046</code></td>
<td><code>0x001646</code></td>
<td colspan="2"><i>FP0R_16k__C10_C14_C16</i></td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> C32 </td>
<td> 32k </td>
<td><code>0x002047</code></td>
<td><code>0x003247</code></td>
<td colspan="2"><i>FP0R_32k__C32</i></td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> F32 </td>
<td> 32k </td>
<td><code>0x002049</code></td>
<td><code>0x003249</code></td>
<td colspan="2"><i>FP0R_32k__F32</i></td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> T32 </td>
<td> 32k </td>
<td><code>0x002048</code></td>
<td><code>0x003248</code></td>
<td colspan="2"><i>FP0R_32k__T32</i></td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td colspan="7" height=50>📟 <b>FP1</b> </td>
@@ -147,7 +147,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C56, C72 </td>
<td> 5k </td>
<td><code>0x000006</code></td>
<td><code>0x000506</code></td>
<td><i>FP1_5k__C56_C72</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -159,7 +159,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 30k </td>
<td><code>0x001E20</code></td>
<td><code>0x003020</code></td>
<td><i>FP10_30k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -168,7 +168,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 60k </td>
<td><code>0x003C20</code></td>
<td><code>0x006020</code></td>
<td><i>FP10_60k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -180,7 +180,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 30k </td>
<td><code>0x001E20</code></td>
<td><code>0x003020</code></td>
<td><i>FP10S_30k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -192,28 +192,28 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 30k </td>
<td><code>0x001E30</code></td>
<td><code>0x003030</code></td>
<td><i>FP10SH_30k</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> ❌ </td>
</tr>
<tr>
<td> - </td>
<td> 60k </td>
<td><code>0x003C30</code></td>
<td><code>0x006030</code></td>
<td><i>FP10SH_60k</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> ❌ </td>
</tr>
<tr>
<td> - </td>
<td> 120k </td>
<td><code>0x007830</code></td>
<td><code>0x012030</code></td>
<td><i>FP10SH_120k</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> ❌ </td>
</tr>
<tr>
@@ -222,20 +222,20 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 16k </td>
<td><code>0x001050</code></td>
<td><code>0x001650</code></td>
<td><i>FP2_16k</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> - </td>
<td> 32k </td>
<td><code>0x002050</code></td>
<td><code>0x003250</code></td>
<td><i>FP2_32k</i></td>
<td align=center>⚠️</td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td colspan="7" height=50>📟 <b>FP2SH</b> </td>
@@ -243,25 +243,25 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 32k </td>
<td><code>0x002062</code></td>
<td><code>0x003262</code></td>
<td><i>FP2SH_32k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> - </td>
<td> 60k </td>
<td><code>0x003C60</code></td>
<td><code>0x006060</code></td>
<td><i>FP2SH_60k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> - </td>
<td> 120k </td>
<td><code>0x0078E0</code></td>
<td><code>0x012060</code></td>
<td><i>FP2SH_120k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -273,7 +273,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 10k </td>
<td><code>0x000A03</code></td>
<td><code>0x001003</code></td>
<td><i>FP3_10k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -282,7 +282,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 16k </td>
<td><code>0x001013</code></td>
<td><code>0x001613</code></td>
<td><i>FP3_16k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -294,7 +294,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 16k </td>
<td><code>0x001002</code></td>
<td><code>0x001602</code></td>
<td><i>FP5_16k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -303,7 +303,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 24k </td>
<td><code>0x001812</code></td>
<td><code>0x002412</code></td>
<td><i>FP5_24k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -315,7 +315,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS21 </td>
<td> 64k </td>
<td><code>0x074009</code></td>
<td><code>0x7006409</code></td>
<td colspan="2"><i>FP7_64k__CPS21</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -323,7 +323,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS31 </td>
<td> 120k </td>
<td><code>0x077805</code></td>
<td><code>0x7012005</code></td>
<td colspan="2"><i>FP7_120k__CPS31</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -331,7 +331,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS31E </td>
<td> 120k </td>
<td><code>0x077804</code></td>
<td><code>0x7012004</code></td>
<td colspan="2"><i>FP7_120k__CPS31E</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -339,7 +339,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS31ES </td>
<td> 120k </td>
<td><code>0x077807</code></td>
<td><code>0x7012007</code></td>
<td colspan="2"><i>FP7_120k__CPS31ES</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -347,7 +347,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS31S </td>
<td> 120k </td>
<td><code>0x077808</code></td>
<td><code>0x7012008</code></td>
<td colspan="2"><i>FP7_120k__CPS31S</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -355,7 +355,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS41E </td>
<td> 196k </td>
<td><code>0x07C403</code></td>
<td><code>0x7019603</code></td>
<td colspan="2"><i>FP7_196k__CPS41E</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -363,7 +363,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> CPS41ES </td>
<td> 196k </td>
<td><code>0x07C406</code></td>
<td><code>0x7019606</code></td>
<td colspan="2"><i>FP7_196k__CPS41ES</i></td>
<td align=center> ❌ </td>
<td align=center> ❌ </td>
@@ -374,7 +374,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 16k </td>
<td><code>0x001013</code></td>
<td><code>0x001613</code></td>
<td><i>FPdC_16k</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -416,7 +416,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C20RC, C20TC, C32TC </td>
<td> 5k </td>
<td><code>0x000006</code></td>
<td><code>0x000506</code></td>
<td><i>FPdM_5k__C20RC_C20TC_C32TC</i></td>
<td align=center>⚠️</td>
<td align=center> ❌ </td>
@@ -428,7 +428,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 12k </td>
<td><code>0x000C43</code></td>
<td><code>0x001243</code></td>
<td><i>FPdSIGMA_12k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -437,7 +437,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 16k </td>
<td><code>0x0010E1</code></td>
<td><code>0x0016E1</code></td>
<td><i>FPdSIGMA_16k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -446,16 +446,16 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> - </td>
<td> 32k </td>
<td><code>0x002044</code></td>
<td><code>0x003244</code></td>
<td><i>FPdSIGMA_32k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<tr>
<td> - </td>
<td> 40k </td>
<td><code>0x0028E1</code></td>
<td><code>0x0040E1</code></td>
<td><i>FPdSIGMA_40k</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -476,7 +476,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C14R </td>
<td> 16k </td>
<td><code>0x001070</code></td>
<td><code>0x001670</code></td>
<td><i>FPdX_16k__C14R</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -485,7 +485,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C14T/P </td>
<td> 16k </td>
<td><code>0x001076</code></td>
<td><code>0x001676</code></td>
<td><i>FPdX_16k__C14TsP</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -494,7 +494,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> L14 </td>
<td> 16k </td>
<td><code>0x001073</code></td>
<td><code>0x001673</code></td>
<td><i>FPdX_16k__L14</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -503,7 +503,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C30R, C60R </td>
<td> 32k </td>
<td><code>0x002071</code></td>
<td><code>0x003271</code></td>
<td><i>FPdX_32k__C30R_C60R</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -512,7 +512,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C30T/P, C60T/P, C38AT, C40T </td>
<td> 32k </td>
<td><code>0x002077</code></td>
<td><code>0x003277</code></td>
<td><i>FPdX_32k__C30TsP_C60TsP_C38AT_C40T</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -521,7 +521,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> L30, L60 </td>
<td> 32k </td>
<td><code>0x002074</code></td>
<td><code>0x003274</code></td>
<td><i>FPdX_32k__L30_L60</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -551,7 +551,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> L40, L60 </td>
<td> 16k </td>
<td><code>0x00107F</code></td>
<td><code>0x00167F</code></td>
<td><i>FPdX0_16k__L40_L60</i></td>
<td align=center>⚠️</td>
<td align=center> ✅ </td>
@@ -563,7 +563,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C14R </td>
<td> 16k </td>
<td><code>0x0010A0</code></td>
<td><code>0x0016A0</code></td>
<td colspan="2"><i>FPdXH_16k__C14R</i></td>
<td align=center> ✅ </td>
<td align=center> ✅ </td>
@@ -571,7 +571,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C14T/P </td>
<td> 16k </td>
<td><code>0x0010A4</code></td>
<td><code>0x0016A4</code></td>
<td colspan="2"><i>FPdXH_16k__C14TsP</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -579,7 +579,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C30R, C40R, C60R </td>
<td> 32k </td>
<td><code>0x0020A1</code></td>
<td><code>0x0032A1</code></td>
<td colspan="2"><i>FPdXH_32k__C30R_C40R_C60R</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -587,7 +587,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C30T/P, C40T, C60T/P </td>
<td> 32k </td>
<td><code>0x0020A5</code></td>
<td><code>0x0032A5</code></td>
<td colspan="2"><i>FPdXH_32k__C30TsP_C40T_C60TsP</i></td>
<td align=center> ✅ </td>
<td align=center> ✅ </td>
@@ -595,7 +595,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C38AT </td>
<td> 32k </td>
<td><code>0x0020A7</code></td>
<td><code>0x0032A7</code></td>
<td colspan="2"><i>FPdXH_32k__C38AT</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -603,7 +603,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C40ET, C60ET </td>
<td> 32k </td>
<td><code>0x0020AE</code></td>
<td><code>0x0032AE</code></td>
<td colspan="2"><i>FPdXH_32k__C40ET_C60ET</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -611,7 +611,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> C60ETF </td>
<td> 32k </td>
<td><code>0x0020AF</code></td>
<td><code>0x0032AF</code></td>
<td colspan="2"><i>FPdXH_32k__C60ETF</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -619,7 +619,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> M4T/L </td>
<td> 32k </td>
<td><code>0x0020A8</code></td>
<td><code>0x0032A8</code></td>
<td colspan="2"><i>FPdXH_32k__M4TsL</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -627,7 +627,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> M8N16T/P </td>
<td> 32k </td>
<td><code>0x0020AC</code></td>
<td><code>0x0032AC</code></td>
<td colspan="2"><i>FPdXH_32k__M8N16TsP</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>
@@ -635,7 +635,7 @@ A5 <= Is the actual typecode, can overlap with others
<tr>
<td> M8N30T </td>
<td> 32k </td>
<td><code>0x0020AD</code></td>
<td><code>0x0032AD</code></td>
<td colspan="2"><i>FPdXH_32k__M8N30T</i></td>
<td align=center> ✅ </td>
<td align=center> ❌ </td>