Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20192020  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  <20192020 
<== Date ==> <== Thread ==>

Subject: Re: Animatics SmartMotor setup
From: Torsten Bögershausen via Tech-talk <tech-talk@aps.anl.gov>
To: Mark Davis <davism50@msu.edu>, "Davis, Mark" <mark_a_davis@comcast.net>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Tue, 18 Jun 2019 13:44:37 +0200
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 Davis, Mark via Tech-talk
References:
Animatics SmartMotor setup Davis, Mark via Tech-talk

Navigate by Date:
Prev: Animatics SmartMotor setup Davis, Mark via Tech-talk
Next: Re: PVA Client in python Siniša Veseli 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  <20192020 
Navigate by Thread:
Prev: Animatics SmartMotor setup Davis, Mark via Tech-talk
Next: FW: 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  <20192020 
ANJ, 18 Jun 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·