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  <20162017  2018  2019  2020  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: ERROR -111 in Keithley6485
From: Paramveer Jain <[email protected]>
To: [email protected]
Date: Thu, 17 Nov 2016 15:06:07 +0530

hello sir I am designing IOC for KEITHLEY 6485 with RS232/USB interface my cable is UC232-A
witn 
EPICS_CA_ADDR_LIST=/dev/ttyUSB0
EPICS_CA_AUTO_ADDR_LIST=NO

my files are as follows

devK6485.c

-/*
 * K6485 device support
 */

#include <epicsStdio.h>
#include <devCommonGpib.h>

/******************************************************************************
 *
 * The following define statements are used to declare the names to be used
 * for the dset tables.   
 *
 * A DSET_AI entry must be declared here and referenced in an application
 * database description file even if the device provides no AI records.
 *
 ******************************************************************************/
#define DSET_AI     devAiK6485
#define DSET_AO     devAoK6485
#define DSET_BI     devBiK6485
#define DSET_BO     devBoK6485
#define DSET_EV     devEvK6485
#define DSET_LI     devLiK6485
#define DSET_LO     devLoK6485
#define DSET_MBBI   devMbbiK6485
#define DSET_MBBID  devMbbidK6485 
#define DSET_MBBO   devMbboK6485
#define DSET_MBBOD  devMbbodK6485
#define DSET_SI     devSiK6485
#define DSET_SO     devSoK6485
#define DSET_WF     devWfK6485

#include <devGpib.h>
#include <alarm.h>
#include <recGbl.h>
#include <cvtTable.h>
#include <string.h>
#include <dbEvent.h>
#include <caeventmask.h>
#include <menuConvert.h> /* must be included after DSET defines */

#define TIMEOUT     5    /* I/O must complete within this time (.5 second)*/
#define TIMEWINDOW  2   /* Wait this long after device timeout */

int aiK6485Convert(struct gpibDpvt *pdpvt,int p1,int p2,char **p3);
/******************************************************************************
 * Strings used by the init routines to fill in the znam,onam,...
 * fields in BI and BO record types.
 ******************************************************************************/

/*static char  *offOnList[] = { "Off","On" };
static struct devGpibNames   offOn = { 2,offOnList,0,1 };
*
static char  *initNamesList[] = { "Init","Init" };
static struct devGpibNames initNames = { 2,initNamesList,0,1 };

static char  *disableEnableList[] = { "Disable","Enable" };
static struct devGpibNames disableEnable = { 2,disableEnableList,0,1 };

static char  *resetList[] = { "Reset","Reset" };
static struct devGpibNames reset = { 2,resetList,0,1 };

static char  *lozHizList[] = { "50 OHM","IB_Q_HIGH Z" };
static struct devGpibNames lozHiz = {2,lozHizList,0,1};

static char  *invertNormList[] = { "INVERT","NORM" };
static struct devGpibNames invertNorm = { 2,invertNormList,0,1 };

static char  *fallingRisingList[] = { "FALLING","RISING" };
static struct devGpibNames fallingRising = { 2,fallingRisingList,0,1 };

static char  *clearList[] = { "Clear","Clear" };
static struct devGpibNames clear = { 2,clearList,0,1 }; */
static char  *resetList[] = { "Reset","Reset" };
static struct devGpibNames reset = { 2,resetList,0,1 };

static char  *clearList[] = { "Clear","Clear" };
static struct devGpibNames clear = { 2,clearList,0,1 };

static char *currList[] =
{
    "Auto On","2 nA","20 nA","200 nA","2 uA","20 uA","200 uA","2 mA","20 mA","Auto Off"
};
static unsigned long currVal[] = {0,1,2,3,4,5,6,7,8,9};
static struct devGpibNames currNames = 
{
10,currList,currVal,4
};
static char *autoZeroList[] =
{
    "autoZero Off","autoZero On"
};
static unsigned long autoZeroVal[] = {0,1};
static struct devGpibNames autoZeroNames = 
{
2,autoZeroList,autoZeroVal,1
};

