Verständnisproblem mit SPS.SUB

  • Hallo,


    (KRC 4)
    von der SPS.SUB aus kann man ja in beliebige *.SRC springen, macht KUKA ja schon bei den Technologiepaketen. Andererseits ist es auch möglich, als global deklarierte Routinen in einer *.SUB unterzubringen, und diese aus einer beliebigen SRC heraus aufzurufen.
    Jetzt habe ich mal getestet, eine solche Routine im Submitinterpreter zyklisch aufzurufen und "gleichzeitig" aus dem Roboterprogramm reinzuspringen -> geht problemlos, schrittweise oder kontinuierlich, egal. Der zyklische Aufruf durch den anderen Task bleibt davon unberührt. Auch interne Variablen kommen offensichtlich nicht durcheinander.


    Ich gehe also davon aus, dass die beiden Tasks verschiedene Instanzen derselben Routine benutzen. Anders als vom ABB gewohnt, der zwischen den Tasks recht strikt trennt, kann man hier also Code taskübergreifend verwenden.


    Jetzt frage ich mich allerdings: wieso geht dann - zusätzlich zum Bewegungstask - nur ein einziger Hintergrundtask? Oder gibt es Tricks, ein paar mehr auszuführen? Ich finde das irgendwie halbgar, jetzt mal abgesehen von Leistungslimits. Oder habe ich was übersehen?


    Grüße,
    Michael

  • Schritt für Schritt zum Roboterprofi!

  • ...
    Jetzt frage ich mich allerdings: wieso geht dann - zusätzlich zum Bewegungstask - nur ein einziger Hintergrundtask? Oder gibt es Tricks, ein paar mehr auszuführen? Ich finde das irgendwie halbgar, jetzt mal abgesehen von Leistungslimits. Oder habe ich was übersehen?


    Es gibt wohl nur eine Hintergrundtask, weil die Entwickler nur einen 'Hintergrundinterpreter' eingebaut haben.
    Mir sind keine Tricks für mehrere Tasks bekannt, habe das auch nie vermisst.
    Man kann doch in dem einen alles reinbauen was man braucht. Das dürfte dann in den meisten Fällen auch übersichtlicher bleiben.

  • Man kann doch in dem einen alles reinbauen was man braucht. Das dürfte dann in den meisten Fällen auch übersichtlicher bleiben.


    Multitasking ist 'ne feine Sache, wenn man eine Anlage steuern will, und wenn man es gewohnt ist ;)
    Die schnelle, zyklische SPS-Task ist ja nur eine Sache. Die Programmierung zeitabhängiger Aktionen ist darinnen eine mühselige Sache, so habe ich dann gerne noch eine langsame Taktgeber-Task, und eigene Tasks für die Positionierung externer Antriebe, wo man auch mal WAIT-Befehle verwenden kann oder gar Interruptgesteuert arbeitet. Und ganz am Rand liegt dann noch 'ne Task, die den Dialog mit dem Bediener macht, dann können die anderen Tasks die Klappe halten und arbeiten. Bin ja schon dankbar, dass man in der KRC4 ein Dialogfenster absetzen kann und dann NICHT auf die Antwort warten muss, sondern jene später irgendwann auslesen kann.


    Zugegebenermaßen ist die SPS.SUB erst in den letzten paar Jahren überhaupt für anspruchsvollere Aufgaben brauchbar geworden... man lotet ja immer Grenzen aus....


    Grüße,
    Michael

  • Zitat von [wEm

    link=topic=10517.msg50130#msg50130 date=1338966820]
    Mit der ProConOs hättest du noch eine weitere Task , in welcher du allen möglichen Schindluder betreiben kannst


    Hab' ich ja sogar in der aktuellen Anlage :)
    Nur muss ich das dem SPS-Programmierer überlassen. Der will ja auch noch was zu tun haben. Hilft mir also nix bei meiner krassen Greiferverwaltung mit einem guten Dutzend Zuständen und so...


    Grüße,
    Michael

  • Dafür ist der Submit auch nicht gemacht. Wie du schon festgestellt hast, kannst du ja Unterprogramme aufrufen. Dann ist das ganze wenigstens sauber strukturiert. Würde aber dazu tendieren bei den Unterprogrammen die Endung .sub zu wählen.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

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