EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: SoftIOC and GPIB
From: "Szalata, Zenon M." <[email protected]>
To: "EPICS tech-talk" <[email protected]>
Date: Tue, 4 Sep 2007 13:47:44 -0700
I have successfully installed on a RHEL4 (2.6.9-55.0.2.EL) desktop: linux-gpib-3.2.09, asyn-4-3 (with LINUX_GPIB=YES), and Epics 3.14.9.  I have tested linux-gpib installation with ibtest example which came with linux-gpib.  I have a HP34401A multimeter connected to the GPIB bus and I can write and read to it with the ibtest program.  So far so good.

I started implementing the soft IOC to control this device by following "How to create EPICS device support for a simple serial or GPIB device" by Eric Norum.  I constructed a support module, very simple at this point, called hpmm.  Then I created the IOC application, also named hpmm.  Both these parts build without errors.  I do get errors when I run it.  This is the output:

-------------------------
zms@esaux1 $ ../../bin/linux-x86/hpmm st.cmd
#!../../bin/linux-x86/hpmm
## You may have to change hpmm to something else
## everywhere it appears in this file
< envPaths
epicsEnvSet(ARCH,"linux-x86")
epicsEnvSet(IOC,"iochpmm")
epicsEnvSet(TOP,"/afs/slac.stanford.edu/g/esa/esalib/app/epics/hpmm")
epicsEnvSet(HPMM,"/afs/slac/g/esa/esalib/app/epics/modules/hpmm")
epicsEnvSet(ASYN,"/afs/slac/g/esa/esalib/app/epics/support/asyn/4-3")
epicsEnvSet(EPICS_BASE,"/afs/slac/g/esa/esalib/app1/epics/R3.14.9/base")
cd /afs/slac.stanford.edu/g/esa/esalib/app/epics/hpmm
## Register all support components
dbLoadDatabase("dbd/hpmm.dbd",0,0)
hpmm_registerRecordDeviceDriver(pdbbase)
## Load record instances
cd /afs/slac/g/esa/esalib/app/epics/modules/hpmm
dbLoadRecords("db/devhpmm.db","P=HPMM:,R=,L=0,A=10")
GpibBoardDriverConfig( "L0",1,0,3,0)
cd /afs/slac.stanford.edu/g/esa/esalib/app/epics/hpmm/iocBoot/iochpmm
iocInit()
Starting iocInit
############################################################################
## EPICS R3.14.9 $R3-14-9$ $2007/02/05 16:31:45$
## EPICS Base built Sep  2 2007
############################################################################
Warning -- devhpmm has rspLen>0 but respond2Writes is not set.
2007/09/04 12:24:50.818 L0 addr -1 : EDVR 0: OS error.
2007/09/04 12:24:50.818  134568776 autoConnect could not connect
iocInit: All initialization complete
## Start any sequence programs
#seq sncxxx,"user=zmsHost"
epics> 2007/09/04 12:24:59.817 L0 addr -1 : EDVR 0: OS error.
2007/09/04 12:24:59.817  134568776 autoConnect could not connect

epics> exit
--------------------------

At this point I feel like I must be getting close to a success.  Obviously I am still missing something.  The application is not making a connection between "L0" and /dev/gpib0.  The file /etc/gpib.conf:

/*------------------------------------------------------------------------------
                 GPIB.CONF IEEE488 library config file
                             -------------------

   copyright            : (C) 2002 by Frank Mori Hess
                          (C) 1994 by C.Schroeter
   email                : [email protected]
 *------------------------------------------------------------------------------
 *   Syntax:
 *         interface { ... } starts new interface board section
 *         device {...} device configuration
 *----------------------------------------------------------------------------*/
/* This section configures the configurable driver characteristics
 * for an interface board, such as board address, and interrupt level.
 * minor = 0 configures /dev/gpib0, minor = 1 configures /dev/gpib1, etc.
 */

interface {
  minor = 0             /* board index, minor = n uses /dev/gpibn       */
  board_type = "ni_pci" /* type of interface board being used           */
  name = "violet"       /* optional name, used by ibfind()              */
  pad = 0               /* primary address of interface                 */
  sad = 0               /* secondary address of interface               */
  timeout = T3s         /* timeout for commands                         */
  eos = 0x0a            /* EOS Byte, 0xa is newline and 0xd is <CR>     */
  set-reos = yes        /* Terminate read if EOS                        */
  set-bin = no          /* Compare EOS 8-bit                            */
  set-xeos = no         /* Assert EOI whenever EOS byte is sent         */
  set-eot = yes         /* Assert EOI with last byte on writes          */
                        /* settings for boards with no p-n-p capability */
  base = 0              /* Base io ADDRESS                              */
  irq  = 0              /* Interrupt request level                      */
  dma  = 0              /* DMA channel (zero disables)                  */
                        /* pci_bus and pci_slot can be used to distinguish
                         *  two pci boards supported by the same driver */
/*  pci_bus = 0 */
/*  pci_slot = 7 */
  master = yes          /* interface board is system controller         */
}

/* Now the device sections define the device characteristics for each device.
 * These are only used if you want to open the device using ibfind() (instead
 * of ibdev() )
 */

device {
  minor = 0             /* interface board number       */
  name = "voltmeter"    /* device mnemonic              */
  pad = 7               /* The Primary Address          */
  sad = 0               /* Secondary Address            */
  eos = 0xa             /* EOS Byte                     */
  set-reos = no         /* Terminate read if EOS        */
  set-bin = no          /* Compare EOS 8-bit            */
}

Any help or suggestions will be most welcome.

Zen


Replies:
Re: SoftIOC and GPIB Gasper Jansa

Navigate by Date:
Prev: Support for Agilent Series N5700 DC Power Supplies Steve Lewis
Next: RE: Current State of Wago support ? Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Support for Agilent Series N5700 DC Power Supplies Steve Lewis
Next: Re: SoftIOC and GPIB Gasper Jansa
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·