Autor Thema: MAC-Adresse beim MFD4  (Gelesen 3428 mal)

Offline Ansgar

  • Newbie
  • *
  • Beiträge: 8
MAC-Adresse beim MFD4
« am: November 27, 2007, 12:13:55 Nachmittag »
Hallo Miteinander,

ich habe folgendes Problem:

Ich erstelle ein CoDeSys Progamm für das TouchPanel MFD4. Diese Programm soll ausschließlich
auf ein bestimmtes MFD4-Gerät laufen und auf kein anderem MFD4. Ich dachte dabei via CoDeSys
die MAC-Adresse des betreffenden Gerätes auszulesen und diese im Programm mit der hinterlegten
MAC-Adresse zuvergleichen. Erst wenn beide Werte übereinstimmen soll das ganze Programm laufen.

Wenn ich das richtig sehe, kann man die MAC-Adresse mit der Funktion

UTI2_GETMACADDRESS

aus der Bibliothek MFD57_UTIL.lib auslesen.

Aber irgendwie bekomme ich die 6 Byte-Größe MAC-Addresse aus dem Gerät nicht raus.

Hier mal die Informationen die mir zur Verfügung stehen:

FUNCTION UTI2_GetMacAddress: Byte
VAR_INPUT
UTI2_pbyMacAddress: POINTER TO BYTE; (*Pointer to "Array [0..5] of Byte", the MAC-adress of the Ethernet card*)
END_VAR

(* Input-Values:
UTI2_pbyMacAddress -> Pointer to "Array [0..5] of Byte" In this Bytes the function will write the requested MAC-Address.

Return-Values:
Success=1
Failure=0
No valid input-pointer =-4
*)

Die Buchstaben pby in der Input-Variable in UTI2_pbyMacAddresse deuten auf POINTER TO BYTE hin.
Warum dann laut Kommentar "POINTER TO ARRAY [0..5] OF BYTE"  ???

Mir ist schon klar das dei MAC-ID sechs Byte größ ist. Aber irgendwie komme ich nicht mit dem Pointer klar. Ich habe auch schon einiges an Programmen ausprobiert, um die MAC-ID zu bekommen. Oder ist es vielleicht doch gar nicht möglich?

Hat jemand von euch eine Idee, wie ein Programmcode aussehen könnte um die MAC-ID auszulesen

Danke schon mal im Vorraus.

MFG
Ansgar

Offline DiscoStu

  • Full Member
  • ***
  • Beiträge: 127
Re: MAC-Adresse beim MFD4
« Antwort #1 am: November 27, 2007, 14:47:44 Nachmittag »
Hallo Ansgar,

das ist kein grosses Ding.
Als Variablen nutzt du:

VAR
   MAC:ARRAY [0..5] OF BYTE;      (*Das Array in welches die Adresse geschrieben wird*)
   byResult: BYTE;                        (*Das Ergebnis des Bausteins ob die Abfrage funktioniert hat*)
END_VAR

und als riesiges Programm hast du die folgende Zeile:

byResult := UTI2_GetMacAddress(ADR (MAC));


So hast du in den Variablen MAC[0] - MAC[5] deine Macadresse stehen und hast sie somit im Programm.


Gruß

Stu


Offline Ansgar

  • Newbie
  • *
  • Beiträge: 8
Re: MAC-Adresse beim MFD4
« Antwort #2 am: November 27, 2007, 15:36:13 Nachmittag »
Die Hilfe hat funktioniert, danke Stu

 :)
MfG
Ansgar