Step 7 Beobachten/Steuern ET200M Profinet HILFE

idefixsps

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
beobachten-steuern pew.JPG
Guten Abend,
ich habe echt ein großes Problem mit einer ET200M die an Profinet angebunden ist. Die DI und DO können ohne Probleme angesteuert und auch in der VAT beobachtet werden, die AI leider nicht, in der VAT kommt die Meldung "Operand kann nicht angesteuert werden"
Kann mir da jemand weiterhelfen?
Die Send/Recv Bausteine habe ich überprüft und auch die größe der Byte angepasst. Die Send/Recv Bausteine geben auch kein Error-Bit aus, alles soweit in Ordnung.
Bitte um HILFE, DANKE. ICH HOFFE DAS BILD HILFT EUCHT WEITER, DA SIEHT MAN GENAU MEIN PROBLEM.......

Martin
 
Hallo Harald.
Ja ist übersetzt und in die CPU geladen.
Die ET200 ist online, die Ein-und Ausgänge E0.0-E3.7 und A0.0-1.7 funktionieren ohne Probleme...
Die AI Karte kann ich nicht auslesen :-(
 
Zuviel Werbung?
-> Hier kostenlos registrieren
EW20 hab ich noch nicht probiert... Spricht man die Dezentrale Pheriperie nicht auch kit PEW an?
EW20 ist im Prozessabbild und kann immer gelesen werden. Liefert 0 wenn keine Baugruppe an der Adresse vorhanden ist.
PEW20 ist die Peripherieadresse und kann nur gelesen werden, wenn die Peripherie/Baugruppe vorhanden und erreichbar ist.
Wenn eine Baugruppe eine E-Adresse im Prozessabbild hat, dann liest man besser die Prozessabbild-Adresse. Da muß man z.B. auch nicht besonders über Konsistenz nachdenken. Es ist sehr selten, daß man wirklich bei jedem Zugriff jeweils den zuletzt über Bus gelesenen Wert der Baugruppe braucht.


Die ET200 ist online, die Ein-und Ausgänge E0.0-E3.7 und A0.0-1.7 funktionieren ohne Probleme...
Das "ohne Probleme" glaube ich nicht. Du beobachtest Bits im Prozessabbild der E/A Deiner CPU. Deine ET200 liegt aber garnicht im EA-Adressbereich Deiner CPU (schau mal die Adressübersicht in HW Konfig). Dein Profinet-IO-System ist am CP343-1 angeschlossen - da mußt Du die E/A-Daten mit FC11 "PNIO_SEND" und FC12 "PNIO_RECV" zum/vom CP senden/lesen.
Wie werden die Kommunikationsbausteine FC11 "PNIO_SEND" und FC12 "PNIO_RECV" für den PROFINET IO-Controller programmiert?

In Deiner HW Konfig gibt es höchstwahrscheinlich gar keine Baugruppe an der CPU-E-Adresse 20, deshalb kann auch PEW20 nicht gelesen werden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Send/Recv Bausteine habe ich überprüft
Hallo Martin,

kann es sein daß Du meinst, daß Du mit PNIO_RECV die Eingänge der ET200 ins Prozessabbild der CPU nach E0.0...E35.7 kopierst? (und A0.0... zum CP?)
Dann funktioniert tatsächlich der Zugriff auf die Digital-Ein- und Ausgänge der ET200 über das Prozessabbild der CPU. Dann MUSST Du aber auch zum Lesen der Analogeingänge auf EW20... zugreifen - weil zu diesen Adressen hast Du ja kopiert. Wie bereits in #6 erklärt kann ein Zugriff auf PEW20... nicht funktionieren.

Harald
 
Guten Morgen Harald,
vielen Dank für Deine Antworten.
Genau, ich kopiere mit PNIO_RECV die Eingänge der ET200 ins Prozessabbild der CPU mit insg. 36 BYTE.
Habe jetzt getestet, mit EW20 kann ich auf den ersten Analog Eingang zugreifen und auch auslesen :ROFLMAO: super!!!

Aber ganz habe ich es noch nicht verstanden, warum ich nicht mit "PEW20" zugreifen kann? Was müsste ich ändern damit das geht bzw. kann ich auch mit "EW20" usw.... arbeiten?

VIELEN DANK
 
Aber ganz habe ich es noch nicht verstanden, warum ich nicht mit "PEW20" zugreifen kann? Was müsste ich ändern damit das geht bzw. kann ich auch mit "EW20" usw.... arbeiten?
Guten Morgen Martin,

das kann man nicht so ändern, daß man mit PEW... zugreifen kann. Du mußt mit EW... zugreifen.

Mit PEW... kann man nur auf E-Adressen von Baugruppen zugreifen, die dem EA-Adressbereich der CPU zugeordnet sind - siehe Adressübersicht in HW Konfig. Peripherieadressen PEx... kann man nur lesen.

Mit EW... greift man auf einen Speicherbereich im Arbeitsspeicher der CPU zu, der "Speicherbereich der Eingänge" genannt wird und das "Prozessabbild der Eingänge (PAE)" enthält. Das ist ein Speicherbereich genau wie der Bereich der Merker, nur werden da vom Betriebssystem vor Aufruf des OB1 freundlicherweise die Eingangsdaten (PEx..) der vorhandenen Baugruppen hineinkopiert. In den E-Adresslücken (wo keine Baugruppen projektiert sind) gibt es kein Prozessabbild. Da wird nichts in den Speicherbereich der Eingänge kopiert - man kann diese Adressen wie zusätzliche Merker benutzen.

Den "Speicherbereich der Eingänge" kann man lesen und schreiben. Man kann auch irgendwelche Daten (z.B. die einem CP zugeordneten EA-Adressen oder Empfangspuffer von Kommunikationsfunktionen oder ...) in den Speicherbereich der Eingänge kopieren (z.B. mit PNIO_RECV oder DP_RECV) und danach daraus lesen. Wenn man das tut, dann wählt man sinnvollerweise Adressbereiche, welche nicht vom PAE belegt sind.

Der "Speicherbereich der Ausgänge" ist ein Speicherbereich genau wie der Bereich der Eingänge und der Bereich der Merker, nur daß er das "Prozessabbild der Ausgänge (PAA)" enthält (an den Stellen, wo A-Baugruppenadressen projektiert sind), von dem nach Ende des OB1 von der Firmware die Zustände in die Ausgabe-Peripherie PAx... kopiert werden und beim STOP/RUN-Übergang werden die Werte im PAA mit 0 initialisiert.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
BeobachtenSteuernHW.jpg
Hallo Harald,
vielen Dank für deine hilfreiche und ausführliche Antwort. Du bist ja ein richtiger Profi auf diesem Gebiet 8)

Hast Du vielleicht auch eine Idee warum ich in der HW-Konfig die DI, DO und AI nach der ET200M nicht beobachten und steuern kann? Diese sind bei mir ausgegraut... auch wenn ich online bin?

Vielen Dank und Gruss
Martin
 
Hmm, bei ET200 an Profibus am CP342-5 würde "Beobachten/Steuern" gehen. Bei ET200 an Profinet am CP343-1 weiß ich nicht.

Harald
 
Zurück
Oben