AWL Verständnisfrage

Peraglie

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

SPS: VIPA S7-300 ähnlich
SW: SIMATIC Manager

Ich arbeite mich gerade in eine bestehende SW ein. Dabei ist in AWL programmiert worden. Folgende Zeile verstehe ich nicht:

In der DB1 sehe ich: Tor_ist_auf_1 steht für 22.7

// U "DB Kommunikation".Tor_ist_auf_1

1) Steht im Simatic manager // für ein Kommentar?
2) was würde die oben angegebene Zeile denn machen?

Mein Verständnisproblem liegt bei dem String! Und aber auch dabei, dass in dieser Zeile laut DB1 Tabelle zwei punkte sind. Quasi: U a.b.c

Danke für Erläuterungen!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Zeile ist eine auskommentierte UND-Abfrage auf ein Bit in einem DB.

Du kannst im Datenbaustein "DB Kommunikaton" nachschauen ob du ein Bit findest welches "Tor_ist_auf_1" heisst.

Viel mehr kann man aus deinen Angaben leider nicht schliessen.
 
DB Kommunikation habe ich nicht gesehen.

es gibt DB1 und dort ist die Tabelle mit einigen Bits. Dort ist auch dieses Tor-bit aufgeführt.

ist // also definitiv eine Kommentarzeile im Simatic manager?
 
ist denn eine Sprungmarkte soetwas wie ein goto label?

es gibt doch versch. netzwerke, die alle mehr oder weniger gleichbedeutend und damit auch zeitgleich ausgewertet werden oder?

Oder ist SPB dann sowas wie ne funktion in C, die ich aufrufe und nach dem die fkt. ausgef. wurde, gehts an der aufrufstelle weiter?
 
m00f ist eine sprungmarke an die ich von überall im baustein anspringen kann.

z.b.
u e0.0
spb m00f

... mache dies wenn e0.0 nicht da ist

m00f: nop 0

aber nur weil eine sprungmarke vorhanden ist, heisst dies nicht, dass diese auch angesprungen werden muss
 
und diese zeile:

M00f: NOP 0

wofür steht hier das f? Diese Zeile sieht so aus, als würde ein anderes Netzwerk oder ein FC oder so aufgerufen werden.

Dies ist nur ein Label.
Kann z.B. für Sprungmarken oder auch zum besseren Verständnis plazieren.

ist denn eine Sprungmarkte soetwas wie ein goto label?

kann man so sagen ... Es ist das Ziel wo man hin springt:

SPA Label // GotoF Label
Code ...
Label: Nop 0

es gibt doch versch. netzwerke, die alle mehr oder weniger gleichbedeutend und damit auch zeitgleich ausgewertet werden oder?

Oder ist SPB dann sowas wie ne funktion in C, die ich aufrufe und nach dem die fkt. ausgef. wurde, gehts an der aufrufstelle weiter?

Bei ner SPS wird der Code im Prinzip Zyklisch abgearbeitet und somit wie Du schreibst nahezu Zeitgleich ... Also Es beginnt mit der ersten ANweisung im OB1 und geht dann durch bis zur letzten Anweisung des OB1 und dann wieder von vorne, immer Zyklisch im Kreis ;)

Bei C, wie auch bei Basic usw. wird von Befehl zu Befehl abgearbeitet und das Programm wartet z.B. bei einer Eingabeaufforderung usw. bis da etwas gemacht wird. Also die Bearbeitung erfolgt da nicht Zyklisch! Die SPS würde da einfach weitermachen im Programm und beim nächsten Programmdurchlauf evtl. auf die EIngabe usw. reagieren ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!
Ich arbeite mich gerade in eine bestehende SW ein. Dabei ist in AWL programmiert worden.

Entschuldige, aber... du arbeitest dich in eine bestehende SW ein? Du kennst keine Kommentare, DB-Aufrufe oder Sprünge. Wieviel weißt du denn vom SPS-/AWL-Programmieren?
Ohne ausreichende Programmierkenntnisse kann es sehr schwer werden, auch kleinere Programme zu verstehen oder zu bearbeiten...
 
Entschuldige, aber... du arbeitest dich in eine bestehende SW ein? Du kennst keine Kommentare, DB-Aufrufe oder Sprünge. Wieviel weißt du denn vom SPS-/AWL-Programmieren?
Ohne ausreichende Programmierkenntnisse kann es sehr schwer werden, auch kleinere Programme zu verstehen oder zu bearbeiten...

Na ja ist doch aber so das jeder mal anfängt. Dazu ist doch das Forum auch mit da.:)
 
kleiner Tip.

wenn du deinen Corser auf eine Zeile in deinem SPS-Programm stellst und dann F1 drückst bekommst du eine super Hilfe!

zb.

spa M000 |<-- Corser dann F1= Hilfefenster ;)

M000: NOP 0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
spa M000 |<-- Corser dann F1= Hilfefenster ;)

ich würde eher empfehlen den "Cursor" zu verwenden. :cool:

bzgl.:

M000: NOP 0

"NOP 0" ist übrigens ein Nulloperator - Platzhalter - "KeinSchadenAnrichter" (irgendwas MUSS hinter dem Einsprunglabel stehen)

Man könnte auch

M000: SET

oder

M000: CLR

schreiben, aber das würde das VKE (Verknüpfungsergebnis) verändern, daher verwenden viele lieber NOP 0.

Frank
 
Zuletzt bearbeitet:
Zurück
Oben