PC Worx GSD importieren

nolk

Level-2
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

ich habe ein Problem bei der Einbindung eines Buskopplers Typ IL PN BK DI8 DO4 2TX-PAC 2703994. Dieser hat die Firmware 3/3.30 allerdings ist in meinem Gerätekatalog lediglich die Version 3/3.21 vorhanden. Daher würde ich gerne die aktuelle GSD importieren.
Nun habe ich eine Datei gefunden auf der Phoenix Contact Homepage nur lässt sich diese nicht importieren. Man brauch eine FDCML Datei nur habe ich davon keinen Download Link gefunden. Hat jemand einen Lösungsweg oder Tipp für mich?

Danke im Voraus

Mit freundlichen Grüßen
nolk
 
Hallo nolk,

in der GSDML für die Firmware 3.30 hat sich nur etwas für die anzuhängenden Module geändert.
Da du in PC WORX die einzelnen Module, und somit auch deren Beschreibung, direkt aus dem Gerätekatalog beziehst, kannst du die "IL PN BK DI8 DO4 2TX Rev. >= 00/3.21" nutzen.

Mit freundlichen Grüßen
Ulrich Kleinschmidt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erstmal ein Dankeschön für die Antwort.

Ok, mittlerweile habe ich auch eine Verbindung zu Stande bekommen und die Hardware schein zu laufen. Nun stehe ich vor einem anderen Problem das ich mir im Moment leider noch nicht so ganz erklären kann.

Meine analoge Eingangskarte IB IL AI8/IS-PAC zeigt mir im Moment lediglich nur 2 Analoge Eingänge und Analoge Ausgänge zu Verfügung. Allerdings ist die Karte meines Wissen eine reine Eingangskarte mit 8 AI oder liege ich da falsch? Wäre dankbar für einen Hinweis auf meinen Fehler.

Prozessdaten AI.JPG
Mit freundlichen Grüßen
nolk
 
Wenn ich mich nicht täusche rotieren die Eingänge bei dieser Art von Eingängen.
Sprich über ein ein Commando wechsel die beiden AI zwischen den Hardware Kanälen.
Und die Ausgänge sind zum Parametrierung. Sprich 4..20/0..20 etc.

Näheres zu den Kommandos findest Du in der Anleitung zur Karte.

Gruß

René S.
 
Ok ich denke ich weiß was du meinst. Bin jetzt auf einen Baustein gestoßen der wohl das richtige für meine Anwendung ist, soweit ich das beurteilen kann. Dieser wäre folgender

IL AI 8 V2 15

Jetzt sind in der Hilfe noch die beiden Strukturen UDT_AI8_Para und UTD_AI8_Data aufgeführt zu, entsprechenden parametrieren und auslesen der einzelnen Kanäle. Sind das jeweils auch Bausteine die ich in mein Programm einfügen muss? Habe in der Bibliothek zur Analogdatenverarbeitung nichts gefunden was da passen könnte. Bin im Moment dabei die Hilfe und das Datenblatt durchzuarbeiten aber tue mich noch etwas schwer alles zu verstehen.

Mit freundlichen Grüßen
nolk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kurz vor ab die Karte um die es geht habe ich noch nicht eingesetzt.
Ich leite alles von anderen Karten ab die ich kenne.

Die beiden Strukturen dürften beide 8 Byte / DWORD sein.
Somit müsste Data an der Karte auf den AI der DWORD groß ist Parametriert werden und der Para an den AO der DWORD groß ist.

Ich nehme an das der Baustein 8 Ausgänge hat oder ?
Wenn ja musst Du noch die beiden AI Variablen von der Karte trennen und entsprechend auf den Baustein schalten.

Wo hast Du den Baustein gefunden?
Ich meine in welcher Bibliothek?
Dann könnte ich ihn mir nochmal an schauen.
Ein screen könnte auch schon helfen.
 
Ich habe mal ein Bild vom Baustein gemacht.

Dort ist der udtParameter und udtData.. ich denke mal das sind die oben von mir erwähnten Strukturen und somit keine eigenen Bausteine. Allerdings bin ich mir jetzt wiederum nicht sicher was ich für einen Datentyp dort eintragen soll da mehrere Parameter eingetragen werden müssen. Siehst du ja dann eventuell in der Hilfe wie ich das meine.

AI Baustein.JPG

Schonmal vielen dank für deine Hilfe.
 
Nochmal die Frage, wo also aus welcher Bibliothek Du den Baustein hast. Scheint nicht aus der Standard PCWorx zu stammen.
Mir schwirren mehrere Möglichkeiten im Kopf rum, aber ohne den Baustein in einem Programm zu sehen kann ich nur schwer die Richtige Lösung erkennen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mir das Paket mit "Analogtechnik" von Phoenix heruntergeladen, zu finden unter folgendem Link. Dort war der Baustein enthalten und laut Hilfe der richtige für meine Baugruppe zu sein. Klingt auch logisch wie sich das anhört nur habe ich Schwierigkeiten das ganze in die Tat umzusetzen.

https://www.phoenixcontact.com/online/portal/de?1dmy&urile=wcmath:/dede/web/main/service_and_support/subcategory_pages/function_blocks/19da74bb-7f89-4c8e-9911-f903ff65becb/19da74bb-7f89-4c8e-9911-f903ff65becb
 
Das wäre glaube ich auch etwas viel verlangt... bin auch erst morgen wieder am Arbeitsplatz. Das ganze ist für ein Schulprojekt und wenn ich bis Freitag die Analogwert Verarbeitung schaffen würde wäre das schon echt super. Danke dir
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So also vorab folgende Bilder:

Anhang anzeigen 25987Anhang anzeigen 25988

Die Beschaltung:

- Activate: dürfte für sich selbst sprechen
- bselect: hier muss als hex die Nummer des Kanales drin stehen wobei Jedes Bit für die Nummer des Kanales steht bit0 = Kanal1
- udtParameter: Darin wird der Kanal Parametriert, sprich 0-20/4-20 etc. Wie die Struktur aufgebaut ist konnte ich noch nicht nach schauen. Hab keine SPS zu Hause
- dwInput: dies sind die Eingangsdaten der Karte siehe Bild2
- udtData: Hier drin verbirgt sich dann in einer Struktur der entsprechende Analogwert (Diese Struktur konnte ich auch noch nicht prüfen)
- dwOutput: dies sind die Ausgangsdaten zur Karte siehe Bild2

Entsprechend der Beschreibung bedeutet dies, das Du dann für jeden Kanal entsprechend den Baustein Aufrufen musst.
Wobei die dwInput und dwOutput Variablen immer die gleichen sind.
Und die anderen natürlich Kanalweise zu sehen sind.

Kann sein, das ich die Beschaltung des bselect nicht korrekt gemacht habe da bin ich mir nicht sicher.
So früh morgens Arbeitet mein Gehirn nicht korrekt, es fehlt noch etwas Koffein. ;)
 
Wow du bist ja wirklich früh unterwegs.

Leider kann ich deine Anhänge nicht öffnen.

Ok, also für jeden Kanal einen Baustein das klingt ja ganz gut.
Ich werde wohl 3 Sensoren anschließen mit 4-20 mA, zumindest ist so der Plan.

Die Bausteine hilft sagt das der Typ von udtParameter und udtData folgender ist...

ANL_ARR_IL_AI_8_Para

Zumindest habe ich eben schon mal gesehen das man den Datentyp bei einer Variable einfach auswählen kann.

Da bin ich mir jetzt unsicher was ich reinschreiben soll. Weiter unten in der Hilfe sind diese Strukturen weiter aufgeschlüsselt mit 1x Byte 2 xReal 1x Int und 1x Bool und das sind jede Menge Bit´s. Jetzt weiß ich nicht wie das eingetragen werden soll. Hoffe du verstehst was ich meine :-(
 
Zuletzt bearbeitet:
Habe mal ein wenig was versucht und wollte das Ergebnis mal zeigen.

Ich weiß jetzt immer noch nicht wie ich in der Prozessdatenzuordnung ne Verknüpfung herstelle.

Wenn ich das richtig sehe ist der

dwInputAddress

Die Variable die auf die IN0 und IN1 der Karte verbunden werden soll allerdings ist das eine ja DWORD und das andere jeweils 2 WORD.
Das selbe beim

dwOutputAddress

AI V1.0.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo nolk,

schaible.r hat ja schon viel zu der Anbindung gesagt.

Ich fasse es einfach noch mal kurz zusammen.

Die AI 8 SF pollt zwischen den Eingängen, das heißt ein Zyklus werden die ersten Werte abgeholt, im nächsten die zweiten und so weiter.

Wenn du den Baustein aus der Library nutzt, musst du dir darüber nur Gedanken machen, wenn es darum geht, ob du in Zyklus n die aktuellen Daten von dem Eingang hast, oder ob diese erst im darauffolgenden zyklus aktuell sind. Ist aber oft nicht von großer Bedeutung.

Das Modul hat sowohl Eingangsprozessdaten als auch Ausgangsprozessdaten. Der Hintergrund ist, dass über dei Eingangsprozessdaten die Werte von der Klemme an die Steuerung übergeben werden, über die Ausgangsdaten wird die Konfiguration an die Klemme geschickt.

hier noch ein kleines Anschaltbeispiel.



Edit: Ich habe deinen letzten Post übersehen, also hier noch kurz der Nachtrag zum Prozessdaten anbinden.

AI8SF_PD.JPG

Als Eingangsprozessdaten musst du für den Baustein das Doppelwort (~AI32) und nicht das einzelne Wort benutzen, genauso machst du es mit dem Ausgangsprozessdaten.

Bei weiteren Fragen stehe ich dir gerne zur Verfügung. Natürlich auch gerne per Telefon über unsere Hotlinenummer.

Mit freundlichen Grüßen
Ulrich Kleinschmidt​
 

Anhänge

  • AI8SF.JPG
    AI8SF.JPG
    55,1 KB · Aufrufe: 21
Zuletzt bearbeitet:
So jetzt sag ich nix mehr. [emoji6]

Besser als der Support kann ich es kaum noch beschreiben.

Ne ernsthaft.

Ich denke jetzt müsste alles klar sein.
 
Danke euch zwei. Sieht auch soweit gut aus, habe allerdings noch ein letztes Problem, dessen Ursache ich vielleicht sogar gefunden habe nur kann ich nichts daran ändern.

Ich habe einen Sensor angeschlossen und ich erhalte auch ein Signal am Prozessdateneingang. Nur wird meine Nomierung nicht durchgeführt und ich bekomme kein Signal am .Value oder am .Vale_PD. Ich habe eine Logikaufzeichnung vom NDR gemacht, der wohl pro Zyklus einen Taktwechsel vollziehen müsste und somit die Werte an .Value aktualisieren. Allerdings kommt der NDR nicht. Also bekomm ich kein Messsignal rein. Was könnte hier noch die Ursache sein?
 
AI Live.JPG

Range oben ist 1.20e2 - für 120

Range unten ist -5.0e1 - für -50

Activate setzte ich auf True und der Baustein geht auf Ready. Auch die Normierung schalte ich ein. Alles erstmal über den Debugger. Unten im Bild sieht man einmal A10_Eingang... da tut sich ja was. Obendrüber ist der NDR vom A10_Data. Dort tut sich nichts. Der zeigt meines Wissens an wann die Messdaten aktualisiert werden. Ich erhalte weder beim Value_PD noch beim Value einen Wert. Bleiben beide auf 0.

*Die Steuerung ist in der Garage da hab ich leider kein Netz. Daher grad kein Bild im Live Debugger.
 
Also NDR zu beobachten ist sehr schwer, da der nur einen Zyklus zu sehen ist.
Am besten nach dem Aufruf des Bausteines NDR mit einem Verlängerten Impuls auf eine Temp Variable und diese dann weitet verarbeiten.
 
Zurück
Oben