Operandenadressen berechnen

MarkusP210

Level-2
Beiträge
72
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag

Ich versuche z.Zt. auf einem Mitsubishi Q-System (Universal CPU) dynamisch Adressen zu modifizieren. Ich habe dazu die Funktionen INDEX_M und OUTEX_M verwendet. Dabei kann sowohl eine Startadresse, einen Offset und auch eine Verstärkung angegeben werden. Die Berechnung erfolgt dann nach folgendem Algorithmus:

Dynamische Adresse = Startadresse + Offset + (Verstärkung * 10)

Beim Überprüfen der POE läuft alles prima ohne Fehler. Bei der Gesamtübersetzung erhalte ich jedoch folgende Fehlermeldung:

'C9214 Parameter 'Offset' der Funktion OUTEX_M sollte eine Konstante sein. Wenn ein VAR_INPUT verwendet wird, sollten Sie die Aktualparameter für FB-Makros prüfen.'

Kennt jemand dieses Problem und hat es gelöst? Wenn der Offset konstant sein soll, nützt die ganze Funktion ja nichts. Variiert man die Verstärkung erfolgt dieselbe Fehlermeldung.

Besten Dank im Voraus für etwelche Hilfe.

Markus
 
Hallo

Ich habe das Problem mittlerweile gelöst. Der dynamische Zugriff auf einen Variablenbereich ist auf demBerechnungsweg nicht möglich. Die beiden erwähnten Funktionen INDEX_M und OUTEX_M sind nicht dafür gedacht (kommen in Sondermodulen zur Anwendung).

Zugriff auf einen beliebigen Datenbereich (z.B. D oder ZR) kriege ich, indem ich ein globales Feld (ARRAY) anlege und als Adresse den gewünschten Speicherbereich angebe. Das Feld wird dann in diesen Speicherbereich gelegt und ich kann die Variablen indiziert bearbeiten.

Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hello everybody:
I'm converting from GX IEC Developer to GX WORKS 2,
Do you have any information about INDEX_M and OUTEX_M operation? or could you please explain me how operates booth functions detaily?

thank you so much. I thank your help
 
Zurück
Oben