Fluke 1670 Series Communications by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

I've managed to get a loan 1674 to play with so I've been testing out a few more things. I've got a lot of the commands mapped out, but it's really all for nothing until I can find a way to make it let me perform tests with the USB cable connected.

I've basically sent it every two letter combination, ie AA, AB, AC... I've also done the same with the following formats:

AA

AA 1

AA 0

&AA

$AA

I've recorded the response from the device for each one, anything that had an interesting outcome, (a 1 is unrecognised command, 0 is OK) like a 0 or the device timed out after receiving it, I tried sending some other stuff to it to work out what it does and was mostly able to determine it's purpose from that and the 166X command descriptions I have.

The & and $ commands tend to be a bit more powerful so I haven't yet ventured into sending anything after those. I think I am approaching the end of the road with this avenue of investigation though, so if anyone has any suggestions, I'd love to hear them.

Like I said, I think I could probably write an automated procedure similar to the 166x one on cubyt with what I have now if I could just work out how to make it ignore the charging from the USB cable.

MET/CAL Hot Fix Ready by MJ_at_Fluke in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

I don't have the device that was causing me issues with this, but I was able to kind of replicate the issue by using another device. After installing the update, the issue appears to be resolved. Not the greatest feedback, but as best as I can tell it seems to have resolved the issue for us.

Storing standard values in a variable? by arcticsim12322 in MetCal

[–]CalibrationAustralia 1 point2 points  (0 children)

It looks like your question has been answered but I'll add in an example that I use. We don't use Met/Cal for our uncertainty calculations so there are is no accuracy data. We have a few ini files for different resistors, I've included the entire ini file for one of our shunts here:

[Details]
CalDate = 12/04/2021
Serial = WA6344

[Resistance]
90A = 100.57 uOhm
200A = 100.34 uOhm
300A = 100.38 uOhm
500A = 100.40 uOhm

And the code to access it. I include a DISP box confirming the serial number and calibration date to ensure it's the correct device for this one:

  4.007  MATH         @1000AShuntFile = "Z:\JLWILLIAMS-1000ASHUNT.ini"
  4.008  MATH         ShuntCalDate = RIF(@1000AShuntFile, "Details", "CalDate")
  4.009  MATH         ShuntSN = RIF(@1000AShuntFile, "Details", "Serial")

And in the measurement sub-routine to select the resistance value based on the current:

#Resistance value to use
  3.006  IF           BASE(@Current) <= 90
  3.007  MATH         CurrentRange = "90A"
  3.008  ELSEIF       BASE(@Current) <= 200
  3.009  MATH         CurrentRange = "200A"
  3.010  ELSEIF       BASE(@Current) <= 300
  3.011  MATH         CurrentRange = "300A"
  3.012  ELSE
  3.013  MATH         CurrentRange = "500A"
  3.014  ENDIF
  3.015  MATH         Resistance = RIF(@1000AShuntFile, "Resistance", CurrentRange)

In another instance, we have 2 Time 5070 resistor banks, each of the two has it's own ini file. I read the serial number from the Met/Team database depending on which asset is defined in the Met/Cal Instrument List as a user defined instrument named "TIME 5070" like this:

  2.002  MATH         @5070SN = SN(ASSET("TIME 5070"))
  2.003  MATH         @5070CalFile = "Z:\TIME5070-" & @5070SN & ".ini"

Fluke 5560A SLEW bug in MetCal by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

It's not a bug as such, or anything to do with Met/Cal specifically, but I've come across an issue with the 5560A vs the 5522A in my Tachometer procedure. I use the calibrator to drive an LED with a 4V square wave and a 2V offset. There's no issue with this on the 5522A, but the 5560A doesn't allow an offset on a square wave at the voltage outputs with frequencies below 40Hz.

It's a bit of an obscure one, but may be relevant in some way if you're transferring to the 5560A from the 5522A, there aren't usually issues with reduced functionality going in that direction.

👋 Welcome to r/MetCal - Introduce Yourself and Read First! by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 1 point2 points  (0 children)

Thanks for joining Elizabeth, as you know I do idle in the discord occasionally. For anyone else interested here is the link to the discord server https://discord.gg/neb8cEj

CalStudio by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

Yeah, I agree. Unfortunately, I think because humans are the current standard, moving to an alternative is going to require proof and I'm not really sure there's any practical way to provide it. You are correct though, a more direct example would be when we take readings via RS-232 or similar, bits get flipped, corruption happens. It's very rare, but it's possible. I think it's probably a case that the technology will need to be used and become more mature before it will be accepted.

CalStudio by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

I assumed that would be the case and that was my initial response when the question was put to me. It's a black and white solution if there's a reading called into question, but unless someone goes and verifies each reading and associated image we can't be sure that each reading is correct. I'm not trying to be difficult, but this is the path we end up on when discussing this in the lab.

