INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

LV und Profibus ansteuern?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.01.2007, 15:21 (Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2007 15:28 von Achim.)
Beitrag #11

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
LV und Profibus ansteuern?
Hi,

die VI's musst du dir selber basteln! Und um zu wissen, wo was steht musst du natürlich die Datenstruktur in der SPS kennen. Meist wird für so ne Übergabe vereinbart "wir nehmen den Datenbaustein 60 für Eingänge, den DB61 für Ausgänge, DB62 für Fehlermeldungen der SPS" o.ä. Das ist ja für jede Aufgabe anders...also nur die Adressen kann man angeben, den Rest muss man sich selber zurechtschrauben. Du bildest dir im LV die Datenstruktur z.B. als boolesches Array ab, dieses beschreibst du mit deinen Daten (LV->SPS und SPS->LV). Das Cluster ist meine Datensammlung (Ausgänge), die übertrag ich dann auf das boolesche Array und das gleiche mach ich auch mit den Eingängen, die von der SPS kommen. Wenn du die Datenstruktur mal verinnerlicht hast, ist's nicht mehr schwer. Man muss manchmal halt ein bisschen außenrum arbeiten, z.B. weil man von den übertragenen Daten das Zweierkomplement bilden muss, um ne "Klartextanzeige" zu erhalten.

Gruss

A.

PS: Warum zitierst du eigentlich immer komplett den vorhergehenden Post? Die Threads werden dadurch nicht grade übersichtlicher! Das macht ja Sinn, wenn man Teile (!) zitiert die "viel weiter oben" mal aufgetaucht sind, aber ganze Antworten und dann auch noch direkt unten drunter...das ist meiner Meinung nach nicht so prickelnd! Nicht vor Wut schnauben, bitte...


PPS: Jetzt hast du's schnell geändert...du Schuft!

PPPS: #DIs (48) = Anzahl digitaler Eingänge von der SPS (Endschalter erreicht, Trigger für Messung, usw.)
und # SPS-Meldungen (96) = Anzahl von Fehlermeldungen (Bit0 = Fehler x, Bit1 = Fehler y, usw.)

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.01.2007, 16:54
Beitrag #12

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
LV und Profibus ansteuern?
Achso, jetzt steige ich langsam durch. Was ich noch nicht ganz verstanden habe, ist:

- wieso Du das "Reshape Array" verwendest,
- wie das mit den analogen Signalen funktioniert (was das mit dem "geteilt durch 1000" bedeutet,...) und
- woher der Cluster bei "Integers an SPS" kommt, bzw. was da drin steht.

Gruß Markus

PS: Mit dem Zitieren hast Du natürlich recht. Oft vergesse ich es und mache es dann später weg. Sorry. Blush

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2007, 09:35
Beitrag #13

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
LV und Profibus ansteuern?
Hi Markus,

ich musste erst mal überlegen...das ist jetzt ca. 4 Jahre her, da wusste ich einiges nicht mehr so genau...

Der Reihe nach:

1. Das "Reshape":

Ich kriege die Daten aus der DLL als U8-Werte, d.h. ein Array of U8 mit z.B. immer 40 Elementen. Die ersten 2 Elemente sind Digitale Eingänge (2x 8Bit), die nächsten 14 repräsentieren analoge Eingänge (bei denen high und low-Bytes sortiert werden müssen und manche mit 1/1000 skaliert werden müssen), die nächsten 4 sind wieder DI (werden oben angefügt) und die restlichen sind ebenfalls DI, allerdings in nem separaten Block, der Fehlermeldungen repräsentiert. 2+14+4=20, d.h. ich hab noch 20 Byte (also 20x 8 Bit = 160 Bit) für die Fehlermeldungen oder weitere Daten (Reserve). Ich brauch hier aber nur noch 96 Bit, die ich vorher für Fehlermeldungen definiert habe.

Die Verteilung der 96 Fehlerbits siehst du im Bild hier:

   

