WinCC Flex, OPC, excel und andere liebesgeschichten

erzteufele

Level-2
Beiträge
738
Reaktionspunkte
167
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

So ich werkel schon den halben Tag damit rum über eine WinCC Flex Runtime eine excel tabelle zu beschreiben ... bzw. habe die Scripte die ich hier für WinCC gefunden habe versucht für Flex zu nutzen bissel was da probiert und hier ... ich komme aufjedenfall nicht mehr weiter, sonnst würd ich ja auch nicht schreiben. :)
so mein Anliegen ist...

1. Morgen Produktionsbeginn Anlage wird angeschalten SPS und PC
2 PC soll eine neue Excel Datei mit Aktuellem Datum
3 Messdaten aufen PC schicken dort in die excel datei ablegen

immoment läuft das ganze mitem opc von siemens der wo im simatic.net dabei ist und labview

ich möchte das ganze einfach haben ohne labview weil ich mich damit nicht auskenne und auch nicht lernen möchte :) deswegen wollte ich WinCC Flex nutzen sollte ja auch gehen oder ?

Zur Hardware: S7-314 DP mit CP Lean für Ethernet
PC bekommt die Daten per Ethernet klar^^

so jetzt wer kann mir ein bisschen unter die Arme greifen?

gleich vorab das letzemal das ich VB programmiert habe ist schon 5 Jahre her :D und da ich erst 23 bin war das in der Zeit wo die Meisten lücken sind :ROFLMAO:


Grüße Andre
 
Also denn ...
Als grundsätzliche Info : vielleicht erstmal hier lesen. Dort steht schon sehr viel brauchbares ...
Mit Flex in der Runtime-Version ist das wahrscheinlich alles machbar (deine Beschreibung ist ein wenig lückenhaft und dünn ... :rolleyes:).

Gruß
LL
 
Und jetzt kommt die Werbung:
Für genau diesen Fall gibt es bei uns ACCON-S7-EasyLog. Diese Software läuft direkt auf dem
PC und erfüllt alle die genannten Anforderungen. Und dies ohne WinCC flexible und ohne OPC.
Einfach einmal mit der Demovesrion testen.
 
das wären aber 400€ pro maschine wo ich was abspeichern soll ...
da isses doch günstiger wenn ich selbst einmal was schreibe wo ich dann überall nutzen kann^^ .. obwohl die rt von flex kostet ja au mmm mal mit cheffe reden ich probier´s aber mal aus



so zu WinCC Flex und dem skripten wie bekomme ich es hin das er mir eine datei erstellt mit dem namen des aktuellen datum´s ?

also z.b. Askoll10-02-2009.xls oder so ?
habs versucht mit

Verzeichnis = "c:\test\"
Datei = ".xls"
appExcel.Workbooks.Add
appExcel.ActiveWorkbook.SaveAs(Verzeichnis + Date + Datei)

aber da passiert garnichts ?!
müsste ich Date erst in string umwandeln und dann reinsetzen oder ka?

grüße andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
so sieht das in meinen Scripten aus :
Code:
Verzeichnis = "c:\Prod-Daten\"
Datei_Neu = "Daten " + Right(Year(Now) ,2) + Right(100 + Month(Now) ,2) + Right(100 + Day(Now) ,2) +" .xls"
 
wbExcel.Saveas Verzeichnis + Datei_Neu ,[COLOR=#0000ff][COLOR=#0000ff]true
[/COLOR][/COLOR]
Damit das funktioniert, muss Excel auf dem besagten PC installiert sein.

Dessen ungeachtet solltest du Rainer's Vorschlag nicht einfach so "von der Hand weisen" - deine Arbeitszeit und die WinCCDlex-Lizenz kosten ja auch Geld.
Ich würde es aber auch selber machen ... ;)

Gruß
LL
 
Hab gerade mal nachgesehen, die WinCC flexible RT kostet mit 128 Powertags 400,- Euro. Die beiden Lösungen schenken sich also preislich nichts. Natürlich kann WinCC flexible viel mehr als ACCON-S7-EasyLog. Aber ist die einzige Aufgabe die Speicherung der Daten?
 
Danke Larry

ich mach es auch lieber selber :) so lern ich noch was dabei^^


bis jetzt muss ich nur daten aufzeichnen^^ wie gesagt bis jetzt ;)
habe an der anlage eigentlich schon ein TP 177b mit dem ich fehler ausgebe aber die könnte ich ja auch aufem pc ausgeben und mitspeichern.

an Larry: könntest du mir vielleicht ein komplettes skript von dir schicken damit ich sehe wie du das alles machst? ich habe jetzt das beispiel skript genommen und so geändert das es passt geht auch soweit :)
habe deinen code von oben eben übernommen nur ein wenig anders du hast ja
Verzeichnis = "c:\Prod-Daten\"
Datei_Neu = "Daten " + Right(Year(Now) ,2) + Right(100 + Month(Now) ,2) + Right(100 + Day(Now) ,2) +" .xls"

wbExcel.Saveas Verzeichnis + Datei_Neu ,true

und ich hab
Verzeichnis = "c:\test\"
Datei = "Daten " + Right(Year(Now) ,2) + Right(100 + Month(Now) ,2) + Right(100 + Day(Now) ,2) +" .xls"
Set appExcel = CreateObject ("EXCEL.Application")
Set fs = CreateObject ("Scripting.FileSystemObject")
appExcel.Workbooks.Add
appExcel.ActiveWorkbook.SaveAs(Verzeichnis + Datei)

was ist da jetzt der unterschied ? machen tuts ja´s gleiche


grüße andre
 
... funktionell gibt es da gar keinen Unterschied - ich strukturiere das halt nur lieber noch etwas :
Code:
[COLOR=#0000ff][COLOR=#0000ff]Set[/COLOR][/COLOR] appExcel = CreateObject ("EXCEL.Application")
[COLOR=#0000ff][COLOR=#0000ff]Set[/COLOR][/COLOR] fs = CreateObject ("Scripting.FileSystemObject")
[COLOR=#0000ff][COLOR=#0000ff]Set[/COLOR][/COLOR] wbExcel = appExcel.Workbooks.Open (Datei_Org)
[COLOR=#0000ff][COLOR=#0000ff]Set[/COLOR][/COLOR] wsExcel = wbExcel.Worksheets("Daten")
wbExcel.Author = "Anlage 123"[COLOR=#ff0000][COLOR=#ff0000]
[/COLOR][/COLOR]wsExcel.Range("G3") = Now 
wsExcel.Range("F1") = 9 [COLOR=#008000][COLOR=#008000]
[/COLOR][/COLOR]wbExcel.Saveas Verzeichnis + Datei_Neu ,[COLOR=#0000ff][COLOR=#0000ff]true
[/COLOR][/COLOR]
Ein kompletter Zugriff sähe dann z.B. so aus ...

Du solltest aber noch eines wissen ... kontinuierliche Zugriffe auf ein Excel-Sheet sind ar...langsam. Wenn es etwas zügiger sein soll/muss dann schreibe ich lieber in eine CSV-Datei (ohne Excel dabei zu verwenden).

Gruß
LL
 
da habe ich genug zeit ^^

öhm aber ich habe grad ein neues problem :)
ist ja jetzt meine erste runtime wo ich gemacht habe sonnst immer nur TP 177 ... da hatte ich auch nie probleme mit der Verbindung

muss ich mit der RT was anders machen ?
ich habe hier eine 315-2 PN/DP der steuerung hab ich die ip 172.16.13.140 zugewiesen mein laptop ist auf 172.16.13.44
so habe in wincc flex unter verbindungen S7 300/400 dann auf ethernet und die adresse der steuerung eingegeben so ... aber verbindung konnte nicht aufgebaut werden? warum nicht ?

grüße andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Andre,
ich vermute, dass du im Flex vergessen hast die Verbindung zu projektieren. Dies beinhaltet in dem PC auch einen CP, den du auch angeben mußt ...

Gruß
LL
 
ich vermute, dass du im Flex vergessen hast die Verbindung zu projektieren. Dies beinhaltet in dem PC auch einen CP, den du auch angeben mußt ...
Dies gelt nur wenn WinCC Flex RT ist Teil von ein "PC Station". Und dann muss Simatic Softnet separat zugekauft werden.
Ab WinCC Flex 2007 kan ein direkte ethernet verbindung über S7ONLINE projektiert werden. Und gleichzeitig ist Simatic Softnet Lean nicht mehr mit der RT Lizenz "gebundelt" - leider !

Ich kann mir 2 Fehlermöglicheiten vorstellen.
1. Rack/Slot ist nicht spezifiziert. Muss bei S7-300 immer 0/2 sein.
2. S7ONLINE in PG/PC Schnittstelle utility ist nicht auf ethernet eingestellt.
 
Danke :) es war Lösung 2 *grins* ich schussel *ROFL*

jetzt geht alles jippi jetzt kann ich weiter skripten


aber ich bin ja nicht allwissend also noch eine frage ;)

kann ich die excel tabelle in echtzeit beschreiben? also das die tabelle offen ist das die daten immer neu eingeschrieben werden das ich das auch direkt sehe? geht das ?

grüßel andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kann ich die excel tabelle in echtzeit beschreiben? also das die tabelle offen ist das die daten immer neu eingeschrieben werden das ich das auch direkt sehe?
Hallo Andre,
es könnte sein, dass das geht ...
Um in die Tabelle zu schreiben wir nach dem dir vorliegenden Script Excel zunächst geöffnet, dann das Sheet in das du dann hineinschreibst, dann das Sheet gespeichert und Excel wieder geschlossen.
Du könntest das dahin gehend ändern, dass du mit Start der Visu Excel öffnest und auch das passende Sheet und die das "merkst". Nun greifst du in der Folge nicht mehr mit "CreateObject" sondern mit "GetObject" darauf zu um den Handle zu bekommen. Nun das Sheet nur speichern und Excel nicht mit ".Quit" beenden ... Dadurch bleibt Excel die ganze Zeit geöffnet. Möglicherweise kannst du so Wertänderungen sehen (wie gewünscht). Ich habe das noch nicht probiert - aber das wäre ein Ansatz ...
Wenn du dann die Visu beendest, dann solltest du allerdings eventuell auch Excel mit ".Quit" beenden ...

Gruß
LL
 
Zurück
Oben