S7-200 und Analog Eingänge

MRT

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

Ich möchte über einen Drucktransmitter (4-20mA)ein Ausgang schalten, bei 5 mA ein und bei 19mA aus, wie mache ich das? Und wie sieht das mit Adressen aus, wenn ich z.B.: auf der CPU 8 DE habe und auf der Baugruppe 4 AE ist dann der erste AE E1.0 oder? Und kann man für Drahrbruch auch irgendwas machen, vielleicht unter 3,5 mA?

Schon mal vielen dank im voraus!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

@Der Nörgler

Danke für deine schnelle Hilfe!
Ich habe mir das von Siemen s jetzt runtergeladen, hilft mir aber auch nicht viel weiter! Da gibts zwar mit PT 100 und Thermoelemente aber mit dem kann ich auch nichts anfangen!
 
Hallo!

Und für was zum Teufel ist beim Setzen und rücksetzen die Zahl hinter dem komma?

ld e0.0
s a0.0, 0

Muss man da für a0.0 0 dazu schreiben oder wie?
 
Die Zahl gibt an wie viele Bit's Du ab der Adresse setzen oder rücksetzen willst.

zB

LD E0.0
S A0.0, 7 -> Von A0.0 bis A0.7 alle gesetzt

Wenn Du nur A0.0 setzen willst einfach nur eine Ax.x ,1 schreiben


Die Operationen Setzen (S) und Rücksetzen (R) setzen (schalten ein) oder rücksetzen (schalten aus) die angegebene Anzahl Eingänge bzw. Ausgänge (N) mit Beginn an der angegebenen Adresse (Bit). Sie können zwischen 1 und 255 Ein- und Ausgänge setzen bzw. rücksetzen.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schau mal unter Regelung der erste Tipp

Skalieren von Analogwerten "Tip 38"

Kategorie: Regelung
Besondere Hardware-Voraussetzungen:
Analogmodul EM235
Einstellungen DIP-Schalter:
1: ein
3: aus
5: aus
7: ein
9: aus
11: aus

Projekt Beispiel

Tip drucken

Dieses Programm liest einen Analogwert aus einem der Analogeingänge der S7-200 CPU und liefert den Ausgangswert XA in einem vom Anwender skalierten Bereich. Alle erforderlichen Parameter müssen im Initialisierungsteil des Programms mit Werten versorgt werden. Folgende Variablen betreffen die Skalierungsformel:

Ov = skalierter Ausgangswert
Iv = Analogeingangswert
Osh = oberer Grenzwert der Skale für den skalierten Ausgangswert
Osl = unterer Grenzwert der Skale für den skalierten Ausgangswert
Ish = oberer Grenzwert der Skale für den Analogeingangswert
Isl = unterer Grenzwert der Skale für den Analogeingangswert

Die Skalierung kann in folgendem Diagramm dargestellt werden:



Folgende Formel läßt sich aus dem Diagramm zur Berechnung des skalierten Werts ableiten:

Ov = [(Osh – Osl) * (Iv - Isl) / (Ish – Isl)] + Osl

Die Formel kann auch folgendermaßen dargestellt werden:

Ov = {[(Osh - Osl) / (Ish - Isl)] * (Iv - Isl)} + Osl


Gruß
 
@MCerv :

Hm, habe das mal vorhin überflogen, vielleicht habe ich einen Denkfehler zu später Stunde.
Wenn ich pos. und neg. Flanken am Zähleingang zulasse, dann kommt der Baustein doch über 0 oder 1 nicht hinaus, oder :confused:
Abhilfe wäre da ein zweiter Zähleingang, einer für pos., eine für neg. Flanken, oder ?

Grüsse

Für die negative Richtung gibt es einen separaten Richtungseingang "negativ_Zaehlen", mit "nur_pos_Flanken_zaehlen" kannst Du wählen, ob Du vom "Zaehlimpuls" nur den pos. oder auch den negativen Flankenwechsel erkennen und zählen möchtest! Der Zähler ist aufgrund besonderer Umstände entstanden, er ist nicht direkt mit nem S5- oder IEC-Zähler zu vergleichen. Dennoch nutzte ich Ihn gern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@MCerv

Hi Michael, hast du heute morgen die "themenübergreifende" Arbeitsweise eingeschaltet ? :ROFLMAO:

Danke und Gruss


P.S. deine Antwort gehört in den anderen Thread !
 
Zuletzt bearbeitet:
über Zielsystem information, bekommst du auf jeden Fall deine Adressierung der Analogen herausgefunden.
Der Analogwert ging bei dem 200ér System glaube bis 32000, den Dreisatz zum linearisieren bekommst du hin.
Ich glaube außerdem, daß man auf den Erweiterungsmodulen mit Hilfe eines Dipschalters eine Drahtbrucherkennung aktivieren konnte.

gruß Thomas

anbei ein bei uns laufendes Programm, vielleicht ein bissel aufgebläht, aber mit vielen Analogverarbeitungen
Anhang anzeigen 211330NBA3060a21.zip
 
Hi MRT,

wie immer wäre es hilfreich, wenn man wüßte, was für eine CPU Du benutzt, also mit integrierten Analogeingang oder ein separates Modul.
Danach richtet sich das analoge Eingangswort AEW, das Du benutzen mußt, und ggf. ob bzw. welche Parametrierungen der Hardware vorgenommen werden müssen.
Ansonsten erfolgt die Verarbeitung genau wie bei der S7-300 - Wert auslesen, ausgelesen Wert auf Deinen Wertebereich skalieren, mit Deinen Vorgaben vergleichen und dementsprechend im Programm reagieren.

Zum Skalieren gibt es (wie Du oben schon gesehen hast) von Siemens die fertigen Bibliotheken, die man einbinden kann.
Ich hatte mal Glück, da reichte bei mir zum Skalieren eine einfache Division des AEW durch 4. :)

Ansonsten geht der Analogeingang immer von 0mA=0 bis 20mA=32000. Das bedeutet, je mA 1600 Digits.
Fängt Dein Sensor erst bei 4mA an, ist Dein kleinster Wert 4mA=6400. Alle Werte darunter stellen dann einen Drahtbruch dar.

...
Ich möchte über einen Drucktransmitter (4-20mA)ein Ausgang schalten, bei 5 mA ein und bei 19mA aus, wie mache ich das?
...
Da Du direkt die mA für Deine Schaltvorgänge angegeben hast, brauchst Du eigentlich nicht groß skalieren:
5mA *1600 = 8000 für die 1.Schaltschwelle
19mA * 1600 = 30400 für die 2. Schaltschwelle
Ist der Wert innerhalb, ist Dein Ausgang ein.

Im einfachsten Fall also so:
Code:
LDW>=   Sensor:AEW0, 8000
UW<     Sensor:AEW0, 30400
=       A0.0


Plus Drahtbruch:
Code:
LDW<   Sensor:AEW0, 6400
=      Drahtbruch:V0.0
AEW und A und Speicherort für den Drahtbruch (V oder M oder sonstwo) noch auf Deine Bedürfnisse anpassen - und fertsch.
 
Zuletzt bearbeitet:
Zurück
Oben