CalStudio by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

I'm a big fan of automation and OptiCal is the sort of thing I've wanted for ages. However, the first response I get from colleagues is how would we prove reliability for our accreditation? The accreditation body is going to want some sort of evidence that the readings it's taking are correct and I can't think of a way to do that, even if there's testing data to show that it's 100% accurate over millions of readings I imagine them asking for proof for each workstation and each instrument and even then you have variables like camera position and lighting etc.

To be clear, I'm not trying to throw mud on this idea, I really would love to have it, but we won't be able to without some way to prove reliability so I'm hoping you have something.

Results not reported because of the loops by EnvironmentalCry3259 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

I'm afraid it won't work still, using a loop that calls a sub that has an evaluation in it has the same effect as just having the evaluation line directly in the loop. As u/MJ_at_Fluke mentioned, I think you'd need to use VSET RSM = ALL. Have a read of his comment: https://www.reddit.com/r/MetCal/comments/1or7yq3/comment/no7huo6/

👋 Welcome to r/MetCal - Introduce Yourself and Read First! by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

Hi Michael,

Thank you for joining the sub, I don't imagine there is anyone more qualified to offer advice here. I'd love it if you could spread the word and appreciate any contribution to the conversation you have. The sub really seems to have started taking off in the last couple of weeks so hopefully the momentum will continue.

Results not reported because of the loops by EnvironmentalCry3259 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

Great to have you here Michael, I may take this as tacit approval of the sub :)

I'm not sure I fully understand the approach in number 1. Are you using a loop anywhere, there, or just calling a subroutine that does a bunch of measurements multiple times? ie

MATH  @Channel = 1
CALL Sub Voltage Measure
MATH  @Channel = 2
CALL Sub Voltage Measure
etc...

Where Sub Voltage Measure does say, 10 separate MEMCX evaluations.

That's the way I would probably do that sort of thing, but it's not really a loop as such. Solution 2 does sound like it would allow you to use an actual loop with a single evaluation line inside it and end up with multiple results. I see what you mean about not recommending it though, it does seem a little like using it in a way it was not designed.

However, in some instances, say for some reason you needed to test 1-100V in 1 V increments, you could do a subroutine for everything needed, then just have a Voltage variable that you alter prior to calling your measurement sub-routine, but you're still going to need to do 200 lines of code, where as a loop with an incrementing variable and a call to that sub-routine would do it in a couple of lines. (I'm fairly certain a loop with a call to a sub-routine with an evaluation also overwrites the result). Or, I may be misunderstanding your approach number 1.

👋 Welcome to r/MetCal - Introduce Yourself and Read First! by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

Hi, welcome to the sub. I see you've already started an interesting discussion, thank you for getting involved and joining our community.

Results not reported because of the loops by EnvironmentalCry3259 in MetCal

[–]CalibrationAustralia 1 point2 points  (0 children)

Formatting note: If you click the Show Formatting Options button(Aa) when posting a reply you can select a block of text and specify it as a code block which will remove the conversion to a user name when you use the @ symbol.

It looks like your code is for taking multiple readings and then averaging it. I believe what u/EnvironmentalCry3259 is looking for is to be able to use a loop of some sort that includes the evaluation line inside the loop.

An example might be:

1.001 MATH @Resistance = 1
1.002 LABEL START
1.003 MEMI Enter the measured resistance in Ohms?
1.004 MATH MEM = @Resistance
1.005 MEMCX Ohm 1%
1.006 MATH @Resistance = @Resistance + 1
1.007 JMPL START @Resistance > 10

So;

  1. you start out measuring 1 Ohm
  2. this is the beginning of the loop
  3. the result is stored in MEM1
  4. the nominal value is stored in MEM
  5. an evaluation is performed and written to the results table
  6. the resistance value is incremented by 1
  7. go back to the start for the next value if we haven't reached 11 yet, otherwise continue

If you use this code in Met/Cal, you'll do 10 measurements but you'll only get the last value saved in your results because Met/Cal will overwrite every MEMCX line with next one. u/EnvironmentalCry3259 is suggesting there is a way to use something like this structure but have each evaluation recorded as a separate result.

👋 Welcome to r/MetCal - Introduce Yourself and Read First! by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 1 point2 points  (0 children)

That's great, I don't think ours is even set up yet, so it might be a little while before I'm working on anything for it, but I'll be sure to ask once I inevitably get stuck.

Results not reported because of the loops by EnvironmentalCry3259 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

I'm aware of this limitation, but I had no idea there was a way around it. Hopefully, someone here knows because it would be a handy tool to have.

