TIA Start eines Scriptes beim Runtimestart

Andreass

Level-2
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Start eine Skriptes beim Runtimestart

Ich muss ein Skript aufrufen nach dem Runtimestart.
Eigentlich sollte doch nach dem Bildaufbau des Startbildes das skript augerufen werden...

Nur macht es das nicht?!
Zum Testen und beobachten ob nach einem runtimestart sich etwas ändert hab ich eine Variable projektiert, die beim Bildaufbau des Startildes gesetzt wird.
Bei einem Neustart (Runtime start) wird aber auch dieses Test-Bit nicht gesetzt.
Bei einem normalen Bildwechsel aber schon und funktioniert alles....

Meine Frage nun: Hat jemand eine Lösung für dieses Problem oder gibt es ein Statusbit der Hmi das die Runtime gestartet ist?
Die Archive werden ja auch erst gestartet bei einem Runtimestart ---> genau dieses Bit sollte ich haben / auslesen können...


Panel : TP700 Comfort
 
Du könntest in Dein Skript Testmeldungen einbauen:
Code:
ShowSystemAlarm "Startbild-Skript gestartet ..."

... Deine Anweisungen

ShowSystemAlarm "Startbild-Skript wurde ausgeführt"
ShowSystemAlarm gibt eine Meldung der Meldeklasse "System" aus. Mache Dir ein Meldefenster für System-Meldungen und/oder eine Meldeanzeige, welche Meldeereignisse auch der Meldeklasse System anzeigt.

Vielleicht entsteht auch beim ersten Aufruf ein Runtime-Error und das Skript wird abgebrochen?

Harald
 
Danke mal für die Antworten,

Das Problem liegt beim Tia bei der Aufbau Fkt nach einem Neustart des Panels..
Lustigerweise wenn man die Fkt. Putzbild an das Startbild verknüpft, macht es auch das..
Aber Skript oder Bit Funktionen werden bei einem Startup nicht ausgeführt..

Dies mit dem Bereichszeiger kenne ich, ist aber nicht ganz das wo ich möchte.. will dass das Hmi autonom ein skript ausführt nach dem Neustart und nicht über die Steuerung "kehren" :)
 
Du könntest dein Skript mit dem Kommen einer Systemmeldung ausführen, die nach dem Start der Runtime aufläuft. Möglich wäre z.B. 110001 (Wechsel in die Betriebsart "Online") oder 80028 (Initialisierung der Archive gestartet).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast du den Vorschlag von PN/DP probiert?
Oder zeig mal den Inhalt des Skriptes.

Bei uns hat jedes Panel ein Intialisierungsskript das eben genauso vom Startbild aus aufgerufen wird. Das Problem hatten wir noch nie...
 
Gibt es im Aufgabenplaner nicht den Trigger bei "Runtime Start"?
Daran könntest du doch dein Skript anhängen? Oder funktioniert es da auch nicht?

Grüße
 
Slaine,
dein Vorschlag mit der Systemmeldung sollte Funktionieren.. Probiere ich gleich aus


Zu Ronin,

Bis jetzt ist mir das auch nie aufgefallen aber Funktioniert wirklich nicht mehr bei einem Startup..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für eure Hilfe..
Ich habe jetzt mein Problem Lösen können und habe nun zwei Möglichkeiten..

1. Via Koordination der Statusbit (Bit 0)

oder durch die Systemmeldung

Bei beiden Varianten wird mein Skript aufgerufen und auch ausgeführt.
 
Wie lange dauert eigentlich das Initialisieren der Archive?

