0

Issues with the Fluke 725 Calibration Procedure

Hello all;

Has anybody been having problems with the Fluke 725, FM ver. 2.20, failing the current source tests?  I have stepped through the program line by line and I have found the program feeds the com port 1 bit at a time.  This is fine if your testing at 9ma and below but go any higher than that and it fails.  Example: the source test is 24mA.  The global variable is @command is set to a24 (a is setting the lower screen to source mA).  The sub routine loads the first value (a) and then increments the local register (L[1]) by one and then reads and loads the next value (2).  The UUT is then set to output 2mA.  Then L[1] is incremented again to grab the last value of 4.  On the load, the UUT inputs 4mA.  Bingo - an automatic failure.  The UUT is not set to 24mA but to 4mA.  I have tried everything in my tiny knowledge to fix this but to no avail.  Thoughts?????

20 comments

Date Votes
0
Avatar
Daniel Reza

Hi Bill,

In the sub procedure on line 6.001 does the command line look like this below?

6.001  MATH   @Command = "24\r"  

Or is something else written there?

0
Avatar
Bill Allen

Hi Daniel;

In the subprocedure: Sub Fluke 725/725Ex mA Source Lower RS-232, the command line reads: MATH         @Command = "a" & @Milliamps & "\r".  So do you suppose its the \r (carridge return) is causing the issue?

0
Avatar
Daniel Reza

What version of the procedure do you have? Fluke 725: (1 year) CAL VER RS-232 /5520,3458 Revision 1.26. The subprocedure may have a different language. Can you copy and paste part of the code so I can see more about what it says?

0
Avatar
Bill Allen

Sure - the revision is  "$Revision: 7350 $" and this was the latest version posted on the procedure page.  Here is part of the code:

This is the RS232 write command:

1.001  PORT         [CLR]
  1.002  MATH         L[1] = 1
 
  1.003  DO
  1.004  MATH         Char = SUB(@Command, L[1], 1)
  1.005  PORT         [V Char][D500]
  1.006  MATH         L[1] = L[1] + 1
  1.007  UNTIL        L[1] > LEN(@Command)
 
This is the sourcing command:
 4.001  LABEL        mA_SOURCE
 
  4.002  IF           @FirmwareRev < 3
  4.003  MATH         @Command = "a" & @Milliamps & "\r"
  4.004  CALL         Sub Fluke 724/725/725Ex (FW<=2) Write RS-232
  4.005  ELSE
  4.006  PORT         *CLS;OUT [V @Milliamps] mA
  4.007  WAIT         [D100]
  4.008  ENDIF
 
  4.009  END
 
And this is the call for the value of milliamps to source:
5.001  M3458  RNGLK 100mA
  5.002  MATH         @Milliamps = "12"
  5.003  TARGET       -p
  5.004  CALL         Sub Fluke 725/725Ex mA Source Lower RS-232
  5.005  3458         12.000mA                                       F  N  2W
  5.006  WAIT         -t 5 System settling...
  5.007  TARGET       -m
  5.008  3458   24    12.000mA       0.02% 0.002U                    FE    2W
 
Hope this helps.

 

0
Avatar
Daniel Reza

If the previous commands worked with the MATH @Milliamps = 4 and 12, than it being set to 24 should work. If you want to send it manually try the following command.

         PORT         a[D500]2[D500]4[D500][13]

This will send the required command to the unit. Make sure to replace the math and subprocedure that is set up to send the command, I'd copy the commands that you remove just in case. So the whole line would look like this

         PORT         a[D500]2[D500]4[D500][13]

         3458         24.000mA                                       F  N  2W

         WAIT         [D1000]
 
         TARGET       -m
 
         3458   24    24.000mA       0.02% 0.002U                    FE    2W
 
Hope that helps.
0
Avatar
Bill Allen

Well I can give it a try but the command only works for 9mA and below.  The same problem happens with the 12mA command since the UUT is only seeing one number at a time.  since you are using the [13] command for the carridge return I am wonding if that should be used instead of the & "\r" command.

0
Avatar
Daniel Reza

