Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: Wertänderung von Variablen mitloggen

  1. #1
    Join Date
    10.01.2006
    Posts
    313
    Danke
    51
    Erhielt 15 Danke für 14 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ich möchte gern auf einem MP277Touch/TP270 Wertänderungen von ca.

    20 Variablen mitloggen mit Änderungszeit und Variablenwert. Am besten wär

    csv datei ... muss aber jetzt noch nich sein. mit nem Archiv?

    wie kann man sowas realisieren.?

    hab bereits audittrail getestet ... bin aber nicht so sehr zufrieden da ich dafür

    eine speicherkarte benötige und das ganz irgendwie nicht so funzt wie ich mir

    das vorstelle.

    Hintergrund ist das es öfters vorkommt das bei Schichtübergabe Werte sich

    urplötzlich ändern und keiner wars.
    Never touch a running system
    Reply With Quote Reply With Quote Wertänderung von Variablen mitloggen  

  2. #2
    Join Date
    03.11.2006
    Location
    Niedersachsen
    Posts
    1,136
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Default

    ich würde das mit einem skript lösen.
    skript ausführen bei wertänderung und datum/zeit und wert in csv-datei schreiben.
    http://www.sps-forum.de/showthread.php?t=15348
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  3. Folgender Benutzer sagt Danke zu crash für den nützlichen Beitrag:

    wincc (11.12.2008)

  4. #3
    Join Date
    24.10.2007
    Location
    USA
    Posts
    823
    Danke
    3
    Erhielt 73 Danke für 57 Beiträge

    Default

    Quote Originally Posted by crash View Post
    ich würde das mit einem skript lösen.
    skript ausführen bei wertänderung und datum/zeit und wert in csv-datei schreiben.
    http://www.sps-forum.de/showthread.php?t=15348
    Unter Umständen könnte das Skript nicht ausgeführt werden (falls sich
    die 20 Werte ständig bzw. gleichzeitig ändern)

    Man kann einfach bei "Ereignisse"-->"Weränderung" die Variable archivieren
    Partys sind krass, am besten ist das Bier aus dem fränkischen Fass ...
    "Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook

  5. Folgender Benutzer sagt Danke zu johnij für den nützlichen Beitrag:

    wincc (11.12.2008)

  6. #4
    Join Date
    24.11.2008
    Location
    Wunsiedel
    Posts
    32
    Danke
    4
    Erhielt 9 Danke für 9 Beiträge

    Default

    Quote Originally Posted by wincc View Post
    ... bin aber nicht so sehr zufrieden da ich dafür

    eine speicherkarte benötige ...
    Speichermedium brauchst du aber immer, also entweder SD Karte, MMC Karte, USB Stick oder Netzlaufwerk.
    Intern hat das Gerät keinen Speicher zum Archivieren.

  7. Folgender Benutzer sagt Danke zu TobiB. für den nützlichen Beitrag:

    wincc (11.12.2008)

  8. #5
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,738
    Danke
    442
    Erhielt 2,631 Danke für 2,173 Beiträge

    Default

    Hallo WinCC,
    ich gehe mal davon aus, dass es sich bei den genannten Werten um eine Art Maschinen-Parameter handelt.
    Bei uinseren Anlagen mache ich es so, dass diese Daten nur auf einer speziellen Parameter-Seite änderbar sind. Alle diese Parameter speichere ich außer im DB der Anlage noch in einer Datei (Parameter.DAT).
    Beim Verlassen der Seite vergleiche ich die archivierte Parameter-Datei mit den aktuellen Parametern. Gibt es Unterschiede, so schreibe ich die Änderung in eine zusätzliche Log-Datei ("10.12.08 - 07:15:27 - Wert von Variable xyz geändert von 1.375 nach 1.444").

    Bei Bedarf stelle ich das Script-Konstruct dafür mal hier ein (ist allerdings für ProTool - das sollte m.E. aber kein Problem darstellen).

    Bei manchen Anlagen wird sogar mit aufgezeichnet wer ändert. Dort kommt der bediener nur dann an die Parameter-Seite, wenn er sich mit seinem ID-Chip angemeldet hat und authorisiert ist.

    Gruß
    LL

  9. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    wincc (11.12.2008)

  10. #6
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    14,038
    Danke
    793
    Erhielt 3,227 Danke für 2,288 Beiträge

    Default

    @Larry

    Das würde mich bitte auch mal interessieren.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  11. #7
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,738
    Danke
    442
    Erhielt 2,631 Danke für 2,173 Beiträge

    Default

    Quote Originally Posted by Ralle View Post
    Das würde mich bitte auch mal interessieren.
    Nun denn - es ist ja bald Weihnachten ...

    Zunächst die Scripte :
    Code:
    Script "Parameter_Speichern" :
     
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Dim fs , f , Datei , sD , sT
    Set fs = CreateObject("Scripting.FileSystemObject")
    Datei = a_Daten_Verzeichnis + "Parameter.DAT"
    Set f = fs.OpenTextFile(Datei, ForWriting, true)
    f.WriteLine "Parametersatz Anlage " + a_Anlage_Nummer + " :"
    f.WriteLine "--------------------------"
    sD = Mid(Date,1,6) + Right(Date,2) : sT = Right(Time,8)
    f.WriteLine sD + " - " + sT
    f.WriteLine "--------------------------"
    f.WriteLine "--- St.00 ----------------"
    f.WriteLine PtVar."Par_St.00_Verpackung_IO" 
    f.WriteLine PtVar."Par_St.00_Verpackung_NIO" 
    f.Close
    Code:
    Script "Parameter_Vergleichen" :
     
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Dim fs, f , Z , Datei , alter_Wert
    Datei = a_Daten_Verzeichnis + "Parameter.DAT"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.OpenTextFile(Datei, ForReading, true)
    Z = f.ReadLine ' "Parametersatz Anlage xyz :"
    Z = f.ReadLine ' "--------------------------"
    Z = f.ReadLine ' PtVar.Par_Daten_geändert 
    Z = f.ReadLine ' "--------------------------"
    Z = f.ReadLine ' "--- St.00 ----------------"
    alter_Wert = CInt(f.ReadLine)
    Call PtScp.Parameter_Logging("Füllstand max. Behälter IO" ,alter_Wert,PtVar."Par_St.00_Verpackung_IO")
    alter_Wert = CInt(f.ReadLine)
    Call PtScp.Parameter_Logging("Füllstand max. Behälter NIO" ,alter_Wert,PtVar."Par_St.00_Verpackung_NIO")
    f.Close
    Code:
    Unter-Script "Parameter_Logging" :
    dieses Script hat die Übergabe-Parameter "Beschreibung , alter_Wert , neuer_Wert"
     
    Dim fs , f , i , Verzeichnis , Ziel_Datei , Check
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    ' ----------------------------------------------------------
    Check = alter_Wert - neuer_Wert
    If (Check > 0.00001) Or (Check < -0.00001) Then
    ' ----------------------------------------------------------
    Verzeichnis = a_Daten_Verzeichnis + "Logging\" 
    Ziel_Datei = Verzeichnis +_
    "Log-File " + Right(Year(Now) ,4) + "-" + Right(100 + Month(Now) ,2) + ".csv"
    ' Ziel-Verzeichnis schon vorhanden ?
    ' ... wenn nein, dann erst erzeugen ...
    Set fs = CreateObject("Scripting.FileSystemObject")
    If Not fs.FolderExists (Verzeichnis) Then
    fs.CreateFolder (Verzeichnis)
    End If 
    ' Ziel-Datei schon vorhanden ?
    ' ... wenn nein, dann erst erzeugen ...
    If Not fs.FileExists (Ziel_Datei) Then
    Set f = fs.OpenTextFile(Ziel_Datei , ForWriting, true)
    f.WriteLine " - Log-Daten Anlage " + a_Anlage_Nummer
    Else
    Set f = fs.OpenTextFile(Ziel_Datei , ForAppending)
    End If 
    f.Write Right(100 + Day(Now) ,2) & "." & Right(100 + Month(Now) ,2) & "." & Right(Year(Now) ,2) & " - "
    f.Write Right(100 + Hour(Now) ,2) & ":" & Right(100 + Minute(Now) ,2) & ":" & Right(100 + Second(Now) ,2) & " - "
    f.Write "Parameter »" & RTrim(Beschreibung) & "« geändert "
    f.Write "von »" & Chip_Person & "« "
    f.WriteLine "- alter Wert : " & CStr(alter_Wert) & " in neuen Wert : " & CStr(neuer_Wert) 
    f.Close 
     
    End If
    
    Vorausgehend zu Allem ist, dass es die gespeicherten Parameter als Datei schon gibt. Das erledigt das Script "Parameter_Speichern".
    Beim Verlassen der Parameter-Seite in der Visu wird das Script "Parameter_Vergleichen" aufgerufen, dass seine Arbeit erledigt. Nach diesem Script werden dann die "neuen" Parameter auch wieder abgespeichert.
    Das Unter-Script "Parameter_Logging" vergleicht die Werte und macht ggf. einen Eintrag im Log-File.

    Diese Scripte laufen auf einer PC-Runtime mit ProTool 6.0 SP3. Das Übertragen auf Flex und WinCE sollte m.E. aber machbar sein.

    Ich hoffe, das ist für euch brauchbar ...

    Gruß
    LL

  12. Folgende 4 Benutzer sagen Danke zu Larry Laffer für den nützlichen Beitrag:

    Ralle (10.12.2008),rostiger Nagel (10.12.2008),rr_zx (19.12.2008),wincc (11.12.2008)

  13. #8
    wincc's Avatar
    wincc is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    10.01.2006
    Posts
    313
    Danke
    51
    Erhielt 15 Danke für 14 Beiträge

    Default

    Das mit dem script bzw archiv käme mir am gelegensten... da die parameter auf einigen bilder verteilt sind.

    kann man die csv dadei oder das archiv als tabelle am mp277 anzeigen???

    werden da nur die wertänderungen archiviert bzw mitgeloggt die auf diesen panel geändert werden oder auch die in anderen panels geändert werden ?

    sind 4 panels mit den gleichen parametern ... 2x mp277 2xTP177 .. was wenn am tp 177 geändert wird? werden die dann am mp277 auch mitgeloggt?
    Never touch a running system

  14. #9
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,738
    Danke
    442
    Erhielt 2,631 Danke für 2,173 Beiträge

    Default

    Quote Originally Posted by wincc View Post
    Das mit dem script bzw archiv käme mir am gelegensten... da die parameter auf einigen bilder verteilt sind.
    Du mußt hier dann nur darauf achten, dass beim Verlassen der jeweiligen Seiten das Überprüfungs-Script aufgerufen wird - es wird dann zwar Alles überprüft, aber das wäre ja nicht so schlimm ...

    Quote Originally Posted by wincc View Post
    kann man die csv dadei oder das archiv als tabelle am mp277 anzeigen???
    Im Prinzip ja - du wirst dafür dann nur einen gewissen Aufwand betreiben müssen ...

    Quote Originally Posted by wincc View Post
    werden da nur die wertänderungen archiviert bzw mitgeloggt die auf diesen panel geändert werden oder auch die in anderen panels geändert werden ?
    Logischerweise wird bei dieser Vorgehensweise natürlich "nur" das mitgeloggt, das auf dem jeweiligen Panel passiert. Um Aktionen, die auf anderen Panels stattfinden, mitschreiben zu können wäre es Voraussetzung, dass alle Panels alle Änderungen mitbekommen - das ist wahrscheinlich auch machbar - allerdings nicht so einfach ...

    Quote Originally Posted by wincc View Post
    sind 4 panels mit den gleichen parametern ... 2x mp277 2xTP177 .. was wenn am tp 177 geändert wird? werden die dann am mp277 auch mitgeloggt?
    s.o.
    Was hällst du in dem Fall davon, wenn du nur eine Möglichkeit für das Ändern der Parameter festlegst ?
    Das würde dann auch für eine mögliche Anzeige ganz hilfreich sein - Das Log-File liegt ja schließlich ggf. auch nur auf einem Panel ...

    Gruß
    LL

  15. #10
    wincc's Avatar
    wincc is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    10.01.2006
    Posts
    313
    Danke
    51
    Erhielt 15 Danke für 14 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    die wertänderungen kann ich leider nicht auf 1 panel beschränken da bei auftragswechsel ein rezept geladen wird und dann an den verschiedenen stationen nachoptimiert wird und da die Maschine 40m lang ist wäre es fatal
    immer an 1 bestimmtes Panel laufen zu müssen.

    ahja handelt sich um eine Papier/Folien Silikonisiermaschine.

    Also beschränk ich mal die Anforderugen

    1. Logfile auf einem MP277 ausreichend
    2. Änderungen von anderen Panels müssen mitgelogt werden
    3. Anzeige des Logfiles am Panel

    .... irgendwie komm ich nich weiter
    Never touch a running system

Similar Threads

  1. WinCC Bedienmeldungen - mitloggen der Bediener
    By guenni66 in forum HMI
    Replies: 0
    Last Post: 14.06.2018, 10:03
  2. Replies: 1
    Last Post: 14.12.2015, 14:58
  3. Twincat 3 Messwerte in 2,5 kHz mitloggen
    By morris in forum CODESYS und IEC61131
    Replies: 9
    Last Post: 27.10.2015, 14:28
  4. Replies: 25
    Last Post: 05.11.2014, 13:55
  5. B&R Variablen mitloggen (CSV Datei)
    By knuppel in forum Sonstige Steuerungen
    Replies: 1
    Last Post: 15.10.2014, 08:57

Bookmarks

Posting Permissions

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