[No...] Posted June 26, 2019 Share Posted June 26, 2019 Is it possible to save a report of the last calibration results of ALL EXISTING probes in a CNC run? I mean something like the built-in probe data report ("calibData......txt"), but this one only contains the probes used in the current program. I need the data of all probes in a text file, PDF or something. Link to comment Share on other sites More sharing options...
[De...] Posted June 26, 2019 Share Posted June 26, 2019 We use a 'Probing System Qualification' from the resources-> utilities menu to calibrate and then report using a result element. So for each probe that needs to be qualified we have a 'Probing System Qualification' followed by a result element which uses a formula to pull the probe information. In the result element we use a formula like the following to report standard deviation. getProbe("1","002").stdProbeDev Eric Moberg posted all these other getProbe() parameters a few days ago in another thread, so I would assume you would be able to use the same method to get any of this data as well and report it using a result element. .anglePosA1 Angle .anglePosA2 Angle .calibMode Mode of the calibration .calibration Calibrated yes / no .confName Name of the configuration .diameter Diameter .radius Radius .probeDate Date of the last calibration .probe Force Force of the calibration .probeTemp Temperature .shaftDirection Shaftdirection .shaftLen Shaftlength .shaftRadius Shaftradius .stdProbeDev Deviation of the calibration .probeVector.x Probe coordinate in X .probeVector.y Probe coordinate in Y .probeVector.z Probe coordinate in Z For your purposes maybe you could do the same but simply leave out the probe qualification part and only report the results. Link to comment Share on other sites More sharing options...
[No...] Posted June 26, 2019 Author Share Posted June 26, 2019 Yes, I also thought of something like that (btw. thanks for reposting the parameter list!) BUT I don't like the thought that I would have to maintain such a program myself and keep everything up-to-date. If I'd do it this way, the program would have to be capable of finding all probes and styli automatically, so I wouldn't have to change it all the time. But I have no idea how to write something like that, let alone the motivation. Link to comment Share on other sites More sharing options...
[Er...] Posted June 26, 2019 Share Posted June 26, 2019 viewtopic.php?f=21&t=1428 This could give you a push forward maybe? Pretty sure Im innocent of that :O Please sign in to view this quote. Link to comment Share on other sites More sharing options...
[No...] Posted June 27, 2019 Author Share Posted June 27, 2019 Amazing, but what I need is a list of ALL probes, independently from any measurement plan. Is there a way how I can find and read all of them with PCM? Maybe I should explain my problem: In serial production we calibrate our probes based on the current part to be measured in Autorun. That means when a part uses probes 1, 2 and 3, there's a calibration program which only calibrates probes 1, 2 and 3. Currently we investigate a discrepancy between the CMM measurements and other checks done during production. Part of that investigation is to keep track of the last calibration state of all probes we have. The people running the measurements are untrained in Calypso, so they need a quick way to see the last calibration result of any probe. Now I could just let them recall the last protocol of the calibration programs, but I can't be sure that the state shown there is really from the LAST calibration, simply because the same probe may also be used in other calibration programs and nobody knows which one was run last. That's why I need to have a global list of all probes, so anybody can quickly look up a certain probe at any time. And no, I don't want them to mess around in the stylus management... Link to comment Share on other sites More sharing options...
[Er...] Posted June 28, 2019 Share Posted June 28, 2019 Oh, I misunderstood you. Thought that Please sign in to view this quote. was referring to that specific run. Get all probes is even more straight forward. I'll post an example and leave you to be creative on your own. for i = 1 to baseSystem().machine.machineAllProbeObjects.size display("Stylus system: "+getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).confName) for j = 1 to getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).allProbes.size display("Nr: "+getParameterNamed(getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).allProbes.asArray,j).identifier+" - Dev "+getParameterNamed(getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).allProbes.asArray,j).stdProbeDev) next j next i Link to comment Share on other sites More sharing options...
[No...] Posted July 5, 2019 Author Share Posted July 5, 2019 Ok, thanks. I think I can make something out of this. But at the moment PCM is acting up a bit: I was trying to replace the display commands with a string variable assignment and added some quotes characters (+chr(34)) and commas (+","). The goal was to write each probe's data to a CSV compatible file with addToFile so I can read it with Excel. But as soon as I'm adding the chr(34) and commas, PCM goes wild. It throws a million of error messages at me, saying things like "parameter Dev is not defined" etc. I suppose what's happening here is some kind of mix-up between what is handled as a string and what as an internal variable or parameter name, which I currently blame on an unexpected behavior of the involved PCM commands - or maybe today is just not my day. Anyway at the moment I don't quite grasp where my code is taking the wrong turn: for i = 1 to baseSystem().machine.machineAllProbeObjects.size pst = chr(34)+"Stylus system: "+getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).confName+chr(34) for j = 1 to getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).allProbes.size pst=pst+","+chr(34)+"Nr: "+getParameterNamed(getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).allProbes.asArray,j).identifier+" - Dev "+getParameterNamed(getParameterNamed(baseSystem().machine.machineAllProbeObjects.asArray,i).allProbes.asArray,j).stdProbeDev+chr(34) next j addToFile("probes.txt",pst) next i Link to comment Share on other sites More sharing options...
[Er...] Posted July 5, 2019 Share Posted July 5, 2019 Dont use use the acsii nr, use: qm() Link to comment Share on other sites More sharing options...
[No...] Posted July 9, 2019 Author Share Posted July 9, 2019 I tried qm() but the result is still the same. I don't get why it's working without the additional characters, but errors when I add them. The output without the additional chars should be a string, right? PCM shouldn't interpret what's inside, so it shouldn't matter if I add quotes or whatever. But obviously it does. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in