Rezeptverwaltung in Codesys

Zuviel Werbung?
-> Hier kostenlos registrieren
Nochmal :)

Sorry, aber ich habe nie gesagt, dass die Struktur beim übersetzen nicht bekannt ist. Ich möchte doch nur einen abstrakten Baustein erstellen der allgemein zu verwenden ist. Und Sorry, aber das ist durchaus nicht altmodisch. Ich arbeite gerne symbolisch, entwickle ab und zu auch einige Sachen in Visual Studio in c#. Also nur um mal klarzustellen, dass ich kein Siemens adressptohrammierer bin, das war nur ein Beispiel. War eben nur ne Idee, weil es eben symbolisch nicht abstrakt und Datentypen unabhängig funktioniert.
 
Hallo,

bin auch gerade auf der Suche nach so etwas und kann den Themenstarter gut verstehen. In der Siemens Welt hat man halt einen DB angelegt, der zB 500Byte (incl Reserve) groß war und konnte in diesen Daten Schreiben.
Programm abspeichern:Kopiere DB50(WorkDB) nach DB150(Programm1 Speicher)
Programm laden:Kopiere DB150(Programm1 Speicher) nach DB50(WorkDB)

Nun in Codesys habe auch ich das Probleme, Programme(Werte) abzuspeichern:

habe einen Variablen-Container(Retain-Persistant) erstellt. Dort Deklariere ich alle Variablen, die Modell/Rezept abhängig sind (Zeiten, Zählern, Sollwerte, Temperaturen, Einstellungen usw)
Nun müsste es eine Möglichkeit geben, diesen Variablen Container mit Werten abzuspeichern und einen anderen zu Laden.

Da fehlt mir auch noch die Idee!

(Hoffe, den Themenstarter so verstanden zu haben)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
bin auch gerade auf der Suche nach so etwas und kann den Themenstarter gut verstehen.

Ich langsam nicht mehr

Da fehlt mir auch noch die Idee!

Man kann doch in CoDeSys hierarchische Strukturen erstellen, was viel besser als mit STEP7 geht.

Diese dann mittels Struktur_A:= StrukturArray[Index]; umzukopieren ist das einfachste von der Welt.

Das das so ein Problem darstellen soll ist mir schleierhaft.

Vielleicht sollte man sich mal mit dem Sprachkonstrukt struct und array of struct beschäftigen.

Frank
 
Ok anscheinend versteht mich keiner

Also es scheint wohl nicht klar zu sein, dass es mit nicht darum geht ein arrayelement zuzuweisen. Das ist mit auch klar wie das geht. Ich möchte einen Baustein erstellen, der strukturunabhängig Rezepte kopieren kann und das mit verschiedenen Funktionen. Warum versteht das keiner und macht dann meine Idee so schlecht. Das finde ich nicht gut, wenn man es nicht versteht es so runter zu machen.
 
Hallo,

Ich versuch es mal zu verstehen ;-)
Du möchtest einen Baustein, der unabhängig vom eigentlichen Datentyp Daten in einen Array schreibt oder aus einem Array liest.

So etwas geht, man muss aber mit Pointern arbeiten und das ist bekanntermaßen Teufelszeug, aber es ist machbar. Auf jeden Fall solltest Du deine Indizes der Arrays gut kontrollieren und im Griff haben und immer nur an einer Stelle anfangen und diese fertig testen. Klingt vielleicht etwas altklug, aber ich hab mir da eine Funktion geschrieben, die in etwa das tut was du willst und ich bin am Anfang ziemlich auf die Schnauze geflogen damit, aber jetzt hab ich etwas Übung bekommen und die Vorteile liegen auf der Hand, ich bin nicht mehr an die eigentliche Rezeptstruktur gebunden und muss meine Verwaltung nie wieder anfassen.

Ich bin im Sondermaschinenbau unterwegs und da sind die Rezepte niemals gleich und ich hab mir einen Standardbaustein schreiben können, dem es egal ist was er da rum kopiert, weil es am Ende doch nur Bytes sind.

Schau dir mal den Anhang an, das ist das Kernstück meiner Verwaltung und evtl. hilft es dir ja weiter.


cheers :)


Anhang anzeigen FC_MEMCPYONE.EXP.txt
 
Zurück
Oben