Hi Axel,
Thank you for the reply.
Question 1:
Here is my setting of the SMU:
{
"child_items": [
{
"child_items": [ ],
"is_checked": true,
"is_expanded": true,
"module_details": {
"module_type": "SMU",
"Label": "SMU1",
"value": "",
"Device": "SMU-Keithley_4200-SCS",
"Channel": "PMU1 - CH1",
"Port": "LPTlib via 192.168.X.XXX",
"SweepValue": "SweepEditor",
"SweepMode": "Voltage in V",
"RouteOut": "Rear",
"4wire": false,
"Compliance": "0.0001",
"SkipCompliance": false,
"Speed": "Medium",
"Range": "Auto",
"RangeVoltage": "",
"Average": "1",
"Configuration": "",
"PostProcessingResistance": false,
"PostProcessingConductance": false,
"PostProcessingPower": false,
"ShowPulse": true,
"CheckPulse": true,
"PulseCount": "1",
"PulseOffLevel": "0.0",
"PulseOnTime": "4e-03",
"PulseOffTime": "200e-3",
"PulsePeriod": "9e-03",
"PulseDelay": "1e-05",
"PulseMeasStart": 5,
"PulseMeasTime": 90,
"PulseRiseTime": "2e-05",
"PulseFallTime": "2e-03",
"PulseImpedance": "1000000.0",
"SweepEditor": {
"sweeps": [
{
"loop": "1",
"start": "0.0",
"end": "8.0",
"step_points": "7.0",
"scaling": "Points (lin.)",
"hold": "0.0"
}
]
},
"ListSweepCheck": false,
"ListSweepType": "Sweep",
"ListSweepStart": "0.0",
"ListSweepEnd": "1.0",
"ListSweepStepPointsType": "Step width:",
"ListSweepStepPointsValue": "0.1",
"ListSweepDual": false,
"ListSweepCustomValues": "",
"ListSweepHoldtime": "0.1",
"ListSweepDelaytime": "0.0",
"Comment": ""
}
}
],
"data_type": "Sequencer",
"version": "v1"
}
I can hear some sound that PMU is working, but the data remains all 0 in SweepMe.
Question 2:
I also tried to run the SMU_example.py in Spyder, but there is always an error message:
RuntimeError Traceback (most recent call last)
File ~\documents\sweepme!\tools\pythonscripts\sweepme code\smu_test.py:13
10 lpt = Proxy(tcp_ip, 8888, “lpt”)
11 param = Proxy(tcp_ip, 8888, “param”)
—> 13 lpt.initialize()
14 lpt.tstsel(1)
15 lpt.devint()
File ~\Documents\SweepMe!\Tools\PythonScripts\SweepMe Code\ProxyClass.py:131, in Proxy.getattr(self, function)
126 command_json = {
127 “class”: self._target_class,
128 “attribute”: function
129 }
130 command = json.dumps(command_json)
→ 131 result = self._send_to_server(command)
132 result_json = self.unpack_result(result)
133 if result_json[“return”][“type”] == “callable”:
File ~\Documents\SweepMe!\Tools\PythonScripts\SweepMe Code\ProxyClass.py:82, in Proxy._send_to_server(self, command)
81 def _send_to_server(self, command: str) → str:
—> 82 result = self.loop.run_until_complete(self._async_send_to_server(command))
83 return result
File ~\AppData\Local\miniconda3\envs\myenv\lib\asyncio\base_events.py:623, in BaseEventLoop.run_until_complete(self, future)
612 “”“Run until the Future is done.
613
614 If the argument is a coroutine, it is wrapped in a Task.
(…)
620 Return the Future’s result, or raise its exception.
621 “””
622 self._check_closed()
→ 623 self._check_running()
625 new_task = not futures.isfuture(future)
626 future = tasks.ensure_future(future, loop=self)
File ~\AppData\Local\miniconda3\envs\myenv\lib\asyncio\base_events.py:585, in BaseEventLoop._check_running(self)
583 raise RuntimeError(‘This event loop is already running’)
584 if events._get_running_loop() is not None:
→ 585 raise RuntimeError(
586 ‘Cannot run the event loop while another loop is running’)
RuntimeError: Cannot run the event loop while another loop is running
Question 3:
This message appears in the console of the LPTlib Server on 4200-SCS. It should be a step called “System Configuration Complete” according to the error code.
Thanks and best,
Daniel