Interrupt mit Digitalem 32Bit Signal

  • Hallo Forum,


    Im Rahmen meiner Abschlussarbeit soll an einem Zylinder 3 Punkte auf dessen Kreisbogen vermessen werden. Und damit der Kreismittelpunkt trianguliert werden. Der Laser misst in der Draufsicht auf den Zylinder.

    Leider stellen sich mir hier ein paar Probleme, ich hoffe das mir vielleicht jemand weiterhelfen kann.


    SR10 R1420

    KRC4 Compact

    KSS Version 8.3.39


    Über eine EK1100 wird wird das Feldbus Signal eines Lasers gespeist. Dieser misst Distanzen in µm und gibt diese in 32Bit aus. Diese 32Bit sind mit dem Digitalen Eingang der Steuerung mit IN[1] to IN[32] verschalten. Siehe Bild.



    Realisiert werden soll eine Fahrt von Punkt 1 zu Punkt 2, welche unterbrochen wird sobald der Laser einen Wert über oder unterschreitet.

    Soweit so gut, laut Handbuch lösen Interrupts bei Eingängen mit steigender Flanke, also änderung eines bool aus.

    Der Laser spuckt aber nur DINT aus...


    Hab hier mal ein Programm, wie ich es probiert habe.

    Kann ich das in mit KRL realsieren? Oder brauche ich eine extra SPS die mir einen Ausgang schaltet je nachdem was der Sensor für Werte liefert?

    Wenn ja, könnte ich die Soft SPS PLC benutzen?


    Vielen Dank für jeden Rat!

  • KUKA Handwerk
    Anzeige
  • Soweit so gut, laut Handbuch lösen Interrupts bei Eingängen mit steigender Flanke, also änderung eines bool aus.

    Wieso verwendest Du Deine Signalvereinbarung nicht als Interruptbedingung mit < oder > Abfrage?

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo woodys,


    ok danke, habe die Signalvereinbarung in die configdat geschrieben:

  • Wieso verwendest Du Deine Signalvereinbarung nicht als Interruptbedingung mit < oder > Abfrage?

    Hallo SJX,

    tatsächlich das funktioniert ^^

    Hab ich gar nicht gedacht, da auch im Handbuch immer nur von Wahr oder Flasch als Interuptbedingung die Rede ist.



    Vielen Dank! :thumbup:

    • Helpful

    das ist besser aber code ist immernoch falsch.

    mit RESUME in ISR, Bewegung muss in Unterprogram sein - es kann nich sein auf Ebene wo Interrupt declariert ist (hauptprogram). also VL stop gehoert da.


    ohne RESUME in ISR, Bewegung konte da bleieben...


    und interrupt ist aktiviert zu frueh, lange bevor pStart_Messung ereicht ist. eigentlich robot ist immernoch at home position.


    https://www.robot-forum.com/ro…?postID=191484#post191484

  • Hallo panic mode,


    Vielen Dank für den Hinweis was die Konventionen für Interrupt Programmierung angeht.

    Und danke fürs umgeschriebene Programm!


    Grüße nach Kanada! :thumbup: :thumbup:

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