# Simatic NET OPC - Speicherort Itemdef



## Kurt (24 Januar 2011)

Hallo,

wenn ich über die Hardwarekonfig am OPC Server unter S7 Symbole Alle angebe, so werden nach der Generierung und dem Download der Konfig die Symbole "in den OPC Server geladen" und irgendwo gespeichert.

Wo ist der Speicherort und wie ist der Dateiname?
Question_mark hat das mal irgendwo geschrieben, finde den Eintrag leider nicht mehr.

THX
kurt


----------



## Question_mark (24 Januar 2011)

*Kurt, da kann ich Dir gerne helfen ..*

Hallo,



			
				Kurt schrieb:
			
		

> Wo ist der Speicherort und wie ist der Dateiname?



lange nichts mehr von Dir gehört, hoffe es geht Dir gut.

Schmeiss mal die Suchfunktion von Windows an und suche auf allen Laufwerken nach "S7Core.txt". Das sollte Deine Frage beantworten.

Gruß

Question_mark


----------



## LowLevelMahn (25 Januar 2011)

*hast du gerade ein Beispiel zur Hand...*

möchte vielleicht einer mal einen Auszug aus dieser "S7Core.txt" posten - möchte nur mal wissen welche Informationen Siemens da so mitgibt

thx


----------



## Kurt (25 Januar 2011)

Hallo,
danke dem Guru für die Info - erinnere mich jetzt wieder an die AW von Damals und Damals fand ich die Datei auch.

Nachdem ich die Datei jetzt nicht gefunden habe, wurde nun doch noch ein wenig Forschergeist wach.

Die Symbole habe sich unter (WinXP)
C:\Programme\SIEMENS\SIMATIC.NET\opc2\binS7\symbolic
versteckt.
Darin die Dateien:
S7Symbols.sti
Symbolic.zip
im ZIP ist eine
OPCSym11024201414.bin
Darin befinden sich "auch" die Itemnamen + eingerahmt von Binärdaten.

im 
C:\Programme\SIEMENS\SIMATIC.NET\opc2\binS7
findet sich eine
scores7.txt
Die hat Verbindungseinträge und ein paar demo Itemdefinitionen - wird also vermutlich nicht verwendet.

Die im PC Stationskonfigurator eingetragene S7Symbols.sti Datei aus einer anderen Lokation, wird definitiv nicht verwendet.

@LowLevelMahn
kann ich leider nicht providen weil es die beim mir nicht geben tut.

Danke und Gruss
kurt


----------



## Question_mark (25 Januar 2011)

*OPC Item*

Hallo Kurt,

ich habe ganz bewusst keine Pfade angegeben, da diese je nach Installation durchaus unterschiedlich sein können. 

Es gibt aber bezogen auf Deine Frage zwei Fälle zu betrachten : 

1) Du projektierst eine Verbindung in Netpro und fügst die Items per OPC-Scout hinzu. Dann findest Du das Resultat im Klartext in der besagten "S7Core.txt". Die Struktur dieser Datei ist recht offensichtlich, da kann man auch ohne OPC-Scout mit Notepad schnell die Items reinhauen. 

2) Du verwendest den Symboldatei-Konfigurator und erstellst die Items. Das Ergebnis landet in einer *.sti datei, deren Name und Speicherort Du selbst beim Abspeichern vorgibst. Wenn Du beim Speichern keinen expliziten Pfad angibst, landet die Datei in dem Dokumentenorder des Users, also etwa so : "C:\Documents and Settings\Username\MyDocuments".
Die Struktur ist nicht direkt ersichtlich, aber man findet mit einem Hex Editor die Verbindungen und Items wieder.

Ich selber verwende diese beiden Möglichkeiten nicht mehr. Ich lege einfach in meiner Applikation Variablen (der Name dieser Variable ist dann für meine gesamte Applikation die Symbolik) an und weise dieser die absolute S5/S7 Adresse zu. Das geht schneller und hat den Vorteil, das ich bei einer Änderung der SPS-Adresse nur an einer Stelle ändern muss.

Gruß

Question_mark


----------



## Dr. OPC (25 Januar 2011)

Na dann sage ich auch nochmal was dazu. Obwohl ich schon mal eine ausführliche Abhandlung geschrieben hatte.



> 1) Du projektierst eine Verbindung in Netpro und fügst die Items per OPC-Scout hinzu. Dann findest Du das Resultat im Klartext in der besagten "S7Core.txt". Die Struktur dieser Datei ist recht offensichtlich, da kann man auch ohne OPC-Scout mit Notepad schnell die Items reinhauen.


