Funktion En användarvariabel kan definieras som 1- till maximalt 3-dimensionellt fält (array): 1-dimensionellt: DEF <Datentyp> <Variablenname>[<n>] 2-dimensionellt: DEF <Datentyp> <Variablenname>[<n>,<m>] 3-dimensionellt: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] Användarvariabel av datatyp STRING kan definieras maximalt som 2-dimensionellt fält. Datatyper Användarvariabel kan definieras som fält för följande datatyper: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME Värdetillordning till fältelement Värdetillordning till fältelement kan göras vid följande tidpunkter: vid fältdefinitionen (initieringsvärden) under programförloppet Värdetillordning därvid göras via: explicit angivande av ett fältelement explicit angivande av ett fältelement som startelement och angivande av en värdelista (SET) explicit angivande av ett fältelement som startelement och angivande av ett värde och frekvensen för dess upprepande (REP) Användarvariabler av datatyp FRAME kan inte tillordnas några initieringsvärden. Syntax (DEF) DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] DEF STRING[<Stringlänge>] <Variablenname>[<n>,<m>] Syntax (DEF=SET) Användning av en värdelista:
vid definitionen: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = SET(<Wert1>,<Wert2>,) likabetydande med: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = (<Wert1>,<Wert2>,) Vid initieringen via en värdelista är angivande av SET optional. vid en värdetillordning: <Variablenname>[<n>,<m>,<o>] = SET(<WERT1>,<Wert2>,) Syntax (DEF=REP) Användning av ett värde med upprepning vid definitionen: DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = REP(<Wert>) DEF <Datentyp> <Variablenname>[<n>,<m>,<o>] = REP (<Wert>,<Anzahl_Feldelemente>) vid en värdetillordning: <Variablenname>[<n>,<m>,<o>] = REP(<Wert>) <Variablenname>[<n>,<m>,<o>] = REP(<Wert>,<Anzahl_Feldelemente>) Betydelse DEF: <Datentyp>: Kommando för definition av variabler Datatyp för variabler Värdeområde: vid systemvariabler: BOOL, CHAR, INT, REAL, STRING, AXIS vid GUD- eller LUD-variabler: BOOL, CHAR, INT, REAL, STRING, AXIS, FRAME <Stringlänge>: <Variablenname>: [<n>,<m>,<o>]: <n>: Maximalt antal tecken vid datatyp STRING Variabelnamn Fältstorlekar resp. fältindex Fältstorlek resp. fältindex för 1:a dimensionen Fältindex: 0 n 65534
<m>: Fältstorlek resp. fältindex för 2:a dimensionen Fältindex: 0 m 65534 <o>: Fältstorlek resp. fältindex för 3:e dimensionen Fältindex: 0 o 65534 SET: (<Wert1>,<Wert2>,): REP: <Wert>: <Anzahl_Feldelemente>: Värdetillordning via den angivna värdelistan Värdelista Värdetillordning via det angivna <Wert> Värde mid vilket fältelementen ska beskrivas vid initieringen med REP. Antal fältelement som ska beskrivas med det angivna <Wert>. För de resterande fältelementen gäller oberoende av tidpunkten: Initiering vid fältdefinitionen: De resterande fältelementen beskrivs med noll Tillordning under programkörningen: De aktuella värdena för fältelementen förblir oförändrade. Är parametern inte programmerad beskriva alla fältelementen med <Wert>. Är parametern lika med noll gäller beroende av tidpunkten: Initiering vid fältdefinitionen: Alla element förbeläggs med noll Tillordning under programkörningen: De aktuella värdena för fältelementen förblir oförändrade. Fältindex Den implicita ordningsföljden för fältelementen t.ex. vid en värdetillordning via SET eller REP sker genom upprepning av fältindex från höger till vänster. Exempel: Initiering av ett 3-dimensionellt fält med 24 fältelement: DEF INT FELD[2,3,4] = REP(1,24) FELD[0,0,0] = 1 FELD[0,0,1] = 1 FELD[0,0,2] = 1 1. fältelement 2. fältelement 3. fältelement
FELD[0,0,3] = 1 FELD[0,1,0] = 1 FELD[0,1,1] = 1 FELD[0,2,3] = 1 FELD[1,0,0] = 1 FELD[1,0,1] = 1 FELD[1,2,3] = 1 4. fältelement 5. fältelement 6. fältelement 12. fältelement 13. fältelement 14. fältelement 24. fältelement motsvarande: FOR n=0 TO 1 FOR m=0 TO 2 FOR o=0 TO 3 FELD[n,m,o] = 1 Exempel: Initiering av kompletta variabelfält Aktuell beläggning se bild. Programkod N10 DEF REAL FELD1[10,3]=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,) N20 FELD1[0,0]=REP(100) N30 FELD1[5,0]=REP(-100) N40 FELD1[0,0]=SET(0,1,2,-10,-11,-12,-20,-20,-20,-30,,,,-40,-40,-50,-60,-70) N50 FELD1[8,1]=SET(8.1,8.2,9.0,9.1,9.2)
se även : Ytterligare informationer Allmänna informationer till variabler