(Re-adding tech-talk)
Hej Mark & Mark,
that doesn't seem to be good news -
The model 1 driver will not work with a Moxa at all.
Unless I am wrong, we need a model 3 driver (to be written),
when a controller connected through a Moxa is used.
/Torsten
On 18/06/19 16:04, Mark Rivers wrote:
Hi Mark,
What Torsten says is true for Model 2 and Model 3 motor drivers. However the SmartMotorSrc driver is an old Model 1 driver, so the driver is not derived from asynPortDriver and it only has the single asyn port to the underlying drvAsynIPPort.
The OUT field syntax for Model 1 drivers is:
field(OUT,"#C$(C) S$(S) @")
where $(C) is the card number, and $(S) is the signal number. So for the first axis on the first controller it would be
field(OUT, "#C0 S0 @")
Mark
-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Torsten Bögershausen via Tech-talk
Sent: Tuesday, June 18, 2019 6:45 AM
To: Mark Davis <[email protected]>; Davis, Mark <[email protected]>; [email protected]
Subject: Re: Animatics SmartMotor setup
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 Mark Rivers via Tech-talk
- Re: Animatics SmartMotor setup Davis, Mark 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:
FW: Animatics SmartMotor setup Mark Rivers via Tech-talk
- Next:
RE: Animatics SmartMotor setup Mark Rivers 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:
FW: Animatics SmartMotor setup Mark Rivers via Tech-talk
- Next:
RE: Animatics SmartMotor setup Mark Rivers 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
|