# Delphi und Libnodave Anfänger



## Kanonier (26 Juli 2011)

Hallo SPS Gemeinde,
Ich habe ein paar Anfängerfragen da die SPS-Welt so gar nicht meine Zuhause ist, ich aber nun ein kleines Projekt (eine Saugkransteuerung) damit realisieren muss.
Ich nutze Libnodave (in Verbindung mit Delphi 5) zur Kommunikation und die Verbindung steht auch, ich kann in die Datenbausteine schreiben und lesen.
Allerdings bin ich mir bei zwei Sachen nicht sicher.

1)Ich habe zwei Datenbausteine und die Definitionen liegen vor. Ein Datenbaustein ist für die Kommunikation vom Kran zu meinem Programm (Kran sendet Statusmeldungen), der andere für die Kommunikation vom Programm zum Kran (sende Fahraufträge).
Ich habe in meinem Delphi Projekt eine NoDave Komponente. Wenn ich den Datenbaustein wechseln möchte (mit  NoDave.DbNumber := xxx dann wird die Verbindung immer kurz unterbrochen. Nutzt man generell für jeden Datenbaustein auf der SPS eine Nodave Komponente und baut dann für jeden Baustein eine Verbindung auf? 

3) Ich schreibe die 85 (01010101) an Adresse 62, würde das folgende Flags setzen?
 +62.0     b_15_00 BOOL FALSE Kran Status 0 ->1 
 +62.1     b_15_01 BOOL FALSE Kran Status 1 ->0
 +62.2     b_15_02 BOOL FALSE Kran Status 2 ->1
 +62.3     b_15_03 BOOL FALSE Kran Status 3 ->0
 +62.4     b_15_04 BOOL FALSE Kran Status 4 ->1
 +62.5     b_15_05 BOOL FALSE Kran Status 5 ->0
 +62.6     b_15_06 BOOL FALSE Kran Status 6 ->1
 +62.7     b_15_07 BOOL FALSE Kran Status 7 ->0


Ich hoffe ich habe mich klar ausgedrückt so das man meine Fragen beantworten kann. Vielen Dank schonmal im Voraus.


----------



## Zottel (30 Juli 2011)

Kanonier schrieb:


> ...Ich hoffe ich habe mich klar ausgedrückt so das man meine Fragen beantworten kann. Vielen Dank schonmal im Voraus.


Mmmhh...
Ich kann sie vielleicht nicht ganz verstehen, weil ich zwar Libnodave geschrieben habe, aber nicht die Delphi-Komponente...
Generell sollte man so wenig Verbindungen wie möglich haben (alte CPUs konnten nur 2 oder 3?) und diese so lange wie möglich bestehen lassen und keinesfalls unnötig öffnen und schließen (das dauert recht lange und wenn für die CPU die alte noch existiert, bindet es Resourcen).
Über ein und dieselbe Verbindung kann man alle Daten, also auch alle DBs lesen. Falls da irgendwas in der Komponente suboptimal implementiert wäre, hast du als Delphi-Kenner ja den Quellcode.


----------