I looked it up in the manual so I'm pretty sure that the command should work. Before you send the the port command I gave in my previous post, put a PORT [CLR]  Command too. The way I wrote it was the way the unit should take the commands. with the 500 ms delay. 

0
Avatar
Bill Allen

OK - I will give it a try!  Do you know how the local register works? L[1]...[n]  I tried to adjust the code where L[1] was set to 24 and when I ran the routine the UUT only took the first character.  Hummmm.

0
Avatar
Daniel Reza

In that procedure they used L[1] As a local counter. It will keep sending the command over the PORT until it has reached its limit. L[n] Is a local number register. So that number will only exist in the subprocedure or main procedure it's used in. To be a Global number you could use the M[n]. That number would exist for all procedures, including subprocedures. 

0
Avatar
Bill Allen

Well - your idea didn't work.  The unit only saw the last number entered which was the number 4 from this port command:   PORT         a[D500]2[D500]4[D500][13].  I tried using and RS232 emmulator from NI and I could not get the unit to accept a mA above 9; however, when I used Hyperterm as the emmulator, no problem.  Something is not right with the setup.  Thoughts anyone!

0
Avatar
Daniel Reza

Try the Port command without the delays or just type in

PORT 24[13]

You may not need the a since it is already in that mode. The procedure that I'm using doesn't have it in front of the milliamp value

0
Avatar
Bill Allen

Good idea but it didn't work.  The UUT only saw the first number.  Does your RS232 setup look like this?

 1.054  PORT         [P9600,N,8,1,N][T10000]
 
  1.055  IF           L[1]
  1.056  PORT         [TERM CR][OTERM CR]
 
 
0
Avatar
Daniel Reza

In the procedure that I have, it doesn't assign a TERM or OTERM But the Port config is the same. I'm not sure if that really matters though. Does the procedure run any more source events before hand? Such as the TC Hz or Voltage? If the order is the same as mine it should have. I just hope that it isn't the UUT, I've run this procedure and never had a problem. If it continues to be a problem, you may have to set the source current yourself instead of the procedure doing it. I've had to do that with a frequency counter that I use that for some reason won't respond to some IEEE commands. I have to set the unit manually and take readings manually. Sorry I couldn't be more help.

0
Avatar
Daniel Reza

I was looking over that procedure, the latest one, and it seems that maybe the procedure is terminating each line with the CR. I'm not sure if this is it, but if the OTERM is on, than as it's writting the characters, it may be terminating each line with a CR so it'd look like this to the unit

a[CR]1[CR]2[CR]

 

So maybe for that part of the procedure, you could try and turn off the OTERM and put in your own CR after the command. 

0
Avatar
Bill Allen

All of the commands for TC, Hz and Voltage work just fine.  what I will do is turn off the TERM and trying to running it manually as above: PORT  24[13].  This might work.  I hope - the units are starting to roll in.

0
Avatar
William (Bill) Spath

Bill,

    Question do you have a unit with Firmware 2.1 or lower?  If so does it work on the original procedure?

I wonder if the firmware v 2.2 is doing something funny and causing an issue.

 

Reason being is that Fluke Procedure writing team tested the procedure with firmware 1.7 and 2.1, but we have not tested the v2.2 firmware.

 

 

0
Avatar
Bill Allen

Daniel - I want to thank you for your help!  The UUT would not read/output the desired level - so I did the next best thing I set up a M[5] resister with @Milliamps value and built in a Message prompt to enter the desired mA value into the UUT and bypassed the mess.  This worked like a charm - but hey, I learned a lot during this process - thank you.

0
Avatar
Bill Allen

Hi Bill - not the UUT FW = 2.20.  Where can I find the lower version of software?

0
Avatar
Bill Allen

Hey Bill - you might want to let the software team know about this and to test with version 2.20, and let them know that when I tested the unit with Hyperterm, I was able to remotely enter a mA level above 9mA; but, when I used National Instruments explorer I was only able to get to 9mA.  Thanks.

0
Avatar
Daniel Reza

Glad to help! I had to learn a lot of Met/Cal programming on my own and do a LOT of trial and error. I'm glad I helped out at least a little. Good luck!

Please sign in to leave a comment.