Abfrage der Objektbeschreibung
Die Beschreibung eines Objekts der TASK COM kann über den Objektzugriff mit der Bitkennung 0x30000 abgefragt werden.
Ein Objekt wird über folgende 84 Byte beschrieben:
-Über die Bitkennung Objektaccess (ISGADS_IGR_OBJECT_ACCESS = 0x30000) in der Indexgruppe kann die Beschreibung eines Objekts der Task COM abgefragt werden-
Datentyp | Bit | Datum | Beschreibung |
DWORD | 0-3 | ID | Interne eindeutige ID des Objekts |
DWORD | 4-7 | Größe | Größen des Objekts in Bytes |
WORD | 8-9 | Schreibzugriff | TRUE falls Objekt geschrieben werden kann. |
WORD | 10-11 | - | Nicht belegt |
DWORD | 12-15 | Indexgruppe | für direkten Objekt-Zugriff auf den Inhalt |
DWORD | 16-19 | Indexoffset | für direkten Objekt-Zugriff auf den Inhalt |
STRING(32) | 20-51 | Name | Name des Objekts |
STRING(32) | 52-83 | Typ | Datentyp des Objekts: BOOL, BYTE, SINT, WORD, INT, DWORD, DINT, LWORD, LINT, REAL, LREAL, STRING |
Für die Objekte des ersten Kanals (<ch> = 1) wird so die Indexgruppe = 0x13010<ch> verwendet. Sind mehrere Kanäle konfiguriert, so kann der gewünschte Kanal entsprechend über logische Kanal-ID [1; max] ausgewählt werden. Die Plattformdaten sind wahlweise unter Kanal-ID = 0 oder 1 adressierbar.
- Gesamtzahl aller Objekte wird über Indexoffset = 0 angefordert.
- Lesen einer Objektbeschreibung Indexoffset > 0 liefert Objektbeschreibung mit dem Index [1; Objektanzahl] der Rückgabespeicher muss in Summe 84 Byte pro Objekt sein.
Lesen von mehreren Objektbeschreibung mit einem Zugriff
- Wird als Rückgabespeicher exakt ein Vielfaches von 84 Byte bereitgestellt, so werden ab dem übergebenen Index in Folge Objektbeschreibungen zurückgegeben.
Beispiel
Beispiel
Indexgruppe = 0x130101, Indexoffset = 0 liefert die Objektanzahl des 1. Kanals zurück
Indexgruppe = 0x130101, Indexoffset = 1 liefert die Objektbeschreibung des 1. Objekts (Kanal=1) zurück
Beispiel
Anfordern einer einzelnen Objektbeschreibung
Indexgruppe = 0x130101, Indexoffset = 0x10 liefert einzelne Objektbeschreibung mit 84 Byte.
Exemplarische Auflistung
- ID= 82 (4Byte)
- Größe = 1 (4Byte)
- Schreibzugriff = 0, also nur lesend (2Byte)
- Frei (2Byte)
- Indexgruppe = 0x00120101 (4Byte)
- Indexoffset = 0x00000003 (4Byte)
- Name = mc_active_single_block_r (32Byte)
- Typ = BOOL (32Byte)