Neues libnodave Version (woher?)

Zuviel Werbung?
-> Hier kostenlos registrieren
Zweifel! Die SPS (mit CPx43 oder Ethernet onboard) sollte doch mittels der Bausteine GET und PUT Daten (auf ihre Initiative) zu einem PC schicken können?
Dabei wäre es vielleicht. noch schöner, wenn der PC diese Verbindung aufbaut, dann hätte man den Ärger mit der Konfiguration nicht...

Im Prinzip musst Du dann aber einen Interpreter für die Kommandos der SPS bauen. Ich glaube sowas gibt es daher auch nicht fertig zu kaufen (lasse mich aber gerne belehren).
 
Dies liegt aber nicht am aktiven oder passiven Verbindungasaufbau. Grundsätzlich sind bei projektierten Verbindungen ein paar zusätzliche Dinge wie BSEND, BRCV, USEND, URCV etc. realsierbar. Aber diese funktionieren, egal wer die Verbindung aufbaut.
Es ist nur "natürlicher", daß derjenige, der mit dem Senden beginnt, auch die Verbindung herstellt.
Sonst ist es ein wenig so, als ob man jemanden anriefe, um dann schweigend zu warten, ob er denn wohl was sagt und andersherum wartet der andere vergeblich auf den Anruf, obwohl er was zu sagen hätte...
Aber wegen der Umständlichkeit, die HW-Konfig zu ändern, könnte es ein brauchbarer Weg sein.

Wir können gerne am Forumstreffen uns ausführlich darüber unterhalten. Kommst du dieses mal wieder?
Prinzipiell immer gerne. Aber jetzt kann ich es noch nicht bestimmt sagen.
 
Der "Witz" ist, daß in Libnodave vorhandene Routinen wahrscheinlich schon große Teile eines solchen "Interpreters" abdecken.

Ich glaube trotzdem nicht dass es so einfach ist.
Gegenüber der SPS muss die Software eine SPS simulieren. Wird noch
gehen, wenn man DB, Merker, EA etc. in entsprechenden Arrays verwaltet.

Die Kernfrage ist aber der Sinn der Aktion.
Nur weil die OO-Fuzzies (bitte nicht hauen) das so wollen?
Was glaubst Du warum es sowas nicht schon längst zu kaufen gibt?
 
Hallo:
Code:
 byte[] m_Dat = new byte[88];
     res=dc.readBytes(libnodave.daveDB,2, 0, 88, m_Dat);

res=5

hier:

Code:
     byte[] m_Dat = new byte[88];
                    res=dc.readBytes(libnodave.daveFlags,2, 0, 88, m_Dat);

res=0

was bedeute dieser parameter (ich verwende ne VIPA)
 
#define daveAdressOutOfRange 5

//means the data address is beyond the CPUs address range

Ist der DB wirklich so lang? Anscheinend nicht.
 
Der DB war nich mal vorhanden.. hat der Kollege vergessen runterzuspielen.. SPS kenn ich mich net aus;)

Wenn ich jetzt readBytes verwende, bleibt er hängen?? woran liegt das?

EDIT: Gibt vll. irgendwo ne alternative zu libnodave? was verwendet bspw. softing?
 
ProDave müsste ja bei siemes simatic liszensen dabei sein oder? Auf der Simatic CD Da??

Prodave ist ein eigenes Produkt das separat zu lizensieren ist und befindet sich nicht auf der CD.
[Werbung]Aber bei Alternativen lohnt sich mit Sicherheit ein Blick auf ACCON-AGLink. Dort sind alle notwendigen Funktionen drin: Ist der Baustein da, wie lang ist er, ... Und AGLink liefert eine Fehlermeldung und hängt sich nicht auf. Bei Fragen dazu stehe ich gerne zur Verfügung ;-).[/Werbung]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke mal das mit dem Aufhängen ist eher eine Ausnahme und nicht die Regel bei libnodave. Wer es wirklich komfortabler möchte muss natürlich für solche Libs zahlen. Wobei ich mal denke das libnodave sogar schon besser als ProDave ist was die Möglichekiten anbelangt. Man muss nur mit klarkommen.

@Herr Hönle: Wann ist mal wieder eine intressante Inforveranstaltung bei Ihnen im Haus? Auf der Website habe ich nichts aktuelles gefunden.
 
Hallo Herr Höhlne,

