PWM setzt Ausgang

Domi55

Level-1
Beiträge
111
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich hab da mal ein Problem! Ich erzeuge ein PWM Signal und gebe es an einen Digitalen Ausgang aus! A125.6! Das funktioniert! Aber gleichzeitig mit ein wenig zeitlicher Verzögerung schaltet der Ausgang A124.0! Obwohl ich diesen nicht ansteuere! Habe mit "Gehe zu" überlappende Zugriffe schon alles gecheckt! Habe den Ausgang auch schon auf Low gesetzt! Schaltet aber trotzdem! Was kann da los sein? Ausgangskarte ist nicht kaputt!

Danke schonmal!
 
Ich erzeuge ein PWM Signal und gebe es an einen Digitalen Ausgang aus! A125.6! Das funktioniert! Aber gleichzeitig mit ein wenig zeitlicher Verzögerung schaltet der Ausgang A124.0! Obwohl ich diesen nicht ansteuere!
Tritt das Problem immer oder nur sporadisch auf?
Habe mit "Gehe zu" überlappende Zugriffe schon alles gecheckt! Habe den Ausgang auch schon auf Low gesetzt! Schaltet aber trotzdem!
- Eventuell indirekte Adressierung.
- Eventuell Ansteuerung durch das Panel.
- Kannst du feststellen in welchem Programmteil der Ausgang angesteuert wird?
- Da du den Ausgang offensichtlich nicht verwendest kannst du vor jedem Bausteinaufruf den Ausgang auf Low setzen und beobachten welcher Baustein der Übeltäter ist, sprich nach welchem Baustein der Ausgang wieder High ist.
Alarm-/Weck-OB's dabei nicht vergessen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich hab da mal ein Problem! Ich erzeuge ein PWM Signal und gebe es an einen Digitalen Ausgang aus! A125.6! Das funktioniert! Aber gleichzeitig mit ein wenig zeitlicher Verzögerung schaltet der Ausgang A124.0! Obwohl ich diesen nicht ansteuere! Habe mit "Gehe zu" überlappende Zugriffe schon alles gecheckt! Habe den Ausgang auch schon auf Low gesetzt! Schaltet aber trotzdem! Was kann da los sein? Ausgangskarte ist nicht kaputt!

Danke schonmal!

Wie schreibst du Ausgang, oder wird etwas zugewiesen?
Dem Programmauszug kann ggF das Geheimnis entlockt werden. :p


bike
 
Ein Blick in das richtige Handbuch verrät:
Die technologische Funktion "Pulsweitenmodulation" der 31xC-CPUs benutzt fest den A124.0 als Ausgang des PWM-Kanals 0.

Das kann man nicht ändern, das ist in der CPU-Elektronik intern fest so verdrahtet. Dadurch ist es möglich, asynchron zum OB1-Zyklus
kurze und exakte Ausgabeimpulsfolgen zu erzeugen.

Es ist nicht nötig, das Signal STS_DO des FB49 separat an einen Digitalausgang zu legen. Außerdem wird die PWM-Impulsfolge
an diesem extra-Digitalausgang durch die OB1-Zykluszeit verfälscht.

Siehe Betriebsanleitung S7-300 CPU 31xC Technologische Funktionen Kapitel 5.2.2 Anschlussbelegung

Zusätzlicher Hinweis aus diesem Handbuch:
Warnung
Wenn Sie die Pulsweitenmodulation verwenden, muss der dem Kanal entsprechende
Eingang "SpurB/Richtung" unbeschaltet bleiben bzw. logisch 0 anliegen.
Das wäre bei der Standard-Adressvergabe für den Kanal 0 der E124.1.

Programmbeispiel für die Verwendung der integrierten Funktion "Pulsweitenmodulation" der S7 CPU 31xC

Harald
 
Ein Blick in das richtige Handbuch verrät:
Die technologische Funktion "Pulsweitenmodulation" der 31xC-CPUs benutzt fest den A124.0 als Ausgang des PWM-Kanals 0.


Hast du eine Glaskugel der besonderen Art auf dem Schreibtisch stehen?
Also auf diese Idee, dass es an der CPU liegen könnte wäre ich nie gekommen.
Ich habe gedacht, dass er ein Programm geschrieben hat, der das PWM Signal erzeugt. :confused:


bike
 
Habe ein neues Problem mit der PWM.
Ich habe das Beispiel von Siemens genommen aber die PWM in den OB35 gelegt und nicht in den OB 1! Jetzt taktet diese nicht! Obwohl dich das Gate steuere und einen Wert von 27648 als Wert! Nur nichts mit einem PWM Signal. Soll ich den Baustein wieder in den OB1 schieben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe das Beispiel von Siemens genommen aber die PWM in den OB35 gelegt und nicht in den OB 1!
Warum? Was hast Du Dir dabei gedacht? Was soll das bringen?
Die PWM-Impulse werden von separater Elektronik mit eigenem Zeittakt unabhängig vom zeitlichen Aufruf oder nicht-Aufruf des SFB49 erzeugt. Das SPS-Programm kann nur mit Steuer-Jobs die Timing-Parameter steuern.
Meinst Du das Siemens-Beispiel, welches ich in #4 verlinkt habe?

Jetzt taktet diese nicht!
Hat sie denn beim originalen Aufruf im OB1 getaktet?
Gibt es irgendwelche Fehleranzeigen (BIE, JOB_ERR, JOB_STAT, FB3.Error_number, CPU-Diagnosepuffer, SF-LED)?

Obwohl dich das Gate steuere und einen Wert von 27648 als Wert! Nur nichts mit einem PWM Signal.
Meinst Du mit dieser Wortfolge, Du gibst 27648 an OUTP_VAL des SFB49 bzw. an Output_value des Siemens-FB3?
27648 bedeuten 100% Einschaltdauer, da wird wohl kaum was pulsen.

Soll ich den Baustein wieder in den OB1 schieben?
Ja, WENN es im OB1 funktioniert hat. (hat es?)

Dem SFB49 ist es laut Handbuch anscheinend egal, ob er im OB1 oder OB35 aufgerufen wird, hauptsache zyklisch. Es ist nicht zulässig einen SFB im OB1 und denselben SFB im Alarm-OB aufzurufen. Ich würde den SFB49 im OB1 aufrufen, es sei denn, es besteht eine Notwendigkeit, PW-Änderungen in irgendeinem Zeitraster vorzunehmen. Doch selbst da gibt es Hinweise im Handbuch, daß Parameteränderungen zur Unzeit die Genauigkeit verschlechtern. Willst Du Dein PWM-Signal auf irgendwas synchronisieren?

Ich habe den Eindruck, wenn die PWM-Ausgabe wirklich nicht funktioniert, daß daran irgendwie Dein um-das-Beispiel-drumrum-Programm "schuld" ist. Erzähl doch mal mehr was Du machst oder machen willst.

Harald
 
Zurück
Oben