! call pnmrget(gauss) ! Normal dipole, hardbend, and DQ test field in real*4 gauss from PULSED NMR. ! Packet read (vugetn) is used because of automatic error recovery ! Warning, accesses control system. subroutine pnmrget(gauss) implicit none integer i, nmrfreq, nmrstat, len real gauss_vms_flt(3), freq, unix_flt_tovms real, intent(out):: gauss(3) ! do i = 1, 3 nmrfreq = 0 call vugetn('PLS NMR PCKT', i, i, nmrfreq, 0, len) ! pkt 0 is freq call vugetn('PLS NMR PCKT', i, i, nmrstat, 11, len) ! pkt 11 is stat if (.not.btest(nmrstat, 0)) nmrfreq = 0 !freq. sweep not enabled if (.not.btest(nmrstat, 1)) nmrfreq = 0 !freq. lock not enabled if (btest(nmrstat, 14)) nmrfreq = 0 !freq. synthesizer out of lock if (btest(nmrstat, 15)) nmrfreq = 0 !freq. synthesizer cmd overflw freq = nmrfreq*4.768372e-6 ! MHz (2*20 MHz)/2**23 gauss(i) = 234.872*freq ! Gauss from MHz gauss_vms_flt(i) = unix_flt_tovms(gauss(i)) enddo call vmputn('CSR STATBLOK', 52, 54, gauss_vms_flt) !put float in vms !format to mpm return end