static char *zCheckList[] =
{
"zCheckOff","zCheckOn"
};
static unsigned long zCheckVal[] = {0,1};
static struct devGpibNames zCheckNames = 
{
2,zCheckList,zCheckVal,1
};
static char *zCorrList[] =
{
"zCorrOff","zCorrOn"
};
static unsigned long zCorrVal[] = {0,1};
static struct devGpibNames zCorrNames = 
{
2,zCorrList,zCorrVal,1
};
static char *displayList[] =
{
    "Display Off","Display On"
};
static unsigned long displayVal[] = {0,1};
static struct devGpibNames displayNames = 
{
2,displayList,displayVal,1
};

/******************************************************************************
 *
 * Name tables for BO / MBBO GPIBEFASTO
 *
 ******************************************************************************/

static char *(rangeCurr[]) = { ":CURR:RANG:AUTO ON",":CURR:RANG 2e-9",":CURR:RANG 20e-9",":CURR:RANG 200e-9",":CURR:RANG 2e-6",":CURR:RANG 20e-6",":CURR:RANG 200e-6",":CURR:RANG 2e-3",":CURR:RANG 20e-3",":CURR:RANG:AUTO OFF", NULL};
static char *(autoZero[]) = { ":SYST:AZER:STAT 0",":SYST:AZER:STAT 1",NULL};

static char *(display[]) = { ":DISP:ENAB 0",":DISP:ENAB 1",NULL};
#define MAX_RSP 0
#define MAX_MSG 45
/*static char trigCmd[30] = ":READ?";*/

/******************************************************************************
 * Array of structures that define all GPIB messages
 * supported for this type of instrument.
 ******************************************************************************/

