Datenbaustein erzeugen

jamalau

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ist vielleicht eine blöde Frage aber ich stelle sie einfach mal.

Ich möchte mir in S7 einen DB erzeugen mit 102 Bytes.
Wie kann ich das am einfachsten machen, ich meine ohne eine SFC zu benutzen?

Ich hab mal irgendwo mitbekommen, das man in dem Datenbaustein, mit irgendeiner Befehlsfolge, die Länge und den Typ bestimmen kann.
Hab ich mich da vielleich verguckt, oder gibt es da einen Weg ?
 
Ähhm :confused:

möchtest du den mit dem Simatic Manager erzeugen oder während der Laufzeit in der S7?

1. Fall: Im Simaticmanager rechte Maus in den Bausteinordner, neues Objekt einfügen, Datenbaustein, Typ global.

Diesen kannst du dann öffnen und mit einem Array oder sonstiger Aufteilung auf deine Größe bringen.

2. Fall: Du benötigst die Funktionen DB_Create und evt. DB_Delete

pt
 
Wieder die Frage ?
Automatisch oder mit Step7-Manager

Beim anlegen vom DB, den öffnen
Variable z.B. Text
Struct =ARRAY[0..102]
Anfangswert setzten zb 0
Dann Enter drücken, es wird eine zweite Zeile eingefügt , da bei Struct den Typ eintragen, z.B INT
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also das ich den Baustein mit dem S7 Manager erzeugen will, geht meiner Meinung nach aus dem ersten Posting hervor.
"Ich möchte keinen SFC zum erzeugen nutzen"
Also meinte ich das Erzeugen mit dem S7-Manager.


Das mit dem Array hab ich so in der Hilfe nicht gefunden. Wenn man nicht weis wonach man suchen soll, kann man es auch schlecht finden.

Ich hatte gedacht, man könne einen Datenbaustein verschiedentlich vorbesetzen, ohne einen großen Aufwand zu betreiben. Aber das schein ja dann doch nicht so einfach möglich zu sein.
 
Bilder sprechen mehr als 1000 Worte:
Array.jpg

Das wäre die Variante mit dem Array,
da es dir ja scheinbar nicht auf Symbolik oder so ankommt, eine einfache Variante.

Wenn deine 102Bytes immer eine wie auch immer geartete (gleiche) Strucktur besitzen,
kannst du das evtl. auch relativ elegant mit UDT's lösen.
Dann ist der Datentyp nicht mehr ein ARRAY oder ähnliches, sondern
halt der entsprechende von dir angelegte UDT.

Wenn dein UDT so passt, kannst du auch den DB direkt mit diesem UDT von Step7 erstellen lassen.

Mfg
Manuel
 
DB's kann man mit Anfangswerten besetzen. Wenn man den DB im Simatic Manager editiert, kann man dort in einer Spalte die Initialwerte verändern, mit denen der DB geladen wird, wenn man ihn in das AG lädt.

Man kann natürlich auch eine AWL- Quelle schreiben und die dann einlesen. Geht auch. Oder eine AWL- Quelle mit den besagten 102 Byte als Vorlage nutzen und dann für die jeweiligen Zwecke umändern. Viele Wege führen nach Rom.

Was genau hast du denn eigentlich vor?

Gruß, Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
array ist natürlich am schnellsten. der nachteil ist aber, das ich keine anfangswerte eintragen kann.

wenn du einen db haben willst der eine bestimmte länge hat und alle variablen vom gleichen typ sein sollen hätte ich da ein script für welches eine awl-quelle erzeugt.
 
Ich habe eigendlich nichts besonders vor, ich möchte einfach nur einen DB erzeugen.
Da ich aber noch ziemlich neu in der Materie bin, wollte ich nur eine Aussage über einen einfacheren Weg. Das mit den Arrays ist für mich nicht akzeptabel, da ich ja keinen Kommentar für jede Variable antragen kann.
Also bleibt mir nur die Möglichkeit mir eine Variable zu erzeugen und es so oft wie ich es brauche durch die Kopier bzw. Einfügefunktion zu erstellen.
Und da mir das für 100 oder mehr Variablen zu umständlich schien, hatte ich vermutet es gibt einen anderen Weg.
@MSB schönen Dank für den Anhang, habe es auch gleich getestet, aber ist für mich nicht so die beste Lösung.

Sorry wenn ich mich vielleicht nicht so Ausdrücken kann, bin wie gesagt noch nicht so lange mit einer S7 verheiratet. Muss mich nach und nach in die Materie einarbeiten. Seminare werden bei uns nicht so oft angeboten.
Deswegen versuche ich es auf diesen Weg. Auch wenn da nach Ansicht einiger User nur "Schrott" geschrieben wird.

@Volker
Liegt das Script auf deinen Hompage ?

Werde mich da mal umschauen.
Schönen Dank.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
array ist natürlich am schnellsten. der nachteil ist aber, das ich keine anfangswerte eintragen kann.

Hi,
geht soviel ich weiss schon,kann aber bei langen arrays lästig werden.
Man kann am Anfangswert mehrere stellen durch ein komma getrennt eingeben.

Wie schon mal,Bilder sagen mehr als ... :ROFLMAO:

Gruss Andy
 

Anhänge

  • array.jpg
    array.jpg
    68,7 KB · Aufrufe: 89
  • array2.jpg
    array2.jpg
    68,5 KB · Aufrufe: 87
@zefix
stimmt. aber das finde ich extrem unkonfortabel.

so. das script liegt jetzt auf meiner hp unter ../sps/tools/make_db.rar bereit.
habe das noch ein wenig aufgepeppt (sonst meckern hier wieder diverse leute mit 'was soll man denn damit', 'kinderkram' etc.
aber egal. ich kanns gut brauchen.

man kann jetzt einen db erzeugen wie man das will. auch verschiedene typen.
einfach mal testen. kost ja nix. :ROFLMAO:
 
Zurück
Oben