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  <20192020  2021  2022  2023  2024  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  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Pmac Slits
From: "giles.knap--- via Tech-talk" <[email protected]>
To: George Nicolas Kontogiorgos <[email protected]>, "Davis, Mark" <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 7 May 2019 07:25:36 +0000
Hi George,


What you are looking for is the pmacMessageBroker class. There is a single instance of this class that does all the communications with the brick on 3 poll loops of varying rates. It stores all the responses in a hash table and then makes callbacks to all of the objects that have registered an interest.


The pmacController(s) and pmacCSControllers use 'addReadVariable' to request that the message broker monitors a pmac variable on one of its poll loops. They also use 'registerForUpdates' to request that it calls their callback functions after each poll.


Regards,

giles.

________________________________
From: George Nicolas Kontogiorgos <[email protected]>
Sent: 06 May 2019 12:45:19
To: Davis, Mark; Knap, Giles (DLSLtd,RAL,LSCI); [email protected]
Subject: RE: Pmac Slits

Hi Davis,

Nice work on slits!

Your moving status is working because on your fork version of pmac repository the status parser doesn't pass through any if condition (https://github.com/jgnrendra3/pmac/blob/dls-master/pmacApp/src/pmacCSController.cpp line 404).

Take a look on most recent version, same file on same line, there is an if condition that, on my case, never pass and never refresh DMOV. So my fix suggestion is exactly here.

Giles,

Thanks for replying and for consider my suggestion on pull request. Feel free to make any comments to improve the module development.

Unfortunately I don't have one turbo pmac to help you to discover why this bug have never affected it...

By the way, now I would like to discover who is calling callback function and where type value is set to 2 in order to better understanding the code. I would like to use gdb to do that.

Regards
George

-----Mensagem original-----
De: Davis, Mark <[email protected]>
Enviada em: sexta-feira, 3 de maio de 2019 14:10
Para: George Nicolas Kontogiorgos <[email protected]>; [email protected]; [email protected]
Assunto: Re: RES: Pmac Slits

Hi Giles and George,

Based on everyone's helpful input, I was able to get a really basic coordination motion config working yesterday, which consists of:

On the IOC:
    - 2 motor records for the actual drivers
    - 2 motor records for the CS axes (center and gap for a slit) ON the Power Brick:
    - A CS definition providing the mapping between the CS axes and the motors
    - A motion program to process new settings for the center and gap axes
    - A PLC program to update the readbacks for the center and gap axes

There are still a number of details I need to work on (like how to keep the motor amplifiers disabled most the time but still enable them just before the IOC sends the command to execute the motion program), but so far the moving status values in all the motor records are doing what they should.

Mark



Mark Davis NSCL/FRIB Control Systems Software Engineer [email protected] On 5/2/2019 2:05 PM, George Nicolas Kontogiorgos wrote:
> Hi Giles,
>
> I could solve the problem od DMOV not returning to stopped status by changing the condition on callback function on pmacCSController.cpp. There is a if that compare type with pmacMessageBroker::PMAC_PRE_FAST_READ (the values are 2 and 3 respectively) and the result is false. It results that the code inside this if (which get the coordinate system status) is never executed. As consequence, EPICS can not get CS status and DMOV never come back to stopped state.
>
> To solve the problem I supposed that we are talking about a fast read, not pre fast read (the difference is that they have the same rate but variables on pre are read  first, according to comments on pmacMessageBroker.cpp) since the variable type has value 2.
>
> After this modification DMOV work fine, since status is being refreshed.
>
> I did a pull request on dls repo in order to fix this issue. Feel free to suggest better modifications.
>
> Hi Mark,
>
> After all this studies I figured out that DMOV or MOVN doesn't need to be mapped manually, this is made by program itself (the system polls the status).
>
> I could solve the problem of slits at all by Wayne method.
>
> Regards
> George
>
> -----Mensagem original-----
> De: [email protected] <[email protected]> Enviada em:
> terça-feira, 30 de abril de 2019 04:07
> Para: George Nicolas Kontogiorgos <[email protected]>;
> Davis, Mark <[email protected]>
> Assunto: Re: Pmac Slits
>
> I'm seeing this exact issue on my power clipper. It has started happening since I factory reset the configuration.
>
>
> I have yet to work out which setting(s) are responsible but intend to spend time on this next week.
>
> ________________________________
> From: [email protected] <[email protected]> on
> behalf of Davis, Mark via Tech-talk <[email protected]>
> Sent: 29 April 2019 18:31:52
> To: George Nicolas Kontogiorgos; [email protected]
> Subject: Re: Pmac Slits
>
> Hi George,
>
> I haven't yet had a chance to try a configuration like one Wayne described (and Giles helped me understand).  Hopefully I will have time this week to give it a try.
>
> The behavior you describe for the DMOV and MOVN does sound like an issue that needs to be addressed.
>
> Are you also using a Delta Tau Power Brick (or some other Power PMAC model) controller as I am?
>
> Regarding your Tech-Talk subscription:  I would expect that once you are subscribed, you should be able to include the Tech-Talk list email in your To or Reply-To list (we will see momentarily, as I included it in the To list for this email).
>
> Mark
>
>
> Mark Davis NSCL/FRIB Control Systems Software Engineer
> [email protected]<mailto:[email protected]>
> On 4/29/2019 7:30 AM, George Nicolas Kontogiorgos wrote:
> Hello Davis!
>
> I am George and I and @Luciano Carneiro Guedes<mailto:[email protected]> are working with coordinated motion on a 2 motor slit controlled by PowerPMAC and integrated with EPICS (The same setup as you).
>
> I saw your message on EPICS techtalk<https://urldefense.proofpoint.com/v2/url?u=https-3A__epics.anl.gov_tech-2Dtalk_2019_msg00684.php&d=DwMFAg&c=nE__W8dFE-shTxStwXtp0A&r=D7ZiziuMQuq40HlGYOZPBg&m=k7CLCJno5gjAruO8gtDsAKM9ugfmt3N1wib_vy4Mcn8&s=TuASR5lFnez6KMJ0vYQrq8TzXXQvv2A_q-ps57L7SFg&e=> and I would like to know you if your setup is running well.
>
> Here we achieved  the point that we can drive a virtual motor using motor record as Wayne Lewis sad. The problem is that the DMOV (or MOVN) is not set to 1 (not moving) when all motors reach the setpoint specified by the kinematics.
>
> I could not reply the message on techtalk because I subscribed on it
> after you send those messages (and I don't know if it is possible to
> reply now.)
>
> Best regards
> George Nicolas Kontogiorgos
> Electrical Engineer
> Beamline Software Group (SOL)
> Brazilian Synchrotron Light Laboratory (LNLS)
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.lnls.cnpem.br&;
> d=DwIFAw&c=nE__W8dFE-shTxStwXtp0A&r=D7ZiziuMQuq40HlGYOZPBg&m=rb2n3stwb
> YGCr-pSN_O8nBkdlvlL27qtR_1mA50Tie4&s=2ehNKztIJwNVKcs5qwU1cWwh-hYXxG5_P
> GOKQA2axyo&e=<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.
> lnls.cnpem.br_&d=DwMFAg&c=nE__W8dFE-shTxStwXtp0A&r=D7ZiziuMQuq40HlGYOZ
> PBg&m=k7CLCJno5gjAruO8gtDsAKM9ugfmt3N1wib_vy4Mcn8&s=bn2OpbndTqv8qG1bvT
> HojoFLoD_4u5TpWmPDvtkn--s&e=>
>
>
> Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente.
>
> Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately.
>
>
> --
> 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
>
>


-- 
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


References:
RE: Pmac Slits George Nicolas Kontogiorgos via Tech-talk

Navigate by Date:
Prev: Re: RES: Pmac Slits giles.knap--- via Tech-talk
Next: Re: Fwd: Re: EDM on stretch Ralph Lange 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  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Pmac Slits George Nicolas Kontogiorgos via Tech-talk
Next: EDM on stretch Anton Derbenev 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  2021  2022  2023  2024 
ANJ, 07 May 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·