西门子存储区与施耐德、CODESYS存储区的区别
踩了一个大坑
情况是这样的,使用codesys连接profinet io 模块,系统分配了io的地址,i地址分配了iw2,q地址分配了qw0,我使用qx1.3或者qx0.11都可以访问输出点0.3,但是我使用ix3.3或者ix0.11都不能访问i0.3,最后发现了问题所在。
地址的编排方式不一样。
西门子 存储格式 |
施耐德 CODESYS 存储格式 | |||||
B0 |
B1 |
W0 |
B1 |
B0 |
W0 |
|
B2 |
B3 |
W2 |
B3 |
B2 |
W1 |
|
B4 |
B5 |
W4 |
B5 |
B4 |
W2 |
|
B6 |
B7 |
W6 |
B7 |
B6 |
W3 |
|
B8 |
B9 |
W8 |
B9 |
B8 |
W4 |
|
B10 |
B11 |
W10 |
B11 |
B10 |
W5 |
|
B12 |
B13 |
W12 |
B13 |
B12 |
W6 |
|
B14 |
B15 |
W14 |
B15 |
B14 |
W7 |
所以i0.3的访问地址应该是ix4.11或者ix5.3。