Sonstiges LOGO 8 am PC mit Kinco HMI TOOL

Zuviel Werbung?
-> Hier kostenlos registrieren
Zu dem Hinweis mit der Lautstärke, die Logo! Kontakte hört man auch. Bei KNX Controllern bin ich der Meinung auch, aber da kenne ich mich zu wenig aus.
:unsure:
Der Multiplexer wird aber sicher ständig klappern, weil die Regelungen ja auch ständig die verschiedenen Temperaturen brauchen, und nicht nur bei "gelegentlichem" Schalten.
 
Das ist die Beschreibung für S5Time von S5-Timern in S7-SPSen.
Damit arbeitet die Logo aber nicht.

Die Logo hat 2 getrennte Parameter für die Zeiteinstellung:
1 Byte für die Zeitbasis (1 für 1/100 Sekunden, 2 für Sekunden und 3 für Minuten)
1 Word für den Zeitwert, wobei dieser als Integer (nicht BCD!) kodiert ist.

Wenn man die beiden Werte in den VM-Bereich verlinkt, kann man in der Simulation in der Fußleiste die Datentabelle öffnen und sich die Werte binär anzeigen lassen. Wenn man dann die Parameter direkt in der Simulation z.B. von 1 auf 11 ändert, sieht man, dass sich der komplette Wert noch im 1. Nibble befindet, während bei BCD eine 1 im 1. und eine im 2. Nibble wäre:
Anhang anzeigen 59470


PS:
Die Rechnerei beginnt genau dann, wenn man z.B. anstatt 90(s) lieber 1:30(min) eingeben bzw. anzeigen lassen möchte.

Wollte nochmals bei allen bedanken für eure Hilfe und Erklärungen. Setzte mich die Woche wieder dran und hoffe das ich Erfolge erzielen kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus zusammen,

ich hätte da noch ein weiteres anliegen, dieses mal wieder das HMI betreffend. :)
Ich möchte Zeiten aus der HMI (Wochenschaltuhr) in die Logo! übergeben. Hierzu habe ich bereits zwei Word für Stunden und Minuten angelegt und in der Logo jeweils in 1er und 10er aufgeteilt. Anschließend BCD Codiert in den VM Speicher der Logo.
Den Funktionsblock Wochenschaltuhr habe ich dann über die VM Zuordnung auf Einschaltzeit 1 der BCD Codierten Variable zugewiesen.
In der Simulation passen die Werte, nur an der Wochenschaltuhr ändert sich nichts!?
Liegt das an Logo selber oder an meiner Zuordnung der Variablen?

Zeiten Eingabe vom Panel:
VW200 = Stunden
VW202 = Minuten

Umwandeln in BCD:
VW200 & VW202 = VW300

Habe ich etwas vergessen zu beachten oder muss ich den Wert anders vorgeben?

Gruss
 

Anhänge

  • Screenshot (22).png
    Screenshot (22).png
    94,4 KB · Aufrufe: 16
wollte es grade noch mal testen 😅
war mir aber sicher, das die Daten so passen. Wenn ich in der Variablenübersicht die Wochenschaltuhr beobachte, sehe ich die Werte genauso.
Warum die Daten nicht übernommen werden, weiß ich leider immer noch nicht.

In dem Text auf dem Bild steht 300 als Eingangswert, es ist aber 200
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich in der Variablenübersicht die Wochenschaltuhr beobachte, sehe ich die Werte genauso.
Warum die Daten nicht übernommen werden, weiß ich leider immer noch nicht.
Vermutung:
Die Werte werden übernommen, aber in der "falschen" (=ungewünschten) Richtung, nämlich (grundsätzlich?) aus dem Block in die variablen Merker. Woher soll die LOGO! auch wissen, dass jemand etwas anderes (sinnvolles) vorhat? ;)

Neugier am Rande:
Wie funktionieren Deine UDFs zur Wandlung in BCD?
Eine Division durch 10 per ArithmetikBlock ist ja leider nicht zielführend wegen der (unvermeidbaren?) Rundung.
Wiederholtes Subrahieren von 10? Oder gibt's da etwas, was gezielter zum Ergebnis führt?
 
hm, okay das kann natürlich sein. 🤔 Ich dachte hier vielleicht einfach etwas zu einfach...
Dann muss ich mir die Funktion entweder anders basteln oder darauf verzichten. Letzteres wäre mir eigentlich nicht recht, da eine Zeit Vorgabe aus der HMI heraus schon Vorteile hätte.

