' schrieb:Hallo IchSelbst wäre es möglich das du deinen Kollegen mal befragst welche art von Arrays er verwendet?
Wir machen das immer so:
In der SPS (S7) gibt es einen Arbeitsbereich z.B. DB100, und einen Transferbereich z.B. DB110. Datenaustauch zwischen LV und SPS findet also über DB110 statt. Was der SPS-Programmierer mit diesen Daten dann macht (z.B. nach Double wandeln, mal 1000 nehmen, in einzelne Variablen kopieren etc) bleibt ihm überlassen.
Definiert wird der Transferbereich in der SPS als array of dword (also array of I32). Und zwar so, dass auch in der SPS dieser Bereich als Array erkenntlich ist. Dieses Array bekommt dann, wie im übrigen Einzelvariablen und Records auch, einen Namen. Mit genau diesem Namen, der also in der SPS generiert wird, spreche ich dann später von LV aus das Array in der SPS an.
Dann erstellt der SPS-Programmierer ein Datenbankfile (dessen prinzipiellen Namen ich schon wieder vergessen habe). Dieses File kann man dann in den "Konfigurator" auf PC-Seite einlesen. Wenn der Konfigurator alle drei einzustellenden Zeilen (0:Implementation(?); 1:OPC; 125:Station (Datenfileimport)) als OK markiert, funktioniert meistens schon alles.
Weiterhin gibt es den "OPC-Scout". Mit dem kann man praktisch manuell Daten aus der SPS ankucken. Ich suche mir dann hier den OPC-Pfad (quasi Pfad + Variablennamen) zu genau den Daten, die ich später in LV bearbeiten will. Gibt der OPC-Scout dann in seiner Anzeige "Verbindungsstatus OK" aus, so hat er die SPS Daten lesen können. Und wenn der sie lesen kann, kann auch LV sie lesen.
Es gibt folgende Probleme:
Wird irgandwas am DB110 in der SPS geändert, muss die komplette Prozedure neu durchlaufen werden: File exportieren, Konfigurator-Parametrierung löschen(!), Rechner runter/rauf fahren (
), Konfigurator neu, Scout testen.
Irgendwann hab ich festgestellt, dass die Typen der zu übertragenden Daten eigentlich unerheblich ist. Hauptsache die Anzahl der Gesamtbytes ist gleich. Es würde als auch gehen, in der SPS ein Array[0..1] of I32 und in LV ein Array[0..7] of U8 zu haben.
Zitat:bzw. welcher OPC ist bei euch in Verwendung?
Du fragst Zeug.
Siemens-OPC? Den, wo's die 31/2"-Diskette gibt zum Lizenz-Transfer. Auf LV-Seite den ganz normale OPC.
Zitat:Je länger man sich mit Siemens beschäftigt um so weniger kann man glauben das die Firma überhaupt noch Umsatz macht
Machen sie doch - Leute entlassen ist auch Umsatz.
Im übrigen ist der OPC nur dazu geeignet, sporadisch Daten zu übertragen. Eine Dauerübertragung im Sinne von z.B. einer Online-Messwertaufzeichung geht mit dem OPC praktisch nicht. Hierfür (sprich für die Datenkonsistenz) ist Overhead erforderlich, der normalerweise im OPC-Protokoll vorhanden sein sollte.