-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setting motor record HVEL has no effect #59
Comments
@hinxx do you use the ecmc module for your motion controller? Or do you use only the ESS specific motor module? According to your comments, it looks for me you don't use the ecmc. If so, this is not the right place, please contact the main developer of ESS specific motor record repository. I will close this issue within a week if so. |
Yes, I do have a motion controller with ecmc. That is how I found this place. As far as I know, that ESS specific motor module is only used with ecmc. I was hoping someone here could help out. |
@jeonghanlee : Please do not close this issue yet. We need to dig into this. And as a side-note: We use the ess-master version of the "epics motor module" |
@anderssandstrom , thank you for asking; I would like to control HVEL at runtime, yes. What follows is couple of questions I asked myself while working with the ecmc IOC (maybe I should put them in another ticket, but here they anyway). I was looking at the official motor (record) docs while trying to operate the ecmc / ESS motor record fields. Sometimes the observed behavior was not as documented there; once I better understand what is happening I'll report my findings here. For now I just want to summarize my thoughts in the following questions:
I apologize if I missed or misunderstood the docs, there is a lot to take in. Keep up the good work & thank you for your time! |
@hinxx : To not allow the user to control the homing velocity: |
But the user can set any velocity for normal movement, right? Wouldn't that, in case of user error, cause potential hardware damage as well?
Appreciated, but what is the benefit of verbal exchange to the other users of this repo?
I'm sorry, I consider these questions quite specific to the ecmc, ESS motor module / record (with a hint of general knowledge for context). If there is something I can read up on the topics mentioned feel free to direct me there. |
I'm not sure what you mean by that. There are many mature motor modules in that repository. Using the asynMotorController and asynMotorAxis base classes it is really quite easy to write a new driver that uses all of the capabilities of the motor record. You mainly just need to implement these methods from asynMotorAxis:
Many drivers implement features beyond those in the motor record. If your controller is capable of coordinated multi-axis motion ("profile moves") then you can implement these methods:
Other controller-specific features (current control, advanced feedback parameters) can also be easily supported. The Galil driver is an example of a very full-featured driver. |
@anderssandstrom does ecmc use the motor record? I thought, we moved its your own asyn based classes when I spent time to configuring the RT Linux configuration there. We saw the asyn-based ecmc version had the better performance. @tboegi I will not close this, so do not worry about this. |
@jeonghanlee, yes ecmc use motor record (but motion can also be executed without motor record by "normal" records). Anyway, what we found was that the motor record model 3 driver (like what @MarkRivers explains above) we used for ecmc at that time, EthercatMC, which we also used for our TwinCAT, was not optimised for RT. So, what we did was to write an ecmc dedicated model 3 motor record driver instead. By doing this we could direct call ecmc functions instead of parsing strings communicated through asyn like with EthercatMC resulting in much less RT jitter. @hinxx, for most homing sequences ecmc uses 2 different velocities, one fast and one slow which are used for different steps of the homing sequence. So if we use HVEL then, I guess, the best would be to set both the ecmc velos to this value. I can make some tests. Motor record: |
@MarkRivers : I believe there are. I wanted to say that since I do not have access to any of the hardware that those mature modules would work with, I'm resorting to motorMotorSim and treating that as the feature / behavior / implementation reference point. @anderssandstrom : Thanks for the insights. If I understand correctly,
Thanks for looking into this. |
[Not sure if this is the right place to report this, but for some reason https://github.com/EuropeanSpallationSource/motor repo has issue reporting disabled.]
When I try to use HVEL field of the motor record from https://github.com/EuropeanSpallationSource/motor it does not seem to have an effect on the speed of movement when homing (write 1 to HOMR) is initiated. The motion towards the home position is always slow.
The text was updated successfully, but these errors were encountered: