CODESYS - das IEC 61131-3 Programmiersystem

Willkommen im offiziellen CODESYS - Forum von 3S-Smart Software Solutions | A member of the CODESYS Group
Deutsche Version English version russian version 
Aktuelle Zeit: Di Mär 26, 2019 6:35 pm

Alle Zeiten sind UTC




Ein neues Thema erstellen  Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Analoger Eingangswert auf 0 abrunden
BeitragVerfasst: Mo Okt 03, 2016 6:18 am 
Offline

Registriert: Di Aug 30, 2016 4:26 am
Beiträge: 4
Hallo alle zusammen, mein Name ist Julian und ich bin neu im Forum.
Ich bin gerade an meinem ersten Projekt mit CODESYS.

ich habe folgendes Problem:
Es wird eine Drehzahl einer Pumpe über die WebVisu angezeigt, wenn die Pumpe steht sollte diese eig.
0 Umdrehungen anzeigen, es wird mir aber eine Drehzahl von 5 Umdrehungen angezeigt.
Ich denke das es durch die Toleranzen bedingt ist. Der Messumformer liefert ein 4 - 20mA Signal.
Wenn die Pumpe steht wird auch ein Strom von 4,00mA ausgegeben.
Jetzt zu meiner Frage, wie kann ich es bewerkstelligen das alle Umdrehungen kleiner 20 auf 0 abgerundet werden?
Programmiert wurde in AWL, könnte auch in ST programmieren falls da jemand eine Lösung für mich hat.

Vielen Dank schon im vorraus für Antworten.


Nach oben
   
BeitragVerfasst: Mo Okt 03, 2016 8:26 am 
Offline

Registriert: Fr Jan 22, 2010 1:45 pm
Beiträge: 44
Hallo Julian

Du musst die Pumpen-Drehzahl (0 - Max Drehzahl) , ins Verhältnis 4 - 20 mA setzen. Dann hast Du die Werte, wo Du sagen kannst, bei so viel mA, habe ich diese Drehzahl.
Die mA, können nicht einfach in Drehzahlen übernommen werden.
Noch besser, währe es, wenn Du direkt auf der Pumpe, einen Drehzahlmesser hättest. Dann hättest Du auch die effektiven Messwerte, die Du verarbeiten könntest.

Mit freundlichen Grüssen! Pitsch


Nach oben
   
BeitragVerfasst: Mo Okt 03, 2016 8:43 am 
Offline

Registriert: Di Aug 30, 2016 4:26 am
Beiträge: 4
Danke für die schhnelle Antwort, die Normierung hab ich gemacht 4mA=0 1/Min und 20mA =5000 1/Min.
Die Anzeige funktioniert auch ohne Probleme bzw. die Drehzahl wird richtig angzeigt.
Lediglich wenn die Pumpe steht und 0 1/Min hat zeigt mir die Steuerung trotzdem 5 1/Min an.
Ich denke das sind die Toleranzen der Eaton SPS und diese würde ich gerne Software mässig ausblenden.
Das heisst ich brauche im Programm einen Befehl mit dem ich alle Werte kleiner 20 auf 0 abrunde.
Zum Beispiel: if Drehzahl < 20, Drehzahl = 0 so etwas meine ich kenne aber leider CODESYS nicht gut genug und
hoffe das mir da einer einen Tipp geben kann wie ich die Programmierung umsetze.


Nach oben
   
BeitragVerfasst: Mo Okt 03, 2016 4:41 pm 
Offline

Registriert: Fr Jan 22, 2010 1:45 pm
Beiträge: 44
Hallo Julian

Also ich kenne weder deine SPS, noch die Pumpe oder den Motor, mit dem Du arbeitest.
Aber dass die Steuerung eine so hohe Tolerant aufweist, verstehe ich auch nicht so ganz.
Besteht denn nicht die Möglichkeit irgendwie von der Steuerung her ein Signal auszuwerten, das Dir anzeigt, dass die Pumpe still steht. Also der Umrichter auf Stop steht oder so etwas.
Ich nehme an, dass Du auch eine Drehzahl von z.B 5/Min noch angezeigt haben möchtest. Wenn das Flügelrad der Pumpe sich noch ein wenig dreht. also noch nicht ganz still steht. Erst wenn die Pumpe steht, soll auch 0/Min angezeigt werden.
Du musst irgendwie den Messstrom 4 - 20 mA auswerten. Auch wenn die angezeigte Drehzahl, jetz nicht genau auf die Umdrehung/Min stimmt, merkt das keiner. doch wenn die Pumpe noch, wenn auch nur langsam läuft und die Anzeige steht auf 0/Min, dann ist das meiner Ansicht nach ein Schönheitsfehler, den es zu vermeiden gilt.
Also führ der Steuerung noch die entsprechenden Signale zu (Die Steuerung, stellt Diese nämmlich sicher zur Verfügung. Oder das Potentiometer, mit dem Du die Drehzahl regelst, hat sicher eine Stellung -AUS- oder sogar einen AUS-Schalter.) und stze die Anzeige erst auf 0/Min, wenn sich auch wirklich nichts mehr dreht.

Mit freundlichen Grüssen! Pitsch


Nach oben
   
BeitragVerfasst: Di Okt 04, 2016 7:34 am 
Offline
Site Admin
Benutzeravatar

Registriert: Mo Jan 31, 2005 9:48 am
Beiträge: 220
Wohnort: Kempten - Germany
Du kannst natürlich eine Vorqualifizierung des Messwerts vornehmen, z.B. in der Art:

Code:
IF WERT <5 THEN
   Wert2:= 0;
ELSE
   Wert2:= WERT;
END_IF


Statt dass Du dann Wert anzeigst, nimmst Du dann Wert2.

Aber wie die anderen schon geschrieben haben: Besser wäre es, erst einmal die Ursache des Verhaltens zu untersuchen, denn wenn die Skalierung korrekt ist, dann sollte angezeigte Wert schon bei 0 oder nahe daran sein.

_________________
Roland Wagner
Moderator


Nach oben
   
BeitragVerfasst: Di Okt 04, 2016 7:55 am 
Offline

Registriert: Di Aug 30, 2016 4:26 am
Beiträge: 4
Ja sowas hab ich gesucht, danke schon mal! Ich Visualisiere 3 Drehzahlen und bei allen drei wird bei 4,00 mA ca. 5-6 Umdrehungen noch angezeigt.
Die SPS ist von EATON XC201 und dazu eine Analoge Eingangskarte. Wirklich viel Geld kostet die SPS ja nicht deswegen erwarte ich da auch nicht viel von.


Nach oben
   
BeitragVerfasst: Di Okt 04, 2016 10:15 am 
Offline

Registriert: Di Aug 30, 2016 4:26 am
Beiträge: 4
Hab das Programm jetzt in ST geschrieben und mit dem IF Befehl gearbeitet, jetzt klappt es.
Jetzt hab ich aber ein neues Problem, für die Visualisierung brauche ich den Datentyp WORD.
Gibt es einen Befehl in ST um den Datentyp REAL in WORD umzuwandeln?


Nach oben
   
BeitragVerfasst: Di Okt 04, 2016 11:17 am 
Offline
Site Admin
Benutzeravatar

Registriert: Mo Jan 31, 2005 9:48 am
Beiträge: 220
Wohnort: Kempten - Germany
Klar:
Code:
REAL_TO_WORD 

Solche Konvertierer gibt es gemäß der Norm in jeder Richtung. Die Eingabehilfe (F2) unterstützt bei der Auswahl.

_________________
Roland Wagner
Moderator


Nach oben
   
BeitragVerfasst: Di Okt 04, 2016 11:19 am 
Offline
Site Admin
Benutzeravatar

Registriert: Mo Jan 31, 2005 9:48 am
Beiträge: 220
Wohnort: Kempten - Germany
Zitat:
Wirklich viel Geld kostet die SPS ja nicht deswegen erwarte ich da auch nicht viel von.

Nun, an der SPS sollte es nicht liegen. Deswegen: Eine Überprüfung der Skalierung macht sicher Sinn, auch wenn es der Workaround vielleicht auch erst einmal tut.

_________________
Roland Wagner
Moderator


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de