Step 7 Verständnissfrage schnelle Zähler und SFB48

Pockebrd

Level-1
Beiträge
327
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
bin momentanmit einer CPU 314C-2PN/DP beschäftigt.
Ich hab andem schnellen Zählereingang ein Ingremental Geber angeschlossen und verwendefür die Auswertung den „SFB 48 Frequenzcy“.
In derHW-Konfig hab ich die DI24/DO16 mit den Adressen 800…809(Systemvorgabe)adressiert.
An demSteckplatz / Eingänge ist der Geber ja dort Hardware seitig angeschlossen.
Den Zählerhab ich im HW-Konfig mit den Adressen 816..831 (Systemvorgabe) adressiert.
Nun eineVerständnis Frage.
Beim Aufrufvon SFB 48 muss ich „LADDR“ mit der Adresse bzw. W#16#300 belegen.
Was hat esdenn mit der Hex Zahl 300 auf sich ? Ich sehe hier kein logischen Zusammenhang mit den konfigurierten Adressen.
ZweiteFrage, kann ich den SFB auch für „normale“ Digitale Eingänge verwenden ?
Um z.B. mitzwei Inis eine vorwärts oder rückwärtsBewegung oder Frequenz auszuwerten ?

Gruß Markus
 
Adress 816 ist Hex W#16#330. Wenn sie probleme hast mit unsetzen van INT nach HEX kunte sie ein TEMP var z.b mit Name Ladder Declareren von type WORD und in fur das sie SFB48 anruffe geben sie dieser code ein:
L 816 //anfang adresse
T Ladder. // WORD mit HEX 0330

Bie die SFB 48 geben Sie bei Ladder "#Ladder" Ein (ohne " ").

Joop
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn sie probleme hast mit unsetzen van INT nach HEX
Der Windows Taschenrechner kann in der wissenschaftkichen Ansicht ebenfalls die Umrechnung übernehmen:



So muss man das nicht zwingend in jedem Zyklus "umrechnen" (laden & transferieren) lassen.
 
Ich weiß jetzt nicht wo Du die 800... her hast, die Standard/Systemvorgabe der E/A-Adressen für die Zählfunktionen ist 768..783 = 16#300..16#30F. Von daher kommt die LADDR W#16#300. Wenn Du den technologischen Funktionen andere Adressen gibst, dann mußt Du eben die von Dir vergebenen Adressen hexadezimal angeben.

Den SFB48 kann man nicht für "normale" Digitaleingänge verwenden sondern nur für einige in der CPU integrierte Digitaleingänge, und da auch nur bestimmte Eingänge/Kombinationen.

Vorwärts-/Rückwärtszählen ist möglich.

Du solltest Dir folgende Handbücher ansehen, da ist inklusive Beispielprogramme alles genau erklärt:
SIMATIC S7-300 Erste Schritte zur Inbetriebnahme CPU 31xC: Zählen
SIMATIC S7-300 Automatisierungssystem S7-300: Getting Started CPU 31xC: In Betrieb nehmen
SIMATIC S7-300 CPU 31xC Technologische Funktionen
SIMATIC S7-300 CPU 31xC und CPU 31x: Aufbauen
SIMATIC S7-300 CPU 31xC und CPU 31x: Technische Daten

Harald
 
Hallo,
das mit dem Übersetzten in Hex ist klar.
Aber meine Systemvorgaben sind 816 und Hex 300. Siehe Anhang.
Das passt doch eigentlich nicht, oder ?

Gibt es dann solch ein Baustein für "normale" Eingänge ?

Markus



Unbenannt.jpgUnbenannt1.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber meine Systemvorgaben sind 816 und Hex 300. Siehe Anhang.
Wer sagt denn, daß Du an den SFB48 bei LADDR W#16#300 dranschreiben MUSST?
Wenn Deine Zählfunktion auf Adresse 816 parametriert ist dann mußt Du eben die 816 als W#16#330 angeben.
Die Baustein-Hilfe zum SFB48 sagt ziemlich klar:
LADDR INPUT WORD

Wertebereich
CPU-spezifisch

Vorbelegung
W#16#0300

Beschreibung
E/A-Adresse Ihres Submoduls, die Sie in "HW-Konfig" festgelegt haben.
Sind E- und A-Adresse nicht gleich, ist die kleinere der beiden Adressen anzugeben.

Warum fragst Du wieder nach "Baustein für "normale" Eingänge"? Was willst Du eigentlich machen? Erzähl mal mehr. Wie schnell ist Dein Gebersignal?

Langsame Signale kann man mit normalen Eingängen mit selbstgeschriebenem Code verarbeiten, eventuell ist auch eine Verarbeitung im Prozessalarm OB40 möglich.

Harald
 
Hallo,
Ich habe in der Anleitung zu "Erste Schritte zur Inbetriebnahme S7 300 : Zählen" gelesen dass es eine CD mit einem Beispielprojekt geben soll. Gibt es das auch als Download? Mich würde das Beispiel interessieren.
 
Zuletzt bearbeitet:
Zurück
Oben