# libnodave und delphi demo mit CP5511



## michdan (17 Januar 2006)

hallo

Ich habe eine CPU 413 und ein CP5511 interface, mit der ich uber MPI auf die steuerung gehen kann.

MPI adresse der CPU ist 2 und mein PC hat MPI = 0.

Jetzt vollte ich eine verbindung machen vom delphi-demo program das im 'libnodave 0.8.1' dabei ist, aber ich bekomme keine verbindung.

Ich habe alle protocolle versucht und habe auch die CPU in slot 3 gemacht, aber immer noch keine verbindung...was mache ich falls??

Die CP5511 ist eine PCMCIA karte muss ich da was fur den comport einstellen ??


----------



## seeba (17 Januar 2006)

michdan schrieb:
			
		

> hallo
> 
> Ich habe eine CPU 413 und ein CP5511 interface, mit der ich uber MPI auf die steuerung gehen kann.
> 
> ...



Du musst das Protokoll bzw. den Verbindungstyp s7online nutzen! Dabei muss ein Zugangspunktname übergeben werden, welcher vorher in der Systemsteuerung unter "PG/PC-Schnittstelle einstellen" definiert und konfiguriert wird. Das ganze läuft mit dem CP5511 nur, wenn SIMATIC Software oder die PG Device Driver auf dem selben Rechner installiert sind.

Gruß Sebastian


----------



## michdan (17 Januar 2006)

hallo seeba

Das sollte alles in ordnung sein, das PG interface ist auf MPI eingestellt und ich kann auch auf die steuerung gehen mit der s7-software....

auch eine verbindung mit dem kleinen test program 'testS7Online' geht.....

aber das demo program im delphi ordner 'NoDaveDemo.exe'  da bekomme ich keine verbindung.....


----------



## seeba (17 Januar 2006)

michdan schrieb:
			
		

> hallo seeba
> 
> Das sollte alles in ordnung sein, das PG interface ist auf MPI eingestellt und ich kann auch auf die steuerung gehen mit der s7-software....
> 
> ...



Hey,
ich kann dir leider nichts zu dem Delphiprogramm sagen, aber da die Verbindung ja funktioniert solltest du deine Applikation ja jetzt erstellen können.

Gruß Sebastian

PS: Werd gleich mal spielen. Hab auch ein CP5511. Aber erst in der Mittagspause.


----------



## michdan (17 Januar 2006)

hallo seeba

Ok danke ich versuche weiter....

Das protocol das ich von dem delphi demo benutze heisst 'S7Onlinx.dll'.......


----------



## seeba (17 Januar 2006)

So hab's ausprobiert!

Es muss bei COM-Port der Zugangspunktname rein... also: S7ONLINE
Um die Adresse des gegenüber einzustellen musst du kurz zu einem anderen Protokoll wechseln.

Getestet hab ich mit CP5511 und 315-DP/PN.

Gruß Sebastian


----------



## afk (17 Januar 2006)

seeba schrieb:
			
		

> Es muss bei COM-Port der Zugangspunktname rein... also: S7ONLINE
> Um die Adresse des gegenüber einzustellen musst du kurz zu einem anderen Protokoll wechseln.



Kleine Anmerkung hierzu:
Das Protokoll S7Online ist als "quick and dirty"-Hack in die Komponente und die Demo eingeflossen. Für den Zugangspunkt wollte ich kein zusätzliches Feld einfügen, da das Feld für den COM-Port bei diesem Protokoll ja eh nicht gebraucht wird. 

Das mit der MPI-Adresse der SPS ist ein Bug in der Demo, wird demnächst korrigiert. Die Komponente ist davon nicht betroffen.

Dazu fällt mir auf, daß es relativ häufig Fragen zur Demo gibt, und recht wenige zur Komponente (abgesehen von der Frage, wo sich die nodave.pas bzw. nodave.dcu befindet). 

Wird die Demo denn tatsächlich mehr genutzt als die Komponente ? :roll: 


Gruß Axel


----------



## michdan (17 Januar 2006)

hallo  afk

So jetzt klappt es auch bei mir......aber ich musste auch die slot nummer der CPU auf 2 stellen obwohl die CPU im slot nummer 3 sitzt ?!?!

aber dann hat es auch geklappt....vielen dank....

Wo fur sind die anderen MPI protocelle gedacht ??


----------



## michdan (17 Januar 2006)

hallo afk


Habe deinen anderen fragen ubersehen.....

