1. Dashboard
    1. Dashboard
    2. Suche
  2. Forum
    1. Unresolved Threads
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  4. Jobs
  5. Articles
  6. Calendar
    1. Upcoming Events
    2. Map
  7. Shop
    1. Orders
    2. Shipping Costs
  • Login or register
  • Search
Roboterprogrammierer finden
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Events
  • Files
  • Products
  • More Options
  1. Roboterforum.de - die Industrieroboter und Cobot Community
  2. Forum
  3. Industrieroboter Support
  4. KUKA Roboter
Your browser does not support videos Handwerk automatisieren - ich schaffs mit KUKA
besuche unseren Partner
Roboterprogrammierer
Robot Support Forum
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Variable auf Gültigkeit überprüfen

  • DKeipp
  • November 20, 2007 at 10:35 AM
  • Thread is Resolved
  • DKeipp
    Points
    1,295
    Posts
    216
    Location
    Schwalmtal - Vadenrod
    • November 20, 2007 at 10:35 AM
    • #1

    Wieder Ich :mrgreen:

    Gibt es eine Möglichkeit eine Variable auf Ihre Gültigkeit hin zu Überprüfen?
    D.H. Es wird eine Variable mit "BOOL name" Deklariert, nun kann es aber sein das diese nicht beschrieben wird, ist das der Fall, soll über eine IF Anweisung ein Programmteil Übersprungen werden um keinen Fehler zu verursachen. Hat da jemand eine Idee?

    Gruß
    Dennis

    MfG <br />Dennis Keipp<br /><br />Geiz macht Krank... Qualität ist Geil!

  • Schritt für Schritt zum Roboterprofi!
  • Handschuh #33
    Points
    1,165
    Posts
    224
    • November 20, 2007 at 10:40 AM
    • #2

    zum Beispiel:

    IF BOOL_1 THEN
    Programmablauf 1
    Else
    Programmablauf 2
    ENDIF

    oder wenn du Datenvariablen hast

    REPEAT
    DATENCHECK=FALSE

    WAIT FOR E_BV_DAT_GUELTIG

    IF (ABSTAND_KAMERA<200.0) OR (ABSTAND_KAMERA>300.0) THEN
    DATENCHECK=FALSE
    STOERUNG (6)
    ENDIF

    DATENCHECK=TRUE
    UNTIL DATENCHECK

    Edited once, last by Handschuh #33 (November 20, 2007 at 10:44 AM).

  • robodoc
    Reactions Received
    3
    Points
    2,138
    Posts
    391
    Location
    Sindelfingen / Baden Württemberg
    Occupation
    Roboterprogrammierer (Überraschuuuung!!)
    • November 20, 2007 at 10:42 AM
    • #3

    IF (Varstate("name")==#INITIALIZED) THEN

    ;Tu was Du tun mußt, die Variable hat einen Wert

    else

    ;Laß es bleiben um nervenden Fehlermeldungen vorzubeugen

    endif

    Weniger als 100% wird nicht akzeptiert :)

  • DKeipp
    Points
    1,295
    Posts
    216
    Location
    Schwalmtal - Vadenrod
    • November 20, 2007 at 11:00 AM
    • #4

    Preisfrage Handschuh #33:

    Was Passiert hier wenn BOOL_1 nur deklariert ist aber ihr noch kein Wert zugewiesen wurde?

    Code
    IF BOOL_1 THEN
    Programmablauf 1
    Else
    Programmablauf 2
    ENDIF


    Es gibt ein Fehler! Den gilt es zu vermeiden!

    Das geht mit Rolands Code

    Besten Dank hierfür.

    Gruß Dennis

    MfG <br />Dennis Keipp<br /><br />Geiz macht Krank... Qualität ist Geil!

  • kai_n
    Reactions Received
    1
    Points
    2,886
    Posts
    549
    Location
    Wuppertal
    • November 21, 2007 at 11:51 AM
    • #5

    Es ist aber auf jeden Fall besser dafür zu sorgen, das die Variable immer einen gültigen Wert hat. Wenn Dir true/false nicht reichen, dann nimm ne Zahl:
    0=undefiniert (nix machen)
    1=True
    2=False
    oder wie auch immer.
    Dafür gibt es ja auch die ENUM (heissen die bei KRL so?), da kannst Du Zahlenwerten klartext-namen geben.

    Zusätzlich frisst VARSTATE deutlich Zeit, ist also nix für die SPS.

    If you and DEAD people can read Hex, how many people can read Hex?

  • DKeipp
    Points
    1,295
    Posts
    216
    Location
    Schwalmtal - Vadenrod
    • November 21, 2007 at 8:55 PM
    • #6

    In meinem Fall kann ich aber nicht sicher stellen das da was drinsteht. Es geht darum ein Technologiepaket Abwärtskompatibel zu alten Programmen zu machen. Wenn dann ein Anwenderprogamm noch nicht mit der aktuellen Technologiesoftware programmiert wurde, wird halt nur ne Fehlermeldung ausgegeben und der Programmablauf nicht gestört :genau:

    MfG <br />Dennis Keipp<br /><br />Geiz macht Krank... Qualität ist Geil!

  • fischertech
    Reactions Received
    13
    Points
    1,578
    Posts
    273
    Location
    Sasbach am Kaiserstuhl
    • January 13, 2008 at 3:06 PM
    • #7

    Hallo ich habe auch immer eine ähnliche Problemstellung:
    In der Variablentabelle habe ich dem Bediener Variablen angezeigt, die er ändern kann (z.B.: L für Teilelänge oder B für Teilebreite)
    Bei zu kleinen oder großen Werten soll der Roboter nichts unternehmen, da Crash-Gefahr :wallbash:.
    Hierzu mache ich folgendes:
    In die Variablentabelle trage ich als erstens die Bool-Variable "SIGNAL_FEHLER" ein. Leuchtet die rot, nehme ich dem Roboter die Freigabe.
    Die Fehler sammle ich in der sps.sub über die INT-Variable "FEHLER". (So kann ich auch auslesen wieviele Falscheingaben gemacht wurden)
    in der sps.sub trage ich dann folendes ein:
    ;--> Plausibilitätsprüfung
    Fehler=0
    IF (L<400) OR (L>1150) THEN
    Fehler=Fehler+1
    ENDIF
    IF (B<500) OR (B>1150) THEN
    Fehler=Fehler+1
    ENDIF

    IF FEHLER>0 THEN
    SIGNAL_FEHLER=TRUE
    ELSE
    SIGNAL_FEHLER=FALSE
    ENDIF

    Bei meinen Anwendungen reicht es nun, das SIGNAL_FEHLER vor dem Programmdurchlauf abzufragen. Das mache ich gewöhnlich so:

    WAIT FOR (NOT SIGNAL_FEHLER) AND ($PRO_STATE0==#P_ACTIVE)

    Mit $PRO_STATE0==#P_ACTIVE prüfe ich ob die Submit wirklich läuft und so die Fehlerauswertung funktioniert.

    Die configmon.ini habe ich hierzu folgendermaßen bestückt:

    Item1=SIGNAL_FEHLER;Fehler;1;3;20
    Item2=L;L [mm];1;3;20
    Item3=B;B [mm];1;3;20

    Optional lege ich für die min und max-Werte eine zusätzliche Seite in der Variablentabelle an, die ich als Experte ändern kann.

    Gruß aus der Bretagne/F vom Roboterinstallieren Roland

Tags

  • 1
  • 33
  • 2
  • ABB
  • ABB Roboter
  • ABS
  • base
  • constant
  • CP_PARAMS
  • Dialog
  • EX
  • EXT
  • fanuc
  • Fehler
  • FRAMES
  • INIT
  • INITIALIZED
  • INITMOV
  • IRC5
  • joint
  • KRC2
  • KRC4
  • kuka
  • new
  • NONE
  • notify
  • PATH
  • PGNO_GET
  • profinet
  • PTP_DAT
  • PTP_PARAMS
  • P_ACTIVE
  • P_FREE
  • P_RESET
  • P_STOP
  • Quit
  • Roboter
  • RobotStudio
  • Schweißen
  • Sps
  • Sync
  • T1
  • t2
  • tcp
  • Tool
  • VALUE
  • VAR
  • vel_cp
  • vel_ptp
  • Yaskawa
AD
Your browser does not support videos autonome mobile Roboter von KUKA
Einloggen für weniger Werbung

gesponserte Artikel

  • Gebrauchtroboter kaufen - Was ist zu beachten. Die Checkliste zum kauf von gebrauchten Robotern

    August 11, 2019 at 7:02 PM
  • Was macht ein Roboterprogrammierer genau und was verdient er?

    August 21, 2019 at 8:17 AM
  • Vernetzen, referenzieren, kollaborieren: Das B2B Portal für die Produktionsautomatisierung

    June 2, 2021 at 11:29 AM

Job Offer

  • Sie wollen Ihr Stellenangebot im Roboterforum schalten? Ab 149€

    Werner Hampel June 17, 2021 at 9:52 AM
  • Werde Roboterprogrammierer bei ROBTEC GmbH in Mainburg / Bayern

    Werner Hampel April 5, 2023 at 7:13 PM
Werbung auf Roboterseite
Roboter programmieren lernen
Banner Robotik

Tags

  • INITIALIZED
  • P_ACTIVE
  • 33

Wieviele Mitglieder waren heute eingeloggt?

Logge Dich ein, um hier zu lesen wer in den letzten 24h Online war und um weniger Werbung zu sehen.

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™ 6.0.22
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in the WSC-Connect App on the App Store
Download