Bzgl. des BCD Blocks:
Ich teile den Wert durch 10 um eine Kommastelle zu bekommen. Von dem Kommawert ziehe ich die Vorkommestelle ab und multipliziere den Rest dann wieder mit 10. So erhalte ich doch immer die 1er. Die 10er kann ich vorher schon mit einem Vergleich herausfinden und dann entsprechen -1, -2 usw. rechnen.

Funktioniert bisher ganz gut. :)
 
Dann muss ich mir die Funktion entweder anders basteln oder darauf verzichten. Letzteres wäre mir eigentlich nicht recht, da eine Zeit Vorgabe aus der HMI heraus schon Vorteile hätte.
Bei der LOGO! ist leider häufig "anders basteln" erforderlich. Das macht ja das Arbeiten mit der LOGO! so spannend! :ROFLMAO:

Betreffend die Division, hab jetzt selbst eine Lösung gefunden:
wenn 0 <= Zahl <= 99, dann zunächst 5 subtrahieren, dann erst durch 10 dividieren.

PS:
Verflixt, wenn die Zahl Null ist, funktioniert das nicht - leider!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Im HMI kannst du bei der Zahlen-Komponente direkt BCD als Codierung wählen, dann werden die Zahlen aus dem HMI direkt als BCD in die SPS geschrieben. Das könnte eventuell nützlich sein.

BCD.png
 
Im HMI kannst du bei der Zahlen-Komponente direkt BCD als Codierung wählen, dann werden die Zahlen aus dem HMI direkt als BCD in die SPS geschrieben. Das könnte eventuell nützlich sein.
Stunden und Minuten belegen bei der LOGO-Wochenschaltuhr je ein Byte eines gemeinsamen Word.
Man kann nur dieses Word in den VM-Bereich übergeben.

Kann man die Bytes trotzdem einzeln vom HMI übergeben, auch wenn bei der LOGO nur das Word deklariert ist?
Oder bekommt man ggf. irgendwie anders den Doppelpunkt zwischen die Stunden und Minuten?

Sicher ist es von Vorteil, wenn man sich die ganze Umrechnerei bzw. das Zusammenfügen ersparen und direkt in den Parameter schreiben kann.
Mir ist nämlich so, dass die LOGO da oft "allergisch" drauf reagiert, wenn man mit Netzwerkausgängen von der LOGO selbst aus in diese änderbaren Parameter schreiben möchte.
 
Kann man die Bytes trotzdem einzeln vom HMI übergeben, auch wenn bei der LOGO nur das Word deklariert ist?
Oder bekommt man ggf. irgendwie anders den Doppelpunkt zwischen die Stunden und Minuten?
Ja das geht, wenn man im HMI ein kleines Makro einfügt.

Im Makro kann man per Rechtsklick Variablen hinzufügen. Man kann diese Variablen auch als BCD codieren.
Für Stunden und Minuten kann man dann eigene Adressen im HMI verwenden, RW bietet sich hier als Speicherbereich an, der ist remanent.

Damit die kleine Berechnung unten funktioniert, müssen ALLE Variablen im Makro als BCD angelegt sein und auch in der Eingabe.
Das Makro kann man dann über eine Funktionstaste aufrufen, um die Berechnung durchzuführen und den Endwert in die LOGO-Variable zu schreiben.

Den Doppelpunkt kann man entweder als Text-Element zwischen den Zahleneingaben positionieren oder auch als linkes Label der Minuten.
Für die Minuten kann man im Reiter Schrift auch eine "führende 0" konfigurieren. (Oder auch für die Stunden, wenn man das will).

Wenn man es umgekehrt wieder aus der Logo holen will, muss man die Berechnung umdrehen und auf die Variablen aufteilen. Das macht man mit Modulo (%) = Rest-Division.

KLEINE KORREKTUR DES MAKROS: Stunde * 100 natürlich!

Makro.png
Linkes Label.pngFuehrende 0.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PS: Variablen fügt man im Makro per Rechtsklick unten im Variablenbereich hinzu. Die Funktion ReadLocal etc. in den Kommentaren könnt ihr ignorieren. Hinter Rechtsklick verstecken sich so einige Menüs, unter anderem auch das Anlegen neuer Makros. Geht aber auch über das Hauptmenü.
 
Zurück
Oben