Arguments and function of FCMPSTRT.PC and FCMPEND.PC

  • I am reading through backed-up LS program files written by someone else in the past. I am using this as a guide, since I am setting up a new robot for similar tasks.

    I am trying to figure out these calls:


    "`

    CALL FCMPSTRT(1,1,200) ;

    .

    .

    CALL FCMPEND ;

    "`


    When I look in the backup of the old example robot, I do not see these files included in the backup. However, I do see reference to them in the prgstate.dg file:

    "`

    FCMPSTRT PC

    Program name: PCMPSTRT

    Source file: PRODUCT\CLLB\FCMPSTRT.PC

    "`

    In the backup from the old example robot, the only file appearing in the CLLB directory is CRDATA1.VR


    When I look in the brand new out-of-the-box robot, I see that FCMPSTRT.PC and FCMPEND.PC files already exist by default, as they are listed when I press the SELECT key on the teach pendant. However, these .PC files don't get included when I do a file backup of the controller. Although the prgstate.dg file on the new controller does make mention of them, too. I set up an FTP connection to the controller and I can access many of the files, but these .PC files don't appear there either. I have not purchased the Karel option, in case that makes a difference.


    And even if I could get the .PC files, I doubt I'd be able to decompile them to see what's inside.


    It appears that these p-code files come default on these robots, but I don't know whether the versions on the old example robot had been edited or not.

    Do any of you know what happens when the default versions of these files are called and what are the meanings of the 3 arguments of FCMPSTRT?

    I couldn't find any documentation regarding how or when to use PCMPSTART or PCMPEND. But maybe I've been looking in the wrong places.


    Setup:

    CRX-10iA robot with R-30iB Mini Plus controller


    And thanks to all of you for the many questions and answers posted on this forum. I have learned a lot from you guys.

  • Place your Ad here!
  • Lemster68

    Approved the thread.
    • Helpful

    It took a while to figure this one out, thanks for listing the robot type.


    The information you are looking for is in the collaborative robot function operator's manual. Fanuc document B-83744 (B-83744EN/05 is what I used). If you search Fanuc's documentation library, just search for "collab".


    The Karel programs cannot be backed up because they are copy protected; they won't show up in a backup, and you can't edit them.


    The FCMP programs are for Fanuc's Variable Payload Compensation Function.


    FCMPSTRT is called at the start.


    AR[1] = Mode

    AR[1] = 1 = Record Mode

    AR[1] = 2 = Record Mode (Record Clear)

    AR[1] = 0 = Play Mode


    AR[2] = Schedule Number


    AR[3] = Interval for Compensation (in milliseconds)


    FCMPEND is called at the end.


    More details can be found in the listed manual.

  • Thank you pdl! That answers my question!

    I'm embarrassed to be that "guy who didn't read the docs before posting". Shame on me for that.

    But thank you. This is my first time using a Fanuc and my first time setting up a robot from scratch, so my head is swimming right now. I recognize your name/logo from elsewhere on this forum and you have helped me out a ton through your other posts.

    HawkME I've learned a lot from your other posts as well.

    I will happily mark this thread as solved.

  • I will also start working on this shortly, because the products to be picked vary by more than 0.5 kg than the target weight and cause many payload errors.

    I have already looked through the documentation, but it is not yet clear to me:


    When picking a product, do you have to do RECORD when picking it up (and the product is free of the pallet)?

    And PLAY until your product is dropped?

  • If your issue is variable part weights, I don't think the Variable Payload Compensation Function is the tool you are looking for. This tool is more to compensate for repeatable variations in external force during a specific motion.

    Just curious, what is the target weight? I'm wondering if 0.5 kg is a small or large percentage of that target weight.

    What other causes of payload errors have you ruled out? Are you doing your PAYLOAD function before you grip or release, not after? And after your do your PAYLOAD instruction, are you waiting a short amount of time for the payload change to take effect before doing a move? Is your Payload Change Distance non-zero?

  • If your issue is variable part weights, I don't think the Variable Payload Compensation Function is the tool you are looking for. This tool is more to compensate for repeatable variations in external force during a specific motion.

    Just curious, what is the target weight? I'm wondering if 0.5 kg is a small or large percentage of that target weight.

    What other causes of payload errors have you ruled out? Are you doing your PAYLOAD function before you grip or release, not after? And after your do your PAYLOAD instruction, are you waiting a short amount of time for the payload change to take effect before doing a move? Is your Payload Change Distance non-zero?

    Its about a CRX-25iA, with a configuration of 30Kg.


    For example, the product is: 15 kg, testing shows that the products actually deviate by more than >0.5 kg. According to the knowledge I obtained from Fanuc, the CRX-25iA would notice a difference of 0.5Kg (and stop..).


    To rule out that it is due to picking, I have previously (with support from Fanuc) set waiting times before/after picking to rule out picking. It can also be seen when switching the Payload that (in the furthest extended position) the cobot lowers a little... Discussed this with Fanuc and they had no explanation for this.




    The product picking is done as follows:


    * At pre position (a few mm above pick position) disable DCS Push to Escape,

    so that force searching can be used for without the cobot moving away.


    * Search by force with SKIP function (This is slow and sensitive, so that SKIP occurs sooner instead of COBOT function).


    * Then Payload Change (schedule let say: 15Kg).


    * After this, press another 5mm to ensure that the vacuumgripper fits properly.


    * Vacuum on, vacuum OK and wait 0.5 sec


    * Then turn away in Y and Z to be free of pallet / other products.


    When Z is >50mm out of Payload change Area (Yellow led off).


    Payload error appears after moving up.


    Already also tried to make this smoother with Acc/Decc.

    Maybe the product is against others product during going up, but i can't solved that.

    Edited 2 times, last by Lpoels ().

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now

Advertising from our partners