UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Gelöst] Takt halbieren

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
mclb
Reactions:
Beiträge: 126
Registriert: Mo Jan 07, 2019 9:27 pm
Wohnort: Sonnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 63 Mal
Kontaktdaten:

Takt halbieren

#1

Beitrag von mclb »

Hallo zusammen,

ich stehe gerade ein wenig daneben ... ich brauche für eine Logik einen Takt (gibt es ja) und zusätzlich den halbierten und den geviertelten Takt. Jetzt hätte ich gern, statt 3 einzelne Bausteine zu verwenden, einfach den 1 Takt halbiert und dann den Zweiten wieder halbiert. Wie würdet ihr das umsetzen? Oder doch einfach 3 einzelne Takt-Bausteine?

Ziel ist also Folgendes:
Takt 1: 0 1 0 1 0 1 0 1
Takt 2: 0 0 1 1 0 0 1 1
Takt 3: 0 0 0 0 1 1 1 1

Danke
Marcus
Zuletzt geändert von Robosoc am Mo Jul 27, 2020 9:20 pm, insgesamt 1-mal geändert.
TWS 950Q ID:249 <VPN offen, Reboot nach Absprache erlaubt>

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#2

Beitrag von gbglace »

Also wenn man eine Uhr hat und will die mehrfach verwenden, dann fängt man doch bitte beim kleinen Teil an und ignoriert bei Bedarf jeden zweiten Ping.

Damit lässt sich eine solche Uhr so lange verwenden wie der Takt dieser Uhr ein ganzzahliges Vielfaches der gewünschten Taktung ist.

In Deiner Version würdest einmal richtig liegen und bei allen anderen Subversionen könntest einfach nur feststellen wieviele Aktionen du verpasst hast. Oder Du hast ne Zeitmaschine.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#3

Beitrag von Robosoc »

Dein dreiteiliges Bitmuster hat mich sofort auf ein Demultiplexer gebracht...
Du baust dir einen Takt, der einen Integer von 0 bis 7 zählt und danach wieder von vorne beginnt.
Anschließend zerlegst Du diesen Integer mit einem Demultiplexer in die drei Bits, die dann gleichzeitig Deine Ausgänge sind.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#4

Beitrag von S. Kolbinger »

... oder einen Frequenzteiler:

Man nehme ein Latch mit Trigger auf fallende Flanke und verbindet den Ausgang invertiert auf den Eingang.
Gruß,
Stefan K.

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#5

Beitrag von Robosoc »

S. Kolbinger hat geschrieben: Mo Jul 27, 2020 6:04 pm ... oder einen Frequenzteiler:

Man nehme ein Latch mit Trigger auf fallende Flanke und verbindet den Ausgang invertiert auf den Eingang.
Auch eine sehr coole, smarte Idee... :handgestures-thumbupright: :handgestures-thumbupright:

Marcus, hilft Dir das jeweils? Sollte glaube ich beides mit einer customlogic, einem triggereingang und drei Ausgängen, Drei Modulen lösbar sein. Wenn Du noch auf dem Schlauch stehst, sag Bescheid, dann schreib ich Dir den Code. Ist nicht aufwändig.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#6

Beitrag von gbglace »

Darf ich mal Fragen was muss ich denn gelernt haben damit man beim lesen von Begrifflichkeiten wie:
zerlegst Du diesen Integer mit einem Demultiplexer in die drei Bits
bzw.
ein Latch mit Trigger auf fallende Flanke
, im Kopf direkt ohne Wikipedia und deepl eine Vorstellung bekommt was da am Ende passieren wird?

Ich bin immer für was Neues zu haben aber rein so hier beim mitlesen habe ich so das Gefühl ich verstehe zunehmend immer weniger von der Logikmaschine im TWS.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Didda93
Reactions:
Beiträge: 172
Registriert: Fr Jan 11, 2019 12:24 pm
Hat sich bedankt: 341 Mal
Danksagung erhalten: 112 Mal

#7

Beitrag von Didda93 »

@gbglace
100% Zustimmung :D
Grüße Philipp

TWS 960Q ID: 441 (VPN offen, Reboot nach Absprache)
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1152
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 744 Mal
Danksagung erhalten: 923 Mal

#8

Beitrag von starwarsfan »

100% Zustimmung!
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#9

Beitrag von Robosoc »

