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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 40 von 40

Thema: AWL Code in schaltalgebra

  1. #31
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ja, das stimmt, nur ist bei einem U Befehl wichtig wie das VKE vor diesem Befehl war, bei einem O ist es Egal. Ist der Operand beim Oder = True, oder 1, ist das VKE 1, egal was auch davor stand oder wie das VKE vorher aussah.
    Das ist doch schon ein Unterschied.

    Im Übrigen ist KOP schon KOP und FUP=FUP. Wie soll ein Hersteller rechtfertigen das er seine eigene Logik hat mit der keiner klarkommt, weil sie einfach falsch ist. Etwas anders sieht es bei AWL aus. Da könnte ich mir schon vorstellen das einige Dinge anders zu handeln sind, weil es eben keinen AKKU 1 und 2 gibt denn man so wie in der S7-300 ansprechen kann.

    Das sieht man dann dran was übersetzt rauskommt wenn man von FUP/KOP in awl wandelt.

    Torsten

  2. #32
    Anonymous Gast

    Standard

    @all
    danke für die Teilnahme

    @Kai
    danke für die verständlichste Antwort

    Mein Problem ist gelöst
    Zitieren Zitieren Danke an alle  

  3. #33
    Registriert seit
    29.07.2005
    Beiträge
    82
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Torsten05
    Ja, das stimmt, nur ist bei einem U Befehl wichtig wie das VKE vor diesem Befehl war, bei einem O ist es Egal. Ist der Operand beim Oder = True, oder 1, ist das VKE 1, egal was auch davor stand oder wie das VKE vorher aussah.
    Das ist doch schon ein Unterschied.
    Und inwiefern veranlasst das jetzt eine nicht mehr sequentielle Abarbeitung der Stackoperationen? Ich glaub du verwechselst immer noch Schaltalgebra mit Stackoperationen. Ich kenne die S7-300 nicht. Meine Vermutung ist inzwischen, dass man bei der irgendwie auch Ausdrücke aus der Schaltalgebra verwenden kann. Bei der S7-200 gibt es das aber nicht. Da gibt es NUR Stackoperationen. Ich lass mich jetzt auch mal zu einem Beispiel von der S7-200 hinreissen:

    LD E0.0 // läd E.0.0 in den Stack
    O E0.1
    O E0.2
    U E0.3
    = A0.0

    A0.0 geht bei mir auf 1 sobald E.03 und mind. einer von E0.0, E0.1 oder E0.2 an ist. Das entspricht dem vollständig geklammerten Ausdruck:

    ( ((E0.0 oder E0.1) oder E0.2) und E0.3 )

    Nach deiner Aussage soll ja angeblich auch auf Stackoperationen UND stärker binden als ODER. Der AWL Code würde dann dem folgenden Ausdruck entsprechen:

    ( E0.0 oder ( E0.1 oder (E0.2 und E0.3) ) )

    Damit würde es aber auch ausreichen E0.0 auf auf 1 zu setzen um A0.0 einzuschalten. Tut es aber nicht. Glaub es mir jetzt einfach mal. Hab es eben auch noch extra ausprobiert.

    FAZIT:

    Die Steuerungen arbeiten allesamt sehr unterschiedlich. Da hilft wirklich nur ein Blick ins Handbuch. Deswegen sollten alle hier genau angeben auf welcher SPS sie arbeiten und ggf. dann auch noch Quellangaben machen.

    Im Übrigen ist KOP schon KOP und FUP=FUP. Wie soll ein Hersteller rechtfertigen das er seine eigene Logik hat mit der keiner klarkommt, weil sie einfach falsch ist. Etwas anders sieht es bei AWL aus. Da könnte ich mir schon vorstellen das einige Dinge anders zu handeln sind, weil es eben keinen AKKU 1 und 2 gibt denn man so wie in der S7-300 ansprechen kann.

    Das sieht man dann dran was übersetzt rauskommt wenn man von FUP/KOP in awl wandelt.
    Das war ja auch nicht meine Aussage (Siemens-FUP!=Bosch-FUP). Die habe ich weder bejaht noch verneint. Insofern müsstest du dich an den Orginalposter wenden (c;

  4. #34
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hallo,


    Zitat Zitat von caret
    Nach deiner Aussage soll ja angeblich auch auf Stackoperationen UND stärker binden als ODER. Der AWL Code würde dann dem folgenden Ausdruck entsprechen:
    ...
    FAZIT:

    Die Steuerungen arbeiten allesamt sehr unterschiedlich. Da hilft wirklich nur ein Blick ins Handbuch. Deswegen sollten alle hier genau angeben auf welcher SPS sie arbeiten und ggf. dann auch noch Quellangaben machen.

    Was reine Bitverknüpfungen angeht können die gar nicht unterschiedlich arbeiten. Wie ich schon schrieb: Wem willst du so ne Steuerung verkaufen bei der Bitaritmethik nach Lust und Laune gemacht wird. Intern passiert bei der S7-200/300 vielleicht was anderes, aber nach aussen machen die genau das gleiche. Der Unterschied besteht darin das du bei ner 300er Klammern setzt, und bei der 200er durch OLD und ULD mit dem Ergebnis auf dem Stack arbeitest.

    U E1.1
    O E1.2
    U(
    U E 1.3
    U E1.4
    O E1.5
    )
    U E1.6

    ergibt auf der 300er das gleiche wie das auf der 200er dieses:

    LD E1.1
    O E1.2
    LD E1.3
    U E1.4
    O E1.5
    ULD
    U E1.6

    Das Programm wird immer noch sequentiell abgeabeitet, aber durch das arbeiten mit dem Stack werden Zwischenergebnisse benutzt, die genaugenommen die Reihenfolge der Vernküpfung ändern.
    Vermutlich wird in der 300er bei erkennen einer Klammer das gleiche gemacht wie bei der 200er beim erkennen eines LD-Befehls, nämlich das Zwischenergenis auf den Stack gepackt. Nach dem schliessen der Klammer (300) oder einem ULD/OLD (200er) wird das Ergenbis in der Klammer mit dem Wert auf dem Stack vernküpft.

    In AWL ist man eh immer bemüht Klammern zu vermeiden und durch die Reihenfolge der programmierung diese zu umgehen. Wenn man als AWL programmierer sich anguckt was aus einer Verknüpfung wird wenn man sie von FUP oder KOP umwandelt bekommt man schon mal Bauchschmerzen. IMO kommt daher auch das Gerücht AWL wäre schwerer zu lesen. Ist es IMO aber nicht wenn man es gleich in AWL macht.


    Torsten

    Edit: Wenn es dir nur darum geht einen Operanden mit dem Stack zu verknüpfen hast du recht, es gibt keine Bevorzugung.
    Wenn du 3+7 rechnest ist die Regel "Punkt vor Strich" natürlich Witzlos, es gibt ja nur eine Operation. Wenn aber mehr ins Spiel kommen gilt die Regel. Hoffentlich auch für SPS Hersteller !
    Man kommt aber nicht immer mit einer Operation aus. Und man fährt auch schlecht wenn man die hälfte der Rechnung weglässt um dann zu sagen "Punkt vor Strich, wer braucht das schon"...

  5. #35
    Registriert seit
    17.06.2003
    Beiträge
    1.269
    Danke
    478
    Erhielt 65 Danke für 57 Beiträge

    Standard

    Hi Onkel Dagobert,

    Was s5 bzw s7 betrifft bin ich auch der Meinung von HDD.
    Bei anderen Steuerungen will ich mich raushalten -->kenne ich leider nicht.

    Mein Komentar ist an der falschen Stelle gelandet. Ich hatte übersehen das es noch mehr Seiten zu dem Beitrag gibt.

  6. #36
    Registriert seit
    29.07.2005
    Beiträge
    82
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Torsten05
    Was reine Bitverknüpfungen angeht können die gar nicht unterschiedlich arbeiten.
    Worüber diskutieren wir eigentlich? Hab doch nichts anderes bahauptet. Der ursprüngliche Code war doch:

    U E 1.0
    O E 2.0
    U E 3.0
    = A 1.0
    Reply von Seeba war, das es folgedem Ausdruck entspricht:

    E1.0 oder (E2.0 und E3.0) = A 1.0
    Reply von Gast:

    Der Eingang E1.0 bewirkt gar nichts bzw. hat keinen Einfluss auf A1.0.
    Reply von Student:

    UND bindet ja stärker als ODER
    Hallo? Gehts noch? Mein Post besagte, das das alles schon allein deshalb nicht sein könne da AWL interpretiert wird und nicht compiliert wird. Insbesondere ist so etwas wie eine stärkere Bindung damit gar nicht möglich zu realisieren. Da die obigen Posts aber alle das Gegenteil behaupten sollten die doch mal bitte ein paar Quellangaben machen. Könnte ja sein, dass das bei den verschiedenen Steuerungen anders implementiert ist. Aus eigener Erfahrung weiss ich, dass bei Siemens vieles anders gehandhabt wird als der Rest der Welt es macht. Und zumindest mit dem Reply von Gast assoziere ich dass er zu diesem Ergebnis kommt, weil er es ausprobiert hat. Und dann kommt man doch ins grübeln, oder? Aber so wie ich das jetzt sehe hat der das gar nicht getestet und der Post war einfach nur Unfug,

  7. #37
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Hallo und sorry,

    aber hier verliert man schonmal den Überblick wer was postet, da einige Stammuser immer noch hin und wieder als Gast posten.

    Egal, Hauptsache alle sind nun verwirrt

    Torsten

  8. #38
    Registriert seit
    06.10.2003
    Beiträge
    3.406
    Danke
    448
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Hallo,

    Zitat Zitat von Torsten05
    ..Egal, Hauptsache alle sind nun verwirrt ..Torsten
    Ich bin untröstlich .

    Ok, ich habe mich mit der Umsetzung von AWL nach FUP und „UND-VOR-ODER“ wieder einmal prächtig blamiert. In der Praxis passiert mir das weniger, da ich Klammern setze wie es jeweils notwendig ist.
    Der Grund warum ich mich überhaupt geäußert hatte war, den Unterschied zwischen Siemens und z.Bsp. Bosch deutlich zu machen. Wenn man diese Unterschiede nicht kennt, kann man nämlich nicht einfach einen S7-AWL-Code nach den allgemeinen Regeln der Boolschen Logik in Schaltalgebra umsetzen. Man muss die Philosophie des jeweiligen Herstellers berücksichtigen. Da manche ihr eigenes Süppchen kochen, kann man schon mal durcheinander kommen, auch bei einfachsten Verknüpfungen.

    Interessenten finden hier ein Einsteigerbuch zur CL150 von Bosch. Auf Seite 31 sind zwei Beispiele dargestellt, welche es noch einmal verdeutlichen.
    Betrachten wir mal das erste Beispiel. Nehmen wir den AWL-Code und kopieren ihn in S7. Ohne E1.3 = true würde in Step7 der Ausgang nicht kommen, richtig? Bei Bosch schon, wenn die ersten beiden Anweisungen erfüllt sind.


    Frohes Fest, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  9. #39
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von caret
    ... da AWL interpretiert wird und nicht compiliert wird.
    Bei Siemens gibt es auch SPSen die compilieren und nicht interpretieren. Näheres hierzu unter http://support.automation.siemens.co...37-&jumpto=237 im Beitrag "Warum verhalten sich STEP7-Programme bezüglich des BIE-Bits bei der SIMATIC S7-300 und bei der S7-400 unterschiedlich?"
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  10. #40
    Registriert seit
    14.10.2005
    Beiträge
    137
    Danke
    3
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Onkel,

    ich habs mir mal angeguckt und versteh nun auch was du meinst. Sehr seltsam was da bei Bosch abgeht. Das sehe ich so das erste mal . Ich würds nicht glauben wenn ichs nicht gelesen hätte. Ich gehe mal davon aus das dass was im Handbuch steht auch stimmt.
    Vielleicht erklärt das warum kein Schwein Bosch einsetzt ?

    Torsten

Ähnliche Themen

  1. C++ Code
    Von rabit im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 03.01.2010, 10:42
  2. AWL-Code Interpretaion
    Von gravieren im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 08.05.2008, 12:34
  3. SCL code
    Von awl-scl im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 14.01.2008, 17:02
  4. AWL-code
    Von Anonymous im Forum Simatic
    Antworten: 29
    Letzter Beitrag: 09.11.2005, 16:48
  5. schaltalgebra
    Von Anonymous im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 03.11.2005, 13:09

Lesezeichen

Berechtigungen

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