Maximal lesbare Signalfrequenz

Für Themen rund um das Prozessabbild des RevPi Core
benjamin
Posts: 28
Joined: 10 Jan 2017, 11:17

Re: Maximal lesbare Signalfrequenz

Post by benjamin »

Hallo Ingo,

was gibt dir denn piTest aus?

Über SSH mit dem Core verbinden.

piTest -r <Countername>

bespiel bei mir mit einem Taster an Eingang 1 und Inputmode_1 auf Counter, steigende Flanke:
piTest -r Counter_1
Value of Counter_1: 00000000 hex (=0 dez)
Value of Counter_1: 00000000 hex (=0 dez)
Value of Counter_1: 00000001 hex (=1 dez)
Value of Counter_1: 00000002 hex (=2 dez)
Value of Counter_1: 00000005 hex (=5 dez)
Value of Counter_1: 00000009 hex (=9 dez)
Value of Counter_1: 0000000f hex (=15 dez)
Value of Counter_1: 00000010 hex (=16 dez)
Value of Counter_1: 00000010 hex (=16 dez)
Value of Counter_1: 00000015 hex (=21 dez)
Value of Counter_1: 00000015 hex (=21 dez)

Gruß
Benny
User avatar
Ingo
Posts: 267
Joined: 10 Nov 2016, 21:56
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

hi benjamin

also bei mir bekomme ich nur das ausgegeben
ausgabe.JPG
ausgabe.JPG (64.49 KiB) Viewed 12958 times
vieleicht liegt es ja auch an dem Bauteil selber (reedkontakt) es hat zwar 24V eingangsspannung gibt aber nur 5V aus als signal. Daher weiß ich nicht ob ich das so nutzen kann oder ich noch ein Transistor mit Wiederstand dazwischen schalten muss so das er die Vollen 24V als signal ausgibt.

Ich werde das mal mit einem Taster Probieren nachher mal schauen obs dann geht.
gruß

Nachtrag: mit einem Taster auf eingang 11 passiert auch nichts. Die Ausgabe bleibt die selbe wie vorher
User avatar
KarlZeilhofer
Posts: 63
Joined: 12 Mar 2017, 04:21
Location: Oberösterreich, Pettenbach
Contact:

Re: Maximal lesbare Signalfrequenz

Post by KarlZeilhofer »

Ingo wrote: 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.
gruß
Tut mir Leid für die saloppe Antwort. Ich kenn deine übliche Vorgehensweise nicht.

Ich habs nun auch bei meinem Aufbau mit Tastern und piTest ausprobiert. Funktioniert wie erwartet!
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41

Re: Maximal lesbare Signalfrequenz

Post by volker »

Hallo Ingo, vergiss mal die Details von Karl... Es ist wirklich ganz einfac. Wenn Du auf Eingang 11 einen Sensor mit Impulsen anschließt, dann den Typ von Eingang 1 eifach auf Counter einstellen (steigend oder fallend ist bei Deiner Anwendung Jacke wie Hose). Mehr braucht es nicht. In Counter11 stet dann im Prozessabbild der Zählerwert. Du setzt den Haken dort auf Export und schon hast Du im Expoert für logiocals in der RT-Deklaration den Zähler, den Du in log.CAD3 dann von TYP LINT (also 32 bit breit) wiederfindest.

Dein eigentliches Problem ist eben das "Anschließen". Ich denke, dabei ist wahrscheinlich Dein Problem entstanden. Das hängt mti der elektrischen Eigenschaft der Eingänge zusammen, die eventuell nicht zu Deinem Hallgeber passen.
Unsere Eingänge sind für 24 V Schalteingänge wie bei eienr SPS ausgelegt. Das bedeutet ohne äußeres Signal sind sie auf 0 und wenn 24V (genauer eine Spannung über 9,5 V ) angelegt werden, dann sind die Eingänge auf logisch 1. Zum Zählen muss also periodisch eine Spannung von mindestens 9,5 V angelegt werden.
Viel solcher Hallgeber sind nun aber leider TTL-Signale, die 5V Signalamplitude haben - zu wenig für 24 V Eingänge. Oder aber es sind 24 Typen. Dann ist wichtig, ob es sich um sogenannte NPN oder PNP schaltende Sensoren ahndelt. NPN Typen schalten auf den Signalausgang periodish Masse, also 0 Volt. Wenn Du einen solchen Sensor an unsere Eingänge hängst,d ann brauchst Du einen sogenannten Pullup-Widerstand zwischen Signalausgang und 24 V (zum Beispiel 4,7 kOhm könnte in der Regel gut funktionieren und würde auch moderate 24/4700 A = ca. 5 mA (also 5 mA * 24 V = ca. 0,1 W) Belastung für den Pullup Widerstand bedeuten. Wenn Du einen PNP-schaltenden Sensor hast, dann schaltet der periodisch 24 V auf seinen Ausgang. So ein Typ kann direkt aneinen DIO EIngang angeschlossen werden.

Ich hoffe, das hilft Dir weiter...
Unser RevPi Motto: Don't just claim it - make it!
User avatar
Ingo
Posts: 267
Joined: 10 Nov 2016, 21:56
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

Danke Volker für deine Ausführliche Auskunft.
Wir haben heute noch einen Versuch unternommen aber sind noch zu keinem Ergebniss gekommen.

wenn wir unter PiTest den wert des Counters mannuell eintragen z.b 100 gibt er den wert auch unter pitest aus so wie wir ihn gesetzt haben, leider kommt in LogiCad der wert nicht an. der wert dort bleibt bei 16#01 stehen.

ich habe die Variable von der Picontroll übernommen und in meine Variablen Liste eingetragen
FlowMeter AT %MB1.107 : BYTE := 1;
Laut pitest stimmt die Adresse.
Auch habe ich an dem eingang 11 mit 24V ein taster angeschlossen um so das signal zu erzeugen das der Counter was anzeigen sollte. Aber genau das macht er nicht.
er bleibt bei 01 hex '(=1 dez) liegen.
Daher habe ich auch kein plan mehr was ich noch machen soll um das ding zum laufen zu bewegen.

Aber das mit dem Wiederstand ist eine gute Idee. Das werde ich dann mal testen. zumindestens muss sich der zustand am Eingang 11 von False auf True ändern dann.

gruß
benjamin
Posts: 28
Joined: 10 Jan 2017, 11:17

Re: Maximal lesbare Signalfrequenz

Post by benjamin »

Hallo Ingo,

ich glaube dein Problem besteht darin, dass du den InputMode abfragst und nicht den Counter!

Mein Counter_11 liegt hier:
Counter_11 AT %ID1.48: DINT := 0;

und der InputMode hier wie bei dir:
InputMode_11 AT %MB1.100: BYTE := 0;

änder das mal in logicad und es sollten dir die richtigen Werte angezeigt werden.

Ob das mit dem Counter manuel setzten geht weis ich leider nicht.
Mir ist nur bekannt das es über piTest -w <Countername>,<value> NICHT geht!
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41

Re: Maximal lesbare Signalfrequenz

Post by volker »

Hallo Ingo, Du übernimmst definitv aktuell NICHT den Counterwert, denn der ist ja nicht vom Tp BYTE (8 Bit) sondern von Typ DINT (32 bit). Den Haken für Export also nicht bei der Funktionsauswahl setzen sondern bei dem COUNTER weiter oben. Dann sollte es klappen...
Unser RevPi Motto: Don't just claim it - make it!
User avatar
Ingo
Posts: 267
Joined: 10 Nov 2016, 21:56
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

Hallo Jungs und Mädels,

Dank an euch für die hilfe. Es hat nun echt hingehauen, das mit dem Counter war der Knackpunkt, nun da er auch an ist tut der Flowmeter schon genau was er machen soll. Er gibt mir den Durchsatz pro l/min aus.
@Volker, das mit dem Wiederstand was eine gute Idee, der Flowmeter hat standardmäßig schon einen Wiederstand drinne den ich nur gegen einen 4,2k ausstauschen musste und siehe da er bringt signale an den Eingang.
Da der Counter ja nun funzt habe ich aber gleich die nächste Frage.
Wie kann ich den Counterwert wieder auf 0 setzen?

grund ist ich rechne ja den durchfluss den ich momentan habe aber wenn die anlage steht und wieder gestartet wird zeigt mir die Ausgabe den letzen aktuellen wert vom Counter, der kann aber schnell weit über den wert liegen den ich nicht erreichen werde.
ich habe eine ausgabezeit des aktuellen Wertes alle 10 sec eingestellt, also habe ich die 10 sec den alten wert vom Counter, somit auch eine Falsche Frquenzanzeige was auch eine Falsche durchflussmenge anzeigt dann.
Dies wirkt sich aber auf das Diagramm dann später aus da ich nie so einen durchsatz erreichen werde.
Daher muss die bedingung so sein das, "wenn die Anlage stoppt oder eine Bedigung gegeben ist wo der Counter nicht arbeiten muss da kein signal kommtm setzte den counter auf 0"
Wie kann ich das machen?

gruß
Ingo
User avatar
Ingo
Posts: 267
Joined: 10 Nov 2016, 21:56
Location: Luth.Wittenberg

Re: Maximal lesbare Signalfrequenz

Post by Ingo »

benjamin wrote:Hallo Ingo,
Ob das mit dem Counter manuel setzten geht weis ich leider nicht.
Mir ist nur bekannt das es über piTest -w <Countername>,<value> NICHT geht!
Da hast du recht, du kannst den Counter nicht manuell mit anderen werten Füttern. Haben wir heute schon Probiert aber hat sich nichts geändert.
Was wiederrum die Frage aufwirft, Was ist bei einem Stromausfall? bleibt der wert erhalten oder wird er dann gelöscht.

gruß
benjamin
Posts: 28
Joined: 10 Jan 2017, 11:17

Re: Maximal lesbare Signalfrequenz

Post by benjamin »

Hallo Ingo,

bei einen Stromausfall, Reboot oder Driver Reset ( in piCtory oder per piTest -x) werden die Zähler auf 0 gesetzt.
Allerdings bin ich der Meinung hier in einem anderen Beitrag gelesen zu haben, dass wohl daran gearbeitet wird,
die Counter "beschreibbar" zu machen. :D

Vielleicht kann Volker dazu etwas genaueres sagen.

Aber musst du da wirklich den Counter benutzen?

Theoretisch sollte das doch auch normal mit dem Eingang gehen. In logicad könntest du dann selbst eine Variable hochzählen,
die du dann bei Anlagenstopp auf 0 setzt.

Ungefähr so:

cnt_up := r_Trig;
Wasserventil := Bool;
reset := f_Trig;
flowmeter := Bool;
Variable := INT;

cnt_up(IN:=flowmeter and Wasserventil)
reset(IN:=Wasserventil);

IF cnt_up.Q then
Variable:= Variable +1
END_IF;

IF reset.Q then
Variable:= 0
END_IF;

Die Variable wird nur dann Hochgezählt wenn dein Wasserventil angesteuert wird und dein Flowmeter einen Impuls gibt.
Wird das Wasserventil nicht mehr angesteuert, wird die Variable auf 0 gesetzt.

wobei da die Zyklusszeit von logicad wieder eine rolle spielt :D

Gruß
Benny
Post Reply