[etherlab-users] Detecting whether an amp has repowered

Graeme Foot GraemeF at touchcut.com
Tue May 29 00:06:04 CEST 2012



I forgot to mention that I'm not using the builtin homing functionality of the drive.  I have found it too restrictive.


However, it was the homing parameters that I was thinking of using as my own status indicator since they are not otherwise being used.








From: Oguz Dilmac [mailto:oguzdilmac at bilko-automation.com] 
Sent: Monday, 28 May 2012 21:47
To: etherlab-users at etherlab.org
Cc: Graeme Foot
Subject: Re: [etherlab-users] Detecting whether an amp has repowered


Hi Graeme,

About homing status:
At init sequence, I check the status word. In Schneider Lexium series, bit15 indicates wether Homing is done or not. 
If Yaskawa don't use such a bit, may be reading back the "Home Offset" (0x607C) or "Homing Method" (0x6098) may suggest you if you already done homing or not.

Best regards,



26.05.2012 08:54 tarihinde, Graeme Foot yazd─▒: 



I would like to detect whether my Yaskawa SGDV amps have been repowered (as opposed to just a loss of communication).  Is there any way to nicely do so?


The amps have 32bit DC clocks so I can't tell based on the clock time.

What I was thinking I could do was:

- Set a unused value to a random number on startup (via an sdo)

- Read the value via a pdo

If communications are up but the pdo based value does not match the random number then the amp has been repowered.  (Needs to be a random number incase the amp settings get saved).


The reason I would like to do this is that our amps/motors have incremental encoders so if power is lost the axis position gets reset to zero.  However subsequent axes in the EtherCAT chain also loose communications, but not their positions.  Rather than having to rehome the entire machine if there is a loss of comms to the amps I would only like to rehome the repowered ones.


This situation is particularly relevant when commissioning the machine where changing certain configuration parameters requires the amps to be repowered.  It is also relevant where we have some remote axes which may either loose comms or power and I need to know which case it is.



Also, to really quickly detect that an amp has lost comms I'm reading the amps error code value via a pdo.  If the amp misses a frame the read values do not get written by the amp.  So just before I queue and send the amps domain information I set each amps errorcode in the domain data to a value of 0xFFFF.  Once I receive the response if the value is still 0xFFFF then the amp has had a comms error.


Is this a good way to do it, or is there a better way?





etherlab-users mailing list
etherlab-users at etherlab.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20120529/2b784a18/attachment-0004.htm>

More information about the Etherlab-users mailing list