Stanford Research PS375 PC communication Software - Page 1
Forum section: electronics / testgear

author: simba15
author_rank: Regular Contributor
timestamp: October 11, 2022, 06:19:58 pm
content: So I am trying to read from a specialized Power supply SRS PS375.It is connected via RS232 to my win 10 pc.I AM able to get a response from "IDN?" on the software EEZ Studio.I am also trying with "TestController" but it seems I must create a custom device to allow it to communicate?(I always get error like "Did not find any match for: StandfordResearchsystems,PS375"http://lygte-info.dk/project/TestControllerConfigDMM%20UK.htmlAre there any guides to create a small script for a custom read (just want to log Current reading) every 100ms.I am OK with either software EEZStudio or TestController. ( both seem great just can never find guides that show "custom SCPI Device read" or " Graph values from SCPI device")Thanks.

author: HKJ
author_rank: Super Contributor
timestamp: October 12, 2022, 05:30:34 am
content: Quote from: simba15 on October 11, 2022, 06:19:58 pmTestController always needs a definition, it i very simple to start on, put these lines in a file in (..\Documents\TestController\Devices):#idString StandfordResearchsystems,PS375#name Standford Research PS375#handle SRPS375#port com; For documentation see here:https://lygte-info.dk/project/TestControllerConfigDeviceUK.htmlThen it will connect and you can send commands to it.A more usable definition takes more work, it needs a couple of lines with #value and a #askValues for TestConttroller to read values from the device.This may look something like:#value Current A D3#value Voltage V D3#askValues MEAS:CURR?;MEAS:VOLT?Note: The semicolon ; is used between commands and each command is expected to return one numeric value. Other formats can be handled, but it might require a bit more.To control from a popup in TC you need a couple of #cmdSetup lines.

author: simba15
author_rank: Regular Contributor
timestamp: October 12, 2022, 12:34:26 pm
content: Thanks HKJ,I was able to add a Definition file for the PS375. (and a Keithley 2701 that I am testing on)And I was able to connect to the device, then I can send the command READ? and the meter responds accordingly. ( but it also gives an error 213, seems from the extra ";;" that is sent)When I go to the "current values" the meter just beeps and shows ERROR 213 ( the log only shows lines of ";;" no READ? command from #askvalues READ?How can I update the definition file so that I can graph this value?Thanks!

author: HKJ
author_rank: Super Contributor
timestamp: October 12, 2022, 01:03:47 pm
content: Quote from: simba15 on October 12, 2022, 12:34:26 pmFor graphing and value readouts you need the #value and #askValues definitions.#askValues lists the commands need to get the values you wants, it can be one or more commands.There must be a #value line for each returned value from #askValues, each line contains:#value heading unit displayFormatYou can read more about it here:https://lygte-info.dk/project/TestControllerConfigDevice UK.htmlIf you want a popup menu to configure the device look at the #cmdSetuphttps://lygte-info.dk/project/TestControllerConfigDevice UK.htmlUse the debug .bat file to check the actual communication.If you make a usable definition please post it inhttps://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/

author: simba15
author_rank: Regular Contributor
timestamp: October 12, 2022, 08:11:30 pm
content: Thanks Again HKJ,It is a really nice program, Just need some more clarification on some of the functions.The debug function is really helpful at this stage.I can see the device is responding with the measured value but it seems the program is blocking it as the response contains more than just the decimal value.;; 01: Tx <READ?>;; 01: Rx <+2.01366577E+01VDC,+133.432121SECS,+00792RDNG#>;; 01: Rx as numbers <NaN NaN NaN>I can see the "readFormat" section but I don't see this in the Keithley 2000 def or the HP34401 def file.How can I resolve this?Thanks!

author: HKJ
author_rank: Super Contributor
timestamp: October 12, 2022, 08:29:37 pm
content: Quote from: simba15 on October 12, 2022, 08:11:30 pm#askValuesReadFormat uuuAnd then you must have a #value for each number:#value Volt V D5#value Time s D2#value Count - D0You can ignore some of the numbers (here the count):#askValuesReadFormat uuxAnd that means one #value less.#value Volt V D5#value Time s D2You cannot use spaces in the names, but you can use a underscore _ and it will be replaced with a space.

author: simba15
author_rank: Regular Contributor
timestamp: October 17, 2022, 07:55:56 pm
content: So seems i am stuck on this step.I am using the HP 34401a as a reference ( as I have this and it works great)I cannot see #askValuesReadFormat in the def file, but it seems the 34401a is doing some conversion, as the response is adjusted.;; HP34401A: Tx <READ?>;; HP34401A: Rx <-1.21400000E-04>;; HP34401A: Rx as numbers <-1.214E-4>Where is this occur in the 34401 def file?What is refereed to by the D0...D6 values? Are these part of there Meter SCPI? of part of "TestController"Thanks! I really hope to get this working.I Also attached my testing def file if it helps.

author: HKJ
author_rank: Super Contributor
timestamp: October 17, 2022, 08:24:46 pm
content: Quote from: simba15 on October 17, 2022, 07:55:56 pmUsing a voltmeter as reference is not that good of a idea, because it has different modes, a power supply do not. It makes the definition rather different. A meter needs the #askMode and power supply will usually not need it.The #askValuesReadFormat is used when the device returns anything but plain numbers, in this case there are units attached to the number and you need to get rid of them.Like this line:#value VoltageDC V D6 VDC,dIt is only used when the meter is in voltage or diode more (VDC,d), removing the last part will make the line valid all the time:#value VoltageDC V D6The D0..D15 is number of decimals TestController will display. In TC there are 3 basic numeric format D=Fixed number of decimals, X=Up to number of decimals, SI=Use si prefix (MKmunp) and use up to specified number of digits. In a power supply something in the range D1 to D4 is usually needed.I believe your biggest mistake was starting with a voltmeter definition, instead of a power supply definition. You need to fix the #value line and you will probably need to get rid of:#askMode#interfaceType DMM BMM#interface readValue 0#cmdMode#prepareSample#finalCmdAnd the associated lines.

author: simba15
author_rank: Regular Contributor
timestamp: October 24, 2022, 12:58:18 pm
content: HKJ, Thank you very much.I was able to get the meter to respond to the measured values and was able to graph some data.The next challenge is the Current value always responds in unsigned format. this makes the program think the the value is negativeMeter responds with 4E-6 Is there a way to filter the "-" value? The manual states it is "unsigned"Thanks. I will be sure to add this meter to the main thread once its it 100%.

author: HKJ
author_rank: Super Contributor
timestamp: October 24, 2022, 02:03:10 pm
content: Quote from: simba15 on October 24, 2022, 12:58:18 pmThat do not make sense, TC knows hos to interpret 4E-6 as 4uA.When needed you can do a lot more filtering with #askValuesMathFormat (That is similar to :readmath: at other locations), but you do not want to remove the "E-6", it is needed to get the correct value.Quote from: simba15 on October 24, 2022, 12:58:18 pmI look forward to it, it is always nice to add another device to the supported list.