PGoms Posted July 14, 2010 Posted July 14, 2010 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
steve.milici Posted July 14, 2010 Posted July 14, 2010 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/TURBO%20PMAC%20USER%20MANUAL.pdf?id=634085747626458180 [quote='PGoms' pid='519' dateline='1279096233'] 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 [/quote]
PGoms Posted July 15, 2010 Author Posted July 15, 2010 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
steve.milici Posted July 15, 2010 Posted July 15, 2010 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. [quote='PGoms' pid='526' dateline='1279204526'] 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 [/quote]
PGoms Posted July 16, 2010 Author Posted July 16, 2010 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! [quote='steve.milici' pid='528' dateline='1279227803'] 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. [/quote]
steve.milici Posted July 16, 2010 Posted July 16, 2010 This is a floating point argument. [quote='PGoms' pid='530' dateline='1279261016'] 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! [quote='steve.milici' pid='528' dateline='1279227803'] 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. [/quote] [/quote]
Guest majidy Posted July 16, 2010 Posted July 16, 2010 This Thread on the forum may help you: http://forums.deltatau.com/showthread.php?tid=178
PGoms Posted July 16, 2010 Author Posted July 16, 2010 Thank you both :) Guess I could've searched a bit harder on the forum!
Recommended Posts