Hi Chanaka,
It turns out the compile problem was due to a change in the Event record
from EPICS base 3.14 to 3.15 (the .VAL field changed from epicsUInt16 to
char[40].
I have a new fix proposed in
https://github.com/waynelewis/pmac/tree/ppmac-ramfix2
I'll be submitting a pull request soon to get that into the main PMAC
repo.
Wayne
On Fri, Jan 04, 2019 at 04:59:40PM -0500, Chanaka wrote:
> Wayne, Thank you for sharing the information.
>
> Chanaka
>
> On Fri, Jan 4, 2019 at 4:42 PM Wayne Lewis <[email protected]> wrote:
>
> > Thanks for the update on the repository status Alan.
> >
> > Chanaka, I've been able to run an IOC for a PowerPMAC using the DLS
> > code. I found one compile problem (CentOS7, gcc 4.8.5) and have proposed
> > a fix in https://github.com/waynelewis/pmac/tree/ppmac-ramfix
> >
> > I'm not able to test that the fix works, but it does compile, and the
> > rest of the code works fine with the PowerPMAC across the asyn port
> > interface to gpascii.
> >
> > Wayne
> >
> > On Fri, Jan 04, 2019 at 04:27:14PM -0500, Chanaka wrote:
> > > Thank you, Guys. I will work on migrating to DLS version.
> > >
> > > Last night I ran test scans with 1 second period. The scans did not hang
> > > up. Will continue with a couple more test runs.
> > >
> > > Regards,
> > > Chanaka
> > >
> > > On Fri, Jan 4, 2019 at 7:45 AM [email protected] <
> > > [email protected]> wrote:
> > >
> > > > Hi all,
> > > >
> > > >
> > > > I agree with Giles completely. The OS module is now out of date and
> > lacks
> > > > many features available from the new pmac module. The old OS module
> > is for
> > > > powerPMAC only. The new module works with powerPMAC and geobrick, the
> > > > communications layer has been re-written, dynamic parameters are
> > supported,
> > > > trajectory scanning is supported etc.
> > > >
> > > >
> > > > I have added a message to the README of the original OSL powerPMAC
> > module
> > > > to forward people to the Diamond version.
> > > >
> > > >
> > > > The direct answer to your question Giles is no, the dynamic parameter
> > > > feature is not implemented in the OS driver.
> > > >
> > > >
> > > > Thanks, Alan
> > > >
> > > >
> > > > ________________________________
> > > > From: Knap, Giles (DLSLtd,RAL,LSCI)
> > > > Sent: 03 January 2019 09:46:54
> > > > To: Wayne Lewis
> > > > Cc: Chanaka; [email protected]; Greer, Alan (OBS,RAL,DIA)
> > > > Subject: Re: asynError in write on Power PMAC IOC
> > > >
> > > >
> > > > Hi Wayne,
> > > >
> > > >
> > > > The DLS support module can be used without any DLS specific
> > dependencies
> > > > and is the currently maintained module. The power pmac support in
> > > > https://github.com/dls-controls/pmac is based on
> > > > https://github.com/Observatory-Sciences/powerPMAC and the latter is
> > being
> > > > deprecated.
> > > >
> > > >
> > > > I'm not sure if the dynamic parameter feature I discussed is
> > implemented
> > > > in the OS driver. (Alan?)
> > > >
> > > >
> > > > Regards,
> > > >
> > > > giles.
> > > >
> > > > ________________________________
> > > > From: Wayne Lewis <[email protected]>
> > > > Sent: 02 January 2019 16:41:15
> > > > To: Knap, Giles (DLSLtd,RAL,LSCI)
> > > > Cc: Chanaka; [email protected]; Greer, Alan (OBS,RAL,DIA)
> > > > Subject: Re: asynError in write on Power PMAC IOC
> > > >
> > > > Hi Giles, Chanaka,
> > > >
> > > > I've also seen a similar error on the IOC console when using a
> > > > StreamDevice connection to the PowerPMAC.
> > > >
> > > > I notice that there are (at least) two versions of PowerPMAC EPICS
> > > > support available:
> > > >
> > > > https://github.com/dls-controls/pmac
> > > >
> > > > https://github.com/Observatory-Sciences/powerPMAC
> > > >
> > > > A couple of questions:
> > > >
> > > > - is the DLS version dependent on anything other than standard EPICS
> > > > base and modules?
> > > >
> > > > - is the Observatory Sciences version still maintained and used?
> > > >
> > > > Thanks,
> > > > Wayne
> > > >
> > > >
> > > > On Wed, Jan 02, 2019 at 10:08:14AM +0000, giles.knap--- via Tech-talk
> > > > wrote:
> > > > > Hi Chanaka,
> > > > >
> > > > >
> > > > > It appears that you are sharing the connection port with a stream
> > device
> > > > (in order to determine if PLC 15 is running)? I would not recommend
> > this.
> > > > Instead you can add a dynamic parameter to one of the poll loops so
> > that
> > > > the driver will monitor it for you and efficiently manage
> > communications
> > > > with the power pmac.
> > > > >
> > > > > In this case you could use
> > > > > record(longin, "$(P){$(DEV)}TrajInitPlc-Read")
> > > > > {
> > > > > field(DTYP, "asynInt32")
> > > > > field(INP, "@asyn(PMAC_CONTROLLER,0)PMAC_VIM_Plc[15].Running")
> > > > > field(SCAN, "I/O Intr")
> > > > > }
> > > > >
> > > > > This will update on the medium scan loop every 2 seconds. The slow
> > loop
> > > > is 5 seconds and the fast loop has two rates, idle and moving, which
> > are
> > > > specified as parameters to pmacController constructor.
> > > > >
> > > > > You should replace all of you protocol functions with a similar
> > pattern.
> > > > >
> > > > > I do not think the documentation covers dynamic parameters as yet,
> > but
> > > > the comments under pmacController::drvUserCreate give the following
> > details:
> > > > >
> > > > > // Accepted parameter formats
> > > > > //
> > > > > // For reading variables
> > > > > // PMAC_VxF_... => PMAC Variable Fast Loop
> > > > > // PMAC_VxM_... => PMAC Variable Medium Loop
> > > > > // PMAC_VxS_... => PMAC Variable Slow Loop
> > > > > //
> > > > > // x is I for int, H for hex, D for double or S for string
> > > > > //
> > > > > // There must be no j or = in a variable, these items will simply be
> > > > polled for their current status
> > > > > //
> > > > > // For Writing only
> > > > > // PMAC_WI_... => Write Integer Value
> > > > > // PMAC_WD_... => Write Double Value
> > > > > // PMAC_WS_... => Write String Value
> > > > > //
> > > > > // Writing to these parameters will result in immediate writes to the
> > > > PMAC
> > > > >
> > > > > ( One of the main goals of the pmac driver is to efficiently manage
> > > > communications with the hardware. We have a message broker that
> > batches up
> > > > all requests to poll for values into the 3 poll loops, the responses
> > are
> > > > distributed to any objects that have registered interest. There is
> > only one
> > > > instance of the message broker and it is the only object that
> > communicates
> > > > with the hardware. Thus requests through drvAsynPowerPMACPort are on a
> > > > single thread. If you share the drvAsynPowerPMACPort with a stream
> > device
> > > > then it will be being called on more than one thread. It should be
> > using
> > > > locking and should work but has not been tested in this fashion. )
> > > > >
> > > > > Regards,
> > > > > giles.
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: [email protected] <[email protected]>
> > on
> > > > behalf of Chanaka via Tech-talk <[email protected]>
> > > > > Sent: 31 December 2018 16:03:40
> > > > > To: [email protected]
> > > > > Subject: asynError in write on Power PMAC IOC
> > > > >
> > > > > Dear All,
> > > > >
> > > > > I am running into a hanging issue while performing scans using higher
> > > > level software due to a WRITE INVALID caused by lower-level EPICS PVs.
> > The
> > > > occurrence is intermittent. From what I can find on line this *could*
> > be
> > > > due to how SCAN filed is setup in this database for the relevant PVs.
> > I am
> > > > not entirely sure if that could be the case. Any help would be
> > appreciated.
> > > > >
> > > > > --The specific error I see in the IOC shell is the following. This is
> > > > for one of the PVs.
> > > > >
> > > > > 2018/12/28 17:46:07.974527 SSH1 XF:07BMA-OP{MC:03}TrajInitPlc-Read:
> > > > asynError in write: 10.7.130.93 write error
> > > > >
> > > > > --And camonitor returned the following.
> > > > >
> > > > > XF:07BMA-OP{MC:03}TrajInitPlc-Read 2018-12-28 17:46:07.974595 0 WRITE
> > > > INVALID
> > > > >
> > > > > --The PV is defined as follows.
> > > > >
> > > > > record(ai, "$(P){$(DEV)}TrajInitPlc-Read")
> > > > > {
> > > > > field(DTYP, "stream")
> > > > > field(INP, "@ppmac_stream.proto getVarInt(Plc[15].Running)
> > > > $(SSH)")
> > > > > field(SCAN, "0.5 second")
> > > > > }
> > > > >
> > > > > -- getVarInt is defined as follows
> > > > >
> > > > > getVarInt{
> > > > > out "\$1";
> > > > > in "\n\$1=%d";
> > > > > }
> > > > >
> > > > > -- Port configuration is as follows
> > > > >
> > > > > drvAsynPowerPMACPortConfigure("SSH1", "10.7.130.93", "root",
> > "deltatau",
> > > > "0", "0", "0")
> > > > >
> > > > > Thank you,
> > > > >
> > > > > Chanaka De Silva
> > > > > NSLSII
> > > > >
> > > > > --
> > > > > This e-mail and any attachments may contain confidential, copyright
> > and
> > > > or privileged material, and are for the use of the intended addressee
> > only.
> > > > If you are not the intended addressee or an authorised recipient of the
> > > > addressee please notify us of receipt by returning the e-mail and do
> > not
> > > > use, copy, retain, distribute or disclose the information in or
> > attached to
> > > > the e-mail.
> > > > > Any opinions expressed within this e-mail are those of the individual
> > > > and not necessarily of Diamond Light Source Ltd.
> > > > > Diamond Light Source Ltd. cannot guarantee that this e-mail or any
> > > > attachments are free from viruses and we cannot accept liability for
> > any
> > > > damage which you may sustain as a result of software viruses which may
> > be
> > > > transmitted in or with the message.
> > > > > Diamond Light Source Limited (company no. 4375679). Registered in
> > > > England and Wales with its registered office at Diamond House, Harwell
> > > > Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United
> > Kingdom
> > > > >
> > > >
> > > > --
> > > > Wayne Lewis
> > > > e: [email protected]
> > > > w: http://ospreydcs.com
> > > > p: +1 631 905 1964
> > > >
> >
> > --
> > Wayne Lewis
> > e: [email protected]
> > w: http://ospreydcs.com
> > p: +1 631 905 1964
> >
--
Wayne Lewis
e: [email protected]
w: http://ospreydcs.com
p: +1 631 905 1964
- Replies:
- Re: asynError in write on Power PMAC IOC Chanaka via Tech-talk
- References:
- Re: asynError in write on Power PMAC IOC giles.knap--- via Tech-talk
- Re: asynError in write on Power PMAC IOC Wayne Lewis via Tech-talk
- Re: asynError in write on Power PMAC IOC giles.knap--- via Tech-talk
- Re: asynError in write on Power PMAC IOC alan.greer--- via Tech-talk
- Re: asynError in write on Power PMAC IOC Chanaka via Tech-talk
- Re: asynError in write on Power PMAC IOC Wayne Lewis via Tech-talk
- Re: asynError in write on Power PMAC IOC Chanaka via Tech-talk
- Navigate by Date:
- Prev:
RE: asynDriver - UDP server Joao Afonso via Tech-talk
- Next:
Re: asynError in write on Power PMAC IOC Chanaka 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: asynError in write on Power PMAC IOC Chanaka via Tech-talk
- Next:
Re: asynError in write on Power PMAC IOC Chanaka 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
|