Autor Thema: Aufstarten stürtzt häufig ab, ein Kompilerfehler, Werteanzeige Aktualisation  (Gelesen 8240 mal)

Offline Lucas

  • Newbie
  • *
  • Beiträge: 2
Ich habe ein Projekt mit Galileo 8.1.0 für ein XV-102-D0-70TWR Pannel erstellt, angebunden an eine Moeller easy 800/MFD.

1. Das GRS startet nicht immer fehlerfrei. Angezeigt wird dann eine Windowsfehlermeldung:
- GRSW3.EXE has performed an illigal operation... Exception:  0x80000002, Adresse: 00022000
- GRSW3.EXE has performed an illigal operation... Exception:  0xC0000005, Adresse: 00261444
- GRSW3.EXE has performed an illigal operation... Exception:  0xC0000005, Adresse: 00000000
- GRSW3.EXE has performed an illigal operation... Exception:  0xC0000005, Adresse: 03FB33BC
- GRSW3.EXE has performed an illigal operation... Exception:  0xC0000005, Adresse: 03FB64D4
- GRSW3.EXE has performed an illigal operation... Exception:  0xC0000005, Adresse: 03FFF2CC
- GRSW3.EXE has performed an illigal operation... Exception:  0xC000000D, Adresse: 03F788D8
- A buffer overrun has been detected...
- oder einfrieren des Startvorgangs
ins Windows zurückkehren und erneutes starten ist zwecklos. Nur Stecker ziehen, warten und wieder einstecken hilft.
Ich denke dass das Problem die Zyklussberechnungen sind, aber wozu habe ich dann ein Zyklusslimit etc...

2. Nachdem einer zweiten Variable ein MW zugewiesen ist, erhalte ich denn Kompilerfehler:
-> Fehler: In Zyklussskripten müssen wertereferenzierten, lesende Variablen sich in der derselben adressierten Struktur befinden.
Wenn ich das Polling bei der zweiten Variable, auf >kein Polling< stelle verschwindet der Kompilerfehler... dies möchte ich aber nicht.

3. Eine Werteanzeige auf der Startmaske aktualisiert sich nicht selbständig, erst nachdem ich einmal in eine andere Maske wechsle, in der die Werteanzeige ebenfalls vorhanden ist, wird diese aktualisiert. Darf sich auf der Startmaske keine Wertanzeige befinden?? bzw. sollte die Startmaske nicht meine Hauptmaske sein?

4. Gibt es eine Möglichkeit Variablen auf der SD-Karte zu speichern, so dass sie nach erneuten hochfahren noch vorhanden sind? Oder muss hierfür der Wert zwingend auf der SPS im redundanten Bereich abgelegt werden?

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Re:Aufstarten stürtzt häufig ab, ein Kompilerfehler, Werteanzeige Aktualisation
« Antwort #1 am: Mai 02, 2015, 13:17:33 Nachmittag »
Hallo Lucas,

1: hier scheint was mit der Runtime selbst nicht zu stimmen. Hast du es mal mit einer neueren Version versucht?
    Warum beziehst du das auf angelegte Zyklusscripte?

2: Bei "kein Polling" wird die Variable nicht vom EASY gelesen. "kein Polling" stellt man ein nur für interne GRS Variablen zB. Linealvariablen von Trends. Die beiden Variablen müssen aus dem selben STRUCT der Variablenliste stammen.

3: Kann ich leider nicht nachvollziehen. Werteanzeigen können auch auf der Startmaske liegen. Startmaske sagt nur aus, das diese als erstes von GRS geladen wird.

4: Es gibt die Möglichkeit Variablen vorzubelegen unter deren Eigenschaften. Man kann das auch über die Rezeptverwaltung machen oder eine Parameterliste anlegen. Es funktioniert auch über SD Karte, entsprechende Kenntnisse vorausgesetzt, ist aber komplizierter.

 Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Lucas

  • Newbie
  • *
  • Beiträge: 2
Re:Aufstarten stürtzt häufig ab, ein Kompilerfehler, Werteanzeige Aktualisation
« Antwort #2 am: Mai 02, 2015, 21:13:31 Nachmittag »
1. Ja, das GRS selbst verursacht denn Fehler... Ich habe es mit 8.1.9 und 8.1.10 versucht.
   -Ich habe das Zyklusskript testweise mal durch eine Schlaufe komplett deaktiviert, welche durch einen Button auf einer anderen Startmaske wieder aktiviert wird. Nun startet das GRS immer noch genauso launisch, und hängt sich manchmal erst auf der Startmaske auf.
 
2. Ich denke, dass die Variable nicht vom GRS gelesen, also aktualisiert wird, wenn kein Polling eingestellt ist, da dies eine Adresse des EASY ist.
Wenn man dies für interne GRS Variablen einstellt, dürfte es nur dann Sinn machen, wenn diese gelegentlich von EASY benötigt werden.
Ich versteh immer noch nicht was der Kompilerfehler bedeutet, und was mit "in der derselben adressierten Struktur" gemeint ist.

3.Kann ich auch nicht nachvollziehen.

4. Ich habe entdeckt, dass ich in denn Maskeneigenschaften Start/End-Skripte definieren kann. Ich habe nun ein Skript, dass mir je nach Wert der Variable ein weiteres Skript mit festgelegten Werten lädt. Welches Skript das sein soll kann ich in einer Maske festlegen. Soweit hatte ich mir dass schon im Vorfeld überlegt.
Jetzt müssen nur noch 10 Variablen abgespeichert werden, diese werden beim Einrichten auf unterschiedlichste Werte gesetzt, deswegen können die nicht mit ins Skript bzw. manche werden im Betrieb geändert.
Bestimmte Variablen sind schon längst vorbelegt, ich möchte gesetzte Einstellungen speichern.

Danke für die erste Antwort, Lucas
« Letzte Änderung: Mai 02, 2015, 21:15:22 Nachmittag von Lucas »

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Re:Aufstarten stürtzt häufig ab, ein Kompilerfehler, Werteanzeige Aktualisation
« Antwort #3 am: Mai 03, 2015, 12:48:52 Nachmittag »
Hallo Lucas,
zu dem Aufstartfehler würde ich mich mal an den Support wenden, oder PN an Don Corleone http://easy-forum.net/index.php?action=profile;u=8600

Zu 2+3. kannst du mal diese Anleitung lesen um zu verstehen wie Galileo über Datentypen STRUKT mit EASY kommuniziert ftp://ftp.moeller.net/DOCUMENTATION/AWB_MANUALS/MN04802020Z_DE.pdfDie EASY-Variablen in Galileo sind alle als STRUKT angelegt. D.h. alle MW sind in einem Strukt zusammengefasst, ebenso alle Zähler usw.
Zitat
Die beiden Variablen müssen aus dem selben STRUCT der Variablenliste stammen.
Wenn du in einem Zyklusskript zB. einen Zählerwert mit einem MW vergleichen willst, so geht das nicht direkt. Du musst die erst auf interne Variablen umladen und dann verarbeiten.

Schau dir doch mal die Beispiele an die mit installiert werden. Kannst dir evl ein paar Anregungen holen.
Ich kenne deine Visu nicht um zu beurteilen wie die benötigten Variablen am besten abgespeichert werden.
Wenn du je eine definierte Voreinstellung laden willst wäre das anlegen von Rezepturen sinnvoll.

Gruß Thomas
« Letzte Änderung: Mai 03, 2015, 12:53:38 Nachmittag von radar17892 »
Weil Einfach einfach Einfach ist!