L
Luk-11
Guest
-> Hier kostenlos registrieren
Wenn ich in FUP den Block ETHERNET_MODBUSMASTER_TCP verwende, gibt es eine Variable ptREAD_DATA. Hier muss ich spezifizieren in welchem Adressbereich die ausgelesenen Daten gespeichert werden sollen.
Ich möchte einen Block von 100 Variablen aus meinem Slave auslesen. Deshalb habe ich ein Array definiert:
Ich möchte, dass dieser Block von 100 Variablen vom Typ INT in meinem Master im Adressbereich 12388 aufwärts gespeichert wird. Ich habe deshalb in einem separaten init-Programm in ST folgende Deklaration geschrieben:
Ich bin mir nicht sicher wo genau das Problem liegt, erhalte beim Übersetzen aber die Fehlermeldung: "Unzulässiger Typ für Eingang 'ptREAD_DATA" von 'ETHERNET_MODBUSMASTER_TCP': Kann 'ARRAY[0..99] OF WORD' nicht in 'POINTER TO BYTE' konvertieren"
Die Variable myInData habe ich dabei dem Eingang ptREAD_DATA zugewiesen. Hat eine Adresse einen bestimmten Datentyp? Ich dachte ich könnte die Adresse ganz einfach über eine Zahl (INT) ansprechen, so wie ich es getan habe.
Ich möchte einen Block von 100 Variablen aus meinem Slave auslesen. Deshalb habe ich ein Array definiert:
Code:
myInData: ARRAY[0..99] OF INT;
Code:
myInData[0] := 12388;
FOR idx := 1 TO 99 DO
myInData[idx] := myInData[idx-1]+1;
Die Variable myInData habe ich dabei dem Eingang ptREAD_DATA zugewiesen. Hat eine Adresse einen bestimmten Datentyp? Ich dachte ich könnte die Adresse ganz einfach über eine Zahl (INT) ansprechen, so wie ich es getan habe.