Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Schaltzeiten einer Siemens Logo 8 ändern
#1
Sehr geehrtes  Visam-Team


Ich möchte die Schaltzeiten der in der Siemens Logo 8 vorhandenen Wochenschaltuhr in VBase anzeigen und auch ändern können.
Dazu habe ich die Werte in den DB1 gemappt.
Leider gibt die Logo die Schaltzeiten im BCD-Code aus. Im DB1 sind die Werte dann als normaler Integer vorhanden.

Bsp.

für 4:30 Uhr  0x0430h, Wert DB1 = 1072
für 6:00 Uhr  0x0600h, Wert DB1 = 1536

Wie, und mit welchem Datenfeld, kann ich die Werte anzeigen und verändern.
Ist dies überhaupt möglich ?
Antworten
#2
Hallo Stewe,


am einfachsten geht das mit einem unsere Funktionsbausteine:

Der nötige Baustein heisst "REAL_S5Time" (Real to S5 Time Format) und konvertiert in beide Richtungen.
Rechts am Baustein stellen sie das Datenwort (16 Bit) aus der Siemens ein, links ein 32 Bit Wert im VDF wo dann ein Dezimalfeld
aufliegt welches dann die Zeit repräsentiert.
Antworten
#3
Hallo Herr Rings,

irgend etwas scheine ich wohl falsch zu machen.

Da es direkt mit der Logo nicht funktioniert hat habe ich eine kleine Offline-Testversion erstellt.
Rechts am FB eine 16-Bit Integer-Variable.
Links am FB eine 32-Bit Real-Variable.
Beide mit je einem Dezimalfeld  verknüpft.

Wenn ich nun einen Wert in das eine Dezimalfeld schreibe,  bleibt der Wert im anderen weiterhin 0.
Auch im PV-Monitor ist der Wert dieser Variablen =0.

Wo liegt der Fehler ?

Mein Testprojekt habe ich mal angehängt.


Angehängte Dateien
.zip   FB-Test S5_Time.zip (Größe: 41,69 KB / Downloads: 3)
Antworten
#4
@Stewe: das Projekt ist nicht richtig exportiert worden, da fehlt in der zip  einige Dateien.
Haben sie nicht die Export - Funktion aus VBASE heraus genutzt ?


Beachten Sie auch das High/Low Byte bei einer Siemens gedreht sind .

Hier einmal meine Version im Anhang


Angehängte Dateien
.zip   _Demo_Decimalfeld_Siemens_Timer.zip (Größe: 47,33 KB / Downloads: 2)
Antworten
#5
Guten Tag Herr Rings,

herzlichen Dank für die schnelle Antwort und die Demo.

Leider zeigt Ihre Version bei mir das gleiche Verhalten wie meine.
Wenn ich bei "Siemens Timer" einen Wert eingebe / ändere, bleibt bei "Dezimal VBASE" der Wert immer Null.

Ich habe einen Screenshot zur Laufzeit angehängt.

Im PV-Monitor ist mir aufgefallen, das zur Laufzeit hinter der Real-Variablen bei mir keine Time-Stamp steht.

Den Anhang mit meinem Test habe ich aktualisiert (Sorry).

LG
Stewe


Angehängte Dateien
.pdf   Screen.pdf (Größe: 165,67 KB / Downloads: 8)
Antworten
#6
Hallo Stewe,

ich habe ihr Projekt angeschaut und konnte keinen Fehler finden.
Bei mir hat der FB funktioniert.
Ich habe die Konvertierung mal über ein VBASIC Skript realsiert und in ihr Projekt
eingebaut. Schauen Sie mal ob das funktioniert (Werte sind in Gruppe 2 )


Angehängte Dateien
.zip   FB-Test S5_Time_FB_VB.zip (Größe: 46,82 KB / Downloads: 7)
Antworten
#7
Hallo,

kann es sein, das hier ein Missverständnis vorliegt?

