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 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
<== Date ==> <== Thread ==>

Subject: EDM X-Y Graph lot widget oddities
From: Eric Norum <wenorum@lbl.gov>
To: EPICS mailing list <tech-talk@aps.anl.gov>, "Sinclair, John William" <sinclairjw@ornl.gov>
Date: Mon, 5 Jun 2017 12:49:39 -0700
The EDM X-Y Graph widget (1-12-103, but these issues seem to be present in lots of versions) exhibits some unexpected (by me, anyway) behaviour.

Here’s the record holding the data:
record(waveform, "$(P)$(R)AWG3:pattern") {
    field(DESC, "AWG 3 pattern")
    field(DTYP, "asynInt16ArrayOut")
    field(INP,  "@asyn($(PORT) 3 0)")
    field(FTVL, "SHORT")
    field(NELM, "1400")
}

And here’s the widget configuration.  I’ve tried all sorts of combinations of settings (scope/plot, plot-n-and-stop/plot-last-n specify the record as the trigger records, etc.) but the problems appear the same.
# (X-Y Graph)
object xyGraphClass
beginObjectProperties
major 4
minor 8
release 0
# Geometry
x 2
y 26
w 745
h 365
# Appearance
border
plotAreaBorder
autoScaleBothDirections
graphTitle "DAC $(CHAN) AWG Pattern"
xLabel "Sample (ms)"
yLabel "DAC"
fgColor index 14
bgColor index 3
gridColor index 14
font "helvetica-medium-r-14.0"
# Operating Modes
nPts 2
# X axis properties
showXAxis
xAxisSrc "AutoScale"
xMin 0
xMax 1
xShowLabelGrid
# Y axis properties
showYAxis
yAxisSrc "AutoScale"
yMax 1
yShowLabelGrid
# Y2 axis properties
y2AxisSrc "AutoScale"
y2Max 1
# Trace Properties
numTraces 1
yPv {
  0 "$(P)$(R)AWG$(CHAN):pattern"
}
nPv {
  0 "$(P)$(R)AWG$(CHAN):pattern.NORD"
}
lineThickness {
  0 2
}
plotUpdateMode {
  0 "xOrY"
}
opMode {
  0 "plot"
}
ySigned {
  0 1
}
plotColor {
  0 index 20
}



Issue 1 — Autoscaling
An example plot with NORD=1000 looks as shown below.  I find it odd that the autoscaling has decided to start the X-axis at -200 rather than 0 and to end it at 1200 rather than 1000.  And why make the Y axis extend below 0?





Issue 2 — Plotting stale data
A client has written 100 points to the waveform record.  The EDM screen shows:

The client then writes 1000 points to the waveform record — the same shape, but 10 times as many points.  The EDM screen shows:


????
The widget has correctly determined the correct number of points, but appears to have taken Y values from the record before the client has filled the last 900 or so points.

Closing the EDM window and reopening it shows the correct result:



-- 
Eric Norum
wenorum@lbl.gov


Navigate by Date:
Prev: Re: EPICS Base-3.16.1 Released Johnson, Andrew N.
Next: Re: asyn timeout Paduan Donadio, Marcio
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
Navigate by Thread:
Prev: Re: stream enum Dirk Zimoch
Next: epicsQt release 3.4.3 - at GitHub Andrew C. Starritt
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
ANJ, 08 Jun 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·