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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: motor record & PC6K: program upload fails
From: Mark Rivers <[email protected]>
To: "'Konrad, Martin'" <[email protected]>, "[email protected]" <[email protected]>
Date: Thu, 18 Jul 2013 16:49:44 +0000
Hi Martin,

I looked at the source code (drvPC6K.cc) and I see the problem.

The problem is that total_cards gets initialized in the motor_init() function, which is called from the initialization routine in device support.  That does not happen until iocInit.

So your PC6KUpLoad command must not be given before iocInit, it must be after iocInit.

Mark


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Konrad, Martin
Sent: Thursday, July 18, 2013 10:14 AM
To: [email protected]
Subject: motor record & PC6K: program upload fails

Hi,
I'm trying to use two Parker Gemini GT6K controllers with the motor
record. Basic communication to the controller seems to work (I can move
the motor by caput) but there seems to be some problem if I try to
upload a program during IOC start. Here is the relevant output during
IOC boot:

...
drvAsynIPPortConfigure("GT6Krad", "192.168.238.4:5002", 0, 0, 0)
asynOctetConnect("GT6Krad", "GT6Krad")
asynOctetSetInputEos("GT6Krad", 0, ">")
asynOctetSetOutputEos("GT6Krad", 0, "\r")
drvAsynIPPortConfigure("GT6Kang", "192.168.238.5:5002", 0, 0, 0)
asynOctetConnect("GT6Kang", "GT6Kang")
asynOctetSetInputEos("GT6Kang", 0, ">")
asynOctetSetOutputEos("GT6Kang", 0, "\r")
PC6KSetup(2, 60)
PC6KConfig(0, "GT6Krad")
PC6KConfig(1, "GT6Kang")
PC6KUpLoad(0,"minimalControllerInit.prg")
{PC6KUpLoad: Controller does not exist - 0
PC6KUpLoad(1,"minimalControllerInit.prg")
{PC6KUpLoad: Controller does not exist - 1

The curly brace at the beginning of the last line is caused by a typo in
the source code. Obviously the variable total_cards is 0. It should be
initialized by motor_init(). Is this function called automatically or is
something missing in my st.cmd?

I'm using motor 6.7.1, asyn 4.21 and base 3.14.12.3 (all from BNL's
Debian packages) on Ubuntu 13.04. I also tried motor 6.8 but same
problem there as well (there seems to be no change in the PC6K code
between those two revisions).

Any help is appreciated

Martin



References:
motor record & PC6K: program upload fails Konrad, Martin

Navigate by Date:
Prev: RE: Canberra AIM MCA 556B Mark Rivers
Next: Re: motor record & PC6K: program upload fails Konrad, Martin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: motor record & PC6K: program upload fails Konrad, Martin
Next: Re: motor record & PC6K: program upload fails Konrad, Martin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·