Broadly speaking, there's three different kinds of slave.
The most basic have fixed PDO configuration and assignment. If these implement
CoE at all (which is also optional), you can't change any part of the PDO
layout.
The middle tier (reasonably common in slaves that implement CoE at all)
You can also configure the slave to the desired configuration (either manually
via "ethercat download" command line or with another master such as TwinCAT)
before you use "ethercat cstruct" to generate your desired PDO layout (but do
still read through it to verify that it is as expected).