S5 Verbindung. OP25 konvertiert auf IPC477C. Timer Probleme !

Beiträge
8.338
Reaktionspunkte
1.903
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Einer Kunde von uns habe eine Anlage mit S5-115U und OP25. Der OP25 ist am Ende seines Lebens, und wir will ein IPC477C mit WinCC Flex RT als Ersatz an der Kunde schicken.

Alles scheint zu funktionieren, ausser die Timers.

Die Timer Sollwerte waren DB Adressen in "KT" Format im alten Protool Projekt.
Diese sind automatish konvertiert ins gleiche DB Adressen aber im "Decimal" Format. Also, es gibt im neuen Projekt kein Angabe von den Zeit-basis (0.01, 0.1, 1, 10 Sekunden).
Wie können keinen Änderungen in den Alten S5 Program machen. Es ist am laufen bei der Kunde 24/7.

Wie können wir die Timer Sollwerte korrekt von der IPC477C senden ?
 
Ergänzung.

Nach konvertierung, sind die Variabeln alle "KT" Typ. Im Ein/Ausgabefeld ist "Dezimal" Anzeige-Typ.

Die aktuelle Zeit-Werten werden auch falsch dargestellt.
Nur wenn Ich die Variabel-Typen von KT auf KC ändern, werden die korrekte Zeitwerte angezeigt. Warum eigentlich ?

Ich verstehe nichts.
 
Hallo Helmut.

Doch, es gibt KT. Aber es macht kein unterschied.
Ich will das wenn der Operator "200" eintippt, wird es als 200 Sekunden übertragen, also "200" + Timebase 2. Aber es wird als "200" + Timebase 0 übertragen.

Jetzt überlege Ich ob Ich es lösen soll
1. Mit VBS Skripte in beide Richtungen.
oder
2. Mit Programänderungen in S5 Program.

Kann aber nicht verstehen das es so umständlich sein muss.
Gibt es kein "saubere" Weg ?
 
Also ich vermute mal:
Die Zeit S5Time bei der S7 wird auf neueren OP's Dezimal in ms angegeben,
weiterhin wäre es ja nicht so unwahrscheinlich, das sich das ganze bei KT genau so verhält.

Das wiederum heißt:
Dein Problem sollte sich elegant und ohne Scripte / S5-Programm Änderung mit der Linearen Skalierung lösen lassen,
also Wert Steuerung 0-1000, Wert HMI = 0-1 für Umrechnung auf Sekunden.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider wird es nicht funktionieren mit eine einfache Skalierung.

S5Timers sind eine böse Erfindung.
Sie bestehen von zwei Teile. Eine Teil ist der Zahlenwert zwisschen 1-999, und zwar BCD kodiert. Der andere Teil ist der Timebasis wo "0" bedeutet 0.01 Sekunden, "1" bedeutet 0.1 Sekunden, "2" bedeutet 1 Sekunde, "3" bedeutet 10 Sekunden.

Binär representation:
00tt BBBB BBBB BBBB
tt = Timebasis 00=0, 01=1, 10=2, 11=3
BBBB BBBB BBBB = 3 Ziffern Zahlenwert BCD kodiert.


Es fehlt irgenwie ein "S5Timer" Display-Typ.
Ich habe es jetzt am funktionieren über Skripte.
 
WCCf-Skalierung S5TIME

Hallo Jesper,

es ist zwar nicht S5, aber in meiner Konfiguration skaliert WinCCflexible die Timer-Werte richtig: 3 BCD-Ziffern inklusive richtige Zeitbasis
* 315-2AG10 / V2.6
DB111.DBW2 | PT_SB_Pack_Enable | S5TIME | S5T#500MS | S5T#500MS

* TP170B color / WinCCflexible 2007 HF4
Variable
- PT_SB_Pack_Enable | PLC_Packing | Timer | PT_SB_Pack_Enable | DB 111 DBW 2 | 1 | 2 s | Zyklisch bei Verwendung
- Lineare Skalierung: Steuerung 0 ... 1000 | Bediengerät 0 ... 10

EA-Feld_SB_T_Pe (000.0)
- Modus: Eingabe/Ausgabe
- Variable: PT_SB_Pack_Enable
- Darstellung: Dezimal
- Darstellungsformat: 99999
- Dezimalkomma verschieben: 1

Ab 100 ist die Nachkommastelle immer 0 (es gibt ja nur 3 BCD-Ziffern).
In der Steuerung S5T#1S280MS wird am Panel als 1.3 gerundet angezeigt.

S5 und OP25 habe ich noch nicht ausprobiert.

Gruß
Harald
 
@Jesper
Gerade bei Siemens gefunden, der letzte weiße Kasten ist interessant:
http://support.automation.siemens.com/WW/view/de/32975083

S5 Time:
Die Übertragung von S5 Time-Werten (Datentyp Timer) in die Steuerung wird über verschiedene Zeitbasen in den Bediengeräten umgesetzt.

  • Zeilen- / Grafikgeräte: S5 Time hat eine Zeitbasis von Sekunden.
  • Windows-basierte Geräte: S5 Time hat eine Zeitbasis von Millisekunden
Bei der Konvertierung eines Zeilen-/Grafikgeräts in ein Windows-basiertes Gerät mit integrierten Timervariablen ändern sich die Zeitbasen der Timervariablen von 1s bei einem Zeilen-/Grafikgerät in 10 ms bei einem Windows-basiertes Gerät.
Die Eingabe von 1s bei einem Grafikgerät entspricht bei einem Windows-basierten Gerät 10 ms.
Um bei einem Windows-basierten Gerät auch eine Zeitbasis von 1s herzustellen, muss bei allen Timervariablen eine Umrechnung mit dem Faktor 100 eingerichtet werden.

Das wiederum heißt, die Lineare Skalierung würde ebenfalls funktionieren ... als einfacher Weg ...

Mfg
Manuel
 
Es hat geklappt.

Dies ist was Ich geschrieben habe auf www.plc-talk.net/qanda/

Thanks to MSB on www.sps-forum.de, I have had a breakthrough that means it can be solved without scripts and without any changes having to be made in the S5 program.

If you are converting an old OP project from Protool to WinCC Flexible, then you must read this !

Here is the scoop:

S5TIME values, have to be setup as "KT" tags.
In order to be able to set the value as seconds on the HMI, and for it to be interpreted as such in the S5 PLC, it is necessary to use the linear scaling in the tag. Same for actual values.
The linear scaling must work like this:
HMI: 0-1
PLC: 0-1000
It is not a typo that the PLC must be 0-1000.
The WinCC Flex HMI then knows how to create the correct S5TIME value.
300 seconds on the HMI becomes 300 x 1 seconds in the PLC.
5 seconds on the HMI becomes 500 x 0.01 seconds in the PLC.

The linear scaling has to be setup manually for each S5TIME tag. WinCC Flexible does not do this for you when the Protool project is converted.

No info how to deal with setpoints in the 0.01 - 0.99 seconds region. lucky for me, all the timers are more than 1 second.

edit:
Um bei einem Windows-basierten Gerät auch eine Zeitbasis von 1s herzustellen, muss bei allen Timervariablen eine Umrechnung mit dem Faktor 100 eingerichtet werden.
Mit ein Faktor 100 klappt es nicht. Es muss ein Faktor 1000 sein.
 
Zuletzt bearbeitet:
Zurück
Oben