EPICS Controls 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  2019  <20202021  2022  2023  2024  2025  2026  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  <20202021  2022  2023  2024  2025  2026 
<== Date ==> <== Thread ==>

Subject: Re: Seeking config advice for smarAct MCS controller
From: "Jemian, Pete R. via Tech-talk" <[email protected]>
To: "Reinhardt, Juliane" <[email protected]>, "Rivers, Mark L." <[email protected]>, 'Torsten Bögershausen' <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Tue, 20 Oct 2020 15:54:18 +0000
Thanks, all, for responding. So fast, too!

From: Juliane Reinhardt <[email protected]>
Sent: Tuesday, October 20, 2020 10:29:02 AM
To: Rivers, Mark L. <[email protected]>; 'Torsten Bögershausen' <[email protected]>; Jemian, Pete R. <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: Seeking config advice for smarAct MCS controller
 
Thanks Mark,

we have contacted smarAct regarding the firmware. We'll keep you posted,
if that resolves the issue.

On 10/20/20 05:15, Mark Rivers wrote:
>> This doesn't seem to be a good thing.
>> The axis number is the EPICS axis number - it must start with 1.
> That is not true.  EPICS axis numbers for model 3 drivers start with 0.
>
> The example IOC for the smartAct MCS demonstrates that:
>
> # Controller port, axis number, controller channel
> # smarActSCUCreateAxis(const char *motorPortName, int axisNumber, int channel)
> smarActSCUCreateAxis("SCU1", 0, 0);
> smarActSCUCreateAxis("SCU1", 1, 1);
> smarActSCUCreateAxis("SCU1", 2, 2);
> smarActSCUCreateAxis("SCU2", 0, 0);
> smarActSCUCreateAxis("SCU2", 1, 1);
> smarActSCUCreateAxis("SCU2", 2, 2);
>
> So does the Newport XPS example IOC:
>
> # XPS asyn port,  axis, groupName.positionerName, stepSize
> XPSConfigAxis("XPS1",0,"FINE.X",             100000) # VP-25XL
> XPSConfigAxis("XPS1",1,"FINE.Y",              50000) # VP-5ZA
> XPSConfigAxis("XPS1",2,"THETA.POSITIONER",     2000) # URS75CC
> XPSConfigAxis("XPS1",3,"COARSEX.POSITIONER",   2000) # ILS200CC
> XPSConfigAxis("XPS1",4,"COARSEY.POSITIONER",   2000) # ILS200CC
> XPSConfigAxis("XPS1",5,"COARSEZ.POSITIONER",   5000) # IMS300CC
>
> We believe we have found Juliane's problem.  This is the asynTrace output when the axis is being created.
>
> 2020/10/19 16:24:35.487 192.168.168.201:5000 flush
> 2020/10/19 16:24:35.487 192.168.168.201:5000 write.
> 2020/10/19 16:24:35.487 192.168.168.201:5000 write 7
> :GCLS0\n
>
> 3a 47 43 4c 53 30 0a
> 2020/10/19 16:24:35.487 wrote 7 to 192.168.168.201:5000, return asynSuccess.
> 2020/10/19 16:24:35.487 192.168.168.201:5000 read.
> 2020/10/19 16:24:35.488 192.168.168.201:5000 read 4
> \b\000\361\200
>
> So the driver is sending an ASCII string, ":GCLS0\n".  But it is receiving a binary response: "\b\000\361\200".
>
> Apparently there are 2 versions of the smarAct MCS firmware, one that does binary communication and one that does ASCII communication.  The EPICS driver only supports ASCII communication.  Juliane's controller apparently has the binary firmware version, so she needs to change the firmware on her MCS.
>
> Mark
>
>
>
> Mark
>
>
> -----Original Message-----
> From: Tech-talk <[email protected]> On Behalf Of Torsten Bögershausen via Tech-talk
> Sent: Tuesday, October 20, 2020 7:01 AM
> To: Jemian, Pete R. <[email protected]>; EPICS Tech Talk <[email protected]>; Reinhardt, Juliane <[email protected]>
> Subject: Re: Seeking config advice for smarAct MCS controller
>
> On 20/10/20 01:15, Jemian, Pete R. via Tech-talk wrote:
>> Here's a question from Juliane Reinhardt, ALS:
>>
>>    > anyone having some advice for connecting motors to a smarAct MCS
>> controller? What does the channel number mean? Our .iocsh file looks
>> like this
>>
>> ### Motors
>> # Motors substitutions, customize this for your motor dbLoadTemplate
>> "motor.substitutions.smaractmcs_201"# Configure each controller
>> #origvalues#
>> drvAsynIPPortConfigure("MCS_ETH","192.168.1.17:2102",0,0,0)
>> drvAsynIPPortConfigure("MCS_ETH","192.168.168.201:5000",0,0,0)#
>> Controller port, asyn port, number of axis, moving poll period, idle
>> poll period # smarActMCSCreateController(const char *motorPortName,
>> const char *ioPortName, int numAxes, double movingPollPeriod, double
>> idlePollPeriod); smarActMCSCreateController("MCS", "MCS_ETH", 1,
>> 0.020, 1.0)# Controller port, axis number, controller channel #
>> smarActMCSCreateAxis(const char *motorPortName, int axisNumber, int
>> channel)
>> smarActMCSCreateAxis("MCS", 0, 0);
>
> This doesn't seem to be a good thing.
> The axis number is the EPICS axis number - it must start with 1.
>
> The channel is the axis number inside the controller - I don't know if they start counting at 0 ?
>
> Not having such a controller, I would speculate and try smarActMCSCreateAxis("MCS", 1, 0);
>

--
Juliane Reinhardt, PhD
Project Scientist | ALS Computing Group
Blg. 15-337E | phone: 510-486-4313
[email protected]
Lawrence Berkeley National Lab


References:
Seeking config advice for smarAct MCS controller Jemian, Pete R. via Tech-talk
Re: Seeking config advice for smarAct MCS controller Torsten Bögershausen via Tech-talk
RE: Seeking config advice for smarAct MCS controller Mark Rivers via Tech-talk
Re: Seeking config advice for smarAct MCS controller Juliane Reinhardt via Tech-talk

Navigate by Date:
Prev: Re: Seeking config advice for smarAct MCS controller Juliane Reinhardt via Tech-talk
Next: Supported 'Scopes? Johnson, Andrew N. 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  <20202021  2022  2023  2024  2025  2026 
Navigate by Thread:
Prev: Re: Seeking config advice for smarAct MCS controller Juliane Reinhardt via Tech-talk
Next: Re: Seeking config advice for smarAct MCS controller Juliane Reinhardt 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  <20202021  2022  2023  2024  2025  2026 
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·