KL2502 - Frequenz im Register einstellen

Neals

Level-1
Beiträge
347
Reaktionspunkte
72
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Leute,

möchte gerne bei der PWM-Klemme KL2502 die Frequenz einstellen. In der Dokumentation steht, ich müsste auf das Register zugreifen und kann dort die Periodendauer einstellen.

R2: Periodendauer
Im PWM-Modus kann hier die Periodendauer für den laufenden Betrieb
vorgegeben werden. Im Anschluss an einen Power-On-Reset wird die
Periodendauer aus R35 übernommen.
PWMH-Modus, Cnt-Cnt-PWM-Modus:
1 Digit entspricht hier 1 micro Sekunde
Bsp.: 250 Hz => 4000 μs = 0xFA0
4 KHz => 250 μs = 0xFA
PWML-Modus, Frq-Cnt-PWM-Modus, Frq-Cnt-Impuls-Modus:
1 Digit entspricht 8 micro Sekunden
Bsp.: 2 Hz => 500 ms = 0xF424
200 Hz => 5 ms = 0x271

Doch wie greife ich auf dieses Register zu? Funktioniert das nur über die zusätzliche KS2000-Software? Habe den Bau
stein ReadWriteTerminalReg
gefunden, werd aber nicht so recht schlau, wie ich nun damit genau meine Frequenz einstellen kann.

Wie ist der beste Weg um auf das Register zuzugreifen und darin die Werte einzustellen?
 
Doch wie greife ich auf dieses Register zu? Funktioniert das nur über die zusätzliche KS2000-Software? Habe den Baustein ReadWriteTerminalReg
gefunden, werd aber nicht so recht schlau, wie ich nun damit genau meine Frequenz einstellen kann.
Mit KS2000 gehts einfach, kostet aber Geld.
Mit Registerkommunikation (den richtigen FB haste ja schon) gehts auch. Die Doku zum Baustein erklärt doch alles. Du must hat in dein Register den entsprechenden Wert schreiben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo! ich habe auch genau dieses Problem wie du!.
ich möchte die frequenz von mein pwm signal via Registerkommunikation ändern! und noch ein paar andere sagen .
ich habe eine Adressbereich von 104 bis 109
habe 3 Bytes Pro Kanal -> Kanal 1 --> 104-106, und Kanal 2 -->106-109
der erster Byte ist der Kontrolbyte hier AB 104 und ich habe die bits so gestezt kann das ich lesen und schreiben kann. aber beim schreiben, wird nix geändert! zb.
AB 104 = 10000011 bedeutet ich will im Reg 3 die Grundfrequenz auslesen.
wie ändere ich dann diese Grundfrequenz ist doch über AW 105 oder?? ein beispiel wäre echt hilfreich um die sachen zu verstehen

kannst du mir deine Lösung mailen oder hier deine lösung posten???
patrick2001j@yahoo.de ist meine email.

Danke.
 
Zuletzt bearbeitet:
1. An was für ner SPS betriebt ihr die Klemme?

Falls Beckhoff-SPS, dann gibt's nen Baustein dafür, der euch alle Sorgen abnimmt.
Falls ne Fremdsteuerung, dann müsst ihr die Registerkommunikation selbst basteln.
Dann muss man noch beachten, dass es teilweise ein Codewort gibt, was zunächst geschrieben werden muss, bevor einige Register geändert werden können.
... steht aber alles in der Doku!!!

http://www.beckhoff.com/download/Document/BusTermi/BusTermi/KL2502+KL2512d.pdf
(ab Seite 14)
 
Hallo! danke für deine Antwort. die klemme wird mit einer S7 betrieben. ich verstehe nicht um was für ein Baustein es sich handeln sollte.
ich will nur das einer mit den Prinzip von Reg. Kommunikation erklärt, da ich nur diese Methode zum ändern von Einstellungen habe.

die Anleitung (wie in deinem Link) hatte ich schon und der Bauteil auch...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich verstehe nicht um was für ein Baustein es sich handeln sollte.
Für die Beckhoff-Soft-SPS- "TwinCAT" gibt's einen Funktionsbaustein für die Registerkommunikation. Dann erspart man sich das lästige Bitgeshifte.

ich will nur das einer mit den Prinzip von Reg. Kommunikation erklärt, da ich nur diese Methode zum ändern von Einstellungen habe.

die Anleitung (wie in deinem Link) hatte ich schon und der Bauteil auch...
Aber es steht doch in der Doku erklärt :confused:

Zitat aus der Doku:
Wenn Bit 7 des Control-Bytes gesetzt wird, werden die ersten zwei Byte
der Nutzdaten nicht zum Prozessdatenaustausch verwendet, sondern in
den Registersatz der Klemme geschrieben oder daraus ausgelesen.

In Bit 6 des Control-Bytes legen Sie fest, ob ein Register ausgelesen oder
beschrieben werden soll. Wenn das Bit 6 nicht gesetzt ist, wird ein Register
ausgelesen, ohne es zu verändern. Der Wert kann dem Eingangs-
Prozessabbild entnommen werden.

Wird das Bit 6 gesetzt, werden die Nutzdaten in ein Register geschrieben.
Sobald das Status-Byte im Eingangs-Prozessabbild eine Quittung geliefert
hat, ist der Vorgang abgeschlossen (siehe Beispiele).

In die Bits 0 bis 5 des Control-Bytes wird die Adresse des
anzusprechenden Registers eingetragen.
Dann folgt eine Grafik und mehrere Beispiele.
Sogar der Betrieb am Profibus-Koppler ist auf Seite 17 beschrieben.
 
danke
ich habe 2 fragen:
1) ist die twincat von beckoff kostenlos?

2) a propos Reg. Komm ich habe die Anleitung gelesen aber ich schaffe es noch nicht irgendwas zu schreiben. lesen geht klar.
also z. b. ich habe wie oben die Einstellungen am AB 104 gemacht damit ich die grundfrequenz ändern kann. dann sollte ich doch am EW 105 die informations schreiben können. aber EW 105 ist 2Bytes groß. wie schreibe ich dann drin das ich mal angenommen die frequenz soll 350hz sein?

die Sache mit den ControlByte hab ich soweit verstanden. es gut um die nutzdaten also die 2 andere Byte

wenn einer das schon hatte wäre ich sehr dankbar. bin kein sps Profi!
 
1) ist die twincat von beckoff kostenlos?
Es gibt ne Demo-Version, aber wenn du ne Siemens SPS hast (mit rofibus schätze ich mal), nutzt dir das nichts da du die nötige Profibus-Hardware nicht hast.
2) a propos Reg. Komm ich habe die Anleitung gelesen aber ich schaffe es noch nicht irgendwas zu schreiben. lesen geht klar.
also z. b. ich habe wie oben die Einstellungen am AB 104 gemacht damit ich die grundfrequenz ändern kann. dann sollte ich doch am EW 105 die informations schreiben können. aber EW 105 ist 2Bytes groß. wie schreibe ich dann drin das ich mal angenommen die frequenz soll 350hz sein?

die Sache mit den ControlByte hab ich soweit verstanden. es gut um die nutzdaten also die 2 andere Byte

wenn einer das schon hatte wäre ich sehr dankbar. bin kein sps Profi!
Anscheinend meinst du mit "AB 104" Ausgangsbyte 104, richtig? Ich kenne mich mit Siemens fast nicht aus. ... nutze halt Beckhoff-SPSen. Da braucht man sich um Adresse nicht zu kümmern :ROFLMAO:

Zum Schreiben des Registers R3 musst du in das Controlbyte 11000011 schreiben, meine ich. Bit 7 = Registerkommunikation, Bit 6 = Schreiben, Bit 0 bis 5 dann die Registernummer.
Kann aber auch sein, dass du zunächst das Anwender-Codewort schreiben musst, so wie im Beispiel 2 der Doku.

Alternativ kannst du auch die KS2000 Software kaufen. Is ne Software + Programmierkabel für den Buskoppler. Dann brauchst du dich nicht mit den Registern rumquälen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
AB ist ja für mich den Ausgangsbyte 104. was du erklärt hast wüßte ich schon. habe so gemacht und die freq. ausgelesen. aber weiss das wenn ich den 6. bit auf 1 setze dann will ich auch die klemme schreiben. bsp. 1100011

