584,866 active members*
5,200 visitors online*
Register for free
Login
IndustryArena Forum > Machine Controllers Software and Solutions > Fanuc > Dynamic value allocation in Fanuc 18i/0i-Tb
Results 1 to 6 of 6
  1. #1
    Join Date
    May 2020
    Posts
    11

    Dynamic value allocation in Fanuc 18i/0i-Tb

    Hello all!

    I've got a problem I can't quite figure out.

    I have some custom ladder software (that I wrote) on my Fuji ANW-30 lathes. It does broken insert detection. (Not chipped or worn, just broken.) It works pretty well, but there's something I want to add to it.

    Right now, I compare the cutting current value (or whatever it is) with a threshold I have in one of the data groups. However, I have some parts that have differently-sized grooves, and thus I find I have different thresholds that I technically need to accommodate. (I realize it should all just be the same for a broken cutter, i.e. cutting in air, but the cuts are at different RPM so it's not quite as universal as it sounds...)

    So, what I'd like to do is find a way to write different threshold values into the data group, since that's where my comparison routine gets the numbers to do the judgement. I use the WINDR function to read in data from the monitoring system, and then see if it's greater than the threshold, but I can only use the one threshold value.

    Is there a way to write different threshold values from the NC into the data blocks? Is there a way to, say, use a system variable to directly change the value of a data group address? Is there a function that could use a different, non-data block address for comparison?

    Basically, I need a way to dynamically change the value in a data block. Any help would be appreciated!

    Thanks!

  2. #2
    Join Date
    Apr 2012
    Posts
    85

    Re: Dynamic value allocation in Fanuc 18i/0i-Tb

    Faust,
    If you know what system parameter you're writing to you could you a G10 L50 replacement in your program:

    Record the value of that system parameter in a variable to restore to default so you can replace the default value with the original after that tool has finished with a G10 L50.

    Call subprogram with B code (6090) ASCII character call.



    EX: program first threshold S1000 B1

    O6090;

    #5xx=#2;
    G10L50;
    NxxxxPaxisnumberR#2;
    M99;

  3. #3

    Re: Dynamic value allocation in Fanuc 18i/0i-Tb

    Did you try the macro variable #1133? This writes to F56 to F59 (32 bits). Post your ladder and I will see what I can toss together for you.

  4. #4
    Join Date
    May 2020
    Posts
    11

    Re: Dynamic value allocation in Fanuc 18i/0i-Tb

    I didn't know what #1133 was until I looked it up. Interesting.

    So, could I write:

    #1133=400.0

    in the NC, and then use that value in the ladder somehow?

    How would I access the #1133 using a COIN or similar comparison function. I can't really post the ladder here right now, I don't have a copy of it on me.

    Thanks!

  5. #5

    Re: Dynamic value allocation in Fanuc 18i/0i-Tb

    In the program you would write #1133=400 (Stay away from decimal points as I can not guarantee how Fanuc deals with them using these variables). In the ladder you would create a function block 32 and use 4 bytes and a preset value of 400 in this example and write to an available coil R0.1 in this example. The R9000.0 is Fanuc's register for "=" in the compare block just above it. When the function block doesn't equal then the coil that it feeds will not be on. This coil could set the function block to read for data table compare. Or like the example on the top you could simply ADD F56 to whatever data table you have currently set up. I could help you better if I had your logic.
    Attached Thumbnails Attached Thumbnails load 400.JPG  

  6. #6
    Join Date
    Jul 2010
    Posts
    118

    Re: Dynamic value allocation in Fanuc 18i/0i-Tb

    Hi,

    as #1100's are often used by the mtb, this method have restrictions.

    an individual method is to program i.e. #500=50 before in the cnc file,

    then you can use windr function to read a specific macro variable and save the info in the data table for your use.

    have fun

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •