-
Notifications
You must be signed in to change notification settings - Fork 2
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
I meet some problems when I tried writing a motor driver for my Step Motor Controller by modified some examples in Motor module. #22
Comments
Last message (now removed by GitHub) was a phish, very similar to one in area detector yesterday. Stomp them out quickly. |
@prjemian, I don't see a phishing message. This looks like a real request for help. |
You can also load an asyn record, which makes it easy to change the trace masks and can also be used to manually send commands to the controller:
You should enable asyn traces, move the motor to a non-zero position and then to zero, and see if the move commands appear in the asyn trace output. Maybe a relative move of zero is being commanded when an absolute move is expected?
|
I reported the "phish" comment as SPAM to GitHub. They investigated and removed it from the history. The original posting is not (I believe) SPAM or phish. |
@1458861693, the Parker ACR driver is a good example. The motor record is told that the axis supports encoders in the constructor: And the axis poll method sets both the encoder and motor positions: |
Thanks for your help very much. I have solved most problems above described, but there are still several problems.
Looking forward to your help. Thanks you very much. |
The motor record does the following calculation to determine if relative moves should be used:
It uses the Asyn motor device support creates a relative move transaction, which eventually gets sent ot the motor driver: The asynMotorController's writeFloat64 method is what calls the driver's move method with relative=1:
It is up to the driver to determine what should be done for an axis with an encoder. I think the OMS MAXv driver sets both the motor's position and encoder's position to the value passed by the motor record, if the axis is configured to have an encoder.
|
I'm not sure what is wrong with the motor record in the picture. The "Controller Error" and "Comm Error" messages are present in the upper right-hand corner of the screen, which usually indicates a problem talking to the controller. A communication error would explain why the retries weren't exhausted. What are the errors on the the IOC's shell when this happens? |
I meet some problems when I tried writing a motor driver for my Step Motor Controller by modified motorVMC and motorAcs in Motor module. I have tried many times, but there are still some problems in my motor driver. I hope to receive your help very much.
My modified motor driver is committed as a compress file as follow.
motorAcs.zip
I have some questions, if you could give me some help, I would be extremely grateful.
Can I only modify MCB4BDriver.cpp and comment on AcsRegister.cc、drvMCB4B.cc、devMCB4B.cc in Makefile?
What is the function of these files(AcsRegister.cc、drvMCB4B.cc、devMCB4B.cc)?
In My Motor Driver, I have modified the poll() function to query motor status periodically, but why some ascii commands can be sent, however some commands can't be send. It's strange enough.
In My motor driver, there are five ascii commands to query axis Status.
By set trace code, I can find only "GET_RUN"、"GET_POS"、"GET_NEG" can be sent, "GET_P" and “”GET_ZERO“ can't be sent.
Is some other place that i need to modify?
How and where can i initialize the axis?
Why did I set motor record's VAL or DVAL to zero, the motor doesn't move. But for any other VAL, the motor will move.
I want to get the position of axis from encoder when i set UEIP to "YES", what should i do?
My questions maybe simple, but it really confuses me. I hope to receive your help very much.
Looking forward to your help. Thanks very much!
The text was updated successfully, but these errors were encountered: