Variablen initialisieren

thomassc

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

gibt es eine Möglichkeit Variablen welche in der Symboltabelle deklariert wurden einen Initialwert zuzuweisen? Ich will dass die Variable z.B. Kp=2.4 bei SPS Start hat. In WinCC lässt sich für Variablen einen Startwert eintragen, dieser wird aber leider nicht automatisch an die Steuerung übergeben.

Grüße
Thomas
 
Sorry, I only understand railstation!

Das verstehe ich nun wieder nicht ...
Wenn du in der Steuerung einige/bestimmte Werte auf eine Default-Einstellung bringen willst, so geht das im Grunde nur über den oben dargestellten Weg. Entweder du weißt die Werte im OB100 direkt zu oder du setzt im OB100 einen "Anlaufmerker" und wertest diesen dann später im zyklischen Progranmm aus (wie im Beispiel)

Gruß
Larry
 
Seeeehr schöne Antworten - hab gut gelacht - besonders beim "circle run"!

Aber mal im Ernst:
Initialisieren ist mir durchaus ein Begriff - ebenso wie ein Anlauf- oder Neustart-OB. Und selbst den bedingten Sprung verstehe ich (Vorsicht Ironie).

Aber warum soll ich ein Bit LADEN??? und später in "KP" transferieren?
Und wie zur Hölle soll das in felxible gehen? Seit wann können Skripte AWL?

Entweder ich habe thomassc falsch verstanden
Jo alles klar, dachte eben dass es auch über WinCC gehen müsste.
und sollte vielleicht den Code von AUDSUPERUSER nicht auf die Goldwaage legen:
u Anlaufmerker
spbn X000
L 2.5
T KP
X000: Nop 0
Oder ich stehe heute määäächtig auf dem Schlauch und verstehe hier nur Bahnhof.

Bitte um kurze Aufklärung...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
gibt es eine Möglichkeit Variablen welche in der Symboltabelle deklariert wurden einen Initialwert zuzuweisen? Ich will dass die Variable z.B. Kp=2.4 bei SPS Start hat.

Das war doch die frage

und das tut der code. sicher gibt es noch andere lösungen

schlag doch du mal was vor, anstatt hier rumzustänkern.
 
Also ich hab im OB1 einfach folgendes programmiert:

UN #M100
=#M101
S#M100


u #M101
spbn X000
L 2.5
T KP
...
...


X000: #fertig //Boolsche Variable

Mit den ganzen OB's kenn ich mich nicht so gut aus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also in WinCC flexible gibt es eine Registerkarte Variablen. In dieser Registerkarte definiere ich Variablen und weise jeder Variablen eine Verbindung zur Steuerung zu. Diesen Variablen kann man in WinCC einen Anfangswert eintragen. Diese Anfangswerte gehen aber nicht in die Variable der Steuerung obwohl angelegt und verbunden. Ich hab alle Variablen der Symboltabelle in WiCC flexible nochmal angelegt, weil ich es als Anfänger nicht besser wusste.
Habe ich es jetzt verständlich ausgedrückt.

Ich habe kein Siemens Panel, die Visualisierung läuft auf dem PC!

Wollte hier keine Unruhe stiften :icon_redface:
 
Zuletzt bearbeitet:
Das was du willst ist nicht möglich, weil wann soll die Runtime wissen wann es die Variablen in der Steuerung inizalisieren soll?
Warum machst du sowas nicht in der Steuerung?
Der Reiter Anfangswert in Felxible ist nur für interne Variablen in der Runtime sinnvoll.
 
... eine Möglichkeit gäbe es da dann doch ...
Du schreibst dir ein Script, in dem du die von dir gewünschten Default-Werte den Variablen zuweisst(es geht hier aber nicht "lade den Wert, der als Anfangswert hinterlegt ist"). Der Aufruf dieses Scriptes könnte dann z.B. über einen Tastendruck erfolgen. Ich muß allerdings grundsätzlich sagen, dass ich auch der Meinung bin, dass diese Sachen doch eher in das SPS-Programm gehören.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@thomassc:
Jeeeeeetzt ist der Groschen gefallen - war ein Verständnisproblem meinerseits!

Oder besser gesagt: Now goes me a light on!

Danke für die Aufklärung!
Und jetzt verstehe ich auch, dass mit 2.5 nicht das sechste Bit des zweiten Bytes sondern der Realwert 2,5 gemeint war - richtig?

Wie damit umzugehen ist haben der Netmaster und Larry schon bestens beschrieben - dem ist nichts hinzuzufügen.

Ich würde dem OB100 einfach folgendes beibringen:
Code:
      L     2.500000e+000
      T     MD   100

Den OB100 einfach ins AG laden und nach jedem Neustart oder Wiederanlauf steht im MD100 der Dezimalwert 2,5.

Das versteht man dann auch Nachmittags noch ;)
 
Zurück
Oben