> EPICS_CA_ADDR_LIST=/dev/ttyUSB0
> EPICS_CA_AUTO_ADDR_LIST=NO
This is incorrect. EPICS_CA_ADDR_LIST is not used to define the interface for your device. It is used to define what hosts EPICS channel access clients should search for PVs.
This line in your st.cmd tells asyn how to connect to your device:
drvAsynSerialPortConfigure("L0","/dev/ttyUSB0",0,0,0)
As I said in my private message to you yesterday you should uncomment these lines and change them as follows:
asynSetTraceMask("L0",-1,0x0FF)
asynSetTraceIOMask("L0",-1,0x2)
That will then show you the complete communication with your device. You will then be able to see if the device is responding at all.
Mark
________________________________
From: [email protected] [[email protected]] on behalf of Paramveer Jain [[email protected]]
Sent: Thursday, November 17, 2016 3:36 AM
To: [email protected]
Subject: ERROR -111 in Keithley6485
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
- References:
- ERROR -111 in Keithley6485 Paramveer Jain
- Navigate by Date:
- Prev:
Re: OS X edm/medm openmotif woes Wang Xiaoqiang (PSI)
- Next:
Re: OS X edm/medm openmotif woes J. Lewis Muir
- 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
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
ERROR -111 in Keithley6485 Paramveer Jain
- 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
<2016>
2017
2018
2019
2020
2021
2022
2023
2024
|