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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 29

Thema: Kop

  1. #11
    Registriert seit
    21.10.2010
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    vielen dank schonmal euch beiden
    o.k... jetzt hab ich´s auch.... weiss jetzt auch woran an der State-machine der fehler liegt, aber wie kann ich dann den Zähler überhaupt laufen lassen?
    also ich habs jetzt doch mal in ST versucht und da gehts echt auch garnicht.
    nimm normal keinen Zähl-Baustein, sondern normale IF-Anweisung für Zähler.
    aber wie kann ich dann mit variablen einen Zähler zum laufen bringen? Grade, wenn ich dann mal eine WHILE-Schleife machen will, dafür brauch ich das ja, oder?

  2. #12
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard

    Zitat Zitat von shakesbier Beitrag anzeigen
    ...Weil das war mein gedanke: ich setze die Variable "switch" auf TRUE, dies merkt mein Zähler und bevor der neue Zyklus beginnt setze ich die Variable wieder auf "FALSE"... wenn ich das mit im Online-Modus durch Einzelschritte nachverfolge geht das eben auch so, aber auch da zählt mein Zähler nicht hoch.. ich wollte eben die Eigenschaft ausnutzen, dass das Programm zyklisch arbeitet.... aber dann hab ich da wohl einen denkfehler...
    Geh' das Ganze doch mal Zeile für Zeile, Zyklus für Zyklus durch:
    1. switch auf true setzen - Ergebnis switch ist true
    2. Zähler aufrufen (zähleingang "switch"= true), wie war er beim vorigen Aufruf dieses Zählers? -> false=Plus 1, true=unverändert
    3. switch auf false setzen - Ergebnis switch ist false

    nächster Zyklus:
    4. switch auf true setzen - Ergebnis switch ist true
    5. Zähler aufrufen (zähleingang "switch"= true), wie war er beim vorigen Aufruf dieses Zählers? -> false=Plus 1, true=unverändert
    6. switch auf false setzen - Ergebnis switch ist false
    Siehst Du, wo der Hase begraben ist?
    Der Zähler bekommt den Zustandswechsel von switch gar nicht mit, weil er zwischendurch ja nicht aufgerufen wird:
    Zitat Zitat von vierlagig Beitrag anzeigen
    dein "problem" ist, dass sich dein zustand nicht ändert!

  3. #13
    Registriert seit
    21.10.2010
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    danke... danke.. danke 1000 mal danke euch allen.... so ein blöder denkfehler
    jetzt hab ich es gecheckt....
    aber jetzt stellt sich mir dann doch die Frage wie ich in KOP eine WHILE-Schleife realisier!? könnt ihr mir da noch helfen?

    ich hätte einfach am anfang meines Programmteils, welcher durchloffen werden soll einen Zähler eingebaut, der mir nach erreichen der durchläufe einen Sprung über das Codesegment hinweg macht, aber das geht dann ja schon doppelt nicht. wie realisiert man dann schleifen in KOP?

    Grüße

  4. #14
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard

    Zitat Zitat von shakesbier Beitrag anzeigen
    ...
    aber jetzt stellt sich mir dann doch die Frage wie ich in KOP eine WHILE-Schleife realisier!? könnt ihr mir da noch helfen?

    ich hätte einfach am anfang meines Programmteils, welcher durchloffen werden soll einen Zähler eingebaut, der mir nach erreichen der durchläufe einen Sprung über das Codesegment hinweg macht, aber das geht dann ja schon doppelt nicht. wie realisiert man dann schleifen in KOP?

    Grüße
    Mach doch einen eigenen Zähler:
    Zählvariable=0
    Schleifenbeginn:
    Code
    Zählvariable=Zählvariable+1
    Zählvariable<Schleifendurchläufe?
    Ja - springe Schleifenbeginn
    weiter

  5. #15
    Registriert seit
    21.10.2010
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ahh... so gehts, aber kann des sein, dass ein Programm in KOP ein wesentlich längeres wird, als wenn man es in einer anderen Sprache realisieren würde?

    Hätte auch noch ne Frage: Mit was für einer Sprach arbeitet ihr lieber/ kennt ihr jemand, der in AWL oder KOP arbeitet?
    Mich würde mal da noch interessieren, was andere so denken, welche sprache eigentlich eine gute Sprache ist. Mir ist bewusst, dass man das auch nicht immer so sagen kann, so wird eine Person, die aus der Software-Schiene kommt wahrschienlich eher ST bevorzugen und eine Person, die aus der Hardware-Schiene eher KOP, oder seht ihr das anders?

    Grüße

  6. #16
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    hat alles seine vor- und nachteile und eben auch seine einsatzgebiete.
    die auswahl der richtigen sprache für eine aufgabe ist kein beliebtheitsbewettbewerb sondern sollte sich auf der frage gründen: mit welchen sprachlichen konstruktionen ist das problem am einfachsten, übersichtlichsten und am besten dokumentierbar zu lösen.

    (ich programmiere: AWL, SCL, KOP, (Graph und CFC nach bedarf), C#, (VB, SQL) )
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #17
    Registriert seit
    21.10.2010
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    guten morgen...

    hätte wieder eine Frage zu KOP, diesesmal aber nicht CoDeSys, sonder TwidoSuite / TwidoSoft... aber wenn jemand für meine Frage eine Lösung in CoDeSys wüsste könnte mir das auch schon hilfreich sein...

    ich habe eine Systemvariable vom Typ WORD und ich will nur das erste Bit dieser Wortes setzten, ohne den Rest der Variablen zu beeinflussen. Dafür würde ich eine Maske mit der Bitfolge "1111111111111111" nehmen und sie logisch UND-Verknüpfen mit dem zu veränderndem Wort. Jetzt stellt sich mir aber die Frage, wie ich das realisieren kann. Besitze keinen Baustein bisher, der mir das ermöglicht.... kennt von euch jemand eine lösung?

    Grüße
    Zitieren Zitieren Logische Bit-Verknüpfung  

  8. #18
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard

    Zitat Zitat von shakesbier Beitrag anzeigen
    ...
    ich habe eine Systemvariable vom Typ WORD und ich will nur das erste Bit dieser Wortes setzten, ohne den Rest der Variablen zu beeinflussen. Dafür würde ich eine Maske mit der Bitfolge "1111111111111111" nehmen und sie logisch UND-Verknüpfen mit dem zu veränderndem Wort. Jetzt stellt sich mir aber die Frage, wie ich das realisieren kann. Besitze keinen Baustein bisher, der mir das ermöglicht.... kennt von euch jemand eine lösung?
    Wenn Du das so machst, hast Du das gleiche WORD wie vorher.
    Du benötigst eine ODER-Verknüpfung mit einem WORD, bei dem die Stellen 1 sind, die Du setzen willst. In diesem Fall also 0000000000000001.

    Einen extra Baustein brauchst du dafür sicher nicht - eine einfache ODER-Verknüpfung reicht.
    Geändert von hucki (26.10.2010 um 09:45 Uhr) Grund: Legasthenie

  9. #19
    Registriert seit
    21.10.2010
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    stimmt, aber ich weiss grade eher nicht, wie man sowas bei Twido realisiert:

    ich kann zwar einem Wort (%KW0) den Wert "0000000000000001" zuweisen, weiss aber nicht, wie ich dann dieses Wort mit einem anderem verknüpfen kann..
    kann leider den Befehl "%SW76 | %KW0" nicht in den baustein eingeben.. aber vllt. gibts da noch ne andere möglichkeit

  10. #20
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    In der Hilfe unter "Twido-SPS-Programmierhandbuch" -> "Basis-Anweisungen" -> "Numerische Verarbeitung" -> "Logische Anweisungen":
    In etwa so:
    Angehängte Grafiken Angehängte Grafiken
    Geändert von hucki (26.10.2010 um 15:12 Uhr) Grund: Hilfe-Pfad konkretisiert

Lesezeichen

Berechtigungen

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