# OPC-Items auf Sinumerik PCU 50 abrufen



## Chrissivo (5 März 2008)

Hallo miteinander,
ich habe den kühnen Wunsch die OPC-Items auf einer PCU 50, die mit einer 840D über MPI verbunden ist, abzufragen.
Jetzt weiß ich schon, dass auf einer PCU 50 standardmäßig ein OPC-Server läuft. Ich hoffe mal, dass sich dieser genauso wie der OPC-Server von Siemens für den PC ansprechen lässt.
Bei mir sind nun aber im Wesentlichen zwei Fragen offen:
1) Wie heißt so ein OPC-Server standardmäß? (evtl.: OPC.SINUMERIK.Machineswitch ???)
2) Wie heißen die einzelnen OPC-Items auf dem Ding? Ich habe soweit mitbekommen, dass es sich bei der Bennung um ein gewisses Schema handelt. Also Etwa "Plc/DataBlock/Bit[c2,180.0]" für den Datenbaustein "DB2.DBX180.0". Ist das so richtig, oder gibt es da Unterschiede?


Für (schnelle) Hilfe wäre ich seeehr dankbar.
Viele Grüße

Christian


----------



## bike (8 April 2008)

Vielelicht etwas spät.
Doch so weit ich weiss läuft die Kommunikation über dde.
Bei einer 840d ist heisst der Server 
ncdde|ncu840d
und die Abfrage eines Bit z.B so:
/Plc/DataBlock/Bit[c11,1.2]

Hoffe es hilft

bike


----------



## Chrissivo (23 April 2008)

*Das ist es wohl auch nicht...*

Hi Bike,
danke für die Antwort. Leider hilft sie mir nicht weiter.

Ich bin mir nicht 100%ig sicher, möchte aber meinen, dass DDE eine Alternative zu OPC darstellt.

Ich bin soweit auch schon erfolgreich gewesen und konnte mich zum OPC-Server erfolgreich verbinden. Nur leider bekomme ich jetzt eine Fehlermeldung beim Hinzufügen der einzelnen Items 

"Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT))"

Ich gehe hierbei stark von einem DCOM-Rechteproblem aus. Weiß allerdings noch nicht, welchen haken ich wo setzen muss.

Für Hilfe bin ich auf jeden Fall dankbar.

Vielen Dank und viele Grüße

Christian


----------



## LowLevelMahn (23 April 2008)

*schonmal lokal probiert*

falls es nur ein DCOM Rechteproblem ist sollte es ja von lokal aus laufen - macht es das?

ansonsten einfach mal mit dem OPCExplorer testen

http://www.kassl.de/opc/explorer.shtml

der geht wunderbar - nur bedenke: die Siemensler bieten keine OPC-Browse-Schnittstelle d.h. keine Auswahl der Items

wenns alles normal funktioniert kannst du dich dann der Problemlösung widmen

oder eine freie Anbindung nutzen z.B.

http://www.beharrell.org/projects/OPCClient/index.aspx


----------



## Boxy (24 April 2008)

Mal etwas schnelles aus der HMI Pro CS Hilfe:


*Syntax für PLC-/NC-Zugriffe über NCDDE*

HMI PRO greift auf Daten in einer Steuerung über den NCDDE-Server zu. Für einige Dialoge von HMI PRO können Datenzugriffe projektiert werden. Dazu müssen die Link-Items eines DDE-Zugriffs eingegeben werden.
Die Syntax von Link-Items für PLC-Adressen ist in der Benutzeranleitung SINUMERIK 840D/840Di/810D/FM-NC HMI Environment im Kapitel Schnittstelle MMC NCK/PLC / Variablendienst detailliert beschrieben.
Die Grundlagen und die wichtigsten Parameter werden hier kurz angesprochen.
Prinzipiell baut sich eine PLC-Adresse folgendermaßen auf:
Syntax von PLC-Adressen
/Zielgerät
/Datenbereich
/Zugriffsbreite (und Interpretation)
[Bausteinnr. / Adresse / Anzahl]
(Format)
/PLC
/DataBlock
/Bit
[...]
(...)

/Input
/Byte



/Output
/Word



/Memory
/DoubleWord




/Float




*Erläuterungen:*

Im Teil Bausteinnr./Adresse/Anzahl muss die Adresse immer angegeben werden.
Im Fall von Datenbausteinen muss vor der Adresse die Bausteinnummer mit vorangestelltem *c* und nachfolgendem Komma angegeben werden.
Im Fall von Bitzugriffen wird die Bitnummer mit vorangehendem Punkt an die Adresse angehängt.
Bei Byte-, Word- und Doubleword-Zugriffen kann die Anzahl der zu lesenden Einheiten angegeben werden. Die Länge folgt auf die Anfangsadresse, wird durch Komma von ihr getrennt und durch vorangestelltes *#* gekennzeichnet.
Für die Formatierung wird eine erweiterte printf-Formatierung verwendet.
Beispiel für PLC-Adressierungen 

/PLC/DataBlock/Byte[c59,240,#80] ("!l%lc")
Ab Adresse 240 werden 80 ASCII-Zeichen aus Datenbaustein DB59 gelesen.
/PLC/DataBlock/Float[c59,>100] ("!d%11.3lf")
Aus DB59 wird ab Adresse 100 ein Doppelwort gelesen, das Gleitkommazahl interpretiert wird. Die Zahl wird mit 11 Vorkommastellen und 3 Nachkommastellen dargestellt.
/PLC/Memory/Bit[5.7]
Aus dem Merkerbereich wird Bit 5.7 gelesen.


----------

