FTN4,L SUBROUTINE DVMST(IUNIT,IFUNC,IRGE,IARM), +09580-16133 1926 790502 C------------------------------------------------------------------- C C RELOC. 09580-16133 C SOURCE 09580-18133 C REV. A 770315 C REV. B 770901 C REV. C 790330 C BOB RICHARDS 790502 C C C HP 92425A TEST SYSTEM SOFTWARE IS THE PROPRIETARY C MATERIAL OF THE HEWLETT-PACKARD COMPANY. USE AND C DISCLOSURE THEREOF ARE RESTRICTED BY WRITTEN AGREEMENT. C C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. C ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM C MAY BE PHOTOCOPIED, REPRODUCED OR TRANSLATED C TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR C WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY. C C------------------------------------------------------------------- DIMENSION IERMS(5) DATA IERMS/10,5,2HDV,2HMS,2HT / IERMS = 10 ISTN = ISN(DUM) LU = LUDV(ISTN,5,IUNIT) LU0 = IBLU0(LU) IF(LU.LE.0.OR.LU0.LE.0)GO TO 800 10 CALL XVMST(LU0,LU,IERMS,IFUNC,IRGE,IARM) IF(IERMS)800,20,800 20 RETURN C C 800 CALL ERROR(IERMS,IERMS(2)) RETURN END SUBROUTINE XVMST(LU0,LU,IERR,IFUNC,IRGE,IARM), +09580-16133 1926 790502 C C C C C C C THIS DEVICE SUBROUTINE SETS UP THE HP5328A C UNIVERSAL COUNTER TO MAKE A VOLTAGE MEASUREMENT C THE 5328A MUST HAVE AN OPTION 021 OR OPTION 20 C DVM. C C CALL XVMST(LU0,LU,IERR,IFUNC,IRGE,IARM) C WHERE: C LU0 = LOGICAL UNIT NO. OF HP-IB C LU = LOGICAL UNIT NO. OF HP 5328A C IERR = 5 ELEMENT ERROR ARRAY C IERR(1) = ERROR CODE C C 0= NO ERROR C 1= PARAMETER ERROR C ERROR MESSAGES WHICH PERTAIN TO THE HP-IB C C 9 = I/O CALL REJECTED C 10 = LU NOT ASSIGNED TO HPIB DEVICE OR TO STATION. C 11 - DMA INPUT REQUEST PREMATURELY TERMINATED C 12 - I/O DEVICE TIME OUT C 13 - IFC (INTERFACE CLEAR) DETECTED DURING I/O REQUEST C 14 - SRQ SERVICE ABORTED C 15 - NON-EXISTENT ALARM PROGRAM C 16 - ILLEGAL CONTROL REQUEST C 17 - EQT EXTENSION AREA FULL, NO NEW DEVICE MAY BE ADDED ON LINE C C IERR(2)-IERR(5) = DEVICE SUBROUTINE NAME C C IFUNC = DVM MODE (0-2) C MODE FUNCTION C 0 DVM READ DC VOLTAGE IN VOLTS C 1 DVM/A READ DC VOLTS/FREQ-A IN V/HZ C 2 DVM A-B READ DC VOLTS*TI A-B IN V-SEC C IRGE = DVM RANGE (1-5) C RANGE GATE TIME MAX RESOL C 0-12.5V 12.-125V >125V C 1 .001 SEC 100 MV 1.0 V 10.0 V C 2 .01 SEC 10 MV 100 MV 1.0 V C 3 .1 SEC 1 MV 10 MV 100 MV C 4 1.0 SEC 100 UV 1 MV 10 MV C 5 10.0 SEC 10 UV 100 UV 1 MV C C C IARM = ARMING MODE C 0=ARMING OFF C 1=ARMING ON - READING TRIGGERED BY B-CHAN FOR C MODE=0,1-BY C-CHAN FOR MODE=3 C C C DIMENSION IDATA(4),IMDE(3),IERR(5),IARM1(2), 1IREG(2) EQUIVALENCE(REG,IREG,IA),(IREG(2),IB) DATA IMDE/2HF?,2HF3,2HF5/, 1 IARM1/2HS:,2HS;/ C C CLEAR ERROR CODE C IERR=0 C C C TEST PARAMETERS C IF((IRGE.LT.1).OR.(IRGE.GT.5))GOTO 9100 IF((IFUNC.LT.0).OR.(IFUNC.GT.2))GOTO 9100 IF((IARM .LT.0).OR.(IARM.GT.1)) GOTO 9100 C C SET REMOTE ENABLE ON BUS C CALL EXEC(100003B,1600B+LU0) GO TO 9000 90 CALL ABREG(IA,IB) IF(IB.LT.0)GO TO 990 C C CLEAR DVM C IDATA(1)=2HP C C SET TO PROPER DVM MODE C INDEX=IFUNC+1 IDATA(2)=IMDE(INDEX) C C SET TO RANGE IRGE C IDATA(3)=2HG0+IRGE+2 C C SET ARMING C IDATA(4)=IARM1(IARM+1) C C PROGRAM DVM C CALL REIO(100002B,2000B+LU,IDATA,4,IDUMY,0) GO TO 9000 99 CALL ABREG(IA,IB) IF(IB.LT.0)GO TO 990 C C RETURN C RETURN C C ERROR RETURN C 9000 IERR= 9 GO TO 9900 9100 IERR=1 GO TO 9900 990 IERR = IAND(IREG,377B) + 11 9900 IERR(2) = 5 IERR(3) = 2HDV IERR(4) = 2HMS IERR(5) = 2HT END END$