(11.02.2015 08:02 )Mannie schrieb: Hallo zusammen,
unser Problem besteht darin, das wir eine Messapplikation mit Labview haben und diese auch problemlos aus Siemens Operate gestartet werden kann und dann Ihren Dienst verrichtet. Bisher werden die Messwerte, welche in der NC aufgenommen werden, über die PLC ausgelesen und mit einer TXT-datei an Labview übergeben. Dies ist aber zu langsam.
Soweit bekannt ist, dass das auslesen von R-Parametern aus der NC über NCDDE-Server möglich sein müsste.
Wenn SinucomNC gestartet wird, wird auch der Prozess NCDDE.exe ausgeführt und das lesen der R-Parameter über Excel ist möglich.
Leider aber nicht das lesen direkt aus Labview.
Hier wird Fehler 14013 - DDE Open: DMLERR_NO_CONV_ESTABLISHED ausgegeben.
Labview bietet zwar die Möglichkeit mit einem DDE-Server zu kommunizieren, aktuell funktioniert dies aber nicht.
Laut der MMC.ini heißt der Server: ncdde.
Mache ich mit Hilfe der MMC.ini die Server sichtbar, bekomme ich hier unter NC <--> DDE angezeigt: Machine Switch Topic: "NCU840D", Topics:MachineSwitch-NCU840D-SIM0-SIM1-local.
Welches topic, service und item muss ich Labview nun benutzen, um R-Parameter zu lesen?
Oder ist dies gar nicht möglich, da NCDDE kein Standard DDE-Server ist?
Gibt es eventuell die Möglichkeit, aus Labview heraus eventuell die verfügbaren DDE-Server anzuzeigen?
Vielen Dank
Verfügbare DDE Server anzeigen ist nur möglich durch selber WinAPI Aufrufe zu machen. Das ist aber ziemlich mühsam da Du dazu die Call Library Node bemühen musst und Dich mit dem ganzen C Kram abgeben musst.
Das Problem mit DDE ist dass das ein uralt API ist. Ja, es stammt noch aus Windows 3.1 Zeiten, das viele hier auf dem Forum wahrscheinlich nur noch vom Hörensagen kennen. Es wurde zwar nach Windows NT übernommen durch Microsoft aber systematisch marginalisiert zugunsten neuer Technologien wie OLE/ActiveX und später .Net.
Das DDE Interface in LabVIEW stammt ebenfalls aus den Anfangszeiten von LabVIEW. Es benützt noch ein CIN (alte Form von externem Code) die in LabVIEW 64 Bit nicht mehr unterstützt wird. Die DDE Palette in LabVIEW wurde so rund LabVIEW 5 (vor mehr dann 10 Jahren) entfernt und die Help Dokumentation dazu etwas später ebenfalls. Also solches wurde an dieser Library seither auch nichts mehr getan. Sie funktioniert zwar, ist aber als Legacy Technologie deklariert, nicht mehr unterstützt, nicht portierbar nach 64 Bit LabVIEW und deshalb eigentlich nur abzuraten.
Falls Deine Software wirklich kein anderes Interface hat (wie alt ist die eigentlich? Implementation von DDE in Applikationen in den letzten 10 Jahren ist eigentlich eine totale Fehlinvestition!) dann könnte Dir diese
Application Note vielleicht weiterhelfen. Mehr dann das wird es aber nicht geben. NI hat das DDE Interface endgültig und absolut aufgegben und hat keinerlei Interesse da auch nur eine Stunde an Developerzeit daran zu investieren.