Variablenbezeichnung

HSThomas

Level-1
Beiträge
158
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin moin,



hier in der Firma kam es neulich zur Diskussion, wie man am besten die Variablen benennen könnte und sollte.
Auf der einen Seite stand mein Kollege, der Variablen mit kryptischen Bezeichnungen (Highlight: der Timer mit der Bezeichnung "krspf") bevorzugt. Ihm würde ein multidimensionales array und eine gut gepflegte Excel-Datei reichen.
Auf der anderen Seite ich, der den Variablen gerne solche Namen gibt, dass man schnell erkennen kann, wozu sie da sind (Highlight: Prozesswerte.Input.Analog.Durchfluss.Sauerstoff_Ist_unscaled).

Im Moment sieht es so aus, dass meine Anlagen meine Bezeichnungen beinhalten, und seine halt seine Bezeichnungen.

Wie macht ihr das denn so?

Gibt es vielleicht irgendwo eine mehr oder wenige freiwillige "Richtlinie", in der steht, wie man es machen könnte oder sollte? So eine Art... Empfehlung für SPS-Programmierer?




Gruß

Hauke
 
wenn Du bei Google mal die Begriffe "sprechende Bezeichner" oder "sprechende Variablennamen" eingibst, so wirst Du sicherlich einiges finden, was Dir Deinen Standpunkt bestätigen wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
meine Bezeichnungen sehen wie dein zweites Highlight aus
Prozesswerte.Input.Analog.Durchfluss.Sauerstoff_Ist_unscaled

Wobei ich versuche es schon kurz zu halten.
Aber es ist schon sehr hilfreich zu sehen was die Variable
für ein sinn hat, wenn ich es kryptisch möchte mach ich es so.
MD 100
DB100.DBD100
EW 100
 
fällt mir übrigens erst heute auf, dass sich bei den Tastaturen unseres werten Kollegen 4L die Umschalttasten nur sehr schwer niederdrücken lassen ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
fällt mir übrigens erst heute auf, dass sich bei den Tastaturen unseres werten Kollegen 4L die Umschalttasten nur sehr schwer niederdrücken lassen ...
Die Shifttaste sollte grundsätzlich nur noch für die Sonderzeichen genutzt werden. Groß- Kleinschreibung ist definitiv Uncool und verlangsamt das Verfassen von Beiträgen erheblich. :s3:
 
Ich versuche immer die Bezeichnungen im Schaltplan, die in Bezug zu den Funktionen im Programm stehen, den Variablen Bezeichnungen voran zustellen.
Des weiteren kommentiere ich im Code die Blöcke nach Funktionen.
Da ich meist in C oder ST progge, mache ich das wie beim Code für PC Progs.
Mein Lieblings Kommentar bei einem übernommenen Projekt „von hier an weiter mit 8 Bit, weils besser ist“


Grüße Jens
 
Hallo,
also ich versuche mich an die Vorschläge des TwinCAT InfoSys zu halten(Suche->Programmierkonventionen). Die Prefixe sind meiner Meinung nach schon sinnvoll. Ich gebe den Variablen meistens Namen, die ich verstehe und die sind auch meistens deutsch. Wenn das größere Projekte sind, an denen verschiedene Nationalitäten lass ich mir ja noch einreden, das Ganze in Englisch zu halten, aber bei kleineren Sachen, muß ich mich auskennen.
Bsp.: bFehlBest...boolesche VAR für die Fehler Bestätigung!
Gruß Sascha
 
Zuviel Werbung?
-> Hier kostenlos registrieren
muß ich mich auskennen.

Wenn die Symbolik schuld ist an deinem Aus. bzw Nichtauskennen, dann läuft etwas verkehrt.

Symbole sind Krücken die helfen KÖNNEN aber nicht immer tun.
Wenn die Funktion einer ABSOLUTEN Adresse nicht klar ist hilft auch die Symbolik nicht weiter


bike

