CSV-Datei in WinCC flex importieren

Aulicus

Level-1
Beiträge
26
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

erstmal vorweg, ich bin blutiger Anfänger im Bereich WinCC Flex und habe da mal ein Problem...

Ich versuche krampfhaft eine CSV-Datei in ein bestehendes Projekt zu integrieren und diese einfach anzeigen zu lassen.
Ich benötige keinerlei interaktion mit dieseer Datei es geht einfach nur darum bestehende Listen für eine Wartungsübersicht anzuzeigen damit der Bediener weiß was er machen soll.
In dieser Liste steht nichts wweiter als die KKS bezeichnung der Typ und Hersteller und ggf noch ein Verweiß auf die Dokumentation.
Es kann doch nicht so schwierig sein das zu bewerkstelligen, oder was auch noch möglich ist dass ich einfach zu doof bzw. unerfahren bin...
Das Projekt ist Thema meiner Technikerarbeit und ich komme bei diesem Problem auf keinen grünen Zweig.

Vielen Dank schonmal im vorraus!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie gesagt bin blutiger Anfänger, haben das Thema in der Technikerschule nur mal angekratzt z.B. Button A löst Fenster B aus etc.
In meinem Projekt werden Wartungsmeldung durch sog. Bitmeldungen ausgelöst welche von der ET200s je nach Einstellung gesteuert werden z.B. tägl. oder wöchentl.
alles in einem DB gespeichert.
und jetzt soll mit klick auf einen Button (unter den Meldungen) ein Bild geöffnet werden in dem dann die entsprechende Tabelle dazu angezeigt wird. Da sonst viel zu viel Info in die Texte der Entsprechenden Meldung gepackt werden müsste.

Find´s echt saugut dass mir hier so schnell und vor allem kompetent geholfen wird:D
 
Naja ... also mit dem von dir genannten kommst du bei dieser Aufgabe nicht mehr weiter ... 8)

Ich würde jetzt wir folgt weitermachen :
Du baust dir zunächst ein Script, das in der Lage ist, die jeweils relevanten Inhalte deiner CSV-Datei laden zu können.
Da in Flex die Debugging-Möglichkeiten nicht so toll sind würde ich die Zeilen zunächst in Flex-Variablen (Strings) einlesen und diese auf deiner Bildschirmseite anzeigen lassen.
Den Script-Aufruf würde ich zunächst über einen Button auf derselben Seite machen.

Wenn davon irgendetwas läuft (oder auch wenn nicht) dann sehen wir weiter.
Wäre das ein Weg für dich ...?

Gruß
Larry
 
Klingt gut, jetzt muss ich nur noch meine Skript-"Skills" erweitern;)

Ich werde berichten...

Vielen Dank nochmals!!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bin schonmal einen Schritt weiter Script-Prinzip verstanden:ROFLMAO:

allerdings übernimmt diese /wüste Flüche einsetzen/ Script die als interne Variable angeleggten strings nicht... schkrisch noch Plagg
 
Code:
'Declaration of local tags - Deklaration von lokalen Variablen
Dim fso, f, ts, Path, field, MyZf, i, j, HiField(13,243)

Path = "c:\testfile.txt"

'Definition of local tags - Definition von lokalen Variablen
i=0
j=0

'Error Routine - Fehlerroutine
On Error Resume Next

'Create object - Objekt erstellen
Set fso = CreateObject("Scripting.FileSystemObject")

If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
    Err.Clear
    Exit Sub
End If

Set f = fso.OpenTextFile(Path, 1, 0, -2)

If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
    Err.Clear
    Exit Sub
End If

'Loop
Do While f.AtEndOfStream <> True
    
    MyZf = f.ReadLine
    field = Split(MyZf, ";")
    
    For i=0 To 3
        field(i) = Replace(field(i), " ", "")
        HiField(j, i) = field(i)
    Next
    
    j = j + 1
Loop

SmartTags("szFunc_01") = HiField(1,2)
SmartTags("nRow_01") = HiField(0,1)
SmartTags("nRow_02") = HiField(0,2)

'Close file
f.Close

