Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Precise timing, analog readings
#1
Hi
I’m setting up a program on a system running on Turbo PMAC 2 (UMAC-rack). The purpose of the program is to measure a voltage (a welding pulse) with high resolution, at least every msec. The welding pulse is 28msec wide and there’s a 13 msec pause between two pulses. The signal is inputted on a ACC-28E

In addition I first wanted to output this to an E-series Mitsubishi E-910 touch screen, but from what I can understand it can not handle these update rates without storing the values on the UMAC and then feeding them afterwards to the touch screen. I also want to keep the values to check the correlation between bad welds and pulse- strength and alignment.

With this said I am new to the Delta Tau system. I’ve looked through some of the manuals and found the ‘Precise Timing’ chapter in the Turbo PMAC user manual, and I’m wondering just how precise these timers are. Would I be able to do the 1 ms sampling with less than 50us deviation on these?

I5312=8388608/I10 // 1ms interval , timer CS#3
While (5312>0)
Endwhile
P2000=20*M7100/65535 //scaling
// input these samples into an array for later use.
P2001=P2001+1 // test function


Per
#2
This would be best done with the PMAC data gather function. You set a gather period in units of the PMAC servo cycle. It has a resolution down to one servo cycle. The gathered data is stored in PMAC memory. This is a PMAC built in function and requires no PLC control other that the commands to set up and start the gather. This feature is described in detail in the “TURBO PMAC USER MANUAL” in the section “Data Gathering” starting on page 420 (436 electronic). Here is the link to the manual on our WEB-site: http://www.deltatau.com/manuals/pdfs/TUR...7626458180



(07-14-2010, 01:30 AM)PGoms Wrote: Hi
I’m setting up a program on a system running on Turbo PMAC 2 (UMAC-rack). The purpose of the program is to measure a voltage (a welding pulse) with high resolution, at least every msec. The welding pulse is 28msec wide and there’s a 13 msec pause between two pulses. The signal is inputted on a ACC-28E

In addition I first wanted to output this to an E-series Mitsubishi E-910 touch screen, but from what I can understand it can not handle these update rates without storing the values on the UMAC and then feeding them afterwards to the touch screen. I also want to keep the values to check the correlation between bad welds and pulse- strength and alignment.

With this said I am new to the Delta Tau system. I’ve looked through some of the manuals and found the ‘Precise Timing’ chapter in the Turbo PMAC user manual, and I’m wondering just how precise these timers are. Would I be able to do the 1 ms sampling with less than 50us deviation on these?

I5312=8388608/I10 // 1ms interval , timer CS#3
While (5312>0)
Endwhile
P2000=20*M7100/65535 //scaling
// input these samples into an array for later use.
P2001=P2001+1 // test function


Per
#3
Thanks for quick response!

I've read through the data gathering part but can't really get it all right.

First I define :

M56->X:$000006,19 // direct gather/endgather control
I5000=3 // DPRAM storage RT
I5049 = 8388608/I10 // gather rate of 1ms
I5050=3 // gather I5001 and I5002 only
define gather 1024 // 1024 word buffer

From here I start and stop the gather with M56=1 and 0 in my PLC

I guess the buffer will be rolled over when it hits it limit, but I'm going to collect the data before that anyway. How would I go about getting my data from M7100 ( M7100->Y:$078D00,8,16,U) to the I5001 source address. The other data in I5002 would just be the time in ms to use with the I5001 value.

Seems I managed to store something in the buffer when I played around, but I couldn't read it from PEWIN with the LIST GATHER command. It just gave an error. Is there any way in PEWIN to print out the gathered data?

Do anyone have any examples for writing and reading the gathers?


Thanks in advance
Per
#4
The “LIST GATHER” command is not valid for DPRAM gathering. The host computer must use the method outlined in the Turbo PMAC User Manual.

I will search our appnotes for any relevant code on this topic.


(07-15-2010, 07:35 AM)PGoms Wrote: Thanks for quick response!

I've read through the data gathering part but can't really get it all right.

First I define :

M56->X:$000006,19 // direct gather/endgather control
I5000=3 // DPRAM storage RT
I5049 = 8388608/I10 // gather rate of 1ms
I5050=3 // gather I5001 and I5002 only
define gather 1024 // 1024 word buffer

From here I start and stop the gather with M56=1 and 0 in my PLC

I guess the buffer will be rolled over when it hits it limit, but I'm going to collect the data before that anyway. How would I go about getting my data from M7100 ( M7100->Y:$078D00,8,16,U) to the I5001 source address. The other data in I5002 would just be the time in ms to use with the I5001 value.

Seems I managed to store something in the buffer when I played around, but I couldn't read it from PEWIN with the LIST GATHER command. It just gave an error. Is there any way in PEWIN to print out the gathered data?

Do anyone have any examples for writing and reading the gathers?


Thanks in advance
Per
#5
Ah, cheers! I see now that the manual states that clearly, my bad. Though it seems to have been the main memory used because I only enabled bit 0 which was the wrap around, while bit 1 controls the location.
Another quick Q: Does the motion cmd DWELL(msec) take float or just integers?

Some code on the gather would be great,ty!

(07-15-2010, 02:03 PM)steve.milici Wrote: The “LIST GATHER” command is not valid for DPRAM gathering. The host computer must use the method outlined in the Turbo PMAC User Manual.

I will search our appnotes for any relevant code on this topic.
#6
This is a floating point argument.

(07-15-2010, 11:16 PM)PGoms Wrote: Ah, cheers! I see now that the manual states that clearly, my bad. Though it seems to have been the main memory used because I only enabled bit 0 which was the wrap around, while bit 1 controls the location.
Another quick Q: Does the motion cmd DWELL(msec) take float or just integers?

Some code on the gather would be great,ty!

(07-15-2010, 02:03 PM)steve.milici Wrote: The “LIST GATHER” command is not valid for DPRAM gathering. The host computer must use the method outlined in the Turbo PMAC User Manual.

I will search our appnotes for any relevant code on this topic.
#7
This Thread on the forum may help you:

http://forums.deltatau.com/showthread.php?tid=178
#8
Thank you both :)
Guess I could've searched a bit harder on the forum!


Forum Jump:


Users browsing this thread: 1 Guest(s)