Jump to content

Temperature Readings


---
 Share

Recommended Posts

Hi All,

I have two questions:

1) Is it possible to have PCM automatically record the start, and end temperatures (from the built in temperature sensors), and have them shown on the report?

2) Is it possible to have PCM automatically record the temperature at set intervals (say every 30 seconds), and have the max/min shown on the report?

Thank you for all the assistance.
Link to comment
Share on other sites

#1 is unlikely, but it might be possible if you ran from characteristics rather than features and put one characteristic at the beginning and one characteristic at the end of the program.

If you are running from features I am pretty sure it would simply grab both at the same time. Unfortunately, even when running by characteristics, I have a bad feeling it would grab the data once, and then on the subsequent characteristic it would outsmart itself by 'knowing' it already checked the temp once so it would simply use the original numbers rather than checking the temp again.


I am pretty sure #2 is impossible.

You might be able to get it to measure temperatures every thirty seconds, but it would ONLY be able to do that.

In other words you would not be able to perform any other measurements while it was doing that.


Hopefully someone tells me I am wrong, cause this sure would be a nice thing to be able to do.
Link to comment
Share on other sites

#1, Sure, just log temp in pre-settings of the program, and then also do it in the post-settings. We do it on all "blade-programs", and the temp is not allowed to shift more then 0.2°C from start to end.

#2, Yes, but you need to start a forked process in your pre settings. (like multi-threading) But this is more on the more advanced chapter of PCM.
Link to comment
Share on other sites

I've never done it, but i've looked into it because we have 1 customer who brought it up a couple months ago and i came up with a preliminary "plan" that i have yet to do anything with.
My thought was that i would put into the presettings and post settings
STARTTEMP=readWPTemperature()
ENDTEMP=readWPTemperature()
Then i would simply output those values into a text or result element.

I don't know how to take a temp at a set interval, but say your program has many features in it, you could put a temp reading into the presettings of each feature, so it will take readings all along the program run. the longer the program the more data points you will collect.
TEMP1=readWPTemperature()
TEMP2=readWPTemperature()
TEMP3=readWPTemperature()
Then at the end you could find a way to display or filter your readings however the customer wants to see them.
Link to comment
Share on other sites

I'm not sure I understand the need for a temp reading every thirty seconds. The temp reading is taken at the beginning of the cycle and used through out the remaining inspection. It can't continuously change the coe value during the inspection, cause it would adversely change the results. You have to stabilize the temp before running the program. Before and after could show too much change, and nullify the results. That makes sense .
Link to comment
Share on other sites

Please sign in to view this quote.

Unless you are in a precision lab that is built for machines like the Xenos, you are always going to have temperature change. Normalizing the parts is an important process, but it's also an important process to have a log of the temperature during a measurement run. This is something that you will see a Zeiss tech do (granted they use their $1,200 reference thermometer to record it). Actually have a variable temperature compensation would be pretty cool, but that's not what I'm looking for. I'm just looking for a way to log the change in temperature.
Link to comment
Share on other sites

Hi Richard, excuse my english!

I have no idea about every 30 seconds, but we solved it this way.
The initial settings of several elements must contain:

addToFile (getActualInspectionDir () + "\ Temp.txt", readActualWPTemperature ("1 + 2"))

The input settings of the test plan must contain:

File_da = fileExists (getActualInspectionDir () + "\ Temp.txt")
if File_da then
deleteFile (getActualInspectionDir () + "\ Temp.txt")
endif


The initial settings of the test plan must contain:

Values = readListFile (getActualInspectionDir () + "\ Temp.txt")
Mmax = 0
Mmin = 100
for i = 1 to values.size
value = getParameterNamed (values, i)
if val (Mmax) <val (value ) then
Mmax = val (value )
endif
if val (Mmin)> val (value ) then
Mmin = val (value )
endif
next i
message (Mmax)
message (Mmin)


I had no success with PCM max / min but it should work that way!
Mmax and Mmin contain the values!
Link to comment
Share on other sites

Herbert Spitzer, May I suggest something more efficient that achieves the same thing?

deleteFile(getActualInspectionDir() + "\ Temp.txt")
addToFile(getActualInspectionDir() + "\Temp.txt", readActualWPTemperature("1 + 2"))
Values = readListFile(getActualInspectionDir()+"\Temp.txt")
message(Values.sort.first)
message(Values.sort.last)
How ever, do you wish to record the workpice temperature, or as you said the sensors from the machine? Or all available sensors?
I'm free from my own work to morrow, so then I can do yours. 😉 Or atleast show you an example of how to read the temps every 30 seconds while the program is running.
It's hard to help when not knowing what you wish to accomplish.
Link to comment
Share on other sites

