Skalieren mit FC105

Caleb85

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin neu hier und habe Fragen zur Funktion FC105. Ich stehe vor der Aufgabe mehrere physikalische Größen, die als analoge Eingangssignale in die SPS eingelesen werden, zu skalieren. Die Aufgabe möchte ich mit der Funktion FC105 durch Aufruf eines FBs im OB1 verwirklichen. Kann mir jemand bei der Umsetzung vielleicht helfen und mir sagen, was ich zu berücksichtigen habe? Bis jetzt war es mir nur möglich ein vorläufiges Programm zu schreiben, bei dem ich nicht weis, ob es überhaupt funktioniert. Simulationsmöglichkeiten habe ich leider nicht.

Durch den Aufruf "Call FB1" im OB 1 möchte ich die physikalischen Größen in jeweils dazu vorgesehenen Netzwerken anhand der Funktion FC105 kalibrieren, sodass diese für weitere Funktionen zu Verfügung stehen.

schon mal jetzt vielen Dank
 
1. Nicht vergessen, den FC105 in die SPS zu laden
2. Baustein im Netzwerk einfügen, markieren und die Taste "F1" drücken. In der Hilfe findet man alles
3. Fragen konkret stellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Überlegen wo die Ergebnisse stehen sollen DB, Merker, . . .

Diese Bereiche vielleicht mal Symbolisch entsprechend beschreiben.

Dann ruf mal zum testen keinen FB auf sonder bau das mal in einen FC ein.

Auf den Eingang dann dein PEW

min, max angeben, Prositiv oder +/- Angeben

Ausgang auf deinen Ausgabebereich

fertig :sm17:
 
erstell ein neuen FC!
In diesen bindest du den FC105 ein.
Am Eingang IN setzt du das PEW ein (INT) das einen Bereich von (0-27648 oder -27648- (+27648)) hat.
HI Limit setzt du z.B auf 100 und Low limit auf 0.
AM Eingang Bipolar must du eine 0 für den Bereich(0-27648) oder eine 1 für (-27648- (+27648)) einsetzen.
Am Ausgang wird dein Eingangswert auf auf deine Limits skalliert.

Nur noch das ganze in die CPU übertragen und die neu erstellt Funktion im OB1 einbinden

BSP: Unipolar (0-27648)

Hi Lim 100
LoLim 0
In 13824

Out = 50

mfg shainax
 
Hallo zusammen,

erstmal vielen Dank an euch alle, dass ihr mir so zahlreich geschrieben habt. Meine Situation ist folgende:

Das erste und letzte mal hatte ich vor fast zehn Jahren SPS Unterricht. Von daher darf ich froh sein, dass ich SPS überhaupt buchstabieren kann. Kurz um ich bin auf dem Gebiet ein absoluter Härtefall, der umfassende Hilfe braucht. Ich habe mich nochmal an die Software gehängt und mal versucht ein vorläufiges Programm zu schreiben. Prinzipiell geht es mir nur darum, ein lauffähiges Programm zu schreiben, mit dem ich eine oder mehrere Größen skalieren und anschließend einen Durchschnitt bilden kann. Geschafft habe ich bis jetzt nur den FC1 in dem ich die Funktion FC105 aufrufe. Meine bisherigen Ergebnisse befinden sich im Anhang.

Folgende Fragen beschäftigen mich bei der Programmierung:

Wie muss ich im OB1 den entsprechenden FB, DB oder FC aufrufen?
Wie muss ich den BIPOLAR bzw. UNIPOLAR Eingang setzen?
Wie muss ich bei der Skalierung vorgehen BIPOLAR oder UNIPOLAR?
Wie unterscheiden sich BIPOLAR und UNIPOLAR konkret voneinander (Hilfemenü und Herstellerunterlagen habe ich bereits gelesen)
Wie gelangen die Eingangsgrößen in die Merkerwörter?
Wo und wie lege ich Grenzen bzw. die eigentlichen Grenzwerte fest?
Wie kann ich aus den skalierten Größen anschließend Durchschnittswerte erfassen?
Wie setze ich die Durchschnittsbildung in die Realität um?


