[Ch...] Posted June 18, 2019 Share Posted June 18, 2019 I have a program where I flip a part halfway thru the program. I have a secondary alignment from after the flip that I would like to loop. Every time I loop the alignment, it tries to loop at the very beginning of the program instead of waiting until after the part is flipped. I know I have programs where I flip parts in the middle of the program and also loop the secondary alignment with no problems. Not sure what i'm doing wrong now. Any ideas? Link to comment Share on other sites More sharing options...
[Br...] Posted June 18, 2019 Share Posted June 18, 2019 Does the program run based off the order of the Characteristics or the order of the features? If you do it the by the order of the features, you can make sure the operator stop happens at the end of the last feature before the flip, then have the secondary alignment features come immediately after that. I think that has always worked for me. Link to comment Share on other sites More sharing options...
[Ch...] Posted June 18, 2019 Author Share Posted June 18, 2019 Features. That was my first guess too. If I unloop it, then it works just fine and doesn't execute until the correct time. It only tries to run at the beginning when it is looped. Link to comment Share on other sites More sharing options...
[Br...] Posted June 18, 2019 Share Posted June 18, 2019 Is there a break condition formula within the loop. I think I had an issue like you're talking about before but it had something to do with the formula. Link to comment Share on other sites More sharing options...
[Ch...] Posted June 18, 2019 Author Share Posted June 18, 2019 I do, I use differencesystem valueA in my secondary alignments. I thought I remembered someone having this problem on the old forum but I can't remember the remedy. I'm probably just going to scrap the alignment and it's features and try again. Link to comment Share on other sites More sharing options...
[Br...] Posted June 18, 2019 Share Posted June 18, 2019 I would try and run it without the break condition and see if that works. If it does, try getActual("{alignment name}").valueA<0.010 That should work I think. Link to comment Share on other sites More sharing options...
[Ri...] Posted June 18, 2019 Share Posted June 18, 2019 Is there a part of your secondary alignment that comes from the first side? Link to comment Share on other sites More sharing options...
[He...] Posted June 18, 2019 Share Posted June 18, 2019 I recognize I had this bug ages ago (like Calypso 4.6). I don't remember how I solved it or even if I did. The only thing I can think of is to mask the alignment. On unlooped alignments it has almost no effect but I'm not sure how it affects looped alignments so please make sure it works correctly before finalizing the program. Link to comment Share on other sites More sharing options...
[No...] Posted June 19, 2019 Share Posted June 19, 2019 Please sign in to view this quote. That was my first thought too. Check which references point to your looped alignment (right click on alignment -> references in context menu) and see if some of them belong to the "other side". Link to comment Share on other sites More sharing options...
[Br...] Posted June 19, 2019 Share Posted June 19, 2019 Please sign in to view this quote. That's what I thought first too, but he said it works fine if he takes the loop off. If it references something from the first side, It wont work either way. Link to comment Share on other sites More sharing options...
[Ch...] Posted June 19, 2019 Author Share Posted June 19, 2019 Brett, that is true. I checked it anyway and everything looked good. Nothing from the 'before flip' side of the program at all. Ive only had it open on my planner seat this morning. I will throw it on my CMM later today and do some more experimenting. I could probably just scrap it and start over to save time but what fun is that. Maybe I'll actually learn something trying to figure this out. Link to comment Share on other sites More sharing options...
[Br...] Posted October 30, 2019 Share Posted October 30, 2019 Please sign in to view this quote. Chad, Did you ever figure this out? I have a program doing this now. Exact same problems as you mentioned. Nothing referenced from the first side but when the loop is on it wants to run it right after the base alignment. Link to comment Share on other sites More sharing options...
[Ch...] Posted October 31, 2019 Author Share Posted October 31, 2019 I never found a solution. The only thing I could do was make sure that my 'after flip' alignment was good enough that I didn't need to loop it. I'd still like to find the root cause of this problem. I'm not cool with not being able to loop my alignments after the part is flipped. Link to comment Share on other sites More sharing options...
[Ja...] Posted October 31, 2019 Share Posted October 31, 2019 I am trying something along these lines. Measure a part, then move a set distance over to measure another (same) part. Works fine in Autorun as I would expect. When I try to do it in one program it measures the first part fine, but due to the alignment orientation projected over the part to part distance, results get skewed on the second part. How do I go about setting a secondary alignment that allows a valueA condition? I made a regular Utilities - Alignment and tried to define my features in the new alignment but it is not any different than just offsetting the original alignment. Link to comment Share on other sites More sharing options...
[Br...] Posted October 31, 2019 Share Posted October 31, 2019 Please sign in to view this quote. The reason AutoRun gets the part grid aligned right is because it uses a fixture alignment if you have the "parts referring to pallet" option ticked. Link to comment Share on other sites More sharing options...
[Ja...] Posted October 31, 2019 Share Posted October 31, 2019 Brett, I get that, I have an alignment set to the fixture plate. I was wondering if anybody had an idea on how to recalculate the base alignment in a program instead of using Autorun. Establish base alignment, measure entire part, shift base alignment by distance x, reestablish base alignment, measure entire second part at distance x. Link to comment Share on other sites More sharing options...
[Br...] Posted October 31, 2019 Share Posted October 31, 2019 Please sign in to view this quote. Hmm I think what you would have to do is make an alignment that references the "CMM System" instead of the base alignment.(or you could import your fixture alignment.) Then plug in your base alignment features again just for the X,Y,and Z origins(or create a theoretical point at 0,0,0 referencing the base alignment) , then shift the alignment over. So this would use either your fixture alignment or the machine axis to position onto the next part. I really think Autorun is the better way to go here though. Link to comment Share on other sites More sharing options...
[Ja...] Posted November 1, 2019 Share Posted November 1, 2019 Brett, I think you are correct in that Autorun is the better way to go. That is what I am doing, it's just tough for the inspectors to switch back and forth between Autorun/Calypso. I wish it was a little easier in Calypso to do what I am looking for, though I'd bet you could do it if you had PCM. Thanks. Link to comment Share on other sites More sharing options...
[Ia...] Posted November 1, 2019 Share Posted November 1, 2019 If you really wanted to, you could just copy the entire program, and group them by their fixture alignment. Then have mini-plans that determine what nests need ran. I'm sure its not what you want to do, but it would work. Link to comment Share on other sites More sharing options...
[Ke...] Posted November 1, 2019 Share Posted November 1, 2019 Jacob, If you are just looking to have 2 locations to measure parts, you can just set up 2 Base Alignments to run from. 1) Name your base alignment with "Loc 1" and start it by using a start alignment. 2) Once established, stop your program, then 3) Go back to your Base Alignment window, select "Change Current Alignment" 4) Change just the name, adding "Loc 2" at the end of the Base Alignment name. 5) Start your program, taking your start alignment points off the part in the new location. 6) You now will have both alignments to select from in your dropdown list, and can run a part from either alignment (location). Keith Link to comment Share on other sites More sharing options...
[Ja...] Posted November 1, 2019 Share Posted November 1, 2019 Please sign in to view this quote. Keith, The idea was to have the inspector press Run and have it measure both parts, not just one part in either location. Our programming is separate from our actual inspection, so it has to be streamlined. Link to comment Share on other sites More sharing options...
[SH...] Posted November 1, 2019 Share Posted November 1, 2019 Please sign in to view this quote. What is the advantage of using a loop in an alignment, more accurate result??? Link to comment Share on other sites More sharing options...
[Ja...] Posted November 1, 2019 Share Posted November 1, 2019 Shabu, Looping an alignment using a condition on baseSystem().valueA will reiterate the alignment until the deviation between successive alignments is less than some specified value. For example, I typically loop my base alignment up to 5 iterations using break condition baseSystem().valueA < 0.0005. The zero preceding the decimal place makes a difference. If the alignment always takes 5 times then I know my condition is too restrictive or my alignment is not consistent. Maybe the part is moving or the features are not repeatable. Also, keep in mind that even if it goes up to the maximum iteration, it will not warn you if the condition was not met. It will simply resume measuring. Link to comment Share on other sites More sharing options...
[An...] Posted November 2, 2019 Share Posted November 2, 2019 Please sign in to view this quote. Really,a good question! Link to comment Share on other sites More sharing options...
[SH...] Posted November 2, 2019 Share Posted November 2, 2019 Please sign in to view this quote. Depend upon the frame of reference of your thoughts. I don't know ,that is why I asked. 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