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!

    Einmal editiert, zuletzt von marcus_ucb ()

  • Schritt für Schritt zum Roboterprofi!
  • 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:

    • Hilfreich

    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

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden