Experimental Physics and
| |||||||||||||||
|
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
| ||||||||||||||
ANJ, 17 Nov 2016 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |