Schrittkette AS mit welchem Bausteintyp?

Geminon

Level-1
Beiträge
53
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich habe 3 Schrittketten erstellt und diese jeweil in einem Baustein des Typ PRG erstellt.
Mein Problem ist jetzt das ich immer nur ein Baustein aufrufen kann.
Wenn ich aber alle 3 Bausteine aufrufe dann wird immer nur der Baustein bearbeitet der zuerst aufgerufen wird. Das heist der Ini-Schritt ist nur bei der einen Kette aktiv. Die Ketten sollen aber parallel laufen können.
Muß ich vieleicht die Schrittketten mit einem anderen Typ von Baustein(Funktionblock oder Funktion) erstellen?
Ich benutze die Codesys Version 2.3 von Festo.
 
Hallo,

wenn du einen Baustein vom Typ PRG schreibst ist es ein Programm und sollte unabhängig von anderen Programmen laufen können. Kannst du vielleicht erklären wie du die drei Programme aufrufst?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der PLC_PRG sieht zur Zeit so aus:

(*Programmaufrufe*)
(*CAL Ausgaenge*)
CAL Betriebsarten
(*CAL Fehler*)
CAL Frei_Autofahren
CAL Frei_Grundfahren
CAL Frei_Schrittfahren
CAL IEC_Auto
CAL IEC_Grundstellung
CAL IEC_Hand
 
Zuletzt bearbeitet:
Ich habe mit AS noch nichts gemacht, aber ich vermute das du die Programme nicht parallel anstößt (wie das in Code aussieht kann ich dir leider nicht sagen).
 
Die Programme sollen parallel aktiv sein aber sie werden nie parallel ablaufen.
Es gibt Automatikbetrieb, Schrittbetrieb und Grundstellungfahren.
Es wird aber immer nur die Kette initialisiert die zuerst im PLC_PRG steht. In diesem Fall die IEC_Auto.
 
Hallo Zusammen

Ich arbeite recht häufig mit der AS (ohne IEC Schritt).
Ich ruf die Teilprogramme genau so auf wie es im screenshot beschrieben ist.

Nun hast du zwei Möglichkeiten zu bestimmen, welches Programm durchlaufen wird.

A: du packst deine Programme im PLC_PRG in eine IF Verzweigung oder CASE und rufst somit nur immer das Programm auf, welches du abarbeiten willst

oder

B: Du lässt das Programm PLC_PRG so wie es ist und in der Schrittkette machst du in der ersten Transition (gleich nach dem Init) die Abfrage einer Variable/Zustand und alle anderen Teilprogramme warten somit bei der ersten Transition.

Gruss
Itus
 
Ich soll also aus den 3 Schrittketten eine große machen?
Normalerweise sollte es doch möglich sein alle 3 Kette zu starten. Die Init wird ja bei Programmaufruf initialisiert. Aber warum das nur bei einer passiert ist mir ein Rätsel.
 
rheumakay schreibt seine Aufrufe in ST (strukturierter Text), Du in AWL. Daher benötigst Du ein "CAL Programmname()".

Wie stellst Du denn fest, das nur eine Kette bearbeitet wird? Hast Du schonmal einen einfachen Zähler (n:=n+1;) in Deine Schrittkette gebaut, um es zu überprüfen? Manchmal ist nur der Schritt "Init" blau, es läuft aber trotzdem ständig durch (wenn die Transistionen TRUE sind).
 
Das Problem ist das nur bei einer Kette der Init blau war. Heute morgen hatten aber alle Kette den Init blau. Problem war aber als ich eine Kette gestartet habe, die dann ins nichts gelaufen ist. Es war kein Schritt mehr aktiv.
Langsam macht das keinen Spaß mehr. Selbst 3S hat keinen Fehler gefunden.
 
Zurück
Oben