Die S5-Timer sind ja nicht einfach nur BCD-Codiert, daher vermute ich das es in diesem Fall um etwas ganz anderes geht.
Ich vermute, dass die oben genannte Zeit-Angabe von Stewe daher mit einem anderen FB konvertiert werden muss  (weil eben nicht im S5-Timer-Format) !?

...eventuell nur H/L trennnen und dann auf Zeit-Feld umsetzen...

Ich würde mir das gern mal näher ansehen und besorge mir daher zunächst mal das Projekt von Herrn Rings...


MfG
Uwe Abresch
Antworten
#8
Lightbulb 
Hallo,


anbei ein Projekt mit der Umsetzung auf ein Zeit-Feld.
So wie ich es verstanden habe geht es ja nicht um einen Timer sondern um ein Zeitangabe. WENN ich's denn richtig verstanden habe ;-)

(Im beschriebenen Beispiel:  Stunde steht in einem Byte, Minute im zweiten ?? )
Allerdings wäre in dem Fall die Angabe:     für 4:30 Uhr  0x0430h, Wert DB1 = 1072 nicht stimmig !?!
…der Wert = 1072 müsste  dann 04:48 ergeben!??

Die zweite Angabe: für 6:00 Uhr  0x0600h, Wert DB1 = 1536 …wäre aber korrekt.



PS: eventuell muss noch High-/Low-Byte im VB getauscht werden, je nach dem wie es von der LOGO ankommt ...mit LOGO kenne ich mich leider nicht aus :-(

Kurzes Feedback ...auch wenn es passt, wäre nett.

MfG
Uwe Abresch


Angehängte Dateien
.zip   _Logo_Zeitangabe.zip (Größe: 45,82 KB / Downloads: 2)
Antworten
#9
Hallo Herr Rings,

Das VBASIC Script funktioniert.

Eine Frage noch zu den Funktionsbausteinen.
Ich hatte das Projekt ursprünglich in der VOKlight-version erstellt, weil ich hierfür einen Ukey besitze.
Da aber die Verwendung der Funktionsbausteine in der Light-Version nicht vorgesehen ist, habe ich unter Projekt/Eigenschaften auf die Pro-Version umgestellt.
VBASE läuft also im Demo-Modus.
Funktionieren die Funktionsbausteine überhaupt in der Demo-Laufzeit ? Einen Hinweis hierauf habe ich leider nicht gefunden.
 
Hallo Herr Abresch,

das mit dem Zeit-Feld ist genau das, was ich anstrebe (-:
Ich werde Ihr Projekt mal testen.

Das Problem war (oder ist), das der Funktionsbaustein am Eingang zwar einen Wert anstehen hat, am Ausgang aber keinen liefert.
Sollte es am Demo-Modus von VBASE liegen, währe die Sache ja geklärt.

Ich werde in meine LOGO mal ein paar verschiedene Schaltzeiten einprogrammieren, sie dann über den DB1 auslesen und mit dem PV-Monitor anzeigen. Dann kann man besser erkennen, ob es wirklich Hex-Werte sind.
 
Es kann aber etwas dauern.
 
LG
Stewe
Antworten
#10
Hallo Stewe,

im Demo-Modus verhält sich die Runtime genauso wie eine normale Pro-Version.
D.h. die FB werden unterstüzt und werden von der DEMO-RT normal bearbeitet.

Allerdings ist der von Herrn Rings vorgeschlagene FB für die Umsetztung von S5-Timern entwickelt und
daher für die Umsetztung einer (Uhr-) Zeitangabe nicht geeignet. Der FB wird natürlich versuchen Daten
am Eingang zu konvertieren, das Ergebnis dürfte aber nicht stimmen... Bzw. wenn unlogische Daten
ansteht wird der FB u.U. in einen Fehler laufen und daher am Ausgang kein Ergebnis liefern...


MfG
Uwe Abresch
Antworten


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste