Rockwell Logix Designer

RogerSchw85

Level-2
Beiträge
629
Reaktionspunkte
54
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag

ich schreibe aktuell ein Programm mit dem Rockwell Logix Designer.

Ist es möglich innerhalb eines Task's eine art Ordnerstruktur aufzubauen? Sin dazu die "Equipment Phase" geeignet?

temp.JPG

Vielen Dank für die Hilfe.

GRuss
 
Hallo

Ich kenne nur RSLogix5000...die SW Strucktur sieht jedoch identisch aus. Dort kannst du so viele Unterordner erstellen wie du willst. Anstelle das du alle Routinen im "Main Programm" erstellst, kannst du neue Ordner erstellen (Rechtsklick auf "Main Task")

Gruss
 
Ich bin leider heute nicht im Büro, deshalb kann ich nicht so genau weiterhelfen :)

Aber wenn du einen neuen Unterordner ertellst, hat jeder auch eine "Main Routine". Wurden diese bei dir nicht automatisch erstellt oer hast du diese gelöscht? Du kannst auch eine Main Routine selbst bestimmen (Rechtsklick auf die gewünschte Routine) und von dort aus die weiteren Routinen aufrufen (Routine muss nicht Main Routine heissen - das kann eine beliebige Routine sein..)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ah perfekt genau so hab ich mir das gedacht!

Weisst du auch gleich die Aufruf Reihenfolge der Programme? Von oben nach unten schätze ich? Weil der Task bleibt ja derselbe!
 
Hallo

Um eine andere Routine aufzurufen, musst du den Befel JSR (Jump to Subroutine) im Programm einfügen.
Das Unterprogramm muss mit SBR beginnen und mit RET enden.
Untitled.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Um eine andere Routine aufzurufen, musst du den Befel JSR (Jump to Subroutine) im Programm einfügen.
Das Unterprogramm muss mit SBR beginnen und mit RET enden.
Anhang anzeigen 24522

Das glaub ich dir jetzt so nicht :D

Ich kann eine ganz normale Routine machen und dies ohne übergaben aufrufen!

Ich habe jedoch nun den Aufbau über andere Programme gemacht um eine saubere Trennung der Anlage zu haben:

temp.JPG
 
Funktionieren tuts schon *ACK*, pass aber auf, dass du keine Abhängigkeiten unter den Programmen hast, bei denen es auf den Zeitpunkt der Ausführung ankommt.
Mit den Subroutinen kann man den Ablauf genau steuern.
 
Das mit den Subroutinen ist mir klar. Weil dann kann ich alles aus dem Main aufrufen.

Nur kann ich doch keine 200 oder 500 Subroutinen unter dem Main Task haben, ich finde da ja nichts mehr.

Darum hab ich das mit den Programmen gemacht, nur hab ich dann ein Problem weil ich nicht auf die Variablen zugreifen kann im Main...

Wie bringt Ihr eine Struktur in diese Programme?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Variablen sind bei mir immer global abgelegt...heisst gehören nicht zu den Unterprogrammen. Du kannst irgendwo einstellen, wo die neu erstellten Variabeln angelegt werden. Die schon vorhandenen Variabeln kanst du per Drag&Drop von den "Program Tags" in den Haupttagordner ziehen (weiss jetzt auch gerade nicht, wie der heisst)

Bei grossen Projekten vergeben wir den Unterordnern jeweils Nummern, damit du siehst, wo der Tag geschrieben wird (wird etwas übersichtlicher). Wenn du den Tags sinnvolle Namen gibst. ist dies jedoch meistens nicht nötig
 
Hallo

Um eine andere Routine aufzurufen, musst du den Befel JSR (Jump to Subroutine) im Programm einfügen.
Das Unterprogramm muss mit SBR beginnen und mit RET enden.
Anhang anzeigen 24522

Ist diese Grafik noch aktuell? Habe das noch nie so gemacht und ich denke meine Anlagen funktionieren :) Das mit dem JSR ist klar...sonst springt er nicht in die Subroutinen. Den Sinn von "SBR" und "RET" in jeder Routine verstehe ich nicht so...

Edit: Nun hab ichs doch noch geschnallt ;) Ich srpinge immer nun am Ende der Main Routine in die nächste Routine (Und rufe von dort sämtliche Unterroutinen auf) und springe nicht von einer Unterroutine in die Nächste
 
Zuletzt bearbeitet:
Irgendwie bin ich schwer von begriff... Dieser Aufbau hier:

temp.JPG

Das sind ja keine subroutinen sondern eigene Programme! Und von denen Programmen (z.B. readInput) kann ich nicht auf die Variablen der anderen zugreifen, richtig?

Das würde nur gehen wenn ich in den Main Task eine Ordenerstruktur machen könnte, für die anlagenteile...

Edit: Nun hab ichs doch noch geschnallt :wink: Ich srpinge immer nun am Ende der Main Routine in die nächste Routine (Und rufe von dort sämtliche Unterroutinen auf) und springe nicht von einer Unterroutine in die Nächste

sehe ich genau so...
 
Wenn deine Variabeln in den "Program Tags" der Unterprogramme abgelegt sind, funktioniert das nicht. Dann kannst du die Variabeln nur in diesem Unterprogramm verwenden. Es gibt jedoch noch einen "globalen Tagordner". Wenn du deinen Printscreen noch etwas nach oben ziehst, kann ich dir sagen, wie der heisst. Dort kannst du sämtliche Variabeln reinwerfen und auch überall benutzen (wie schon oben geschrieben, gibt es irgendwo die Einstellung, das sämtliche Tags dort gespeichert werden).
 
Aha, kann es sein dass du alle Tags im Controller erstellst? Weil so sind sie überall verfügbar?

Und dann machst du mit den Programm Tags nur "Lokale" Sachen?

genau das meine ich...die Programm Tags nutze ich eigentlich nie...Wenn du jedoch grosse Unterprogramme hast, macht dies ev. Sinn...wenn du jedoch ein gutes Tag-Beschriftungskonzept hast, funktioniert das problemlos

Edit: und ja, die Controller Tags sind dann überall verfügbar...

Safety Task hast du nicht?
 
Zurück
Oben