P.S: Zur Erklärung und Verbesserung der Sinnhaftigkeit und des Verständnis der Sysmbolik würde ich immer wieder Translinie2000 empfehlen.
 
Bei uns entspricht der Variablenname / Symbol der Bezeichnung im Schaltplan, der Bezeichnung nach dem KKS, dann wird entsprechend durchnummerriert und die Verwendung in Kurzform angefügt.
Z.B.
Seite: =13
Antriebsart: Pumpe
Anzahl: zweite Pumpe auf dieser Seite
Verwendung: Meldung Betrieb

=13AP01/Betr

Diese Bezeichnung wird im Programm weitergeführt und bei allem was zusammengehört entsprechend "gleich" bezeichnet, damit sofort erkennbar ist, wozu es gehört.
Die Bezeichnungen werden soweit möglich in der Doku, im SPS-Programm und im PLS einheitlich gehalten, damit alles übersichtlich und nachvollziehbar bleibt.
 
neue maschine ... natürlich gleich aufs programm gestürzt ... aber seht selbst :sw13:
 

Anhänge

  • symbole.jpg
    symbole.jpg
    100,4 KB · Aufrufe: 162
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei uns entspricht der Variablenname / Symbol der Bezeichnung im Schaltplan, der Bezeichnung nach dem KKS, dann wird entsprechend durchnummerriert und die Verwendung in Kurzform angefügt.
Z.B.
Seite: =13
Antriebsart: Pumpe
Anzahl: zweite Pumpe auf dieser Seite
Verwendung: Meldung Betrieb

=13AP01/Betr

Diese Bezeichnung wird im Programm weitergeführt und bei allem was zusammengehört entsprechend "gleich" bezeichnet, damit sofort erkennbar ist, wozu es gehört.
Die Bezeichnungen werden soweit möglich in der Doku, im SPS-Programm und im PLS einheitlich gehalten, damit alles übersichtlich und nachvollziehbar bleibt.

Eine Blatt-Nr zu nehmen halte ich für völlig Daneben. Wenn jetzt die
Anlage erweitert wird ( und selbst wenn sie noch im Bau ist ) kann
es doch passieren das das Betriebsmittel nicht mehr auf das Gewünschte
Blatt passt oder es werden Seiten eingeschoben und schon mußt du die
Symbolik ändern, das kann es doch nicht sein.

Zur Symbolik selber noch mal "=" ist ein Anlagen Kennzeichen, wenn schon
Symbolik dann richtig.

= Anlage
. Funktionsgruppe
- Betriebsmittel
+ Ort
: Anschluß

Beispiel:
=A.004-K10M:A1

So eine Kennzeichnung finde ich auch als Symbolik im Programm richtig.
 
Zitat:

Wenn jetzt die
Anlage erweitert wird ( und selbst wenn sie noch im Bau ist ) kann
es doch passieren das das Betriebsmittel nicht mehr auf das Gewünschte
Blatt passt oder es werden Seiten eingeschoben und schon mußt du die
Symbolik ändern, das kann es doch nicht sein.

Das ist bei uns noch nicht vorgekommen. Unsere Zeichner fügen dann Blätter hinten dran wenn was dazu kommt.
 
Hallo,

etwas anderes ist (wenn die BMK die Seitennummern beinhaltet) auch gar nicht handelbar (irgendwo bleibt immer ein Schildchen, ein Symbolikschnippsel, eine Mängelanzeige oder sonstwas mit dem dann falschen Text drauf)



MfG
 
Omac etc.

Deshalb hatte ich ja hier vor einigen Tagen nach OMAC und PackMl gefragt. Da sind nämlich die Variablen von den Amis genormt worden und erst einmal für den Fremden leicht lesbar aber mit viel Tipp Aufwand für den Entwickler verbunden.

Das ganze würde sich entschärfen, wenn so etwas wie Intellisense (Microsoft Visual Studio und andere) vorhanden wäre.

Ich halte es mit der "Hungarian" Schreibweise für die SPS Programmierung.

Ein Bool Bezeichner beginnt immer mit bXxxx,
ein Word Bezeichner beginnt immer mit nXxxxx,
ein Int Bezeichner beginnt immer mit iXxxxx,
etc.

Man schleppt auch in der Syntax von ST viel unnötiges Geschreibsel mit rum, ich würde aus der C,C++,C# Erfahrung die Norm ergänzen:

// leitet einen Kommentar für den Rest der Zeile ein,

= sollte ersetzen :=,
der Vergleichsoperator wäre immer 2 Zeichen: <=, >=, ==, !=.

variable := variable + x; und vergleichbare Konstrukte werden:
variable += x;

IF (Ausdruck) THEN und vergleichbare Konstrukte
....
END_IF

wird ersetzt durch:
IF (Ausdruck)
{
....
}

Wie sagte mal Ritchie: C ist keine geschwätzige Sprache.

Oder habe ich mir nur den Tipp Kurs gespart?
 
Hallo,

also ich verwende für meine Symbolik immer die exportierten EPLAN Daten. Also =Anlage+Ort-BMK:ANSCHLUSS
Im Kommentar steht dann "Symbol" "Funktionstext"

Merker erstelle ich ähnlich, wobei dann im Kommentarfeld noch erläuternder Klartext steht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist ein wirklich interessantes Thema. Ich bin immer wieder überrascht, wie weit die Lösungsansätze hier auseinander gehen.
Ich versuche immer eine gewisse Objektorientiertheit in die Bezeichnung zu bekommen. Also :

XXXXX_YY

Die XXX sind das Objekt. Also zum Beispiel eine Pumpe. Hinter dem Unterstrich, befindet sich die eigentliche Information. Also EIN, AUS, Störung usw. Die nächsten 100 Pumpen sind nach dem gleichen Schema aufgebaut.
Ob die Pumpe jetzt im Schaltschrank von "K10" oder "Q25" angesteuert wird, ist mir eigentlich egal. Die Schnittstelle zum Schaltschrank, ist die EA Liste.
 
Das ist ein wirklich interessantes Thema. Ich bin immer wieder überrascht, wie weit die Lösungsansätze hier auseinander gehen.
Ich versuche immer eine gewisse Objektorientiertheit in die Bezeichnung zu bekommen. Also :

XXXXX_YY

Die XXX sind das Objekt. Also zum Beispiel eine Pumpe. Hinter dem Unterstrich, befindet sich die eigentliche Information. Also EIN, AUS, Störung usw. Die nächsten 100 Pumpen sind nach dem gleichen Schema aufgebaut.
Ob die Pumpe jetzt im Schaltschrank von "K10" oder "Q25" angesteuert wird, ist mir eigentlich egal. Die Schnittstelle zum Schaltschrank, ist die EA Liste.


Frage meinerseits ist an der Stelle, wie du deine Adressen generierst? Alles einzeln Ab- bzw. eintippen oder hast du eine Automation dahinter liegen?
 
Ob die Pumpe jetzt im Schaltschrank von "K10" oder "Q25" angesteuert wird, ist mir eigentlich egal. Die Schnittstelle zum Schaltschrank, ist die EA Liste.
Da hast du aus Sicht des Programmierers recht, doch wer denkt an die armen Instandhalter? Wenn in der Symbolik schon die Ortsbezeichnung ist wird es einfacher. Und wenn dann noch die selbe Beschriftung an den Geräten ist, wie es ja sein soll, findet der den Fehler ziemlich schnell

Frage meinerseits ist an der Stelle, wie du deine Adressen generierst? Alles einzeln Ab- bzw. eintippen oder hast du eine Automation dahinter liegen?
Also bei uns kommt die Liste aus Elcad, es ist aber unerheblich wer der Verursacher ist, die Bezeichner müssen eben nur Durchgängig sein Elektrik,Mechanik und Dokumentation.


bike
 
Zurück
Oben