Wenn dein Client nur OPC-DA kann, dann kannst du wie gesagt nur auf "nicht optimierte" Datenbausteine zugreifen.
Zusätzlich musst du im OPC-Server dazu eine unspezifizierte Verbindung anlegen.
D.h. wenn du im TIA-Portal über diesen grenzdebilen Dialog in "Geräte &Netze" die Verbindungen "malst", dann ist diese Verbindung auschließlich für den symbolischen Zugriff über OPC-UA zu gebrauchen.
Für deine Anwendung benötigst du folgende Vorgehensweise:
- Löschen der bisher angelegten S7-Verbindung
- In "Geräte & Netze" mit der rechten Maustaste auf den OPC-Server, im Kontextmenü "Neue Verbindung hinzufügen" auswählen
- Im Dialog "Unspezifiziert" anklicken. Bei "Lokale ID" trägst du einen sinnvollen Namen für deine Station ein (später relevant für den OPC-Client). "Hinzufügen" anklicken und Fenster schließen.
- Die Eigenschaften der angelegten Verbindung anwählen. Das ist unglaublich kompliziert und versteckt, ich kanns dir nicht erklären wie du da hinkommst. Im Normalfall ist das Fenster aber nach dem hinzufügen im Vordergrund.
- In den Eigenschaften unter "Allgemein" und "Adresse" trägst du manuell die IP-Adresse der SPS ein. Unter "Adressdetails" trägst du beim Partner unter "Baugruppenträger / Steckplatz" die Werte 0 und 1 ein. Bei der Verbindungsressource beim Partner die 03.
Alles übersetzen und in die PC-Station laden.
Im OPC-Scout sollte die Verbindung dann unter:
Lokale COM-Server -> OPC.Simatic.NET -> \S7: <DeinVerbindungsname>
sichtbar sein.
Dort klickst du dann in den Unterordner "objects" und "M". Da klickst du auf "Neue Definition". Dort trägst du erstmal einen Dummywert wie MINT0 ein, und ziehst diesen in die Beobachtungstabelle. Dort kannst du dann die Item-Adresse auf eine DB-Adresse ändern. D.h. die deines "nicht optimierten" DBs.
Es gibt noch die Möglichkeit der zweiseitigen Verbindung (d.h. zwei unspezifizierte Verbindungen, einmal im OPC-Server, einmal in der SPS), aber die erwähne ich nur der Vollständigkeit halber, weil mit das zu kompliziert zu beschreiben ist.