# Variablen Namen



## MatMer (9 Februar 2006)

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


----------



## kolbendosierer (9 Februar 2006)

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


----------



## drfunfrock (9 Februar 2006)

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.


----------



## ODER_NICHT (16 Februar 2006)

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.


----------



## mr__mines (26 Februar 2006)

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".


----------



## sps-concept (26 Februar 2006)

*Symbole*

Hallo,

es macht Sinn das nach der Funktion zu benennen.

Station+Funktionsnummer+Bewegungsrichtung


Hierzu auch als Inspiration die Philosophie des SymCreators:
http://www.sps-forum.de/showthread.php?t=6863

MfG
André Räppel


----------



## ConEx (9 März 2006)

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


----------



## Boxy (13 März 2006)

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.​


----------



## pvbrowser (14 März 2006)

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
> ...



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


----------



## pvbrowser (14 März 2006)

*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.
> 
> ...



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


----------



## Boxy (14 März 2006)

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 ...


----------

