Showing results 1 to 10 of 10

Thread: VBA Makro wird nicht Abgearbeitet

  1. #1
    philipp.muehlberger@nat.eu Gast

    Default VBA Makro wird nicht Abgearbeitet

    Hallo zusammen,

    Habe ein Makro geschreiben für nicht lineare Wertanpassung, dieses funktioniert auf meinem Rechner einwandfrei.

    Das Problem liegt daran, wenn ich es im richtigen Projekt einsetze funktioniert es nicht. Da das Makro nicht abgearbeitet wird und ich weiß nicht warum.

    Ich verwende die Version 6.22 SP0.

    Bitte um eure Hilfe.

  2. #2
    Join Date
    28.07.2008
    Posts
    64

    Default Re: VBA Makro wird nicht Abgearbeitet

    Quote Originally Posted by philipp.muehlberger@nat.eu View Post
    Hallo zusammen,

    Habe ein Makro geschreiben für nicht lineare Wertanpassung, dieses funktioniert auf meinem Rechner einwandfrei.

    Das Problem liegt daran, wenn ich es im richtigen Projekt einsetze funktioniert es nicht. Da das Makro nicht abgearbeitet wird und ich weiß nicht warum.

    Ich verwende die Version 6.22 SP0.

    Bitte um eure Hilfe.
    Vielleicht kannst du mal deinen Code posten. Sprichst du von der zenon RT oder ED?

    Gruß alex

  3. #3
    philipp.muehlberger@nat.eu Gast

    Default Re: VBA Makro wird nicht Abgearbeitet

    Hallo,

    Der Code lautet:


    Public Function AdjustHardwareValue_Default(obVar As Variable, vValue As Variant) As Double

    ohm = (vValue * 0.4884) / 10

    Temperaturwert = (1.597 * 10 ^ (-10)) * (ohm ^ 5) - (2.951 * 10 ^ (-8)) * (ohm ^ 4) - (4.784 * 10 ^ (-6)) * (ohm ^ 3) + (2.613 * 10 ^ (-3)) * (ohm ^ 2) + (2.219 * ohm) - 241.9

    AdjustHardwareValue_Default = Temperaturwert

    End Function

    Public Function AdjustZenOnValue_Default(obVar As Variable, vValue As Variant) As Double

    Temp = vValue - 0.2

    R_ohm = (-4.2735 * 10 ^ -10) * (Temp - 100) * Temp ^ 3 - (5.802 * 10 ^ -5) * Temp ^ 2 + (3.90802 * 10 ^ -1) * Temp + 100

    Rohwert = (R_ohm / 0.4884 * 10)

    AdjustZenOnValue_Default = Rohwert + 1.5

    End Function



    Auf dem Laptop hat es funktioniert aber nicht auf dem Server.
    Auf der Runtime läuft es nicht (Server).

    Mfg

  4. #4
    Join Date
    28.07.2008
    Posts
    64

    Default Re: VBA Makro wird nicht Abgearbeitet

    Quote Originally Posted by philipp.muehlberger@nat.eu View Post
    Hallo,

    Der Code lautet:


    Public Function AdjustHardwareValue_Default(obVar As Variable, vValue As Variant) As Double

    ohm = (vValue * 0.4884) / 10

    Temperaturwert = (1.597 * 10 ^ (-10)) * (ohm ^ 5) - (2.951 * 10 ^ (-8)) * (ohm ^ 4) - (4.784 * 10 ^ (-6)) * (ohm ^ 3) + (2.613 * 10 ^ (-3)) * (ohm ^ 2) + (2.219 * ohm) - 241.9

    AdjustHardwareValue_Default = Temperaturwert

    End Function

    Public Function AdjustZenOnValue_Default(obVar As Variable, vValue As Variant) As Double

    Temp = vValue - 0.2

    R_ohm = (-4.2735 * 10 ^ -10) * (Temp - 100) * Temp ^ 3 - (5.802 * 10 ^ -5) * Temp ^ 2 + (3.90802 * 10 ^ -1) * Temp + 100

    Rohwert = (R_ohm / 0.4884 * 10)

    AdjustZenOnValue_Default = Rohwert + 1.5

    End Function



    Auf dem Laptop hat es funktioniert aber nicht auf dem Server.
    Auf der Runtime läuft es nicht (Server).

    Mfg

    Kann es sein, dass du die Funktion über eine zenon Funktion "Makro Ausführen" aufrufst? Wenn es sich um ein Netzwerkprojekt handelt, kann es sein, dass die Funktion nur am Client ausgeführt wird. Das kannst du in der Eigenschaft der Funktion einstellen.

    Hast du schon mal das Projekt in der RT im Depuger laufen lassen? Welche Fehlermeldungen hast du bekommen.

    Wäre noch interresant wie du die Funktion in der RT aufrufst.

    Noch was ( Aus der VBA docu):
    AdjustHardwareValue

    Only available, if non-linear value adjustment is active:
    Macro is executed with every change of the raw value (PLC) to update the value in the control system.

  5. #5
    philipp.muehlberger@nat.eu Gast

    Default Re: VBA Makro wird nicht Abgearbeitet

    Diese Funktion wird direkt bei der Variable aufgerufen und sonst nirgendwo.
    Wie schon gesagt, auf dem Laptop läuft dieses Programm problemlos in der RT, nur in dem Projekt wo ich es benötige funktioniert es nicht.

    Könnten ander VBA Makros mir hier in die Suppe spucken?

  6. #6

    Default Re: VBA Makro wird nicht Abgearbeitet

    wo liegt der Unterschied zwischen dem Projekt auf dem Server und das Projekt auf dem Laptop?

    Funktioniert VBA grundsätzlich auf dem Server?

    VBA kann in der zenon6.ini deaktiviert werden, wodurch VBA am Server eventuell nicht läuft.

    [VBA]
    EIN=1
    EVENTS=1

    Wenn die Projekte am Laptop und Server unterschiedlich sind, wie wurde dieser Code vom Laptop in das Projekt am Server übernommen?

    Es reicht nicht, nur den Code hineinzukopieren. Es muss im Projektbaum unter Scripting "ModuleVariables" je ein Makro erstellt werden für AdjustHardwareValue und AdjustZenOnValue, wo anschliessend im VBA Editor unter ModuleVariables der Code bei den automatisch erstellten Macros eingefügt werden kann. Alternativ können die Makros im Projekt am Laptop über Rechtsclick auf den Makros auch in eine .vbe Datei exportiert werden, und am Projekt am Server importiert.


    Bei der Variable im Projekt am Server, muss anschliessend im Eigenschaftenfenster die nichtlineare Wertanpassung über Makros aktiviert werden und die Makros ausgewählt werden.

  7. #7

    Default Re: VBA Makro wird nicht Abgearbeitet

    Wenn es möglich ist zu testen am Server, könnte man noch überprüfen ob das Makro überhaupt ausgeführt wird.

    Hierzu einfach "stop" schreiben in der erste Zeile vom VBA Makro.

    Sobald sich der Wert in der Steuerung ändert, bzw. wenn ein Wert in der zenon RT eingegeben wird für diese Variable, sollte der VBA Editor öffnen und mit einem Breakpoint in diese Zeile stehen bleiben.

    Voraussetzung ist der Eintrag in der zenon6.ini:

    [VBA]
    BREAK=1

    (der Default, wenn dieser Einstellung nicht vorhanden ist, ist "1")

    Damit Änderungen gemacht an der zenon6.ini auch übernommen werden, muss die Runtime neu gestartet werden.

  8. #8
    Join Date
    04.08.2011
    Posts
    49

    Default AW: VBA Makro wird nicht Abgearbeitet

    Hallo

    Ich habe ein ähnliches Problem:
    Ich habe ein VBA-Makro ausprogrammiert über den Aufruf "LeftClickDown" einwandfrei funktioniert.
    Jedoch wenn ich das Makro über die Funktion "VBA Makro ausführen" aufrufe passiert gar nichts...
    Auf die Frage hin, wieso ich’s nicht bei "LeftClickDown" belasse ist: Ich will das Makro in einer REMA aufrufen und da kann ich nur Funktionen verknüpfen...

    Ich habe auch das weiter oben beschriebene mit Netzwerkprojekt oder nicht bereits probiert: Macht keinen Unterschied...

    Kann es sein das ich vielleicht die Übergabeparameter falsch parametriert habe?? Ich greife jedoch auf keinen einzigen Parameter zu...

    Mfg

  9. #9
    Join Date
    20.08.2009
    Posts
    293

    Default Re: VBA Makro wird nicht Abgearbeitet

    Hallo,

    welche Version wird verwendet?

    Ich habe es mit 6.51 getestet und die LeftClickDown, etc. Makros stehen im VBA Makro ausführen Funktionsdialog gar nicht zur Verfügung.

    Oder befindet sich das Makro im thisproject?

    MfG,
    Bernhard

  10. #10
    Join Date
    04.08.2011
    Posts
    49

    Default AW: VBA Makro wird nicht Abgearbeitet

    Hallo

    Fehler gefunden. Anscheinend muss es unter "thisproject" sein damit es funktioniert...
    Ich habe unter "LeftClickDown" gehabt...

    Thx für’n Hinweis..

Similar Threads

  1. Neuer Windowsbenutzer kann Runtime nicht starten
    By j.p in forum zenon Supervisor
    Replies: 7
    Last Post: 31st March 2009, 04:40
  2. hardcopy geht nicht
    By matthias.zoellner in forum zenon Supervisor
    Replies: 3
    Last Post: 28th November 2008, 10:58
  3. Replies: 3
    Last Post: 17th October 2008, 12:43
  4. Grafik nicht vorhanden im Testmodus Combielement
    By maerz@staudinger-est.de in forum zenon Supervisor
    Replies: 1
    Last Post: 17th September 2008, 09:06

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •