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

Ergebnis 1 bis 9 von 9

Thema: Visiwin Smart Standart Datum / Uhrzeit

  1. #1
    Registriert seit
    17.01.2011
    Beiträge
    105
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jungs

    Ich möchte gerne mit meiner SPS-Steuerung (S7-300) das Datum und die Uhrzeit mit meinem Touchpanel PC
    minutlich synchronisieren. Bei der Synchronisierung ist die SPS-Steuerung der Master. Das Datum und die
    Uhrzeit sind als INT im DB abgelegt.
    Hat jemand einen Vorschlag, wie ich das machen könnte?

    Danke zum Voraus für eure Hilfe!

    Gruss
    TMaroni
    Zitieren Zitieren Visiwin Smart Standart Datum / Uhrzeit  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    wenn der Weg (die Zeit kommt aus der SPS) für dich der Richtige ist (ich würde wegen der Ungenauigkeit der SPS eher den PC als Uhrzeit-Server nehmen) dann kannst du es m.E. nur so machen, dass du in VisiWin dir eine Methode erstellst (welche Programmiersprache benutzt du ?), die auf das Change-Event des VW-Items Minute reagiert und entsprechend die Systemzeit nach den Vorgaben der anderen Items ändert.
    Ich kann dir allerdings (da wir VW-Smart nicht einsetzen) nicht sagen, ob dort auch die gleiche Funktionalität zur Verfügung steht ...

    Gruß
    Larry

  3. #3
    TMaroni ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.01.2011
    Beiträge
    105
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Im Visiwin Smart kann ich die VB-Sprache benutzen, VW-Items Change-Events kann ich auch beim Smart benutzen!
    Nur bin ich im VB-Programmierung nicht Sattelstark! Kann man vielleicht mit der Tick-Funktion und mit den VW-Items etwas machen?

    Gruss
    TMarroni

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    dein Event heißt "Change". Dafür mußt du den Handler in deine eigene Methode umleiten und darin den "Sender" (also welches Item das Ereignis auslößt) und die EventArgs (also die weiteren Item-Informationen wie z.B. den Value des Items) auswerten.
    Ich kann dir dafür auch Beispiele heraussuchen - VB wäre auch meine Sprache - ein gutes .Net-Grundverständnis sollte dafür aber m.E. schon vorhanden sein denn sonst nützt dir das Ganze nicht allzu viel ...

    Gruß
    Larry

  5. #5
    TMaroni ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.01.2011
    Beiträge
    105
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Der Event macht ein Bit aus der Steuerung. Einfache Befehle vom VB kenne ich wenn sie einigermassen wie SCL (IF Then Else) sind.
    Welches Befehl ist von dir aus das richtige, setsystemtime oder setlocaltime?
    Die Variablen des Datenbausteins werden in den internen Variablen z.B. :

    DIM SPS_Jahr as INT
    DIM SPS_Monat as INT
    DIM SPS_Tag as INT
    DIM SPS_Stunde as INT
    DIM SPS_Minuten as INT
    DIM SPS_Sekunden as INT
    übergeben.
    Bei einem TICK-Befehl wird dann die Funktion SetTime aufgerufen!


    Gruss
    TMaroni
    Geändert von TMaroni (18.01.2013 um 17:15 Uhr)

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    ich würde es in etwa so machen :
    Code:
    TimeofDay.Second = mySecond
    TimeofDay.Minute = myMinute
    etc.
    ... ist aber nicht getestet.

    Du hast aber das Prinzip von VisiWin hier noch nicht verstanden.
    Wie bekommst du denn (deiner Meinung nach) die Werte der SPS-Variablen in deine definierten (mit DIM erzeugten) Variablen ?
    Ein VW-Item ist ein Objekt, das du erzeugen und am VW-Aktualisierungs-Service anmelden mußt.
    Dieses Objekt, wenn richtig angelegt, liefert dir dann selber ein Event, wenn es seinen Wert ändert (wie schon von mir beschrieben), den du dann beliebig verwerten kannst.
    Kannst du mit den Begriffen Instanzen, Handler, Objecte sinn voll umgehen ?
    Der Teil, der mir bekannt ist, ist mit relativ wenig Aufwand umzusetzen - man muß aber verstehen, ws man da tut ...

    Gruß
    Larry

  7. #7
    TMaroni ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.01.2011
    Beiträge
    105
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das ist kein Problem wie ich die Werte von SPS bekomme, wie du oben genau beschrieben hast.
    Es geht bei mir nur um den Code in VB wie ich das Datum und die Uhrzeit einstellen kann.
    Ich habe bei googlen etwas gefunden aber ich ich weiss nicht ob es funktioniert:

    Private Structure LOCALTIME
    Dim wYear As Short
    Dim wMonth As Short
    Dim wDayOfWeek As Short
    Dim wDay As Short
    Dim wHour As Short
    Dim wMinute As Short
    Dim wSecond As Short
    Dim wMilliseconds As Short
    End Structure
    Private Declare Function SetSystemTime Lib "kernel32" (ByRef lpSystemTime As LOCALTIME) As Long

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim timeStru As LOCALTIME
    timeStru.wDay = 28
    timeStru.wDayOfWeek = 6
    timeStru.wHour = 21
    timeStru.wMilliseconds =203
    timeStru.wMinute = 50
    timeStru.wMonth = 9
    timeStru.wSecond = 35
    timeStru.wYear = 2007 'set the new time
    SetLocalTime(timeStru)
    End Sub

    Gruss
    TMaroni

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    mit der von dir herausgesuchten Prozedur liegst du m.E. richtig. Wie schon geschrieben setze ich die Systemuhr des PC's normalerweise nicht sondern eher die der SPS. Daher war meine ursprüngliche Annahme falsch. Den von dir geposteten Beitrag habe ich in ähnlicher Form auch im Internet gefunden.

    Jetzt hast du deine Struktur aber erstmal (wahrscheinlich zum Testen) mit Konstanten beschaltet.
    Deine VW-Items hängen aber an einer Form (oder einer anderen Klasse). Außerdem werden die normalerweise auch nur aktualisiert wenn die Form aktiv ist.
    Das Aufrufen des SetLocalTime kannst du natürlich auch über einen Timer machen - klar ...
    In diesem Fall würde ich mir hier aber eine eigene Klasse machen, die die Items beinhaltet, den Timer und das Attachen und Detachen der Items an den VW-Service.
    Wenn du diese Klasse sauber progarmmiert hast dann kannst du sie dann überall instanzieren, wo nötig und du behältst auch deine Anwendung und deren Speicherbedarf unter Kontrolle - ist aber deine Entscheidung.

    Gruß
    Larry

  9. #9
    TMaroni ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    17.01.2011
    Beiträge
    105
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kann dieser VB-Code auch in Windows CE angewendet werden?
    Muss bei diesem Betriebssystem auf etwas Spezielles berücksichtigt werden?

    Gruss TMaroni

Ähnliche Themen

  1. Uhrzeit und Datum in S 7
    Von Oest im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.11.2012, 15:00
  2. Datum/ Uhrzeit darstellen
    Von eat1991 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2011, 23:28
  3. Datum Uhrzeit auslesen
    Von klauserl im Forum Simatic
    Antworten: 42
    Letzter Beitrag: 22.01.2011, 10:53
  4. Datum und Uhrzeit
    Von HDF im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.12.2009, 09:08
  5. Datum Uhrzeit
    Von Andy_speedy im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 10.06.2008, 12:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •