Regelung mit WinCC

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich versuche mich seit kurzem an WinCC.

Jetzt habe ich versucht eine Regelstrecke (eine Art von Behälterfüllanlage) zu realisieren.

In Step 7 habe ich den FC105 (Scale) um den Istwert in einem MD zu schreiben, FC106 (Unscale) für den Sollwert zur Peripherie.

Als Regelung habe ich den FB41 (CONT_C) aus dem Standart Libary eingesetzt.

Das hauptsächliche Problem ist folgendes,...
...der von dem FC105 ausgegebene Wert wird korrekt von 0-100 beim 'Beobachten' unter Step 7 angezeigt.
Ich habe einen MD an den OUT gesetzt.

Wenn ich nun diesen Wert in WinCC einfüge, bekomme ich eine 9 oder 10 Stellige Zahl angezeigt, wodurch sich das Ganze nicht Regeln lässt.

Vielleicht weiß ja jemand bescheid, und kann mir helfen,...
...oder jemand hat einen Vorschlag, wie man's ganz anders machen könnte,...

...würde mich auf jedenfall über jede Antwort freuen. :lol:


Mit freundlichem Gruß

Stephan Köster

--
stephan-koester@t-online.de
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi KaffeeSaufenderKamin

habe die Variable als vorzeichenlosen 32 BIT Wert deklariert
und "DWORD to UNSIGND DWORD" eingestellt.

Was meinst du mit IEE 754?

Stephan
 
Dachte der Ausgang wäre REAL, hab aber gerade mal nachgesehen und er ist INT. Also kommt da ein Wort dran und kein Doppelword.

:oops: Sorry, hatte nur MD gelesen und mit dem FC106 arbeite ich nie, dafür hab ich selber schon Bausteine die flexibler sind und direkt eine unbegrenzte Anzahl an Kanälen erfassen und wandeln.
 
:roll: So ein mist, schon wieder nicht richtig gelesen ( naja, schon 13 Stunden in der Firma ).

Du meintest den FC105 ( nicht 106 ).
Hier ist der Ausgang doch REAL und das MD stimmt schon. Dann musst du aber in WinCC die einstellung der Variablen so machen wie in meinem ersten Posting. Du hast sie im Moment als 32Bit ( DWORD ) deklariert, somit hat sie keine Kommastelle !!!!!!
Mach mal eine Variablentabelle auf und sehe dir das MD mal als DWORD und als REAL an. In der Zeile mit DWORD wird die gleiche falsche Darstellung wie unter WinCC sein.

So, und jetzt wird Feierabend gemacht :lol:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann Danke ich dir schonmal für die schnelle Antwort,

dein Feierabend sei dir gegönnt!!!

Werds morgen früh sofort ausprobieren.

Ich will noch kurz meine Beschaltung des PID-Reglers posten,
um sicher zu gehen, das ich nichts vergessen hab:

FB41 (CONT_C):

EN: True
PVPER_ON: True
CYCLE: T#1s
SP_INT: Sollwert von WinCC als MD
PV_PER: PEW512 (Analog Eingang SPS)
LMN: MD auf IN von FC 106 (UNSCALE)


FC 105 (SCALE):

EN: True
IN: PEW512 (Analog Eingang SPS, Istwert)
HI_LIM: 1.000000e+002
LO_LIM: 0.000000e+000
BIPOLAR: True
OUT: Istwert als MD nach WinCC zur Dynamischen Füllstandsanzeige

FC 106 (UNSCALE):

EN: True
IN: LMN von FB41 (CONT_C)
HI_LIM: 1.000000e+002
LO_LIM: 0.000000e+000
BIPOLAR: True
OUT: PAW 512 (Analog Ausgang SPS, Stellgröße)



Du weißt nicht zufällig wo man gute Dokumentationen finden kann, die für einen guten Einstieg taugen, also auch verständlich geschrieben sind?


Stephan
 
Anonymous schrieb:
Was meinst du mit IEE 754?
Nur zur Aufklärung, falls nötig: IEE754 ist eine Norm zur Darstellung von Gleitkommazahlen. Sie wird in der S7 verwendet, aber auch von Intel Prozessoren beim speichern von Gleitkommazahlen (nicht bei der internen Berechnung).

Gleitkommazahlen an sich funktionieren so: Für die gültigen Stellen steht eine feste Anzahl von Bits zur Verfügung. Zusätzlich geben andere Bits den Exponenten eines Multiplikators an. Dies ist wie bei der wissenschaftlichen Darstellung aufdem Taschenrechner:

1 = 1.0E0
10= 1.0E1
12345678=1.23457E7

Bei der Darstellung nach IEE745 ist der Exponent ist kein Zehner- sondern ein Zweier-Exponent. Außerdem legt die Norm fest, mit wievielen Stellen und in welcher Reihenfolge Mantisse (Ziffernfolge) und Exponent zusammen in einem 32- oder 64-bit-Wort gespeichert werden. Da gibt es nämlich im Prinzip eine Menge Wahlfreiheit.
 
Danke Zottel!

Es hat soweit alles geklappt,
bis auf eine kleinigkeit,...

Ich habe für den Sollwert ein E/A-Feld vorgesehen, und mit der Variablen verknüpft.
Wenn ich den Sollwert bis ca. 50% erhöhe, stimmt alles,
gehe ich aber in einen Bereich von 50-100%,
gibt mir das E/A Feld größere Zahlen aus, als ich eingebe (z.B. bei 100% zeigt es nach der Eingabe 400 an).

Sonst hats mit der Gleitkommazahl geklappt.

Bis dann

Stephan
 
Zurück
Oben