RoentgenMan
Level-1
- Beiträge
- 3
- Reaktionspunkte
- 0
Prinzipiell ja... bin auf der Suche nach Ideen, mit denen ich das zumindest teilweise automatisiert hinkriege.Wenn ich's richtig verstehe, dann willst du quasi Templates mit Platzhaltern erstellen und diese dann vor dem Übersetzen durch Openess durch die richtigen Operanten ersetzen?
Wenn du entsprechende Schemas für die Namenvergabe definierst (z.B. St@@Gr@@Unit@@@@FktCode@@@) sollte sowas schon lösbar sein.
Steckt halt immens viel Arbeit drin.
Wie hast du dann definiert, welche Platzhalter mit dem richtigen Variablennamen ersetzt werden? Bis zu diesem Schritt kann ich es nachvollziehen. Aber sobald du die XML-Datei als Vorlage nutzt, um einen Baustein zu importieren, nach welchem Vorgehen ersetzt du dann die Platzhalternamen mit den richtigen Variablen? Hast du das irgendwo für standardisierte Bausteine fest hinterlegt, welche Variable auf welche Ein-/Ausgang muss?Ich habe so etwas mal mit Openness gemacht.
Habe ein Template Projekt erstellt, wo die Bausteinnamen, In-, Out- InOut Variablen, UDTs und sogar Copyright und Jahreszahl variabel sein sollen, mit den Platzhalter wie z.B. #Author# , #Bausteinename# usw. erstellt. Dann die Bausteine mit Openness bzw. dem VCI exportiert in XML. Wichtig, das die Platzhalter im Projekt eineindeutig sind.
Wenn jetzt ein Projekt/Baustein generiert werden soll, habe dich die Platzhalter durch den korrekten generierten Namen ersetzt und den xml Baustein in das neue generierte Projekt importiert.
Habe das Projekt gerade nicht zur Hand, hätte sonst ein paar Screenshot beigefügt.
Wie hast du dann definiert, welche Platzhalter mit dem richtigen Variablennamen ersetzt werden? Bis zu diesem Schritt kann ich es nachvollziehen. Aber sobald du die XML-Datei als Vorlage nutzt, um einen Baustein zu importieren, nach welchem Vorgehen ersetzt du dann die Platzhalternamen mit den richtigen Variablen? Hast du das irgendwo für standardisierte Bausteine fest hinterlegt, welche Variable auf welche Ein-/Ausgang muss?
Wenn ich eine Openness Vorlage (z.B. bestehend aus FB, I-DB und diversen innerhalb des FBs verwendeten FCs) in einem Projekt nutzen möchte (z.B. Call des FBs in einem OB), dann exportiere ich den OB (aktueller konsistenter Stand), in dem der FB aufgerufen werden soll und ergänze dort den FB Call im XML inklusiver der Verschaltung der ein und Ausgänge und danach importiere ich den OB wieder und alle zum FB benötigten I-DB FC UDTs usw..Wie hast du dann definiert, welche Platzhalter mit dem richtigen Variablennamen ersetzt werden? Bis zu diesem Schritt kann ich es nachvollziehen. Aber sobald du die XML-Datei als Vorlage nutzt, um einen Baustein zu importieren, nach welchem Vorgehen ersetzt du dann die Platzhalternamen mit den richtigen Variablen? Hast du das irgendwo für standardisierte Bausteine fest hinterlegt, welche Variable auf welche Ein-/Ausgang muss?
Wenn ich eine Openness Vorlage (z.B. bestehend aus FB, I-DB und diversen innerhalb des FBs verwendeten FCs) in einem Projekt nutzen möchte (z.B. Call des FBs in einem OB), dann exportiere ich den OB (aktueller konsistenter Stand), in dem der FB aufgerufen werden soll und ergänze dort den FB Call im XML inklusiver der Verschaltung der ein und Ausgänge und danach importiere ich den OB wieder und alle zum FB benötigten I-DB FC UDTs usw..
Hi Blockmove,Verstehe ich das richtig?
Der SPSler bekommt ein Template-Projekt.
Dort definiert er die Anlagenstruktur in dem er Aufruf-FBs mit den notwendigen Bausteinen erstellt.
Danach wird das Projekt exportiert und mit Hilfe von Openness werden dann die abhängigen Aufgaben (Beschaltung, HMI-Bilder, Daten, ...) angelegt?
Gruß
Blockmove
Das ist jetzt schon eine Untertreibung.Man muss bedenken, dass bei der Verwendung von Openness mit Visual Studio ein gewisses Maß an Hochsprachenerfahrung in C# benötigt wird und es nicht für jeden SPS Programmierer taugt. Zumindest muss man sich damit eine gute Zeit lang einarbeiten, bevor man den einigermaßen Durchblick bekommt.
Darum gehe ich ja über Template Projekte. Damit ich Bausteine in XML nicht komplett von Grund auf erstellen muss, sondern nur noch den Austausch von Symbolen und kleine Ergänzungen. Muss mir ja nicht mehr Arbeit machen als nötig.Das ist jetzt schon eine Untertreibung.
Wenn man eine Art Codegenerator umsetzten will, dann braucht es schon einiges an Hochsprachen-Erfahrung.
Vorallem wenn man sich dann mit KOP / FUP - XML rumschlagen muss.
Da wünscht man sich Classic mit den Quellen zurück.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?