Hi Torsten,
Actually, that is all rather confusing. I think maybe you are thinking
of a very different motor and controller.
Let me back up a little and give some more specifics that might help
clarify things:
Here is what we are using:
* An Animatics SmartMotor model SM3416D-PLS (a combination
motor+controller). The interface to the controller is a serial RS-232
connection.
* A single port Moxa Serial/Ethernet convertor connected to the
serial port on the motor/controller.
* Version 6.9 of the motor module
* The driver in the SmartMotorSrc subdirectory of the motor module
Although the driver in the SmartMotorSrc directory uses an asyn port to
communicate with the controller, it appears to be a Model I driver (it
uses the motor_dset interface) so I don't believe there is any need for
a 2nd asyn port.
The only mention I can find for the EthercatMCCreateXxx functions is a
TechTalk message about a NewFocus 874x Picomotor Controller Driver.
As near as I can tell so far my example is correct. I just don't know
what the driver is expecting for the contents of the OUT field in the
motor record.
Mark
On 6/18/2019 7:44 AM, Torsten Bögershausen wrote:
Hej Mark,
you need 2 asyn ports, one for the motorRecord to
talk to your "Animatics SmartMotor" asynMotorDriver.
The second one to let the "Animatics SmartMotor" asynMotorDriver
talk to the real hardware.
We call them "MCU1" and "MC_CPU1", better suggestions are welcome.
A simplified setup is here:
## The db file:
record(motor,"$(PREFIX)$(MOTOR_NAME)")
{
field(DESC,"$(DESC)")
field(DTYP,"asynMotor")
field(OUT,"@asyn($(MOTOR_PORT),$(AXIS_NO))")
}
##st.cmd
epicsEnvSet("ASYN_PORT", "MC_CPU1")
epicsEnvSet("MOTOR_NAME", "IOC:m1")
epicsEnvSet("MOTOR_PORT", "MCU1")
epicsEnvSet("AXIS_NO", "1")
drvAsynIPPortConfigure("$(ASYN_PORT)","$(IPADDR):$(IPPORT)",0,0,0)
EthercatMCCreateController("$(MOTOR_PORT)", "$(ASYN_PORT)",
"$(NUMAXES)", "200", "1000")
EthercatMCCreateAxis("$(MOTOR_PORT)", "$(AXIS_NO)",)
I hope that hopes a little bit.
/Torsten
On 18/06/19 13:11, Davis, Mark via Tech-talk wrote:
Can anyone provide an example of how to setup and use an Animatics
SmartMotor?
From what I could figure out looking at the code, I expect it is
something along these lines:
# For a connection via a Moxa Ethernet-to-serial adapter:
drvAsynIPPortConfigure("TapeStation", "192.168.137.99:4001")
# SmartMotorSetup(maxCtlrCount, pollRate)
SmartMotorSetup(1, 5)
# SmartMotorConfig(cardNum, "asynPortName")
SmartMotorConfig(0, "TapeStation")
And then the motor record would look something like this:
record(motor, "MyMotor")
{
field(DTYP, "SmartMotor")
field(OUT, "@0 TapeStation ????")
...
}
Is that even close? The one I am most unsure of is what to use for
the OUT value in the motor record.
Mark Davis
NSCL/FRIB
- Replies:
- Re: Animatics SmartMotor setup Peterson, Kevin M. via Tech-talk
- Re: Animatics SmartMotor setup Torsten Bögershausen via Tech-talk
- References:
- Animatics SmartMotor setup Davis, Mark via Tech-talk
- Re: Animatics SmartMotor setup Torsten Bögershausen via Tech-talk
- Navigate by Date:
- Prev:
RE: StreamDevice: termination in binary communication Mark Rivers via Tech-talk
- Next:
Re: Animatics SmartMotor setup Peterson, Kevin M. via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Animatics SmartMotor setup Davis, Mark via Tech-talk
- Next:
Re: Animatics SmartMotor setup Peterson, Kevin M. via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|