In WinCC flexible war es so, daß während der Initialisierung der Archive keine Skripte ausgeführt wurden (*), die Skripte aber in die Warteschlange eingestellt wurden. Wie das nun bei TIA ist, habe ich keine Erfahrung. Hast Du viele Skripte in Deinem Projekt? Vielleicht viele "bei Wertänderung" von vielen Variablen? Vielleicht läuft die Skript-Warteschlange beim Runtimestart über und das "Bild aufgebaut"-Skript wird deshalb nicht ausgeführt. Gibt es diesbezügliche oder andere ungewöhnliche Systemmeldungen? Oder wird das Skript doch noch nach dem Ende der Initialisierung der Archive ausgeführt, und Du bemerkst das nur nicht so spät? Hast Du mal (wie von mir in #2 empfohlen) die Systemmeldungen in Dein Skript eingebaut?

Du könntest den Skript-Aufruf mal an die Systemmeldungen 80026 und 80029 "Initialisierung der Archive beendet...(OK/mit Fehler)" anhängen.

(*) Datum-Uhrzeit-Felder zur Anzeige der System-Uhrzeit wurden während der Initialisierung der Archive ebenfalls nicht aktualisiert - daran konnte man gut sehen, wann die Runtime wirklich fertig mit dem Startup ist.


Bis jetzt ist mir das auch nie aufgefallen aber Funktioniert wirklich nicht mehr bei einem Startup..
"nicht mehr" heißt "Es hat schon mal funktioniert"? (Bis zu welcher TIA-Version hat es funktioniert bzw. ab welcher Version nicht mehr?) Dann wende Dich wegen dem Problem an den Siemens Support und frage, ob das ein Bug oder ein Feature ist...

Harald
 
Wenn man gerne ein Startup Skript haben will, aber auch gerne warten bis der Runtime fertig mit den Startup ist, dann probier 140000 "Verbindung aufgebaut".
Dies verwende ich, zusammen mit ein internen Variabel "Startup_done" so dass der Startup-Skript nur einmal ausgeführt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei WinCC flexible war es so, daß während langer Initialisierung der Archive sogar schon die Verbindung aufgebaut wurde und Prozesswerte aktualisiert wurden und auch Bildwechsel durch Bediener möglich waren, aber noch keine Skripte ausgeführt wurden. Deshalb habe ich bei RT mit Archiven ein auffälliges Banner im Permanentfenster oder im Startbild "Initialisierung der Archive läuft ... bitte noch nicht bedienen!", dessen Sichtbarkeit durch eine Variable "Startup_done" gesteuert wird.

Harald
 
Wie lange dauert eigentlich das Initialisieren der Archive?

In WinCC flexible war es so, daß während der Initialisierung der Archive keine Skripte ausgeführt wurden (*), die Skripte aber in die Warteschlange eingestellt wurden. Wie das nun bei TIA ist, habe ich keine Erfahrung.

Kommt auf die Größe und das Format der Archive an. RDB geht in der Regel recht schnell, CSV/TXT kann schon mal mehrere Minuten dauern, wenn die Archive entsprechend groß sind. Skripte werden aber auch während der Initialisierung ausgeführt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Skripte werden aber auch während der Initialisierung ausgeführt.
Dann sollte der TE Andreass den Siemens Support befragen. Sein zur Zeit gefundener Workarround beruht ja nicht auf dem Wissen um die Ursache des Problems - sprich: es kann eventuell jederzeit wieder zuschlagen.

Harald
 
Hallo Zusammen,
So langsam wird alles klar..:grin:

Also das Skript wird doch ausgeführt (Habe wie PN/DP beschrieben eine Testmeldung generiert die ersichtilich wird wenn das skript ausgeführt wurde)
Und zu meinem Erstaunen wird tatsächlich das skript ausgeführt. lol

Nun mein Fehler war zu 100% das ich im Skript auf Variablen von der Steuerung zugreife.
Nur werden diese Variablen nie aktualisiert so lange keine Verbindung besteht zwischen HMI und PLC..
Darum auch klar warum das Steuerbit auch nicht gesetzt wurde beim Startup (keine Verbindung und PLC-Variable)

Nun habe ich es so gelöst: Mittels Bereichzeiger werte ich das Bit ("HMI Betriebsart online") aus und starte dann mit diesem Bit das Skript auf der HMI..So bin ich sicher das die Verbindung aufgebaut ist und danach die Variablen mitels skript aktualisiert werden.
Auch mit der Systemmeldung (Betriebsart online aufgebaut) würde es funktionieren..nur für Doku überlegung nicht so geeignet.. (1jahr später weiss ich selber nicht mehr wo ich den Skript-Aufruf gemacht habe..)

Vielen Dank nochmals für die schnelle und Hilfreichen Infos / Tipps..

greets...:ROFLMAO:
 
Zurück
Oben