Hej again,
I was not aware that we have model 1 drivers using an asyn connection -
until today.
Sorry for the confusion from my side.
On 18/06/19 17:29, Davis, Mark wrote:
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
- References:
- Animatics SmartMotor setup Davis, Mark via Tech-talk
- Re: Animatics SmartMotor setup Torsten Bögershausen via Tech-talk
- Re: Animatics SmartMotor setup Davis, Mark via Tech-talk
- Navigate by Date:
- Prev:
Re: Animatics SmartMotor setup Peterson, Kevin M. via Tech-talk
- Next:
Re: Animatics SmartMotor setup Davis, Mark 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:
EPICS driver for Mesytec MCPD-8 zhi.qiu--- 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
|