1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
Everywhere
  • Everywhere
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Members
  3. robotecnik

Posts by robotecnik

  • Set a specific digital output from a function given a numeric ID

    • robotecnik
    • April 19, 2022 at 7:56 PM

    Yes, that would do it... wanted to avoid it because I have to check one input (di3) and activate an output (do3) but that would work without jumping to other functions to convert from an ID to a signal.

    Will take a look at it and check if it would suit all my cases.

    Thanks! :thumbs_up:

  • Set a specific digital output from a function given a numeric ID

    • robotecnik
    • April 19, 2022 at 6:36 PM

    Hi again,

    It's a procedure call.

    It's called after some movements.

    Its a general procedure which receives some parameters, but the important one now it's a num variable which is the point identifier (a simple numeric ID).

    With that identifier, let's say 3, I must activate a digital output do3.

    Those outputs are defined correlative:

    do1, do2, do3, do4 .. do32.

    If the ID is 31 I need to activate the do31 if some conditions are met during the execution of the procedure. If the ID is 4 I will have to activate the do4 if those conditions are met.

    I don't know of any good method to go from ID 5 to setDO do5, 1;

    Again, thanks for your time.

  • Set a specific digital output from a function given a numeric ID

    • robotecnik
    • April 19, 2022 at 5:22 PM

    Yes, but then the problem is the same than at the beginning, I need to activate do1, or do2, or do3 and I know only the number 1, 2 or 3 when I call the function.

    I'd like to know how to do something like setDO(%do%3,1); to activate the 3rd do.

    That's my problem, in fact MoveLDo would be great if I could activate the output directly, but I can't as the programmer could just add the right output to the movement, but in my case, I need to activate a bit from a auxiliar function that is called when I stop in all the different work points. Then that function is a general one and I want, from that general function to activate the right output.

    Code
    TEST nID
      CASE 1: SetDO do1 , 1;
      CASE 2: SetDO do2 , 1;
      CASE 3: SetDO do3 , 1;
      ...

    BitOr would be wonderful with a GO signal linked to the same address than the normal digital outputs are, but it does not work with more than 8 bits.

    And, if I need to do a special process 4 times, I prefer to do a simple assignment 32 times and keep it easier to understand, with a comment explaining there is an Excel file that makes the job.

    As always, thank you very much for your time Lemster!

  • Set a specific digital output from a function given a numeric ID

    • robotecnik
    • April 19, 2022 at 4:34 PM

    That would not be enough, there is a full function that does several things before the do must be activated or not at the end.

    In any case, given it's a matter of only 64 signals, I can do it easily in Excel using a couple of concat formulas... ugly as @#$%, but it will work.

  • Set a specific digital output from a function given a numeric ID

    • robotecnik
    • April 19, 2022 at 3:13 PM

    When robot arrives at a taught point it calls a function and inside that function, it activates the right output related to that point...

    After the robot reached point 1, that function will have to activate the bit do1, after the robot reached point 2, that function will have to activate do2 and like this for all 32 points.

    :smiling_face:

  • Set a specific digital output from a function given a numeric ID

    • robotecnik
    • April 19, 2022 at 2:24 PM

    Hi all,

    I need to activate a digital output every time I call a function, when I am doing the first point, I want to activate the doPoint1, when I am doing the second point the function should activate the doPoint2 and so on.

    Late binding only work with procedures, it would be super easy with an array, but I don't know of any way to make an array to share the same memory space than a list of outputs.

    AliasIO does not seem the way to go either... as I would have to define an alias for each signal...

    A group output could be the way, setting it to the same address than all the DO bits, but I would have to calculate the right bit and make an bitwise OR with that,,,

    Something like this pseudocode:

    Code
    InitialValue = GOutput(groupOutuput);
    bitActiveValue = calculateValueWithOnlyOneBitActive(5);
    setGO groupOutuput, calculatedValue OR InitialValue; // BitOr seems only to work with BYTES not bigger groups.

    But as said in the comment, BitOR seems only to work with 8 bits at once...

    Apart of doing something like (PseudoCode again):

    Code
    CASE i:
      1: setDO doPoint1,1;
      2: setDO doPoint2,1:
    ...
    ENDCASE

    Not a big deal doing this... it would work and I have to do it only for 32 signals, but it's super ugly... :nauseated_face:

    How would you solve this small issue?

    Thank you all in advance.

  • Import parts from Projekt

    • robotecnik
    • March 27, 2022 at 12:42 PM

    As you want to give beyondcompare a try, check WinMerge too, there are plenty of file,folder comparing programs, this one is free and powerful.

    Hope this helps.

  • Where to find Configmon.ini in new WorkVisual ? KRC4. WOV.6.0.20

    • robotecnik
    • March 27, 2022 at 11:51 AM

    Never done that, but in the last commissioning I participated into, I think setting variables in the watch list on WorkVisual while starting a debugging session made them appear in the list of monitoring variables.

    You can always check it if you are near the robot.

    Hope this helps.

  • Setup XML communication with a Kuka KRC2

    • robotecnik
    • March 21, 2022 at 2:34 PM

    I think you are after "KUKA.Ethernet RSI XML".

    Kuka should be able to send you the manual if you ask them.

    Hope this helps.

  • Output after power off

    • robotecnik
    • March 19, 2022 at 1:38 PM

    Reset IO driver

    Given it's been working for months it should not be the case, but... sometimes, if any of the bus participants get powered off, you need to reinitialize the IO driver.

    EXPERT mode >> Configuration >> IO >> IO driver >> Reset driver.

    NOTICE: Names come from memory, not in front of any robot now.

    During commissioning is not that strange needing this, but after this amount of time working... maybe a file corruption is the cause (as panic mode stated).

    When you get this undesired behavior, check if resetting the driver helps.

    Notes on file corruption

    A robot has a computer, that computer comes with a Microsoft Windows Operating System (OS), that OS (as it happens in any computer with a modern OS) needs to power off gracefully to avoid corrupting files.

    A simple example of file corruption would be:

    1. OS opens a file and start writing on it.

    2. Power outage happens.

    3. File stays open with half the modifications done.

    4. After power up the computer that file can be useless.

    To recover from that a reinstall of the KSS or even Windows would solve it. But it's complicated to recommend this without more info.

    Hope this helps.

  • PTP speed newer robots is super slow in T1

    • robotecnik
    • March 12, 2022 at 3:41 PM

    Hi all!

    Next week I will travel again to a customer company to finish the pending job. I will commission another new KRC4 + KSS 8.6.8 robot.

    Some time ago I saw that PTP movements in manual mode got super slow, LIN movements in the other hand are as fast as usual.

    I use this function to set the PTP speeds:

    Code
    GLOBAL DEF mSpeedPTP(rSpeed : IN)
      REAL rSpeed
      INT i
      
    
      IF ((rSpeed >= 1) AND (rSpeed <= 100)) THEN
        FOR i=1 to 6
          $VEL_AXIS[i] = rSpeed
        ENDFOR
      ENDIF
    END
    Display More

    In customer programs they call mSpeedPTP(100.0) and even doing this PTP movements are very slow.

    Am I doing something wrong? have they changed something since older KSS versions?

    (That routine has been used since KRC2 times and in #Ex or #AUT modes it works like usual... Only in T1 (and maybe in T2) modes PTP movements are super slow. (more than usual I mean and much more than LIN movements).

    Do you know of any way I could increase those T1 PTP speeds?

    As always thank you in advance.

  • Drives button in smartPAd

    • robotecnik
    • March 10, 2022 at 10:45 AM

    Hi panic mode,

    I just found out the reason it was not working... the outputs card that should provide power to the input signals for AUT-EXT to work is connected just after a EL9100 (power supply) which was not active (without drives ON power in the outputs is not active) so it was a deadlock situation, trying to activate power with a signal that only works when power is on...

    Code was OK, all was OK, except for this detail.

    In all my previous projects this was not a concern as I was performing the AUT-EXT through communication which was not affected by this.

    In any case...

    Solved!

    Thanks for your previous comments!

    :winking_face:

  • KRC4

    • robotecnik
    • March 10, 2022 at 10:42 AM

    OOOPS! sorry, just found the solution to my problem and deleted the post just to find out you had answered it...

    ^^¡

    The card where the outputs were connected was plugged after a power supply card which was preventing it to send power through the outputs...

    I'm just going to jump off the window in a few minutes... first I'll make a backup and write a dramatic suicide note.

  • Drives button in smartPAd

    • robotecnik
    • March 9, 2022 at 10:57 PM

    OK, then I'll have to check the code and ensure I've not made any mistake porting it from the PLC to the robot SPS...

    Thanks.

  • Drives button in smartPAd

    • robotecnik
    • March 9, 2022 at 10:28 PM

    Thanks for your post panic mode ,

    I know that in T1/T2 I have to use the deadman switch, that in AUT you have to use the drives icon, but in this robot, using the same logic than always, in EXT mode it behaves differently than in the other robots I have in the same factory, this one being KSS 8.6.8 and hte previous ones 8.3 or 8.4 (can't remember now from the hotel room).

    In this case my customer asked me to remove the PLC and I have needed to connect a few digital outputs to a few digital inputs to be able to simulate a PLC is there handling the AUTEXT IOs, but then I replicated the behavior I have in those other machines and I can't see how to get the same behavior.

    In fact drives can be activated only by using the drives icon.

    Tomorrow I will try changing the $CHECK_MOVENA variable (name coming from my memory, being at the hotel now).

    As they have changed the KFD to KFDx, maybe they have changed the way the robot behaves in this specific topic... My question was if you (the community here) knew about any difference or if, maybe there is something wrong in my code... In any case I've tried codes I've found in the internet and none worked well (all had the same problem).

    Let's see what I can find tomorrow.

    Thanks again!

  • Drives button in smartPAd

    • robotecnik
    • March 9, 2022 at 7:18 PM

    Hi all,

    Starting a KRC4 robot with KSS8.6.8.

    In older robots my AUTOMATIC EXTERNAL procedure start the drives automatically.

    In this one, by now, I have to activate drives manually (by pressing the O between the S (submit) and R (program running) and then pressing the I button).

    Is there any configuration that changes this behavior in 8.6? Is there any way to activate the drives from the PLC?

    PS: in my case I don't have a PLC and I am activating the AUT-EXT inputs via outputs that I change in the submit program.

    As always, thank you in advance.

  • Adding an EL2008 into the robot IO cards

    • robotecnik
    • March 8, 2022 at 10:00 AM

    Hi Bottech,

    Been working with Beckhoff for years, I got used to add the first card to control lights and buzzers then inputs and then a power supply which I connect to the emergency voltage to get the next outputs without power as soon as an emergency kicks in.

    In the topology, changes were not made automatically... I really would have never imagined that... I imagined that changing the cards order in the left tree would automagically make the topology changes...

    In any case, I changed it manually to the right order and now it works properly!

    Thank you very much!

  • Adding an EL2008 into the robot IO cards

    • robotecnik
    • March 8, 2022 at 8:44 AM

    Hi all,

    KRC4, KSS8.6.8.

    KUKA delivered the robot with 1 EL1809 and 1 EL2809 which were already configured into the robot project.

    I want to add an EL2008 (before the EL1809) and an EL9100 before the EL2809 so:

    EK1100, EL2008, EL1809, EL9100, EL2809.

    When I try to add the EL 2008 and I deploy the project appears 2 errors KSS13007 and KSS13015 which that reads:

    <SYS-X44> Error Ethercat Bus-Scan. Device: CFG_Dev.: EL1809 16Vh Dig Input 24V, 3ms [BUS-Dev.: EL2008]

    I have downloaded the latest Beckhoff ESI files (which are the same than the ones in my WoV (latest version here).

    Am I doing something wrong?

    Missing any step?

    Thank you all!

  • Opening ports seems not working now... am I doing something wrong?

    • robotecnik
    • March 7, 2022 at 7:05 PM

    Knowing the name of the file I had to edit allowed me to find the reason of my problem in the Internet:

    New Kuka KRC4 connection problem KSS8.6.8 (SOLVED) (robodk.com)

    It looks like 8.6.8 has a bug that does not allow to add ports and it seems that in the upcoming 8.6.9 version that will be solved.

    Edited manually the xml file and it works like charm now.

    Thank you all for your help! :thumbs_up:

  • Opening ports seems not working now... am I doing something wrong?

    • robotecnik
    • March 7, 2022 at 5:50 PM

    yes, that one was also selected (in fact it is selected and I can't deselect it).

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download