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
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. KUKA Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

BasisTech Functions in SPS.sub

  • Jeulin
  • September 4, 2024 at 11:50 AM
  • Thread is Unresolved
  • Jeulin
    Trophies
    1
    Posts
    3
    • September 4, 2024 at 11:50 AM
    • #1

    Hi Everyone !

    I work as a medical robotics engineer. I currently use a KUKA KR 160 R1570 nano, with a KRC 8.7.5 and I use WV 6.0.

    When I took over the company's existing project, I came across 2 functions that I can't find any mention of in the manuals on KukaXpert (Handbooks, Manuals...). The same goes for the forums.

    The functions are BasisTech_PLC_INIT() and BasisTech_PLC_LOOP() in the SPS.sub subroutine.

    The system works with an external Siemens PLC.

    I don't really undertsand the name of the functions, why ‘PLC’ here ? When I look into the functions it seems there is nothing to do with the PLC...

    Here is the content of the functions, defined in System/bas.src :

    GLOBAL DEF BasisTech_PLC_LOOP()
    DECL KRLMSG_T MSG
    DECL KRLMSGPAR_T MsgPar[4]
    DECL KRLMSGOPT_T Opt
    DECL BOOL bDummy
      
    MSG.Nr = 6789
    MSG.MODUL[] = "TechHandler"
    MSG.MSG_TXT[] = "EasyTeachKeepOriWarning"
    Opt = {VL_STOP FALSE, CLEAR_P_RESET FALSE, LOG_TO_DB TRUE}

    IF EasyTeachKeepOriWarning THEN
    IF EasyTeachKeepOriHandle == 0 THEN
    EasyTeachKeepOriHandle = SET_KRLMSG(#State,MSG,MsgPar[],Opt)
    ENDIF
    ELSE
    IF EasyTeachKeepOriHandle > 0 THEN
    bDummy=Clear_KrlMsg(EasyTeachKeepOriHandle)
    IF bDummy THEN
    EasyTeachKeepOriHandle = 0
    ENDIF
    ENDIF
    ENDIF
    END

    And

    GLOBAL DEF BasisTech_PLC_INIT()
    UpdateLoadModes ( )
    InitHomePositions ( )   
    END

    Does anyone have a description of these functions ? Are they mandatory ?

    Thanks in advance for any help,

    Sincerly,

    Jeulin.

  • Fubini September 4, 2024 at 1:45 PM

    Approved the thread.
  • Fubini September 4, 2024 at 1:45 PM

    Moved the thread from forum General Discussion of Industrial Robots Only to forum KUKA Robot Forum.
  • Online
    panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,082
    • September 4, 2024 at 2:33 PM
    • #2

    in case of KRL some variable declarations can be seen in various files, others are not (compiled into KSS).
    this is so called basis package...

    also, more variables can be introduced by installing additional tech packages (software options).
    but as with any program, declared variables need initialization.

    in SRC file there is an INI fold where robot program related variables get initialized.
    when options are installed, they insert their own initialization into INI fold.

    the same goes for Submit interpreter...
    so things that need initialization are processed by call to BasisTech_PLC_INIT() which of course is only done once.

    but... Submit is background process that runs all the time. and things that need continuous processing is placed in BasisTech_PLC_LOOP()

    anything named BasisTech is internal to KSS and best left alone. never needed to look into it.

    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

  • SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,426
    • September 4, 2024 at 3:43 PM
    • #3
    Quote from Jeulin

    I don't really undertsand the name of the functions, why ‘PLC’ here ? When I look into the functions it seems there is nothing to do with the PLC...

    This is a translation artefact. "SPS" is an abbreviation for a German term for PLC -- basically, the SPS is the "background PLC" for a KRC. Whoever wrote the BasisTech_PLC routines was probably using English terminology. So these routines are probably completely internal (possibly part of a specific Tech Package, check your KRC's installed options for "Easy Teach" or "Keep Ori"), and despite the name, have nothing to do with your extrenal PLC.

  • Jeulin
    Trophies
    1
    Posts
    3
    • September 4, 2024 at 4:22 PM
    • #4
    Quote from panic mode

    in case of KRL some variable declarations can be seen in various files, others are not (compiled into KSS).
    this is so called basis package...

    also, more variables can be introduced by installing additional tech packages (software options).
    but as with any program, declared variables need initialization.

    in SRC file there is an INI fold where robot program related variables get initialized.
    when options are installed, they insert their own initialization into INI fold.

    the same goes for Submit interpreter...
    so things that need initialization are processed by call to BasisTech_PLC_INIT() which of course is only done once.

    but... Submit is background process that runs all the time. and things that need continuous processing is placed in BasisTech_PLC_LOOP()

    anything named BasisTech is internal to KSS and best left alone. never needed to look into it.

    Display More

    Hi ! Thanks for your answer ! (Big fan here :sneezing_face:)

    I understand that I should not dive into it but since I'm working in a medical field we have to follow several standards (here IEC 62304). And this standard requires us to describe in documentations all the SOUP (Softwares Of Unknown Provenance) we have in the code and why we use it. That's why I was wondering about a description for those. I'll try to check for the packages, maybe I can find more informations there.

    Thanks again,

    Sincerely,

    Jeulin.

  • Jeulin
    Trophies
    1
    Posts
    3
    • September 4, 2024 at 4:25 PM
    • #5
    Quote from SkyeFire

    This is a translation artefact. "SPS" is an abbreviation for a German term for PLC -- basically, the SPS is the "background PLC" for a KRC. Whoever wrote the BasisTech_PLC routines was probably using English terminology. So these routines are probably completely internal (possibly part of a specific Tech Package, check your KRC's installed options for "Easy Teach" or "Keep Ori"), and despite the name, have nothing to do with your extrenal PLC.

    Hi ! Thanks for the answer too ! (So many famous people here:star_struck:)

    That's insane ! I didn't know about the meaning of SPS :o :o :o !

    I'll check theses packages and tell you what I found !

    Sincerely,

    Jeulin.

  • Online
    panic mode
    Reactions Received
    1,280
    Trophies
    11
    Posts
    13,082
    • September 4, 2024 at 5:55 PM
    • #6

    some common terms are in the READ FIRST topic. and of anything our members from Germany/Austria/Swiss should be able to help with:

    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

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  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