Step 7 Frage zu Code?

Zuviel Werbung?
-> Hier kostenlos registrieren
Habe das Ganze jetzt so abgeändert, dass in AWL keine Klammern mehr vorhanden sind.
Keine Klammern mehr? Oh oh :roll: ... zeig doch mal. Vermutlich hat dann der erste Vergleich gar keinen Einfluß mehr auf das Ergebnis.

Manche Klammern kann man in AWL tatsächlich weglassen, doch wenn man nicht genau weiß wie das mit den Klammern in AWL richtig geschrieben werden muß, dann am besten Finger weg von AWL bei Verknüpfungen. Alternativ die gewünschte Verknüpfung in FUP oder KOP eingeben und dann die Ansicht auf AWL umstellen.


Das Auskommentieren in einem NW davor hätte aber auch jetzt die gleichen Auswirkungen, oder?
Vermutlich hätte es ebenfalls Auswirkungen. Welche? - kommt auf den Code an ...
Ziehe den resultierenden Code aus den beiden Netzwerken in einem Netzwerk zusammen, dann sieht man es wahrscheinlich.

Harald
 
Keine Klammern mehr? Oh oh :roll: ... zeig doch mal. Vermutlich hat dann der erste Vergleich gar keinen Einfluß mehr auf das Ergebnis.

Harald

Oje, dann mal lieber wieder rückgängig machen...

Obwohl es aber funktioniert!

Code:
      L     "Alarm_DB".AlarmWord_1
      L     0
      <>I   
      O     
      L     "Alarm_DB".AlarmWord_2
      L     0
      <>I   
      =     "TriggerAlarm"

Dachte nur, weil Jasper geschrieben hat:

Der unnötige "O(" stammt vermutlich davon das die Code in KOP oder FUP erstellt ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Als Anfänger ist es nicht immer einfach, mit Klammern verschachtelte AWL-Anweisungen nachzuvollziehen.

Ich empfehle ebenfalls, den Code in FUP/KOP zu übersetzen. Da kannst Du ruhig auch mal etwas "herumprobieren" und den Code mit [STRG]+[1] / [STRG]+[2] / [STRG]+[3] umschalten. Vermutlich wird der Compiler den bestehenden Code nicht umwandeln. Versuche dann einfach, die Anweisung noch etwas zu zerlegen.
Oft ist es auch hilfreich, Ergebnisse in einen "Sammelmerker" zu übernehmen anstatt riesige Netzwerke zu konstruieren.
In der Regel sind Netzwerke in KOP/FUP auch beim Beobachten besser als AWL-Code.
 
Wenn das AlarmWord1 <> 0 ist, wird das VKE = 1
Bei dem Vergleich des AlarmWord2 wird es wieder 0, wenn das AlarmWord2 = 0 ist.
Der TriggerAlarm geht dann nicht an.
 
Damit meinte er "Angstklammern", die das VKE nicht beeinflussen und eigentlich unnötig sind.
Hier ein schönes Beispiel. Der AWL-Code wurde mit [STRG]+[1] in KOP gewandelt.
Man sieht, dass die Klammern unnötig sind.KOP.jpgAWL.jpg
 
Der unnötige "O(" stammt vermutlich davon das die Code in KOP oder FUP erstellt ist.
Probier mal mit CTRL-1 oder CTRL-3. Die Code wechselt in KOP bzw. FUP.
Nur was meinte Jasper dann mit "überflüssigen" Klammern?
Jesper meinte vielleicht: Die erste O(..) kann man in AWL weglassen (das würde ich aber nicht tun - mit der "überflüssigen" Klammer ist der Code leichter verstehbar).
Dies hier ohne die erste Klammer funktioniert auch:
Code:
      L     "Alarm_DB".AlarmWord_1
      L     0
      <>I   
      O(
      L     "Alarm_DB".AlarmWord_2
      L     0
      <>I   
      )
      =     "TriggerAlarm"

PS:
Obwohl Dein Netzwerk vermutlich ursprünglich in FUP/KOP erzeugt wurde oder zumindest von da die Klammersetzung übernommen wurde, kannst Du das Netzwerk nun vermutlich nicht wieder in FUP/KOP-Ansicht zurückschalten, denn das geht nicht, wenn AlarmWord_1 und/oder AlarmWord_2 als WORD deklariert sind - es gibt keine Vergleicher-Box für WORD.

Harald
 
Zuletzt bearbeitet:
Ja stimmt Harald; zurück lässt sich das NW nicht mehr wandeln...

Ist es richtig, dass dieses Statusbit /ER nicht dargestellt werden kann, sondern nur intern zur Verfügung steht?

Lieben Dank...
 
Zurück
Oben