Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 49833

Codesys und eine typisierte Liste von Objekten

$
0
0
Mir fehlt gerade in Codesys eine typisierte Liste von Objekten.

Ich habe folgendes:
Code:

FB_Base
FB_OBJ1 EXTENDS FB_Base IMPLEMENST I_Base
FB_OBJ2 EXTENDS FB_Base IMPLEMENST I_Base
FB_OBJ3 EXTENDS FB_Base IMPLEMENST I_Base

OBJ1 : ARRAY[0..9] OF POINTER TO FB_OBJ1;
LIST1 : FB_LIST;

Code:

FB_LIST
VAR_IN_OUT
    Items : ARRAY[*] OF POINTER TO FB_Base;
END_VAR
VAR
    INDEX : INT;
END_VAR

Methode zum hinzufuegen von Items:
Code:

FB_LIST.InsertItem

VAR_INPUT
    Item : POINTER TO FB_Base;
END_VAR

Items[INDEX] := item;
INDEX := INDEX + 1;

Meine Frage hierzu: Wie kann ich den FB_LIST mit dem Array verknuepfen? So dass ich bei hinzufuegen und loeschen von Objekten mich immer auf die verknuepfte Liste beziehe.

Folgendes klappt leider nicht, im Programm:
LIST1(Items := OBJ1)



[FEHLER]
C0032: Typ 'POINTER TO ARRAY [0..99] OF POINTER TO FB_OBJ1' kann nicht in Typ 'ARRAY[*] OF POINTER TO FB_Base' konvertiert werden


Folgenes klappte noch in Version: CODESYS V3.5 SP13 Patch 2
LISTE1.Items := ADR(OBJ1);


Folgendes klappt jetzt aber nicht mehr in Version: CODESYS V3.5 SP14
LISTE1.Items := ADR(OBJ1);



[FEHLER]
C0178: Externer Zugriff auf 'VAR_IN_OUT'-Parameter 'Items' von 'FB_LIST'."



Bin fuer jede Hilfe dankbar, vielen Dank!

Viewing all articles
Browse latest Browse all 49833


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>