# Ncdde Server --> DCTL.OCX



## andice (7 April 2021)

Hallo zusammen,

ich beschäftige mich gerade zum ersten mal mit dem Ncdde Server und will Daten aus einer Sinumerik 840 pl auslesen.

Bisher konnte ich den ncdde Server local zum laufen bringen (Konfig. der mmc.ini) und mit dem DDETEST.EXE auch

testen, siehe Anhang.

Ich möchte nun die DCTL.OCX mit VB2010 verwenden, und habe die Datei in die Komponenten geladen.

Wenn ich nun das form mit:

Public Class Form1
    Sub Form_Load()
        Dctl1.LinkItem = "/Channel/GeometricAxis/toolBaseDistToGo[u1,1]"
        Dctl1.DataToCaption = True
        Dctl1.LinkCmd = 11
    End Sub
End Class

 ausführen möchte, erscheint leider nicht der gewünschte Wert sondern nur Dctl1.
Es kommt auch keine Fehler in VB.
Kann mir ev. wer einen Tipp geben?
Danke


----------



## Oberchefe (7 April 2021)

LinkTopic ist richtig eingetragen?

Bei Siemens im Forum gab's das Thema auch schon:
https://support.industry.siemens.co...in-nc-part-program/145876/?page=0&pageSize=10


----------



## andice (7 April 2021)

Danke diesen link kenn ich schon, da ist auch eine sehr hilfreiche Anleitung dabei.

Wenn ich bei link|topic etwas ändere tut sich bei VB nichts....
Auch im Bsp aus dem Siemens Forum wird hier nichts geändert, da wird ncdde|machineswitch verwendet...


----------



## Oberchefe (7 April 2021)

ich kenne leider dieses OCX nicht, habe nur schon generell was mit DDE gemacht. Generell müssen da 3 Dinge definiert sein:
Program,Topic,Item

Program ist das Programm, mit welchem kommuniziert werden soll, das kann Excel oder Word oder sonst was sein, in dem Fall der ncdde Server

Topic ist dann in deinem Fall schätzungsweise der Link auf die Steuerung, der DDE Server kann ja vermutlich mit mehreren Steuerungen reden. Den Namen des Topics definiert man üblicherweise im DDE server, der muss dann genau gleich im DDE-Client eingegeben werden. Hast du da auch schon was passendes im ncdde Server definiert?

Item ist hier letzendliche der Name der zu lesenden bzw. schreibenden Variable.

Mit Dctl1.LinkCmd definierst du, wie kommuniziert werden soll, da weiß ich leider auch nicht was die 11 bedeutet, habe die OCX nicht.


----------

