Posts by roho76

    Thank You for your reply.


    I'm referring to the tool that is swapped out on the turn table. The water jet nozzle (TCP) remains the same regardless of parts. They have about 40-50 different parts that they cut on this system and it could be on either side of the turn table on either booth. We are cutting fiberglass. I understand shoring up the reliability of the turntable is optimal but the customer doesn't want to spend that kind of money. Dumb of them, I know. So I was trying offer a solution to mitigate downtime as much as possible. If I could develop a method of touching both sides of the (X) and (Y) side of the whatever tool they are running with the water jet nozzle to shift and rotate my frame that would be ideal.

    Hello,


    I'm working on two separate WaterJet systems with two wall mounted Fanuc M-20iA robots. One booth has R-30iA controllers and the other has R-30iB controllers.


    Both booths have turn tables that aren't repeatable and customer is not interested in fixing underlying problem so I'd like to try a different approach. When they swap out tools for different parts we always have to touch up the programs as they are usually a couple of millimeters off in both (X) and (Y) and most of these parts have 50 plus features that are being cut out. This is incredibly time consuming and with 2-3 swaps per 24 hour period on both sides of both booths this leads to substantial downtime. Only one frame is being utilized regardless of the part that we are running. They have routines for calibrating TCP but I was wondering if I could use this same method to update my user frame after tool swap to shift my programs into position to avoid doing touch ups? I've used touch sense before on mig welders but this is a water jet and that technology can't be used. I'm assuming this would utilize motor torque feedback as a sort of "touch sense" method like in the TCP_CAL subroutine. I've only used this method once to load a randomly picked metal dowel into a hole until it bottoms out. I would assume I could use the TCP_CAL style method to update my frame in the same manner as it works on the TCP_CAL.


    Has anybody written a routine that does this? Does anybody have an example program I could look at/use?


    Thank You

    I created a VC from scratch and it works. The file that I had problems with was opening just fine on another persons copy of RS but not mine for some reason.


    Where would I look in the files for issues to resolve inability to open?


    Thank You

    Hi all


    I'm having a problem when trying to open a project in robot studio. It says "RobVC::Launch: vcrunLoadSystem returned -2147024893".


    When I click OK it prompts another window that says "There was a problem starting the virtual controller".


    Other people I'm working with can open the file without issue so I don't think there is an issue with the file itself.


    I've tried robot studio 2021 and 2022 to open the file to no avail. I've also downloaded the add in robotware versions that should make it work.


    Any clues as to what the problem could be? Any help would be great. Thank You in advance.

    Nice! I'm going to use that for checking part presents. For the moment we've reverted back to 6 cell because the load tray wont stay put on the pallet. Much engineering needed lol. But the 8 cell program looks for all 8. I'm going to use your code to do the part check. Thank You for that.

    I actually seen that the other day when I was thumbing through the AS manual. I plan to make this much more clean and user friendly soon. I've given myself a crash coarse in AS and Kawasaki this weekend. It's becoming mush more clear what I need to do. Thank You for all your help.

    I actually check it in the pick_cells and load_cells routine. There is definitely some clean up that needs to happen.

    There is a test portion of the teach_pts routine that verifies your locations after touch up. I usually go in and change the reference numbers to the positional data to check more pick/drop locations.

    Thank you. Both Kwakisaki and Alexandru. I ended up figuring it out Wednesday and everything that Alexandru posted is pretty much what I changed with the exception of the FOR loop. I'm only executing that code once instead of doing it in a loop for 1 iteration.


    All my positions then worked out. I'm going to change the load and transfer count code here in a second. My main objective was getting the pick and drop positions working since they started production a day sooner than expected.


    I appreciated all you're help. Much appreciated. It's so amazing that this group exists and it has some of the best people to interact with.

    I couldn't tell you if this was written for this specifically. Just trying to make the best of what I was given, unfortunately. I don't think it had vision. After it is programmed the PLC tells me which position to pick from and then which position to drop to. All I'm supposed to do is touch up the outer most corners of the pallet and then run the calculations and it interpolates the X/Y data for the middle positions and populates the (x_xfer_pallet and x_cell_carrier) transformational data so that I have pre-programmed positions for the PLC to send me to.


    The problem is that the middle positions are not calculating into 3 columns. The top row (1 - 3) is fine. The bottom row (52 - 54) is in 3 columns although its 2 rows lower than where it should be. So position 53 is where 41 should be (If you're looking at image 1008 posted above).


    The parts are presented in a guaranteed position each time.


    I understand what I have in front of me. Not sure why it's not calculating properly. Re-writing something from scratch would take me forever. I'm better educated through example, especially when I can compare right and wrong next to each other to see what the problem is.


    Patching this is where I'm at now. I'll attach what I have as of today so you can see where I was going with it.

    You are correct. The TCP stays the same and the tool is extended on each side.

    They are pallets with pockets that house the parts.

    Thanks for the reply, Kwakisaki.


    The TCP is the same. They are just adding one unit to each side of the existing 6 to make 8 to transfer between pick and drop. There are 24 units across the row and 9 rows. We used to pick up 6 and now 8 which makes the column count go from 4 to 3 respectively. Row count doesn't change. I've added two pics showing the differences in picks and drops from the old to the new.

    Thank You for your reply.


    I have 2 pallets. One I pick from and the other I drop to.


    I think I need to change the calc_carrier_lo and the calc_transfer_l as well as the variables in the teach_pts routine to make my calculations for the columns. The rows are staying the same.

    Fellow members


    I was looking for some help in making an adjustment to these routines to calculate 3 columns as opposed to 4. My transfer pallet used to have 4 columns and 9 rows now there is 3 columns and 9 rows. My carrier pallet works the same way except every other row is staggered so we calculate those columns twice. Once for the non-staggered rows and then for the staggered rows. It would pick up 6 units out of a row of 24 and now we want to pick up 8 units in a row of 24 changing the column structure from 4 to 3. It then takes these calculations and populates (x_cell_carrier and x_xfer_pallet positions so the PLC can send me to whatever pick and drop location it wants to). The rows are not changing but the column structure is. I'm not very good with AS and I'm having trouble getting this thing to calculate properly. The following programs are the ones that calculate the columns and rows:


    calc_carrier

    calc_carrier_lo

    calc_transfer

    calc_transfer_l

    teach_pts (this is where we teach the four corners)


    ***The file included is an .ASE file but I changed it to .TXT for upload***



    Any help would be very much appreciated.


    Thank You

    roho76

    Quote

    The logfile in KRTerm screen grabs the editor window as long as it remains open.

    You usually manually open/close this using the window options in the FILE tab.


    This was exactly what I was looking for. I thought it was a command that launched this process and a command to turn it off when it was as simple as this. I've saved the file for future use.


    Thank You

    Hey


    I'm trying to create a log file through Kterm of the robot in real time as it runs it's cycle. I couldn't find this in particular when I did a search so sorry if this has already been answered.


    I need the command to start the log and then end it once the robot has completed its task. I couldn't seem to find how to perform this task in any of the manuals. Any help would be appreciated.


    Thank You

    roho76

Advertising from our partners