nein naturlich ist die komponente das wichtigste aber ich habe vor kurtzen erst diese library 'LibNodave' entdeckt und wurde gerne mit Delphi damit arbeiten, aber es gibt nur wenig zu erfahren uber diese library (finde ich)  und deshalb klammere ich mich an die beispiele die es gibt um ein anfang zu finden....

Aber mir wurde es freuen wenn mehr diskusion/info zu dieser library geben wurde und auch mehr beispiele fur anwendungen...


gruss
michael

P.S.  Seeba auch danke an dir fur die hilfe....


----------



## afk (17 Januar 2006)

michdan schrieb:
			
		

> So jetzt klappt es auch bei mir......aber ich musste auch die slot nummer der CPU auf 2 stellen obwohl die CPU im slot nummer 3 sitzt ?!?!



Das ist seltsam, ich muß ich bei unserer 416-2/DP immer Slot 3 einstellen, damit es funktioniert. :? 



			
				michdan schrieb:
			
		

> aber dann hat es auch geklappt....vielen dank....



Der Dank muß an Seeba gehen, der hat schließlich die notwendigen Infos geliefert . :wink: 



			
				michdan schrieb:
			
		

> Wo fur sind die anderen MPI protocelle gedacht ??



Das sind die verschiedenen Protokolle, die von libnodave bereitgestellt werden. Meine Komponente reicht die nur an Delphi durch. Für welchen Zweck welches Protokoll am besten geeignet ist, das kann Zottel bestimmt viel besser beantworten. Grundsätzlich sind die anderen Protokolle aber zur direkten Kommunikation über Seriell/MPI-Adapter bzw. die Netzwerkkarte da. Dann muß auch keine Siemens-Software installiert sein. 
Dazu gibt's bestimmt aber auch schon Threads in diesem Forum, einfach mal suchen ...



			
				michdan schrieb:
			
		

> ... aber es gibt nur wenig zu erfahren uber diese library (finde ich)  und deshalb klammere ich mich an die beispiele die es gibt um ein anfang zu finden....



Was die Komponente betrifft, da liegt eine Hilfe-Datei mit im Verzeichnis.

Für die Bibliothek gibt's im Verzeichnis \doc einige Dokumente, und ansonsten ist noch einiges an Kommentaren im Quellcode zu finden.


Gruß Axel


----------



## Ralle (17 Januar 2006)

@Axel

Deine Komponente ist wirklich gut, einziger Wermutstropfen für mich, man kann mit einer Komponente nicht zu mehreren Steuerungen Kontakt aufnehmen (muß mal probieren die Komponente zur Laufzeit zu erzeugen). Leider habe ich es noch nicht hinbekommen mit "s7Online"-Protokoll Daten aus 2 Steuerungen parallel auszulesen, es kommen immer die Daten aus der ersten geöffneten Verbindung an, egal ob man die zweite Verbindung (SPS) anspricht. Zottel bat um etwas Geduld und ich hoffe darauf, daß er das Problem finden kann, ist wohl n icht so ganz ohne   .


----------



## afk (17 Januar 2006)

Ralle schrieb:
			
		

> Deine Komponente ist wirklich gut, einziger Wermutstropfen für mich, man kann mit einer Komponente nicht zu mehreren Steuerungen Kontakt aufnehmen (muß mal probieren die Komponente zur Laufzeit zu erzeugen).



Die Komponente zur Laufzeit zu erzeugen funktioniert eigentlich problemlos, mache ich in meinen Programmen eigentlich ausschließlich. Du mußt dann eben nur die Properties im Programmcode entsprechend einstellen, ich hinterlege dazu die Parameter normalerweise in einer .ini-Datei, die Demo-Applikation ist dafür ein Beispiel. 

Aber zum Ausprobieren ist es halt ganz praktisch, wenn man die Eigenschaften mal schnell im Objektinspektor testen kann, bevor man sich an's implementieren macht.  

Das für jede Steuerung eine eigene Komponente verwendet werden muß hat den Vorteil, daß damit auch für jede Steuerung ein eigener Thread für die Kommunikation erzeugt werden kann. Das hat zumindest bei TCP/IP den Vorteil, das die Kommunikation mit allen Steuerungen ohne weiteres zutun parallel abgehandelt wird. 

Ob und wie das mit MPI-Adaptern funktioniert weiß ich allerdings nicht, da ich keinen habe.  :? 


Gruß Axel


----------

