Home › Forums › HTBasic Forum › HTBasic and visa32.Ddll › Reply To: HTBasic and visa32.Ddll
Hi Mathieu,
Do you want to test this?
LONG Retour
LONG Session
!———————————————————
Default: ! VI Open Default RM
!———————————————————
DISP “—> VI OPEN DEFAULT RM : In progress …”
!
DLL GET “STDCALL LONG VISA32:viOpenDefaultRM” AS “Vi_open_default” ! Function
!
Retour=-1000
Retour=FNVi_open_default(Session)
!
SELECT Retour
CASE 0
PRINT “> VI OPEN DEFAULT RM”
PRINT “VIsession =”;Session
CASE ELSE
Type$=”DEC”
Valeur$=VAL$(Retour)
CALL Convert(Type$,Valeur$,Dec,Hex$,Bin$)
PRINT “* VI OPEN DEFAULT RM : Retour=”;Retour
CALL List_error(Hex$)
END SELECT
With the two SUB below … :
SUB Convert(Type$,Valeur$,Dec,Hex$,Bin$)!*********************************
Convert: ! Conversion DEC/HEX/BIN
!*********************************
SELECT Type$
CASE “DEC”
Dec=VAL(Valeur$) ! DECIMAL
Hex$=DVAL$(Dec,16) ! DEC2HEX [8]
Bin$=DVAL$(Dec,2) ! DEC2BIN [32]
CASE “HEX”
Hex$=Valeur$ ! HEXADECIMAL
Bin$=DVAL$(DVAL(Hex$,16),2)! HEX2BIN [32]
Dec=DVAL(Hex$,16) ! HEX2DEC [8]
CASE “BIN”
ALLOCATE B$[32]
Bin$=Valeur$ ! BINAIRE
B$=Bin$ !
IF LEN(Bin$)<16 THEN B$=RPT$(“0”,16-LEN(Bin$))&Bin$
IF VAL(B$)>10000001 THEN B$=RPT$(“1”,15)&B$
Dec=DVAL(B$,2) ! BIN2DEC
Hex$=DVAL$(DVAL(Bin$,2),16)! BIN2HEX [8]
Hex$=Hex$[5,8] !
DEALLOCATE B$
END SELECT
Exit: !
SUBEND
!
SUB List_error(Hex$)!***************************************************
List_error: !
! Liste d’erreurs extraites du document “NI-VISAProgrammersManual.pdf”
!
ALLOCATE Code$[80],Value$[80],Meaning$[200]
!
N: DATA “VI_SUCCESS”,”0″,”Operation completed successfully”
DATA “VI_SUCCESS_EVENT_EN”,”3FFF0002″,”Specified event is already enabled for at least one of the specified mechanisms”
DATA “VI_SUCCESS_EVENT_DIS”,”3FFF0003″,”Specified event is already disabled for at least one of the specified mechanisms”
DATA “VI_SUCCESS_QUEUE_EMPTY”,”3FFF0004″,”Operation completed successfully but queue was already empty”
DATA “VI_SUCCESS_TERM_CHAR”,”3FFF0005″,”The specified termination character was read”
DATA “VI_SUCCESS_MAX_CNT”,”3FFF0006″,”The number of bytes read is equal to the input count”
DATA “VI_WARN_CONFIG_NLOADED”,”3FFF0077″,”The specified configuration either does not exist or could not be loaded using VISA-specified defaults”
DATA “VI_SUCCESS_DEV_NPRESENT”,”3FFF007D”,”Session opened successfully but the device at the specified address is not responding”
DATA “VI_SUCCESS_TRIG_MAPPED”,”3FFF007E”,”The path from trigSrc to trigDest is already mapped”
DATA “VI_SUCCESS_QUEUE_NEMPTY”,”3FFF0080″,”Wait terminated successfully on receipt of an event notification There is still at least one more event occurrence of the requested type(s) available for this session”
DATA “VI_WARN_NULL_OBJECT”,”3FFF0082″,”The specified object reference is uninitialized”
DATA “VI_WARN_NSUP_ATTR_STATE”,”3FFF0084″,”Although the specified state of the attribute is valid it is not supported by this resource implementation”
DATA “VI_WARN_UNKNOWN_STATUS”,”3FFF0085″,”The status code passed to the operation could not be interpreted”
DATA “VI_WARN_NSUP_BUF”,”3FFF0088″,”The specified buffer is not supported”
DATA “VI_SUCCESS_NCHAIN”,”3FFF0098″,”Event handled successfully Do not invoke any other handlers on this session for this event”
DATA “VI_SUCCESS_NESTED_SHARED”,”3FFF0099″,”Operation completed successfully and this session has nested shared locks”
DATA “VI_SUCCESS_NESTED_EXCLUSIVE”,”3FFF009A”,”Operation completed successfully and this session has nested exclusive locks”
DATA “VI_SUCCESS_SYNC”,”3FFF009B”,”Asynchronous operation request was actually performed synchronously”
DATA “VI_ERROR_SYSTEM_ERROR”,”BFFF0000″,”Unknown system error (miscellaneous error)”
DATA “VI_ERROR_INV_OBJECT”,”BFFF000E”,”The given session or object reference is invalid”
DATA “VI_ERROR_RSRC_LOCKED”,”BFFF000F”,”Specified type of lock cannot be obtained or specified operation cannot be performed because the resource is locked”
DATA “VI_ERROR_INV_EXPR”,”BFFF0010″,”Invalid expression specified for search”
DATA “VI_ERROR_RSRC_NFOUND”,”BFFF0011″,”Insufficient location information or the device or resource is not present in the system”
DATA “VI_ERROR_INV_RSRC_NAME”,”BFFF0012″,”Invalid resource reference specified Parsing error”
DATA “VI_ERROR_INV_ACC_MODE”,”BFFF0013″,”Invalid access mode”
DATA “VI_ERROR_TMO”,”BFFF0015″,”Timeout expired before operation completed”
DATA “VI_ERROR_CLOSING_FAILED”,”BFFF0016″,”Unable to deallocate the previously allocated data structures corresponding to this session or object reference”
DATA “VI_ERROR_INV_DEGREE”,”BFFF001B”,”Specified degree is invalid”
DATA “VI_ERROR_INV_JOB_ID”,”BFFF001C”,”Specified job identifier is invalid”
DATA “VI_ERROR_NSUP_ATTR”,”BFFF001D”,”The specified attribute is not defined or supported by the referenced session or event or find list”
DATA “VI_ERROR_NSUP_ATTR_STATE”,”BFFF001E”,”The specified state of the attribute is not valid or is not supported as defined by the session or event or find list”
DATA “VI_ERROR_ATTR_READONLY”,”BFFF001F”,”The specified attribute is read-only”
DATA “VI_ERROR_INV_LOCK_TYPE”,”BFFF0020″,”The specified type of lock is not supported by this resource”
DATA “VI_ERROR_INV_ACCESS_KEY”,”BFFF0021″,”The access key to the resource associated with this session is invalid”
DATA “VI_ERROR_INV_EVENT”,”BFFF0026″,”Specified event type is not supported by the resource”
DATA “VI_ERROR_INV_MECH”,”BFFF0027″,”Invalid mechanism specified”
DATA “VI_ERROR_HNDLR_NINSTALLED”,”BFFF0028″,”A handler is not currently installed for the specified event”
DATA “VI_ERROR_INV_HNDLR_REF”,”BFFF0029″,”The given handler reference is invalid”
DATA “VI_ERROR_INV_CONTEXT”,”BFFF002A”,”Specified event context is invalid”
DATA “VI_ERROR_QUEUE_OVERFLOW”,”BFFF002D”,”The event queue for the specified type has overflowed (usually due to previous events not having been closed)”
DATA “VI_ERROR_NENABLED”,”BFFF002F”,”The session must be enabled for events of the specified type in order to receive them”
DATA “VI_ERROR_ABORT”,”BFFF0030″,”The operation was aborted”
DATA “VI_ERROR_RAW_WR_PROT_VIOL”,”BFFF0034″,”Violation of raw write protocol occurred during transfer”
DATA “VI_ERROR_RAW_RD_PROT_VIOL”,”BFFF0035″,”Violation of raw read protocol occurred during transfer”
DATA “VI_ERROR_OUTP_PROT_VIOL”,”BFFF0036″,”Device reported an output protocol error during transfer”
DATA “VI_ERROR_INP_PROT_VIOL”,”BFFF0037″,”Device reported an input protocol error during transfer”
DATA “VI_ERROR_BERR”,”BFFF0038″,”Bus error occurred during transfer”
DATA “VI_ERROR_IN_PROGRESS”,”BFFF0039″,”Unable to queue the asynchronous operation because there is already an operation in progress”
DATA “VI_ERROR_INV_SETUP”,”BFFF003A”,”Unable to start operation because setup is invalid (due to attributes being set to an inconsistent state)”
DATA “VI_ERROR_QUEUE_ERROR”,”BFFF003B”,”Unable to queue asynchronous operation”
DATA “VI_ERROR_ALLOC”,”BFFF003C”,”Insufficient system resources to perform necessary memory allocation”
DATA “VI_ERROR_INV_MASK”,”BFFF003D”,”Invalid buffer mask specified”
DATA “VI_ERROR_IO”,”BFFF003E”,”Could not perform operation because of I/O error”
DATA “VI_ERROR_INV_FMT”,”BFFF003F”,”A format specifier in the format string is invalid”
DATA “VI_ERROR_NSUP_FMT”,”BFFF0041″,”A format specifier in the format string is not supported”
DATA “VI_ERROR_LINE_IN_USE”,”BFFF0042″,”The specified trigger line is currently in use”
DATA “VI_ERROR_NSUP_MODE”,”BFFF0046″,”The specified mode is not supported by this VISA implementation”
DATA “VI_ERROR_SRQ_NOCCURRED”,”BFFF004A”,”Service request has not been received for the session”
DATA “VI_ERROR_INV_SPACE”,”BFFF004E”,”Invalid address space specified”
DATA “VI_ERROR_INV_OFFSET”,”BFFF0051″,”Invalid offset specified”
DATA “VI_ERROR_INV_WIDTH”,”BFFF0052″,”Invalid source or destination width specified”
DATA “VI_ERROR_NSUP_OFFSET”,”BFFF0054″,”Specified offset is not accessible from this hardware”
DATA “VI_ERROR_NSUP_VAR_WIDTH”,”BFFF0055″,”Cannot support source and destination widths that are different”
DATA “VI_ERROR_WINDOW_NMAPPED”,”BFFF0057″,”The specified session is not currently mapped”
DATA “VI_ERROR_RESP_PENDING”,”BFFF0059″,”A previous response is still pending causing a multiple query error”
DATA “VI_ERROR_NLISTENERS”,”BFFF005F”,”No Listeners condition is detected (both NRFD and NDAC are deasserted)”
DATA “VI_ERROR_NCIC”,”BFFF0060″,”The interface associated with this session is not currently the controller in charge”
DATA “VI_ERROR_NSYS_CNTLR”,”BFFF0061″,”The interface associated with this session is not the system controller”
DATA “VI_ERROR_NSUP_OPER”,”BFFF0067″,”The given session or object reference does not support this operation”
DATA “VI_ERROR_INTR_PENDING”,”BFFF0068″,”An interrupt is still pending from a previous call”
DATA “VI_ERROR_ASRL_PARITY”,”BFFF006A”,”A parity error occurred during transfer”
DATA “VI_ERROR_ASRL_FRAMING”,”BFFF006B”,”A framing error occurred during transfer”
DATA “VI_ERROR_ASRL_OVERRUN”,”BFFF006C”,”An overrun error occurred during transfer A character was not read from the hardware before the next character arrived”
DATA “VI_ERROR_TRIG_NMAPPED”,”BFFF006E”,”The path from trigSrc to trigDest is not currently mapped”
DATA “VI_ERROR_NSUP_ALIGN_OFFSET”,”BFFF0070″,”The specified offset is not properly aligned for the access width of the operation”
DATA “VI_ERROR_USER_BUF”,”BFFF0071″,”A specified user buffer is not valid or cannot be accessed for the required size”
DATA “VI_ERROR_RSRC_BUSY”,”BFFF0072″,”The resource is valid but VISA cannot currently access it”
DATA “VI_ERROR_NSUP_WIDTH”,”BFFF0076″,”Specified width is not supported by this hardware”
DATA “VI_ERROR_INV_PARAMETER”,”BFFF0078″,”The value of some parameter—which parameter is not known—is invalid”
DATA “VI_ERROR_INV_PROT”,”BFFF0079″,”The protocol specified is invalid”
DATA “VI_ERROR_INV_SIZE”,”BFFF007B”,”Invalid size of window specified”
DATA “VI_ERROR_WINDOW_MAPPED”,”BFFF0080″,”The specified session currently contains a mapped window”
DATA “VI_ERROR_NIMPL_OPER”,”BFFF0081″,”The given operation is not implemented”
DATA “VI_ERROR_INV_LENGTH”,”BFFF0083″,”Invalid length specified”
DATA “VI_ERROR_INV_MODE”,”BFFF0091″,”The specified mode is invalid”
DATA “VI_ERROR_SESN_NLOCKED”,”BFFF009C”,”The current session did not have any lock on the resource”
DATA “VI_ERROR_MEM_NSHARED”,”BFFF009D”,”The device does not export any memory”
DATA “VI_ERROR_LIBRARY_NFOUND”,”BFFF009E”,”A code library required by VISA could not be located or loaded”
DATA “VI_ERROR_NSUP_INTR”,”BFFF009F”,”The interface cannot generate an interrupt on the requested level or with the requested statusID value”
DATA “VI_ERROR_INV_LINE”,”BFFF00A0″,”The value specified by the line parameter is invalid”
DATA “VI_ERROR_FILE_ACCESS”,”BFFF00A1″,”An error occurred while trying to open the specified file Possible reasons include an invalid path or lack of access rights”
DATA “VI_ERROR_FILE_IO”,”BFFF00A2″,”An error occurred while performing I/O on the specified file”
DATA “VI_ERROR_NSUP_LINE”,”BFFF00A3″,”One of the specified lines (trigSrc or trigDest) is not supported by this VISA implementation or the combination of lines is not a valid mapping”
DATA “VI_ERROR_NSUP_MECH”,”BFFF00A4″,”The specified mechanism is not supported by the given event type”
DATA “VI_ERROR_INTF_NUM_NCONFIG”,”BFFF00A5″,”The interface type is valid but the specified interface number is not configured”
DATA “VI_ERROR_CONN_LOST”,”BFFF00A6″,”The connection for the given session has been lost”
DATA “VI_ERROR_MACHINE_NAVAIL”,”BFFF00A7″,”The remote machine does not exist or is not accepting any connections”
DATA “VI_ERROR_NPERMISSION”,”BFFF00A8″,”Access to the remote machine is denied”
RESTORE N
!
!
ON ERROR GOTO Exit! Error Not Found in the list …
I=0
Value$=”NotFound”
!
PRINT “Value = “;Hex$
!
WHILE Value$<>Hex$
READ Code$,Value$,Meaning$
I=I+1
END WHILE
!
PRINT “ERROR CODE (“&VAL$(I)&”) : “;Code$
PRINT “Meaning : “;Meaning$
!
Exit: OFF ERROR
SUBEND