CSV-Datei in WinCC flex importieren

Zuviel Werbung?
-> Hier kostenlos registrieren
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)
WAS genau willst du machen? Vielleicht ist ein Meldearchiv das was Du brauchst?

An den Status und die History der Meldungen kommt man nicht direkt heran.
Man könnte höchstens parallel zum Meldesystem zusätzlich die selben Variablen nocheinmal erfassen, auswerten, archivieren, ... oder an JEDE Meldung an die 3 Ereignisse Kommen/Gehen/Quittieren JEWEILS eine Aktion projektieren.

Harald
 
Sorry falls ich dich verwirrt habe Harald, die Sache ist die das selbst ständig hin und her springe... Hab die Einträge nur geändert damit es übersichtlicher wird (hatte die Funktion für Code einfügen noch nicht entdeckt). Das mit dem Wert erhöhen hat sich erledigt da ich es hinbekommen habe. Das kleine Skript wird benötigt um ständig einen Wert einzulesen und ist deshalb vom Typ Funktion, eine Sub kann das wohl nicht (oder vielleicht auch doch) naja Egal habe die gewünschte Funktion: Eine CSV bzw. TXT Datei einlesen und in den E/A-Feldern anzeigen. Da es allerdings mehr als 200 Zeilen sind kann ich die ja nicht alle auf einmal anzeigen. Die Bitmeldungen werden nun benötigt um immer nur einen gewissen Abschnitt der CSV-Datei anzuzeigen z.B. Bitmeldung #xyz zeigt nur die Zeilen mit der passenden Wartungscodierung, sprich a für täglich oder d für wöchentlich also dann nur Zeile 123 - 134 oder so.

jetzt stellt sich mir die Frage ob ich diese Bitmeldungen für eine Case-Struktur oder if-else verwenden kann.

Der Rechtschreibfehler ist auch behoben da aus Platzgründen nur noch "Doku" in diesem Feld steht aber danke für den Hinweiß;)
manchmal achtet man wirklich nicht auf solche Dinge
Gruß und Danke für die Unterstützung hier, hab noch nie so nette Foren Benutzer bin da von den meisten immer übles getrolle gewohnt wenn man mal keine Ahnung hat
 
Ändert sich der "Wartungstext" häufig oder warum mußt Du den dynamisch nachladen?
Man kann zu jeder Meldung direkt einen mehrzeiligen Hilfetext projektieren.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Text nicht, der ist bei den Meldungen hinterlegt, es geht viel mehr um KKS-Codierung, Typ Hersteller und Dokumentationsverweise welche manche Betreiber für ihre Archivierung benötigen
 
Zuletzt bearbeitet:
wäre es theoretisch auch möglich in einer bestimmten Zelle der Datei nach einem Charakter zu suchen und die dazugehörige Zeile zu ermitteln?! Beispiel: Wartungsmeldungen mit Codierung "a" stehen nur bis Zeile 21, also scrollen nur bis Zeile 21 möglich.
Da die Wartungslisten bei jeder Anlage unterschiedlich lang sind macht es keinen Sinn einen festen Wert einzutragen (hier die 21) :shock:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann dir bezüglich deines letzten Beitrages nicht so ganz folgen.
Gib mal ein Beispiel (ich kann mir aber mal pauschal gesagt schon vorstellen, dass das geht).

Wie bekommst du jetzt deine eingelesenen CSV-Zeilen auf den Bildschirm ? (so Code-technisch)

Gruß
Larry
 
Code:
Do While f.AtEndOfStream <> True
    
    MyZf = f.ReadLine
    field = Split(MyZf, ";")'Trennzeichen suchen
    
    For i=0 To 15'Spaltenanzahl
        field(i) = Replace(field(i), " ", "")'Leere Felder "ersetzen"
        HiField(j, i) = field(i)
    Next
    
    j = j + 1
Loop

'1.Spalte Positionsnummer
SmartTags("Interne\nRow_01") = HiField(x,0)
SmartTags("Interne\nRow_02") = HiField(1+x,0)
SmartTags("Interne\nRow_03") = HiField(2+x,0)
SmartTags("Interne\nRow_04") = HiField(3+x,0)
SmartTags("Interne\nRow_05") = HiField(4+x,0)
SmartTags("Interne\nRow_06") = HiField(5+x,0)
SmartTags("Interne\nRow_07") = HiField(6+x,0)
SmartTags("Interne\nRow_08") = HiField(7+x,0)
SmartTags("Interne\nRow_09") = HiField(8+x,0)
SmartTags("Interne\nRow_10") = HiField(9+x,0)
SmartTags("Interne\nRow_11") = HiField(10+x,0)
SmartTags("Interne\nRow_12") = HiField(11+x,0)
SmartTags("Interne\nRow_13") = HiField(12+x,0)

Das x in der 1. Postion vom HiField ist zum Scrollen da
 
Code:
x=SmartTags("Interne\cmd_updown")'Variable zum Auf- bzw. Abwärtsscrollen

Geht übrigens direkt in diesem Skript ohne das seltsame Zusatzskript welches ich weiter oben mal gepostet habe...
Allerdings mus dann mit den Tasten, ich nenne sie mal up down" das Skript jedes mal neu ausgeführt werden,
da er sonst keine Wertänderung bemerkt (klappt allerdings hervorragend)
 
Mit dem ersten Script habe ich mir das schon so gedacht.
Du kannst dir, wenn du in den Flex-Geräte-Einstellungen die Option "Namens-Informationen transferieren" aktiviert hast, den Tag-Namen auch zusammen-basteln (als String) und damit dann es in einer Schleife abarbeiten. Beispiel :
Code:
for i = 1 to 10
  hInx = right(str(100+i),2)
  SmartTags("Interne\nRow_"+hInx) = HiField(x+i-1,0)
next

Gruß
Larry


... vielleicht lösst das dann auch schon deine angefragte Geschichte (die ich immer noch nicht verstanden habe) ... 8)
 
Was ich sehr "kurios" fand das jedes System erst die x-Koordinate (Breite bzw. rechts-links) und dann die y-Koordinate (Höhe bzw. hoch-runter) verwendet... Mathematisch, Karten oder auch Excel

Nur Mister Siemens will es andersrum:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... vielleicht lösst das dann auch schon deine angefragte Geschichte (die ich immer noch nicht verstanden habe) ... 8)

Du kannst es so verstehen: Eine Wartungsmeldung kommt z.B. monatliche Wartung fällig, dann soll nur der bereich in der Übersicht angezeigt und scrollbar sein, welcher die dem entsprechende Codierung hat (hier wäre es jetzt "d")
Die tägliche meldung kommt ja logischerweise auch täglich d.h. soll immer dabei sein, aber dann auch nur scrollbar bis zum letzten 'Eintrag mit der passenden Codierung (hier "a")
 
Wenn ich es richtig verstanden habe.
Wenn ein Störmeldung aktiviert ist, willst du in ein zusätzliches Meldung (oder in eine Zeile auf den Bildschirm irgendwo), Texte von ein CSV anzeigen lassen die genau nur für den Störmeldung passt.

Das wäre machbar. Man kann ein CSV in Kolonnen aufteilen wo der erste Kolonne ein Suchvariabel enthält, und die folgende Kolonnen die gewünschte Texte.
Wenn soll die Texte von der CSV angezeigt werden ? Wenn der Störmeldung aktiviert wird, oder wenn der Benutzer tut etwas ?
Wenn es soll wenn der Störmeldung aktiviert sein, was denn wenn mehrere Störmeldungen auf einmal aktiviert werden ?

Anstatt den Verfahren mit Skripte, dann kannst du auch die Störmeldungen von ein Excel Datei laden (beim projektieren) inklusiv die Info Hilfe-Texte.
Wäre das nicht eine Alternativ anstatt etwas selber zu basteln ? Du hast dann die Texte in ein Excel, was viel komfortabler ist als die Texte innnerhalb von WinCC Flexible zu definieren.
 
Die Meldungen sind als "Störmeldungen" hinterlegt allerdings in einer eigenen Meldegruppe und werden von der Steuerung in einem eigene DB ausgelöst -> Wartung welche dann in dem Meldefenster angezeigt werden:

Wartungsbild.JPG
Dann Auf den Button "Übersicht" drücken und die entsprechenden Texte werden im Übersichtsbild angezeigt:
Uebersicht_pos_0.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ach noch zum Hinweis die Namensvergabe ist vielleicht noch etwas unglücklich :shock:
Der Button rechts-oben hat nichts mit dem Button links-unten zu tun

oder umgekehrt... Oh mann ich brauch Urlaub...
 
Zuletzt bearbeitet:
Gib mal ein paar Beipiele von den Roh-Texten.
Kannst du darin die Unterscheidung, die du haben willst, irgendwie wiederfinden ? Oder gibt es irgendwo einen weiteren Kenner ?

Gruß
Larry
 
0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;
1;;0EAA10;;;Greiferbrückenkran;;KWM;Bremsen und Not-Halt-Einrichtungen prüfen;täglich;a;;;;;
2;;0EAA10;;;Greiferbrückenkran;;KWM;Kran auf augenscheinliche Mängel kontrollieren;täglich;a;;;;;
3;;0EAA10;;;Greiferbrückenkran;;KWM;Funktion und Zustand sämtlicher Kühlluftwege kontrollieren;täglich;a;;ggf. reinigen (Motoren, Kupplungen, Gehäuse);;;
4;;0EAA10;;;Katzbahn;;KWM;Schmutz und Verunreinigungen entfernen;täglich;a;;;;;
5;;0EAA10;;;Kranbahn;;KWM;Schmutz und Verunreinigungen entfernen;täglich;a;;;;;
6;;0EAA10;;;Laufkatze;;KWM;Katze auf augenscheinlich Mängel kontrollieren;täglich;a;;;;;
7;;0EAA10;;;Seiltrommel;;KWM;Lage der Seile innerhalb dafür vorgesehener Rillen kontrollieren;täglich;a;;;;;
8;;0EAA10;AE010;;Haltewerk;;KWM;Hubwerk auf augenscheinliche Mängel kontrollieren;täglich;a;;;;;
9;;0EAA10;AE011;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Getriebegeräusche auf Veränderungen kontrollieren;täglich;a;0-Sie-HW_Get-BA-DE-03;;;;
10;;0EAA10;AE011;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Öltemperatur kontrollieren;täglich;a;0-Sie-HW_Get-BA-DE-03;;;;
11;;0EAA10;AE020;;Schließwerk;;KWM;Hubwerk auf augenscheinliche Mängel kontrollieren;täglich;a;;;;;
12;;0EAA10;AE021;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Getriebegeräusche auf Veränderungen kontrollieren;täglich;a;0-Sie-HW_Get-BA-DE-03;;;;
13;;0EAA10;AE021;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Öltemperatur kontrollieren;täglich;a;0-Sie-HW_Get-BA-DE-03;;;;


oder:

42;;0EAA10;AE021;MB01;Schließwerk - Scheibenbremse;SB 2 - 450x30;IBS;Materialstärke der Bremsbeläge kontrollieren;monatlich;d;0-IBS-SB-BA-DE-01;;;;
43;;0EAA10;AE021;MB01;Schließwerk - Scheibenbremse;SB 2 - 450x30;IBS;Resthub kontrollieren;monatlich;d;0-IBS-SB-BA-DE-01;;;;
44;;0EAA10;AE021;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Getriebe auf Dichtheit kontrollieren;monatlich;d;0-Sie-HW_Get-BA-DE-03;;;;
45;;0EAA10;AE021;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Öl auf Wassergehalt untersuchen;monatlich;d;0-Sie-HW_Get-BA-DE-03;;;;
46;;0EAA10;AE021;MG01;Stirnradgetriebe;H.HH.., 9, i=31,942;Siemens;Ölstand kontrollieren;monatlich;d;0-Sie-HW_Get-BA-DE-03;;;;

Auszugsweise... hab da ja jewiels die Kennung drin
 
Zurück
Oben