WinCC Flex 2007-Problem mit Script

Neuling74

Level-2
Beiträge
77
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag an alle User!
Ich habe da ein kleines Problem mit einem Script unter WinCC Flexible 2007. Das Script lief unter 2005. Jetzt habe ich festgestellt, das die Fehlermeldung immer kommt wenn ich folgende Zeile eintippe:

Set Tabelle = CreateObject("Excel.Application")

Das kann doch nicht sein, oder? Ist doch nichts falsch dran. Ich verstehe das nicht. Hat sonst noch jemand Probleme mit Scripten unter der 2007er Version?

Nachtrag:
Fehlermeldung ist folgende:
WinCC hat ein Problem festgestellt und muß beendet werden.......BlaBlaBla.
Welcher Fehler festgestellt wurde steht da leider nicht. Sonst unterstreicht WinCC doch den Fehler nur. Warum hier nicht? Oder gibt es irgendwo eine Einstellung die man vornehmen
muss von der ich nichts weiss?

Nachtrag 2:
Dieses Problem tritt nur auf , wenn die Zeile wie oben lautet. Wenn man die zeile so schreibt,
Set Tabelle = CreateObject("Word.Application"), tritt das Problem nicht auf.

Hat jemand einen Tipp??
 
Zuletzt bearbeitet:
Hast Du ein Zeile mit "On Error Resume Next" ?
Und, Du kannst auch das "Err." objekt verwenden um z.b. zum anzeige ein string mit error code:

On Error Resume Next
Set Tabelle = CreateObject("Excel.Application")
strErr = ("Error # " & CStr(Err.Number) & " " & Err.Description)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
nee, habe ich nicht. Ich habe allerdings auch gerade bemerkt, das ich mich ein wenig falsch ausgedrückt habe.
Das Script wird noch nicht abgearbeitet. Beim eintippen dieser Zeile, also während der Projektierung, tritt der Fehler bereits auf und Wincc Flex wird beendet. Ich komme gar nicht dazu das Script zu starten. Habe die Klammer mal leer gelassen. Dann kann ich speichern und auch die Konsistenz prüfen. Da meckert Wincc aber nicht einmal. Das ist doch mehr als merkwürdig, oder?
 
habe das eben mal in einem leeren projekt eingefügt

Set Tabelle = CreateObject("Excel.Application")

bringt auch mein flex direkt nach der eingabe zum absturz.
dieser bericht wird von flex generiert.
Dies ist ein automatisch generierter Fehlerbericht für das WinCC flexible Engineering-System.
Microsoft Windows XP Professional Service Pack 2 5.1.2600.131072
Produktversion: WinCC flexible 2007 Advanced; K 1.02 Hotfix 1; K 1.2.0 HF 1 (1.06.03)

System.SystemException
Der Typbibliothekimporter hat während der Typüberprüfung einen Fehler gefunden. Führen Sie den Import ohne Klassenmitglieder durch.
Exception Source
mscorlib
Exception Target Site
Void nConvertTypeLibToMetadata(System.Object, System.Reflection.Assembly, System.Reflection.Module, System.String, System.Runtime.InteropServices.TypeLibImporterFlags, System.Runtime.InteropServices.ITypeLibImporterNotifySink, System.Collections.ArrayList ByRef)
Exception Stack Trace
bei System.Runtime.InteropServices.TypeLibConverter.nConvertTypeLibToMetadata(Object typeLib, Assembly asmBldr, Module modBldr, String nameSpace, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, ArrayList& eventItfInfoList)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ConversionCallback.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.TypeResolveHandler.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.nConvertTypeLibToMetadata(Object typeLib, Assembly asmBldr, Module modBldr, String nameSpace, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, ArrayList& eventItfInfoList)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.GenerateAssemblyBuilder(Object tlbNameOrGuid, UInt16 wVerMajor, UInt16 wVerMinor)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init(Object interfaceNameOrGuid, Object tlbNameOrGuid, UInt16 wVerMajor, UInt16 wVerMinor)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init_ProgId(String progId)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init(Object progIdOrInterface, Boolean setHelpDescription)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.LoadTlbAndConvertToAssemblyThread.LoadTlbAndConverToAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
End Exception
System.TypeLoadException
Der Typ ScriptEditControlLib.Adjustments in der Assembly ScriptEditControlLib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null konnte nicht geladen werden.
End Exception

Und Hallo Siemens. :sw22:
Wieder mal ein Danke für dieses wundervolle Programme :sm11: .
So werden wir wenigstens nicht Arbeitslos da wir ja nie fertig werden.
 
Hallo Volker,
danke für deine Mühe. Das ist genau die Fehlermeldung die er mir auch gibt. Wat für´n Sch.....! Werde wohl wieder das 2005er installieren. da ging das wenigstens. Schöner Mist. ein ganzer Tag im eimer wegen sowas. Was haben die von Siemens sich dabei wieder gedacht(wahrscheinlich gar nichts). :twisted:
Bin Stink-Sauer. Danke trotzdem. Dachte schon ich wäre zu blöde.
Mein Zitat scheint auf Siemens nicht zuzutreffen. Das Programm wird ja immer schlechter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
im siemens-forum scheint das problem mittlerweile auch angekommen zu sein, ein user schlägt ein um das problem drum rum vor ... ob das mit deiner tabelle hinkommt, gilt es noch zu prüfen ... hach ich liebe RSView :rolleyes:

