Skip to content

Commit

Permalink
Adding new KXCI example
Browse files Browse the repository at this point in the history
1. Adding new example for KXCI use with 4225-PMU
2. Update to the readme file to include information about this new addition.
  • Loading branch information
jbrown1234 committed Oct 18, 2023
1 parent c93400e commit c2eaa49
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Instrument_Examples/Model_4200A/KXCI_Examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,6 @@ This example performs a family of curves test on a MOSFET, using the 4200A-SCS w

* **[family_curves_LAN_keithleyLib.py](./family_curves_LAN_keithleyLib.py/)**
This example performs a family of curves test on a MOSFET, using the 4200A-SCS with three SMUs connected to a MOSFET via a LAN connection. It will output the ID-VD Curves of the MOSFET directly onto the KXCI interface.

* **[pmu_scope_annotated.py](./pmu_scope_annotated.py/)**
This program outputs five square wave pulses (2V, 50e-6s) from a 4225-PMU without the 4225-RPMs. This code uses ethernet to communicate to the 4200A.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
"""
This program outputs five square wave pulses (2V, 50e-6s) from
a 4225-PMU without the 4225-RPMs. This code uses ethernet to
communicate to the 4200A.
"""

import time
from instrcomms import Communications

INST_RESOURCE_STR = "TCPIP0::134.63.74.187::1225::SOCKET" #establish ethernet connection with the 4200A - change address based your IP address
pmuWave = Communications(INST_RESOURCE_STR)
pmuWave.connect()
pmuWave._instrument_object.write_termination = "\0"
pmuWave._instrument_object.read_termination = "\0"


pmuWave.query("PS1") #reset pmu, directed to channel 1
pmuWave.query("PD1, 1e6") # sets output impedence to 10e6
pmuWave.query("PT1, 100e-6, 50e-6, 1e-6, 1e-6") #timing parameters: "channel, pulse period, pulse width, rise time, fall time"
pmuWave.query("PV1, 2, 0, 5, 0.01") #voltage source and current limit: "channel, pulse high, pulse low, pulse range, current limit"
pmuWave.query("TS1, 0") #software trigger source
pmuWave.query("PO1, 1, 0") #set output in normal mode
pmuWave.query("PG1, 0, 5") #Trigger mode, 5 pulse burst
pmuWave.query("PO1, 0, 0") #set output off
##send as a single wave on the MSO before executing the code

0 comments on commit c2eaa49

Please sign in to comment.