static struct gpibCmd gpibCmds[] = {
/* Param 0 -- Read SCPI identification string */
    {&DSET_SI, GPIBREAD, IB_Q_HIGH, "*IDN?", "%39[^\r\n]", 
         0, 200, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 1 - SCPI reset command */
    {&DSET_BO, GPIBCMD, IB_Q_HIGH, "*RST", NULL, 
         0, 80, NULL, 0, 0, NULL, &reset, NULL},

    /* Param 2 - SCPI clear status command */
    {&DSET_BO, GPIBCMD, IB_Q_HIGH, "*CLS", NULL, 
         0, 80, NULL, 0, 0, NULL, &clear, NULL},

    /* Param 3 - Read SCPI status byte */
    {&DSET_LI, GPIBREAD, IB_Q_HIGH, "*STB?", "%d", 
         0, 80, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 4 - Read SCPI event register */
    {&DSET_LI, GPIBREAD, IB_Q_HIGH, "*ESR?", "%d", 
         0, 80, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 5 - Enable SCPI events */
    {&DSET_LO, GPIBWRITE, IB_Q_HIGH, NULL, "*ESE %d", 
         0, 80, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 6 - Read back SCPI enabled events */
    {&DSET_LI, GPIBREAD, IB_Q_HIGH, "*ESE?", "%d", 
         0, 80, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 7 - Enable SCPI service request sources */
    {&DSET_LO, GPIBWRITE, IB_Q_HIGH, NULL, "*SRE %d", 
         0, 80, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 8 - Read back SCPI enabled service request sources */
    {&DSET_LI, GPIBREAD, IB_Q_HIGH, "*SRE?", "%d", 
         0, 80, NULL, 0, 0, NULL, NULL, NULL},

    /* Param 9 - Read SCPI output completion status */
    {&DSET_LI, GPIBREAD, IB_Q_HIGH, "*OPC?", "%d", 
         0, 80, NULL, 0, 0, NULL, NULL, 0},

/* 10: rangeCurr */
{
&DSET_MBBO,GPIBEFASTO,IB_Q_HIGH,NULL,NULL,MAX_RSP,MAX_MSG,NULL,0,0,rangeCurr,&currNames,NULL
},
/* 11: autoZero: */
{
&DSET_BO,GPIBWRITE,IB_Q_HIGH,NULL,NULL,MAX_RSP,MAX_MSG,NULL,0,0,autoZero,&autoZeroNames,NULL
},
/* 12: zero check */
{
&DSET_BO,GPIBWRITE,IB_Q_HIGH,NULL,":SYST:ZCH %d",MAX_RSP,MAX_MSG,NULL,0,0,NULL,&zCheckNames,NULL
},
/* 13: zero correct */
{
&DSET_BO,GPIBWRITE,IB_Q_HIGH,NULL,":SYST:ZCOR %d",MAX_RSP,MAX_MSG,NULL,0,0,NULL,&zCorrNames,NULL
},
        
/* 14: read (raw) value */
{
&DSET_AI,GPIBREAD,IB_Q_HIGH,"READ?",NULL,MAX_RSP,MAX_MSG,NULL,0,0,NULL,NULL,0
},
/* 1*: fatch (raw) value 
{
&DSET_BI,GPIBREAD,IB_Q_HIGH,":FECT?","%lf",MAX_RSP,MAX_MSG,NULL,0,0,NULL,NULL,0
},*/
        
        /* 15: display: */
{
&DSET_BO,GPIBEFASTO,IB_Q_HIGH,NULL,NULL,MAX_RSP,MAX_MSG,NULL,0,0,display,&displayNames,NULL
},
       
};

/* The following is the number of elements in the command array above.  */
#define NUMPARAMS sizeof(gpibCmds)/sizeof(struct gpibCmd)

/******************************************************************************
 * Initialize device support parameters
 *
 *****************************************************************************/
static long init_ai(int parm)
{
    if(parm==0) {
        devSupParms.name = "devK6485";
        devSupParms.gpibCmds = gpibCmds;
        devSupParms.numparams = NUMPARAMS;
        devSupParms.timeout = TIMEOUT;
        devSupParms.timeWindow = TIMEWINDOW;
        devSupParms.respond2Writes = -1;
    }
    return(0);
}



K6485.db

#! Generated by VisualDCT v2.6
#! DBDSTART
#! DBDEND


# ###################################################################
# Copyright (c) 2011 Lawrence Berkeley National Laboratory, Accelerator
# Technology Group, Engineering Division
# This code is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# #######################################################################
# Basic SCPI (IEEE488.2) commands
record(stringin, "$(BL)$(P)$(R)IDN") {
  field(DESC, "SCPI identification string")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @0")
  field(PINI, "NO")
}

record(bo, "$(BL)$(P)$(R)RST") {
  field(DESC, "SCPI Reset")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @1")
}

record(bo, "$(BL)$(P)$(R)CLS") {
  field(DESC, "SCPI Clear status")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @2")
}

record(longin, "$(BL)$(P)$(R)GetSTB") {
  field(DESC, "SCPI get status byte")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @3")
}

record(longin, "$(BL)$(P)$(R)GetESR") {
  field(DESC, "SCPI get event status")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @4")
}

record(longout, "$(BL)$(P)$(R)SetESE") {
  field(DESC, "SCPI enable event status")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @5")
}

record(longin, "$(BL)$(P)$(R)GetESE") {
  field(DESC, "SCPI enabled event status")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @6")
}

record(longout, "$(BL)$(P)$(R)SetSRE") {
  field(DESC, "SCPI enable service requests")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @7")
}

record(longin, "$(BL)$(P)$(R)GetSRE") {
  field(DESC, "Enabled service requests")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @8")
}

record(longin, "$(BL)$(P)$(R)GetOPC") {
  field(DESC, "Output completion status")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @9")
}

# Reading
record(ai, "$(BL)$(P)$(R)Measure") {
  field(DESC, "Measure current")
  field(DTYP, "K6485")
  field(INP, "#L$(L) A$(A) @14")
  field(EGU, "Amp")
  field(PREC, "5")
  field(SCAN, "$(SCAN)")
}

##field(DESC, "Fetch buffered data")
   #field(DTYP, "K6485")
  # field(INP,  "L$(L) A$(A) @15")
   #field(EGU,  "A")
  # field(PREC, "5")
   #field(FTVL, "FLOAT")
  # field(NELM, "$(NELM=1000)")
#}
#
# Zero-check
#
record(bo, "$(BL)$(P)$(R)ZeroCheck") {
  field(DESC, "Disable/Enable zero check (input clamp)")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @12")
  field(ZNAM, "Off")
  field(ONAM, "On")
#field(PROC, "0")
  #field(FLNK, "$(BL)$(P)$(R)ZeroCheckRBV")
}

#record(bi, "$(BL)$(P)$(R)ZeroCheckRBV") {
  #field(DESC, "Disable/Enable zero check (input clamp)")
 # field(DTYP, "K6485")
 # field(INP, "#L$(L) A$(A) @12")
 # field(ZNAM, "Off")
 # field(ONAM, "On")
 # field(PINI, "YES")
#}

record(bo, "$(BL)$(P)$(R)Autozero") {
  field(DESC, "Disable/Enable Auto zero")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @11")
  field(ZNAM, "Off")
  field(ONAM, "On")
 # field(FLNK, "$(BL)$(P)$(R)AutozeroRBV")
}

#record(mbbi, "$(BL)$(P)$(R)AutozeroRBV") {
  #field(DESC, "Disable/Enable Autozero")
  #3field(DTYP, "K6485")
  #field(INP, "#L$(L) A$(A) @11")
  #field(ZNAM, "Off")
#  field(ONAM, "On")
  #field(PINI, "YES")
#}

record(bo, "$(BL)$(P)$(R)Zerocorrect") {
  field(DESC, "Disable/Enable Zero correct")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @13")
  field(ZNAM, "Off")
  field(ONAM, "On")
 #field(FLNK, "$(BL)$(P)$(R)ZerocorrectRBV")
}

#record(bi, "$(BL)$(P)$(R)ZerocorrectRBV") {
  #field(DESC, "Disable/enable Zerocurrect")
 #field(DTYP, "K6485")
  #field(INP, "#L$(L) A$(A) @13")
 # field(ZNAM, "off")
 # field(ONAM, "on")
#}

########Range#######
record(mbbo, "$(BL)$(P)$(R)Range") {
  field(DESC, "Full-scale range")
  field(DTYP, "K6485")
  field(OUT, "#L$(L) A$(A) @10")
  field(ZRVL, "9")
  field(ZRST, "2 nA")
  field(ONVL, "8")
  field(ONST, "20 nA")
  field(TWVL, "7")
  field(TWST, "200 nA")
  field(THVL, "6")
  field(THST, "2 uA")
  field(FRVL, "5")
  field(FRST, "20 uA")
  field(FVVL, "4")
  field(FVST, "200 uA")
  field(SXVL, "3")
  field(SXST, "2 mA")
  field(SVVL, "2")
  field(SVST, "20 mA")
 # field(FLNK, "$(BL)$(P)$(R)RangeRBV")
}

#record(mbbi, "$(BL)$(P)$(R)RangeRBV") {
 # field(DESC, "Full-scale range readback")
  #field(INP, "#L$(L) A$(A) @10")
 # field(ZRVL, "9")
#  field(ZRST, "2 nA")
# field(ONVL, "8")
#  field(ONST, "20 nA")
#  field(TWVL, "7")
#  field(TWST, "200 nA")
 # field(THVL, "6")
  #field(THST, "2 uA")
 # field(FRVL, "5")
  #field(FRST, "20 uA")
 #field(FVVL, "4")
 # field(FVST, "200 uA")
 # field(SXVL, "3")
 # field(SXST, "2 mA")
  #3field(SVVL, "2")
  #field(SVST, "20 mA")
  #field(PINI, "YES")
#}

record(bo, "$(BL)$(P)$(R)Display") {
  field(DESC, "disable /enable display")
  field(DTYP, "K6485")
 # field(FLNK, "$(BL)$(P)$(R)DisplayRBV")
  field(OUT, "#L$(L) A$(A) @15")
  field(ZNAM, "off")
  field(ONAM, "off")
}

#record(bi, "$(BL)$(P)$(R)DisplayRBV") {
  #field(DESC, "Disable/enable display")
  #field(PINI, "YES")
  #field(DTYP, "K6485")
 #field(INP, "#L$(L) A$(A) @16")
 # field(ZNAM, "off")
  #field(ONAM, "on")
#}

#! Further lines contain data used by VisualDCT
#! View(2226,0,1.0)
#! Record("$(BL)$(P)$(R)IDN",20,27,0,0,"$(BL)$(P)$(R)IDN")
#! Record("$(BL)$(P)$(R)RST",260,21,0,0,"$(BL)$(P)$(R)RST")
#! Record("$(BL)$(P)$(R)CLS",500,21,0,0,"$(BL)$(P)$(R)CLS")
#! Record("$(BL)$(P)$(R)GetSTB",740,21,0,0,"$(BL)$(P)$(R)GetSTB")
#! Record("$(BL)$(P)$(R)GetESR",980,21,0,0,"$(BL)$(P)$(R)GetESR")
#! Record("$(BL)$(P)$(R)SetESE",1220,21,0,0,"$(BL)$(P)$(R)SetESE")
#! Record("$(BL)$(P)$(R)GetESE",1460,21,0,0,"$(BL)$(P)$(R)GetESE")
#! Record("$(BL)$(P)$(R)SetSRE",1700,21,0,0,"$(BL)$(P)$(R)SetSRE")
#! Record("$(BL)$(P)$(R)GetSRE",1940,21,0,0,"$(BL)$(P)$(R)GetSRE")
#! Record("$(BL)$(P)$(R)GetOPC",2180,21,0,0,"$(BL)$(P)$(R)GetOPC")
#! Record("$(BL)$(P)$(R)Measure",2420,-1,0,0,"$(BL)$(P)$(R)Measure")
#! Record("$(BL)$(P)$(R)ZeroCheck",2660,19,0,0,"$(BL)$(P)$(R)ZeroCheck")
#! Field("$(BL)$(P)$(R)ZeroCheck.FLNK",16777215,1,"$(BL)$(P)$(R)ZeroCheck.FLNK")
#! Link("$(BL)$(P)$(R)ZeroCheck.FLNK","$(BL)$(P)$(R)ZeroCheckRBV")
#! Record("$(BL)$(P)$(R)ZeroCheckRBV",2900,19,0,1,"$(BL)$(P)$(R)ZeroCheckRBV")
#! Record("$(BL)$(P)$(R)Autozero",3140,19,0,0,"$(BL)$(P)$(R)Autozero")
#! Field("$(BL)$(P)$(R)Autozero.FLNK",16777215,1,"$(BL)$(P)$(R)Autozero.FLNK")
#! Link("$(BL)$(P)$(R)Autozero.FLNK","$(BL)$(P)$(R)AutozeroRBV")
#! Record("$(BL)$(P)$(R)AutozeroRBV",3380,19,0,1,"$(BL)$(P)$(R)AutozeroRBV")
#! Record("$(BL)$(P)$(R)Zerocorrect",3620,19,0,0,"$(BL)$(P)$(R)Zerocorrect")
#! Field("$(BL)$(P)$(R)Zerocorrect.FLNK",16777215,1,"$(BL)$(P)$(R)Zerocorrect.FLNK")
#! Link("$(BL)$(P)$(R)Zerocorrect.FLNK","$(BL)$(P)$(R)ZerocorrectRBV")
#! Record("$(BL)$(P)$(R)ZerocorrectRBV",3860,13,0,1,"$(BL)$(P)$(R)ZerocorrectRBV")
#! Record("$(BL)$(P)$(R)Range",4100,25,0,0,"$(BL)$(P)$(R)Range")
#! Field("$(BL)$(P)$(R)Range.FLNK",16777215,1,"$(BL)$(P)$(R)Range.FLNK")
#! Link("$(BL)$(P)$(R)Range.FLNK","$(BL)$(P)$(R)RangeRBV")
#! Record("$(BL)$(P)$(R)RangeRBV",4340,25,0,1,"$(BL)$(P)$(R)RangeRBV")
#! Record("$(BL)$(P)$(R)Display",4580,19,0,0,"$(BL)$(P)$(R)Display")
#! Field("$(BL)$(P)$(R)Display.FLNK",16777215,0,"$(BL)$(P)$(R)Display.FLNK")
#! Link("$(BL)$(P)$(R)Display.FLNK","$(BL)$(P)$(R)DisplayRBV")
#! Record("$(BL)$(P)$(R)DisplayRBV",20,379,0,1,"$(BL)$(P)$(R)DisplayRBV")


st.cmd

#!../../bin/linux-x86_64/K6485

## You may have to change K6485 to something else
## everywhere it appears in this file
epicsEnvSet("BL","$(BL=bl21:)")
epicsEnvSet("P","$(P=K6485:)")
< envPaths
##############################################################################
cd "${TOP}"

## Register all support components
#dbLoadDatabase "dbd/devK6485.dbd"
dbLoadDatabase "dbd/K6485.dbd"
K6485_registerRecordDeviceDriver pdbbase
###############################################################################
# Set up ASYN ports
# drvAsynIPPortConfigure port ipInfo priority noAutoconnect noProcessEos
drvAsynSerialPortConfigure("L0","/dev/ttyUSB0",0,0,0)
#drvAsynSerialPortConfigure("L0","/dev/tty.PL2303-000013FA",0,0,0)
asynSetOption("L0", -1, "baud", "9600")
asynSetOption("L0", -1, "bits", "8")
asynSetOption("L0", -1, "parity", "none")
asynSetOption("L0", -1, "stop", "1")
asynSetOption("L0", -1, "clocal", "Y")
asynSetOption("L0", -1, "crtscts", "N")
###################################################################
#asynSetTraceFile("L0",-1,"")
#asynSetTraceMask("L0",-1,0x09)
#asynSetTraceIOMask("L0",-1,0x2)

###############################################################################
## Load record instances
dbLoadRecords("db/devK6485.db","BL=$(BL),P=$(P),R=1:,L=0,A=-1,NELM=1000,SCAN= 5 second")
dbLoadRecords ("$(ASYN)/db/asynRecord.db","P=$(P),R=asyn,PORT=L0,ADDR=-1,OMAX=0,IMAX=0")
cd "${TOP}/iocBoot/${IOC}"
iocInit
#asynSetTraceMask("L0",-1,0xFF)
## Start any sequence programs
#seq sncxxx,"user=pxbl21-1Host"


and the output for this IOC is -:


pxbl21-1@linux-edqv:~/programs/epics/bl21/K6485/iocBoot/iocK6485> ../../bin/linux-x86_64/K6485 st.cmd 
#!../../bin/linux-x86_64/K6485
## You may have to change K6485 to something else
## everywhere it appears in this file
epicsEnvSet("BL","bl21:")
epicsEnvSet("P","K6485:")
< envPathsand the output for this IOC is -
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","iocK6485")
epicsEnvSet("TOP","/home/pxbl21-1/programs/epics/bl21/K6485")
epicsEnvSet("ASYN","/home/pxbl21-1/programs/epics/modules/synApps_5_6/support/asyn-4-18")
epicsEnvSet("K6485","/home/pxbl21-1/programs/epics/bl21/K6485")
epicsEnvSet("EPICS_BASE","/home/pxbl21-1/programs/epics/base-3.14.12.5")
##############################################################################
cd "/home/pxbl21-1/programs/epics/bl21/K6485"
## Register all support components
#dbLoadDatabase "dbd/devK6485.dbd"
dbLoadDatabase "dbd/K6485.dbd"
K6485_registerRecordDeviceDriver pdbbase
###############################################################################
# Set up ASYN ports
# drvAsynIPPortConfigure port ipInfo priority noAutoconnect noProcessEos
drvAsynSerialPortConfigure("L0","/dev/ttyUSB0",0,0,0)
#drvAsynSerialPortConfigure("L0","/dev/tty.PL2303-000013FA",0,0,0)
asynSetOption("L0", -1, "baud", "9600")
asynSetOption("L0", -1, "bits", "8")
asynSetOption("L0", -1, "parity", "none")
asynSetOption("L0", -1, "stop", "1")
asynSetOption("L0", -1, "clocal", "Y")
asynSetOption("L0", -1, "crtscts", "N")
###################################################################
#asynSetTraceFile("L0",-1,"")
#asynSetTraceMask("L0",-1,0x09)
#asynSetTraceIOMask("L0",-1,0x2)
###############################################################################
## Load record instances
dbLoadRecords("db/devK6485.db","BL=bl21:,P=K6485:,R=1:,L=0,A=-1,NELM=1000,SCAN= 5 second")
Error: syntax error
 at or before "}" in file "db/devK6485.db" line 212
dbLoadRecords ("/home/pxbl21-1/programs/epics/modules/synApps_5_6/support/asyn-4-18/db/asynRecord.db","P=K6485:,R=asyn,PORT=L0,ADDR=-1,OMAX=0,IMAX=0")
cd "/home/pxbl21-1/programs/epics/bl21/K6485/iocBoot/iocK6485"
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.5 $Date: Tue 2015-03-24 09:57:35 -0500$
## EPICS Base built Sep 15 2016
############################################################################
iocRun: All initialization complete
#asynSetTraceMask("L0",-1,0xFF)
## Start any sequence programs
#seq sncxxx,"user=pxbl21-1Host"
epics> 2016/11/17 12:38:47.150 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:38:47.150 bl21:K6485:1:Measure error.
^C
pxbl21-1@linux-edqv:~/programs/epics/bl21/K6485/iocBoot/iocK6485> ../../bin/linux-x86_64/K6485 st.cmd 
#!../../bin/linux-x86_64/K6485
## You may have to change K6485 to something else
## everywhere it appears in this file
epicsEnvSet("BL","bl21:")
epicsEnvSet("P","K6485:")
< envPaths
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","iocK6485")
epicsEnvSet("TOP","/home/pxbl21-1/programs/epics/bl21/K6485")
epicsEnvSet("ASYN","/home/pxbl21-1/programs/epics/modules/synApps_5_6/support/asyn-4-18")
epicsEnvSet("K6485","/home/pxbl21-1/programs/epics/bl21/K6485")
epicsEnvSet("EPICS_BASE","/home/pxbl21-1/programs/epics/base-3.14.12.5")
##############################################################################
cd "/home/pxbl21-1/programs/epics/bl21/K6485"
## Register all support components
#dbLoadDatabase "dbd/devK6485.dbd"
dbLoadDatabase "dbd/K6485.dbd"
K6485_registerRecordDeviceDriver pdbbase
###############################################################################
# Set up ASYN ports
# drvAsynIPPortConfigure port ipInfo priority noAutoconnect noProcessEos
drvAsynSerialPortConfigure("L0","/dev/ttyUSB0",0,0,0)
#drvAsynSerialPortConfigure("L0","/dev/tty.PL2303-000013FA",0,0,0)
asynSetOption("L0", -1, "baud", "9600")
asynSetOption("L0", -1, "bits", "8")
asynSetOption("L0", -1, "parity", "none")
asynSetOption("L0", -1, "stop", "1")
asynSetOption("L0", -1, "clocal", "Y")
asynSetOption("L0", -1, "crtscts", "N")
###################################################################
#asynSetTraceFile("L0",-1,"")
#asynSetTraceMask("L0",-1,0x09)
#asynSetTraceIOMask("L0",-1,0x2)
###############################################################################
## Load record instances
dbLoadRecords("db/devK6485.db","BL=bl21:,P=K6485:,R=1:,L=0,A=-1,NELM=1000,SCAN= 5 second")
dbLoadRecords ("/home/pxbl21-1/programs/epics/modules/synApps_5_6/support/asyn-4-18/db/asynRecord.db","P=K6485:,R=asyn,PORT=L0,ADDR=-1,OMAX=0,IMAX=0")
cd "/home/pxbl21-1/programs/epics/bl21/K6485/iocBoot/iocK6485"
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.5 $Date: Tue 2015-03-24 09:57:35 -0500$
## EPICS Base built Sep 15 2016
############################################################################
iocRun: All initialization complete
#asynSetTraceMask("L0",-1,0xFF)
## Start any sequence programs
#seq sncxxx,"user=pxbl21-1Host"
epics> 2016/11/17 12:39:53.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:39:53.190 bl21:K6485:1:Measure error.
2016/11/17 12:40:03.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:40:03.190 bl21:K6485:1:Measure error.
2016/11/17 12:40:13.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:40:13.190 bl21:K6485:1:Measure error.
2016/11/17 12:40:23.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:40:23.190 bl21:K6485:1:Measure error.
2016/11/17 12:40:33.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:40:33.190 bl21:K6485:1:Measure error.
2016/11/17 12:40:43.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:40:43.190 bl21:K6485:1:Measure error.
2016/11/17 12:40:53.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:40:53.190 bl21:K6485:1:Measure error.
2016/11/17 12:41:03.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:41:03.190 bl21:K6485:1:Measure error.
2016/11/17 12:41:13.190 bl21:K6485:1:Measure read status "" nin 0
2016/11/17 12:41:13.190 bl21:K6485:1:Measure error.


my device Kethley 6485 displays -111 error which means header separator error  ( error related to commands ) but I am not getting any command syntax is wrong. 

please help me out.
--
With Regards,

Paramveer Jain

Replies:
RE: ERROR -111 in Keithley6485 Mark Rivers

Navigate by Date:
Prev: unsubscribe BOGARD Daniel
Next: how to unsubscribe BOGARD Daniel
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: unsubscribe BOGARD Daniel
Next: RE: ERROR -111 in Keithley6485 Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Nov 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·