Topic
Equal To Operator
Startseite ' Community ' FPScript ' Equal To Operator
- Dieses Thema hat 3 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 17 Jahren, 8 Monaten von Hendrik Meyer aktualisiert.
-
AutorBeiträge
-
06.09.2007 um 23:44 Uhr #33250Hendrik MeyerTeilnehmer
Hallo, ich hab das alte Probelm lösen können. Wer ahnt auch schon, dass elseif zusammen geschrieben werden muss.
Allerdings bekomme ich nun die Fehlermeldung “Falscher Datentyp”. Leider kann ich in der Hilfe keine Informationen finden.
Bitte um Support.
Dim Turbinendrehzahl, i, Gang, y
Turbinendrehzahl=0 # 10000
Gang=GangposFor Each Value i In Vges Do
If GANG[i]=1 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 1′
Elseif GANG[i]=2 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 2′
Elseif GANG[i]=3 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 3′
Elseif GANG[i]=4 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 4′
Elseif GANG[i]=5 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 5′
Elseif GANG[i]=6 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 6′Return turbinendrehzahl[i]
end
endP.S.: Und wie würde es aussehen müssen, wenn Radwellendrehzahl (x ist Zeit, y sind die relevanten Werte) eine Signal anstatt einer Datenreihe wäre?
Vielen Dank
06.09.2007 um 23:44 Uhr #33253Hendrik MeyerTeilnehmerHallo, ich hab das alte Probelm lösen können. Wer ahnt auch schon, dass elseif zusammen geschrieben werden muss.
Allerdings bekomme ich nun die Fehlermeldung “Falscher Datentyp”. Leider kann ich in der Hilfe keine Informationen finden.
Bitte um Support.
Dim Turbinendrehzahl, i, Gang, y
Turbinendrehzahl=0 # 10000
Gang=GangposFor Each Value i In Vges Do
If GANG[i]=1 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 1′
Elseif GANG[i]=2 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 2′
Elseif GANG[i]=3 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 3′
Elseif GANG[i]=4 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 4′
Elseif GANG[i]=5 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 5′
Elseif GANG[i]=6 Then
Turbinendrehzahl[i]=Radwellendrehzahl/’Gang 6′Return turbinendrehzahl[i]
end
endP.S.: Und wie würde es aussehen müssen, wenn Radwellendrehzahl (x ist Zeit, y sind die relevanten Werte) eine Signal anstatt einer Datenreihe wäre?
Vielen Dank
07.09.2007 um 03:07 Uhr #33251Bernhard KantzTeilnehmer– Use the [b]Equal To Operator (==)[/b] instead of the [b]Assignment Operator (=)[/b] to compare values in FPScript.
– The [b]Component operator[/b] extracts the X, Y- or Z-component from a data set with an aggregate data structure.See also the FlexPro Online Help
Analyzing Data|Reference|FPScript Operators
Analyzing Data|Reference|Data Access|Component01.10.2007 um 17:47 Uhr #33252Bernhard KantzTeilnehmerYou can do this computation much more efficiently if you use the index operator and event isolation functionality to avoid loops on individual values:
Dim idx// setup data series of proer length
Dim Turbinendrehzahl = 0. # NumberOfRows(Vges)// Find all positions where 1st gear was used
idx = ValuesInInterval(Gangpos, 1, 1, EVENT_INDEX)
// set all these postions to a fixed value
Turbinendrehzahl[idx] = Radwellendrehzahl / 'Gang 1'// do the same for the 2nd gear.
idx = ValuesInInterval(Gangpos, 2, 2, EVENT_INDEX)
Turbinendrehzahl[idx] = Radwellendrehzahl / 'Gang 2'// continue for further gears
// would "Radwellendrehzahl" and "Gang x" be data series, you could have a loop running across the gears.
...// return the result
return Turbinendrehzahl
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.