Kann mir vielleicht jemand an einem einfachen Beispielprogramm die Programmierung eines funktionstauglichen SPS-Programms erklären?

Ich sage nochmals vielen vielen Dank!
 

Anhänge

  • Scan_Pic0018.jpg
    Scan_Pic0018.jpg
    331,6 KB · Aufrufe: 112
  • Scan_Pic0019.jpg
    Scan_Pic0019.jpg
    422,2 KB · Aufrufe: 121
Zuviel Werbung?
-> Hier kostenlos registrieren
Analog1.jpgHabs mal versucht in ne grafik zu packen. Kann dir auch eine Beispielaufgabe mit Lösung geben. Damit lernens meine Schüler ;)...

einfach hier ne PN mit deiner Mail .. dann schick ich dir was.
 
Du versuchst scheinbar den FC105 für etwas zu verbiegen, was er nicht leisten soll. Mit Durchschnittsbildung hat das nichts zu tun.

Analogeingangswerte z.B. 0 bis 10V oder 0-20mA werden in der Steuerung mit Werten von 0-27648 abgebildet.

BIpolar = z.B.: -10V bis +10V
UNIpolar = z.B.: 0 - 10V

Bsp. Unipolar: Am IN befindet sich also der Analogeingang. Der Baustein skaliert den Ausgangswert (linear) so, dass bei 0 am "IN" der Wert "LO_LIM" bzw. bei 27648 der Wert "HI_LIM" ausgegeben wird.
 
Folgende Fragen beschäftigen mich bei der Programmierung:

1. Wie muss ich im OB1 den entsprechenden FB, DB oder FC aufrufen?
2. Wie muss ich den BIPOLAR bzw. UNIPOLAR Eingang setzen?
3. Wie muss ich bei der Skalierung vorgehen BIPOLAR oder UNIPOLAR?
4. Wie unterscheiden sich BIPOLAR und UNIPOLAR konkret voneinander (Hilfemenü und Herstellerunterlagen habe ich bereits gelesen)
5. Wie gelangen die Eingangsgrößen in die Merkerwörter?
6. Wo und wie lege ich Grenzen bzw. die eigentlichen Grenzwerte fest?
7. Wie kann ich aus den skalierten Größen anschließend Durchschnittswerte erfassen?
8. Wie setze ich die Durchschnittsbildung in die Realität um?

1. Im OB1 muss dein FC1 aufgerufen werden, sonst nichts.
2. Hängt von deinem Eingangssignal ab, wenn du z.B. +/- 10V als Eingang hast, dann TRUE, z.B. bei 0-20mA FALSE
3. siehe 2
4. Unipolar LO_LIM bezieht sich auf ein IN von 0, Bipolar LO_LIM bezieht sich auf einen IN von -27648
5. Gar nicht, deshalb sollst du ja das PEW des entsprechenden Eingangs verwenden, alternativ mit L / T bzw. Move
6. LO_LIM / HI_LIM werden anhand deines Messgeräts festgelegt, Grenzen durch Vergleicher z.B. CMP <R des skalierten Wertes
7. Indem du dir eine entsprechende Funktionsbaustein schreibst, das ist im Moment aber noch meilenweit von deinen Kenntnissen entfernt,
du solltest dich erst mal ein wenig mit den Datentypen und deren Adressierung befassen.

Eine wichtige Sache noch, deine Adressierung stimmt so nicht!
MD0 = MW0 - MW2 = MB0 - MB3
Wie du also erkennen kannst überschneiden sich deine Adressen.

Als Formsache versucht man Worte / Doppelworte immer auf gerade Adressen zu legen, also MW0, MD4 ...

Mfg
Manuel
 
Zuletzt bearbeitet:
Zurück
Oben