Im ersten Schritt werden die 20 Byte (20x U8) in boolesches 2D-Array gewandelt (20x8x1Bit). Dann werden diese Elemente des 2D per Reshape in ein 1D mit 96 Elementen überführt, der Rest wird verworfen, weil ich's nicht brauche. Das Abscheiden erfolgt, damit ich genauso viele Elemente hab wie im vordefinierten Array of Cluster "Fehlerliste SPS", dann kann man per Autoindexing in das jeweilige "Data"-Feld im Cluster schreiben! Den Inhalt der Fehlerliste siehst du im Hilfefenster!



2. "geteilt durch 1000"
siehe oben, dient der Skalierung



3. Integers an SPS
Die SPS verfügt über eine nachgeordnete numerische Steuerung, diese kann nur mit Integerzahlen rechnen. Zum Arbeiten benötigt sie einige Parameter, die stehen in dem Cluster, siehe nachfolgendes Bild! Das Cluster hab ich mir selber erstellt, es wird über ein Konfigmenü (LV-FP) befüllt und dann der SPS übergeben.

   

So, genug erzählt...ich musste mich schon an viel mehr Details erinnern, als ich eigentlich wollte...Wichtig ist eigentlich nur: Du vereinbarst mit der SPS-Seite die Datenstruktur und die Adresse, den Rest muss man dann zusammenbauen oder aufdröseln...

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2007, 09:47
Beitrag #14

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
LV und Profibus ansteuern?
Hallo Achim,

Danke für die ausführliche Hilfe. Jetzt ist mir so manches klarer geworden. Ich war aber auch hartnäckig.....Lol

Gruß Markus

Edit:
Noch etwas: Wo finde ich in den oberen Bildern die DLL? Im SPS Serv, oder im Run, Init oder Close?Blush

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2007, 12:53
Beitrag #15

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
LV und Profibus ansteuern?
Hi,

der SPS Serv besteht aus einer Case Struktur mit angeschlossenem Enum: Init, Run, Close

Meine Programme sehen eigentlich meist so aus:

Stacked Sequence 1: Initialisierung (HW, Variablen, etc.)
Stacked Sequence 2: eigentliches Programm (meist State Machine)
Stacked Sequence 3: Aufräumen (Referenzen schließen, Treiber schließen, usw.)

Der SPS Serv wird entsprechend in allen drei Sequenzschritten aufgerufen, dabei werden folgende Zustände angesteuert:

1: Init: OpenDriver, InitBoard, SetHostState
2: Run Acquisition: ExchangeIO
3: Close: ExitBoard, Close Driver

Die grade aufgezählen Elemente sind jeweils VIs die in der Reihenfolge der Aufzählung aufgerufen werden. In jedem dieser VIs erfolgt über einen "Call library function node" der Aufruf der DLL, natürlich mit anderen Parametern! Diese Beschaltung war aber schon vorgegeben aus dem erwähnten Beispiel-VI!

Tschö...
A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2007, 13:21
Beitrag #16

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
LV und Profibus ansteuern?
OK. Jetzt klingt das logisch für mich.:lol:Vielen Dank für Deine Hilfe. Blush

Schönes Wochenende.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.12.2007, 15:08
Beitrag #17

capunze
Unregistered


 







LV und Profibus ansteuern?
' schrieb:Hi Markus,

die DLL kriegt man "vorverdrahtet" in nem Beispiel, dass muss man dann entsprechend aufbohren. Es gibt ein Init, ein Run, und ein Close, genauso wie bei den NI-Karten. Hier mal ne Vorgehensweise in Bildern...

Die gezeigten VI's liegen vor bzw. nach dem oben schon gezeigten eigentlichen Kommunikations-VI (schreiben in LV -> read/write dll -> lesen nach LV)

Gruss
Achim



Hi,

ich hab hier die Original CD von Hilscher fuer die Karte CIF 50-DPS vor mir liegen. Ich kann aber kein Beispiel VI auf der CD finden. Kann es sein das Hilscher das Beispiel von der CD heruntergenommen hat? Oder verstehe ich was falsch. Kann einer das Beispiel VI reinstellen oder mir schicken? Waere super.

Gruß Daniel
Diese Nachricht in einer Antwort zitieren to top
05.12.2007, 15:25 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2007 21:20 von jg.)
Beitrag #18

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
LV und Profibus ansteuern?
Hi,
ich glaube mich zu erinnern, dass ich das damals bei denen angefordert habe...

Guckst du hier:

Sehr geehrter Herr ...,
anbei sende ich ihnen die gezippte Datei zu dem mir zur Verfügung stehenden LabVIEW-Treiber.
Bitte beachten Sie, dass der Treiber nicht von Hilscher erstellt wurde und auch nicht supportet wird.
Den Treiber müssten Sie sich selbst für Ihre Gegebenheiten anpassen.
Im einem beiliegenden Dokument finden Sie in der Fußnote einen Ansprechpartner aus Spanien.

Mit freundlichen Grüßen

Ralf Schoßland
- Vertrieb / Sales -

Tel. 06190 / 99 07 - 46
E-Mail: rschosslandAThilscherDOTcom
------------------------------------------------
Hilscher Gesellschaft für Systemautomation mbH
Rheinstr. 15, 65795 Hattersheim
Sitz der Gesellschaft: Hattersheim
Geschäftsführer: Hans-Jürgen Hilscher
Registergericht: Amtsgericht Frankfurt/Main
Handelsregister: Frankfurt B 26873
http://www.hilscher.com



Sonstige .zip  HilscherLabviewDrivers.zip (Größe: 816,98 KB / Downloads: 399)
(VI's LV 5.1)

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2007, 10:16
Beitrag #19

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LV und Profibus ansteuern?
' schrieb:Hi,
ich glaube mich zu erinnern, dass ich das damals bei denen angefordert habe...

Die Treiber sind zwar ausführlicher aber die Art der Implementation eher sehr direkt und LabVIEW Benützerunfreundlich.

Die dem Post Siemens CP5611 angehängten VIs sind hier etwas LabVIEW freundlicher, meiner ganz unbescheidenen Meinung nach.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.12.2007, 13:56
Beitrag #20

Lummi Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Dec 2007

8.5
2007
kA

58579
Deutschland
LV und Profibus ansteuern?
Hallo Achim,

seit kurzem arbeite ich mit LV 8.5 und soll nun die Kommunikation mit einer Hilscher Karte (Profibus 8k) realisieren. Beim stöbern im Forum bin ich hier gelandet.
Scheinbar habe ich von Fa. Hilscher die selben VI's bekommen von denen du geschrieben hast. Mit Hilfe von NI sind diese nun lauffähig für 8.5
Das ersetzen der "Code Interface Nodes" durch "Call Library Function Nodes" hat auch geklappt.

Wie oben auch von dir beschrieben, habe ich eine kleine Sepquenz geschrieben, um I/O-Daten auszulesen. Open , Init, SetHostState, ExchangeIO, Exit und Close.

Problem dabei ist, dass ich keine Daten eingelesen bekomme.

Scheinbar übergebe ich nicht die richtigen Parameter, oder ich lasse mir nicht die richtigen Parameter anzeigen.

Hast du vielleicht ein Beispiel für die Parameterübergabe?
Oder welche Parameter auf jeden Fall übergeben werden müssen?

Vielen Dank im Voraus

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question Kommunikation mit einem Frequenzumrichter mit PROFIBUS DP RoboBurger 16 15.644 17.09.2014 15:06
Letzter Beitrag: GerdW
  Profibus-Master mit mehreren Slaves cueball 0 3.363 05.04.2012 14:34
Letzter Beitrag: cueball
  Profibus ohne weitere Hardware M@rRy 5 5.243 14.10.2011 10:08
Letzter Beitrag: BNT
  Movidrive mit Profibus Daerstofer 1 3.884 29.08.2008 10:59
Letzter Beitrag: Achim
  Zugriff auf Profibus! fischabvb 1 4.215 13.03.2008 19:46
Letzter Beitrag: Dennis.Moser
  Profibus! fischabvb 1 3.498 13.03.2008 00:06
Letzter Beitrag: ChristianS

Gehe zu: