EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  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  Index 1994  1995  1996  1997  <19981999  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 
<== Date ==> <== Thread ==>

Subject: help ? SNL hangs, EDD/DM 'byte' widget bugs
From: Matthieu Bec <[email protected]>
To: [email protected]
Date: Wed, 01 Apr 1998 13:57:54 +0100
Bonjour,

I'm starting using EPICS and I've written a simple SNL code to get 
a 32 DOUT board (XVME220) flashing in sequence its different channels
(great stuff!)

I understand using a periodic scan might be more appropriate,
but I'm still a bit puzzled with what might go wrong here:
basically the whole IOC - after a seemingly random number of loop,
hangs and there's no other way but a nice clean reboot.
Before that all seems to work fine.
Your input would be greatly appreciated.

I use two (16 states) mbbo PV for my 32 outputs
both mbbo connect to the same hardware OUT
one mbbo sends values 0x1 0x2 0x4 ... 0x8000
the other 0x10000 .. 0x80000000

NB: I monitor these channels with the edd/dm 'byte' widget.
one for the 16 lower first states (works fine),
another for the 16 higher one (mask on bit 16 to 31)
-> the widget always shows bit 31 True (0x10000 looks like 0x8001____)
-> the widget shows 0x80000000 as 0xffff____

I attach the SNL source.

regards,
matthieu

-- 
Matthieu Bec              Isaac Newton Group
phone: +34 22 425427      Apartado de Correos 321
fax  : +34 22 425401      38780 Santa Cruz de La Palma
email: [email protected]    Canary Islands, Spain

=============================================================

program hangtest

        /*
         * I use two (16 states) mbbo PV for my 32 outputs
         */
        long hiout;
        long lowout;
        
        /*
         * the currently selected output channel
         */
         
        short rampId=0;

        assign hiout  to "small:hi_out";
        assign lowout to "small:low_out";

        ss flashramp {
                
                state RUN {
                        when (delay(0.1)) {
                                /*
                                 * flash ramp: selects dout channel 0 ->
31 sequentially
                                 */
                                rampId = (rampId+1) % 32;
                                if (rampId<16) {
                                        lowout=rampId;
                                        pvPut(lowout);
                                        }
                                else {
                                        hiout=rampId-16;
                                        pvPut(hiout);
                                        }
                               } state RUN
                        }
                
                }


-- 
Matthieu Bec              Isaac Newton Group
phone: +34 22 425427      Apartado de Correos 321
fax  : +34 22 425401      38780 Santa Cruz de La Palma
email: [email protected]    Canary Islands, Spain

Navigate by Date:
Prev: Re: CA Server Steven M Beard
Next: RE: CA Server john sinclair
Index: 1994  1995  1996  1997  <19981999  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: EPICS and WindRiver's Tornado Nick Rees
Next: Re: help ? SNL hangs, EDD/DM 'byte' widget bugs Ned Arnold
Index: 1994  1995  1996  1997  <19981999  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·