Congrats with the new version. But is there room in V2.44 for one more definition?
This is a definition for the Keithley K199 System DMM.
Sorry, but it will have to wait for next release, but anybody can download your zip file and add it to the current TC version.
I have added you frequency response to this:
https://lygte-info.dk/info/DMMFrequencyResponse%20UK.htmlAnd thanks for you additions.
when using the Rigol DP832 on the LAN interface i regularily got an invalid message and a timeout with numeric settings.
I added :updatedelayed: 0.1 to every command, now its working flawlessly.
I also added the Rigol DP832 without the A suffix.
I attached the updated txt file.
Thanks for the update, it will be included in next release.
Hi HKJ,
Couple of documentation things.
1. In the past I could find documentation on script flow control items like #if, #while, #elseIf. Now I can't find that documentation any more. I usually use Google search restricted to your site like this:
site:lygte-info.dk/ "#while"
In the past that search got me right to the documentation page. Right now it does not find it. Now it only finds a couple of pages with examples scripts that use #while and not the actual documentation. Am I just blind and not seeing it or has some page become de-linked???
2. Could you add to the interfaceType on web page
https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html Servo: Servo drive controlling a motor
Thanks
1. In the past I could find documentation on script flow control items like #if, #while, #elseIf. Now I can't find that documentation any more. I usually use Google search restricted to your site like this:
site:lygte-info.dk/ "#while"
In the past that search got me right to the documentation page. Right now it does not find it. Now it only finds a couple of pages with examples scripts that use #while and not the actual documentation. Am I just blind and not seeing it or has some page become de-linked???
It is not supposed to be on the website (I have never made a webpage for it), you type # on the command line and the help window will show all the commands for the script language. Type the full command and you will get help for it.
The calculator page:
https://lygte-info.dk/project/TestControllerFunctions%20UK.html contains info about the programming language (not script, they are different)
There is also some info here:
http://lygte-info.dk/project/Calculator%20UK.html for the programming language.
2. Could you add to the interfaceType on web page https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html
Servo: Servo drive controlling a motor
Done
V2.44 is up
...
Fixed: ProLogic GPIB uses lowercase control clr/llo/loc/trg commands
Hi HKJ,
I re-tested with the official
Prologix GPIB->USB Controller (with latest firmware: v6.107).
I can confirm that with the lowercase control commands the Prologix now performs flawless in TestController.
Actually, it would be a good idea to change the control commands for AR488 to lowercase too. After all, it is a clone of the Prologix.
AR488 tolerates uppercase, so works flawless at the moment. But who knows about future versions, clones of clones etc...
regards, Gertjan.
Hi HKJ,
I suspect I've just not found the right piece of documentation, but I'm having trouble with sending multiple commands to a SCPI device in a single line.
I have a solar array simulator that requires four parameters to generate a profile - if you only update a single parameter, that is assessed against the other three, and the device will simply reject it if it does not compute a valid result.
For this reason, it is best to send all four parameters as a single line so that it assesses the new parameters together.
However, it appears that by using the standard SCPI syntax of separating commands within the same subsystem with a semicolon, that Test Controller will inherently split them out to separate commands separated by <newline>.
For example, I need to be able to send the following as a single line:
CURR:SAS:ISC 6.75;IMP 6.36;:VOLT:SAS:VOC 25.9;VMP 22
But if I attempt to do so with Test Controller, it transmits as four separate items:
CURR:SAS:ISC 6.75
;; E4360A: Tx <CURR:SAS:ISC 6.75>
IMP 6.36
;; E4360A: Tx <IMP 6.36>
:VOLT:SAS:VOC 25.9
;; E4360A: Tx <:VOLT:SAS:VOC 25.9>
VMP 22
;; E4360A: Tx <VMP 22>
Is there a way around this? I've tried declaring it as a string but that doesn't seem to stop Test Controller splitting it on the semicolon.
Thanks!
Is there a way around this? I've tried declaring it as a string but that doesn't seem to stop Test Controller splitting it on the semicolon.
I do not remember where I split the commands, but you can try two different ways:
Use \x3b instead of ;
Use ascii driver.
Is there something I'm missing? Every time I exit TC it sends a reset to my Siglent DMMs that resets too much. For example, it disables the screensaver, and removes my statistics settings too.
Is there something I'm missing? Every time I exit TC it sends a reset to my Siglent DMMs that resets too much. For example, it disables the screensaver, and removes my statistics settings too.
This is done in the definition file, usually it is defined to return the meter to manual mode. Many devices disables keyboard input when running a SCPI connection to avoid keyboard interference with the communication, usually some sort of command is required to re-enable the keyboard.
It is this line in the Siglent definition:
#finalCmd abort;*cls;*rst
And it is probably the *rst that do a full reset.
In some DMM's you can save a initial state, that might be another solution.
You can modify it with any text editor that can handle plain ascii files.
Actually, it would be a good idea to change the control commands for AR488 to lowercase too. After all, it is a clone of the Prologix.
AR488 tolerates uppercase, so works flawless at the moment. But who knows about future versions, clones of clones etc...
I do not believe that modification is necessary, future version and clones will use the AR488 software and I doubt anybody will bother disabling uppercase commands.
Is there something I'm missing? Every time I exit TC it sends a reset to my Siglent DMMs that resets too much. For example, it disables the screensaver, and removes my statistics settings too.
Check it's not a Remote/Local mode issue.
It might be a bug, it might be TC.....
Check it's not a Remote/Local mode issue.
It might be a bug, it might be TC.....
How TC handles devices depends on definitions and a issue in a definition is not a TC issue (At least not directly).
Anyway I already posted a explanation about it and I believe KungFuJosh can fix the issue based on that explanation.
Check it's not a Remote/Local mode issue.
It might be a bug, it might be TC.....
How TC handles devices depends on definitions and a issue in a definition is not a TC issue (At least not directly).
Anyway I already posted a explanation about it and I believe KungFuJosh can fix the issue based on that explanation.
I quite understand.
Yes it seems the reset is the issue and hopefully a simple and elegant hand back solution to local command can be found and added to your definition.
Thanks for your great work.
Anyway I already posted a explanation about it and I believe KungFuJosh can fix the issue based on that explanation.
It's not TC's fault of course. I'm still looking for a solution though. I haven't found any command or variant of *rst yet that is helpful.
I also don't know that there's any way to alter the factory default state to my custom settings. If I find a solution, I'll share it.
Thanks,
Josh
Hi HKJ,
I am working to write a driver for Tasi 612C 4 channel thermocouple reader. It is a virtual serial port over USB and I can communicate with it. Being a binary/byte based serial protocol I have started with #driver ascii. To get the data I am using
#scpiCmd GetData? txrx1Bin? \xAA\x55\x01\x03\x03
:readmath: binConv(int(value),2,2,1,1)
Running this command returns a sequence of 13 bytes like the below example from the DOS debug window.
getdata?
;; TA612C: Tx <getdata?>
;; TA612C: Tx <txrx1Bin? \xAA\x55\x01\x03\x03
:readmath: binConv(int(value),2,2,1,1)>
;; COM4: TxBin: <ªU...> AA 55 01 03 03
;; COM4: RxBin: 55 AA 01 0B EB 00 ED 00 E9 00 EB 00 B7
;; TA612C: Rx <0>
;; 0
In the past with such devices I treated the returned data as a large integer and used binConV to get the number. With this device the data is for 4 channels and is
EB 00 => 0x00EB = 235 and divided by 10 yields measured temperature = 23.5 Deg C
ED 00 => 23.7 C
E9 00 => 23.3 C
EB 00 => 23.5 C
the rest of the bytes are a reply header and a check sum.
I tried using binConv as if all 13 bytes were in one big integer and then started at offset 2 and going for 2 bytes in an attempt to get one of the readings. But, TC returned 0 and not one of the desired readings. My guess is that with 13 bytes returned TC does not create a large integer with the bytes that I can then use binConv to pick out the individual numeric values.
Would you have a suggestions on how to parse out the 4 two bytes values from this returned value in the driver file? My goal is to use this command for the #askValues.
I am working to write a driver for Tasi 612C 4 channel thermocouple reader. It is a virtual serial port over USB and I can communicate with it. Being a binary/byte based serial protocol I have started with #driver ascii. To get the data I am using
Try using the block driver, it is designed for this type of protocol.
https://lygte-info.dk/project/TestControllerConfigDevice2%20UK.html#Binary_with_fixed_communication_blocks_(Block)You can see an example of this protocol in "Tenma 72-7715 thermometer.txt" and "ADC10F103C.txt" note: they uses the streaming configuration.
Thanks HKJ. I am now making good progress creating the driver. I will share when done.
I copied using the degree symbol in the #values line like in the Tenma example you suggested looking at.
#value T1 °C D1
On my PC the units show up with an extra character "A". See attached screen snip from the range tab. What causes that and/or how to get just the degree symbol to show up?
Thanks HKJ. I am now making good progress creating the driver. I will share when done.
I copied using the degree symbol in the #values line like in the Tenma example you suggested looking at.
#value T1 °C D1
On my PC the units show up with an extra character "A". See attached screen snip from the range tab. What causes that and/or how to get just the degree symbol to show up?
The degree symbol is a bit tricky, due to charset issues. You need to save the file in UTF with a BOM. TC will only recognize UTF files if they have a BOM, if the BOM is missing you get two characters. Not all editors will add a BOM to a UTF-8 file, but it will always be included in a UTF-16 file, i.e. if you have a options to save as UTF-16 use that (Both UTF16BE and UTF-16LE will work).