# MicroMaster 440 und Profibus



## Roland (17 Juli 2004)

hallo,
hab mal wieder so meine problemchen... ich hab eine profibuskarte cp 342-5 und einen mm4. zuerst hab ich dem mm4 eine adresse (über dip-schalter) gegeben und eine kommunikation hergestellt. leider geht bei mir die cpu immer wieder auf sammelfehler. wenn ich im baugruppenzustand nachsehe heisst es:

peripherie-zugriffsfehler, lesend

wenn ich dann bei den details nachschaue, heisst es weiter, dass ich auf die zugriffsadresse 15 nicht zugreifen kann, obwohl das die eingangsadresse des mm4 ist... 

hiiiilfe


----------



## Onkel Dagobert (17 Juli 2004)

*hexdezimal-dezimal*

Hallo Roland,

vielleicht hast du im Programm oder an den Dipschaltern ein Verwechslungsfehler hexdezimal-dezimal?


Gruß, Onkel


----------



## Roland (17 Juli 2004)

welche dippschalter meinst du? die beim mm4? wenn ich in der diagnose nachsehe, dann erkennt er die richtige adresse. was mich einfach wundert ist, dass ich quasi nicht auf die eingangswörter zugreifen kann...


----------



## Roland (17 Juli 2004)

vielleicht ist die genau fehler beschreibung vom diagnosepuffer hilfreich:

peripherie-zugriffsfehler, schreibend
p-bereich, wortzugriff, zugriffsadresse 5   // steht p-bereich für pointer?
.
.
.
externer fehler


----------



## Onkel Dagobert (19 Juli 2004)

*gerade Adresse?*

Hallo Roland,

p-bereich steht sicherlich für Peripheriebereich. Was vermutlich den Fehler auslöst ist die Adresse 5. Versuche es doch mal mit einer geraden Adresse!


Gruß, Onkel


----------



## Roland (21 Juli 2004)

hallo,

ich hab den fehler gefunden!! zuerst hab ich es mit der gerade adresse versucht... ich hab aber quasi die gleiche meldung erhalten. der fehler lag darin, dass ich eine externe profibus-schnittstelle verwendet habe und ich somit nicht direkt auf den e/a-datenbereich der slaves zugreifen konnte, dh ich musste zwei bibliotheksbausteine (dp_send und dp_recv) einfügen und dann mithilfe eines any-pointers auf datenbausteine zugreifen. ich zuvor zwei db erstellt, einer für die eingangsadressen (db101) und einen für die ausgangsadressen (db102). wenn ich dann beispielsweise auf den eingang e0.0 eines slaves zugreifen wollte, musste ich db100.dbx 0.0 verwenden...   8)


----------

