Variablen Namen

MatMer

Level-1
Beiträge
789
Reaktionspunkte
66
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich hatte zwar gesucht zu dem Thema aber nichts gefunden, falls das doch schon irgendwo gefragt wurde bitte ich den Thread zu entschuldigen.

Da ich SPS Programmierung nur im Fachabi hatte und wenig in der Industrie programmiert habe fehlt mir einfach ein gutes System um Varibalen zu benennen.
In C hab ich Backus Nauer (oder so ähnlich kennegelernt), heitß für ne Integer nen i davor, Feld auf Int ia etc...

Gibt es sowas auf für S7 so in der Richtung, ich hatte jetzt z.B. für meine Schrittkette M_Schritt_1,(halt M für Merker etc. aber das ist viel zu lang, da man mir von Anfang an beigebracht hat das Etechniker foul sind wollte ich versuchen die Variablen so kürz wie möglich zu halten, nur bin ich auch sehr vergesslich und leider öfters mal für 2-4 Wochen gar nicht am Programmieren wegen meinem Studium, dann vergesse ich bei Kurzen Variablen Namen oftmals wofür sie sind.

Daher wollte ich mal die Erfahrenden Programmieren nach Anregungen und Tipps fragen. Und z.B. ob man Unterstriche in Variablen verwenden sollte oder nicht.

Ich hoffe ihr seid so nett und gibt mir ein paar Tipps.
Danke
 
Hallo,

also ich habe bisher noch nicht so viel mit Variablen geprogt, aber wenn habe ich auch immer die Unterstriche verwendet. Z.B. M_Stspg_Ein, T_Analuf usw...

Ich denke es ist egal wie du die Variablen benennst, den wenn Du vier Wochen nicht am Programm sitzt must Du dich eh wieder reinarbeiten.


Greetz Robert
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe eine Anlage mit mehren Stationen programmiert und habe als Prefix, die Stationsnummer genommen, z.B.

ST02_<NAME>

Solche Prefixes lassen sich auch sehr gut von funktionalen eigenständigen Einheiten ableiten.

Ansonsten liebe ich lange und aussagekräftige Variablennamen, damit sich das Programm später möglichst selbst dokumentiert. Da ich in der Anlage mit Montrac arbeite, habe ich dann auch ein Array mit allen möglichen Wagen das eben den Namen

Cars[]

bekommen hat. Selbiges habe ich mit der Steuerung der Wagenkontrolle gemacht, die dann simpel

Transportcontrol

heisst.
 
Hallo MatMer,

prinzipiell spricht nichts dagegen objektorientierte Variablen zu benutzen.
Funktionelle Einheiten solltem am Anfang einer Programmierung festgelegt und dokumentiert werden. Ein Beispiel:

BG --> Beladegreifer
EG --> Entladegreifer
ST1 --> Bearbeitungsstation 1
EB --> Einlaufband
usw.....

Diesen "Objekten/Funktionseinheiten" können dann bestimmte Eigenschaften oder Ereignisse zugewiesen werden. Also z.B. :

EG_gel --> Entladegreifer gelöst
ST1_vorne --> Bearbeitungsstation 1 ist vorne
EB_ein --> Einlaufband ein

Bei der symbolischen Programmierung wird nach Eingabe des Funktionsnamens ein Auswahlfeld mit zugehörigen Eigenschaften angezeigt. Genau wie bei einem Hochspracheneditor. Das Erleichtert die Arbeit ungemein.
 
Ich mache immer zusätzlich ein E/A/M oder T davor.

A_AP1_Y3_UNTEN Arbeitsplatz1 Y3 nach UNTEN;
E_AP1_Y3_UNTEN Arbeitsplatz1 Y3 ist UNTEN;

Das geht dann noch besser bei der Auswahl mit den Symbolen.
Denn man hat meistens Aktoren und RM von der selben "Gruppe".
 
Ich verwende möglichst aussagekräftige Variablennamen, denen ich in freier Anlehnung an die "Ungarische Notation" ein Präfix voranstelle, welches den Datentyp identifiziert.
Zum Beispiel
f für Flag (Bit)
i für Integer
b für Byte
w für Word
s für String (Zeichenkette)
r für Real (Fliesskommazahlen)
t für Zeitwerte
Als Zusatz verwende ich den zusätzlichen Bezeichner "g" für globale Variablen.
Ein vollständiger Variablenname könnte also heissen
sgErrorText_05 = Zeichenkette (Global) Fehlertext Nummer 5
 
Siemens selbst gibt (oder gab jedenfalls) z.B. in den Projekthandbüchern genannt "Softwareguide" für die Automobilindustrie (DC, VW, AUDI usw.) gewisse Bezeichner an.

Auch wird da ein gewisser Syntax mit Groß oder Kleinschreibung angeführt.

5.
Designvorschrift – Variablen

Symbolnamen:
Eingänge: E_NAME, EB_NAME, EW_NAME
Ausgänge: A_NAME, AB_NAME, AW_NAME
Merker: m_name, mb_name, mw_name
Zeiten: t_name
Zähler: z_name
Bausteine: OB_NAME;
FC_NAME;
FB_NAME;
DB_NAME;
UDT_NAME;
Bausteine Siemens-Standard:
OB_SIEM_NAME;
FC_SIEM_NAME;
FB_SIEM_NAME;
DB_SIEM_NAME;
UDT_SIEM_NAME;​
·​
Sonderzeichen gemäß DIN407190

·​
Symbolnamen der Eingänge und Ausgänge müssen von der Elektroplanung (z.
B. E-Plan) übernommen werden.

 
Zuviel Werbung?
-> Hier kostenlos registrieren
ConEx schrieb:
Ich verwende möglichst aussagekräftige Variablennamen, denen ich in freier Anlehnung an die "Ungarische Notation" ein Präfix voranstelle, welches den Datentyp identifiziert.
Zum Beispiel
f für Flag (Bit)
i für Integer
b für Byte
w für Word
s für String (Zeichenkette)
r für Real (Fliesskommazahlen)
t für Zeitwerte
Als Zusatz verwende ich den zusätzlichen Bezeichner "g" für globale Variablen.
Ein vollständiger Variablenname könnte also heissen
sgErrorText_05 = Zeichenkette (Global) Fehlertext Nummer 5

Das ist auch meine Vorgehensweise:
Siehe auch unsere Library (LGPL)(Linux/Unix/OpenVMS/Windows) für
Aufgaben in der Prozessautomation
http://www.pvbrowser.org/pvbrowser/sf/manual/rllib/html/classes.html
 
Was ist Standard ?

Boxy schrieb:
Siemens selbst gibt (oder gab jedenfalls) z.B. in den Projekthandbüchern genannt "Softwareguide" für die Automobilindustrie (DC, VW, AUDI usw.) gewisse Bezeichner an.

Auch wird da ein gewisser Syntax mit Groß oder Kleinschreibung angeführt.

5.
Designvorschrift – Variablen

Symbolnamen:
Eingänge: E_NAME, EB_NAME, EW_NAME
Ausgänge: A_NAME, AB_NAME, AW_NAME
Merker: m_name, mb_name, mw_name
Zeiten: t_name
Zähler: z_name
Bausteine: OB_NAME;
FC_NAME;
FB_NAME;
DB_NAME;
UDT_NAME;
Bausteine Siemens-Standard:
OB_SIEM_NAME;
FC_SIEM_NAME;
FB_SIEM_NAME;
DB_SIEM_NAME;
UDT_SIEM_NAME;​
·​
Sonderzeichen gemäß DIN407190

·​
Symbolnamen der Eingänge und Ausgänge müssen von der Elektroplanung (z.
B. E-Plan) übernommen werden.


Bei internationalen Projekten sind deutsche Aküs. eher hinderlich.
English is standard there :-(
 
pvbrowser schrieb:
Bei internationalen Projekten sind deutsche Aküs. eher hinderlich.
English is standard there :-(

Naja, war ja auch nur ein schneller Auszug aus einem Projekthandbuch.
Siemens denkt da halt nicht über die Grenzen hinwech :)

Sollte da mal in einem SKODA oder anderem Handbuch nachschlagen, aber soweit wird bei A&D öfters nicht gedacht :)
Habe gerade z.B. in die Technischen Unterlagen Ausgabe 10/2005 Transline 2000 Software Guide (PLC Programmieranleitung HMI PRO) geschaut, da sind selbst bei Bausteinen "Deutsche" Bezeichner und Symbole genutzt.

Und wenn ich International denke, gibt es mit "E" und "A" schon Probleme, da im englischem "I" und "O" genutzt wird ...
 
Zurück
Oben