Step 7 FUP FC 105

dasasch

New member
Beiträge
3
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,

mal wieder eine Anfängerfrage. Ich will auf meiner Siemens 1212c einen Analogwert einlesen. Sollte dieser Wert 2V übersteigen, dann soll das als Logisch 1 gewertet werden.
Nur leider finde ich in meinem Step 7 keinen Konverter der mir das ermöglicht. Beim googeln fand ich heraus, daß es einen FC 105 gibt, jedoch nicht bei mir. In der Spalte Anweisungen habe ich nur einen Scale_X Baustein. Dieser nimmt aber nur Real bzw. LReal Werte an. Am Analogeingang liegt jedoch ein Word an , oder verstehe ich hier grundsätzlich etwas nicht ???


PS: Ich verwende eine S7 1212C mit Step 7 Basic

Vielen Dank schon mal
Gruß
Sascha
 

Majestic_1987

Well-known member
Beiträge
270
Punkte Reaktionen
22
Du musst zunächst den Analogwert skalieren. Dazu müsste es nen Baustein namens SCALE geben. Wenn du den nicht hast, muss du die Skalierung selber errechnen:

Wert_Physikalisch = (Wert_PEW/Max_PEW)*Max_Physikalisch + Offset

Also beispielsweise: Wert kommt in 16-Bit unipolar -> Wertebereich 0-65535. Die physikalische Größe ist meinetwegen 0-100 Grad. Im PEW steht 12600 Dezimal drin.

Wert_Physikalisch = (12600/65535)*100°C + 0°C = 19.23°C

Dabei musst du natürlich den maximalen Wertebereich, der aus deiner AI-Karte kommt beachten, könnten ja auch nur effektiv 12 Bit rauskommen oder so.

Naja, dann hast du nen Wert und den kannst du natürlich beliebig mit einem festen oder variablen anderen Wert vergleichen.
 
Zuletzt bearbeitet:

volker

Supermoderator
Teammitglied
Beiträge
5.477
Punkte Reaktionen
937
Zuviel Werbung?
->Hier kostenlos registrieren
zur 12xx kann ich grundsätzlich erstmal nix sagen.
aber
1. deklariere das nicht als word sondern als int. dann funktioniert auch der cmd
2. für xscale mach aus dem int ein real (kann dir das nur sagen wie es bei ner 300/400er wäre
L IW64
ITD //int in dint wandeln
DTR //dit in real wandeln
T MD 10
3. man brauch keinen scale baustein. das ganze geht auch über einen normalen dreisatz.
wenns wie bei ner 300er ist, dann hast du bei 10V 27648 Einheiten im IW
2V wären also 27648 / 10V * 2V = 5529,6

nun einfach den cmd nehmen.
 

wolder

Well-known member
Beiträge
549
Punkte Reaktionen
78
Bilder sagen oft mehr als 1000 Worte.

Du musst als erstes deinen analogen Wert normieren zwischen 0-27648 (0-10V) und den als Real ausgeben.
Dann mit dem Scale diesen Real auf deine Größe, in diesem Fall auf 0-100%, skalieren.

Viel Spaß und schöne Grüße

Wolder
 

Anhänge

  • scale.JPG
    scale.JPG
    16,6 KB · Aufrufe: 52

Marvin.Orthaus

New member
Beiträge
2
Punkte Reaktionen
0
analogwert.PNG
Hallo ich hab da auch ein Problem,
Beim Laden in die CPU leuchtet die rote "SF" LED.
Darf ich den FC105 überhaupt in den FC1 Baustein verbauen?
Und will ich HI_LIM bzw. LO_LIM ändern zeigt er mir nur "Compiler Information: Typkonflikt" an.
Mache gerade meinen Techniker und die Analogverarbeitung is Teil eines Projektes.

Falls mir jemand helfen kann danke ich im vorraus schon einmal :)
 

Marvin.Orthaus

New member
Beiträge
2
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Anhang anzeigen 20771
Hallo ich hab da auch ein Problem,
Beim Laden in die CPU leuchtet die rote "SF" LED.
Darf ich den FC105 überhaupt in den FC1 Baustein verbauen?
Und will ich HI_LIM bzw. LO_LIM ändern zeigt er mir nur "Compiler Information: Typkonflikt" an.
Mache gerade meinen Techniker und die Analogverarbeitung is Teil eines Projektes.

Falls mir jemand helfen kann danke ich im vorraus schon einmal :)
 
Oben