E5071C VBA 프로그래밍

Togotech (토론 | 기여)님의 2024년 7월 2일 (화) 20:18 판 (새 문서: E5071C VBA 프로그래밍 <ol> <li> 전자부품 <ol> <li>계측기 <ol> <li> 네트워크분석기 <ol> <li> E5071C 네트워크분석기 <ol> <li> E5071C GPIB 프로...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

E5071C VBA 프로그래밍

  1. 전자부품
    1. 계측기
      1. 네트워크분석기
        1. E5071C 네트워크분석기
          1. E5071C GPIB 프로그래밍
            1. E5071C VBA 프로그래밍 - 이 페이지
  2. 내부 VBA 프로그램에서. COM object를 사용한다.
    1. VBA = Visual Basic for Application
    2. VBA Programmer's Guide
      1. E5070A/E5071A, 2002/04, 2nd edition - 485p
      2. E5071B, 2007/06, 9th edition, firmware A.08.10 기준 - 813p
    3. 화면
    4. Fixture simulator
      1. Turns on/off fixture simulator function
        1. SCPI.CALCulate(1).FSIMulator.STATe = True
      2. Matching circuit embedding function
        1. On/Off: SCPI.CALCulate(1).FSIMulator.SENDed.PMCircuit.STATe = True
        2. Circuit type: SCPI.CALCulate(1).FSIMulator.SENDed.PMCircuit.PORT(1).TYPE = "slpc"
          1. NONE: no-circuit
          2. SLPC: series L and shunt C
          3. PCSL: shunt C and series L
          4. PLSC: shunt L and series C
          5. SCPL: series C and shunt L
          6. PLPC: shunt L and shunt C
          7. USER: user-defined circuit
        3. Circuit constant:
          1. C: SCPI.CALCulate(1).FSIMulator.SENDed.PMCircuit.PORT(1).PARameters.C = 12E-12
          2. G: SCPI.CALCulate(1).FSIMulator.SENDed.PMCircuit.PORT(1).PARameters.G = 12E-12
          3. L: SCPI.CALCulate(1).FSIMulator.SENDed.PMCircuit.PORT(1).PARameters.L = 12E-12
          4. R: SCPI.CALCulate(1).FSIMulator.SENDed.PMCircuit.PORT(1).PARameters.R = 12E-12
    5. 예제-1
        Private Sub UserForm_Click() Dim FmtData As Variant, Freq As Variant Dim SaveData(99, 800) Dim File As String Dim dmy As Long Dim start, finish File = "2.txt" Open File For Output As #1 SCPI.SENSe(1).SWEep.POINts = 801 Nop = SCPI.SENSe(1).SWEep.POINts SCPI.DISPlay.ENABle = False 'SCPI.DISPlay.ENABle = True ECHO "Nop=", Nop SCPI.TRIGger.SEQuence.Source = "BUS" Freq = SCPI.SENSe(1).FREQuency.DATA start = Timer For i = 0 To 99 SCPI.TRIGger.SEQuence.SINGle dmy = SCPI.IEEE4882.OPC FmtData = SCPI.CALCulate(1).SELected.DATA.FDATa For j = 0 To Nop - 1 SaveData(i, j) = FmtData(2 * j) Next j Next i finish = Timer ECHO "Elapsed Time=", finish - start For j = 0 To Nop - 1 Print #1, j + 1, Freq(j); For i = 0 To 99 Print #1, SaveData(i, j); Next i Print #1, Next j Close #1 MsgBox "Measurement Completion" SCPI.SYSTem.BEEPer.COMPlete.IMMediate End Sub
    6. reset 상태에서 S21 750MHz~1250MHz Nop=801 IFBW=70kHz 100번 스윕하는데 23.64초
      1. 데이터 전송포함하면 23.82초
      2. 화면 업데이트 하지 않으면 3.1초
      3. 100회 측정데이터를 배열로 처리하는데 3.2초
    7. IFBW=10kHz이면 약 9,6sec
    8. IFBW=100kHz이면 약 2,7sec