Fehler in Systemvariablen bei Schrittsteuerung (FX2_N)

Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

hab folgendes Problem:

Mein Programm enthält derzeit 2 Tasks mit je 1 POE. Jede POE ist per STL_M (CPU: FX_2 N) als Schrittsteuerung (KOP) konzipiert. Sobald ich Schrittoperanden S mit Nummern ab 20 verwenden will gibt es folgenden Fehler beim Kompilieren:

F1028 Zugriff auf die Systemadressen ist nicht möglich

aber laut des Programmierhandbuchs von der Mitsubishipage kann man Schritte von 0 bis 999 programmieren.

Ich hab jetzt das Programmierhandbuch, das Einsteiger- sowie das Benutzer- und das Schulungshandbuch zum GX IEC Developer 7.01 und in keinem gibt es Hinweise oder Anmerkungen zu den Fehlercodes oder den Warnungen des Kompilers. Ebenfalls fehlen detaiierte Informationen zu den Optionen die man unter dem Menüpunkt Extras findet.

Gibts vielleicht noch irgendwo ein Handbuch für die Mitsubishi Produkte das mir noch fehlt?
Bin absoluter SPS Neuling und weiß grad voll nimmer weiter. Vielleicht ja ihr.

Greets
Eddie
 
Hallo netter Eddie :D

arbeite seit geraumer Zeit auch mit dem GX IEC Developer, aber verstehe nicht so ganz deine Situation.
Allerdings hab ich bisher ausschiließlich mit FX-3U gearbeitet.

1.) Wozu benutzt du 2 Tasks? Einer reicht normalerweise immer... Du legst dir dort einfach eine POE "Main" an,
und von dort rufst du die einzelnen Unterprogramme auf. Gerade in KOP sehr sehr übersichtlich,
da du hervorragend IN und OUT Variablen direkt im Main beobachten kannst.

2.) Was macht der Baustein STL_M? Kann's leider nicht nachschauen, da ich den IEC Developer
nur auf Arbeit verfügbar habe.
Vielleicht wär's ne Herausforderung für dich, ne Schrittkettenform selber zu entwickeln?

3.) Auf der Mitsubishi Page hab ich auch kein weiteres Programmier etc. Handbuch gefunden,
aber hast du auch schon mal direkt unter FX-2N gesucht?
Habe da noch spezielle Bedienungsanleitungen zu dieser CPU gesehen.

4.) Ein Anruf lohnt sich immer. Techn. Support: 0180-5000-765, Mo-Fr 8:30 bis 16:30

Grüße und viel Erfolg,
Gundel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gundel,

es geht bei meinem Programm um die Steuerung eines BHKW. Die zwei Tasks sind die Start und Stopp Prozeduren. Aufgerufen werden sie über einen Task Zentralsteuerung. Dieser läuft mit EVENT=TRUE, während der Start und Stopp Task ereignisgesteuert ist. Ein weiterer Task überwacht die Sensoren, erläuft ebenfalls mit EVENT=TRUE.

Weiterhin habe ich Prioritäten vergeben:

27:Überwachung
28:Zentralsteuerung
29:Stopp
30:Betrieb
31:Start

Ich hab die Aufteilung in Tasks so gemacht, weil ich das am übersichtlichsten fand, und weil das Einsteigerhandbuch zum IEC Developer meint, lt. IEC ... solle man solche Strukturen beim programmieren anwenden.

Der Baustein STL_M soll eine Schrittsteuerung über die Schrittstatusoperanden S ermöglichen. Also S1: Kraftstoffventil auf; S2: Anlasser an etc.

Das soll das ständige gegenseitige Verriegeln von Variablen ersparen.

Beschrieben ist das ganze im Programmierhandbuch von Mitsubishi:

http://download.mitsubishi-automation.com/resources/manuals/136748.pdf?form_submit=Jetzt+anzeigen


Mittlerweile hab ichs gelöst indem ich die Nummerierung geändert habe, aber komisch bleibts trotzdem.


Dafür hab ich nun ein anderes Problem:

Der Befehl SPD_M erzeugt in der SPS einen Ausführungsfehler mit der Nummer 6706.

Heist der Kompiler kompiliert und überträgt einwandfrei aber bei der Programmausführung entsteht so ne Art Überlauf. Das Progammierhandbuch sagt folgendes:

"Der Operanden oder Datenbereich liegt außerhalb des zulässigen Bereiches".

Die Register in die die Daten geschrieben werden werden doch aber vom Kompiler festgelegt. Die Impulsfrequenz ist Null. Die Zeit in der gezählt werden soll ist mit K100 = 100ms. Die Variable in die geschrieben werden soll ist als Array of 3Int deklariert.

Die ganze POE wird nicht mehr ausgeführt. Eine weitere Variable in die das Ergebnis eines Vergleichs mit CMP_M geschrieben werden soll bleibt ebenfalls bei 3 x Null, was ja gar nicht sein kann denn irgendeiner der drei muss ja eins sein. Ich glaub, dafür mach ich mal nen separaten Thread auf.:ROFLMAO:.

Greets
Eddie
 
Zurück
Oben