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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Case-Anweisung

  1. #1
    Registriert seit
    22.06.2014
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen

    Bin gerade neu hier und schon ein paar Fragen. Ich hoffe ich breche keine Regel oder so etwas...
    Ich bin beim Siemens TIA Portal 13 eine Arbeit am schreiben.
    Ich muss alles in SCL machen. kann mir jemand sagen, was hier falsch ist?
    Wenn Case 100 True ist dann soll Signallisation Rot leuchten.
    Wenn Case 110 ist dann soll Signallisation Rot löschen.

    CASE #Auto OF
    100*Start*)
    IF
    #I_xPowerOn
    AND
    #I_xManAuto
    AND
    #I_xOn
    THEN
    "O_xTP_SignalisationRed" := TRUE;
    END_IF;


    110: (*Stop*)
    IF
    NOT #I_xPowerOn
    OR
    NOT #I_xManAuto
    OR
    NOT #I_xOff
    THEN
    "O_xTP_SignalisationRed" := FALSE;
    END_IF;

    END_CASE;

    Danke im Voraus
    Zitieren Zitieren Case-Anweisung  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Was genau geht denn nicht?
    Rot immer an, Rot nie an?

    Du hast ja in der Case-Anweisung noch ein paar Bedingungen, die Signalisation Red auf True oder False schalten, diese Boolschen Variablen würde ich mir mal ansehen.

    OR Not #I_xOFF --> soll das vielleicht OR NOT #I_xON heißen?

    PS: Hab deinen Thread mal verschoben.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    agoni88 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2014
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hall Ralle

    Besten Dank für deine Bemühung...
    Problem ist, dass es nie an geht.
    OR Not #I_xOFF das ist Korrekt, es ist ein Button OFF vorhanden.
    Es muss so funktionieren, sobald ich ON drücke (taste) und Power eingeschaltet ist und es auf Auto geschaltet ist dann muss rot leuchten und darf nicht löschen.
    Sobald ich OFF drücke oder von Auto auf Hand wechsle oder Power ON abstelle, dann muss die Rote leuchte löschen...
    Kann man das so mit Case machen? oder RS ?
    Ich komm hier einfach nicht weiter

    Gruss

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Schreibst Du den Code in einem FC?
    Dein "O_xTP_SignalisationRed" müsste dann IN_OUT oder ein globaler Merker sein, weil er sich seinen Zustand merken muß. Das sieht man gut in dieser einfacheren Formulierung:
    Code:
    "IO_xTP_SignalisationRed" := ( "IO_xTP_SignalisationRed" OR ((#Auto = 100) AND #I_xOn) ) 
                                 AND NOT (#Auto = 110) AND #I_xPowerOn AND #I_xManAuto AND #I_xOff ;
    (die rote Leuchte geht hier schon aus, sobald #Auto = 110 wird - womöglich hast Du das so nicht gewollt?)
    Wo kommt die Variable #Auto her?

    Tip: Programmcode bitte in [CODE]-Tags einfügen - der #-Button im Beitragseditor.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    agoni88 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2014
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo besten Dank für die Hilfe...
    Eigentlich ist das nur ein Teil meiner Aufgabe. Es ist relativ schwierig für mich als Anfänger, weil wir nur in FUP
    gearbeitet haben und jetzt alles in SCL.
    Ist es möglich wenn mir jemand dabei helfen kann, die ganze Arbeit zu schreiben?

  6. #6
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard

    Wieviel bietest du?

    Mal im ernst, helfen ja, machen nein!

  7. #7
    Registriert seit
    16.07.2007
    Beiträge
    61
    Danke
    13
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Wie PN/DP schon sagte, die Frage ist, wo die #Auto Variable herkommt.

  8. #8
    agoni88 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2014
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die #Auto Variable habe ich selber als Bool gespeichert bei den Variablen

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Und wie sollen die Werte 100 oder 110 in diese Bool-Variable reinkommen? (schließlich fragst Du ja in der Case-Anweisung, ob #Auto = 100 oder #Auto = 110 ist) Hinweis: in einer Bool-Variable kann nur TRUE oder FALSE drinstehen (das Bit kann 1 oder 0 sein).

    Programmierst Du einen FB oder einen FC?
    Hast Du vielleicht ein Bild (Screenshot) vom Deklarationsteil Deines Bausteins?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    agoni88 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.06.2014
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo das Problem hat sich gelöst (war ein Missverständnis von mir)
    Habe jedoch ein anderes Problem.
    Wie kann ich aus einem Dauersignal ein Impulssignal machen?
    Es ist so, wenn ich die Taste Links drücke, dann müssen die Bänder Links laufen, sobald ich die Taste loslasse müssen die Bänder anhalten.
    Bei mir ist es so, dass wenn ich Links drücke, auch die Bänder sich Links drehen, aber wenn ich Links loslassen, dann drehen die Bänder immer noch weiter.
    Es ist alles mit Case gemacht. Alles in SCL

Ähnliche Themen

  1. Schrittketten mit case
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 23
    Letzter Beitrag: 10.09.2014, 07:06
  2. Problem mit CASE
    Von dave.p im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 09.12.2011, 09:22
  3. CASE-Anweisung von SCL auf KOP
    Von adonismensch im Forum Programmierstrategien
    Antworten: 8
    Letzter Beitrag: 25.09.2009, 12:41
  4. SCL-Compiler und Case-Anweisung
    Von herdi im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 10.09.2008, 10:02
  5. Switch CASE Anweisung
    Von sweber im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.12.2006, 22:49

Lesezeichen

Berechtigungen

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