geht einfach so das ich ein entsprechenden Hex wert zb bei EW 105 schreibe und wird dann dieser wert als grundfreq. für die klemme gesetzt?
bsp. und AW auf bsp EW = 15E bedeutet ich will dir freq. im Reg 3 auf 350hz haben
 
Ich verstehe dein Problem mit deinem AW und EW nicht. Um Daten zur Klemme zu übermitteln musst du selbstverständlich alles in deine Ausgangsbytes schreiben (zur Klemme hin) ... oder was ist hier faul :confused:

Zum Schreiben von "350" ins Register 3 würde ich in dein AB104 = 11000011 schreiben und gleichzeitig in AB105 und 106 den in Bytes zerlegten binären Wert "101011110". Frag mich jetzt nicht welches das High- und welches das Low-Byte ist. Das musst du selbst wissen. Probier mal AB105 = 00000001 und AB106 = 01011110.

Danach das ganze Auslesen mittels AB104 = 10000011 (AB105 und 106 genauso wie zuvor).
Dann sollte in deinen Eingangsbytes der Wert zurückgegeben werden.
 
danke! das war mein Problem
es ging darum wie ich die infos in ein Wort AW 105 Kodieren kann
ich werde es mal am Montag ausprobieren
vielleicht klappt,s ja jetzt!
danke nochmal
 
habe versucht mich so klar wie möglisch auszudrücken! und ausserdem in der seite 15 ist eine andere klemme und nicht der KL2502. (4bytes). was mich verwirrt
 
Wieso sollte in der Dokumentation der KL2502 was drinstehen, was für diese Klemme nicht gilt?
... das Prinzip der Registerkommunikation ist für alle Beckhoff-Klemmen gleich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte gerne den PWML Modus verwenden und ein Signal mit ner Frequenz von 62,5 Hz erzeugen, die Pulsweite wird ja als Duty angegeben. Duty von 100 % hieße ja, das ein reines 1 Signal anliegt. Duty von 0 währe durchgehendes 0 Signal.

Nun habe ich das Register 35 und 2 mit 2000 beschrieben, entsprechen den 16ms Periodendauer, durch 8us pro Digit. Dann schaue ich mir das Signal auf dem Osci an, das wird aber ein Sinus ausgegeben, der teilweise seine Amplitude ändert. Muss ich noch irgendein Registereintrag verändern?
 
Hast du auch zuerst im R32 den PWML-Modus aktiviert? Grundfrequenz stimmt auch?
Im PWML-Modus wird laut Doku der Prozesswert als Verhältnis von Duty-Cycle zur Periodendauer vorgegeben. Wenn du 62,5 Hz möchtest, sind das 25% von einer Grundfrequenz von 250 Hz, oder?
Ich würde dann der Klemme im PWML-Modus einen Prozesswert von 25% vorgeben, also wenn 32767 100% entspricht, wären 25% ca. 8191 dec (geht nicht genau auf), also 1FFF hex.

Ich denke mal auch dass die gewünschte Frequenz zur Grundfrequenz passen muss.
Probiert doch einfach mal verschiedene Einstellungen aus.
 
Zuletzt bearbeitet:
Zur Grundfrequenz wird in der Doku garnichts beschrieben, was besagt diese Frequenz denn aus?

Dachte ich stelle die Periodendauer ein und über die Prozessdaten wird dann das Duty eingestellt, fertig.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Anbei das Signal, welches ich bräuchte.

PWML Modus ist im Register 32 eingetragen.

Habe es so aus der Doku gelesen, dass ich die Periodendauer einstelle, mit den 16ms. 1 Digit entspricht 8 Mikrosekunden, also 2000 Digits. Daraufhin kann ich über den Duty-Cycle die Länge des High-Signals einstellen.

Das hieße, bei nem Duty-Cycle von 25% hätte ich 4ms ein High-Signal und daraufhin 12ms ein Low-Signal. Das wiederholt sich dann durchgängig, solange ich nichts in den Prozessdaten ändere.
 

Anhänge

  • PWM_Frq.png
    PWM_Frq.png
    32,4 KB · Aufrufe: 19
Zurück
Oben