Siemens
Digital Industries, Motion Control, Machine Tool Systems
8845
Follower:innenVariablen Definition, Gültigkeit einer variable
12.11.2004, 08:14 Uhr
Ist eine Variable die man im Unterprogramm oder Zyklus Definiert hat
auch im Hauptprogramm gültig ?
mfg Osca
auch im Hauptprogramm gültig ?
mfg Osca
12.11.2004, 08:23 Uhr
Hallo Osca,
eine Variable ( R ) ist solange gültig, bis sie neu gesetzt ( überschrieben ) wird. Die Variablen können auch in verschiedenen Haupt- und Unterprogrammen verwendet werden und bleiben selbst nach ausschalten der Steuerung gültig.
Du kannst auch im Unterprogramm mit der Variablen rechnen ( R1=R1+5 )
und im Hauptprogramm mit der Variablen arbeiten ( G81 R3=R1 ) oder umgekehrt.
Gruß von
Dirk
eine Variable ( R ) ist solange gültig, bis sie neu gesetzt ( überschrieben ) wird. Die Variablen können auch in verschiedenen Haupt- und Unterprogrammen verwendet werden und bleiben selbst nach ausschalten der Steuerung gültig.
Du kannst auch im Unterprogramm mit der Variablen rechnen ( R1=R1+5 )
und im Hauptprogramm mit der Variablen arbeiten ( G81 R3=R1 ) oder umgekehrt.
Gruß von
Dirk
12.11.2004, 08:54 Uhr
Hallo Dirk
Ich weis nicht ob es ein unterschied ist aber ich meinte Variable die man mit DEF definiert hat
z.b. DEF INT OS_WERT
mfg Osca
Ich weis nicht ob es ein unterschied ist aber ich meinte Variable die man mit DEF definiert hat
z.b. DEF INT OS_WERT
mfg Osca
12.11.2004, 12:25 Uhr
Hallo Osca,
Meines Wissens nach "Nein".
Aber, wenn Du die Variable vorher als GUD (Ordner Datenhaltung \Definitionen) anlegst, dann ist diese überall bekannt (falls nicht eine gleichnamige lokale Variable existiert).
GUD = Global User Data.
Für den Anwender stehen im Normalfall die UGUD-Variablen zur Verfügung.
Wie diese definiert werden siehe in DocOnWeb:
http://www3.ad.siemens.de/doconweb
Gruß
Alex
Meines Wissens nach "Nein".
Aber, wenn Du die Variable vorher als GUD (Ordner Datenhaltung \Definitionen) anlegst, dann ist diese überall bekannt (falls nicht eine gleichnamige lokale Variable existiert).
GUD = Global User Data.
Für den Anwender stehen im Normalfall die UGUD-Variablen zur Verfügung.
Wie diese definiert werden siehe in DocOnWeb:
http://www3.ad.siemens.de/doconweb
Gruß
Alex
12.11.2004, 12:54 Uhr
Der Meister
Level 2 = Community-Facharbeiter
Gruppe: Mitglied
Mitglied seit: 22.09.2003
Beiträge: 114
Mitglied seit: 22.09.2003
Beiträge: 114
Hallo Osca,
mit der Def-Anweisung legst Du eine lokale Variable an die nur lokal gültig ist !
Das heißt: (Beispiel)
1)Du legt die Variable (Def) im Unterprogramm an. Dann ist sie auch nur im Unterprogramm gültig.
2)Du legt die Variable im Hauptprogramm an. Dann ist sie im Hauptprogramm und im Unterprogramm gültig.
3)Legst Du eine globale Variable an (UGUD)(oder einfach einen R-Parameter) dann ist sie immer und in allen Programmen gültig.
Gruß
Der Meister
mit der Def-Anweisung legst Du eine lokale Variable an die nur lokal gültig ist !
Das heißt: (Beispiel)
1)Du legt die Variable (Def) im Unterprogramm an. Dann ist sie auch nur im Unterprogramm gültig.
2)Du legt die Variable im Hauptprogramm an. Dann ist sie im Hauptprogramm und im Unterprogramm gültig.
3)Legst Du eine globale Variable an (UGUD)(oder einfach einen R-Parameter) dann ist sie immer und in allen Programmen gültig.
Gruß
Der Meister
--------------------
Debugging? Klingonen debuggen nicht.
Unsere Software ist nicht dazu gedacht,
die Schwachen zu verhätscheln.
Unsere Software ist nicht dazu gedacht,
die Schwachen zu verhätscheln.
15.11.2004, 23:02 Uhr
Danke an alle
Ich muss zugeben das ich nicht gedacht hätte das die R-variabeln auch nach einen Neustart
Im Speicher erhalten bleiben
Für meine Zwecke ist das eine gute Lösung
Ich muss zugeben das ich nicht gedacht hätte das die R-variabeln auch nach einen Neustart
Im Speicher erhalten bleiben
Für meine Zwecke ist das eine gute Lösung
24.01.2005, 08:41 Uhr
Wie lege ich eine GUD Variable an ? kann diesbezüglich nix finden
Danke!
Gerwin
Danke!
Gerwin
24.01.2005, 22:39 Uhr
Die GUD's legt man im Verzeichnis "Definitionen" im Bereich Dienste an.
Die GUD's sind schon sinnigerweise eingeteilt in "Nutzerbereiche"
So sollte der Hersteller der Maschine den Bereich MGUD nutzen und der User den Bereich UGUD, SGUD Siemens System usw...
Beim Anlegen einer neuen Definitionsdatei läßt die Steuerung nur diese Dateitypen zu und noch GUD1 bis GUD7. Die Definition der Variablen ist der Definition über das Teileprogramm sehr ähnlich.
z.B.:
DEF NCK REAL WERT1 ;variable in allen kanälen bekannt, typ real
DEF CHAN INT WERT2 ; variable nur im 1. Kanal bekannt; typ integer
...
M17
Wenn die Tabelle angelegt wurde , muss sie noch aktiviert werden. Dafür gibt es dann einen separaten Softkey.
Man kann die Variablen natürlich auch gleich mit einem Wert initialisieren.
Den Inhalt der Variablen kann man sich ähnlich den R-Parametern im Bereich "Parameter" -> "Anwendervariablen" ansehen. Leider muss man sich dann durch die Verschieden GUD-Tabellen wühlen. Man kann seine eigenen GUD aber auch in eigen Variablenansicht zusammenfassen.
Die Anzahl der maximal zur Verfügung stehenden GUD-Variablen ist durch Maschinendaten begrenzt. Genügend freien Speicher vorrausgesetzt, läßt sich die Anzahl der GUD's aber ordentlich aufbohren.
Gruß
sinus
Die GUD's sind schon sinnigerweise eingeteilt in "Nutzerbereiche"
So sollte der Hersteller der Maschine den Bereich MGUD nutzen und der User den Bereich UGUD, SGUD Siemens System usw...
Beim Anlegen einer neuen Definitionsdatei läßt die Steuerung nur diese Dateitypen zu und noch GUD1 bis GUD7. Die Definition der Variablen ist der Definition über das Teileprogramm sehr ähnlich.
z.B.:
DEF NCK REAL WERT1 ;variable in allen kanälen bekannt, typ real
DEF CHAN INT WERT2 ; variable nur im 1. Kanal bekannt; typ integer
...
M17
Wenn die Tabelle angelegt wurde , muss sie noch aktiviert werden. Dafür gibt es dann einen separaten Softkey.
Man kann die Variablen natürlich auch gleich mit einem Wert initialisieren.
Den Inhalt der Variablen kann man sich ähnlich den R-Parametern im Bereich "Parameter" -> "Anwendervariablen" ansehen. Leider muss man sich dann durch die Verschieden GUD-Tabellen wühlen. Man kann seine eigenen GUD aber auch in eigen Variablenansicht zusammenfassen.
Die Anzahl der maximal zur Verfügung stehenden GUD-Variablen ist durch Maschinendaten begrenzt. Genügend freien Speicher vorrausgesetzt, läßt sich die Anzahl der GUD's aber ordentlich aufbohren.
Gruß
sinus
25.01.2005, 08:25 Uhr
"Alles klar" das werd ich mir gleich mal ansehen, Danke
28.01.2005, 23:32 Uhr
Hallo Incubus,
suche in den Maschinendaten nach extendet_scope wenn dieses Datum eine 0 ist dann ist die im Programm definierte Variable local gültig, wenn es eine 1 ist ist die Variable global ab der definition im Progamm gültig.
Gruß TP
suche in den Maschinendaten nach extendet_scope wenn dieses Datum eine 0 ist dann ist die im Programm definierte Variable local gültig, wenn es eine 1 ist ist die Variable global ab der definition im Progamm gültig.
Gruß TP
30.01.2005, 16:39 Uhr
Hallo danomas
Wie wird diese Variable denn genau behandelt, oder welche Eigenschaften hat sie in dem Fall, wie Du beschrieben hast? (Ebenenübergreifende lokale Variable (Common variable)?, Call-by-reference? Call-by-value?)
Gruss
Traori
Wie wird diese Variable denn genau behandelt, oder welche Eigenschaften hat sie in dem Fall, wie Du beschrieben hast? (Ebenenübergreifende lokale Variable (Common variable)?, Call-by-reference? Call-by-value?)
Gruss
Traori
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: