Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Too much initializing problmes with SanyoDenky Drivers

gdalbo
2018-12-12
2018-12-17
  • gdalbo - 2018-12-12

    Hi at all, I'm in crisis

    I've several problems using SanyoDenky drivers with Codesys.

    CASE 1 - RS3 drivers:

    EtherCAT chain:
    1. EtherCAT coupler beckhoff + beckhoff I/O(3 input + 2 output, 5 modules in total)
    2. Driver RS3
    3. Driver RS3
    4. Driver RS3
    5. Inverter Bonfiglioli ACU

    When master tries to initialize the EtherCAT chain almost every driver go in error.

    Here there are some error messages:

    1009 to 1011 are drivers --> Bonfiglioli is before drivers

    Β 
    952745843: Cmp=IoDrvEtherCAT, Class=1, Error=0, Info=0, pszInfo= SDO write ok: Address: 1010 Index: 16#1C13 SubIndex: 1 Data: 16#1B00 Result: 16#00
    952745844: Cmp=IoDrvEtherCAT, Class=1, Error=0, Info=0, pszInfo= SDO write ok: Address: 1010 Index: 16#1C13 SubIndex: 0 Data: 16#01 Result: 16#00
    952745844: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1010 status 16#26
    952745847: Cmp=IoDrvEtherCAT, Class=4, Error=0, Info=0, pszInfo=**** SDO timeout Address: 1011 Index: 16#1600 SubIndex: 0 Data: 16#00 Result: 16#00
    952745847: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1010 status 16#26
    952745854: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! watchdog for opmode expired. Address: 1010
    952745856: Cmp=IoDrvEtherCAT, Class=4, Error=0, Info=0, pszInfo=**** SDO timeout Address: 1011 Index: 16#1600 SubIndex: 0 Data: 16#02 Result: 16#00
    

    1008 to 1010 are drivers --> Bonfiglioli is after Drivers

    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1008 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1009 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1010 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! watchdog for opmode expired. Address: 1008
    952751931: Cmp=IoDrvEtherCAT, Class=4, Error=0, Info=0, pszInfo=**** Warning:Β  number of slaves has changed or is different to the configuration!
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! watchdog for opmode expired. Address: 1009
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1008 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=4, Error=0, Info=0, pszInfo=**** Warning:Β  number of slaves has changed or is different to the configuration!
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1009 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! watchdog for opmode expired. Address: 1010
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1010 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=4, Error=0, Info=0, pszInfo=**** Warning:Β  number of slaves has changed or is different to the configuration!
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1008 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1009 status 16#1B
    952751931: Cmp=IoDrvEtherCAT, Class=2, Error=0, Info=0, pszInfo=!!!! AL Status read from slave address 1010 status 16#1B
    

    Furthermore, often the init doesn't work because there is a "check vendorID" error (it never happens on my desk stack for tests).
    This happens casually.

    In the most fortunate situation all is correctly initialized, but as soon as any operation in which drivers are employed is performed, communication is lost.

    On "Startup Parameters" of Sanyo RS2 drivers there are these parameters (default):
    - 16#1C32:16#01 SM output parameter Value:2 Bitlength: 8
    - 16#1C33:16#01 SM input parameter Value:2 Bitlength: 8
    Instead in the RS3 no. I tried to add them, but nothing to do.

    This happens even if in the chain there is only a Driver.

    Questions:
    Are there some parameters to set that are different from those for RS2?
    Is it possible that our Codesys EtherCAT master(softmotion) isn't updated to mangage RS3 drivers?

    CASE 2:
    Assuming that there is a compatibility problem with EtherCAT master, I decided to connect a stack that I usually use for my tests (EtherCAT coupler beckhoff + beckhoff I/O + 3 RS2 drivers).

    EtherCAT chain:
    1. EtherCAT coupler beckhoff + beckhoff I/O (not those in the stack)
    2. Driver RS2
    3. Driver RS2
    4. Driver RS2
    5. Inverter Bonfiglioli ACU

    In this case drivers are initialized ok, but they generate "AL.F1.4".

    SANMOTION MANUAL:

    β€œDefect in internal circuit of servo amplifier. β€œ
    Suggested solution:
    β–  Replace the servo amplifier.

    --> I don't think, in my desk tests they work very well.

    β€œ There is jitter in the transfer frame from master
    for the cycle time setting (0x1C32:0x02). β€œ
    Suggested solution:
    β–  Drives with Free Run mode or SYNC0/1 mode in
    Synchronous mode.
    β–  Please check that the jitter of master frame is less than
    5us, and transmit the frame exactly.

    TESTS
    In order to have a configuartion similar to the stack we have done this:
    - Deleted Inverter ACU(Bonfiglioli) --> Driver1 = OK Driver2 = AL.F1.4 Driver3 = AL.F1.4
    - Change Beckhoff with Stack's Beckhoff --> Driver1 = OK Driver2 = AL.F1.4 or Driver1 = AL.F1.4 Driver2 = OK Driver3 = AL.F1.4

    I really can't understand where is the problem.

    I hope that someone could help me.

    Thanks a lot,
    Gianmarco

     
  • eschwellinger

    eschwellinger - 2018-12-13

    Hi,
    please give us more information.
    Which CODESYS version are you using?
    Which plc in which version are you using?

    BR
    Edwin

     
  • gdalbo - 2018-12-13

    Edwin Schwellinger hat geschrieben:
    Hi,
    please give us more information.
    Which CODESYS version are you using?
    Which plc in which version are you using?
    BR
    Edwin

    Hi Edwin! Of course!

    I'm using Codesys V3.5 SP8 Patch3 (machine's PC).
    Compiler version is 3.5.8.30.

    We're using an an OMAP-L137 board with real time preemption kernel @330 MHz.

    Best regards,
    Gianmarco

     
  • gdalbo - 2018-12-14

    Hi,

    Usually, when I use RS2, I set an EtherCAT cycle time of 8ms.
    I noticed that if I set the double of this value (16ms) all the ecat chain (with RS3) works.

    Is there some in particular due to RS3 which slows the system?

    Furthermore , some times ago I also noticed that if EtherCAT task runs without any code(PRG, FB..) the max cycle time is more or less almost of 1ms... is this normal in an empty ecat task?
    I ask this because maybe there is something wrong in our codesys settings and we don't know what.

    Thank you,
    Gianmarco

     
  • eschwellinger

    eschwellinger - 2018-12-15

    Hi,

    Zitat:
    Is there some in particular due to RS3 which slows the system?

    no I don't think so.

    Sounds that even the performance of the system is to low?
    Which CPU is build in on your plc?
    BR
    Edwin

     
  • gdalbo - 2018-12-17

    CPU is ARM926 @ 444MHz 16kB D-cache 16kB I-Cache

    Thanks,
    Gianmarco

     

Log in to post a comment.