Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: VB mehfach Split

  1. #21
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.547
    Danke
    820
    Erhielt 2.820 Danke für 2.272 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hmm, könntest Du Dich nicht mal mit kleinen Schritten ins Unbekannte vortasten? Mußt Du denn immer gleich die höchst-komplizierten Skripte machen, wo Du außer dem Problem auch das meiste andere nicht verstehst?

    Zum Debuggen und Beobachten von Skripten kann man Test-Ausgaben einbauen, z.B. mit ShowSystemAlarm oder in SmartTags schreiben.


    Ich habe momentan kein TIA zur Verfügung, doch wenn, dann würde ich zunächst etwas einfaches ausprobieren. Etwa sowas (alles nicht getestet):
    Code:
    Function Test_function(ByRef light, ByRef bri, ByRef hue, ByRef sat)
    
    Test_function = light  'Rückgabewert der Function
    
    light = 11             'Rückgabe über Aufrufparameter
    bri = 12
    hue = 13
    sat = 14
    
    End Function
    Dazu das Aufruf-Skript:
    Code:
    Dim wert1, wert2, wert3, wert4, result
    
    wert1 = 1
    wert2 = 2
    wert3 = 3
    wert4 = 4
    
    result = Test_function(wert1, wert2, wert3, wert4)
    
    ShowSystemAlarm "Result: " & result & " Wert1: " & wert1   '...
    
    
    'geht das auch mit SmartTags?
    'result = Test_function(wert1, SmartTags("Lampe 1 bri"), SmartTags("Lampe 1 hue"), SmartTags("Lampe 1 sat"))
    Erst wenn das funktioniert, dann lohnt es sich, die Rückgabe von Werten aus einem Array zu versuchen. Und dann mal als Übergabeparameter direkt SmartTags anzugeben.


    Zitat Zitat von emilio20 Beitrag anzeigen
    ich möchte gerne 1 wert in die Funktion übergeben und 3 werte aus dem Script zurückgeben. Leider Funktioniert dies nicht. Ich habe gelesen das ich hierfür eine Funktion verwenden muss keinen Sub.
    Wo hast Du das gelesen bzw. was steht da genau?
    Warum das Werte zurückgeben über ByRef-Aufrufparameter nur in einer Function funktionieren soll erschließt sich mir nicht.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    RONIN (07.01.2015)

  3. #22
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.336
    Danke
    392
    Erhielt 820 Danke für 663 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Hmm, könntest Du Dich nicht mal mit kleinen Schritten ins Unbekannte vortasten? Mußt Du denn immer gleich die höchst-komplizierten Skripte machen, wo Du außer dem Problem auch das meiste andere nicht verstehst?


    Das denk' ich mir nicht nur bei emilio20.

  4. #23
    Registriert seit
    10.08.2010
    Beiträge
    731
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard

    Hallo
    folgende Ergebnisse habe ich

    Code:
    Sub VBFunktion_1()
    Dim wert1, wert2, wert3, wert4, result
    
    wert1 = 1
    wert2 = 2
    wert3 = 3
    wert4 = 4
    
    
    result = Hue_Farbe_read(wert1, wert2, wert3,wert4)
    
    'Funktioniert
    ShowSystemAlarm "Result: " & result & " Wert1: " & wert1 & " Wert2: " & wert2 & " Wert3: " & wert3 & " Wert4: " & wert4  '...
    
    'Funktioniert nicht
    result = Hue_Farbe_read(wert1, SmartTags("Lampe 1 bri"), SmartTags("Lampe 1 sat"), SmartTags("Lampe 1 hue"))
    
    End Sub
    Code:
    Sub VBFunktion_1()
    Dim wert1, wert2, wert3, wert4, result
    
    wert1 = 1
    wert2 = 2
    wert3 = 3
    wert4 = 4
    
    result = Hue_Farbe_read(wert1, wert2, wert3,wert4)
    
    'Funktioniert
    ShowSystemAlarm "Result: " & result & " Wert1: " & wert1 & " Wert2: " & wert2 & " Wert3: " & wert3 & " Wert4: " & wert4  '...
    
    'Funktioniert
    SmartTags("bri")=wert2
    SmartTags("sat")=wert3
    SmartTags("hue")=wert4
    
    
    End Sub
    Angehängte Grafiken Angehängte Grafiken
    Geändert von emilio20 (07.01.2015 um 18:57 Uhr)

  5. #24
    Registriert seit
    21.09.2011
    Beiträge
    5
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi Emilio,

    ich verfolge momentan deine Hue Programmierung in den Foren. Momentan bin ich auf das selbe Problem gestoßen, dass du wohl auch hattest.

    Ich bekomme immer die Fehlermeldung mit "Fehler ActiveX component cant create object: winhttp.winhttprequest.5.1 in Skript.

    Wie hast Du das gelöst? Würde mich über eine Antwort sehr freuen.
    Vielen lieben Dank
    Michi

  6. #25
    Registriert seit
    10.08.2010
    Beiträge
    731
    Danke
    1
    Erhielt 14 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo das Skript Funktioniert nur auf einen Windows XP, 7, 10 Bediengerät da nur diese ActiveX winhttp unterstützen.
    Auf einen Win CE Bediengerät geht dies nicht.

    Am besten einen IPC mit Win 7 verwenden.
    Homepage Projekt smart home
    http://plcsmarthome.jimdo.com/


Ähnliche Themen

  1. Temperaturregelung eines Exruders (Split-Range)
    Von JensO im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 27.08.2011, 09:36
  2. split range regler und step 7
    Von WIX im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.04.2011, 22:27

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •