Unfortunately, I'm still trying to establish PDO-exchange between my master and a Beckhoff FB1111-014X SPI slave.

Main problem seems to be the absence of pdo-entries in the slave configuration. Output of "ethercat cstruct":

------------------------------------------------------------------------
/* Master 0, Slave 0, "FB1111 SPI-Slave"
 * Vendor ID:       0x00000002
 * Product code:    0x04570862
 * Revision number: 0x0258008d
 */

ec_pdo_info_t slave_0_pdos[] = {
    {0x1a00, 0, NULL}, /* Outputs */
    {0x1600, 0, NULL}, /* Inputs */
};

ec_sync_info_t slave_0_syncs[] = {
    {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
    {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
    {2, EC_DIR_OUTPUT, 1, slave_0_pdos + 0, EC_WD_DISABLE},
    {3, EC_DIR_INPUT, 1, slave_0_pdos + 1, EC_WD_DISABLE},
    {0xff}
};
------------------------------------------------------------------------


"ethercat pdos":

------------------------------------------------------------------------
SM0: PhysAddr 0x1000, DefaultSize  128, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1080, DefaultSize  128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1100, DefaultSize    0, ControlRegister 0x24, Enable 1
  RxPDO 0x1a00 "Outputs"
SM3: PhysAddr 0x1180, DefaultSize    0, ControlRegister 0x20, Enable 1
  TxPDO 0x1600 "Inputs"
------------------------------------------------------------------------

Seems to me the Output and Input SyncManagers are of size '0' and thus disabled. Hence, I cannot map a PDO entry to a PDO. Looking at the XML provided by Beckhoff, I notice that both the digital I/O and the uC variants of this slave module do have a PDO entry list!

My goal is to put a certain value in a register (arbitrairly which, but within the Process Data RAM area), which I will then read over the SPI interface (by means of an FPGA, acting as SPI-master). Vice versa I would like to have a value, written over SPI in another register, read by the same master thread.

Should I modify the ESI descriptive XML, compile a binary sii-file using TwinCAT or the EtherCAT Configurator, and download that to the slave with the IgH master? Or is there another way to simply put (cyclic of course!) a value in a certain registry?

Kind regards,
Maarten Burghout - University of Twente
_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to