Das ist richtig und diese Datei funktioniert (entgegen anderen postings) auch heute noch. Um eine Verwechselung zu vermeiden wird diese Datei auch die ALIAS-Datei genannt, denn hier werden Aliasse angelegt und keine Symbole. Entsprechend tauchen die Aliasse auch woanders auf (unter S7:[Verb_1]Aliasse). Die Aliasse haben den entscheidenen Nachteil das man sie konsistent halten muss mit dem tatsächlich in Step7 vergebenen Adressen (anders gesagt: Step7 Projekt ändern bedeutet manuell die Aliass nachbearbeiten weil an der direkten Adresse nun eventuell nicht mehr "Temperatur" sondern "Druck" steht). Ein weiterer Nachteil ist das der Zugriff über Aliasse gerade bei größeren Mengengerüsten immer langsamer wird.



> 2) Du verwendest den Symboldatei-Konfigurator und erstellst die Items. Das Ergebnis landet in einer *.sti datei,


Das ist auch richtig (zumindest bei Versionen vor CD 2008 ). ABER du musst die Symbol-Datei nicht zwingend mit dem Konfigurator anlegen sondern (und das ist der eigentliche Trick) du kannst sie dir von Step7 "generieren" lassen. Und zwar an genau der Stelle, die Du schon beschrieben hast. HW-Konfig, Objekteigenschaften "OPC Server" dann den Reiter "S7" und dort ca. in der Mitte Symbole "keine", "alle" oder "selber editieren". Es werden von HW-Konfig dann Symbole erzeugt (die genau so heissen wie in deinem Step7 Projekt (z.B. Namen von DBs und deren Inhalten, Namen die in der Symboldatei vergeben wurden z.B. für irgendwelche Merker). So, und dieser ganze Kram "ergiest" sich dann in die XDB-Datei (die im Koko importiert werden kann) oder aber man kann direkt einen Download von Step7 aus auf die PC-Station machen, dann wird die Datei auch mit übertragen (also in die hier schon angegebenen Pfade "kopiert". Die Symbole tauchen dann unter "SYM:" im OPC Server auf.

Der Vorteil ist dass diese Symbole immer "automatisch" konsistent gehalten sind (denn sie werden ja direkt aus Step7 erzeugt) und wenn SPS und PC Station beide geladen werden dann passt das zusammen ohne das man in irgendwelchen Dateien manuell herumfummeln muss. Ein weiterer Vorteil ist das der Zugriff schneller ist als über Aliasse und wenn die neue Symbolik (zu erkennen an der Endung *.ati (anstelle von *.sti) verwendet wird dann wird der Zugriff mal richtig schnell, denn das *.ati Format wurde deutlich optimiert.


----------



## Question_mark (25 Januar 2011)

*Jetzt muss ich mich aber beeilen ..*

Hallo, 

noch ein kleiner Nachtrag : die S7Core bezieht sich natürlich nur auf Ethernet Verbindungen. Bei DP, FMS etc. sind es natürlich andere Pfade und Dateinamen.

Hoffe mal, ich bin dem Dr.OPC jetzt zuvorgekommen 

Gruß

Question_mark


----------



## Dr. OPC (25 Januar 2011)

Und noch ein Nachtrag, der vermutlich deine Frage besser beantwortet



> Die hat Verbindungseinträge und ein paar demo Itemdefinitionen - wird also vermutlich nicht verwendet.


Doch wird sie, wie gesagt unter S7:[Verbindung_1]Aliasse nachschauen, die definitionen der "DemoItems" siehst du nur wenn auch im PCStationEinstellen der Haken bei CP simulieren (S7 Demoverbindung) angehakt ist.


> Die im PC Stationskonfigurator eingetragene S7Symbols.sti Datei aus einer anderen Lokation, wird definitiv nicht verwendet.


Wenn sie dort einen "x" Kreuz hat, wird sie auch verwendet, die Symbole erscheinen unter "SYM:" im Server. Sie erscheinen allerdings nicht wenn du dich über OPC UA verbindest sondern nur wenn du dich mit dem OPC.SimaticNet verbindest (also der alte OPC COM DA Server). Der OPC UA Server braucht *.ati Symbole.


----------



## Dr. OPC (25 Januar 2011)

Und da warst du doch schneller !! 

habe meinen alten Thread gefunden

http://www.sps-forum.de/showpost.php?p=237511&postcount=1


----------



## Question_mark (25 Januar 2011)

*Wie sieht der Dr. OPC das ?*

Hallo,



			
				Dr. OPC schrieb:
			
		

> und wenn SPS und PC Station beide geladen werden dann passt das zusammen





			
				Dr. OPC schrieb:
			
		

> passt das zusammen ohne das man in irgendwelchen Dateien manuell herumfummeln muss.



Meiner Meinung nach ist das ganze ziemlich überflüssig, deshalb verwende ich keinen OPC-Scout oder Symboldatei-Konfigurator mehr.

Ich lege in meiner Applikation sowas in dieser Art an :

Const
  Connection1 : "[S7_TCP_ConnName]";

  Group1      : "Drives";

  Symbol1    : "DB10,REAL4,10";
  Symbol2    : "DB11,INT10,4";


Symbol ist dann per Copy aus der Symbolliste eingefügt, das ganze kriegt mein OPC-Client als ItemDef vor die Füsse geschmissen. Ich packe keinen OPC-Scout, keinen Symbolik Editor und Co mehr an (ausser erstmalig die  Netpro Verbindungsprojektierung).

Das hat ausserdem den Vorteil, dass meine App nunmehr mit der Symbolik arbeitet und evtl. Änderungen an der SPS-Adresse nur einmal an einer definierten Stelle in der App durchgeführt werden muss. 
Da brauche ich doch keinen OPC-Scout, Symboldatei-Konfigurator etc. mehr ?

Oder gibt es doch Argumente, diese Tools zu verwenden. Im Moment sehe ich keine, aber ich nehme jede Info gerne an.

Gruß

Question_mark


----------



## Dr. OPC (25 Januar 2011)

Schon klar nur das





> Connection1 : "[S7_TCP_ConnName]";
> 
> Group1      : "Drives";
> 
> ...


fällt ja nicht vom Himmel, sondern muss erstmal erstellt werden. Und der bezeichner "Symbol1" woher kommt der, denkst du dir den selber aus, dann ist er vermutlich anders als der den sich der SPS-Programmierer ausgedacht hat (oder du kopierst den auch mit oder schreibst in ab aus dem FUP/KOP/AWL editor





> Symbol ist dann per Copy aus der Symbolliste eingefügt


 ein manueller Schritt den du jedesmal wenn am SPS-Programm was geändert wurde nochmal machen musst.

Wie gesagt du stehst dich natürlich nicht schlechter als mit der S7Core.txt Alias-Datei oder auch nicht schlechter als mit einer "handgeschriebenen" Symboldatei (unter verwendung des SymbolKonfigurators). ABER die Datei einfach generieren (aus Step7 heraus) genau passend mit allen Bezeichnern und allen Adressen konsistent zum Step7-Projekt inklusive Verbindungsnamen, ich denke das ist schon ein Vorteil, ganz ehrlich. (spätestens ab 3-5 SPSen mit jeweils 200 DBs)


----------



## Question_mark (25 Januar 2011)

*OPC Programmierung*

Hallo,



			
				Dr. OPC schrieb:
			
		

> Und der bezeichner "Symbol1" woher kommt der,



Das hatte ich hier vermerkt :



			
				Question_mark schrieb:
			
		

> Symbol ist dann per Copy aus der Symbolliste eingefügt,



Das fällt nicht vom Himmel, aber hat den Vorteil, das ich danach (!!!) keine anderen Werkzeuge anpacken muss, sondern das alles in meiner Applikation gehandelt werden kann. Ohne noch irgendwelche Editoren, Projektierungen oder sonstwas noch anfassen zu müssen. Und wenn ich ein Item hinzufügen muss, dann mache ich das in meiner App und brauche auch keine weiteren Editoren. Ist halt meine Art, ich bin eben faul ...



			
				Dr. OPC schrieb:
			
		

> spätestens ab 3-5 SPSen mit jeweils 200 DBs)



Jede weitere SPS kostet mich doch im Prinzip nur ein paar Zeilen Quelltext, ob ich die nun nun selber schreiben muss oder dafür nun das alles in einem Simatic Tool konfigurieren muss, also ich sehe da keinen Vorteil. Eher im Gegenteil, ich habe das alles in der App und kann das alles handhaben, ohne irgendetwas aus den Simatic Tools (nichts gegen die Tools, die haben durchaus Ihre Berechtigung) zu bemühen.

Ich muss aber gestehen, das ich diese Möglichkeit nur in Betracht ziehe, weil ich beide Seiten (also S5/S7, Hochsprachen und Datenbanken) programmiere und mir da einige Wege aufgefallen sind, das Ziel ohne diese Umwege zu erreichen.

Ich will daher nicht im Grundsatz diese OPC-Tools in Frage stellen, sondern eher einen Weg aufzeichnen, diese Umwege bei der Programmierung zu umgehen. 

Gruß

Question_mark


----------



## Dr. OPC (2 Februar 2011)

> ob ich die nun nun selber schreiben muss oder dafür nun das alles in einem Simatic Tool konfigurieren muss


du musst es nicht selber schreiben und auch nicht in einem Simatic-Tool konfigurieren, denn es ist schon fertig konfiguriert, es wurde vom Programmierer der SPS schon gemacht als er Datenbausteine angelegt hat und sein AWL-Programm geschieben hat. Das Step7 Projekt ist die (einzige) Quelle aller Information und generiert die Symbole automatisch mit (daher auch konsistent).

Aber egal, du kannst sie auch kopieren und händisch nachpflegen wenn du magst.


----------