ich schau mir grad die Demo Version von AGLink an;) Und hab mal das VB6 Beispiel Projekt dazu geöffnet.. hab das manual nich groß gelesen...

Das VB Projekt lässt sich starten, allerding finde ich da keine möglichkeit die IP Adresse der SPS anzugeben, nur dev, rack, slot nr etc.;)

Oder brauch man da etwa ein tool, um die Libraray zu konfigureiren?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Herr Höhlne,

ich schau mir grad die Demo Version von AGLink an;) Und hab mal das VB6 Beispiel Projekt dazu geöffnet.. hab das manual nich groß gelesen...

Das VB Projekt lässt sich starten, allerding finde ich da keine möglichkeit die IP Adresse der SPS anzugeben, nur dev, rack, slot nr etc.;)

Oder brauch man da etwa ein tool, um die Libraray zu konfigureiren?

Die Konfiguration findet am Besten mit AGLink40_Config statt. Dort kann dann auch gleich der Zugriff getestet werden, ob alles richtig parametriert ist. Und natürlcih AGLink40 (und nicht 3.x) verwenden ;-).
 
Hmm der AGLink Konfigurator hat ja ne ziemliche ähnlichkeit mit dem softig OPC Server^^;)

hmm.. das ist blöd mit der konfiguation... gibts keine möglichkeit die aglibraray über den code zu parameteiren wie in libnodave?? wäre edel;) sollte beides gehen.. hehe
 
Hmm der AGLink Konfigurator hat ja ne ziemliche ähnlichkeit mit dem softig OPC Server^^;)

hmm.. das ist blöd mit der konfiguation... gibts keine möglichkeit die aglibraray über den code zu parameteiren wie in libnodave?? wäre edel;) sollte beides gehen.. hehe
Der Konfigurator des OPC-Servers ist natürlich eine Spezialversion von AGLink40_Config (wen wundert das).
Selbstverständlich besteht die Möglichkeit, alles über Code einzustellen. AGLink40_Config verwendet auch nur die Funktionen aus AGLink. Allerdings rate ich von dieser Variante ab. Grund: Über die externe Konfiguration kann jederzeit auch auf eine komplett anderer Schnittstelle (TCP/IP statt NetLink-PRO, CP5611 statt PC-Adapter, ...) umgestellt werden ohne dass am eigenen Programm etwas geändert werden muss. Die API von ACCON-AGLink ist unabhängig vom Kommunikationsweg. Es ist sogar (mit entsprechenden systembedingten Einschränkungen) der Wechsel zwischen S5, S7-200, S7-300, S7400 möglich. Außerdem wird AGLink40_Config von uns weitergepflegt und unterstützt immer die neuesten Möglichkeiten von AGLink (wenn es um erweiterte Parameter geht) und muss nicht im eigenen Programm noch einmal nachgebildet werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ich experimentiere grab bischen rum... ich brauche schnelle Antwort zeiten.. ich will via Polling in nem extra Thread ja ständig änderungen auf der PLC abfragen (Denke der AGLink hat kein OnChange Event).

Wenn ich aber jede einzelen DB einelsen muss kostet mich das Zeit. nun dachte ich mir (Da ich die speicherbreiche der DB und größe auf der SPS ja kenne) einfach immer komplett den ganzen speicher in nem kurzen intervall einlesen, mit dem interen buffer vergleichen.. und auf der PC ebene dies da in DB Klassen mappen.

Kann ich mit dem AGLink sowas umsetzen?
 
Soll der ganze Speicherbereich immer auf Änderung geprüft werden? Ich würde in der SPS ein Changed-Flag mit Quitterflag einbauen und nur ein einziges Bit lesen und bei Änderung dann den gesamten Block. Hängt natürlich davon ab, wie oft die Änderungen stattfinden.
Aber grundsätzlich geht da Ganze auch wie beschrieben.
 
Ja wie sieht das denn aus? Ich will nich jeden vorhanden DB nacheinander einlesen und mit nem temp. gepuferten verlgeichen (kostet zu viel zeit). Gibt es auf der SPS kein Speicher berecih wo nur die DB's liegen und ich die auslesen kann? Hat AGLink funktionen die direkt auf dem psyikalischen speicehr zugreifen wo alles DB's liegen?? Wäre interessant zu wissen.. würde halt gerne mit 50.100ms pollen und zwar allle DBs;):)
 
Zurück
Oben