Please sign in to view this quote.

Hi Eric,

Thank you for the assistance. I would only be looking for the built in temperature sensors (1+2).
Link to comment
Share on other sites

  • 3 weeks later...

Please sign in to view this quote.

I have never used PCM (or temperature settings) before, but I figure this might be a fun trial to get my feet wet.

Do I need to input anything in the parenthesis of "readWPTemperature()"? I see some people typing 1+2 and whatnot. EDIT- figured this out. But how do I activate the sensors?

Do I need to activate thermal compensation for the readings to register (or do anything other than adding those to the pre/post settings)?

What would I type to pull the STARTTEMP in result element? Would it just be: "getActual(STARTTEMP)"?

I appreciate any help.
Link to comment
Share on other sites

Please sign in to view this quote.

I would imagine that you would need to activate them. You can always enter 0.0 for the comp factor, so it doesn't temp comp anything, but the temperature reading is active, and read.
Link to comment
Share on other sites

When I've done the Start/End Temperature from a manual standpoint, you create two result elements. One called Start Temperature, and one called End Temperature. In the pre-settings, you enter "getActual("Start Temperature").actual"
Link to comment
Share on other sites

Let's say I just want to report the temperature at the start of the run. This can be in the header or as an actual characteristic. How would I do it? Everything I try says that I'm using readWPTemperature incorrectly.
Link to comment
Share on other sites

readActualWPTemperature 
Reads the current temperature of the specified workpiece sensor in the CNC run and returns it in degree Celsius. The syntax is: 
readActualWPTemperature([temperature_sensor])
Here, “temperature sensor” is a character string comprising one or more sensor numbers connected by "+". Values for “temperature sensor” can be, for example, "1", "2" and "1+2". 
Examples: 
Command/assignment Return value/effect 
readActualWPTemperature() The temperature sensors selected in the dialog are read 
readActualWPTemperature("1") Temperature of workpiece sensor 1 
readActualWPTemperature("1+2") Average value of the temperatures of sensor 1 and sensor 2 

You can include the read value in the printout or, for example, compare it with the initial value which is available via the getTemperatureCorrection().tempWp function. 
readWPTemperature 
Reads the current temperature of the workpiece sensor and blocks transfer of the temperature immediately before probing the first feature. This requires previous activation of the temperature compensation function. The syntax is: 
readWPTemperature()
If this function is entered in the input parameters of the measurement plan, the temperature transmitted by the sensor will be transferred. This allows the temperature transfer to be brought forward. The function may be used only once in the measurement plan. 
Link to comment
Share on other sites

Thanks Richard, I've seen that in the help file. I just don't understand how to actually report the value in a characteristic/ in the header.

I have zero experience with PCM, so sorry if this is really basic 🤣
Link to comment
Share on other sites

Please sign in to view this quote.

If you are doing it from the characteristic side:

- Add a Result Element
- Name it Temperature
- Change the type to Number
- Inside of the result element, right click on Formula - select Formula
- Enter this without quotation marks "readActualWPTemperature()" or if you have actual temperature sensors you could do something like "readActualWPTemperature("1")" or "readActualWPTemperature("2")" or "readActualWPTemperature("1+2")"

- On the characteristic tab, make sure nothing is selected, and click on the Parameter button.
- In the pre-settings, add this without quotation marks "getActual("Temperature").actual"


If you have Temperature Compensation on, Calypso will add the Workpiece Temperature to the top of the report, but this is only if you run the measurement plan from the very beginning, you can't start and stop it. In addition, if you have PiWeb SBS/Enterprise it isn't transferred as a characteristic, so using the PCM way is more effective.
Link to comment
Share on other sites

Please sign in to view this quote.

Thanks a lot Richard. Could you help clarify one thing? What does adding the "getActual("Temperature").actual" to the presettings of the characteristic parameters actually do? My Results look the same if it is there or not.
Link to comment
Share on other sites

  • 1 year later...
Hi All
We have a rotary table and temperature sensors on flying leads (which we cant use for obvious reason)
We are trying to read the workpiece temperature at start and end of program with a temperature probe inserted in the vast head.
we have activated the temp comp and selected the temp probing feature from the vast head .
In the result element we have tried readActualWPTemperature() but this reads the flying lead sensors 1+2 (we found this out by holding flying leads in our hand)

Is there some more we should type in the brackets so we are using the vast temperature probing?
Link to comment
Share on other sites

 Share

×
×
  • Create New...