Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: kann ich dass so machen?

  1. #21
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Dann erfolgen die Ausgangszuweisungen aber nur im Zyklus des Zustandswechsels. Geht also nur für Ausgänge, die für die Dauer des neuen Zustandes ihren Status nicht mehr ändern sollen.
    Der neue Zustand sollte natürlich auch die neuen Ausgangszustände beinhalten, das ist aber kein Muss. Damit hat man die Ausgangszustände an 2 verschiedenen Positionen und das ist unübersichtlicher. Ich setze lieber eine schnellere SPS ein, als das so zu machen.

    Es gibt aber Situationen, in denen es nicht anders möglich ist. Bei der Steuerung der Montrac-Monorail-Bahn hatte ich am Anfang das Problem, wenn 2 Wagen gleichzeitig an den 2 Spuren einer Weiche ankamen, dass dann der Automat die jeweils andere Spur als leer detektiert hat Die Folge war, das die Weiche umschaltete während ein Wagen auf der Weiche war. 3000Eu rastem dem Boden entgegen. Ich war gezwungen, den Automat so zu bauen, dass Änderungen am Eingang sofort übernommen wurden.

  2. #22
    xinix ist offline Benutzer
    Themenstarter
    Registriert seit
    29.01.2010
    Beiträge
    46
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Also die Funktion habe ich ja nun verstanden, jedoch komme ich mit der einrichtung der TYPE nicht ganz klar...

    Also bei CoDeSys habe ich nun unter Karteireiter DATENTYPEN links unten
    das Objekt tBetriebsart angelegt.

    Da steht dann:

    Code:
    TYPE
        tBetriebsarten :
    STRUCT
    END_STRUCT
    END_TYPE
    dann habe ich im eigentlichen Programm unter dem "CASE Zustand OF" nun das erste CASE deklariert (in diesem Falle ja Init. Dann ging das Variablen Deklarationsfenster auf und ich habe unter TYPE "tBetriebsarten" ausgewählt...

    jetzt steht das also unter VAR so:

    Code:
    VAR
    Betrieb: tBetriebsarten;
    Init: tBetriebsarten;
    Start: tBetriebsarten;
    END_VAR
    das sieht ja nun son bisschen anders auch als bei Euch? Mache ich da was falsch?

    Danke

  3. #23
    xinix ist offline Benutzer
    Themenstarter
    Registriert seit
    29.01.2010
    Beiträge
    46
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    habs gefunden....


  4. #24
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Schau dir mal die Hilfedatei an. Da sind zu jedem ST-Befehl auch in der Regel ein oder zwei Beispiele. Vergess die Initialisierung im Var-Block nicht

  5. #25
    xinix ist offline Benutzer
    Themenstarter
    Registriert seit
    29.01.2010
    Beiträge
    46
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    geht das eigentlich so?

    Code:
    VAR
    startP2     :R_TRIG;
    laufzeitP2     :TP;
    VentielAUF    :TP;
    ENDVAR
    
    startP2     (CLK:=ZYKL=Filtern , Q=> );
    laufzeitP2    (IN := startP2.Q, PT:= t_Filt_Zeit);
    VentielAUF    (IN := laufzeitP2.PT-t_Filt_VentStellZeit, PT:= t_Filt_VentStellZeit);
    Damit möchte ich erreichen, dass die Pumpe P2 läuft, solange das Ventiel (welches 5 sec. Fahrzeit hat) öffnet.

    Wenn ich hinter dem namen des TP Bausteines ein"." eingebe bekomme ich die Auswahl mit ET, IN PT, Q und StartTime. Was ist denn StartTIME?
    steht leider nicht in der Hilfe...

    DANKE!

  6. #26
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    755
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von xinix Beitrag anzeigen
    geht das eigentlich so?
    Die Antwort gibt in diesem Fall schon der Compiler, nämlich Nein. PT.In ist doch vom Typ Bool.

    Zitat Zitat von xinix Beitrag anzeigen
    Damit möchte ich erreichen, dass die Pumpe P2 läuft, solange das Ventiel (welches 5 sec. Fahrzeit hat) öffnet.
    Ich würde dafür nicht mit mehreren Zeitbausteinen herumhantieren, einer reicht.
    Code:
    FilterZeitTimer(In:=ZYKL=Filtern,     (* FilterZeitTimer ist ein TON *)
                          PT:=t_Filt_Zeit);
    Pumpe:=(ZYKL=Filtern) AND NOT FilterZeitTimer.Q;
    Ventil:=Pumpe AND (FilterZeitTimer.ET<t_Filt_Zeit-t_Filt_VentStellzeit);
    Zitat Zitat von xinix Beitrag anzeigen
    Wenn ich hinter dem namen des TP Bausteines ein"." eingebe bekomme ich die Auswahl mit ET, IN PT, Q und StartTime. Was ist denn StartTIME?
    Das ist eine interne Variable des TP-Bausteins. CoDeSys erlaubt von aussen zumindest lesende Zugriffe auf solche Variablen, was aber eigentlich nicht sein dürfte.

Ähnliche Themen

  1. Broadcast-wie kann man das machen/nutzen
    Von Holger Levetzow im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 25.05.2010, 14:00
  2. Antworten: 8
    Letzter Beitrag: 29.12.2008, 14:47
  3. Wer kann mir das machen ??
    Von Tomi200 im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 15.07.2008, 22:01
  4. Kann man Beckhoffvisu so öffnen, dass man nicht die PLC öffnet?
    Von Tigerkroete im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 31.12.2007, 11:52
  5. Seriöse Quelle, dass Siemens Marktführer ist.
    Von Tigerkroete im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 25.09.2006, 20:58

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •