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 autonome mobile Roboter von KUKA
besuche unseren Hauptsponsor
Roboterschulung Online
Online Roboterschulung
Advertise in Robotics
Der Roboterkanal
Deutscher Robotikverband
Werben in Robotik
Werben für Robotik

Dialogmeldung aus SPS.SUB

  • explorers16
  • May 18, 2013 at 4:39 PM
  • Thread is Resolved
  • explorers16
    Points
    390
    Posts
    64
    Location
    Nordhausen, Thüringen
    • May 18, 2013 at 4:39 PM
    • #1

    Hallo,
    das Forum hat mir schon sehr sehr oft weiter geholfen. Anerkennung.
    Aber heute brauche ich auch mal einen Rat.

    Im der sps.sub muss folgende Überwachung zyklisch stattfinden:

    If (Xabst[akt_Typ] <> Xabst1[akt_Typ]) then
    SYS_MSG (2,1,D_ANSW )
    If (D_ANSW==1) then
    Xabst[akt_Typ] = Xabst1[akt_Typ]
    else
    Xabst1[akt_Typ] = Xabst[akt_Typ]
    Endif
    Endif

    Xabst ist ein Offset, der bedingt verändert werden darf. Dies muss aber
    über eine Dialogabfrage bestätigt werden. Diese wird in der SYS_MSG (Dialogmeldung=2, TextNr=1, Antwort=D_ANSW)
    erzeugt. Das funktioniert soweit, stoppt aber den Submit Interpreter solange, bis die Meldung quittiert wurde.

    Da im Submit aber auch ein Lebensbit für die externe SPS erzeugt wird, spricht diese natürlich sofort an.

    Meine Frage:
    Gibt es bessere Lösungen für mein Problem? Ansonsten geht es mit Hinweismeldungen, diese behindern den
    Submit nicht, enthalten aber leider keine Bestätigungsmöglichkeit.

    Mit INTERRUPT und $CYCFLAG habe ich es schon probiert, der Effekt bleibt der selbe.
    Wichtig ist, daß dieser Offset immer geprüft werden muss, egal ob ein Programm läuft oder nicht.

    Viele Grüße und Dank im Vorraus
    explorers16

  • Schritt für Schritt zum Roboterprofi!
  • verbogener
    Reactions Received
    1
    Points
    706
    Posts
    130
    Location
    Schweiz
    • May 18, 2013 at 5:40 PM
    • #2

    Die Meldungsausgabe aus Interrupt-Programmen ist möglich, eine mögliche Lösung deines Problems könnte evtl. so aussehen:

    Submit:

    bDialogInterrupt=(Xabst[akt_Typ] <> Xabst1[akt_Typ])

    Cell (...oder dein Programm):

    Global Interrupt Decl 20 when bDialogInterrupt DO DialogInterrupt ( )
    Interrupt On 20

    Global Def DialogInterrupt ( )
    Interrupt Off 20
    SYS_MSG (2,1,D_ANSW )
    If (D_ANSW==1) then
    Xabst[akt_Typ] = Xabst1[akt_Typ]
    else
    Xabst1[akt_Typ] = Xabst[akt_Typ]
    Endif
    Interrupt On 20
    End

    Gruss, APT

    APT Techniques GmbH<br />Software-Entwicklung für Roboter &amp; SPS.

  • Handschuh #33
    Points
    1,165
    Posts
    224
    • May 18, 2013 at 7:40 PM
    • #3

    Warum prüfst du den Offset nicht auf Über und Unterschreiten und setzt ihn dann einfach auf einen festen Wert?

    If (Wert>Maxwert) or (Wert<Minwert) then
    Wert=Defaultwert
    Endif


    Sent from my iPhone using Tapatalk

  • explorers16
    Points
    390
    Posts
    64
    Location
    Nordhausen, Thüringen
    • May 18, 2013 at 10:29 PM
    • #4

    Hallo,

    danke für die schnellen Antworten.

    1. Handschuh #33
    Der Offset ist auf ein schmales Eingabefenster beschränkt. (erfolgt weiter unten im Submit)
    Liegt der Wert außerhalb, wird ein Defaultwert gesetzt.

    2. APT
    die Lösung sieht sehr gut aus. So hatte ich das mit dem INTERRUPT nicht gemacht.
    Werde das heute oder morgen in der Nachtschicht gleich mal probieren. Melde mich.

    Viele Grüße und Dank
    explorers16

  • explorers16
    Points
    390
    Posts
    64
    Location
    Nordhausen, Thüringen
    • May 19, 2013 at 6:54 AM
    • #5

    Hallo APT,

    habe es diese Nacht testen können. Funktionierte auf Anhieb. Danke nochmal.
    Der Wermutstropfen aber ist, wenn ich es im Cell etc. Programmen deklariere,
    funktioniert es ja nur im angewählten Zustand des entsprechenden Programms.
    Ist aber beim Umrüsten z.B. gar kein Programm angewählt, ist es wirkungslos.
    Gerade da wird der Offset aber oft angepaßt.
    Deklariere ich es oberhalb der LOOP vom Submit auf, tritt wieder der bekannte
    Halt ein, bis die Meldung quittiert wurde.

    Hab jetzt aus den Dialogmeldungen Hinweismeldungen gemacht und wenn über
    cell das Hauptprogramm gestartet wird, die Dialogabfrage reingebracht, im Falle der
    Offset hat sich verändert. So geht es auch.

    Viele Grüße
    explorers16

  • Grubba
    Reactions Received
    1
    Points
    1,001
    Posts
    188
    • May 21, 2013 at 7:28 AM
    • #6

    Ab 5.5 kannst du die Meldung mit

    Code
    Set_KrlDlg(...)


    absetzen.
    Dieser Dialog wartet nicht auf Antwort, d.h. der Submit sollte an dieser Stelle nicht halten.

    Mit

    Code
    Exists_KrlDlg(...)


    kann dann geprüft werden, ob und wie der Dialog beantwortet wurde.
    Auch hier wird der Submit nicht angehalten.

  • explorers16
    Points
    390
    Posts
    64
    Location
    Nordhausen, Thüringen
    • May 21, 2013 at 11:11 AM
    • #7

    Hallo Grubba,

    danke für die interessante Info. Das wusste ich so noch nicht. Gut zu wissen.
    Einige Steuerungen haben wir ab 5.5 Version und aufwärts.
    Aber leider ist die hier betroffene eine 5.2xx. (vergessen mit anzugeben :waffen100:)

    Vielen Dank
    explorers16

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 Automatisierung im Handwerk - ich schaffs mit 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

  • 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