Workaround: kein Object erzeugen, sondern mit einer bestehenden Instanz arbeiten, sollte keine vorhanden sein, eine instanz per shell befehl erzeugen:

Code:
Public Function getExcelInstance(ByRef objExcel As Excel.Application) As Boolean
    On Error GoTo errHandle
        
    Dim errCount As Integer
    
    Set objExcel = GetObject(, "Excel.Application.9")
    
    If errCount > 0 Then
        'MsgBox "Excel new opend ..., errCount = " & errCount
        Debug.Print "Excel new opend ..., errCount = " & errCount
    Else
        'MsgBox "Excel was open ..."
        Debug.Print "Excel was open ..."
    End If
    
    Exit Function
    
errHandle:
    If Not errCount > 0 And Err.Number = 429 Then
        Shell "C:\Programme\Microsoft Office\Office\excel.exe"
        errCount = errCount + 1
        Resume
    Else
        MsgBox Err.Number & vbCrLf & Err.Description, vbOKOnly + vbCritical
    End If
    
End Function


Sub workWithExcel()
Dim objXL As Excel.Application
'get Excel Object
    getExcelInstance objXL
'open excel application
    objXL.Visible = True
    objXL.Workbooks.Open "Path_to_excel_file"
    objXL.Windows(1).Visible = True
        
'do what you like here
    
    objXL.Workbooks(1).Close SaveChanges:=True
    objXL.Quit
    Set objXL = Nothing
End Sub
 
das gleiche auf meinem laptop zu hause noch mal getestet. habe hier kein hf drauf.
auch absturz

Produktversion: WinCC flexible 2007 Advanced; V 1.02; V 1.2.0.0 (1.55.01)
.... und der rest ist gleich

@vierlagig
aber das kanns ja wohl nicht sein. :(
in einer funzenden hmi alles anpassen nur weil siemens zu blöd ist.
 
Meines Wissens nach behebt das HF3 Probleme mit Scripten...

Wenn ich nachher mal dazukomme tippe ich das mal bei mir ein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das wollt´ ich ja doch gleich wissen.

Habs getestet und ebenfalls einen Absturz gehabt.

Dies ist ein automatisch generierter Fehlerbericht für das WinCC flexible Engineering-System.
Microsoft Windows XP Professional Service Pack 2 5.1.2600.131072
Produktversion: WinCC flexible 2007 Advanced; K 1.02 Hotfix 3; K 1.2.0 HF 3 (1.10.01)

System.SystemException
Der Typbibliothekimporter hat während der Typüberprüfung einen Fehler gefunden. Führen Sie den Import ohne Klassenmitglieder durch.
Exception Source
mscorlib
Exception Target Site
Void nConvertTypeLibToMetadata(System.Object, System.Reflection.Assembly, System.Reflection.Module, System.String, System.Runtime.InteropServices.TypeLibImporterFlags, System.Runtime.InteropServices.ITypeLibImporterNotifySink, System.Collections.ArrayList ByRef)
Exception Stack Trace
bei System.Runtime.InteropServices.TypeLibConverter.nConvertTypeLibToMetadata(Object typeLib, Assembly asmBldr, Module modBldr, String nameSpace, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, ArrayList& eventItfInfoList)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ConversionCallback.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.TypeResolveHandler.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.nConvertTypeLibToMetadata(Object typeLib, Assembly asmBldr, Module modBldr, String nameSpace, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, ArrayList& eventItfInfoList)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ConversionCallback.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.TypeResolveHandler.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.nConvertTypeLibToMetadata(Object typeLib, Assembly asmBldr, Module modBldr, String nameSpace, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, ArrayList& eventItfInfoList)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ConversionCallback.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.TypeResolveHandler.ResolveRef(Object typeLib)
bei System.Runtime.InteropServices.TypeLibConverter.nConvertTypeLibToMetadata(Object typeLib, Assembly asmBldr, Module modBldr, String nameSpace, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, ArrayList& eventItfInfoList)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion)
bei System.Runtime.InteropServices.TypeLibConverter.ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte[] publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.GenerateAssemblyBuilder(Object tlbNameOrGuid, UInt16 wVerMajor, UInt16 wVerMinor)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init(Object interfaceNameOrGuid, Object tlbNameOrGuid, UInt16 wVerMajor, UInt16 wVerMinor)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init_ProgId(String progId)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.ScriptEditOMReflection.Init(Object progIdOrInterface, Boolean setHelpDescription)
bei Siemens.Simatic.Hmi.Utah.Scripting.EditControl.LoadTlbAndConvertToAssemblyThread.LoadTlbAndConverToAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
End Exception
System.TypeLoadException
Der Typ ScriptEditControlLib.IFont in der Assembly ScriptEditControlLib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null konnte nicht geladen werden.
End Exception

Flex liess sich aber dennoch "normal" schließen (nicht speichern) und beenden - die Fehlermeldung welche mit dem "Schliessen-Button" Flex abgewürgt hätte habe ich stehen lassen bis alles zu war...

Also mit HF3 immer noch nicht weg!
 
Wie war noch gleich die e-Mail Adresse an die solche Fehlermeldungen gesendet werden sollen?

Irgendwas mit "winccflexiblequality" oder so ähnlich glaube ich.

Da sollte jetzt jeder ne mail schicken mit einem hier rauskopierterten Fehlerbericht - muss ja nicht jeder bei sich testen...

Wäre zumindest eine vorbeugende Maßnahme in richtung sp1 !

Wer die Adresse noch irgendwo hat bitte posten!
 
Zurück
Oben