Maximal lesbare Signalfrequenz

Für Themen rund um das Prozessabbild des RevPi Core
User avatar
Boris Crismancich
KUNBUS
Posts: 23
Joined: 21 Apr 2017, 12:04
Answers: 0

Maximal lesbare Signalfrequenz

Post by Boris Crismancich »

Bei Bahnanlagen müssen wir mit dem DIO eine Wasseruhr auslesen, die uns Pulse gibt. In einem anderen Fall einer Papierfabrik sind es induktive Schalter, welche uns die Geschwindigkeit der Maschine pulsen. In beiden Fällen bekommen wir < 50 Pulse / Sekunde.

Wir befürchten, dass das Auslesen über das Speicherabbild zu langsam dafür ist. Schon jetzt müssen wir einige Millisekunden warten, bevor sich das Speicherabbild aktualisiert. Wir müssen schließlich die doppelte Abtastrate der Signalfrequenz fahren, um die Signale sicher zu erfassen.

Im Thread viewtopic.php?f=10&t=149 haben wir gelesen. habe ich gelesen, dass Interrupts (Event-Basiert) nicht das favorisierte Modell sind. Allerdings bräuchten wir für die andere Alternative (Polling) ein Echtzeit-Betriebssystem, um sicher sagen zu können, dass wir alle Signale abtasten können. Das haben wir nicht und so kann meinem Verständnis nach der Scheduler dafür sorgen, dass wir Signale verlieren.

Hat jemand eine Idee, wie wir mit solchen Fällen umgehen?
Ich glaube, gerade in der Automatisierung sind das häufige Anwendungsfälle.

Viele Grüße aus Hamburg,
Boris
Kind regards / Herzliche Grüße / Cordiali saluti
Boris Crismancich
User avatar
KarlZeilhofer
Posts: 63
Joined: 12 Mar 2017, 04:21
Answers: 0
Location: Oberösterreich, Pettenbach
Contact:

Re: Maximal lesbare Signalfrequenz

Post by KarlZeilhofer »

1. Der RevPi wird ja mit einem Echtzeit-Kernel ausgeliefert. Wenns mal funktioniert, sollten dann keine Pulse mehr übersehen werden.
2. Das DIO-Modul hat ja auch Zähler, d.h. du könntest auch einfach Zählerstände überwachen. Sollte der Pi zu langsam gewesen sein, sollte der Zähler vom DIO dennoch korrekt zählen.

Hoffe das hilft.
LG, Karl
Attachments
2017-04-21_007.png
2017-04-21_007.png (15.26 KiB) Viewed 8103 times
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: Maximal lesbare Signalfrequenz

Post by volker »

Zählen sollte typischerweise mit dem DIO als Zähler konfiguriert laufen. damit lassen sich bis zu 2Khz Zählfrequenzen erfassen.
Da Du den Zählerstand ja nur auslesen möchtest, ist der exakte zeitpunkt des Zählerstandes (Zeitstempel) sicher nicht so relevant und darf dann um die Zykluszeit der PiBridge (ca. 20 ms) plus die Zykluszeit der auswertenden Software (lesezyklus vom PA) abweichen.
Anders ist es bei der direkten reaktion auf einen Zählerstand (typischerweise ein Winkel, der durch einen Drehgeber ausgelesen wird, der einen Antrieb stoppen soll). Das kann unser DIO aktuell leider noch nicht, aber wir sind an einer Erweiterung der Firmware dran, mit der dann bei Erreichen eines Encoder-Wertes ein digitaler Ausgang direkt gesetzt wird (Verzögerungszeit typischerweise deutlich unter 1 ms).
Unser RevPi Motto: Don't just claim it - make it!
User avatar
Boris Crismancich
KUNBUS
Posts: 23
Joined: 21 Apr 2017, 12:04
Answers: 0

Re: Maximal lesbare Signalfrequenz

Post by Boris Crismancich »

Ja, der Zähler war der richtige Tipp! Danke!
Sobald unsere Library fertig ist, stellen wir sie offen ins Git.

Viele Grüße,
Boris
Kind regards / Herzliche Grüße / Cordiali saluti
Boris Crismancich
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

hallo,

