- Beiträge
- 6.888
- Reaktionspunkte
- 2.564
-> Hier kostenlos registrieren
TIA V16 (könnte aber auch noch upgraden)
TP1500 Comfort Pro / KTP700 Mobile
S7-1214C DC/DC/DC
Ich habe einem optimierten DB, der auf einem UDT basiert.
Der DB enthält ca. 1000 Variablen, aber da kommen gerne mal zwischendurch von einer Maschine zur nächsten und auch mittendrin welche hinzu.
Der UDT besteht zum Teil aus weiteren UDTs.
Ich möchte diesen DB komplett in ein Rezept übernehmen.
Der DB ist im HMI als eine (Gesamt-) Variable vom Typ UDT eingefügt, wodurch im HMI auch bei Änderungen immer alle enthaltenen Variablen verfügbar sind.
Im Rezept muss ich ja leider jede Variable einzeln eintragen.
Lässt sich das Eintragen ins Rezept irgendwie automatisieren (vor allem, um mich als Fehlerquelle auszuschließen)?
Ich habe leider auch schon Probleme nur beim brauchbaren Exportieren der ganzen einzelnen Variblen aus dem DB, um sie händisch per Copy/Paste ins Rezept einzutragen.
Wenn ich den DB als Quelle (einschließlich abhängige Bausteine) exportiere, erhalte ich die Variablen nicht mit vollen Namen, sondern zerlegt aufgelistet in die einzelnen Strukturen, z.B.:
Das nützt mir leider nicht mal für ein mühsames manuelles Einfügen der gesamten Variablen in das Rezept wirklich etwas.
Wenn ich den DB dagegen als Quelle (nur selektierte Bausteine) exportiere, erhalte ich zwar die Variablen im DB so aufgelistet, wie ich sie eigentlich möchte, z.B.:
aber nur ca. 100 Variablen werden exportiert und auch teilweise nur einzelne willkürliche Variablen der enthaltenen UDTs. Vom obigen UDT z.B. nur das aufgeführte ...slot1CPU.
Der Export wird bei mir auf 2 verschiedenen Rechnern für mich so fast unbrauchbar ausgeführt.
Nur das brauchbare Auflisten der gesamten Variablen des DBs ist für mich also auch schon sehr hilfreich.
Vielen Dank für Hilfe bereits im Voraus.
Grüße
hucki
TP1500 Comfort Pro / KTP700 Mobile
S7-1214C DC/DC/DC
Ich habe einem optimierten DB, der auf einem UDT basiert.
Der DB enthält ca. 1000 Variablen, aber da kommen gerne mal zwischendurch von einer Maschine zur nächsten und auch mittendrin welche hinzu.
Der UDT besteht zum Teil aus weiteren UDTs.
Ich möchte diesen DB komplett in ein Rezept übernehmen.
Der DB ist im HMI als eine (Gesamt-) Variable vom Typ UDT eingefügt, wodurch im HMI auch bei Änderungen immer alle enthaltenen Variablen verfügbar sind.
Im Rezept muss ich ja leider jede Variable einzeln eintragen.
Lässt sich das Eintragen ins Rezept irgendwie automatisieren (vor allem, um mich als Fehlerquelle auszuschließen)?
Ich habe leider auch schon Probleme nur beim brauchbaren Exportieren der ganzen einzelnen Variblen aus dem DB, um sie händisch per Copy/Paste ins Rezept einzutragen.
Wenn ich den DB als Quelle (einschließlich abhängige Bausteine) exportiere, erhalte ich die Variablen nicht mit vollen Namen, sondern zerlegt aufgelistet in die einzelnen Strukturen, z.B.:
Code:
TYPE "typeMachineCfgS71200"
VERSION : 0.1
STRUCT
blockLength : USInt := 16; // 4 + (Anzahl der Slots * Byte für Slot)
blockID : USInt := 196; // 196
"version" : USInt := 5; // 1= ET 200S/ ET 200pro; 2= ET 200SP(CPU); ;2.1 =ET200AL; 3= ET 200MP; 4 = S7-1500, 5 = S7-1200
versionSub : USInt := 0; // 0 für alle, außer 1 für ET200AL
slot1CPU : USInt := 1; // CPU Signalboard. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert
slot2 : USInt := 2; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot3 : USInt := 0; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot4 : USInt := 0; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot5 : USInt := 0; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot6 : USInt := 0; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot7 : USInt := 0; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot8 : USInt := 255; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot9 : USInt := 255; // Slot 2-9 Signalmodul hinter der CPU. 0: Modul nicht vorhanden; 255: Modul nicht konfiguriert; 2-max. Slotnr: realer Slot
slot101 : USInt := 255; // Tatsächlicher Kommunikations-Slot oder 255: Modul nicht konfiguriert
slot102 : USInt := 255; // Tatsächlicher Kommunikations-Slot oder 255: Modul nicht konfiguriert
slot103 : USInt := 255; // Tatsächlicher Kommunikations-Slot oder 255: Modul nicht konfiguriert
END_STRUCT;
END_TYPE
Wenn ich den DB dagegen als Quelle (nur selektierte Bausteine) exportiere, erhalte ich zwar die Variablen im DB so aufgelistet, wie ich sie eigentlich möchte, z.B.:
Code:
Config.S7.Central.Cfg.slot1CPU := 1
Der Export wird bei mir auf 2 verschiedenen Rechnern für mich so fast unbrauchbar ausgeführt.

Nur das brauchbare Auflisten der gesamten Variablen des DBs ist für mich also auch schon sehr hilfreich.
Vielen Dank für Hilfe bereits im Voraus.
Grüße
hucki