Konzept für P&F Ident-System IPT-FP mit U-P6-B5

Spawn30

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich brauche dringend Eure Hilfe. Sitze an meiner Studienarbeit und habe mir ein Konzept überlegt wie ich die Schreib - / Lesestation IPT-FP mit U-P6-B5 von Pepperl und Fuchs in Verbindung mit dem IPC 03 TAG (Transponder) automatisieren möchte.
Ich habe eine S7-Steuerung (413 2DP) die ich mit der Step 7 Software programmieren kann. Die SPS ist über den Interbus mit der Schreib -/ Lesestelle verbunden. Die Schreiblesestelle belegt mit insgesamt 10 Byte (EB20 - EB29 Eingangsbytes und AB20 - AB29 Ausgangsbytes den Interbus bzw. die SPS).
Ich versuche schon seit ein paar Wochen dafür ein Prog. zu schreiben, bin aber nicht versiert in der SPS-Programmierung, insbesondere nicht von AWL.

Wer mir wirklich helfen möchte sollte sich das Handbuch zu IPT-FP mit U-P6-B5 und der Pepperl und Fuchs Homepage downloaden. Hier stehen alle relevanten details ab S. 20 erklärt und das sollte dem Verständnis meiner Ausführungen dienlich sein.

http://www.pepperl-fuchs.de/selector/navi/productInfo/doct/tdoct0109__ger.pdf

Das Prog. soll folgendermaßen funktionieren:

- Es soll im Vorfeld eingestellt werden können ob gelesen oder geschrieben werden soll. (Single Read / Single Write)
- Die zu lesen oder zu schreibenden Daten sollen frei verwaltet werden können. Hierzu muß man wissen das der Tag einen Speicher von 928 Bit = 116 Byte = 29 DWORD´s besitzt. Die Adressen 0-28 (29) werden von 00hex -1Chex adressiert. Man kann allerdings min. sowie max. 32 Bit, also ein DWORD in einem Zyklus schreiben. Ich möchte nun Bytes frei anparametrieren können, so dass ich wählen kann welche Bytes ich unter welcher Adresse speichern kann.
Also wähle ich z.B die Adressen 11, 13, 15 aus unter denen ich jeweils 4 Byte also 32 Bit speichern (schreiben) kann. Das selbe auch umgekehrt wenn ich Daten auslesen möcht.
Die zu schreibenden Bytes möchte ich an irgendwelchen schnittstellen (abhängig von der verwendungdstelle) abgreifen, dann nach Lust und Laune zu 32 Bit DWORD´s zusammenstellen und an den TAG übertragen können. Da ich aber immer nur 32 Bit pro Zyklus schreiben kann, muß ich eine Schleif programmieren, die ausserhalb des Zyklus liegt. Hier müssen die Anzahl der zu schreibenden DWORD´s und die Tag-Adressen sowie die entsprechenden Daten verwaltet werden.

Meine Gedanke wäre es 2 FB´s zu verwenden:

1. Vorverarbeitender FB100


Hier sollen die Daten erfasst und die Adressen FB zur Verfügung gestellt werden. hierfür habe ich an einen oder auch zwei Global-DB´s gedacht. Bei einem entweder mit nem Stuct, wo der Adresse die man einträgt irgendwie auch die zu verarbeitenden 4 Byte zugeteilt werden, oder mit zwei DB´s, wo einer die Adressen eingetragen bekommt und der Zweite die zugehörigen Daten. Hierzu fehlt mir aber das know how. Es müß hier geschickt mit Pointern gearbeitet werden.

2. Schreib / Lese - FB FB200

Hier sollen nur die nötigen Daten wie Adresse und 32 Bit Datensatz ankommen und je nach übergebenem Befehl gelesen oder geschrieben werden.
Ist die Adresse 11 erfolgreich beschrieben worden, was anhand des Statuswortes (Antwort der Schreib -/ Lesestelle erfasst werden kann), wird von dem vorbereitendem FB100 die nächste Adresse und die entsprechenden Daten zur verfügung gestellt bis max alle 29 Adressen Ihre Daten erhalten haben. Das ganze muß auch umgekehrt beim lesen möglich sein, so das ich die Adressbereiche, die ich vom TAG lesen möcht und den Ablageort im dafür vorgesehenem DB bestimmen kann.

Ich möchte hier also ein Programm entwerfen das überall anparametrierbar ist. Hierzu brauche ich natürlich auch solche Schnittstellen wie Start, schreiben bzw. lesen I.O. und eine Fehlerausgabe.

Ich danke Euch für jeden brauchbaren Tip.

Gruß Spawn
 
Zuletzt bearbeitet:
Hallo....

kurzer Hinweis:
Auf der Internetseite von P+F findest du beim Produkt "U-P6-B6" ein Beispielprojekt zur Anbindung der Lesestelle via Profibus an eine S7-300. Dort ist eine Fehlerauswertung, Erfolgmeldung etc. bereits implementiert.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und der 413 ist es völlich Latte, ob der IO-Bereich vom Profibus, oder vom Interbus kommt. Es sei denn:

Das Bleistiftprogramm von P&F verwendet irgendwo die SFC14/15, die muß man dann gegen einfache EA-Lesebefehle tauschen, wenn die Bausteine nicht geschützt sind.
 
SFC15/15 sind die Bausteine DPRD_DAT/DPWR_DAT zum Lesen konsistenter Daten vom Profibus.
Die P&F-Anschaltung muß latürnich vom Adressbereich in den Peripheriebereich der CPU passen.
Einfach nach Peripheriebereich im Handbuch nachschlagen, oder in diesem famosen Forum suchen, falls Erklärungsbedarf.
 
Zurück
Oben