da habe ich auch gleich eine Frage dazu.
Da ich gerne mit einem Hallgeber meinen Durchfluss m³/h von Wasser auslesen möchte. wäre das ja wo möglich mit dem DIO.
Ich habe hier ein geber der mit (Hz)=0,2*Q (Q=Durchflussmenge/min., bei max 120L/min +-3% möglich sind. Reicht da der Zähler auch noch, oder muss ich schon einen Impulsteiler 100:1 oder 10:1 verwenden um ein genaues Signal zu bekommen?

Da ich auf diesem Gebit sogut wie keine Erfahrung habe würde mich schon Interessieren ob mir da wer einen Rat geben oder Vorschlag machen kann.

gruß
Ingo
User avatar
KarlZeilhofer
Posts: 63
Joined: 12 Mar 2017, 04:21
Answers: 0
Location: Oberösterreich, Pettenbach
Contact:

Re: Maximal lesbare Signalfrequenz

Post by KarlZeilhofer »

Wenn die Formel lautet f =0.2 Q, wobei f die impulsfrequenz in Hz und Q die durchflussmenge in l/min ist, dann hast du max 24Hz. Das geht sich sehr leicht aus, 2kHz kannst du damit laut Volker ja messen.
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

Danke für die Antwort.

Frage: wie verwende ich das ganze dann am PI? Habe noch ein digitalen eingang frei und habe den flowmeter auf einen´mem eingang configuriert. aber wie funktioniert das? ist das richtig das der flowmeter am digitalen eingang angeschlossen wird?
Beispiele dafür? in verbindung mit Logicad3

gruß
User avatar
KarlZeilhofer
Posts: 63
Joined: 12 Mar 2017, 04:21
Answers: 0
Location: Oberösterreich, Pettenbach
Contact:

Re: Maximal lesbare Signalfrequenz

Post by KarlZeilhofer »

Wie du in diesem Beitrag
viewtopic.php?f=8&t=205#p695
lesen kannst, liegen die Counter-Werte mit einem Offest von 6 Bytes im Image. Jeder Kanal hat 32 Bit, also 4 Bytes. D.h. an Offset 6 liegt der Counter vom Kanal 1, und an Offset = 4+(4*(16-1)) = 4+4*15 = 66 liegt der Counter Wert von Kanal 16.

LG, Karl
User avatar
KarlZeilhofer
Posts: 63
Joined: 12 Mar 2017, 04:21
Answers: 0
Location: Oberösterreich, Pettenbach
Contact:

Re: Maximal lesbare Signalfrequenz

Post by KarlZeilhofer »

An das RevPi-Team:
Mir ist grad aufgefallen, dass man beim Eingangs-Typ auch Encoder einstellen kann. Ist das für Drehgeber mit A/B-Signalen gedacht? Wie entsteht dann hier die Paarung der beiden Signale zu einem Wert, und in welchem Zählerregister liegt dann das Ergebnis?

Gibts denn für das DIO nicht einmal eine Kurzanleitung? Ich hab so das Gefühl, dass so langsam alle möglichen Details hier im Forum auftauchen.
* 20ms Zykluszeit
* max. 2kHz Signalfrequenz für Zähler
...

LG, Karl
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

KarlZeilhofer wrote:Wie du in diesem Beitrag
viewtopic.php?f=8&t=205#p695
lesen kannst, liegen die Counter-Werte mit einem Offest von 6 Bytes im Image. Jeder Kanal hat 32 Bit, also 4 Bytes. D.h. an Offset 6 liegt der Counter vom Kanal 1, und an Offset = 4+(4*(16-1)) = 4+4*15 = 66 liegt der Counter Wert von Kanal 16.

LG, Karl
Hallo Karl,

ich bin nicht so der Experte in Informatik oder Programmierung. Ich kann dir ein Schaltschgrank zusammen bauen und eine Anlage aufstellen und die E/As testen aber dann hört es auch schon auf normal. Ich sitze nun seit 3 naja 4 Monaten an meinem Projekt und komme nur mit Hilfe von Axel (guter bekannter) damit weiter.
Ich kann nicht gerade viel damit anfangen ( Offset = 4+(4*(16-1)) = 4+4*15 = 66) Verständmisshalber mal einfacher erklären, daher auch das Beispiel für Normalos, bin kein Informatiker oder DipIng.

So ich habe nun den EIngang 11 vom DIO genommen dort die Sig. Leitung vom Hallgeber angeschlossen desweiteren habe ich MEM 11 auf Counter mit steigender Flanke eingestellt. Aber es tut sich nichts ich bekomme keine werte.
Daher auch die Frage gewesen war es richtig so mit dem Anschliessen und was muss ich unter LogiCad3 beachten.

gruß
Post Reply