:confusion-scratchheadyellow:
"Darf ich mal Fragen was muss ich denn gelernt haben damit man beim lesen von Begrifflichkeiten wie"...Genau so etwas habe ich gedacht, als Du das Folgende im zweiten Beitrag geschrieben hast :laughing-rolling:
gbglace hat geschrieben: Mo Jul 27, 2020 4:56 pm In Deiner Version würdest einmal richtig liegen und bei allen anderen Subversionen könntest einfach nur feststellen wieviele Aktionen du verpasst hast. Oder Du hast ne Zeitmaschine.
Aber mal Spaß beiseite... Ich finde diese Kritik an der Kompliziertheit des Logikeditors in diesem konkreten Beispiel als nicht korrekt. Das soll nicht heißen, dass ich ihn nicht auch komplex und manchmal kompliziert finde...Aber hier passt es einfach meiner Meinung nach überhaupt nicht.

Der Begriff des Multiplexer (und ich glaube dass ein Demultiplexer das Gegenteil ist, erschliesst sich recht schnell) wird in Hochsprachen genauso angewendet. Tatsächlich habe ich den erstmalig im Wiregate Server genutzt und dabei zu schätzen gelernt, als ich einen PERL-Code von jemand Anderes nachvollzogen habe...und dann einen Multiplexer im Logikeditor des Wirgate-Servers umgesetzt habe... da war das recht aufwändig. Und als ich dies als Modul beim TWS entdeckt habe, war ich begeistert und es ist mega simpel in der Anwendung...UND ja, die Funktion eines Multiplexers kannst Du bei Wiki nachlesen, aber auch in der Knowledge Base. Ich schreibe ab und an Code in VBA, JavaScribt und ähnlichem, aber ich für meine Heimautomation mit KNX schätze ich inzwischen den TWS-Editor, insbesondere, weil hier die Eingangsfunktionen a/c/u und Ausgangsfunktionen a/c/t/ct einen darauf achten lassen, was man eigentlich will...

In der Knowledge Base findet man auch den Begriff Latch, der für mich hier auch Neuland war. Aber wenn man in der Knowledge Base das Kapitel 4.6.6 nutzt (und das habe ich beim Schreiben von Customlogiken alleine schon als Kopiervorlage immer offen), dann sind diese beiden Module meines Erachtens recht klar...und ich finde jetzt nicht so sehr dass ich ein Tech-Nerd bin.

Ich finde den Abschnitt Logikeditor in der KB wirklich sehr hilfreich und bin damit sehr schnell zu uten Ergebnissen gekommen.
Zuletzt geändert von Robosoc am Mo Jul 27, 2020 9:05 pm, insgesamt 1-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#10

Beitrag von Robosoc »

Das ist die Umsetzung des Lösungsvorschlages von S. Kobinger mit Latch (deutlich weniger Codezeilen)

Code: Alles auswählen

{
    "Level": [
        ["$Takt1", "bool", false],
	["$Takt2", "bool", false],
	["$Takt3", "bool", false]
	],
	"Input": [
    ],
	"Output": [
	["Takt1","","$Takt1","c"],
	["Takt2","","$Takt2","c"],
	["Takt3","","$Takt3","c"]
    ],
    "Module": [
        ["And" , ["-$Takt1" ] , "$Takt1"],
	["Latch","-$Takt2","$Takt2","$Takt1",2],
        ["Latch","-$Takt3","$Takt3","$Takt2",2]
    ]
}
und von mir mit dem BinaryDemultiplexer

Code: Alles auswählen

{
    "Level": [
        ["$Takt1", "bool", false],
		["$Takt2", "bool", false],
		["$Takt3", "bool", false],
		["$dummy", "bool", false],
		["$const_1", "integer", 1],
		["$const_7", "integer", 7],
		["$Counter", "integer", 0]
	],
	"Input": [
    ],
	"Output": [
	    ["Takt1","","$Takt1","c"],
		["Takt2","","$Takt2","c"],
		["Takt3","","$Takt3","c"]
    ],
    "Module": [
        ["Polynomial", "$const_1", "$Counter",["$Counter", "$const_1"]],
		["Comparator" , "$Counter" , "$dummy" , "$const_7"],
		["Latch",0,"$Counter","$dummy",1],
		["BinaryDemultiplexer","$Counter",["$Takt1","$Takt2","$Takt3"]]
    ]
}
Beides Mal sieht die Zelle gleich aus:
takt1.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robosoc am Mo Jul 27, 2020 9:01 pm, insgesamt 1-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
Antworten

Zurück zu „Logikengine & Logik-Editor“