EtherCAT I/O mapping

2017-03-15
2017-03-18
  • Peter.skokanek - 2017-03-15

    Hello,
    Short description of my problem: I am using Rpi as EtherCAT controller for FlexiPro ( branding Servotronix) servodrive. It works perfectly as motion controller. The FlexiPro contains 11 inputs and 6 outputs. They are operated by means TxPDO and RxPDO. I am able to read all inputs, but outputs are permanently on zero. If I am trying to write a 1 to some output variable, I can see a change for a while and then it is rewrited to 0 again. Physical output doesn't change. Outputs are operated by means CAN object 60FEH, subindex 1. The subindex 2 is used for output masking. I set a proper mask before cyclic operation of outputs. I have to notice, that I tested to send required outputs by means of SDO. It works. It means the issue must be somewhere in I/O mapping. Have you any idea what I am doing wrong?
    Peter

    IOmapping.pdf [67.21 KiB]

     
  • eschwellinger

    eschwellinger - 2017-03-16

    Hi,
    could you attach the ESI file of the drive?

    BR
    Edwin

     
  • Peter.skokanek - 2017-03-16

    Edwin Schwellinger hat geschrieben:
    Hi,
    could you attach the ESI file of the drive?
    BR
    Edwin

    Actual XML file is in atachment

    MPC_FPRO_PC0_RV0.xml [391.08 KiB]

     
  • Peter.skokanek - 2017-03-16

    Peter.skokanek hat geschrieben:
    Actual XML file is in atachment

    Where can I find it?

     
  • Peter.skokanek - 2017-03-16

    Peter.skokanek hat geschrieben:
    Where can I find it?

     
  • eschwellinger

    eschwellinger - 2017-03-18

    Hi,

    not sure if this works with the DS402Generic Driver but you could give this a try:
    Set the outputs to example:
    Drive.out.dwDigitalOutputs.0:=xBit0;
    etc
    DriveName.out.dwDigitalOutputs...

    the same exits to get the inputs from the drive:
    Drive.in.dwDigitalInputs
    BR
    Edwin

     

Log in to post a comment.