I figured it out, the CMM-EC02 does not include the FMMU Sync Manager bindings in it's EEPROM; which isn't writable through TwinCAT, nor the Beckhoff EtherCAT configurator; though it is possible to write, and commit using
.
To generate the file, you'll need
siitool
, and the ESI file from Delta.
You'll likely need to modify the ESI file to get the right PDOs if you want to use it with TwinCAT, since the official ESI file lacks some standard PDOs at the time of writing, furthermore, to avoid a slip-up, I removed all cards except my own revision from the ESI file.
The command to generate the binary from the ESI XML file is:
Code:
siitool -p -o etherlab_ms300_cmm_ec02.sii DeltaMS300.xml
The next step is taking a backup of the SII data from the CMM-EC02 card for safety:
Code:
ethercat sii_read -s <YOUR MS300 ADDRESS HERE (can be found with the first number in ethercat slaves)> > original_ms300_cmm_ec02.sii
To compare the files, you can use (the first command outputs the original, the second the modified sii data):
Code:
siitool -p original_ms300_cmm_ec02.sii
siitool -p etherlab_ms300_cmm_ec02.sii
To actually write, you can use (editor note: don't use --force, since it likely means something's wrong with the SII file):
Code:
ethercat sii_write -s <YOUR MS300 ADDRESS HERE (can be found with the first number in ethercat slaves)> etherlab_ms300_cmm_ec02.sii
The reason for the discrepancy is that TwinCAT uses the ESI file to find the Sync Manager addresses for the MS300, which is correct, while the EtherLab master uses the MS300 SII data, which apparently is incomplete (as hinted at by the warning and error messages from
)