-> Hier kostenlos registrieren
Hallo an alle,
Ich habe ein Projekt erstellt mit welchem ich Digitale IOs von W&T-Modulen "überwache".
Von W&T gibt es einen eigenen OPC-Server, der auch TOP funktioniert und auch WinCC kommt super damit klar.
Mein Projekt arbeitet wie folgt:
Variablen:
1. Input aktiv - OPC (bool)
- Variable 1 ist nur für ein grünes Blinklicht in der Visu zuständig.
2. Input gesamtcounter - OPC (long)
- Variable 2 ist eine Zahl die direkt aus dem Modul kommt und auch ins WinCC korrekt übertragen wird
3. nextMinute - OPC (bool)
- Jede Minute ist diese Variable für 500ms auf Wert 1 - ansonsten 0
4. Input conter start (interne Variable)
- Der Wert von "Input Gesamtcounter" der zu beginn des Skripts festgehalten wird
5. Input delta (interne Variable)
- Wird beim start auf 0 gesetzt - dann solange in einer Loop aktualisiert, bis "nextMinute" auf 1 wechselt
6. Input save (interne Variable)
- Hier wird "Input delta" reingeschrieben und Archiviert
Leider funktioniert das nicht...
Anfangs hatte ich das an die Uhrzeit gekoppelt (startminute = Minute(Now) / aktualisieren bis startminute sich ändert). Das ging einwandfrei im Simulator, aber nicht mehr sobald ich ohne Simulator gestartet habe.
Hat jemand eine Idee was falsch läuft und eventuell einen Tipp?
Vielen Dank und Grüße
ThomaZ
Ich habe ein Projekt erstellt mit welchem ich Digitale IOs von W&T-Modulen "überwache".
Von W&T gibt es einen eigenen OPC-Server, der auch TOP funktioniert und auch WinCC kommt super damit klar.
Mein Projekt arbeitet wie folgt:
Variablen:
1. Input aktiv - OPC (bool)
- Variable 1 ist nur für ein grünes Blinklicht in der Visu zuständig.
2. Input gesamtcounter - OPC (long)
- Variable 2 ist eine Zahl die direkt aus dem Modul kommt und auch ins WinCC korrekt übertragen wird
3. nextMinute - OPC (bool)
- Jede Minute ist diese Variable für 500ms auf Wert 1 - ansonsten 0
4. Input conter start (interne Variable)
- Der Wert von "Input Gesamtcounter" der zu beginn des Skripts festgehalten wird
5. Input delta (interne Variable)
- Wird beim start auf 0 gesetzt - dann solange in einer Loop aktualisiert, bis "nextMinute" auf 1 wechselt
6. Input save (interne Variable)
- Hier wird "Input delta" reingeschrieben und Archiviert
Code:
Do While 1
' Variablan vorbereiten
'DELTA-Inputs auf NULL setzen
SetValue SmartTags("Input 0 Delta"),
'Counter-Startwerte setzen
SetValue SmartTags("Input 0 Counter start"), SmartTags("Input 0 Counter")
' aktualisieren solange nextinute = 0
Do While SmartTags("nextMinute") = 0
SmartTags("Input 0 Delta") = SmartTags("Input 0 Counter") - SmartTags("Input 0 Counter start")
Loop
SetValue SmartTags("Input 0 Takt SAVE"),SmartTags("Input 0 Delta")
Loop
Leider funktioniert das nicht...
Anfangs hatte ich das an die Uhrzeit gekoppelt (startminute = Minute(Now) / aktualisieren bis startminute sich ändert). Das ging einwandfrei im Simulator, aber nicht mehr sobald ich ohne Simulator gestartet habe.
Hat jemand eine Idee was falsch läuft und eventuell einen Tipp?
Vielen Dank und Grüße
ThomaZ