Set f = Nothing
Set fso = Nothing

ShowSystemAlarm "Readout of the data was successful!"
'// EOS /////////////////////////////////////////////////////////
 
Zuletzt bearbeitet:
hier noch mein Übersichtbild in WinCC

jedes E/A-Feld hat eine eigene Variable, Spalte 1 vom Typ integer (werden nur Zahlen angezeigt) der Rest alles StringsWinCC_Uebersichtbild.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
geht auch mit "Interne\" davor und schon sind die kringel weg...
Hab einfach mal nacheinander alles angeklickt oben in der Menüleiste;)
Den Siemens-Support kann man teilweise schon in der Pfeife rauchen (ohne jemandem zu nahe treten zu wollen)
Wer suchet der findet

werd mich jetzt erstmal noch ein bisschen um die Gestaltung kümmern (das kann ich wenigstens) und am Montag mit neuer Frische ans Werk gehen!

Vielen Dank nochmal und schönes Wochenende!!!

Gru? Aulicus

P.S. Wo kann man seinen Status in klatschnasser Fuchs ändern?! :ROFLMAO:
 
Datei ist eingelesen und wird angezeigt :D

jetzt will noch über die Buttons unten im Bild auf-und abscrollen, hab da schon Variablen angelegt vom Typ Bool und will die nun im Script abfragen mittels if ... then und dann Y+1 z.B.
Tipp?! :confused:
 
Code:
If ("Interne\cmd_down" = 1)Then
    y=y+1
End If
If ("Interne\cmd_up" = 1)Then
    y=y-1
End If
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hab´s hinbekommen! man braucht noch ein Skript vom Typ Function in dem man dann einen Wert einliest und weitergibt
Code:
'Routine zum Scrollen
Dim Result
Result = SmartTags("Interne\cmd_updown")
Scroll = Result
 
jetzt hätte ich noch die Frage ob und wie man Bitmeldungen in ein Script holt um sie darin zu verwenden (natürlich nur den Wert nicht den Meldetext)
 
ich hab´s hinbekommen! man braucht noch ein Skript vom Typ Function in dem man dann einen Wert einliest und weitergibt
Code:
'Routine zum Scrollen
Dim Result
Result = SmartTags("Interne\cmd_updown")
Scroll = Result
Wozu dieses Skript? Da wo Du es aufrufst kannst Du doch auch direkt SmartTags("Interne\cmd_updown") bzw. die Variable "Interne\cmd_updown" hinschreiben.
Was das Ganze mit Scrollen eines Textes zu tun hat, erschließt sich mir nicht.


jetzt will noch über die Buttons unten im Bild auf-und abscrollen, hab da schon Variablen angelegt vom Typ Bool und will die nun im Script abfragen mittels if ... then und dann Y+1 z.B.
Code:
If ("Interne\cmd_down" = 1)Then
    y=y+1
End If
If ("Interne\cmd_up" = 1)Then
    y=y-1
End If
Warum soll ein Skript abfragen, ob ein Button gedrückt ist oder nicht? Läuft bei Dir ein Skript in einer Dauerschleife??? :confused:
Auch Dein obiger Code mit dem y+/- macht anscheinend nur Sinn in einem dauerhaft laufenden Skript (ist der Code überhaupt echt???) - oder wird die Skript-interne Variable y von einem Skript-Aufruf zum nächsten in einer globalen Variable gespeichert?

Üblicherweise wird direkt an das Drücken des Buttons eine Aktion projektiert, z.B. das Umspeichern der Texte in den Anzeige-Variablen um einen Scroll-Effekt zu erreichen.


Übrigens: "Verweis" schreibt man nicht mit ß (siehe Dein "Übersichtsbild" in #13)
Bedienoberflächen sollte man schon penibel fehlerlos gestalten.

PS: Es ist nicht schön, wenn Du Deine Beiträge nachträglich änderst, aber nicht kenntlich machst, was Du geändert hast. Mittlerweile kann man kaum noch nachvollziehen, was Du da eigentlich tust und wo es klemmt.

Harald
 
Zurück
Oben