Fragen zu AWL-Programm

Zuviel Werbung?
-> Hier kostenlos registrieren
Im Bausteine-Ordner gibt es eine Spalte "Typ", da steht bei jedem DB, ob er ein normaler Global-Datenbaustein ist oder ein "Instanzdatenbaustein zu FB xx". Hier kann man sehr schnell alle Instanz-DB zu einem FB finden.

Und schau Dir mal Extras > Referenzdaten > Programmstruktur und Bausteine-Ordner > Rechts-Mausklick > Bausteinkonsistenz prüfen ... an.

Harald

Hallo Harald,

also ich habe alle Deine Vorschläge mal durch probiert, und am einfachsten ist die Methode, den Typ in der Bausteinliste einzusehen. Allerdings ist zu beachten, daß man die Ansicht auf "Details" stellt, da in der Ansicht "Symbole" und "große Symbole" diese Spalte nicht erscheint.

Bis demnächst, und an alle ein schönes Weihnachten,
der Andi
 
Hallo Andi,



diese Art der Programmierung stammt noch aus S5-Zeiten, wo es die Befehle
SET und CLR noch nicht gab.

Grüße
Gebs

Einspruch!
Man kann nicht über Referenz SET und CLR finden, was öfter notwendig sein kann, und wie oben schon geschrieben wurde funktioniert dies nur in AWL.
Daher sind 0 und 1 Merker für System und Inbetriebnahme, auch bei S7 wichtig und notwendig.

bike
 
Ich benutz sogar gerne 4 Logische Merker. Ich weiß es gibt nur 2 Zustände...

Die Logischen für den Betrieb.
"Logisch 1" sowie "Logisch 0"
und beim Inbetriebnahmen und Programmentwicklung die Merker
"Inbe Log 1" und "Inbe Log 0"
und am Ende suche ich nach den letzen 2 Merkern die dann nicht mehr da sein dürfen. Weil alle teile in betrieb genommen wurden.
 
Ich benutz sogar gerne 4 Logische Merker. Ich weiß es gibt nur 2 Zustände...

Die Logischen für den Betrieb.
"Logisch 1" sowie "Logisch 0"
und beim Inbetriebnahmen und Programmentwicklung die Merker
"Inbe Log 1" und "Inbe Log 0"
und am Ende suche ich nach den letzen 2 Merkern die dann nicht mehr da sein dürfen. Weil alle teile in betrieb genommen wurden.

du bistn fuchs
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein FB ist eigentlich eine Funktion mit einem Datentyp (der Datentyp ist aufgebaut wie ein struct in C).

Dieser Datentyp kann Vorlage für einen DB sein, oder als Unterstruktur (Multiinstanz) in weiteren FBs vorkommen.

Um alle Vorkommen des FBs, sowohl Aufrufe als auch Verwendung des Datentyps, zu finden, gibt es bestimmt Möglichkeiten in den "Referenzdaten". Ich gehe anders vor. Ich generiere die Quelle (sofern sie nicht schon vorliegt) und suche per Textsuche nach dem Namen des FBs. Der steht bei: DB-Definitionen, FB-Aufrufen mit DB, Multiinstanz-Definitionen.

Um alle Vorkommen der Datenstruktur zu finden: erfasse alle FBs, die den gesuchten FB als Multiinstanz enthalten, auch indirekt, und speichere die Zugriffspfade. Dann erfasse alle DBs, die die gefundenen FBs als Vorlage nutzen.


Zum Sinn und Unsinn von "true" und "false" Bits: sie werden auch in anderen Programmiersprachen oft in irgendeiner Form verwendet, sind also nicht ungewöhnlich. Die Konstruktion "UN bit; S bit;" sieht eher ungewöhnlich aus, wenn man meint, dass es auch SET und CLR oder aehnliches gibt.

Ich habe noch nie nach "true" und "false" oder nach SET und CLR suchen müssen, genauso wenig wie ich zB nach der Zahl 0 suche. Wenn etwas im Programm konstant gesetzt werden muss, dann ist das eben so, ist nichts ungewöhnliches, und ist nichts wovon man alle Vorkommen auflisten müsste. Wenn es aber darum geht, Stellen mit temporärem Code zu markieren, dann können _separate_ Bits wie "Inbe Log 0" (bei mir dann eher tmp_false) hilfreich sein.

Ich finde auch SET nicht mehr oder weniger elegant als "U true".
 
Zurück
Oben