Analog Wert Verarbeitung

arkeq

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich besuche seit einem halben Jahr die Techniker-Schule, habe aber bis jetzt noch fast keine Erfahrung in der Regelungstechnik.

Hab auf der Arbeit jetzt ein bisschen Zeit mit Codesys und Wago IO rum zuspielen.
Wollte eine kleine Steuerung entwerfen.
Ein Heizlüfter soll eingeschaltet werden, wenn eine bestimmte Temperatur unterschritten wird.
Mein Equipment: Wago 750-841, AI-Karte, DO-Karte, Temeratürfühler 4-20mA.
Hab das auch alles schon soweit in Codesys programmiert, nun steh ich vor dem Problem das der Fühler mir "Werte" liefert, mit denen ich nichts anfangen kann.
Der Variablen Typ ist Word und er zeigt immer Werte so um die 12.000 an.
Woher weiß ich jetzt wie dort die Skalierung ist??


Gruß
 
Dokumentation lesen?

Was steht denn in der Dokumentation zum Temperaturfühler? 4-20mA ist eine Strom-Angabe, dazu gehört eine Temperaturkurve, die Du nur in der Doku findest. Ansonsten ist es so: 4mA = 0 und 20mA = 32768.
 
Und jetzt musst Du die Doku nur noch lesen...

Also ich habe mal schnell gerechnet, Dein Temperaturfühler zeigt 18,3°C an.

Hilfestellung: "Dreisatz"
 
Danke für deine Hilfe. Du hast mir gut weiter geholfen.
Aber woher weiß man den dass 20mA - 32768 ist?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ähh - kleiner Fehler von mir: 32767

Das steht in der Doku zur Wago-Klemme. Meistens ist es aber so, dass die Klemmen im Prozessabbild einen 16-Bit Integer abbilden. Der geht von -32768 bis 32767. Und das bedeutet: unipolare (positive) Messwander nutzen den positiven Wertebereich je nach Eingangswert voll aus und bipolare (z.B. -10..10V) den gesamten Bereich (positiv und negativ).
 
Ahh cool Danke.
Ich habe noch eine andere Frage vielleicht kannst du mir da auch weiterhelfen.
Angenommen ich habe zwei Wago SPSs (750-841) im Einsatz. Diese sind über Ethernet mit einander verbunden. bzw. in einem gemeinsamen Netzwerk.
Jetzt möchte ist von der Wago B auf einen Merker auf der Wago A zugreifen. Ist dies möglich???
Wenn ja wie?
 
Ja, das geht. Die Technologie ist die Frage. Also ich bin eher auf der Beckhoff und Siemens-Schiene unterwegs. Beckhoff und Wago hatten mal einen gemeinsamen Anfang, wesshalb sich die Geräte heute noch sehr ähnlich sehen. Wago baut die Gehäuse für Beckhoff.

Wenn es eine Beckhoff-Steuerung wäre, würde ich eine ADS-Kommunikation aufbauen und eine gemeinsame Struktur synchronisieren (hin und her schicken) - Ich weis nicht, ob Wago da was Ähnliches hat.

Ansonsten geht immer die Verbindung über TCP/UDP. Das heist, du öffnest auf einer Steuerung einen Port und sendest von der anderen Steuerung einen Protokoll-String an genau diesen Port. Dann wertet die Steuerung die Anforderung aus und sendet einen Protokollstring zurück. Wie der Protokollstring aufgebaut ist, bleibt Dir überlassen - aber es haben sich einige Standards gebildet. Am Ende ist nur wichtig, das die beiden Steuerungen sich untereinander verstehen. Der Vorteil dieser Kommunikation ist, das man praktisch alle Fremd-Fabrikate, die TC/UD-Protokolle empfangen können, so miteinander verbinden kann. (Inklusive Windows-PC's). Der Nachteil ist, die Festlegung und Umsetzung des Protokolls ist ein wenig aufwendig.

Es gibt aber bestimmt noch einen anderen Weg - vielleicht kann hier ein Wago-Kundiger noch was dazu sagen. (Oder mal die Suche-Funktion nutzen)
 
Danke für die Antwort. Ihr seid echt klasse hier im Forum.
Werde es morgen mal ausprobieren, sieht ja garnicht so kompliziert aus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen,

ich habe noch eine Frage an euch.
Und zwar möchte ich eine Division in meiner SPS durchführen.
Verwende dazu den Bausteine DIV.
Und habe in wie folgt belegt:

50
32767

Das Ergebnis soll ich eine Variable geschrieben werden.. Aber es klappt einfach nicht ich weiß nicht wie ich die Variable deklarieren soll.
Könnt ihr mir weiterhelfen?
Wie gesagt ich bin noch ein blutiger Anfänger werde es bald eine Schulung besuchen.

Vielen Dank und schönen Gruß
 
Definiere bitte "Klappt nicht"!
Ist das Ergebnis falsch? Wird die Rechnung garnicht ausgeführt? Gibt es eine Fehlermeldung beim Kompilieren?

Der Block ist doch ganz einfach. 2 Variablen bzw feste Werte eines beliebigen nummerischen Typs als Eingang und eine Variable als Ausgang.
Bei Division sollte man vieleicht alle Variablen als REAL deklarieren um Rundungen zu vermeiden. Gerade in deinem Fall, bei dem das Ergebnis ja < 1 ist.
 
Mein Ergebnis ist gleich 0. Die Variable habe ich als REAL deklariert.
Und die Werte 50 und 32767 einfach an den Baustein geschrieben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Klar. Die Zahlen 50 und 32767 werden ja auch als Integerwerte interpretiert und das Ergebnis deswegen auch ohne Nachkommastellen ausgegeben.

Verwende einfach 50.0 und 32767.0 dann rechnet die SPS auch mit Real-Werten und alles wird gut.
 
Zurück
Oben