02.04.2019 11:36 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
BCD (4x4bit) zu Dezimal (0...7999) Wandler z.B. für Uhrzeiten Dieser Wandler kommt mit immerhin nur 16 Blöcken aus, in den Siemens Beispielen ist eine 12-Bit-Variante, die gleich 76 Blöcke verbraucht. Ich hoffe ja immer noch darauf, dass Siemens in der Zukunft zusätzliche Funktionen anbietet, die solche Aktionen auf 1-2 Blöcke verringert. P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangBCD-Dec.zip (376 Downloads) |
Zuletzt bearbeitet von: Scorp am: 02.04.2019 14:30:29Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:18:28Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:22:54 |
|
Für diesen Beitrag bedanken sich
2 Benutzer |
02.04.2019 11:37 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Dezimal (0...7999) zu BCD (4x4bit) Wandler Brauchbar z.B. für Uhrzeiten P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangDec-BCD.zip (332 Downloads) |
Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:18:51Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:23:37 |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
02.04.2019 11:39 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Dezimal zu Minuten/Sekunden (mm:ss) oder Stunden/Minuten (hh:mm) Wandler P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangDec-MM_SS.zip (351 Downloads) |
Zuletzt bearbeitet von: Scorp am: 02.04.2019 14:22:12Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:19:19Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:24:17 |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
02.04.2019 11:41 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Dezimal zu Sekunden/1:100 Sekunden (ss:hs) Wandler P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangDec-SS_HS.zip (308 Downloads) |
Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:19:41Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:24:35 |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
02.04.2019 11:42 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Ganzzahldivision mit Rest in zwei Varianten Eine Ganzzahldivision war auch schon die Grundlage bei Dezimal- und BCD-Werten mit dem Devisor 10 und 16. Hier ist eine allgemein gültige Variante für beliebigen Devisor, die in manchen Berechnungen sinnvoll sein kann, wenn man die automatische Rundungsfunktion der arithmetischen Anweisung überhaupt nicht braucht. Meine Hoffnung ist, dass in zukünftigen Versionen erweiterte Operationen zur Verfügung stehen, die solche Aktionen auf 1-2 Blöcke reduzieren. P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangX DIV Y.zip (302 Downloads) |
Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:21:27Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:24:54Zuletzt bearbeitet von: Scorp am: 19.04.2019 13:06:58 |
|
Für diesen Beitrag bedanken sich
2 Benutzer |
02.04.2019 13:26 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Aufteilung einer Word-Variablen in zwei Bytes. Um auf kleinere Bereiche aufzuteilen, einfach die Bytes aus dieser Variante nehmen und mit X Div Y weiter aufteilen. Um z.B. jeweils 4 Bit zu erhalten, Byte DIV 16 nutzen. Einzelne Bits kann man natürlich einfacher über Netzwerkeingänge abfragen. Diese Funktionen werden häufig gebraucht, um zusammengesetzte Statusmeldungen zu extrahieren, wenn sie aus zwei oder mehr Blöcken bestehen. P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangWord-2Bytes.zip (297 Downloads) |
Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:25:16 |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
07.04.2019 11:45 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Addierer mit Zähler zum Aufaddieren von Werten >32767 Im Anhang ist ein Wandler, der Zahlenwerte in Zählerwerte wandelt. In den Zähler bekommt man das Ergebnis einer arithmetische Anweisung allerdings nicht anders als diesen zu erhöhen oder zu verringern. Mit den vorhandenen Impulsgebern dauert das bei größeren Zahlen viel zu lange, als dass man diese Funktion sinnvoll nutzen könnte. Deshalb ist das hier nach einem anderen Prinzip gelöst. Der Wert einer arithmetischen Anweisung wird mit einer steigenden Flanke gespeichert. Je nach Vorzeichen wird die Zählrichtung eines Summenzählers ermittelt. Zusätzlich ist ein Differenzzähler vorhanden, der unabhängig vom Vorzeichen immer betragsmäßig vorwärts zählt. Das Taktsignal wird mit dem schnellstmöglichen Impulsgeber gebildet und geht gleichzeitig auf beide Zähler. Erreicht der Differenzzähler den Betrag aus der arithmetische Anweisung, wird der Zählvorgang beendet. Da beide Zähler die gleiche Anzahl an Impulsen bekommen haben, der Summenzähler jedoch zusätzlich das Richtungssignal, sollte in Letzterem immer das passende Ergebnis stehen. Zu berücksichtigen ist, dass der Summenzähler nicht unter 0 zählen kann, also mehr abziehen als hinzuzählen ergibt Fehler. Die Dauer des Zählens ist von der Zykluszeit abhängig, das kann in der Simulation schon mal etwas länger dauern. Das kurze Programm in einer Logo hat natürlich deutlich niedrigere Zykluszeiten, aber bei großen Zahlen z.B. 32767 kann das durchaus 20s dauern. In der Zeit darf natürlich keine neue Startflanke kommen, sonst gibt es auch hier Fehler. P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen.DateianhangAddierer mit Zähler.zip (301 Downloads) |
Zuletzt bearbeitet von: Scorp am: 17.04.2019 12:25:54Zuletzt bearbeitet von: Scorp am: 19.04.2019 12:58:50 |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
17.04.2019 12:32 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Wurzel ziehen mit der Logo Im Anhang ist eine Variante, wie man indirekt die 2te/3te/4te Wurzel aus einer Zahl berechnet. Das Prinzip beruht darauf, dass ein Zählerwert entsprechend potenziert und mit dem gewünschten Wert verglichen wird. Ist das Ergebnis zu klein, wird der Zählerwert erhöht. Ist das Ergebnis zu groß, wird der Zählerwert verringert. Um ohne Auslösefunktion arbeiten zu können, wird der Zähler also immer um das Ergebnis und den Wert +1 hin- und herschwanken. Das kann wie dargestellt mit dem Min/Max-Block "gefiltert" werden. Wichtig ist bei solchen arithmetischen Berechnungen, dass der Fehler bei kleinen Werten prozentual recht groß sein kann. Will man z.B. die Quadratwurzel aus 327 oder kleiner berechnen, bietet es sich an, den Wert vorher mit 100 (10^2) zu multiplizieren. Dann erhält man als Ergebnis den 10fachen Wert, also eine Kommastelle. Je nach Gesamtformel können auch andere Werte sinnvoll sein, dafür gibt es leider keinen Pauschalwert. P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangSQRT.zip (311 Downloads) |
Zuletzt bearbeitet von: Scorp am: 17.04.2019 17:29:09 |
|
Für diesen Beitrag bedanken sich
4 Benutzer |
24.08.2019 11:32 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung:
|
Vorzeichen und Betrag einer Zahl bestimmen mit der Logo Im Anhang ist eine Variante, wie man das Vorzeichen und den Betrag einer Zahl zwischen -32767 und +32767 bestimmt. Das könnte z.B. bei dem erweiterten Webserver dazu dienen, auch Kommastellen anzuzeigen. Ein Beispiel folgt im nächsten Beitrag, bei dem die ABS-Funktion mit dem Wandler X DIV Y kombiniert wird. P.S. Ich bitte darum, unnötige Diskussionen in diesem Thema zu vermeiden, um den Charakter einer Sammlung zu behalten. Bemerkungen oder Korrekturen nehme ich gerne als private Nachricht entgegen. DateianhangABS.zip (283 Downloads) |
Für diesen Beitrag bedanken sich
2 Benutzer |
Folgen Sie uns auf