FlexPro
HistoryBase
Engineering
Training
Downloads
FlexPro-Support
Wissen
Community
Über Uns
Referenzen
Jobs
Allgemeiner Kontakt
Händlerverzeichnis
FlexPro-Support
DE
EN
FR
Placeholder
Produkte und Lösungen
Support und Downloads
Unternehmen
Magazin
Kontakt
Sprache
MyWeisang

Account Einstellungen

Topic

Equal To Operator

Startseite ' Community ' FPScript ' Equal To Operator

Anzeigen von 4-Stellen - 1 bis 4 (von insgesamt 4)
  • Autor
    Beiträge
  • #33250
    Hendrik Meyer
    Teilnehmer

    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=Gangpos

    For 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
    end

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

    #33253
    Hendrik Meyer
    Teilnehmer

    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=Gangpos

    For 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
    end

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

    #33251
    Bernhard Kantz
    Teilnehmer

    – 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|Component

    support@weisang.com

    #33252
    Bernhard Kantz
    Teilnehmer

    You 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

    support@weisang.com

Anzeigen von 4-Stellen - 1 bis 4 (von insgesamt 4)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.