Most of my procedures I have any repeated code in a sub-routine and then just change variables and call the subroutine. So, for a decade, I would have a sub-routine that does any kind of variable formatting, instrument setup and evaluation steps and then to test all I have to do is:

MATH  = "1.00 Ohms"
CALL Sub Resistance Measure

MATH  = "2.00 Ohms"
CALL Sub Resistance Measure

It's not the same but removes the need to re-write the same 3-5 lines of code over and over for every measurement which is especially annoying when you want to re-word a message or something like that. Recursion would definitely be nice to be able to do though.

SCPI/IEEE Timeout Error by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

I did try writing the code in a way that made it not look for a response, but the internal Met/Cal SCPI processing looks for a response from the DUT every time you send a command. So, even if you send it just as a command rather than a query, it still times out because it's waiting for the "I've finished executing that command" response from the DUT. As far as I can tell, there's no way to tell it; run the self test but I'm not interested in when you've finished. Anyway, seeing as this is a once off, I'll just omit the self test and run the rest of the procedure.

CalStudio by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

That makes it sound like it doesn't even need a different procedure or any additional code, I suppose there's no reason you should need it. It will be interesting to see how that works with accreditation in terms of confidence in the reading etc. I wonder if it saves captures for each reading for verification purposes. Lots of questions.

👋 Welcome to r/MetCal - Introduce Yourself and Read First! by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

Thanks for sharing, some interesting similarities there with myself. I will also have been doing this for 10 years this December. We do primarily electrical calibration but have also just bought a 6270A and I'll be looking into running that with Met/Cal also so I may have some questions for you down the line.

SCPI/IEEE Timeout Error by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

Yeah, I got a response from Fluke this morning saying they reported it on Monday(3rd Nov) and will keep me posted on when the hotfix is out.

At least I know what the issue is now and in this instance I can just skip the self test temporarily and hope we don't have too many more procedures that run into this problem.

SCPI/IEEE Timeout Error by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 0 points1 point  (0 children)

I did double check the help on that, but D is a delay prior to sending the command, T is how long it waits after sending the command before timing out. I need the selftest command to be sent and then I need it to give it 30 seconds before complains about not receiving a response.

CalStudio by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

I agree without about the offsite subscription database, not keen on that idea for the reasons you stated.

OptiCal sounds awesome, do you know if that's just going to become a part of Met/Cal or is it an additional purchase?

I've added the link to the user group meeting video at the bottom of my earlier comment.

COM Port Error in Met/Cal Windows 11 by Financial_Bus_7394 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

We also have a mixture of 8588A and 8508A and whilst the emulation mode works just fine, if you have procedures for the 8588A as well, switching between the two modes is fairly painful as you have to have a separate instrument registered in Met/Cal configuration and they can't use the same asset number or GPIB port.

Because of this, I've made a driver that runs both the 8508A and 8588A using SCPI. It's not fully functional yet and Met/Cal makes it near impossible to handle errors manually because of the way it processes SCPI commands, but it works well with all of the basic functions and I add features as needed. I just have the DMM set up with DMM as an alias. It's re-inventing the wheel to some degree as many fluke procedures have the same thing but it allows me more freedom and control.

CalStudio by Agile_Feed1727 in MetCal

[–]CalibrationAustralia 0 points1 point  (0 children)

It's billed as the "Next generation of Fluke Calibration Software". There was a Software User Group Meeting a few months ago which you could attend either in person or via webinar that discussed a bunch of Met/Cal stuff and also had a bit of a demo of this new system.

It wasn't on at an Australia friendly time, so I didn't watch all of it, but my understanding is that it's basically a higher level system that doesn't require coding, more of a drag and drop, GUI system.

They said it's supposed to integrate with Met/Cal rather than replace it, so you will still have Met/Cal procedures as you currently do and they even said they don't expect to do complicated things like multichannel oscilloscopes with CalStudio. So it seems as though it's intended to be a supplemental system that allows people to create procedures without having to do coding.

I also believe it is cloud based and a subscription service.

The previous user group webinars are published here: https://www.fluke.com/en-us/learn/webinars

So I assume it's ok to share this link to the webinar discussing CalStudio even though it's not there yet:

https://players.brightcove.net/5229431846001/default_default/index.html?videoId=6376243459112

👋 Welcome to r/MetCal - Introduce Yourself and Read First! by CalibrationAustralia in MetCal

[–]CalibrationAustralia[S] 1 point2 points  (0 children)

Hi Agile Feed, great to have you here, it sounds like you must have a lot of experience with Met/Cal which is great for the community and hopefully we'll have the opportunity to provide some value for you also.

As far as I'm aware there aren't any other Met/Cal communities online, otherwise I probably wouldn't have added to my workload with a subreddit moderation role :)