Programmierrichtlinien

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich programmiere PCs in der Programmiersprache C und SPS unter STEP5.
Beim Umstieg auf STEP7 dachte ich mir, es wäre gut, wenn es unter STEP7 irgendwelche allgemeingültige Programmierrichtlinien gibt.
Beispiel: in STEP5 gibt es die "allgemeingültigen" Adressbereiche für Schmiermerker (ab MW 200)
Bei C gibt es Ungarische Notation zur Variabelendeklaration.
Also: Welche Präfixe gibt's bei Variabelendeklaration unter STEP7 (- AWL), wo sind Schmiermerker? Wie verhält es sich unter SCL?
 
Richtlinien

Schmiermerker in S7? Gibts keine Festlegungen, bzw muss nich sein weil es Lokaldaten gibt. Aber Vorsicht... manche Maschinenhersteller haben geschützte Bausteine in denen zB Merkerbereiche ab 200 für Schmiermerkerzwecke verwendet werden. An denen sind die Vorteile der S7 vorübergegangen.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, Schmiermerker sind in S7 in der Regel durch Lokaldaten ersetzt.
Viel interessanter ist aber die Frage nach der Variabelendeklaration.
z.B. eine lokale BOOL Valiable beschriftet man
Code:
BOOL fValue
oder eine globale INT Variable mit
Code:
INT g_nValue
.
 
Das mit den Schmiermerkern in S7 Bausteinen habe ich oft gesehen, wo Leute ihre Step5-Programme unverändert übernommen haben.
"Offizielle" Programmierrichtlinien kennen ich keine und da ich schon einiges an fremden Programmen gesehen und bearbeitet habe, habe ich auch fast ebensoviel "Systeme" kennengelernt.
Innerhalb eines Betriebes ist es vielleicht das wichtigste das Programmierer und Aussendienstler sich auf eins einigen.
Bei grösseren Anlagen mit vielen räumlich oder funktionell verschiedenen Baugruppen fand ich es hilfreich, soviel von der Anlagenkennzeichnung aus dem Schaltplan in die Symbolik zu übernehmen, dass der Zusammenhang offensichtlich wird.
 
Richtlinien

also die Frage versteh ich nich ganz. Globale Variablen sind E/A/M/T/Z/D. Die kriegen ihr Symbol in der Symboltabelle. Lokale Variablen werden im Bausteinkopf deklariert und sind duch das "#" zu erkennen. Ansonsten bedarf es keiner Unterscheidung.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
M.K. schrieb:
OK, Schmiermerker sind in S7 in der Regel durch ...z.B. eine lokale BOOL Valiable beschriftet man
Code:
BOOL fValue
oder eine globale INT Variable mit
Code:
INT g_nValue
.
Ähnlich wie ungarische Notation. Wenn man ein S7 Programm beobachtet, hat mann ja die Sympole im Programmtext und die absoluten Adressen un einer Spalte rechts davon gleichzeitig auf dem Schirm. Insofern ist es weniger nützlich als bei C.
Bei der Fehlersuche ist es häufig interessanter, ob eine Variable gleichen Typs von einem Eingang stammt oder intern gebildet wird, da man dann weiss, ob man ein externes Signal kontrollieren oder im Programm weitersuchen muss.
Bei verteilten Systemen wären hier zusätzkich Feldbusse oder Visualisierung zu berücksichtigen.
 
Zurück
Oben