Where can i found amount of time from last brake test?

  • AD
    • Helpful

    have not used 8.6 but i am confident that something like this should do the trick


    Code
    DEFFCT REAL TimeToBrakeTest()
      DECL INT  _nIntArray[5]
      DECL REAL _rRealArray[5]
      DECL REAL _rTimeToBrakeTest
      DECL INT nRet
    
      nRet=MD_CMD(brakeTestDevName[], "GET_CYCLE_TIME", _nIntarray[], _rRealArray[])
      rTimeToBrakeTest = (_rRealArray[1] - _rRealArray[2])
      RETURN rTimeToBrakeTest
    ENDFCT


    i guess the _rRealArray, element1 is brake test interval and element 2 is the time since last brake test, so computing the difference gives time to next brake test...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • well of course you cannot... i just posted the function so obviously it cannot be part of some backup you collected earlier...


    and it you take a closer look, you will see that variable "_rRealArray[]" is not a system variable, it is a locally declared runtime variable and the name could be just about any other name. it is needed (among other things) to call special function MC_CMD() to get copy of some values from the controller... values that otherwise would be inaccessible. and since it requires calling function to get the values, this has to be executed on the controller. and if you want the received values saved so they are retained in the backup you need to do some work - before collecting backup.


    specifically, there need to:


    1. modify this code, so it reads value YOU want,

    2. put it on your robot controller,

    3. declare variable in some DAT file, with scope that is accessible from code in step 1.

    4. make sure this variable is initialized there (in the DAT file)

    5. then you need to call the function to update value of your variable in the DAT file (so value is saved)

    6. and after all this you would need to make a backup.


    then you will be able to see the value.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • md_cmd is a standard function inside the robot controller like ptp, lin, ... . So no declaration needed. For the missing variable fill in the name of the braketest driver of 8.6. Should be something like mdrBraketest.o. To find the correct name lookup MotionDrivers folders on the c/krc/roboter/config folder. Beware there is more than one folder and I am not sure in which of these the driver is located.

  • of course...


    your backup also does not show any trace of declaration of many other internal functions like SIN(), COS(), SQRT(), geometric operator, PTP, LIN etc. clearly they work but you may only see places where they are USED, not where they are DECLARED.


    there are different types of backup but none of them contain everything.


    each type of backup is a very selective collection of files, mostly user files and the most essential configuration needed to restore or replicate previous behavior when KSS installation is valid.


    it does not mean copying entire KSS and it does not mean copying everything that is on the robot (in the RDC) or everything that is on controller (such as Windows etc.).


    in fact even if you make full HDD image of your controller, your HDD image still does not have all the info about the controller, only what is needed to make it run again.


    for example hardware logs generated by KrcDiag are ONLY collected by KrcDiag and includes some of the info stored in the CCU, KPP, KSP, RDC, etc. example of such info is hardware and software stand of those components.


    collecting HDD image does collect all software installed by KSS and.... that includes mentioned internal functions like SIN(), SQRT(), LIN etc. but i challenge you to find them. you will not find them because they are compiled into binary files so they are not in human readable form.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • what exactly should be checked? brake test?


    first one contains both:

    Config\User\Common\MotionDrivers\mdrBrakeTest.ini

    Config\System\Common\Mada\MotionDrivers\mdrBrakeTest.ini


    while later one zip file does not...


    there is bunch of other differences but this is expected since different KSS.

    i have no backup of KSS8.6 to verify but i would expect that mentioned INI files are present (like in KSS8.3 and 8.5)


    according to

    Config\User\Common\Mada\KRCAxes.xml


    brake test is not activated. so maybe on 8.6 these files (among other things) are not transferred to controller by WoV unless brake test is activated.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • if you just need to be able to check when the brake test was called, maybe just add message to brake test and make sure it is logged to DB. that way you will have an indicator with time stamp of every run, even if brake test is called manually.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • oh my, you sure keep running in circles and beating around the bush. ^^


    your SCADA is not going to evaluate some backup file, SCADA reads live data from the controller. so you just need to make the data available... on the controller.... by running the mentioned function (modified of course since you want different time).



    Code
    DEFFCT REAL TimeSinceBrakeTest()
      DECL INT  _nIntArray[5]
      DECL REAL _rRealArray[5]
      DECL REAL _rTimeSinceBrakeTest
      DECL INT nRet
    
      nRet=MD_CMD(brakeTestDevName[], "GET_CYCLE_TIME", _nIntarray[], _rRealArray[])
      _rTimeSinceBrakeTest= _rRealArray[2]
      RETURN _rTimeSinceBrakeTest
    ENDFCT


    then call it from time to time and save result into variable that SCADA can read.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • for example in $CONFIG.DAT


    Code
    DECL REAL TimeSinceLastBrkTest = 0.0


    and in submit

    Code
    TimeSinceLastBrkTest  = TimeSinceBrakeTest()

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • I already answered this before, but maybe a bit more precise. It is a character array that needs to contain the name of the brake test driver found in a MotionDrivers folder on the controller. So declare the variable yourself and assign the name.

  • well... this was normally already declared in

    KRC:\R1\TP\BrakeTest\BrakeTestReq.dat


    at least that was the case in KSS 8.3


    i see that on KSS 8.5 the declaration of brakeTestDevName[] is missing but brakeTestMdbName[] is still there....



    quick check at Xpert confirms that this has changed.

    on KSS8.5 and newer one gets the values using new function:

    real1=GET_BRAKETEST_TIME(#BT_REMAINING_CYCLE_TIME)

    real2=GET_BRAKETEST_TIME(#BT_REMAINING_MON_TIME)

    real3=GET_BRAKETEST_TIME(#BT_CONFIG_CYCLE_TIME)


    so to get time since last brake test you would compute real3-real2

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • guess what... i have no idea what documents you have. maybe KRC1 manuals? (just saying)

    btw i clearly stated that i found them using Xpert...

    it is a KUKA Support portal and basic access is free as explained in READ FIRST...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

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